@kb-labs/quality-contracts 2.94.0 → 2.98.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.
package/dist/index.d.ts CHANGED
@@ -116,20 +116,66 @@ interface TestRunResult {
116
116
  }
117
117
 
118
118
  /**
119
- * Types for quality:stats command
119
+ * Quality snapshot types — persistent history for trend tracking
120
120
  */
121
+ interface DimensionScore {
122
+ score: number;
123
+ grade: 'A' | 'B' | 'C' | 'D' | 'F';
124
+ details: string[];
125
+ }
126
+ interface DimensionScores {
127
+ architecture: DimensionScore;
128
+ typescript: DimensionScore;
129
+ deadCode: DimensionScore;
130
+ depHygiene: DimensionScore;
131
+ testCoverage: DimensionScore;
132
+ }
133
+ interface QualitySnapshot {
134
+ id: string;
135
+ timestamp: string;
136
+ git: {
137
+ commit: string;
138
+ branch: string;
139
+ message: string;
140
+ };
141
+ score: number;
142
+ grade: 'A' | 'B' | 'C' | 'D' | 'F';
143
+ dimensions: DimensionScores;
144
+ /** Raw counters for delta computation */
145
+ counters: {
146
+ layeringViolations: number;
147
+ avgInstability: number;
148
+ anyCount: number;
149
+ tsIgnoreCount: number;
150
+ unusedFiles: number;
151
+ unusedDeps: number;
152
+ };
153
+ }
154
+ interface SnapshotDelta {
155
+ score: number;
156
+ layeringViolations: number;
157
+ anyCount: number;
158
+ tsIgnoreCount: number;
159
+ unusedFiles: number;
160
+ unusedDeps: number;
161
+ avgInstability: number;
162
+ }
163
+ interface SnapshotHistory {
164
+ snapshots: QualitySnapshot[];
165
+ /** Delta vs previous snapshot, if history has >= 2 entries */
166
+ delta: SnapshotDelta | null;
167
+ latest: QualitySnapshot | null;
168
+ }
121
169
 
122
170
  /**
123
- * Health score for a package or repository
171
+ * Types for quality:stats and quality:health commands
124
172
  */
173
+
125
174
  interface HealthScore {
126
175
  score: number;
127
176
  grade: 'A' | 'B' | 'C' | 'D' | 'F';
128
- issues: Issue[];
177
+ dimensions: DimensionScores;
129
178
  }
