scip-query 0.10.1 → 0.10.3

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 (273) hide show
  1. package/README.md +2 -2
  2. package/dist/augment-vue-worker.js +1 -1
  3. package/dist/{chunk-24PFLKFK.js → chunk-3KLLFNT4.js} +2 -2
  4. package/dist/{chunk-UIWAZ2NT.js → chunk-3UVJJ6Z7.js} +1 -1
  5. package/dist/chunk-3UW7VM4H.js +62 -0
  6. package/dist/chunk-3ZYF3ELZ.js +2 -0
  7. package/dist/{chunk-6YKJSETN.js → chunk-47UA45TU.js} +2 -2
  8. package/dist/chunk-4HOMAEDD.js +2 -0
  9. package/dist/{chunk-5VB3WU7K.js → chunk-4ZUJJRWT.js} +2 -2
  10. package/dist/{chunk-LWPEZ4FP.js → chunk-5FOPAXWY.js} +2 -2
  11. package/dist/{chunk-CCB45WDY.js → chunk-5M4TYWVI.js} +2 -2
  12. package/dist/{chunk-PV4CEDIL.js → chunk-5QJXH6ZL.js} +5 -5
  13. package/dist/{chunk-NN3O7TPH.js → chunk-64MNV6AB.js} +1 -1
  14. package/dist/{chunk-LWWZBABT.js → chunk-77YBOOYT.js} +2 -2
  15. package/dist/chunk-7ADUXFRZ.js +2 -0
  16. package/dist/chunk-7KCSELEV.js +2 -0
  17. package/dist/{chunk-GZXXBDJA.js → chunk-7OHWPJ5N.js} +2 -2
  18. package/dist/{chunk-BJ7OHKB5.js → chunk-7S5E7KWT.js} +1 -1
  19. package/dist/chunk-A3VNUGKJ.js +2 -0
  20. package/dist/{chunk-CMGOXDVP.js → chunk-A4L36SZS.js} +2 -2
  21. package/dist/{chunk-5D3BT4B4.js → chunk-AUVBR62P.js} +2 -2
  22. package/dist/chunk-AW4N6MGC.js +18 -0
  23. package/dist/{chunk-65UWNXEH.js → chunk-B6MJ5VQV.js} +2 -2
  24. package/dist/chunk-BKDXBJDQ.js +2 -0
  25. package/dist/{chunk-WZVTADY7.js → chunk-C2QSK7E7.js} +1 -1
  26. package/dist/chunk-C3MZZ2ZN.js +2 -0
  27. package/dist/{chunk-GTNPPGZJ.js → chunk-CAWSSEVM.js} +2 -2
  28. package/dist/chunk-CFL2CNIF.js +10 -0
  29. package/dist/{chunk-E55WCTLH.js → chunk-CJJP64OC.js} +2 -2
  30. package/dist/{chunk-ADKQX2OY.js → chunk-CRU42NJU.js} +2 -2
  31. package/dist/chunk-CSWZFD46.js +2 -0
  32. package/dist/{chunk-QOFKVNFE.js → chunk-CTCAF3YA.js} +2 -2
  33. package/dist/{chunk-YVQUQIBM.js → chunk-D322LMSA.js} +2 -2
  34. package/dist/{chunk-IJYWCB57.js → chunk-DAI74TJU.js} +2 -2
  35. package/dist/chunk-DE7MA6OD.js +3 -0
  36. package/dist/chunk-DJMK4DBL.js +2 -0
  37. package/dist/{chunk-FVX4GEAC.js → chunk-E44ZMVNA.js} +2 -2
  38. package/dist/{chunk-MESUJJVQ.js → chunk-E7KERP7E.js} +2 -2
  39. package/dist/{chunk-YIE5FZAF.js → chunk-EOZIZWW4.js} +2 -2
  40. package/dist/{chunk-XGGTESMN.js → chunk-ERHOS6AW.js} +2 -2
  41. package/dist/{chunk-5HDYAOSF.js → chunk-ESG4HBEF.js} +2 -2
  42. package/dist/{chunk-HCQ7J2N5.js → chunk-EWC3UK4V.js} +3 -3
  43. package/dist/chunk-EYLXU575.js +2 -0
  44. package/dist/chunk-FIB4JPEX.js +2 -0
  45. package/dist/chunk-FNRPGGVI.js +2 -0
  46. package/dist/{chunk-QUKZ77A6.js → chunk-FOQHUKNZ.js} +2 -2
  47. package/dist/{chunk-QH5GTVVB.js → chunk-FUPDW5AC.js} +2 -2
  48. package/dist/{chunk-B3HMRQDA.js → chunk-G3WGZU5Q.js} +2 -2
  49. package/dist/chunk-GLJAAKDW.js +4 -0
  50. package/dist/{chunk-TUAPDKBI.js → chunk-GS33KGAY.js} +2 -2
  51. package/dist/{chunk-623UQCVG.js → chunk-GZCQTZLK.js} +2 -2
  52. package/dist/{chunk-SA6B3EGD.js → chunk-HVTYSC26.js} +2 -2
  53. package/dist/chunk-I7TSQZ3J.js +4 -0
  54. package/dist/{chunk-R7S3UCDR.js → chunk-ICXVNWMI.js} +2 -2
  55. package/dist/chunk-JM72FNGA.js +2 -0
  56. package/dist/{chunk-DRU74YUM.js → chunk-KPHKX4LP.js} +1 -1
  57. package/dist/chunk-KRGBLZT2.js +7 -0
  58. package/dist/{chunk-YYCQQBMG.js → chunk-LPLGJ4HO.js} +2 -2
  59. package/dist/chunk-MUULWXSJ.js +2 -0
  60. package/dist/chunk-MZ7APUFN.js +3 -0
  61. package/dist/{chunk-LYS4SMAQ.js → chunk-NNDYO2DX.js} +2 -2
  62. package/dist/{chunk-ATGRITZP.js → chunk-NP5HYVLX.js} +4 -4
  63. package/dist/{chunk-MHAQXOZY.js → chunk-NVFERV4U.js} +2 -2
  64. package/dist/{chunk-LWYIGRHR.js → chunk-NXIAHE7F.js} +1 -1
  65. package/dist/chunk-O3OKSF6O.js +2 -0
  66. package/dist/chunk-O4L4AB3T.js +2 -0
  67. package/dist/{chunk-TMS4JPWY.js → chunk-OBBDKQAG.js} +2 -2
  68. package/dist/chunk-OLD6PBU6.js +7 -0
  69. package/dist/{chunk-5BZOSICN.js → chunk-PFOCOG57.js} +1 -1
  70. package/dist/{chunk-CFLYMEUS.js → chunk-PVZMPG5I.js} +1 -1
  71. package/dist/{chunk-T67R7V5I.js → chunk-QLNGUWR7.js} +2 -2
  72. package/dist/chunk-QSXQT3NE.js +2 -0
  73. package/dist/{chunk-6TWFT4Y5.js → chunk-QVCCLDZI.js} +2 -2
  74. package/dist/{chunk-PNN3D4BE.js → chunk-RHTJBYZ5.js} +2 -2
  75. package/dist/chunk-SPE4YCOT.js +7 -0
  76. package/dist/{chunk-4N7LFYSD.js → chunk-TM6GVHA6.js} +2 -2
  77. package/dist/chunk-TO54DY4O.js +2 -0
  78. package/dist/{chunk-HQHFMPLJ.js → chunk-UMNENNTX.js} +2 -2
  79. package/dist/chunk-UQJGTVHV.js +5 -0
  80. package/dist/{chunk-TKDJQ2WD.js → chunk-UUBMFL3F.js} +1 -1
  81. package/dist/chunk-VAA5FFIW.js +2 -0
  82. package/dist/chunk-X474LKJX.js +2 -0
  83. package/dist/chunk-X7ZY6FFF.js +4 -0
  84. package/dist/{chunk-RNLUCQJB.js → chunk-YQH353VA.js} +2 -2
  85. package/dist/{chunk-44JOJLMO.js → chunk-YTR4CO5S.js} +2 -2
  86. package/dist/chunk-YUOAAR24.js +2 -0
  87. package/dist/chunk-YVLHL6KQ.js +8 -0
  88. package/dist/{chunk-ADTG377O.js → chunk-YYD245WG.js} +2 -2
  89. package/dist/{chunk-I6PTB2CM.js → chunk-Z4VHYJ5U.js} +2 -2
  90. package/dist/chunk-ZFMPHDAT.js +4 -0
  91. package/dist/chunk-ZQLO2SCU.js +6 -0
  92. package/dist/chunk-ZSLT7NWQ.js +61 -0
  93. package/dist/cli.js +242 -225
  94. package/dist/{config-types-Bok4jrO3.d.ts → config-types-Bj4sh28g.d.ts} +8 -0
  95. package/dist/{db-BkFlkzI3.d.ts → db-CTarohbZ.d.ts} +1 -1
  96. package/dist/git-history-Dao3_Pu9.d.ts +12 -0
  97. package/dist/{health-CbGMdRPg.d.ts → health-Bx0x1HAG.d.ts} +23 -2
  98. package/dist/index.d.ts +3 -3
  99. package/dist/index.js +1 -1
  100. package/dist/postinstall.js +1 -1
  101. package/dist/queries/affected.d.ts +2 -2
  102. package/dist/queries/affected.js +1 -1
  103. package/dist/queries/bottlenecks.d.ts +6 -2
  104. package/dist/queries/bottlenecks.js +1 -1
  105. package/dist/queries/by-kind.d.ts +2 -2
  106. package/dist/queries/by-kind.js +1 -1
  107. package/dist/queries/call-graph.d.ts +2 -2
  108. package/dist/queries/call-graph.js +1 -1
  109. package/dist/queries/change-surface.d.ts +2 -2
  110. package/dist/queries/change-surface.js +1 -1
  111. package/dist/queries/cleanup-plan.d.ts +2 -2
  112. package/dist/queries/cleanup-plan.js +1 -1
  113. package/dist/queries/co-change.d.ts +37 -3
  114. package/dist/queries/co-change.js +1 -1
  115. package/dist/queries/code.d.ts +2 -2
  116. package/dist/queries/code.js +1 -1
  117. package/dist/queries/complexity-hotspots.d.ts +2 -2
  118. package/dist/queries/complexity-hotspots.js +1 -1
  119. package/dist/queries/complexity.d.ts +2 -2
  120. package/dist/queries/complexity.js +1 -1
  121. package/dist/queries/convergence.d.ts +2 -2
  122. package/dist/queries/convergence.js +1 -1
  123. package/dist/queries/coupling.d.ts +6 -2
  124. package/dist/queries/coupling.js +1 -1
  125. package/dist/queries/cycles.d.ts +2 -2
  126. package/dist/queries/cycles.js +1 -1
  127. package/dist/queries/dataflow.d.ts +2 -2
  128. package/dist/queries/dataflow.js +1 -1
  129. package/dist/queries/dead.d.ts +10 -3
  130. package/dist/queries/dead.js +1 -1
  131. package/dist/queries/deep-chains.d.ts +6 -2
  132. package/dist/queries/deep-chains.js +1 -1
  133. package/dist/queries/deps.d.ts +2 -2
  134. package/dist/queries/deps.js +1 -1
  135. package/dist/queries/diff-gate.d.ts +53 -3
  136. package/dist/queries/diff-gate.js +1 -1
  137. package/dist/queries/diff-impact.d.ts +2 -2
  138. package/dist/queries/diff-impact.js +1 -1
  139. package/dist/queries/doc-drift.d.ts +20 -3
  140. package/dist/queries/doc-drift.js +1 -1
  141. package/dist/queries/drift.d.ts +10 -3
  142. package/dist/queries/drift.js +1 -1
  143. package/dist/queries/extract-candidates.d.ts +11 -3
  144. package/dist/queries/extract-candidates.js +1 -1
  145. package/dist/queries/fan.d.ts +2 -2
  146. package/dist/queries/fan.js +1 -1
  147. package/dist/queries/files.d.ts +2 -2
  148. package/dist/queries/files.js +1 -1
  149. package/dist/queries/health.d.ts +3 -3
  150. package/dist/queries/health.js +1 -1
  151. package/dist/queries/hierarchy.d.ts +2 -2
  152. package/dist/queries/hierarchy.js +1 -1
  153. package/dist/queries/hotspots.d.ts +2 -2
  154. package/dist/queries/hotspots.js +1 -1
  155. package/dist/queries/imports.d.ts +2 -2
  156. package/dist/queries/imports.js +1 -1
  157. package/dist/queries/incomplete-migration.d.ts +14 -3
  158. package/dist/queries/incomplete-migration.js +1 -1
  159. package/dist/queries/index.d.ts +17 -15
  160. package/dist/queries/index.js +1 -1
  161. package/dist/queries/isolated.d.ts +2 -2
  162. package/dist/queries/isolated.js +1 -1
  163. package/dist/queries/locality-candidates.d.ts +51 -0
  164. package/dist/queries/locality-candidates.js +2 -0
  165. package/dist/queries/members.d.ts +2 -2
  166. package/dist/queries/members.js +1 -1
  167. package/dist/queries/methods.d.ts +2 -2
  168. package/dist/queries/methods.js +1 -1
  169. package/dist/queries/outline.d.ts +2 -2
  170. package/dist/queries/outline.js +1 -1
  171. package/dist/queries/passthrough-candidates.d.ts +8 -3
  172. package/dist/queries/passthrough-candidates.js +1 -1
  173. package/dist/queries/plan-context.d.ts +4 -2
  174. package/dist/queries/plan-context.js +1 -1
  175. package/dist/queries/react-component-duplicates.d.ts +2 -2
  176. package/dist/queries/react-component-duplicates.js +1 -1
  177. package/dist/queries/react-hook-candidates.d.ts +9 -3
  178. package/dist/queries/react-hook-candidates.js +1 -1
  179. package/dist/queries/react-large-component-pressure.d.ts +9 -3
  180. package/dist/queries/react-large-component-pressure.js +1 -1
  181. package/dist/queries/recent-duplicates.d.ts +25 -3
  182. package/dist/queries/recent-duplicates.js +1 -1
  183. package/dist/queries/redundant-reexports.d.ts +7 -3
  184. package/dist/queries/redundant-reexports.js +1 -1
  185. package/dist/queries/refs.d.ts +2 -2
  186. package/dist/queries/refs.js +1 -1
  187. package/dist/queries/self-audit.d.ts +2 -2
  188. package/dist/queries/self-audit.js +1 -1
  189. package/dist/queries/similar-chains.d.ts +2 -2
  190. package/dist/queries/similar-chains.js +1 -1
  191. package/dist/queries/similar-files.d.ts +2 -2
  192. package/dist/queries/similar-files.js +1 -1
  193. package/dist/queries/similar-signatures.d.ts +2 -2
  194. package/dist/queries/similar-signatures.js +1 -1
  195. package/dist/queries/similar.d.ts +24 -3
  196. package/dist/queries/similar.js +1 -1
  197. package/dist/queries/slice.d.ts +2 -2
  198. package/dist/queries/slice.js +1 -1
  199. package/dist/queries/stale-abstractions.d.ts +10 -3
  200. package/dist/queries/stale-abstractions.js +1 -1
  201. package/dist/queries/stats.d.ts +2 -2
  202. package/dist/queries/stats.js +1 -1
  203. package/dist/queries/surface.d.ts +2 -2
  204. package/dist/queries/surface.js +1 -1
  205. package/dist/queries/symbols.d.ts +2 -2
  206. package/dist/queries/symbols.js +1 -1
  207. package/dist/queries/system.d.ts +2 -2
  208. package/dist/queries/system.js +1 -1
  209. package/dist/queries/trace.d.ts +2 -2
  210. package/dist/queries/trace.js +1 -1
  211. package/dist/queries/unused-imports.d.ts +4 -0
  212. package/dist/queries/unused-imports.js +2 -0
  213. package/dist/queries/unused-params.d.ts +2 -2
  214. package/dist/queries/unused-params.js +1 -1
  215. package/dist/queries/vue-component-duplicates.d.ts +2 -2
  216. package/dist/queries/vue-component-duplicates.js +1 -1
  217. package/dist/queries/vue-composable-candidates.d.ts +9 -3
  218. package/dist/queries/vue-composable-candidates.js +1 -1
  219. package/dist/queries/vue-large-view-pressure.d.ts +9 -3
  220. package/dist/queries/vue-large-view-pressure.js +1 -1
  221. package/dist/queries/wrapper-candidates.d.ts +6 -3
  222. package/dist/queries/wrapper-candidates.js +1 -1
  223. package/dist/reindex-worker.js +1 -1
  224. package/dist/reindex.d.ts +1 -1
  225. package/dist/reindex.js +1 -1
  226. package/dist/runtime.d.ts +1 -1
  227. package/dist/runtime.js +2 -2
  228. package/docs/COMMAND_REFERENCE.md +3 -2
  229. package/docs/analyzer-inventory.md +162 -0
  230. package/docs/analyzer-validation-ledger.md +262 -0
  231. package/docs/analyzer-validation-protocol.md +192 -0
  232. package/docs/locality-analyzer-design.md +193 -0
  233. package/package.json +14 -3
  234. package/skills/scip-directory-architecture/SKILL.md +178 -0
  235. package/skills/scip-maintainability/SKILL.md +1 -1
  236. package/skills/scip-query/SKILL.md +2 -1
  237. package/skills/scip-query-setup/SKILL.md +118 -0
  238. package/skills/scip-react-maintainability/SKILL.md +1 -1
  239. package/skills/scip-vue-maintainability/SKILL.md +1 -1
  240. package/dist/chunk-23FVN4Y5.js +0 -2
  241. package/dist/chunk-27KPKLRJ.js +0 -7
  242. package/dist/chunk-2NLK4INB.js +0 -2
  243. package/dist/chunk-2XKAMW6B.js +0 -61
  244. package/dist/chunk-332L7SRO.js +0 -2
  245. package/dist/chunk-4EAANIWC.js +0 -2
  246. package/dist/chunk-5ALI77D7.js +0 -3
  247. package/dist/chunk-5IDEQEM4.js +0 -4
  248. package/dist/chunk-62NMBOA5.js +0 -2
  249. package/dist/chunk-64LH2QUP.js +0 -62
  250. package/dist/chunk-6U4EODW3.js +0 -2
  251. package/dist/chunk-A2GVUCZR.js +0 -8
  252. package/dist/chunk-DBIG4QAJ.js +0 -2
  253. package/dist/chunk-DMLPJ75B.js +0 -2
  254. package/dist/chunk-DTERBKUE.js +0 -7
  255. package/dist/chunk-F4PKYBQB.js +0 -2
  256. package/dist/chunk-JTRY2YRJ.js +0 -2
  257. package/dist/chunk-L77GXANO.js +0 -6
  258. package/dist/chunk-LT6GJ27X.js +0 -10
  259. package/dist/chunk-LUBKUISI.js +0 -2
  260. package/dist/chunk-LVYXX7ZW.js +0 -2
  261. package/dist/chunk-LXM7AHQG.js +0 -4
  262. package/dist/chunk-LY6NRJPJ.js +0 -2
  263. package/dist/chunk-N2T2GPYQ.js +0 -2
  264. package/dist/chunk-OB6PEVI3.js +0 -2
  265. package/dist/chunk-R42LZMLX.js +0 -2
  266. package/dist/chunk-RGDUIMNE.js +0 -3
  267. package/dist/chunk-RYBMW2EN.js +0 -2
  268. package/dist/chunk-TTGWDUJ4.js +0 -5
  269. package/dist/chunk-UVK3SL4Z.js +0 -2
  270. package/dist/chunk-W3PQRAI4.js +0 -2
  271. package/dist/chunk-WWFBDM5Y.js +0 -2
  272. package/dist/chunk-Y33GRQK6.js +0 -18
  273. package/dist/chunk-YISMWW66.js +0 -7
