@kb-labs/quality-contracts 0.6.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/LICENSE +4 -0
- package/README.md +90 -0
- package/dist/contract.d.ts +99 -0
- package/dist/contract.js +100 -0
- package/dist/contract.js.map +1 -0
- package/dist/index.d.ts +967 -0
- package/dist/index.js +210 -0
- package/dist/index.js.map +1 -0
- package/package.json +56 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,967 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Common types shared across Quality Plugin
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Package information
|
|
8
|
+
*/
|
|
9
|
+
interface PackageInfo {
|
|
10
|
+
name: string;
|
|
11
|
+
version: string;
|
|
12
|
+
path: string;
|
|
13
|
+
repository?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Repository information
|
|
17
|
+
*/
|
|
18
|
+
interface RepositoryInfo {
|
|
19
|
+
name: string;
|
|
20
|
+
path: string;
|
|
21
|
+
packages: PackageInfo[];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Issue severity levels
|
|
25
|
+
*/
|
|
26
|
+
type IssueSeverity = 'critical' | 'warning' | 'info';
|
|
27
|
+
/**
|
|
28
|
+
* Generic issue type
|
|
29
|
+
*/
|
|
30
|
+
interface Issue {
|
|
31
|
+
type: string;
|
|
32
|
+
severity: IssueSeverity;
|
|
33
|
+
message: string;
|
|
34
|
+
package?: string;
|
|
35
|
+
file?: string;
|
|
36
|
+
line?: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Recommendation for fixing issues
|
|
40
|
+
*/
|
|
41
|
+
interface Recommendation {
|
|
42
|
+
title: string;
|
|
43
|
+
description: string;
|
|
44
|
+
command?: string;
|
|
45
|
+
priority: 'high' | 'medium' | 'low';
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Build check result
|
|
49
|
+
*/
|
|
50
|
+
interface BuildCheckResult {
|
|
51
|
+
totalPackages: number;
|
|
52
|
+
passing: number;
|
|
53
|
+
failing: number;
|
|
54
|
+
failures: Array<{
|
|
55
|
+
package: string;
|
|
56
|
+
error: string;
|
|
57
|
+
exitCode: number;
|
|
58
|
+
}>;
|
|
59
|
+
staleBuilds: Array<{
|
|
60
|
+
package: string;
|
|
61
|
+
distMtime: number;
|
|
62
|
+
srcMtime: number;
|
|
63
|
+
}>;
|
|
64
|
+
duration: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Type analysis result
|
|
68
|
+
*/
|
|
69
|
+
interface TypeAnalysisResult {
|
|
70
|
+
totalPackages: number;
|
|
71
|
+
packagesWithErrors: number;
|
|
72
|
+
totalErrors: number;
|
|
73
|
+
totalWarnings: number;
|
|
74
|
+
avgCoverage: number;
|
|
75
|
+
packages: Array<{
|
|
76
|
+
name: string;
|
|
77
|
+
errors: number;
|
|
78
|
+
warnings: number;
|
|
79
|
+
coverage: number;
|
|
80
|
+
anyCount: number;
|
|
81
|
+
tsIgnoreCount: number;
|
|
82
|
+
}>;
|
|
83
|
+
duration: number;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Test run result
|
|
87
|
+
*/
|
|
88
|
+
interface TestRunResult {
|
|
89
|
+
totalPackages: number;
|
|
90
|
+
passing: number;
|
|
91
|
+
failing: number;
|
|
92
|
+
skipped: number;
|
|
93
|
+
failures: Array<{
|
|
94
|
+
package: string;
|
|
95
|
+
error: string;
|
|
96
|
+
exitCode: number;
|
|
97
|
+
failedTests?: number;
|
|
98
|
+
totalTests?: number;
|
|
99
|
+
}>;
|
|
100
|
+
summary: {
|
|
101
|
+
totalTests: number;
|
|
102
|
+
passedTests: number;
|
|
103
|
+
failedTests: number;
|
|
104
|
+
};
|
|
105
|
+
coverage: {
|
|
106
|
+
avgCoverage: number;
|
|
107
|
+
packages: Array<{
|
|
108
|
+
name: string;
|
|
109
|
+
lines: number;
|
|
110
|
+
statements: number;
|
|
111
|
+
functions: number;
|
|
112
|
+
branches: number;
|
|
113
|
+
}>;
|
|
114
|
+
};
|
|
115
|
+
duration: number;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Types for quality:stats command
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Health score for a package or repository
|
|
124
|
+
*/
|
|
125
|
+
interface HealthScore {
|
|
126
|
+
score: number;
|
|
127
|
+
grade: 'A' | 'B' | 'C' | 'D' | 'F';
|
|
128
|
+
issues: Issue[];
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Package statistics
|
|
132
|
+
*/
|
|
133
|
+
interface PackageStats {
|
|
134
|
+
name: string;
|
|
135
|
+
path?: string;
|
|
136
|
+
repository: string;
|
|
137
|
+
files: number;
|
|
138
|
+
lines: number;
|
|
139
|
+
bytes: number;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Repository statistics
|
|
143
|
+
*/
|
|
144
|
+
interface RepositoryStats {
|
|
145
|
+
name: string;
|
|
146
|
+
packages: number;
|
|
147
|
+
files: number;
|
|
148
|
+
lines: number;
|
|
149
|
+
bytes: number;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Dependency statistics
|
|
153
|
+
*/
|
|
154
|
+
interface DependencyStats {
|
|
155
|
+
total: number;
|
|
156
|
+
workspace: number;
|
|
157
|
+
external: number;
|
|
158
|
+
duplicates: number;
|
|
159
|
+
topUsed: Array<{
|
|
160
|
+
name: string;
|
|
161
|
+
count: number;
|
|
162
|
+
}>;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Statistics result from quality:stats
|
|
166
|
+
*/
|
|
167
|
+
interface StatsResult {
|
|
168
|
+
overview: {
|
|
169
|
+
totalPackages: number;
|
|
170
|
+
totalRepositories: number;
|
|
171
|
+
totalFiles: number;
|
|
172
|
+
totalLines: number;
|
|
173
|
+
totalBytes: number;
|
|
174
|
+
};
|
|
175
|
+
byRepository: Record<string, RepositoryStats>;
|
|
176
|
+
dependencies: DependencyStats;
|
|
177
|
+
health: HealthScore;
|
|
178
|
+
largestPackages: PackageStats[];
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* Constants for Quality Plugin
|
|
183
|
+
*/
|
|
184
|
+
/**
|
|
185
|
+
* Environment variables
|
|
186
|
+
*/
|
|
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
|
+
};
|
|
251
|
+
|
|
252
|
+
/**
|
|
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
|
|
288
|
+
*/
|
|
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];
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Types for dead code file detection
|
|
305
|
+
*
|
|
306
|
+
* Reachability-based analysis: files not reachable from any entry point are dead.
|
|
307
|
+
*/
|
|
308
|
+
/** Why a file is considered alive */
|
|
309
|
+
type AliveReason = 'package-json-entry' | 'tsup-entry' | 'manifest-handler' | 'import-reachable' | 'test-file' | 'config-file' | 'dynamic-import-target';
|
|
310
|
+
/** A file classified as dead (unreachable from any entry point) */
|
|
311
|
+
interface DeadFile {
|
|
312
|
+
/** Absolute file path */
|
|
313
|
+
absolutePath: string;
|
|
314
|
+
/** Path relative to package root */
|
|
315
|
+
relativePath: string;
|
|
316
|
+
/** Package name (e.g., @kb-labs/quality-core) */
|
|
317
|
+
packageName: string;
|
|
318
|
+
/** Package directory */
|
|
319
|
+
packageDir: string;
|
|
320
|
+
/** File size in bytes */
|
|
321
|
+
sizeBytes: number;
|
|
322
|
+
}
|
|
323
|
+
/** Result for a single package */
|
|
324
|
+
interface PackageDeadCodeResult {
|
|
325
|
+
packageName: string;
|
|
326
|
+
packageDir: string;
|
|
327
|
+
totalFiles: number;
|
|
328
|
+
aliveFiles: number;
|
|
329
|
+
deadFiles: DeadFile[];
|
|
330
|
+
/** Entry points found (shown in --verbose mode) */
|
|
331
|
+
entryPoints: string[];
|
|
332
|
+
/** Number of edges in the import graph */
|
|
333
|
+
graphEdgeCount: number;
|
|
334
|
+
/** Warnings encountered during analysis */
|
|
335
|
+
warnings: string[];
|
|
336
|
+
}
|
|
337
|
+
/** Full scan result */
|
|
338
|
+
interface DeadCodeResult {
|
|
339
|
+
packages: PackageDeadCodeResult[];
|
|
340
|
+
summary: {
|
|
341
|
+
totalPackages: number;
|
|
342
|
+
totalFiles: number;
|
|
343
|
+
totalAlive: number;
|
|
344
|
+
totalDead: number;
|
|
345
|
+
totalDeadBytes: number;
|
|
346
|
+
emptyDirectories: string[];
|
|
347
|
+
};
|
|
348
|
+
duration: number;
|
|
349
|
+
}
|
|
350
|
+
/** Options for scanning */
|
|
351
|
+
interface DeadCodeOptions {
|
|
352
|
+
/** Filter to specific package name or directory substring */
|
|
353
|
+
packageFilter?: string;
|
|
354
|
+
/** If true, include detailed alive reasons in output */
|
|
355
|
+
verbose?: boolean;
|
|
356
|
+
}
|
|
357
|
+
/** Backup manifest structure */
|
|
358
|
+
interface DeadCodeBackupManifest {
|
|
359
|
+
id: string;
|
|
360
|
+
createdAt: string;
|
|
361
|
+
gitSha: string;
|
|
362
|
+
gitBranch: string;
|
|
363
|
+
removedFiles: Array<{
|
|
364
|
+
originalPath: string;
|
|
365
|
+
backupPath: string;
|
|
366
|
+
packageName: string;
|
|
367
|
+
sizeBytes: number;
|
|
368
|
+
}>;
|
|
369
|
+
removedEmptyDirs: string[];
|
|
370
|
+
cleanedExports: Array<{
|
|
371
|
+
packageJsonPath: string;
|
|
372
|
+
removedExportKeys: string[];
|
|
373
|
+
}>;
|
|
374
|
+
totalFilesRemoved: number;
|
|
375
|
+
totalBytesRemoved: number;
|
|
376
|
+
}
|
|
377
|
+
/** Auto-removal result */
|
|
378
|
+
interface DeadCodeRemovalResult {
|
|
379
|
+
backupId: string;
|
|
380
|
+
backupPath: string;
|
|
381
|
+
filesRemoved: number;
|
|
382
|
+
bytesRemoved: number;
|
|
383
|
+
emptyDirsRemoved: number;
|
|
384
|
+
exportsCleanedUp: number;
|
|
385
|
+
manifest: DeadCodeBackupManifest;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* REST API Request/Response Types and Zod Schemas for Quality Plugin
|
|
390
|
+
*/
|
|
391
|
+
|
|
392
|
+
declare const StatsRequestSchema: z.ZodObject<{
|
|
393
|
+
includeHealth: z.ZodOptional<z.ZodBoolean>;
|
|
394
|
+
}, "strip", z.ZodTypeAny, {
|
|
395
|
+
includeHealth?: boolean | undefined;
|
|
396
|
+
}, {
|
|
397
|
+
includeHealth?: boolean | undefined;
|
|
398
|
+
}>;
|
|
399
|
+
type StatsRequest = z.infer<typeof StatsRequestSchema>;
|
|
400
|
+
declare const StatsResponseSchema: z.ZodObject<{
|
|
401
|
+
packages: z.ZodNumber;
|
|
402
|
+
loc: z.ZodNumber;
|
|
403
|
+
size: z.ZodString;
|
|
404
|
+
health: z.ZodOptional<z.ZodNumber>;
|
|
405
|
+
grade: z.ZodOptional<z.ZodString>;
|
|
406
|
+
}, "strip", z.ZodTypeAny, {
|
|
407
|
+
packages: number;
|
|
408
|
+
loc: number;
|
|
409
|
+
size: string;
|
|
410
|
+
health?: number | undefined;
|
|
411
|
+
grade?: string | undefined;
|
|
412
|
+
}, {
|
|
413
|
+
packages: number;
|
|
414
|
+
loc: number;
|
|
415
|
+
size: string;
|
|
416
|
+
health?: number | undefined;
|
|
417
|
+
grade?: string | undefined;
|
|
418
|
+
}>;
|
|
419
|
+
type StatsResponse = z.infer<typeof StatsResponseSchema>;
|
|
420
|
+
declare const HealthRequestSchema: z.ZodObject<{
|
|
421
|
+
detailed: z.ZodOptional<z.ZodBoolean>;
|
|
422
|
+
}, "strip", z.ZodTypeAny, {
|
|
423
|
+
detailed?: boolean | undefined;
|
|
424
|
+
}, {
|
|
425
|
+
detailed?: boolean | undefined;
|
|
426
|
+
}>;
|
|
427
|
+
type HealthRequest = z.infer<typeof HealthRequestSchema>;
|
|
428
|
+
declare const HealthIssueSchema: z.ZodObject<{
|
|
429
|
+
type: z.ZodString;
|
|
430
|
+
severity: z.ZodNumber;
|
|
431
|
+
description: z.ZodString;
|
|
432
|
+
packages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
433
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
434
|
+
}, "strip", z.ZodTypeAny, {
|
|
435
|
+
type: string;
|
|
436
|
+
severity: number;
|
|
437
|
+
description: string;
|
|
438
|
+
packages?: string[] | undefined;
|
|
439
|
+
count?: number | undefined;
|
|
440
|
+
}, {
|
|
441
|
+
type: string;
|
|
442
|
+
severity: number;
|
|
443
|
+
description: string;
|
|
444
|
+
packages?: string[] | undefined;
|
|
445
|
+
count?: number | undefined;
|
|
446
|
+
}>;
|
|
447
|
+
type HealthIssue = z.infer<typeof HealthIssueSchema>;
|
|
448
|
+
declare const HealthResponseSchema: z.ZodObject<{
|
|
449
|
+
score: z.ZodNumber;
|
|
450
|
+
grade: z.ZodString;
|
|
451
|
+
issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
452
|
+
type: z.ZodString;
|
|
453
|
+
severity: z.ZodNumber;
|
|
454
|
+
description: z.ZodString;
|
|
455
|
+
packages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
456
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
457
|
+
}, "strip", z.ZodTypeAny, {
|
|
458
|
+
type: string;
|
|
459
|
+
severity: number;
|
|
460
|
+
description: string;
|
|
461
|
+
packages?: string[] | undefined;
|
|
462
|
+
count?: number | undefined;
|
|
463
|
+
}, {
|
|
464
|
+
type: string;
|
|
465
|
+
severity: number;
|
|
466
|
+
description: string;
|
|
467
|
+
packages?: string[] | undefined;
|
|
468
|
+
count?: number | undefined;
|
|
469
|
+
}>, "many">>;
|
|
470
|
+
}, "strip", z.ZodTypeAny, {
|
|
471
|
+
grade: string;
|
|
472
|
+
score: number;
|
|
473
|
+
issues?: {
|
|
474
|
+
type: string;
|
|
475
|
+
severity: number;
|
|
476
|
+
description: string;
|
|
477
|
+
packages?: string[] | undefined;
|
|
478
|
+
count?: number | undefined;
|
|
479
|
+
}[] | undefined;
|
|
480
|
+
}, {
|
|
481
|
+
grade: string;
|
|
482
|
+
score: number;
|
|
483
|
+
issues?: {
|
|
484
|
+
type: string;
|
|
485
|
+
severity: number;
|
|
486
|
+
description: string;
|
|
487
|
+
packages?: string[] | undefined;
|
|
488
|
+
count?: number | undefined;
|
|
489
|
+
}[] | undefined;
|
|
490
|
+
}>;
|
|
491
|
+
type HealthResponse = z.infer<typeof HealthResponseSchema>;
|
|
492
|
+
declare const DependenciesRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
493
|
+
type DependenciesRequest = z.infer<typeof DependenciesRequestSchema>;
|
|
494
|
+
declare const VersionInfoSchema: z.ZodObject<{
|
|
495
|
+
version: z.ZodString;
|
|
496
|
+
packages: z.ZodArray<z.ZodString, "many">;
|
|
497
|
+
count: z.ZodNumber;
|
|
498
|
+
}, "strip", z.ZodTypeAny, {
|
|
499
|
+
packages: string[];
|
|
500
|
+
count: number;
|
|
501
|
+
version: string;
|
|
502
|
+
}, {
|
|
503
|
+
packages: string[];
|
|
504
|
+
count: number;
|
|
505
|
+
version: string;
|
|
506
|
+
}>;
|
|
507
|
+
type VersionInfo = z.infer<typeof VersionInfoSchema>;
|
|
508
|
+
declare const DuplicateDependencySchema: z.ZodObject<{
|
|
509
|
+
name: z.ZodString;
|
|
510
|
+
versions: z.ZodArray<z.ZodObject<{
|
|
511
|
+
version: z.ZodString;
|
|
512
|
+
packages: z.ZodArray<z.ZodString, "many">;
|
|
513
|
+
count: z.ZodNumber;
|
|
514
|
+
}, "strip", z.ZodTypeAny, {
|
|
515
|
+
packages: string[];
|
|
516
|
+
count: number;
|
|
517
|
+
version: string;
|
|
518
|
+
}, {
|
|
519
|
+
packages: string[];
|
|
520
|
+
count: number;
|
|
521
|
+
version: string;
|
|
522
|
+
}>, "many">;
|
|
523
|
+
totalPackages: z.ZodNumber;
|
|
524
|
+
}, "strip", z.ZodTypeAny, {
|
|
525
|
+
name: string;
|
|
526
|
+
versions: {
|
|
527
|
+
packages: string[];
|
|
528
|
+
count: number;
|
|
529
|
+
version: string;
|
|
530
|
+
}[];
|
|
531
|
+
totalPackages: number;
|
|
532
|
+
}, {
|
|
533
|
+
name: string;
|
|
534
|
+
versions: {
|
|
535
|
+
packages: string[];
|
|
536
|
+
count: number;
|
|
537
|
+
version: string;
|
|
538
|
+
}[];
|
|
539
|
+
totalPackages: number;
|
|
540
|
+
}>;
|
|
541
|
+
type DuplicateDependency = z.infer<typeof DuplicateDependencySchema>;
|
|
542
|
+
declare const UnusedDependencySchema: z.ZodObject<{
|
|
543
|
+
name: z.ZodString;
|
|
544
|
+
packages: z.ZodArray<z.ZodString, "many">;
|
|
545
|
+
}, "strip", z.ZodTypeAny, {
|
|
546
|
+
packages: string[];
|
|
547
|
+
name: string;
|
|
548
|
+
}, {
|
|
549
|
+
packages: string[];
|
|
550
|
+
name: string;
|
|
551
|
+
}>;
|
|
552
|
+
type UnusedDependency = z.infer<typeof UnusedDependencySchema>;
|
|
553
|
+
declare const MissingDependencySchema: z.ZodObject<{
|
|
554
|
+
name: z.ZodString;
|
|
555
|
+
packages: z.ZodArray<z.ZodString, "many">;
|
|
556
|
+
importedIn: z.ZodArray<z.ZodString, "many">;
|
|
557
|
+
}, "strip", z.ZodTypeAny, {
|
|
558
|
+
packages: string[];
|
|
559
|
+
name: string;
|
|
560
|
+
importedIn: string[];
|
|
561
|
+
}, {
|
|
562
|
+
packages: string[];
|
|
563
|
+
name: string;
|
|
564
|
+
importedIn: string[];
|
|
565
|
+
}>;
|
|
566
|
+
type MissingDependency = z.infer<typeof MissingDependencySchema>;
|
|
567
|
+
declare const DependenciesResponseSchema: z.ZodObject<{
|
|
568
|
+
duplicates: z.ZodArray<z.ZodObject<{
|
|
569
|
+
name: z.ZodString;
|
|
570
|
+
versions: z.ZodArray<z.ZodObject<{
|
|
571
|
+
version: z.ZodString;
|
|
572
|
+
packages: z.ZodArray<z.ZodString, "many">;
|
|
573
|
+
count: z.ZodNumber;
|
|
574
|
+
}, "strip", z.ZodTypeAny, {
|
|
575
|
+
packages: string[];
|
|
576
|
+
count: number;
|
|
577
|
+
version: string;
|
|
578
|
+
}, {
|
|
579
|
+
packages: string[];
|
|
580
|
+
count: number;
|
|
581
|
+
version: string;
|
|
582
|
+
}>, "many">;
|
|
583
|
+
totalPackages: z.ZodNumber;
|
|
584
|
+
}, "strip", z.ZodTypeAny, {
|
|
585
|
+
name: string;
|
|
586
|
+
versions: {
|
|
587
|
+
packages: string[];
|
|
588
|
+
count: number;
|
|
589
|
+
version: string;
|
|
590
|
+
}[];
|
|
591
|
+
totalPackages: number;
|
|
592
|
+
}, {
|
|
593
|
+
name: string;
|
|
594
|
+
versions: {
|
|
595
|
+
packages: string[];
|
|
596
|
+
count: number;
|
|
597
|
+
version: string;
|
|
598
|
+
}[];
|
|
599
|
+
totalPackages: number;
|
|
600
|
+
}>, "many">;
|
|
601
|
+
unused: z.ZodArray<z.ZodObject<{
|
|
602
|
+
name: z.ZodString;
|
|
603
|
+
packages: z.ZodArray<z.ZodString, "many">;
|
|
604
|
+
}, "strip", z.ZodTypeAny, {
|
|
605
|
+
packages: string[];
|
|
606
|
+
name: string;
|
|
607
|
+
}, {
|
|
608
|
+
packages: string[];
|
|
609
|
+
name: string;
|
|
610
|
+
}>, "many">;
|
|
611
|
+
missing: z.ZodArray<z.ZodObject<{
|
|
612
|
+
name: z.ZodString;
|
|
613
|
+
packages: z.ZodArray<z.ZodString, "many">;
|
|
614
|
+
importedIn: z.ZodArray<z.ZodString, "many">;
|
|
615
|
+
}, "strip", z.ZodTypeAny, {
|
|
616
|
+
packages: string[];
|
|
617
|
+
name: string;
|
|
618
|
+
importedIn: string[];
|
|
619
|
+
}, {
|
|
620
|
+
packages: string[];
|
|
621
|
+
name: string;
|
|
622
|
+
importedIn: string[];
|
|
623
|
+
}>, "many">;
|
|
624
|
+
totalIssues: z.ZodNumber;
|
|
625
|
+
}, "strip", z.ZodTypeAny, {
|
|
626
|
+
duplicates: {
|
|
627
|
+
name: string;
|
|
628
|
+
versions: {
|
|
629
|
+
packages: string[];
|
|
630
|
+
count: number;
|
|
631
|
+
version: string;
|
|
632
|
+
}[];
|
|
633
|
+
totalPackages: number;
|
|
634
|
+
}[];
|
|
635
|
+
unused: {
|
|
636
|
+
packages: string[];
|
|
637
|
+
name: string;
|
|
638
|
+
}[];
|
|
639
|
+
missing: {
|
|
640
|
+
packages: string[];
|
|
641
|
+
name: string;
|
|
642
|
+
importedIn: string[];
|
|
643
|
+
}[];
|
|
644
|
+
totalIssues: number;
|
|
645
|
+
}, {
|
|
646
|
+
duplicates: {
|
|
647
|
+
name: string;
|
|
648
|
+
versions: {
|
|
649
|
+
packages: string[];
|
|
650
|
+
count: number;
|
|
651
|
+
version: string;
|
|
652
|
+
}[];
|
|
653
|
+
totalPackages: number;
|
|
654
|
+
}[];
|
|
655
|
+
unused: {
|
|
656
|
+
packages: string[];
|
|
657
|
+
name: string;
|
|
658
|
+
}[];
|
|
659
|
+
missing: {
|
|
660
|
+
packages: string[];
|
|
661
|
+
name: string;
|
|
662
|
+
importedIn: string[];
|
|
663
|
+
}[];
|
|
664
|
+
totalIssues: number;
|
|
665
|
+
}>;
|
|
666
|
+
type DependenciesResponse = z.infer<typeof DependenciesResponseSchema>;
|
|
667
|
+
declare const BuildOrderRequestSchema: z.ZodObject<{
|
|
668
|
+
packageName: z.ZodOptional<z.ZodString>;
|
|
669
|
+
}, "strip", z.ZodTypeAny, {
|
|
670
|
+
packageName?: string | undefined;
|
|
671
|
+
}, {
|
|
672
|
+
packageName?: string | undefined;
|
|
673
|
+
}>;
|
|
674
|
+
type BuildOrderRequest = z.infer<typeof BuildOrderRequestSchema>;
|
|
675
|
+
declare const BuildOrderResponseSchema: z.ZodObject<{
|
|
676
|
+
layers: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
|
|
677
|
+
sorted: z.ZodArray<z.ZodString, "many">;
|
|
678
|
+
circular: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
|
|
679
|
+
packageCount: z.ZodNumber;
|
|
680
|
+
layerCount: z.ZodNumber;
|
|
681
|
+
hasCircular: z.ZodBoolean;
|
|
682
|
+
}, "strip", z.ZodTypeAny, {
|
|
683
|
+
layers: string[][];
|
|
684
|
+
sorted: string[];
|
|
685
|
+
circular: string[][];
|
|
686
|
+
packageCount: number;
|
|
687
|
+
layerCount: number;
|
|
688
|
+
hasCircular: boolean;
|
|
689
|
+
}, {
|
|
690
|
+
layers: string[][];
|
|
691
|
+
sorted: string[];
|
|
692
|
+
circular: string[][];
|
|
693
|
+
packageCount: number;
|
|
694
|
+
layerCount: number;
|
|
695
|
+
hasCircular: boolean;
|
|
696
|
+
}>;
|
|
697
|
+
type BuildOrderResponse = z.infer<typeof BuildOrderResponseSchema>;
|
|
698
|
+
declare const CyclesRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
699
|
+
type CyclesRequest = z.infer<typeof CyclesRequestSchema>;
|
|
700
|
+
declare const CyclesResponseSchema: z.ZodObject<{
|
|
701
|
+
cycles: z.ZodArray<z.ZodArray<z.ZodString, "many">, "many">;
|
|
702
|
+
count: z.ZodNumber;
|
|
703
|
+
hasCircular: z.ZodBoolean;
|
|
704
|
+
affected: z.ZodArray<z.ZodString, "many">;
|
|
705
|
+
}, "strip", z.ZodTypeAny, {
|
|
706
|
+
count: number;
|
|
707
|
+
hasCircular: boolean;
|
|
708
|
+
cycles: string[][];
|
|
709
|
+
affected: string[];
|
|
710
|
+
}, {
|
|
711
|
+
count: number;
|
|
712
|
+
hasCircular: boolean;
|
|
713
|
+
cycles: string[][];
|
|
714
|
+
affected: string[];
|
|
715
|
+
}>;
|
|
716
|
+
type CyclesResponse = z.infer<typeof CyclesResponseSchema>;
|
|
717
|
+
declare const GraphModeSchema: z.ZodEnum<["tree", "reverse", "impact", "stats"]>;
|
|
718
|
+
type GraphMode = z.infer<typeof GraphModeSchema>;
|
|
719
|
+
declare const GraphRequestSchema: z.ZodObject<{
|
|
720
|
+
packageName: z.ZodOptional<z.ZodString>;
|
|
721
|
+
mode: z.ZodEnum<["tree", "reverse", "impact", "stats"]>;
|
|
722
|
+
}, "strip", z.ZodTypeAny, {
|
|
723
|
+
mode: "reverse" | "tree" | "impact" | "stats";
|
|
724
|
+
packageName?: string | undefined;
|
|
725
|
+
}, {
|
|
726
|
+
mode: "reverse" | "tree" | "impact" | "stats";
|
|
727
|
+
packageName?: string | undefined;
|
|
728
|
+
}>;
|
|
729
|
+
type GraphRequest = z.infer<typeof GraphRequestSchema>;
|
|
730
|
+
declare const GraphNodeSchema: z.ZodType<GraphNode>;
|
|
731
|
+
type GraphNode = {
|
|
732
|
+
name: string;
|
|
733
|
+
children?: GraphNode[];
|
|
734
|
+
};
|
|
735
|
+
declare const GraphStatsSchema: z.ZodObject<{
|
|
736
|
+
totalPackages: z.ZodNumber;
|
|
737
|
+
maxDepth: z.ZodNumber;
|
|
738
|
+
avgDependencies: z.ZodNumber;
|
|
739
|
+
mostDepended: z.ZodArray<z.ZodObject<{
|
|
740
|
+
name: z.ZodString;
|
|
741
|
+
count: z.ZodNumber;
|
|
742
|
+
}, "strip", z.ZodTypeAny, {
|
|
743
|
+
count: number;
|
|
744
|
+
name: string;
|
|
745
|
+
}, {
|
|
746
|
+
count: number;
|
|
747
|
+
name: string;
|
|
748
|
+
}>, "many">;
|
|
749
|
+
}, "strip", z.ZodTypeAny, {
|
|
750
|
+
totalPackages: number;
|
|
751
|
+
maxDepth: number;
|
|
752
|
+
avgDependencies: number;
|
|
753
|
+
mostDepended: {
|
|
754
|
+
count: number;
|
|
755
|
+
name: string;
|
|
756
|
+
}[];
|
|
757
|
+
}, {
|
|
758
|
+
totalPackages: number;
|
|
759
|
+
maxDepth: number;
|
|
760
|
+
avgDependencies: number;
|
|
761
|
+
mostDepended: {
|
|
762
|
+
count: number;
|
|
763
|
+
name: string;
|
|
764
|
+
}[];
|
|
765
|
+
}>;
|
|
766
|
+
type GraphStats = z.infer<typeof GraphStatsSchema>;
|
|
767
|
+
declare const GraphResponseSchema: z.ZodObject<{
|
|
768
|
+
mode: z.ZodEnum<["tree", "reverse", "impact", "stats"]>;
|
|
769
|
+
packageName: z.ZodOptional<z.ZodString>;
|
|
770
|
+
tree: z.ZodOptional<z.ZodType<GraphNode, z.ZodTypeDef, GraphNode>>;
|
|
771
|
+
packages: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
772
|
+
stats: z.ZodOptional<z.ZodObject<{
|
|
773
|
+
totalPackages: z.ZodNumber;
|
|
774
|
+
maxDepth: z.ZodNumber;
|
|
775
|
+
avgDependencies: z.ZodNumber;
|
|
776
|
+
mostDepended: z.ZodArray<z.ZodObject<{
|
|
777
|
+
name: z.ZodString;
|
|
778
|
+
count: z.ZodNumber;
|
|
779
|
+
}, "strip", z.ZodTypeAny, {
|
|
780
|
+
count: number;
|
|
781
|
+
name: string;
|
|
782
|
+
}, {
|
|
783
|
+
count: number;
|
|
784
|
+
name: string;
|
|
785
|
+
}>, "many">;
|
|
786
|
+
}, "strip", z.ZodTypeAny, {
|
|
787
|
+
totalPackages: number;
|
|
788
|
+
maxDepth: number;
|
|
789
|
+
avgDependencies: number;
|
|
790
|
+
mostDepended: {
|
|
791
|
+
count: number;
|
|
792
|
+
name: string;
|
|
793
|
+
}[];
|
|
794
|
+
}, {
|
|
795
|
+
totalPackages: number;
|
|
796
|
+
maxDepth: number;
|
|
797
|
+
avgDependencies: number;
|
|
798
|
+
mostDepended: {
|
|
799
|
+
count: number;
|
|
800
|
+
name: string;
|
|
801
|
+
}[];
|
|
802
|
+
}>>;
|
|
803
|
+
}, "strip", z.ZodTypeAny, {
|
|
804
|
+
mode: "reverse" | "tree" | "impact" | "stats";
|
|
805
|
+
packages?: string[] | undefined;
|
|
806
|
+
packageName?: string | undefined;
|
|
807
|
+
tree?: GraphNode | undefined;
|
|
808
|
+
stats?: {
|
|
809
|
+
totalPackages: number;
|
|
810
|
+
maxDepth: number;
|
|
811
|
+
avgDependencies: number;
|
|
812
|
+
mostDepended: {
|
|
813
|
+
count: number;
|
|
814
|
+
name: string;
|
|
815
|
+
}[];
|
|
816
|
+
} | undefined;
|
|
817
|
+
}, {
|
|
818
|
+
mode: "reverse" | "tree" | "impact" | "stats";
|
|
819
|
+
packages?: string[] | undefined;
|
|
820
|
+
packageName?: string | undefined;
|
|
821
|
+
tree?: GraphNode | undefined;
|
|
822
|
+
stats?: {
|
|
823
|
+
totalPackages: number;
|
|
824
|
+
maxDepth: number;
|
|
825
|
+
avgDependencies: number;
|
|
826
|
+
mostDepended: {
|
|
827
|
+
count: number;
|
|
828
|
+
name: string;
|
|
829
|
+
}[];
|
|
830
|
+
} | undefined;
|
|
831
|
+
}>;
|
|
832
|
+
type GraphResponse = z.infer<typeof GraphResponseSchema>;
|
|
833
|
+
declare const StaleRequestSchema: z.ZodObject<{
|
|
834
|
+
detailed: z.ZodOptional<z.ZodBoolean>;
|
|
835
|
+
}, "strip", z.ZodTypeAny, {
|
|
836
|
+
detailed?: boolean | undefined;
|
|
837
|
+
}, {
|
|
838
|
+
detailed?: boolean | undefined;
|
|
839
|
+
}>;
|
|
840
|
+
type StaleRequest = z.infer<typeof StaleRequestSchema>;
|
|
841
|
+
declare const StalePackageSchema: z.ZodObject<{
|
|
842
|
+
name: z.ZodString;
|
|
843
|
+
path: z.ZodString;
|
|
844
|
+
reason: z.ZodEnum<["source-newer", "dependency-rebuilt", "missing-dist"]>;
|
|
845
|
+
sourceModified: z.ZodOptional<z.ZodString>;
|
|
846
|
+
distModified: z.ZodOptional<z.ZodString>;
|
|
847
|
+
affectedPackages: z.ZodArray<z.ZodString, "many">;
|
|
848
|
+
affectedCount: z.ZodNumber;
|
|
849
|
+
severity: z.ZodEnum<["critical", "high", "medium", "low"]>;
|
|
850
|
+
}, "strip", z.ZodTypeAny, {
|
|
851
|
+
path: string;
|
|
852
|
+
severity: "critical" | "high" | "medium" | "low";
|
|
853
|
+
name: string;
|
|
854
|
+
reason: "source-newer" | "dependency-rebuilt" | "missing-dist";
|
|
855
|
+
affectedPackages: string[];
|
|
856
|
+
affectedCount: number;
|
|
857
|
+
sourceModified?: string | undefined;
|
|
858
|
+
distModified?: string | undefined;
|
|
859
|
+
}, {
|
|
860
|
+
path: string;
|
|
861
|
+
severity: "critical" | "high" | "medium" | "low";
|
|
862
|
+
name: string;
|
|
863
|
+
reason: "source-newer" | "dependency-rebuilt" | "missing-dist";
|
|
864
|
+
affectedPackages: string[];
|
|
865
|
+
affectedCount: number;
|
|
866
|
+
sourceModified?: string | undefined;
|
|
867
|
+
distModified?: string | undefined;
|
|
868
|
+
}>;
|
|
869
|
+
type StalePackage = z.infer<typeof StalePackageSchema>;
|
|
870
|
+
declare const StaleChainSchema: z.ZodObject<{
|
|
871
|
+
root: z.ZodString;
|
|
872
|
+
affected: z.ZodArray<z.ZodString, "many">;
|
|
873
|
+
depth: z.ZodNumber;
|
|
874
|
+
}, "strip", z.ZodTypeAny, {
|
|
875
|
+
affected: string[];
|
|
876
|
+
root: string;
|
|
877
|
+
depth: number;
|
|
878
|
+
}, {
|
|
879
|
+
affected: string[];
|
|
880
|
+
root: string;
|
|
881
|
+
depth: number;
|
|
882
|
+
}>;
|
|
883
|
+
type StaleChain = z.infer<typeof StaleChainSchema>;
|
|
884
|
+
declare const StaleResponseSchema: z.ZodObject<{
|
|
885
|
+
stalePackages: z.ZodArray<z.ZodObject<{
|
|
886
|
+
name: z.ZodString;
|
|
887
|
+
path: z.ZodString;
|
|
888
|
+
reason: z.ZodEnum<["source-newer", "dependency-rebuilt", "missing-dist"]>;
|
|
889
|
+
sourceModified: z.ZodOptional<z.ZodString>;
|
|
890
|
+
distModified: z.ZodOptional<z.ZodString>;
|
|
891
|
+
affectedPackages: z.ZodArray<z.ZodString, "many">;
|
|
892
|
+
affectedCount: z.ZodNumber;
|
|
893
|
+
severity: z.ZodEnum<["critical", "high", "medium", "low"]>;
|
|
894
|
+
}, "strip", z.ZodTypeAny, {
|
|
895
|
+
path: string;
|
|
896
|
+
severity: "critical" | "high" | "medium" | "low";
|
|
897
|
+
name: string;
|
|
898
|
+
reason: "source-newer" | "dependency-rebuilt" | "missing-dist";
|
|
899
|
+
affectedPackages: string[];
|
|
900
|
+
affectedCount: number;
|
|
901
|
+
sourceModified?: string | undefined;
|
|
902
|
+
distModified?: string | undefined;
|
|
903
|
+
}, {
|
|
904
|
+
path: string;
|
|
905
|
+
severity: "critical" | "high" | "medium" | "low";
|
|
906
|
+
name: string;
|
|
907
|
+
reason: "source-newer" | "dependency-rebuilt" | "missing-dist";
|
|
908
|
+
affectedPackages: string[];
|
|
909
|
+
affectedCount: number;
|
|
910
|
+
sourceModified?: string | undefined;
|
|
911
|
+
distModified?: string | undefined;
|
|
912
|
+
}>, "many">;
|
|
913
|
+
totalStale: z.ZodNumber;
|
|
914
|
+
totalAffected: z.ZodNumber;
|
|
915
|
+
criticalChains: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
916
|
+
root: z.ZodString;
|
|
917
|
+
affected: z.ZodArray<z.ZodString, "many">;
|
|
918
|
+
depth: z.ZodNumber;
|
|
919
|
+
}, "strip", z.ZodTypeAny, {
|
|
920
|
+
affected: string[];
|
|
921
|
+
root: string;
|
|
922
|
+
depth: number;
|
|
923
|
+
}, {
|
|
924
|
+
affected: string[];
|
|
925
|
+
root: string;
|
|
926
|
+
depth: number;
|
|
927
|
+
}>, "many">>;
|
|
928
|
+
}, "strip", z.ZodTypeAny, {
|
|
929
|
+
stalePackages: {
|
|
930
|
+
path: string;
|
|
931
|
+
severity: "critical" | "high" | "medium" | "low";
|
|
932
|
+
name: string;
|
|
933
|
+
reason: "source-newer" | "dependency-rebuilt" | "missing-dist";
|
|
934
|
+
affectedPackages: string[];
|
|
935
|
+
affectedCount: number;
|
|
936
|
+
sourceModified?: string | undefined;
|
|
937
|
+
distModified?: string | undefined;
|
|
938
|
+
}[];
|
|
939
|
+
totalStale: number;
|
|
940
|
+
totalAffected: number;
|
|
941
|
+
criticalChains?: {
|
|
942
|
+
affected: string[];
|
|
943
|
+
root: string;
|
|
944
|
+
depth: number;
|
|
945
|
+
}[] | undefined;
|
|
946
|
+
}, {
|
|
947
|
+
stalePackages: {
|
|
948
|
+
path: string;
|
|
949
|
+
severity: "critical" | "high" | "medium" | "low";
|
|
950
|
+
name: string;
|
|
951
|
+
reason: "source-newer" | "dependency-rebuilt" | "missing-dist";
|
|
952
|
+
affectedPackages: string[];
|
|
953
|
+
affectedCount: number;
|
|
954
|
+
sourceModified?: string | undefined;
|
|
955
|
+
distModified?: string | undefined;
|
|
956
|
+
}[];
|
|
957
|
+
totalStale: number;
|
|
958
|
+
totalAffected: number;
|
|
959
|
+
criticalChains?: {
|
|
960
|
+
affected: string[];
|
|
961
|
+
root: string;
|
|
962
|
+
depth: number;
|
|
963
|
+
}[] | undefined;
|
|
964
|
+
}>;
|
|
965
|
+
type StaleResponse = z.infer<typeof StaleResponseSchema>;
|
|
966
|
+
|
|
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 };
|