130
- /**
131
- * Package statistics
132
- */
133
179
  interface PackageStats {
134
180
  name: string;
135
181
  path?: string;
@@ -138,9 +184,6 @@ interface PackageStats {
138
184
  lines: number;
139
185
  bytes: number;
140
186
  }
141
- /**
142
- * Repository statistics
143
- */
144
187
  interface RepositoryStats {
145
188
  name: string;
146
189
  packages: number;
@@ -148,9 +191,6 @@ interface RepositoryStats {
148
191
  lines: number;
149
192
  bytes: number;
150
193
  }
151
- /**
152
- * Dependency statistics
153
- */
154
194
  interface DependencyStats {
155
195
  total: number;
156
196
  workspace: number;
@@ -161,9 +201,6 @@ interface DependencyStats {
161
201
  count: number;
162
202
  }>;
163
203
  }
164
- /**
165
- * Statistics result from quality:stats
166
- */
167
204
  interface StatsResult {
168
205
  overview: {
169
206
  totalPackages: number;
@@ -179,126 +216,68 @@ interface StatsResult {
179
216
  }
180
217
 
181
218
  /**
182
- * Constants for Quality Plugin
183
- */
184
- /**
185
- * Environment variables
219
+ * Architecture analysis types — layering violations and coupling metrics
186
220
  */
187
- declare const QUALITY_ENV_VARS: readonly ["KB_QUALITY_CACHE_TTL", "KB_QUALITY_MAX_PACKAGES"];
188
- /**
189
- * Cache namespace prefix
190
- */
191
- declare const QUALITY_CACHE_PREFIX = "quality:";
192
- /**
193
- * Cache keys
194
- */
195
- declare const CACHE_KEYS: {
196
- readonly STATS: "quality:stats";
197
- readonly HEALTH: "quality:health";
198
- readonly IMPORTS: "quality:imports";
199
- readonly EXPORTS: "quality:exports";
200
- readonly TYPES: "quality:types";
201
- readonly DUPLICATES: "quality:duplicates";
202
- readonly BUILDS: "quality:builds";
203
- readonly TYPE_ANALYSIS: "quality:type-analysis";
204
- readonly TESTS: "quality:tests";
205
- readonly DEAD_CODE: "quality:dead-code";
206
- };
207
- /**
208
- * Default timeouts (milliseconds)
209
- */
210
- declare const DEFAULT_TIMEOUTS: {
211
- readonly STATS: 60000;
212
- readonly HEALTH: 120000;
213
- readonly CHECK_IMPORTS: 60000;
214
- readonly CHECK_EXPORTS: 60000;
215
- readonly CHECK_TYPES: 90000;
216
- readonly TYPES_AUDIT: 180000;
217
- readonly FIX_DEPS: 300000;
218
- readonly CI: 600000;
219
- readonly DEAD_CODE: 120000;
220
- };
221
- /**
222
- * Health score grades
223
- */
224
- declare const HEALTH_GRADES: {
225
- readonly A: {
226
- readonly min: 90;
227
- readonly max: 100;
228
- readonly label: "Excellent";
229
- };
230
- readonly B: {
231
- readonly min: 80;
232
- readonly max: 89;
233
- readonly label: "Good";
234
- };
235
- readonly C: {
236
- readonly min: 70;
237
- readonly max: 79;
238
- readonly label: "Fair";
239
- };
240
- readonly D: {
241
- readonly min: 60;
242
- readonly max: 69;
243
- readonly label: "Poor";
244
- };
245
- readonly F: {
246
- readonly min: 0;
247
- readonly max: 59;
248
- readonly label: "Failing";
249
- };
250
- };
221
+ /** A single import that crosses layer boundaries */
222
+ interface LayeringViolation {
223
+ file: string;
224
+ fromPackage: string;
225
+ fromLayer: number;
226
+ toPackage: string;
227
+ toLayer: number;
228
+ importSpecifier: string;
229
+ }
230
+ interface LayeringReport {
231
+ violations: LayeringViolation[];
232
+ totalViolations: number;
233
+ affectedPackages: string[];
234
+ /** Layer map used for analysis */
235
+ layerMap: Record<string, number>;
236
+ }
237
+ interface PackageCoupling {
238
+ name: string;
239
+ /** Afferent coupling: packages that depend on this */
240
+ afferent: number;
241
+ /** Efferent coupling: packages this depends on */
242
+ efferent: number;
243
+ /** Instability = Ce/(Ca+Ce). 0 = stable, 1 = unstable */
244
+ instability: number;
245
+ }
246
+ interface CouplingReport {
247
+ packages: PackageCoupling[];
248
+ avgInstability: number;
249
+ mostUnstable: PackageCoupling[];
250
+ mostCoupled: PackageCoupling[];
251
+ }
251
252
 
252
253
  /**
253
- * @module @kb-labs/quality-contracts/routes
254
- * REST API route constants for quality plugin
255
- */
256
- /**
257
- * REST API base path for quality plugin
258
- */
259
- declare const QUALITY_BASE_PATH: "/v1/plugins/quality";
260
- /**
261
- * REST API route paths (relative to basePath)
262
- */
263
- declare const QUALITY_ROUTES: {
264
- /** GET /stats - Get monorepo statistics */
265
- readonly STATS: "/stats";
266
- /** GET /health - Get health score */
267
- readonly HEALTH: "/health";
268
- /** GET /dependencies - Get dependency issues */
269
- readonly DEPENDENCIES: "/dependencies";
270
- /** GET /build-order - Get build order */
271
- readonly BUILD_ORDER: "/build-order";
272
- /** GET /cycles - Get circular dependencies */
273
- readonly CYCLES: "/cycles";
274
- /** GET /graph - Get dependency graph */
275
- readonly GRAPH: "/graph";
276
- /** GET /stale - Get stale packages */
277
- readonly STALE: "/stale";
278
- /** GET /builds - Get build status */
279
- readonly BUILDS: "/builds";
280
- /** GET /types - Get type safety analysis */
281
- readonly TYPES: "/types";
282
- /** GET /tests - Get test results and coverage */
283
- readonly TESTS: "/tests";
284
- };
285
- /**
286
- * Full REST API URLs (basePath + route)
287
- * Useful for testing and documentation
254
+ * Quality plugin configuration — stored in kb.config.json under "quality" section
288
255
  */
289
- declare const QUALITY_FULL_ROUTES: {
290
- readonly STATS: "/v1/plugins/quality/stats";
291
- readonly HEALTH: "/v1/plugins/quality/health";
292
- readonly DEPENDENCIES: "/v1/plugins/quality/dependencies";
293
- readonly BUILD_ORDER: "/v1/plugins/quality/build-order";
294
- readonly CYCLES: "/v1/plugins/quality/cycles";
295
- readonly GRAPH: "/v1/plugins/quality/graph";
296
- readonly STALE: "/v1/plugins/quality/stale";
297
- readonly BUILDS: "/v1/plugins/quality/builds";
298
- readonly TYPES: "/v1/plugins/quality/types";
299
- readonly TESTS: "/v1/plugins/quality/tests";
300
- };
301
- type QualityRoute = typeof QUALITY_ROUTES[keyof typeof QUALITY_ROUTES];
256
+ interface QualityLayerMap {
257
+ [pathPrefix: string]: number;
258
+ }
259
+ interface QualityThresholds {
260
+ /** Minimum health score before exit 1. Default: 70 */
261
+ health: number;
262
+ /** Instability threshold for warning. Default: 0.85 */
263
+ instability: number;
264
+ }
265
+ interface QualityKnipConfig {
266
+ /** Whether to run knip for dead code / dep analysis. Default: true */
267
+ enabled: boolean;
268
+ }
269
+ interface QualityPluginConfig {
270
+ /** Max snapshots to retain in history. Default: 30 */
271
+ maxSnapshots: number;
272
+ knip: QualityKnipConfig;
273
+ /**
274
+ * Layer map: path prefix → layer index.
275
+ * Defaults to KB Labs standard layers from CLAUDE.md.
276
+ */
277
+ layers: QualityLayerMap;
278
+ thresholds: QualityThresholds;
279
+ }
280
+ declare const defaultQualityConfig: QualityPluginConfig;
302
281
 
303
282
  /**
304
283
  * Types for dead code file detection
@@ -384,6 +363,131 @@ interface DeadCodeRemovalResult {
384
363
  exportsCleanedUp: number;
385
364
  manifest: DeadCodeBackupManifest;
386
365
  }
366
+ interface KnipUnusedExport {
367
+ file: string;
368
+ symbol: string;
369
+ }
370
+ interface KnipUnusedDependency {
371
+ package: string;
372
+ workspace: string;
373
+ }
374
+ /** Parsed output from `knip --reporter json` */
375
+ interface KnipReport {
376
+ unusedFiles: string[];
377
+ unusedExports: KnipUnusedExport[];
378
+ unusedDependencies: KnipUnusedDependency[];
379
+ unlistedDependencies: KnipUnusedDependency[];
380
+ /** Total issue count for quick health scoring */
381
+ totalIssues: number;
382
+ }
383
+
384
+ /**
385
+ * Constants for Quality Plugin
386
+ */
387
+ declare const QUALITY_ENV_VARS: readonly ["KB_QUALITY_CACHE_TTL", "KB_QUALITY_MAX_PACKAGES"];
388
+ declare const QUALITY_CACHE_PREFIX = "quality:";
389
+ declare const CACHE_KEYS: {
390
+ readonly STATS: "quality:stats";
391
+ readonly HEALTH: "quality:health";
392
+ readonly IMPORTS: "quality:imports";
393
+ readonly EXPORTS: "quality:exports";
394
+ readonly TYPES: "quality:types";
395
+ readonly DUPLICATES: "quality:duplicates";
396
+ readonly BUILDS: "quality:builds";
397
+ readonly TYPE_ANALYSIS: "quality:type-analysis";
398
+ readonly TESTS: "quality:tests";
399
+ readonly DEAD_CODE: "quality:dead-code";
400
+ readonly KNIP: "quality:knip";
401
+ readonly LAYERS: "quality:layers";
402
+ readonly COUPLING: "quality:coupling";
403
+ };
404
+ /** Cache TTLs in milliseconds */
405
+ declare const CACHE_TTLS: {
406
+ readonly FAST: number;
407
+ readonly SLOW: number;
408
+ };
409
+ declare const DEFAULT_TIMEOUTS: {
410
+ readonly STATS: 60000;
411
+ readonly HEALTH: 120000;
412
+ readonly LAYERS: 60000;
413
+ readonly COUPLING: 30000;
414
+ readonly KNIP: 180000;
415
+ readonly CHECK_TYPES: 90000;
416
+ readonly FIX_DEPS: 300000;
417
+ readonly CI: 600000;
418
+ };
419
+ declare const HEALTH_GRADES: {
420
+ readonly A: {
421
+ readonly min: 90;
422
+ readonly max: 100;
423
+ readonly label: "Excellent";
424
+ };
425
+ readonly B: {
426
+ readonly min: 80;
427
+ readonly max: 89;
428
+ readonly label: "Good";
429
+ };
430
+ readonly C: {
431
+ readonly min: 70;
432
+ readonly max: 79;
433
+ readonly label: "Fair";
434
+ };
435
+ readonly D: {
436
+ readonly min: 60;
437
+ readonly max: 69;
438
+ readonly label: "Poor";
439
+ };
440
+ readonly F: {
441
+ readonly min: 0;
442
+ readonly max: 59;
443
+ readonly label: "Failing";
444
+ };
445
+ };
446
+ /** Dimension weights for composite health score */
447
+ declare const DIMENSION_WEIGHTS: {
448
+ readonly architecture: 0.3;
449
+ readonly typescript: 0.25;
450
+ readonly deadCode: 0.2;
451
+ readonly depHygiene: 0.15;
452
+ readonly testCoverage: 0.1;
453
+ };
454
+ declare const SNAPSHOT_DIR = ".kb/quality/snapshots";
455
+ declare const SNAPSHOT_FILE = "quality.json";
456
+ declare const MAX_SNAPSHOTS_DEFAULT = 30;
457
+
458
+ /**
459
+ * @module @kb-labs/quality-contracts/routes
460
+ * REST API route constants for quality plugin
461
+ */
462
+ declare const QUALITY_BASE_PATH: "/v1/plugins/quality";
463
+ declare const QUALITY_ROUTES: {
464
+ /** GET /stats */
465
+ readonly STATS: "/stats";
466
+ /** GET /health */
467
+ readonly HEALTH: "/health";
468
+ /** GET /dependencies */
469
+ readonly DEPENDENCIES: "/dependencies";
470
+ /** GET /build-order */
471
+ readonly BUILD_ORDER: "/build-order";
472
+ /** GET /cycles */
473
+ readonly CYCLES: "/cycles";
474
+ /** GET /graph */
475
+ readonly GRAPH: "/graph";
476
+ /** GET /stale */
477
+ readonly STALE: "/stale";
478
+ /** GET /layers — layering violation report */
479
+ readonly LAYERS: "/layers";
480
+ /** GET /coupling — coupling metrics */
481
+ readonly COUPLING: "/coupling";
482
+ /** GET /dead-code — knip report */
483
+ readonly DEAD_CODE: "/dead-code";
484
+ /** GET /history — snapshot history */
485
+ readonly HISTORY: "/history";
486
+ /** POST /snapshot — save snapshot */
487
+ readonly SNAPSHOT: "/snapshot";
488
+ };
489
+ declare const QUALITY_FULL_ROUTES: { [K in keyof typeof QUALITY_ROUTES]: string; };
490
+ type QualityRoute = (typeof QUALITY_ROUTES)[keyof typeof QUALITY_ROUTES];
387
491
 
388
492
  /**
389
493
  * REST API Request/Response Types and Zod Schemas for Quality Plugin
@@ -963,5 +1067,1595 @@ declare const StaleResponseSchema: z.ZodObject<{
963
1067
  }[] | undefined;
964
1068
  }>;
965
1069
  type StaleResponse = z.infer<typeof StaleResponseSchema>;
1070
+ declare const DimensionScoreSchema: z.ZodObject<{
1071
+ score: z.ZodNumber;
1072
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1073
+ details: z.ZodArray<z.ZodString, "many">;
1074
+ }, "strip", z.ZodTypeAny, {
1075
+ grade: "A" | "B" | "C" | "D" | "F";
1076
+ score: number;
1077
+ details: string[];
1078
+ }, {
1079
+ grade: "A" | "B" | "C" | "D" | "F";
1080
+ score: number;
1081
+ details: string[];
1082
+ }>;
1083
+ declare const DimensionScoresSchema: z.ZodObject<{
1084
+ architecture: z.ZodObject<{
1085
+ score: z.ZodNumber;
1086
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1087
+ details: z.ZodArray<z.ZodString, "many">;
1088
+ }, "strip", z.ZodTypeAny, {
1089
+ grade: "A" | "B" | "C" | "D" | "F";
1090
+ score: number;
1091
+ details: string[];
1092
+ }, {
1093
+ grade: "A" | "B" | "C" | "D" | "F";
1094
+ score: number;
1095
+ details: string[];
1096
+ }>;
1097
+ typescript: z.ZodObject<{
1098
+ score: z.ZodNumber;
1099
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1100
+ details: z.ZodArray<z.ZodString, "many">;
1101
+ }, "strip", z.ZodTypeAny, {
1102
+ grade: "A" | "B" | "C" | "D" | "F";
1103
+ score: number;
1104
+ details: string[];
1105
+ }, {
1106
+ grade: "A" | "B" | "C" | "D" | "F";
1107
+ score: number;
1108
+ details: string[];
1109
+ }>;
1110
+ deadCode: z.ZodObject<{
1111
+ score: z.ZodNumber;
1112
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1113
+ details: z.ZodArray<z.ZodString, "many">;
1114
+ }, "strip", z.ZodTypeAny, {
1115
+ grade: "A" | "B" | "C" | "D" | "F";
1116
+ score: number;
1117
+ details: string[];
1118
+ }, {
1119
+ grade: "A" | "B" | "C" | "D" | "F";
1120
+ score: number;
1121
+ details: string[];
1122
+ }>;
1123
+ depHygiene: z.ZodObject<{
1124
+ score: z.ZodNumber;
1125
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1126
+ details: z.ZodArray<z.ZodString, "many">;
1127
+ }, "strip", z.ZodTypeAny, {
1128
+ grade: "A" | "B" | "C" | "D" | "F";
1129
+ score: number;
1130
+ details: string[];
1131
+ }, {
1132
+ grade: "A" | "B" | "C" | "D" | "F";
1133
+ score: number;
1134
+ details: string[];
1135
+ }>;
1136
+ testCoverage: z.ZodObject<{
1137
+ score: z.ZodNumber;
1138
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1139
+ details: z.ZodArray<z.ZodString, "many">;
1140
+ }, "strip", z.ZodTypeAny, {
1141
+ grade: "A" | "B" | "C" | "D" | "F";
1142
+ score: number;
1143
+ details: string[];
1144
+ }, {
1145
+ grade: "A" | "B" | "C" | "D" | "F";
1146
+ score: number;
1147
+ details: string[];
1148
+ }>;
1149
+ }, "strip", z.ZodTypeAny, {
1150
+ architecture: {
1151
+ grade: "A" | "B" | "C" | "D" | "F";
1152
+ score: number;
1153
+ details: string[];
1154
+ };
1155
+ typescript: {
1156
+ grade: "A" | "B" | "C" | "D" | "F";
1157
+ score: number;
1158
+ details: string[];
1159
+ };
1160
+ deadCode: {
1161
+ grade: "A" | "B" | "C" | "D" | "F";
1162
+ score: number;
1163
+ details: string[];
1164
+ };
1165
+ depHygiene: {
1166
+ grade: "A" | "B" | "C" | "D" | "F";
1167
+ score: number;
1168
+ details: string[];
1169
+ };
1170
+ testCoverage: {
1171
+ grade: "A" | "B" | "C" | "D" | "F";
1172
+ score: number;
1173
+ details: string[];
1174
+ };
1175
+ }, {
1176
+ architecture: {
1177
+ grade: "A" | "B" | "C" | "D" | "F";
1178
+ score: number;
1179
+ details: string[];
1180
+ };
1181
+ typescript: {
1182
+ grade: "A" | "B" | "C" | "D" | "F";
1183
+ score: number;
1184
+ details: string[];
1185
+ };
1186
+ deadCode: {
1187
+ grade: "A" | "B" | "C" | "D" | "F";
1188
+ score: number;
1189
+ details: string[];
1190
+ };
1191
+ depHygiene: {
1192
+ grade: "A" | "B" | "C" | "D" | "F";
1193
+ score: number;
1194
+ details: string[];
1195
+ };
1196
+ testCoverage: {
1197
+ grade: "A" | "B" | "C" | "D" | "F";
1198
+ score: number;
1199
+ details: string[];
1200
+ };
1201
+ }>;
1202
+ declare const HealthV2ResponseSchema: z.ZodObject<{
1203
+ score: z.ZodNumber;
1204
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1205
+ dimensions: z.ZodObject<{
1206
+ architecture: z.ZodObject<{
1207
+ score: z.ZodNumber;
1208
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1209
+ details: z.ZodArray<z.ZodString, "many">;
1210
+ }, "strip", z.ZodTypeAny, {
1211
+ grade: "A" | "B" | "C" | "D" | "F";
1212
+ score: number;
1213
+ details: string[];
1214
+ }, {
1215
+ grade: "A" | "B" | "C" | "D" | "F";
1216
+ score: number;
1217
+ details: string[];
1218
+ }>;
1219
+ typescript: z.ZodObject<{
1220
+ score: z.ZodNumber;
1221
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1222
+ details: z.ZodArray<z.ZodString, "many">;
1223
+ }, "strip", z.ZodTypeAny, {
1224
+ grade: "A" | "B" | "C" | "D" | "F";
1225
+ score: number;
1226
+ details: string[];
1227
+ }, {
1228
+ grade: "A" | "B" | "C" | "D" | "F";
1229
+ score: number;
1230
+ details: string[];
1231
+ }>;
1232
+ deadCode: z.ZodObject<{
1233
+ score: z.ZodNumber;
1234
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1235
+ details: z.ZodArray<z.ZodString, "many">;
1236
+ }, "strip", z.ZodTypeAny, {
1237
+ grade: "A" | "B" | "C" | "D" | "F";
1238
+ score: number;
1239
+ details: string[];
1240
+ }, {
1241
+ grade: "A" | "B" | "C" | "D" | "F";
1242
+ score: number;
1243
+ details: string[];
1244
+ }>;
1245
+ depHygiene: z.ZodObject<{
1246
+ score: z.ZodNumber;
1247
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1248
+ details: z.ZodArray<z.ZodString, "many">;
1249
+ }, "strip", z.ZodTypeAny, {
1250
+ grade: "A" | "B" | "C" | "D" | "F";
1251
+ score: number;
1252
+ details: string[];
1253
+ }, {
1254
+ grade: "A" | "B" | "C" | "D" | "F";
1255
+ score: number;
1256
+ details: string[];
1257
+ }>;
1258
+ testCoverage: z.ZodObject<{
1259
+ score: z.ZodNumber;
1260
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1261
+ details: z.ZodArray<z.ZodString, "many">;
1262
+ }, "strip", z.ZodTypeAny, {
1263
+ grade: "A" | "B" | "C" | "D" | "F";
1264
+ score: number;
1265
+ details: string[];
1266
+ }, {
1267
+ grade: "A" | "B" | "C" | "D" | "F";
1268
+ score: number;
1269
+ details: string[];
1270
+ }>;
1271
+ }, "strip", z.ZodTypeAny, {
1272
+ architecture: {
1273
+ grade: "A" | "B" | "C" | "D" | "F";
1274
+ score: number;
1275
+ details: string[];
1276
+ };
1277
+ typescript: {
1278
+ grade: "A" | "B" | "C" | "D" | "F";
1279
+ score: number;
1280
+ details: string[];
1281
+ };
1282
+ deadCode: {
1283
+ grade: "A" | "B" | "C" | "D" | "F";
1284
+ score: number;
1285
+ details: string[];
1286
+ };
1287
+ depHygiene: {
1288
+ grade: "A" | "B" | "C" | "D" | "F";
1289
+ score: number;
1290
+ details: string[];
1291
+ };
1292
+ testCoverage: {
1293
+ grade: "A" | "B" | "C" | "D" | "F";
1294
+ score: number;
1295
+ details: string[];
1296
+ };
1297
+ }, {
1298
+ architecture: {
1299
+ grade: "A" | "B" | "C" | "D" | "F";
1300
+ score: number;
1301
+ details: string[];
1302
+ };
1303
+ typescript: {
1304
+ grade: "A" | "B" | "C" | "D" | "F";
1305
+ score: number;
1306
+ details: string[];
1307
+ };
1308
+ deadCode: {
1309
+ grade: "A" | "B" | "C" | "D" | "F";
1310
+ score: number;
1311
+ details: string[];
1312
+ };
1313
+ depHygiene: {
1314
+ grade: "A" | "B" | "C" | "D" | "F";
1315
+ score: number;
1316
+ details: string[];
1317
+ };
1318
+ testCoverage: {
1319
+ grade: "A" | "B" | "C" | "D" | "F";
1320
+ score: number;
1321
+ details: string[];
1322
+ };
1323
+ }>;
1324
+ }, "strip", z.ZodTypeAny, {
1325
+ grade: "A" | "B" | "C" | "D" | "F";
1326
+ score: number;
1327
+ dimensions: {
1328
+ architecture: {
1329
+ grade: "A" | "B" | "C" | "D" | "F";
1330
+ score: number;
1331
+ details: string[];
1332
+ };
1333
+ typescript: {
1334
+ grade: "A" | "B" | "C" | "D" | "F";
1335
+ score: number;
1336
+ details: string[];
1337
+ };
1338
+ deadCode: {
1339
+ grade: "A" | "B" | "C" | "D" | "F";
1340
+ score: number;
1341
+ details: string[];
1342
+ };
1343
+ depHygiene: {
1344
+ grade: "A" | "B" | "C" | "D" | "F";
1345
+ score: number;
1346
+ details: string[];
1347
+ };
1348
+ testCoverage: {
1349
+ grade: "A" | "B" | "C" | "D" | "F";
1350
+ score: number;
1351
+ details: string[];
1352
+ };
1353
+ };
1354
+ }, {
1355
+ grade: "A" | "B" | "C" | "D" | "F";
1356
+ score: number;
1357
+ dimensions: {
1358
+ architecture: {
1359
+ grade: "A" | "B" | "C" | "D" | "F";
1360
+ score: number;
1361
+ details: string[];
1362
+ };
1363
+ typescript: {
1364
+ grade: "A" | "B" | "C" | "D" | "F";
1365
+ score: number;
1366
+ details: string[];
1367
+ };
1368
+ deadCode: {
1369
+ grade: "A" | "B" | "C" | "D" | "F";
1370
+ score: number;
1371
+ details: string[];
1372
+ };
1373
+ depHygiene: {
1374
+ grade: "A" | "B" | "C" | "D" | "F";
1375
+ score: number;
1376
+ details: string[];
1377
+ };
1378
+ testCoverage: {
1379
+ grade: "A" | "B" | "C" | "D" | "F";
1380
+ score: number;
1381
+ details: string[];
1382
+ };
1383
+ };
1384
+ }>;
1385
+ type HealthV2Response = z.infer<typeof HealthV2ResponseSchema>;
1386
+ declare const LayeringViolationSchema: z.ZodObject<{
1387
+ file: z.ZodString;
1388
+ fromPackage: z.ZodString;
1389
+ fromLayer: z.ZodNumber;
1390
+ toPackage: z.ZodString;
1391
+ toLayer: z.ZodNumber;
1392
+ importSpecifier: z.ZodString;
1393
+ }, "strip", z.ZodTypeAny, {
1394
+ file: string;
1395
+ fromPackage: string;
1396
+ fromLayer: number;
1397
+ toPackage: string;
1398
+ toLayer: number;
1399
+ importSpecifier: string;
1400
+ }, {
1401
+ file: string;
1402
+ fromPackage: string;
1403
+ fromLayer: number;
1404
+ toPackage: string;
1405
+ toLayer: number;
1406
+ importSpecifier: string;
1407
+ }>;
1408
+ declare const LayeringResponseSchema: z.ZodObject<{
1409
+ violations: z.ZodArray<z.ZodObject<{
1410
+ file: z.ZodString;
1411
+ fromPackage: z.ZodString;
1412
+ fromLayer: z.ZodNumber;
1413
+ toPackage: z.ZodString;
1414
+ toLayer: z.ZodNumber;
1415
+ importSpecifier: z.ZodString;
1416
+ }, "strip", z.ZodTypeAny, {
1417
+ file: string;
1418
+ fromPackage: string;
1419
+ fromLayer: number;
1420
+ toPackage: string;
1421
+ toLayer: number;
1422
+ importSpecifier: string;
1423
+ }, {
1424
+ file: string;
1425
+ fromPackage: string;
1426
+ fromLayer: number;
1427
+ toPackage: string;
1428
+ toLayer: number;
1429
+ importSpecifier: string;
1430
+ }>, "many">;
1431
+ totalViolations: z.ZodNumber;
1432
+ affectedPackages: z.ZodArray<z.ZodString, "many">;
1433
+ layerMap: z.ZodRecord<z.ZodString, z.ZodNumber>;
1434
+ }, "strip", z.ZodTypeAny, {
1435
+ affectedPackages: string[];
1436
+ violations: {
1437
+ file: string;
1438
+ fromPackage: string;
1439
+ fromLayer: number;
1440
+ toPackage: string;
1441
+ toLayer: number;
1442
+ importSpecifier: string;
1443
+ }[];
1444
+ totalViolations: number;
1445
+ layerMap: Record<string, number>;
1446
+ }, {
1447
+ affectedPackages: string[];
1448
+ violations: {
1449
+ file: string;
1450
+ fromPackage: string;
1451
+ fromLayer: number;
1452
+ toPackage: string;
1453
+ toLayer: number;
1454
+ importSpecifier: string;
1455
+ }[];
1456
+ totalViolations: number;
1457
+ layerMap: Record<string, number>;
1458
+ }>;
1459
+ type LayeringResponse = z.infer<typeof LayeringResponseSchema>;
1460
+ declare const PackageCouplingSchema: z.ZodObject<{
1461
+ name: z.ZodString;
1462
+ afferent: z.ZodNumber;
1463
+ efferent: z.ZodNumber;
1464
+ instability: z.ZodNumber;
1465
+ }, "strip", z.ZodTypeAny, {
1466
+ name: string;
1467
+ afferent: number;
1468
+ efferent: number;
1469
+ instability: number;
1470
+ }, {
1471
+ name: string;
1472
+ afferent: number;
1473
+ efferent: number;
1474
+ instability: number;
1475
+ }>;
1476
+ declare const CouplingResponseSchema: z.ZodObject<{
1477
+ packages: z.ZodArray<z.ZodObject<{
1478
+ name: z.ZodString;
1479
+ afferent: z.ZodNumber;
1480
+ efferent: z.ZodNumber;
1481
+ instability: z.ZodNumber;
1482
+ }, "strip", z.ZodTypeAny, {
1483
+ name: string;
1484
+ afferent: number;
1485
+ efferent: number;
1486
+ instability: number;
1487
+ }, {
1488
+ name: string;
1489
+ afferent: number;
1490
+ efferent: number;
1491
+ instability: number;
1492
+ }>, "many">;
1493
+ avgInstability: z.ZodNumber;
1494
+ mostUnstable: z.ZodArray<z.ZodObject<{
1495
+ name: z.ZodString;
1496
+ afferent: z.ZodNumber;
1497
+ efferent: z.ZodNumber;
1498
+ instability: z.ZodNumber;
1499
+ }, "strip", z.ZodTypeAny, {
1500
+ name: string;
1501
+ afferent: number;
1502
+ efferent: number;
1503
+ instability: number;
1504
+ }, {
1505
+ name: string;
1506
+ afferent: number;
1507
+ efferent: number;
1508
+ instability: number;
1509
+ }>, "many">;
1510
+ mostCoupled: z.ZodArray<z.ZodObject<{
1511
+ name: z.ZodString;
1512
+ afferent: z.ZodNumber;
1513
+ efferent: z.ZodNumber;
1514
+ instability: z.ZodNumber;
1515
+ }, "strip", z.ZodTypeAny, {
1516
+ name: string;
1517
+ afferent: number;
1518
+ efferent: number;
1519
+ instability: number;
1520
+ }, {
1521
+ name: string;
1522
+ afferent: number;
1523
+ efferent: number;
1524
+ instability: number;
1525
+ }>, "many">;
1526
+ }, "strip", z.ZodTypeAny, {
1527
+ packages: {
1528
+ name: string;
1529
+ afferent: number;
1530
+ efferent: number;
1531
+ instability: number;
1532
+ }[];
1533
+ avgInstability: number;
1534
+ mostUnstable: {
1535
+ name: string;
1536
+ afferent: number;
1537
+ efferent: number;
1538
+ instability: number;
1539
+ }[];
1540
+ mostCoupled: {
1541
+ name: string;
1542
+ afferent: number;
1543
+ efferent: number;
1544
+ instability: number;
1545
+ }[];
1546
+ }, {
1547
+ packages: {
1548
+ name: string;
1549
+ afferent: number;
1550
+ efferent: number;
1551
+ instability: number;
1552
+ }[];
1553
+ avgInstability: number;
1554
+ mostUnstable: {
1555
+ name: string;
1556
+ afferent: number;
1557
+ efferent: number;
1558
+ instability: number;
1559
+ }[];
1560
+ mostCoupled: {
1561
+ name: string;
1562
+ afferent: number;
1563
+ efferent: number;
1564
+ instability: number;
1565
+ }[];
1566
+ }>;
1567
+ type CouplingResponse = z.infer<typeof CouplingResponseSchema>;
1568
+ declare const KnipUnusedExportSchema: z.ZodObject<{
1569
+ file: z.ZodString;
1570
+ symbol: z.ZodString;
1571
+ }, "strip", z.ZodTypeAny, {
1572
+ symbol: string;
1573
+ file: string;
1574
+ }, {
1575
+ symbol: string;
1576
+ file: string;
1577
+ }>;
1578
+ declare const KnipUnusedDependencySchema: z.ZodObject<{
1579
+ package: z.ZodString;
1580
+ workspace: z.ZodString;
1581
+ }, "strip", z.ZodTypeAny, {
1582
+ package: string;
1583
+ workspace: string;
1584
+ }, {
1585
+ package: string;
1586
+ workspace: string;
1587
+ }>;
1588
+ declare const DeadCodeResponseSchema: z.ZodObject<{
1589
+ unusedFiles: z.ZodArray<z.ZodString, "many">;
1590
+ unusedExports: z.ZodArray<z.ZodObject<{
1591
+ file: z.ZodString;
1592
+ symbol: z.ZodString;
1593
+ }, "strip", z.ZodTypeAny, {
1594
+ symbol: string;
1595
+ file: string;
1596
+ }, {
1597
+ symbol: string;
1598
+ file: string;
1599
+ }>, "many">;
1600
+ unusedDependencies: z.ZodArray<z.ZodObject<{
1601
+ package: z.ZodString;
1602
+ workspace: z.ZodString;
1603
+ }, "strip", z.ZodTypeAny, {
1604
+ package: string;
1605
+ workspace: string;
1606
+ }, {
1607
+ package: string;
1608
+ workspace: string;
1609
+ }>, "many">;
1610
+ unlistedDependencies: z.ZodArray<z.ZodObject<{
1611
+ package: z.ZodString;
1612
+ workspace: z.ZodString;
1613
+ }, "strip", z.ZodTypeAny, {
1614
+ package: string;
1615
+ workspace: string;
1616
+ }, {
1617
+ package: string;
1618
+ workspace: string;
1619
+ }>, "many">;
1620
+ totalIssues: z.ZodNumber;
1621
+ }, "strip", z.ZodTypeAny, {
1622
+ totalIssues: number;
1623
+ unusedFiles: string[];
1624
+ unusedExports: {
1625
+ symbol: string;
1626
+ file: string;
1627
+ }[];
1628
+ unusedDependencies: {
1629
+ package: string;
1630
+ workspace: string;
1631
+ }[];
1632
+ unlistedDependencies: {
1633
+ package: string;
1634
+ workspace: string;
1635
+ }[];
1636
+ }, {
1637
+ totalIssues: number;
1638
+ unusedFiles: string[];
1639
+ unusedExports: {
1640
+ symbol: string;
1641
+ file: string;
1642
+ }[];
1643
+ unusedDependencies: {
1644
+ package: string;
1645
+ workspace: string;
1646
+ }[];
1647
+ unlistedDependencies: {
1648
+ package: string;
1649
+ workspace: string;
1650
+ }[];
1651
+ }>;
1652
+ type DeadCodeResponse = z.infer<typeof DeadCodeResponseSchema>;
1653
+ declare const QualitySnapshotSchema: z.ZodObject<{
1654
+ id: z.ZodString;
1655
+ timestamp: z.ZodString;
1656
+ git: z.ZodObject<{
1657
+ commit: z.ZodString;
1658
+ branch: z.ZodString;
1659
+ message: z.ZodString;
1660
+ }, "strip", z.ZodTypeAny, {
1661
+ message: string;
1662
+ commit: string;
1663
+ branch: string;
1664
+ }, {
1665
+ message: string;
1666
+ commit: string;
1667
+ branch: string;
1668
+ }>;
1669
+ score: z.ZodNumber;
1670
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1671
+ dimensions: z.ZodObject<{
1672
+ architecture: z.ZodObject<{
1673
+ score: z.ZodNumber;
1674
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1675
+ details: z.ZodArray<z.ZodString, "many">;
1676
+ }, "strip", z.ZodTypeAny, {
1677
+ grade: "A" | "B" | "C" | "D" | "F";
1678
+ score: number;
1679
+ details: string[];
1680
+ }, {
1681
+ grade: "A" | "B" | "C" | "D" | "F";
1682
+ score: number;
1683
+ details: string[];
1684
+ }>;
1685
+ typescript: z.ZodObject<{
1686
+ score: z.ZodNumber;
1687
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1688
+ details: z.ZodArray<z.ZodString, "many">;
1689
+ }, "strip", z.ZodTypeAny, {
1690
+ grade: "A" | "B" | "C" | "D" | "F";
1691
+ score: number;
1692
+ details: string[];
1693
+ }, {
1694
+ grade: "A" | "B" | "C" | "D" | "F";
1695
+ score: number;
1696
+ details: string[];
1697
+ }>;
1698
+ deadCode: z.ZodObject<{
1699
+ score: z.ZodNumber;
1700
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1701
+ details: z.ZodArray<z.ZodString, "many">;
1702
+ }, "strip", z.ZodTypeAny, {
1703
+ grade: "A" | "B" | "C" | "D" | "F";
1704
+ score: number;
1705
+ details: string[];
1706
+ }, {
1707
+ grade: "A" | "B" | "C" | "D" | "F";
1708
+ score: number;
1709
+ details: string[];
1710
+ }>;
1711
+ depHygiene: z.ZodObject<{
1712
+ score: z.ZodNumber;
1713
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1714
+ details: z.ZodArray<z.ZodString, "many">;
1715
+ }, "strip", z.ZodTypeAny, {
1716
+ grade: "A" | "B" | "C" | "D" | "F";
1717
+ score: number;
1718
+ details: string[];
1719
+ }, {
1720
+ grade: "A" | "B" | "C" | "D" | "F";
1721
+ score: number;
1722
+ details: string[];
1723
+ }>;
1724
+ testCoverage: z.ZodObject<{
1725
+ score: z.ZodNumber;
1726
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1727
+ details: z.ZodArray<z.ZodString, "many">;
1728
+ }, "strip", z.ZodTypeAny, {
1729
+ grade: "A" | "B" | "C" | "D" | "F";
1730
+ score: number;
1731
+ details: string[];
1732
+ }, {
1733
+ grade: "A" | "B" | "C" | "D" | "F";
1734
+ score: number;
1735
+ details: string[];
1736
+ }>;
1737
+ }, "strip", z.ZodTypeAny, {
1738
+ architecture: {
1739
+ grade: "A" | "B" | "C" | "D" | "F";
1740
+ score: number;
1741
+ details: string[];
1742
+ };
1743
+ typescript: {
1744
+ grade: "A" | "B" | "C" | "D" | "F";
1745
+ score: number;
1746
+ details: string[];
1747
+ };
1748
+ deadCode: {
1749
+ grade: "A" | "B" | "C" | "D" | "F";
1750
+ score: number;
1751
+ details: string[];
1752
+ };
1753
+ depHygiene: {
1754
+ grade: "A" | "B" | "C" | "D" | "F";
1755
+ score: number;
1756
+ details: string[];
1757
+ };
1758
+ testCoverage: {
1759
+ grade: "A" | "B" | "C" | "D" | "F";
1760
+ score: number;
1761
+ details: string[];
1762
+ };
1763
+ }, {
1764
+ architecture: {
1765
+ grade: "A" | "B" | "C" | "D" | "F";
1766
+ score: number;
1767
+ details: string[];
1768
+ };
1769
+ typescript: {
1770
+ grade: "A" | "B" | "C" | "D" | "F";
1771
+ score: number;
1772
+ details: string[];
1773
+ };
1774
+ deadCode: {
1775
+ grade: "A" | "B" | "C" | "D" | "F";
1776
+ score: number;
1777
+ details: string[];
1778
+ };
1779
+ depHygiene: {
1780
+ grade: "A" | "B" | "C" | "D" | "F";
1781
+ score: number;
1782
+ details: string[];
1783
+ };
1784
+ testCoverage: {
1785
+ grade: "A" | "B" | "C" | "D" | "F";
1786
+ score: number;
1787
+ details: string[];
1788
+ };
1789
+ }>;
1790
+ counters: z.ZodObject<{
1791
+ layeringViolations: z.ZodNumber;
1792
+ avgInstability: z.ZodNumber;
1793
+ anyCount: z.ZodNumber;
1794
+ tsIgnoreCount: z.ZodNumber;
1795
+ unusedFiles: z.ZodNumber;
1796
+ unusedDeps: z.ZodNumber;
1797
+ }, "strip", z.ZodTypeAny, {
1798
+ avgInstability: number;
1799
+ unusedFiles: number;
1800
+ layeringViolations: number;
1801
+ anyCount: number;
1802
+ tsIgnoreCount: number;
1803
+ unusedDeps: number;
1804
+ }, {
1805
+ avgInstability: number;
1806
+ unusedFiles: number;
1807
+ layeringViolations: number;
1808
+ anyCount: number;
1809
+ tsIgnoreCount: number;
1810
+ unusedDeps: number;
1811
+ }>;
1812
+ }, "strip", z.ZodTypeAny, {
1813
+ grade: "A" | "B" | "C" | "D" | "F";
1814
+ score: number;
1815
+ dimensions: {
1816
+ architecture: {
1817
+ grade: "A" | "B" | "C" | "D" | "F";
1818
+ score: number;
1819
+ details: string[];
1820
+ };
1821
+ typescript: {
1822
+ grade: "A" | "B" | "C" | "D" | "F";
1823
+ score: number;
1824
+ details: string[];
1825
+ };
1826
+ deadCode: {
1827
+ grade: "A" | "B" | "C" | "D" | "F";
1828
+ score: number;
1829
+ details: string[];
1830
+ };
1831
+ depHygiene: {
1832
+ grade: "A" | "B" | "C" | "D" | "F";
1833
+ score: number;
1834
+ details: string[];
1835
+ };
1836
+ testCoverage: {
1837
+ grade: "A" | "B" | "C" | "D" | "F";
1838
+ score: number;
1839
+ details: string[];
1840
+ };
1841
+ };
1842
+ id: string;
1843
+ timestamp: string;
1844
+ git: {
1845
+ message: string;
1846
+ commit: string;
1847
+ branch: string;
1848
+ };
1849
+ counters: {
1850
+ avgInstability: number;
1851
+ unusedFiles: number;
1852
+ layeringViolations: number;
1853
+ anyCount: number;
1854
+ tsIgnoreCount: number;
1855
+ unusedDeps: number;
1856
+ };
1857
+ }, {
1858
+ grade: "A" | "B" | "C" | "D" | "F";
1859
+ score: number;
1860
+ dimensions: {
1861
+ architecture: {
1862
+ grade: "A" | "B" | "C" | "D" | "F";
1863
+ score: number;
1864
+ details: string[];
1865
+ };
1866
+ typescript: {
1867
+ grade: "A" | "B" | "C" | "D" | "F";
1868
+ score: number;
1869
+ details: string[];
1870
+ };
1871
+ deadCode: {
1872
+ grade: "A" | "B" | "C" | "D" | "F";
1873
+ score: number;
1874
+ details: string[];
1875
+ };
1876
+ depHygiene: {
1877
+ grade: "A" | "B" | "C" | "D" | "F";
1878
+ score: number;
1879
+ details: string[];
1880
+ };
1881
+ testCoverage: {
1882
+ grade: "A" | "B" | "C" | "D" | "F";
1883
+ score: number;
1884
+ details: string[];
1885
+ };
1886
+ };
1887
+ id: string;
1888
+ timestamp: string;
1889
+ git: {
1890
+ message: string;
1891
+ commit: string;
1892
+ branch: string;
1893
+ };
1894
+ counters: {
1895
+ avgInstability: number;
1896
+ unusedFiles: number;
1897
+ layeringViolations: number;
1898
+ anyCount: number;
1899
+ tsIgnoreCount: number;
1900
+ unusedDeps: number;
1901
+ };
1902
+ }>;
1903
+ declare const SnapshotDeltaSchema: z.ZodObject<{
1904
+ score: z.ZodNumber;
1905
+ layeringViolations: z.ZodNumber;
1906
+ anyCount: z.ZodNumber;
1907
+ tsIgnoreCount: z.ZodNumber;
1908
+ unusedFiles: z.ZodNumber;
1909
+ unusedDeps: z.ZodNumber;
1910
+ avgInstability: z.ZodNumber;
1911
+ }, "strip", z.ZodTypeAny, {
1912
+ score: number;
1913
+ avgInstability: number;
1914
+ unusedFiles: number;
1915
+ layeringViolations: number;
1916
+ anyCount: number;
1917
+ tsIgnoreCount: number;
1918
+ unusedDeps: number;
1919
+ }, {
1920
+ score: number;
1921
+ avgInstability: number;
1922
+ unusedFiles: number;
1923
+ layeringViolations: number;
1924
+ anyCount: number;
1925
+ tsIgnoreCount: number;
1926
+ unusedDeps: number;
1927
+ }>;
1928
+ declare const HistoryResponseSchema: z.ZodObject<{
1929
+ snapshots: z.ZodArray<z.ZodObject<{
1930
+ id: z.ZodString;
1931
+ timestamp: z.ZodString;
1932
+ git: z.ZodObject<{
1933
+ commit: z.ZodString;
1934
+ branch: z.ZodString;
1935
+ message: z.ZodString;
1936
+ }, "strip", z.ZodTypeAny, {
1937
+ message: string;
1938
+ commit: string;
1939
+ branch: string;
1940
+ }, {
1941
+ message: string;
1942
+ commit: string;
1943
+ branch: string;
1944
+ }>;
1945
+ score: z.ZodNumber;
1946
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1947
+ dimensions: z.ZodObject<{
1948
+ architecture: z.ZodObject<{
1949
+ score: z.ZodNumber;
1950
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1951
+ details: z.ZodArray<z.ZodString, "many">;
1952
+ }, "strip", z.ZodTypeAny, {
1953
+ grade: "A" | "B" | "C" | "D" | "F";
1954
+ score: number;
1955
+ details: string[];
1956
+ }, {
1957
+ grade: "A" | "B" | "C" | "D" | "F";
1958
+ score: number;
1959
+ details: string[];
1960
+ }>;
1961
+ typescript: z.ZodObject<{
1962
+ score: z.ZodNumber;
1963
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1964
+ details: z.ZodArray<z.ZodString, "many">;
1965
+ }, "strip", z.ZodTypeAny, {
1966
+ grade: "A" | "B" | "C" | "D" | "F";
1967
+ score: number;
1968
+ details: string[];
1969
+ }, {
1970
+ grade: "A" | "B" | "C" | "D" | "F";
1971
+ score: number;
1972
+ details: string[];
1973
+ }>;
1974
+ deadCode: z.ZodObject<{
1975
+ score: z.ZodNumber;
1976
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1977
+ details: z.ZodArray<z.ZodString, "many">;
1978
+ }, "strip", z.ZodTypeAny, {
1979
+ grade: "A" | "B" | "C" | "D" | "F";
1980
+ score: number;
1981
+ details: string[];
1982
+ }, {
1983
+ grade: "A" | "B" | "C" | "D" | "F";
1984
+ score: number;
1985
+ details: string[];
1986
+ }>;
1987
+ depHygiene: z.ZodObject<{
1988
+ score: z.ZodNumber;
1989
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
1990
+ details: z.ZodArray<z.ZodString, "many">;
1991
+ }, "strip", z.ZodTypeAny, {
1992
+ grade: "A" | "B" | "C" | "D" | "F";
1993
+ score: number;
1994
+ details: string[];
1995
+ }, {
1996
+ grade: "A" | "B" | "C" | "D" | "F";
1997
+ score: number;
1998
+ details: string[];
1999
+ }>;
2000
+ testCoverage: z.ZodObject<{
2001
+ score: z.ZodNumber;
2002
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
2003
+ details: z.ZodArray<z.ZodString, "many">;
2004
+ }, "strip", z.ZodTypeAny, {
2005
+ grade: "A" | "B" | "C" | "D" | "F";
2006
+ score: number;
2007
+ details: string[];
2008
+ }, {
2009
+ grade: "A" | "B" | "C" | "D" | "F";
2010
+ score: number;
2011
+ details: string[];
2012
+ }>;
2013
+ }, "strip", z.ZodTypeAny, {
2014
+ architecture: {
2015
+ grade: "A" | "B" | "C" | "D" | "F";
2016
+ score: number;
2017
+ details: string[];
2018
+ };
2019
+ typescript: {
2020
+ grade: "A" | "B" | "C" | "D" | "F";
2021
+ score: number;
2022
+ details: string[];
2023
+ };
2024
+ deadCode: {
2025
+ grade: "A" | "B" | "C" | "D" | "F";
2026
+ score: number;
2027
+ details: string[];
2028
+ };
2029
+ depHygiene: {
2030
+ grade: "A" | "B" | "C" | "D" | "F";
2031
+ score: number;
2032
+ details: string[];
2033
+ };
2034
+ testCoverage: {
2035
+ grade: "A" | "B" | "C" | "D" | "F";
2036
+ score: number;
2037
+ details: string[];
2038
+ };
2039
+ }, {
2040
+ architecture: {
2041
+ grade: "A" | "B" | "C" | "D" | "F";
2042
+ score: number;
2043
+ details: string[];
2044
+ };
2045
+ typescript: {
2046
+ grade: "A" | "B" | "C" | "D" | "F";
2047
+ score: number;
2048
+ details: string[];
2049
+ };
2050
+ deadCode: {
2051
+ grade: "A" | "B" | "C" | "D" | "F";
2052
+ score: number;
2053
+ details: string[];
2054
+ };
2055
+ depHygiene: {
2056
+ grade: "A" | "B" | "C" | "D" | "F";
2057
+ score: number;
2058
+ details: string[];
2059
+ };
2060
+ testCoverage: {
2061
+ grade: "A" | "B" | "C" | "D" | "F";
2062
+ score: number;
2063
+ details: string[];
2064
+ };
2065
+ }>;
2066
+ counters: z.ZodObject<{
2067
+ layeringViolations: z.ZodNumber;
2068
+ avgInstability: z.ZodNumber;
2069
+ anyCount: z.ZodNumber;
2070
+ tsIgnoreCount: z.ZodNumber;
2071
+ unusedFiles: z.ZodNumber;
2072
+ unusedDeps: z.ZodNumber;
2073
+ }, "strip", z.ZodTypeAny, {
2074
+ avgInstability: number;
2075
+ unusedFiles: number;
2076
+ layeringViolations: number;
2077
+ anyCount: number;
2078
+ tsIgnoreCount: number;
2079
+ unusedDeps: number;
2080
+ }, {
2081
+ avgInstability: number;
2082
+ unusedFiles: number;
2083
+ layeringViolations: number;
2084
+ anyCount: number;
2085
+ tsIgnoreCount: number;
2086
+ unusedDeps: number;
2087
+ }>;
2088
+ }, "strip", z.ZodTypeAny, {
2089
+ grade: "A" | "B" | "C" | "D" | "F";
2090
+ score: number;
2091
+ dimensions: {
2092
+ architecture: {
2093
+ grade: "A" | "B" | "C" | "D" | "F";
2094
+ score: number;
2095
+ details: string[];
2096
+ };
2097
+ typescript: {
2098
+ grade: "A" | "B" | "C" | "D" | "F";
2099
+ score: number;
2100
+ details: string[];
2101
+ };
2102
+ deadCode: {
2103
+ grade: "A" | "B" | "C" | "D" | "F";
2104
+ score: number;
2105
+ details: string[];
2106
+ };
2107
+ depHygiene: {
2108
+ grade: "A" | "B" | "C" | "D" | "F";
2109
+ score: number;
2110
+ details: string[];
2111
+ };
2112
+ testCoverage: {
2113
+ grade: "A" | "B" | "C" | "D" | "F";
2114
+ score: number;
2115
+ details: string[];
2116
+ };
2117
+ };
2118
+ id: string;
2119
+ timestamp: string;
2120
+ git: {
2121
+ message: string;
2122
+ commit: string;
2123
+ branch: string;
2124
+ };
2125
+ counters: {
2126
+ avgInstability: number;
2127
+ unusedFiles: number;
2128
+ layeringViolations: number;
2129
+ anyCount: number;
2130
+ tsIgnoreCount: number;
2131
+ unusedDeps: number;
2132
+ };
2133
+ }, {
2134
+ grade: "A" | "B" | "C" | "D" | "F";
2135
+ score: number;
2136
+ dimensions: {
2137
+ architecture: {
2138
+ grade: "A" | "B" | "C" | "D" | "F";
2139
+ score: number;
2140
+ details: string[];
2141
+ };
2142
+ typescript: {
2143
+ grade: "A" | "B" | "C" | "D" | "F";
2144
+ score: number;
2145
+ details: string[];
2146
+ };
2147
+ deadCode: {
2148
+ grade: "A" | "B" | "C" | "D" | "F";
2149
+ score: number;
2150
+ details: string[];
2151
+ };
2152
+ depHygiene: {
2153
+ grade: "A" | "B" | "C" | "D" | "F";
2154
+ score: number;
2155
+ details: string[];
2156
+ };
2157
+ testCoverage: {
2158
+ grade: "A" | "B" | "C" | "D" | "F";
2159
+ score: number;
2160
+ details: string[];
2161
+ };
2162
+ };
2163
+ id: string;
2164
+ timestamp: string;
2165
+ git: {
2166
+ message: string;
2167
+ commit: string;
2168
+ branch: string;
2169
+ };
2170
+ counters: {
2171
+ avgInstability: number;
2172
+ unusedFiles: number;
2173
+ layeringViolations: number;
2174
+ anyCount: number;
2175
+ tsIgnoreCount: number;
2176
+ unusedDeps: number;
2177
+ };
2178
+ }>, "many">;
2179
+ delta: z.ZodNullable<z.ZodObject<{
2180
+ score: z.ZodNumber;
2181
+ layeringViolations: z.ZodNumber;
2182
+ anyCount: z.ZodNumber;
2183
+ tsIgnoreCount: z.ZodNumber;
2184
+ unusedFiles: z.ZodNumber;
2185
+ unusedDeps: z.ZodNumber;
2186
+ avgInstability: z.ZodNumber;
2187
+ }, "strip", z.ZodTypeAny, {
2188
+ score: number;
2189
+ avgInstability: number;
2190
+ unusedFiles: number;
2191
+ layeringViolations: number;
2192
+ anyCount: number;
2193
+ tsIgnoreCount: number;
2194
+ unusedDeps: number;
2195
+ }, {
2196
+ score: number;
2197
+ avgInstability: number;
2198
+ unusedFiles: number;
2199
+ layeringViolations: number;
2200
+ anyCount: number;
2201
+ tsIgnoreCount: number;
2202
+ unusedDeps: number;
2203
+ }>>;
2204
+ latest: z.ZodNullable<z.ZodObject<{
2205
+ id: z.ZodString;
2206
+ timestamp: z.ZodString;
2207
+ git: z.ZodObject<{
2208
+ commit: z.ZodString;
2209
+ branch: z.ZodString;
2210
+ message: z.ZodString;
2211
+ }, "strip", z.ZodTypeAny, {
2212
+ message: string;
2213
+ commit: string;
2214
+ branch: string;
2215
+ }, {
2216
+ message: string;
2217
+ commit: string;
2218
+ branch: string;
2219
+ }>;
2220
+ score: z.ZodNumber;
2221
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
2222
+ dimensions: z.ZodObject<{
2223
+ architecture: z.ZodObject<{
2224
+ score: z.ZodNumber;
2225
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
2226
+ details: z.ZodArray<z.ZodString, "many">;
2227
+ }, "strip", z.ZodTypeAny, {
2228
+ grade: "A" | "B" | "C" | "D" | "F";
2229
+ score: number;
2230
+ details: string[];
2231
+ }, {
2232
+ grade: "A" | "B" | "C" | "D" | "F";
2233
+ score: number;
2234
+ details: string[];
2235
+ }>;
2236
+ typescript: z.ZodObject<{
2237
+ score: z.ZodNumber;
2238
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
2239
+ details: z.ZodArray<z.ZodString, "many">;
2240
+ }, "strip", z.ZodTypeAny, {
2241
+ grade: "A" | "B" | "C" | "D" | "F";
2242
+ score: number;
2243
+ details: string[];
2244
+ }, {
2245
+ grade: "A" | "B" | "C" | "D" | "F";
2246
+ score: number;
2247
+ details: string[];
2248
+ }>;
2249
+ deadCode: z.ZodObject<{
2250
+ score: z.ZodNumber;
2251
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
2252
+ details: z.ZodArray<z.ZodString, "many">;
2253
+ }, "strip", z.ZodTypeAny, {
2254
+ grade: "A" | "B" | "C" | "D" | "F";
2255
+ score: number;
2256
+ details: string[];
2257
+ }, {
2258
+ grade: "A" | "B" | "C" | "D" | "F";
2259
+ score: number;
2260
+ details: string[];
2261
+ }>;
2262
+ depHygiene: z.ZodObject<{
2263
+ score: z.ZodNumber;
2264
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
2265
+ details: z.ZodArray<z.ZodString, "many">;
2266
+ }, "strip", z.ZodTypeAny, {
2267
+ grade: "A" | "B" | "C" | "D" | "F";
2268
+ score: number;
2269
+ details: string[];
2270
+ }, {
2271
+ grade: "A" | "B" | "C" | "D" | "F";
2272
+ score: number;
2273
+ details: string[];
2274
+ }>;
2275
+ testCoverage: z.ZodObject<{
2276
+ score: z.ZodNumber;
2277
+ grade: z.ZodEnum<["A", "B", "C", "D", "F"]>;
2278
+ details: z.ZodArray<z.ZodString, "many">;
2279
+ }, "strip", z.ZodTypeAny, {
2280
+ grade: "A" | "B" | "C" | "D" | "F";
2281
+ score: number;
2282
+ details: string[];
2283
+ }, {
2284
+ grade: "A" | "B" | "C" | "D" | "F";
2285
+ score: number;
2286
+ details: string[];
2287
+ }>;
2288
+ }, "strip", z.ZodTypeAny, {
2289
+ architecture: {
2290
+ grade: "A" | "B" | "C" | "D" | "F";
2291
+ score: number;
2292
+ details: string[];
2293
+ };
2294
+ typescript: {
2295
+ grade: "A" | "B" | "C" | "D" | "F";
2296
+ score: number;
2297
+ details: string[];
2298
+ };
2299
+ deadCode: {
2300
+ grade: "A" | "B" | "C" | "D" | "F";
2301
+ score: number;
2302
+ details: string[];
2303
+ };
2304
+ depHygiene: {
2305
+ grade: "A" | "B" | "C" | "D" | "F";
2306
+ score: number;
2307
+ details: string[];
2308
+ };
2309
+ testCoverage: {
2310
+ grade: "A" | "B" | "C" | "D" | "F";
2311
+ score: number;
2312
+ details: string[];
2313
+ };
2314
+ }, {
2315
+ architecture: {
2316
+ grade: "A" | "B" | "C" | "D" | "F";
2317
+ score: number;
2318
+ details: string[];
2319
+ };
2320
+ typescript: {
2321
+ grade: "A" | "B" | "C" | "D" | "F";
2322
+ score: number;
2323
+ details: string[];
2324
+ };
2325
+ deadCode: {
2326
+ grade: "A" | "B" | "C" | "D" | "F";
2327
+ score: number;
2328
+ details: string[];
2329
+ };
2330
+ depHygiene: {
2331
+ grade: "A" | "B" | "C" | "D" | "F";
2332
+ score: number;
2333
+ details: string[];
2334
+ };
2335
+ testCoverage: {
2336
+ grade: "A" | "B" | "C" | "D" | "F";
2337
+ score: number;
2338
+ details: string[];
2339
+ };
2340
+ }>;
2341
+ counters: z.ZodObject<{
2342
+ layeringViolations: z.ZodNumber;
2343
+ avgInstability: z.ZodNumber;
2344
+ anyCount: z.ZodNumber;
2345
+ tsIgnoreCount: z.ZodNumber;
2346
+ unusedFiles: z.ZodNumber;
2347
+ unusedDeps: z.ZodNumber;
2348
+ }, "strip", z.ZodTypeAny, {
2349
+ avgInstability: number;
2350
+ unusedFiles: number;
2351
+ layeringViolations: number;
2352
+ anyCount: number;
2353
+ tsIgnoreCount: number;
2354
+ unusedDeps: number;
2355
+ }, {
2356
+ avgInstability: number;
2357
+ unusedFiles: number;
2358
+ layeringViolations: number;
2359
+ anyCount: number;
2360
+ tsIgnoreCount: number;
2361
+ unusedDeps: number;
2362
+ }>;
2363
+ }, "strip", z.ZodTypeAny, {
2364
+ grade: "A" | "B" | "C" | "D" | "F";
2365
+ score: number;
2366
+ dimensions: {
2367
+ architecture: {
2368
+ grade: "A" | "B" | "C" | "D" | "F";
2369
+ score: number;
2370
+ details: string[];
2371
+ };
2372
+ typescript: {
2373
+ grade: "A" | "B" | "C" | "D" | "F";
2374
+ score: number;
2375
+ details: string[];
2376
+ };
2377
+ deadCode: {
2378
+ grade: "A" | "B" | "C" | "D" | "F";
2379
+ score: number;
2380
+ details: string[];
2381
+ };
2382
+ depHygiene: {
2383
+ grade: "A" | "B" | "C" | "D" | "F";
2384
+ score: number;
2385
+ details: string[];
2386
+ };
2387
+ testCoverage: {
2388
+ grade: "A" | "B" | "C" | "D" | "F";
2389
+ score: number;
2390
+ details: string[];
2391
+ };
2392
+ };
2393
+ id: string;
2394
+ timestamp: string;
2395
+ git: {
2396
+ message: string;
2397
+ commit: string;
2398
+ branch: string;
2399
+ };
2400
+ counters: {
2401
+ avgInstability: number;
2402
+ unusedFiles: number;
2403
+ layeringViolations: number;
2404
+ anyCount: number;
2405
+ tsIgnoreCount: number;
2406
+ unusedDeps: number;
2407
+ };
2408
+ }, {
2409
+ grade: "A" | "B" | "C" | "D" | "F";
2410
+ score: number;
2411
+ dimensions: {
2412
+ architecture: {
2413
+ grade: "A" | "B" | "C" | "D" | "F";
2414
+ score: number;
2415
+ details: string[];
2416
+ };
2417
+ typescript: {
2418
+ grade: "A" | "B" | "C" | "D" | "F";
2419
+ score: number;
2420
+ details: string[];
2421
+ };
2422
+ deadCode: {
2423
+ grade: "A" | "B" | "C" | "D" | "F";
2424
+ score: number;
2425
+ details: string[];
2426
+ };
2427
+ depHygiene: {
2428
+ grade: "A" | "B" | "C" | "D" | "F";
2429
+ score: number;
2430
+ details: string[];
2431
+ };
2432
+ testCoverage: {
2433
+ grade: "A" | "B" | "C" | "D" | "F";
2434
+ score: number;
2435
+ details: string[];
2436
+ };
2437
+ };
2438
+ id: string;
2439
+ timestamp: string;
2440
+ git: {
2441
+ message: string;
2442
+ commit: string;
2443
+ branch: string;
2444
+ };
2445
+ counters: {
2446
+ avgInstability: number;
2447
+ unusedFiles: number;
2448
+ layeringViolations: number;
2449
+ anyCount: number;
2450
+ tsIgnoreCount: number;
2451
+ unusedDeps: number;
2452
+ };
2453
+ }>>;
2454
+ }, "strip", z.ZodTypeAny, {
2455
+ snapshots: {
2456
+ grade: "A" | "B" | "C" | "D" | "F";
2457
+ score: number;
2458
+ dimensions: {
2459
+ architecture: {
2460
+ grade: "A" | "B" | "C" | "D" | "F";
2461
+ score: number;
2462
+ details: string[];
2463
+ };
2464
+ typescript: {
2465
+ grade: "A" | "B" | "C" | "D" | "F";
2466
+ score: number;
2467
+ details: string[];
2468
+ };
2469
+ deadCode: {
2470
+ grade: "A" | "B" | "C" | "D" | "F";
2471
+ score: number;
2472
+ details: string[];
2473
+ };
2474
+ depHygiene: {
2475
+ grade: "A" | "B" | "C" | "D" | "F";
2476
+ score: number;
2477
+ details: string[];
2478
+ };
2479
+ testCoverage: {
2480
+ grade: "A" | "B" | "C" | "D" | "F";
2481
+ score: number;
2482
+ details: string[];
2483
+ };
2484
+ };
2485
+ id: string;
2486
+ timestamp: string;
2487
+ git: {
2488
+ message: string;
2489
+ commit: string;
2490
+ branch: string;
2491
+ };
2492
+ counters: {
2493
+ avgInstability: number;
2494
+ unusedFiles: number;
2495
+ layeringViolations: number;
2496
+ anyCount: number;
2497
+ tsIgnoreCount: number;
2498
+ unusedDeps: number;
2499
+ };
2500
+ }[];
2501
+ delta: {
2502
+ score: number;
2503
+ avgInstability: number;
2504
+ unusedFiles: number;
2505
+ layeringViolations: number;
2506
+ anyCount: number;
2507
+ tsIgnoreCount: number;
2508
+ unusedDeps: number;
2509
+ } | null;
2510
+ latest: {
2511
+ grade: "A" | "B" | "C" | "D" | "F";
2512
+ score: number;
2513
+ dimensions: {
2514
+ architecture: {
2515
+ grade: "A" | "B" | "C" | "D" | "F";
2516
+ score: number;
2517
+ details: string[];
2518
+ };
2519
+ typescript: {
2520
+ grade: "A" | "B" | "C" | "D" | "F";
2521
+ score: number;
2522
+ details: string[];
2523
+ };
2524
+ deadCode: {
2525
+ grade: "A" | "B" | "C" | "D" | "F";
2526
+ score: number;
2527
+ details: string[];
2528
+ };
2529
+ depHygiene: {
2530
+ grade: "A" | "B" | "C" | "D" | "F";
2531
+ score: number;
2532
+ details: string[];
2533
+ };
2534
+ testCoverage: {
2535
+ grade: "A" | "B" | "C" | "D" | "F";
2536
+ score: number;
2537
+ details: string[];
2538
+ };
2539
+ };
2540
+ id: string;
2541
+ timestamp: string;
2542
+ git: {
2543
+ message: string;
2544
+ commit: string;
2545
+ branch: string;
2546
+ };
2547
+ counters: {
2548
+ avgInstability: number;
2549
+ unusedFiles: number;
2550
+ layeringViolations: number;
2551
+ anyCount: number;
2552
+ tsIgnoreCount: number;
2553
+ unusedDeps: number;
2554
+ };
2555
+ } | null;
2556
+ }, {
2557
+ snapshots: {
2558
+ grade: "A" | "B" | "C" | "D" | "F";
2559
+ score: number;
2560
+ dimensions: {
2561
+ architecture: {
2562
+ grade: "A" | "B" | "C" | "D" | "F";
2563
+ score: number;
2564
+ details: string[];
2565
+ };
2566
+ typescript: {
2567
+ grade: "A" | "B" | "C" | "D" | "F";
2568
+ score: number;
2569
+ details: string[];
2570
+ };
2571
+ deadCode: {
2572
+ grade: "A" | "B" | "C" | "D" | "F";
2573
+ score: number;
2574
+ details: string[];
2575
+ };
2576
+ depHygiene: {
2577
+ grade: "A" | "B" | "C" | "D" | "F";
2578
+ score: number;
2579
+ details: string[];
2580
+ };
2581
+ testCoverage: {
2582
+ grade: "A" | "B" | "C" | "D" | "F";
2583
+ score: number;
2584
+ details: string[];
2585
+ };
2586
+ };
2587
+ id: string;
2588
+ timestamp: string;
2589
+ git: {
2590
+ message: string;
2591
+ commit: string;
2592
+ branch: string;
2593
+ };
2594
+ counters: {
2595
+ avgInstability: number;
2596
+ unusedFiles: number;
2597
+ layeringViolations: number;
2598
+ anyCount: number;
2599
+ tsIgnoreCount: number;
2600
+ unusedDeps: number;
2601
+ };
2602
+ }[];
2603
+ delta: {
2604
+ score: number;
2605
+ avgInstability: number;
2606
+ unusedFiles: number;
2607
+ layeringViolations: number;
2608
+ anyCount: number;
2609
+ tsIgnoreCount: number;
2610
+ unusedDeps: number;
2611
+ } | null;
2612
+ latest: {
2613
+ grade: "A" | "B" | "C" | "D" | "F";
2614
+ score: number;
2615
+ dimensions: {
2616
+ architecture: {
2617
+ grade: "A" | "B" | "C" | "D" | "F";
2618
+ score: number;
2619
+ details: string[];
2620
+ };
2621
+ typescript: {
2622
+ grade: "A" | "B" | "C" | "D" | "F";
2623
+ score: number;
2624
+ details: string[];
2625
+ };
2626
+ deadCode: {
2627
+ grade: "A" | "B" | "C" | "D" | "F";
2628
+ score: number;
2629
+ details: string[];
2630
+ };
2631
+ depHygiene: {
2632
+ grade: "A" | "B" | "C" | "D" | "F";
2633
+ score: number;
2634
+ details: string[];
2635
+ };
2636
+ testCoverage: {
2637
+ grade: "A" | "B" | "C" | "D" | "F";
2638
+ score: number;
2639
+ details: string[];
2640
+ };
2641
+ };
2642
+ id: string;
2643
+ timestamp: string;
2644
+ git: {
2645
+ message: string;
2646
+ commit: string;
2647
+ branch: string;
2648
+ };
2649
+ counters: {
2650
+ avgInstability: number;
2651
+ unusedFiles: number;
2652
+ layeringViolations: number;
2653
+ anyCount: number;
2654
+ tsIgnoreCount: number;
2655
+ unusedDeps: number;
2656
+ };
2657
+ } | null;
2658
+ }>;
2659
+ type HistoryResponse = z.infer<typeof HistoryResponseSchema>;
966
2660
 
967
- export { type AliveReason, type BuildCheckResult, type BuildOrderRequest, BuildOrderRequestSchema, type BuildOrderResponse, BuildOrderResponseSchema, CACHE_KEYS, type CyclesRequest, CyclesRequestSchema, type CyclesResponse, CyclesResponseSchema, DEFAULT_TIMEOUTS, type DeadCodeBackupManifest, type DeadCodeOptions, type DeadCodeRemovalResult, type DeadCodeResult, type DeadFile, type DependenciesRequest, DependenciesRequestSchema, type DependenciesResponse, DependenciesResponseSchema, type DependencyStats, type DuplicateDependency, DuplicateDependencySchema, type GraphMode, GraphModeSchema, type GraphNode, GraphNodeSchema, type GraphRequest, GraphRequestSchema, type GraphResponse, GraphResponseSchema, type GraphStats, GraphStatsSchema, HEALTH_GRADES, type HealthIssue, HealthIssueSchema, type HealthRequest, HealthRequestSchema, type HealthResponse, HealthResponseSchema, type HealthScore, type Issue, type IssueSeverity, type MissingDependency, MissingDependencySchema, type PackageDeadCodeResult, type PackageInfo, type PackageStats, QUALITY_BASE_PATH, QUALITY_CACHE_PREFIX, QUALITY_ENV_VARS, QUALITY_FULL_ROUTES, QUALITY_ROUTES, type QualityRoute, type Recommendation, type RepositoryInfo, type RepositoryStats, type StaleChain, StaleChainSchema, type StalePackage, StalePackageSchema, type StaleRequest, StaleRequestSchema, type StaleResponse, StaleResponseSchema, type StatsRequest, StatsRequestSchema, type StatsResponse, StatsResponseSchema, type StatsResult, type TestRunResult, type TypeAnalysisResult, type UnusedDependency, UnusedDependencySchema, type VersionInfo, VersionInfoSchema };
2661
+ export { type AliveReason, type BuildCheckResult, type BuildOrderRequest, BuildOrderRequestSchema, type BuildOrderResponse, BuildOrderResponseSchema, CACHE_KEYS, CACHE_TTLS, type CouplingReport, type CouplingResponse, CouplingResponseSchema, type CyclesRequest, CyclesRequestSchema, type CyclesResponse, CyclesResponseSchema, DEFAULT_TIMEOUTS, DIMENSION_WEIGHTS, type DeadCodeBackupManifest, type DeadCodeOptions, type DeadCodeRemovalResult, type DeadCodeResponse, DeadCodeResponseSchema, type DeadCodeResult, type DeadFile, type DependenciesRequest, DependenciesRequestSchema, type DependenciesResponse, DependenciesResponseSchema, type DependencyStats, type DimensionScore, DimensionScoreSchema, type DimensionScores, DimensionScoresSchema, type DuplicateDependency, DuplicateDependencySchema, type GraphMode, GraphModeSchema, type GraphNode, GraphNodeSchema, type GraphRequest, GraphRequestSchema, type GraphResponse, GraphResponseSchema, type GraphStats, GraphStatsSchema, HEALTH_GRADES, type HealthIssue, HealthIssueSchema, type HealthRequest, HealthRequestSchema, type HealthResponse, HealthResponseSchema, type HealthScore, type HealthV2Response, HealthV2ResponseSchema, type HistoryResponse, HistoryResponseSchema, type Issue, type IssueSeverity, type KnipReport, type KnipUnusedDependency, KnipUnusedDependencySchema, type KnipUnusedExport, KnipUnusedExportSchema, type LayeringReport, type LayeringResponse, LayeringResponseSchema, type LayeringViolation, LayeringViolationSchema, MAX_SNAPSHOTS_DEFAULT, type MissingDependency, MissingDependencySchema, type PackageCoupling, PackageCouplingSchema, type PackageDeadCodeResult, type PackageInfo, type PackageStats, QUALITY_BASE_PATH, QUALITY_CACHE_PREFIX, QUALITY_ENV_VARS, QUALITY_FULL_ROUTES, QUALITY_ROUTES, type QualityKnipConfig, type QualityLayerMap, type QualityPluginConfig, type QualityRoute, type QualitySnapshot, QualitySnapshotSchema, type QualityThresholds, type Recommendation, type RepositoryInfo, type RepositoryStats, SNAPSHOT_DIR, SNAPSHOT_FILE, type SnapshotDelta, SnapshotDeltaSchema, type SnapshotHistory, type StaleChain, StaleChainSchema, type StalePackage, StalePackageSchema, type StaleRequest, StaleRequestSchema, type StaleResponse, StaleResponseSchema, type StatsRequest, StatsRequestSchema, type StatsResponse, StatsResponseSchema, type StatsResult, type TestRunResult, type TypeAnalysisResult, type UnusedDependency, UnusedDependencySchema, type VersionInfo, VersionInfoSchema, defaultQualityConfig };