@@ -62,6 +62,8 @@ interface ScipQueryConfig {
62
62
  suppressions?: FindingSuppression[];
63
63
  /** Project-declared file groups that intentionally change together. */
64
64
  declaredCouplings?: DeclaredCouplingConfig[];
65
+ /** Optional analyzer configuration. */
66
+ locality?: LocalityConfig;
65
67
  }
66
68
  interface ProjectConfig {
67
69
  /** Override which languages to index (default: auto-detect) */
@@ -80,6 +82,12 @@ interface ProjectConfig {
80
82
  suppressions?: FindingSuppression[];
81
83
  /** Project-declared file groups that intentionally change together. */
82
84
  declaredCouplings?: DeclaredCouplingConfig[];
85
+ /** Optional locality analyzer configuration. */
86
+ locality?: LocalityConfig;
87
+ }
88
+ interface LocalityConfig {
89
+ /** Folder names that should be treated as architectural ownership boundaries. */
90
+ architecturalBoundarySegments?: string[];
83
91
  }
84
92
  interface DeclaredCouplingConfig {
85
93
  /** Human-readable name for the maintenance unit. */
@@ -1,5 +1,5 @@
1
1
  import Database from 'better-sqlite3';
2
- import { S as ScipQueryConfig } from './config-types-Bok4jrO3.js';
2
+ import { S as ScipQueryConfig } from './config-types-Bj4sh28g.js';
3
3
 
4
4
  /**
5
5
  * Builds a gitignore-based path filter from .gitignore files found
@@ -0,0 +1,12 @@
1
+ type CoChangeCommitScope = 'focused' | 'mixed' | 'broad-sweep';
2
+ type CoChangeRecency = 'recent' | 'stale';
3
+ type CoChangeExternalIssueLabelStatus = 'unavailable';
4
+ interface CoChangeSubjectContext {
5
+ /** Locally inferred from commit subjects, not issue tracker metadata. */
6
+ subjectLabels: string[];
7
+ issueRefs: string[];
8
+ sampleSubjects: string[];
9
+ externalIssueLabelStatus: CoChangeExternalIssueLabelStatus;
10
+ }
11
+
12
+ export type { CoChangeCommitScope as C, CoChangeRecency as a, CoChangeSubjectContext as b };
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase } from './db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from './db-CTarohbZ.js';
2
2
  import { stats } from './queries/stats.js';
3
3
 
4
4
  /**
@@ -28,6 +28,8 @@ interface DriftSummary {
28
28
  count: number;
29
29
  unusedImports: number;
30
30
  layerViolations: number;
31
+ direct: number;
32
+ signal: number;
31
33
  }
32
34
  interface ComplexitySummary {
33
35
  top: Array<{
@@ -41,11 +43,26 @@ interface GitEvidenceSummary {
41
43
  amplification: ChangeAmplificationSummary | null;
42
44
  hiddenCoupling: {
43
45
  pairCount: number;
46
+ scoreCount: number;
44
47
  top: Array<{
45
48
  fileA: string;
46
49
  fileB: string;
47
50
  together: number;
48
51
  confidence: number;
52
+ focusedTogether: number;
53
+ broadTogether: number;
54
+ broadCommitRatio: number;
55
+ lastTogetherAt: number;
56
+ recentTogether: number;
57
+ commitScope: 'focused' | 'mixed' | 'broad-sweep';
58
+ recency: 'recent' | 'stale';
59
+ scoreWeight: number;
60
+ subjectContext: {
61
+ subjectLabels: string[];
62
+ issueRefs: string[];
63
+ sampleSubjects: string[];
64
+ externalIssueLabelStatus: 'unavailable';
65
+ };
49
66
  }>;
50
67
  };
51
68
  /** Per-file change counts over the analyzed window (tracked files only). */
@@ -101,11 +118,13 @@ interface HealthAxes {
101
118
  /** File pairs that co-change without a structural link — concepts the visible graph can't see. */
102
119
  hiddenCoupling: {
103
120
  pairCount: number;
121
+ scoreCount: number;
104
122
  top: Array<{
105
123
  fileA: string;
106
124
  fileB: string;
107
125
  together: number;
108
126
  confidence: number;
127
+ scoreWeight?: number;
109
128
  }>;
110
129
  } | null;
111
130
  /** Complexity hotspots weighted by churn — complex code nobody touches costs nothing. */
@@ -167,11 +186,13 @@ interface HealthReport {
167
186
  vueLargeViewPressureFiles: number;
168
187
  extractionCandidates: number;
169
188
  wrappers: number;
189
+ wrapperScoreCount: number;
170
190
  passthroughs: number;
171
191
  staleTypes: number;
172
192
  driftedFiles: number;
173
193
  complexityHotspotCount: number;
174
194
  hiddenCouplingPairs: number | null;
195
+ hiddenCouplingScoreCount: number | null;
175
196
  };
176
197
  axes: HealthAxes;
177
198
  validation: HealthValidation | null;
@@ -190,7 +211,7 @@ interface HealthReport {
190
211
  }
191
212
 
192
213
  declare const HEALTH_PHASES: readonly ["overview", "dead", "isolated", "cycles", "similar", "react-component-duplicates", "react-hook-candidates", "react-large-component-pressure", "vue-component-duplicates", "vue-composable-candidates", "vue-large-view-pressure", "extract-candidates", "wrapper-candidates", "passthrough-candidates", "stale-abstractions", "drift", "complexity-hotspots", "git-evidence", "suppressions"];
193
- type HealthPhaseName = typeof HEALTH_PHASES[number];
214
+ type HealthPhaseName = (typeof HEALTH_PHASES)[number];
194
215
  type HealthPhaseResult = {
195
216
  phase: 'overview';
196
217
  statsResult: ReturnType<typeof stats>;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from './db-BkFlkzI3.js';
2
- export { c as createGitignoreFilter } from './db-BkFlkzI3.js';
3
- export { S as ScipQueryConfig } from './config-types-Bok4jrO3.js';
1
+ import { S as ScipDatabase } from './db-CTarohbZ.js';
2
+ export { c as createGitignoreFilter } from './db-CTarohbZ.js';
3
+ export { S as ScipQueryConfig } from './config-types-Bj4sh28g.js';
4
4
  import 'better-sqlite3';
5
5
 
6
6
  /**
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import{a}from"./chunk-TKDJQ2WD.js";import{a as s}from"./chunk-W3PQRAI4.js";import"./chunk-L77GXANO.js";import"./chunk-BGBBVSH4.js";import"./chunk-623UQCVG.js";import"./chunk-44JOJLMO.js";import"./chunk-SA6B3EGD.js";import"./chunk-QH5GTVVB.js";import"./chunk-5ALI77D7.js";import"./chunk-5D3BT4B4.js";import"./chunk-QUKZ77A6.js";import"./chunk-ADKQX2OY.js";import{a as i,c as n,d as l}from"./chunk-64LH2QUP.js";import"./chunk-T67R7V5I.js";import"./chunk-XGGTESMN.js";import"./chunk-HCQ7J2N5.js";import"./chunk-YVQUQIBM.js";import"./chunk-CMGOXDVP.js";import"./chunk-TMS4JPWY.js";import"./chunk-NN3O7TPH.js";import"./chunk-BJ7OHKB5.js";import c from"better-sqlite3";var d=["node_modules",".git","dist","build","out","coverage","target",".next",".nuxt",".cache",".turbo",".scipquery-cache","__pycache__",".venv","venv"],o=class{db;config;pathFilter;constructor(t,e){this.config=t,this.pathFilter=e??null,this.db=new c(t.dbPath,{readonly:!0}),this.db.pragma("busy_timeout = 5000")}isIgnored(t){return this.pathFilter?.isIgnored(t)??!1}get localSymbolPredicate(){return`(
1
+ import{a}from"./chunk-UUBMFL3F.js";import{a as s}from"./chunk-3ZYF3ELZ.js";import"./chunk-ZQLO2SCU.js";import"./chunk-BGBBVSH4.js";import"./chunk-GZCQTZLK.js";import"./chunk-YTR4CO5S.js";import"./chunk-HVTYSC26.js";import"./chunk-FUPDW5AC.js";import"./chunk-MZ7APUFN.js";import"./chunk-AUVBR62P.js";import"./chunk-FOQHUKNZ.js";import"./chunk-CRU42NJU.js";import"./chunk-3UW7VM4H.js";import{a as i,c as n,d as l}from"./chunk-JM72FNGA.js";import"./chunk-QLNGUWR7.js";import"./chunk-ERHOS6AW.js";import"./chunk-EWC3UK4V.js";import"./chunk-D322LMSA.js";import"./chunk-A4L36SZS.js";import"./chunk-OBBDKQAG.js";import"./chunk-64MNV6AB.js";import"./chunk-7S5E7KWT.js";import c from"better-sqlite3";var d=["node_modules",".git","dist","build","out","coverage","target",".next",".nuxt",".cache",".turbo",".scipquery-cache","__pycache__",".venv","venv"],o=class{db;config;pathFilter;constructor(t,e){this.config=t,this.pathFilter=e??null,this.db=new c(t.dbPath,{readonly:!0}),this.db.pragma("busy_timeout = 5000")}isIgnored(t){return this.pathFilter?.isIgnored(t)??!1}get localSymbolPredicate(){return`(
2
2
  EXISTS (
3
3
  SELECT 1
4
4
  FROM defn_enclosing_ranges local_der
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{b as k,c as g,d as f,e as m}from"./chunk-LWYIGRHR.js";import{existsSync as p,mkdirSync as L,symlinkSync as b,readlinkSync as v,unlinkSync as q}from"fs";import{join as s,dirname as y,resolve as d}from"path";import{homedir as u,platform as C}from"os";import{fileURLToPath as N}from"url";var R=C()==="win32",T=["scip-query","concrete-plan","scip-ai-cleanup","scip-explore","scip-debloat","scip-doc-reconcile","scip-maintainability","scip-react-maintainability","scip-vue-maintainability","scip-verify","scip-language-playbook"];function A(i={}){let e=i.quiet?()=>{}:console.log,o=N(import.meta.url),I=d(y(o),"..","skills"),$=[s(u(),".claude","skills"),s(u(),".codex","skills"),s(u(),".agents","skills")],l={installed:[],skipped:[],alreadyLinked:[]};for(let r of $){let h=y(r);if(!p(h))continue;L(r,{recursive:!0});let t=j(r);for(let n of T){let a=s(I,n),c=s(r,n);if(!p(a)){l.skipped.push(`${t}/${n}`);continue}if(p(c)){try{let x=v(c);if(d(x)===d(a)){l.alreadyLinked.push(`${t}/${n}`),e(` ok: ${n} \u2192 ${t} (already linked)`);continue}}catch{l.skipped.push(`${t}/${n}`),e(` skip: ${n} \u2192 ${t} (exists, not a symlink)`);continue}q(c)}b(a,c,R?"junction":"dir"),l.installed.push(`${t}/${n}`),e(` done: ${n} \u2192 ${t}`)}}return l}function j(i){return i.includes(".codex")?"Codex":i.includes(".agents")?"Agents":"Claude"}function S(){console.log("scip-query: installing skills...");let i=A({quiet:!1});if(i.installed.length+i.alreadyLinked.length>0&&console.log(`
2
+ import{b as k,c as g,d as f,e as m}from"./chunk-NXIAHE7F.js";import{existsSync as p,mkdirSync as L,symlinkSync as b,readlinkSync as v,unlinkSync as q}from"fs";import{join as l,dirname as y,resolve as d}from"path";import{homedir as u,platform as C}from"os";import{fileURLToPath as N}from"url";var R=C()==="win32",T=["scip-query","scip-query-setup","concrete-plan","scip-ai-cleanup","scip-explore","scip-debloat","scip-doc-reconcile","scip-directory-architecture","scip-maintainability","scip-react-maintainability","scip-vue-maintainability","scip-verify","scip-language-playbook"];function A(i={}){let e=i.quiet?()=>{}:console.log,o=N(import.meta.url),I=d(y(o),"..","skills"),$=[l(u(),".claude","skills"),l(u(),".codex","skills"),l(u(),".agents","skills")],s={installed:[],skipped:[],alreadyLinked:[]};for(let r of $){let h=y(r);if(!p(h))continue;L(r,{recursive:!0});let t=j(r);for(let n of T){let a=l(I,n),c=l(r,n);if(!p(a)){s.skipped.push(`${t}/${n}`);continue}if(p(c)){try{let x=v(c);if(d(x)===d(a)){s.alreadyLinked.push(`${t}/${n}`),e(` ok: ${n} \u2192 ${t} (already linked)`);continue}}catch{s.skipped.push(`${t}/${n}`),e(` skip: ${n} \u2192 ${t} (exists, not a symlink)`);continue}q(c)}b(a,c,R?"junction":"dir"),s.installed.push(`${t}/${n}`),e(` done: ${n} \u2192 ${t}`)}}return s}function j(i){return i.includes(".codex")?"Codex":i.includes(".agents")?"Agents":"Claude"}function S(){console.log("scip-query: installing skills...");let i=A({quiet:!1});if(i.installed.length+i.alreadyLinked.length>0&&console.log(`
3
3
  ${i.installed.length} skill(s) installed, ${i.alreadyLinked.length} already linked.`),!k())console.log(`
4
4
  scip CLI not found on PATH. Attempting auto-install...`),m(console.log)||f();else{let o=g();console.log(`
5
5
  scip CLI: ${o??"installed"}`)}console.log("")}S();
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface AffectedResult {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-LT6GJ27X.js";import"../chunk-623UQCVG.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as affected};
1
+ import{a}from"../chunk-CFL2CNIF.js";import"../chunk-GZCQTZLK.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as affected};
2
2
  //# sourceMappingURL=affected.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface BottleneckResult {
6
6
  symbol: string;
@@ -10,6 +10,10 @@ interface BottleneckResult {
10
10
  /** fanIn * fanOut — higher = more central coupling hub */
11
11
  score: number;
12
12
  definedIn: string;
13
+ actionTier: 'signal';
14
+ riskKind: 'coordination-hotspot';
15
+ evidenceReasons: string[];
16
+ recommendation: string;
13
17
  }
14
18
  /**
15
19
  * Find coupling hubs: symbols with both high fan-in (many consumers)
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-LUBKUISI.js";import"../chunk-B75HZHUP.js";import"../chunk-W3PQRAI4.js";import"../chunk-L77GXANO.js";import"../chunk-BGBBVSH4.js";import"../chunk-623UQCVG.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as bottlenecks};
1
+ import{a}from"../chunk-MUULWXSJ.js";import"../chunk-B75HZHUP.js";import"../chunk-3ZYF3ELZ.js";import"../chunk-ZQLO2SCU.js";import"../chunk-BGBBVSH4.js";import"../chunk-GZCQTZLK.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as bottlenecks};
2
2
  //# sourceMappingURL=bottlenecks.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface ByKindResult {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a,b}from"../chunk-DMLPJ75B.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as byKind,b as kindCounts};
1
+ import{a,b}from"../chunk-BKDXBJDQ.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as byKind,b as kindCounts};
2
2
  //# sourceMappingURL=by-kind.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface CallGraphResult {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-I6PTB2CM.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-623UQCVG.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as callGraph};
1
+ import{a}from"../chunk-Z4VHYJ5U.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-GZCQTZLK.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as callGraph};
2
2
  //# sourceMappingURL=call-graph.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface ChangeSurfaceEntry {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-4N7LFYSD.js";import"../chunk-QOFKVNFE.js";import"../chunk-W3PQRAI4.js";import"../chunk-L77GXANO.js";import"../chunk-BGBBVSH4.js";import"../chunk-623UQCVG.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as changeSurface};
1
+ import{a}from"../chunk-TM6GVHA6.js";import"../chunk-CTCAF3YA.js";import"../chunk-3ZYF3ELZ.js";import"../chunk-ZQLO2SCU.js";import"../chunk-BGBBVSH4.js";import"../chunk-GZCQTZLK.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as changeSurface};
2
2
  //# sourceMappingURL=change-surface.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface CleanupPlanEntry {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a,b}from"../chunk-27KPKLRJ.js";import"../chunk-6U4EODW3.js";import"../chunk-B75HZHUP.js";import"../chunk-W3PQRAI4.js";import"../chunk-L77GXANO.js";import"../chunk-BGBBVSH4.js";import"../chunk-623UQCVG.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{b as RemovedRangeIndex,a as cleanupPlan};
1
+ import{a,b}from"../chunk-OLD6PBU6.js";import"../chunk-C3MZZ2ZN.js";import"../chunk-B75HZHUP.js";import"../chunk-3ZYF3ELZ.js";import"../chunk-ZQLO2SCU.js";import"../chunk-BGBBVSH4.js";import"../chunk-GZCQTZLK.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{b as RemovedRangeIndex,a as cleanupPlan};
2
2
  //# sourceMappingURL=cleanup-plan.js.map
@@ -1,7 +1,27 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
+ import { C as CoChangeCommitScope, a as CoChangeRecency, b as CoChangeSubjectContext } from '../git-history-Dao3_Pu9.js';
2
3
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
4
+ import '../config-types-Bj4sh28g.js';
4
5
 
6
+ type CoChangePartnerClass = 'doc-code' | 'config-code' | 'schema-script' | 'model-view' | 'test-code' | 'same-feature' | 'unknown';
7
+ interface CoChangePartnerClassification {
8
+ partnerClass: CoChangePartnerClass;
9
+ reasons: string[];
10
+ }
11
+ interface DeclaredCouplingSuggestion {
12
+ name: string;
13
+ files: string[];
14
+ reason: string;
15
+ }
16
+ interface CoChangePairEvidence {
17
+ fileA: string;
18
+ fileB: string;
19
+ together: number;
20
+ confidence: number;
21
+ commitScope?: CoChangeCommitScope;
22
+ recency?: CoChangeRecency;
23
+ subjectContext?: CoChangeSubjectContext;
24
+ }
5
25
  interface CoChangeFinding {
6
26
  fileA: string;
7
27
  fileB: string;
@@ -11,8 +31,19 @@ interface CoChangeFinding {
11
31
  confidence: number;
12
32
  changesA: number;
13
33
  changesB: number;
34
+ focusedTogether: number;
35
+ broadTogether: number;
36
+ broadCommitRatio: number;
37
+ lastTogetherAt: number;
38
+ recentTogether: number;
39
+ commitScope: CoChangeCommitScope;
40
+ recency: CoChangeRecency;
41
+ subjectContext: CoChangeSubjectContext;
14
42
  /** True when a dependency edge or declared coupling already explains the pair. */
15
43
  structurallyLinked: boolean;
44
+ partnerClass: CoChangePartnerClass;
45
+ partnerClassReasons: string[];
46
+ declaredCouplingSuggestion?: DeclaredCouplingSuggestion;
16
47
  }
17
48
  interface CoChangeResult {
18
49
  /** False when git history is unavailable (not a repo, git missing). */
@@ -39,5 +70,8 @@ declare function coChange(db: ScipDatabase, file?: string, opts?: {
39
70
  includeLinked?: boolean;
40
71
  maxFilesPerCommit?: number;
41
72
  }): CoChangeResult;
73
+ declare function classifyCoChangePartner(fileA: string, fileB: string): CoChangePartnerClassification;
74
+ declare function declaredCouplingSuggestionForPair(pair: CoChangePairEvidence, classification: CoChangePartnerClassification, structurallyLinked: boolean): DeclaredCouplingSuggestion | undefined;
75
+ declare function coChangeStructuralLinkChecker(db: ScipDatabase, graph?: Map<string, Set<string>>, declaredCouplings?: ReadonlySet<string>[]): (fileA: string, fileB: string) => boolean;
42
76
 
43
- export { type CoChangeFinding, type CoChangeResult, coChange, isCoChangeNoiseFile };
77
+ export { type CoChangeFinding, type CoChangePairEvidence, type CoChangePartnerClass, type CoChangePartnerClassification, type CoChangeResult, type DeclaredCouplingSuggestion, classifyCoChangePartner, coChange, coChangeStructuralLinkChecker, declaredCouplingSuggestionForPair, isCoChangeNoiseFile };
@@ -1,2 +1,2 @@
1
- import{a,b}from"../chunk-RYBMW2EN.js";import"../chunk-YISMWW66.js";import"../chunk-L77GXANO.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{b as coChange,a as isCoChangeNoiseFile};
1
+ import{a,b,c,d,e}from"../chunk-EYLXU575.js";import"../chunk-KRGBLZT2.js";import"../chunk-ZQLO2SCU.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{c as classifyCoChangePartner,b as coChange,e as coChangeStructuralLinkChecker,d as declaredCouplingSuggestionForPair,a as isCoChangeNoiseFile};
2
2
  //# sourceMappingURL=co-change.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface CodeResult {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-YYCQQBMG.js";import"../chunk-QOFKVNFE.js";import"../chunk-5ALI77D7.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as code};
1
+ import{a}from"../chunk-LPLGJ4HO.js";import"../chunk-CTCAF3YA.js";import"../chunk-MZ7APUFN.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as code};
2
2
  //# sourceMappingURL=code.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface ComplexityHotspot {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-IJYWCB57.js";import"../chunk-5BZOSICN.js";import"../chunk-B75HZHUP.js";import"../chunk-W3PQRAI4.js";import"../chunk-L77GXANO.js";import"../chunk-BGBBVSH4.js";import"../chunk-623UQCVG.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as complexityHotspots};
1
+ import{a}from"../chunk-DAI74TJU.js";import"../chunk-PFOCOG57.js";import"../chunk-B75HZHUP.js";import"../chunk-3ZYF3ELZ.js";import"../chunk-ZQLO2SCU.js";import"../chunk-BGBBVSH4.js";import"../chunk-GZCQTZLK.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as complexityHotspots};
2
2
  //# sourceMappingURL=complexity-hotspots.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface ComplexityResult {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-5HDYAOSF.js";import"../chunk-W3PQRAI4.js";import"../chunk-L77GXANO.js";import"../chunk-BGBBVSH4.js";import"../chunk-623UQCVG.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as complexity};
1
+ import{a}from"../chunk-ESG4HBEF.js";import"../chunk-3ZYF3ELZ.js";import"../chunk-ZQLO2SCU.js";import"../chunk-BGBBVSH4.js";import"../chunk-GZCQTZLK.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as complexity};
2
2
  //# sourceMappingURL=complexity.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface ConvergenceResult {
6
6
  symbolA: {
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-ADTG377O.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as convergence};
1
+ import{a}from"../chunk-YYD245WG.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as convergence};
2
2
  //# sourceMappingURL=convergence.js.map
@@ -1,11 +1,15 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface CouplingResult {
6
6
  file1: string;
7
7
  file2: string;
8
8
  sharedSymbols: number;
9
+ actionTier: 'signal';
10
+ couplingKind: 'shared-symbol-coupling';
11
+ evidenceReasons: string[];
12
+ recommendation: string;
9
13
  }
10
14
  /**
11
15
  * Measure coupling between two files: how many symbols do they share
@@ -1,2 +1,2 @@
1
- import{a,b}from"../chunk-PV4CEDIL.js";import"../chunk-QOFKVNFE.js";import"../chunk-5ALI77D7.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as coupling,b as topCoupling};
1
+ import{a,b}from"../chunk-5QJXH6ZL.js";import"../chunk-CTCAF3YA.js";import"../chunk-MZ7APUFN.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as coupling,b as topCoupling};
2
2
  //# sourceMappingURL=coupling.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface CycleResult {
6
6
  /** Files forming a cycle, in order */
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-E55WCTLH.js";import"../chunk-L77GXANO.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as cycles};
1
+ import{a}from"../chunk-CJJP64OC.js";import"../chunk-ZQLO2SCU.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as cycles};
2
2
  //# sourceMappingURL=cycles.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface DataflowResult {
6
6
  symbol: string;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-YIE5FZAF.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-623UQCVG.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as dataflow};
1
+ import{a}from"../chunk-EOZIZWW4.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-GZCQTZLK.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as dataflow};
2
2
  //# sourceMappingURL=dataflow.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface DeadOptions {
6
6
  scope?: string;
@@ -23,8 +23,15 @@ interface DeadSymbolResult {
23
23
  sameFileRefs: number;
24
24
  kind: 'dead-code' | 'file-internal';
25
25
  }
26
+ interface DeadCounts {
27
+ total: number;
28
+ deadCode: number;
29
+ fileInternal: number;
30
+ loc: number;
31
+ }
26
32
  interface DeadSummary {
27
33
  symbols: DeadSymbolResult[];
34
+ counts: DeadCounts;
28
35
  totalCount: number;
29
36
  /** Symbols with zero references anywhere — safe to delete */
30
37
  deadCodeCount: number;
@@ -39,4 +46,4 @@ interface DeadSummary {
39
46
  */
40
47
  declare function dead(db: ScipDatabase, opts?: DeadOptions): DeadSummary;
41
48
 
42
- export { type DeadSummary, type DeadSymbolResult, dead };
49
+ export { type DeadCounts, type DeadSummary, type DeadSymbolResult, dead };
@@ -1,2 +1,2 @@
1
- import{b as a}from"../chunk-6U4EODW3.js";import"../chunk-B75HZHUP.js";import"../chunk-W3PQRAI4.js";import"../chunk-L77GXANO.js";import"../chunk-BGBBVSH4.js";import"../chunk-623UQCVG.js";import"../chunk-44JOJLMO.js";import"../chunk-SA6B3EGD.js";import"../chunk-QH5GTVVB.js";import"../chunk-5ALI77D7.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as dead};
1
+ import{b as a}from"../chunk-C3MZZ2ZN.js";import"../chunk-B75HZHUP.js";import"../chunk-3ZYF3ELZ.js";import"../chunk-ZQLO2SCU.js";import"../chunk-BGBBVSH4.js";import"../chunk-GZCQTZLK.js";import"../chunk-YTR4CO5S.js";import"../chunk-HVTYSC26.js";import"../chunk-FUPDW5AC.js";import"../chunk-MZ7APUFN.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as dead};
2
2
  //# sourceMappingURL=dead.js.map
@@ -1,11 +1,15 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface DeepChainResult {
6
6
  /** Files in the chain, from leaf to root */
7
7
  chain: string[];
8
8
  depth: number;
9
+ actionTier: 'signal';
10
+ chainKind: 'transitive-dependency-depth';
11
+ evidenceReasons: string[];
12
+ recommendation: string;
9
13
  }
10
14
  /**
11
15
  * Find the longest transitive dependency chains between files.
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-332L7SRO.js";import"../chunk-5D3BT4B4.js";import"../chunk-QUKZ77A6.js";import"../chunk-ADKQX2OY.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as deepChains};
1
+ import{a}from"../chunk-CSWZFD46.js";import"../chunk-AUVBR62P.js";import"../chunk-FOQHUKNZ.js";import"../chunk-CRU42NJU.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as deepChains};
2
2
  //# sourceMappingURL=deep-chains.js.map
@@ -1,6 +1,6 @@
1
- import { S as ScipDatabase } from '../db-BkFlkzI3.js';
1
+ import { S as ScipDatabase } from '../db-CTarohbZ.js';
2
2
  import 'better-sqlite3';
3
- import '../config-types-Bok4jrO3.js';
3
+ import '../config-types-Bj4sh28g.js';
4
4
 
5
5
  interface DepResult {
6
6
  relativePath: string;
@@ -1,2 +1,2 @@
1
- import{a,b}from"../chunk-5VB3WU7K.js";import"../chunk-QOFKVNFE.js";import"../chunk-5ALI77D7.js";import"../chunk-64LH2QUP.js";import"../chunk-T67R7V5I.js";import"../chunk-XGGTESMN.js";import"../chunk-HCQ7J2N5.js";import"../chunk-YVQUQIBM.js";import"../chunk-CMGOXDVP.js";import"../chunk-TMS4JPWY.js";import"../chunk-NN3O7TPH.js";import"../chunk-BJ7OHKB5.js";export{a as deps,b as rdeps};
1
+ import{a,b}from"../chunk-4ZUJJRWT.js";import"../chunk-CTCAF3YA.js";import"../chunk-MZ7APUFN.js";import"../chunk-3UW7VM4H.js";import"../chunk-JM72FNGA.js";import"../chunk-QLNGUWR7.js";import"../chunk-ERHOS6AW.js";import"../chunk-EWC3UK4V.js";import"../chunk-D322LMSA.js";import"../chunk-A4L36SZS.js";import"../chunk-OBBDKQAG.js";import"../chunk-64MNV6AB.js";import"../chunk-7S5E7KWT.js";export{a as deps,b as rdeps};
2
2
  //# sourceMappingURL=deps.js.map