@kb-labs/qa-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/index.d.ts +2191 -0
- package/dist/index.js +319 -0
- package/dist/index.js.map +1 -0
- package/package.json +47 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,2191 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Git submodule metadata for a repo within the monorepo.
|
|
5
|
+
*/
|
|
6
|
+
interface SubmoduleInfo {
|
|
7
|
+
/** Directory name (e.g. "kb-labs-mind") */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Short commit hash */
|
|
10
|
+
commit: string;
|
|
11
|
+
/** Current branch */
|
|
12
|
+
branch: string;
|
|
13
|
+
/** Whether the submodule has uncommitted changes */
|
|
14
|
+
dirty: boolean;
|
|
15
|
+
/** Last commit message */
|
|
16
|
+
message: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* QA Plugin configuration.
|
|
21
|
+
* Stored in kb.config.json → profiles[].products.qa
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* A single QA check definition — command to run, where, and how to evaluate.
|
|
25
|
+
*/
|
|
26
|
+
interface QACheckConfig {
|
|
27
|
+
/** Unique check identifier (e.g. "build", "lint", "typecheck", "test") */
|
|
28
|
+
id: string;
|
|
29
|
+
/** Display name. Defaults to id if not set. */
|
|
30
|
+
name?: string;
|
|
31
|
+
/** Command to execute (e.g. "pnpm", "go", "bash") */
|
|
32
|
+
command: string;
|
|
33
|
+
/** Arguments passed to command (e.g. ["run", "build"]) */
|
|
34
|
+
args?: string[];
|
|
35
|
+
/**
|
|
36
|
+
* How to evaluate the result.
|
|
37
|
+
* - "exitcode" (default): exit 0 = pass
|
|
38
|
+
* - "json": parse stdout as JSON, pass if .ok === true or .success === true or .status === "ok"
|
|
39
|
+
*/
|
|
40
|
+
parser?: 'exitcode' | 'json';
|
|
41
|
+
/** Timeout in ms. Default: 120000 (2 min) */
|
|
42
|
+
timeoutMs?: number;
|
|
43
|
+
/** If true, failure does not block the overall QA run */
|
|
44
|
+
optional?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* If true, sort packages by dependency order (topological sort) before running.
|
|
47
|
+
* Ensures upstream packages are processed first so their build artifacts (e.g. .d.ts)
|
|
48
|
+
* are available for downstream packages. Useful for build checks.
|
|
49
|
+
*/
|
|
50
|
+
ordered?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Where to execute the command:
|
|
53
|
+
* - "perPackage" (default): run in each discovered package directory
|
|
54
|
+
* - "scopePath": run once in the sub-repo root (e.g. platform/kb-labs-cli/)
|
|
55
|
+
* - "repoRoot": run once in the workspace root
|
|
56
|
+
*/
|
|
57
|
+
runIn?: 'perPackage' | 'scopePath' | 'repoRoot';
|
|
58
|
+
/** Display icon (emoji, e.g. "🔒"). Used in CLI output and REST API. */
|
|
59
|
+
icon?: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Filter which packages are discovered and checked.
|
|
63
|
+
*/
|
|
64
|
+
interface PackagesConfig {
|
|
65
|
+
/**
|
|
66
|
+
* Glob patterns for sub-repo directories to scan, relative to workspace root.
|
|
67
|
+
* E.g. ["platform/*", "plugins/*", "infra/*"].
|
|
68
|
+
* Each matched directory is checked for pnpm-workspace.yaml.
|
|
69
|
+
* Defaults to auto-scan if omitted.
|
|
70
|
+
*/
|
|
71
|
+
paths?: string[];
|
|
72
|
+
/** Include only packages whose name matches any of these patterns. Applied after discovery. */
|
|
73
|
+
include?: string[];
|
|
74
|
+
/** Exclude packages whose name matches any of these patterns. Applied after include. */
|
|
75
|
+
exclude?: string[];
|
|
76
|
+
}
|
|
77
|
+
interface QAPluginConfig {
|
|
78
|
+
/** Control which packages are discovered and checked. */
|
|
79
|
+
packages?: PackagesConfig;
|
|
80
|
+
/**
|
|
81
|
+
* Checks to run. If omitted, falls back to built-in runners (build/lint/typeCheck/test).
|
|
82
|
+
* Each check is executed per package or per scope depending on runIn.
|
|
83
|
+
*/
|
|
84
|
+
checks?: QACheckConfig[];
|
|
85
|
+
/**
|
|
86
|
+
* Per-scope overrides. Key is a relative path or sub-repo name (e.g. "platform/kb-labs-cli").
|
|
87
|
+
* scope.checks replaces global checks entirely (no merging).
|
|
88
|
+
*/
|
|
89
|
+
scopes?: Record<string, {
|
|
90
|
+
packages?: PackagesConfig;
|
|
91
|
+
checks?: QACheckConfig[];
|
|
92
|
+
}>;
|
|
93
|
+
/** Package categories for grouped reporting */
|
|
94
|
+
categories?: Record<string, CategoryConfig>;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Configuration for a single package category.
|
|
98
|
+
*/
|
|
99
|
+
interface CategoryConfig {
|
|
100
|
+
/** Display name (defaults to category key if not set) */
|
|
101
|
+
label?: string;
|
|
102
|
+
/** Package name patterns: exact name, glob ("@kb-labs/core-*"), or repo prefix ("kb-labs-cli/*") */
|
|
103
|
+
packages: string[];
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Types of checks the QA plugin can run.
|
|
108
|
+
*/
|
|
109
|
+
type CheckType = string;
|
|
110
|
+
/**
|
|
111
|
+
* Result of a single check type across all packages.
|
|
112
|
+
*/
|
|
113
|
+
interface CheckResult {
|
|
114
|
+
/** Packages that passed this check */
|
|
115
|
+
passed: string[];
|
|
116
|
+
/** Packages that failed this check */
|
|
117
|
+
failed: string[];
|
|
118
|
+
/** Packages that were skipped (up-to-date / excluded) */
|
|
119
|
+
skipped: string[];
|
|
120
|
+
/** Error messages keyed by package name */
|
|
121
|
+
errors: Record<string, string>;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Combined results of all QA check types.
|
|
125
|
+
*/
|
|
126
|
+
type QAResults = Record<string, CheckResult>;
|
|
127
|
+
/**
|
|
128
|
+
* Options for running QA checks.
|
|
129
|
+
*/
|
|
130
|
+
interface QARunOptions {
|
|
131
|
+
/** Root directory of the monorepo */
|
|
132
|
+
rootDir: string;
|
|
133
|
+
/** Skip specific check IDs (e.g. ['build', 'lint', 'typecheck', 'test']) */
|
|
134
|
+
skipChecks?: string[];
|
|
135
|
+
/** Disable caching (force full run) */
|
|
136
|
+
noCache?: boolean;
|
|
137
|
+
/** Run all packages, ignoring affected analysis */
|
|
138
|
+
all?: boolean;
|
|
139
|
+
/** Filter by package name */
|
|
140
|
+
package?: string;
|
|
141
|
+
/** Filter by repo name */
|
|
142
|
+
repo?: string;
|
|
143
|
+
/** Filter by npm scope */
|
|
144
|
+
scope?: string;
|
|
145
|
+
/** Package discovery config (paths/include/exclude from kb.config.json) */
|
|
146
|
+
packagesConfig?: PackagesConfig;
|
|
147
|
+
/** Custom checks to run. If provided, replaces built-in runners (build/lint/typeCheck/test). */
|
|
148
|
+
checks?: QACheckConfig[];
|
|
149
|
+
/** Progress callback (durationMs is set for executed checks, undefined for skipped) */
|
|
150
|
+
onProgress?: (phase: string, pkg: string, status: 'pass' | 'fail' | 'skip', durationMs?: number) => void;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Package filter criteria.
|
|
154
|
+
*/
|
|
155
|
+
interface PackageFilter {
|
|
156
|
+
package?: string;
|
|
157
|
+
repo?: string;
|
|
158
|
+
scope?: string;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Workspace package metadata.
|
|
162
|
+
*/
|
|
163
|
+
interface WorkspacePackage {
|
|
164
|
+
/** Package name from package.json */
|
|
165
|
+
name: string;
|
|
166
|
+
/** Absolute path to package directory */
|
|
167
|
+
dir: string;
|
|
168
|
+
/** Relative path from root */
|
|
169
|
+
relativePath: string;
|
|
170
|
+
/** The repo/monorepo this package belongs to */
|
|
171
|
+
repo: string;
|
|
172
|
+
/** Git submodule info for this package's repo */
|
|
173
|
+
submodule?: SubmoduleInfo;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Extended QA run result with package metadata preserved.
|
|
177
|
+
*/
|
|
178
|
+
interface QARunResult {
|
|
179
|
+
results: QAResults;
|
|
180
|
+
packages: WorkspacePackage[];
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Git metadata captured at baseline time.
|
|
185
|
+
*/
|
|
186
|
+
interface GitInfo {
|
|
187
|
+
commit: string;
|
|
188
|
+
branch: string;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Snapshot of a single check type in the baseline.
|
|
192
|
+
*/
|
|
193
|
+
interface BaselineCheckSnapshot {
|
|
194
|
+
passed: number;
|
|
195
|
+
failed: number;
|
|
196
|
+
failedPackages: string[];
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* A full baseline snapshot — the "known state" of QA for comparison.
|
|
200
|
+
*/
|
|
201
|
+
interface BaselineSnapshot {
|
|
202
|
+
timestamp: string;
|
|
203
|
+
git: GitInfo;
|
|
204
|
+
results: Record<string, BaselineCheckSnapshot>;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Diff for a single check type between current run and baseline.
|
|
208
|
+
*/
|
|
209
|
+
interface CheckDiff {
|
|
210
|
+
/** Packages that newly failed (weren't in baseline) */
|
|
211
|
+
newFailures: string[];
|
|
212
|
+
/** Packages that were fixed (were in baseline, now passing) */
|
|
213
|
+
fixed: string[];
|
|
214
|
+
/** Packages still failing (in both baseline and current) */
|
|
215
|
+
stillFailing: string[];
|
|
216
|
+
/** Net change in failure count (positive = regression) */
|
|
217
|
+
delta: number;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Full diff across all check types.
|
|
221
|
+
*/
|
|
222
|
+
type BaselineDiff = Record<string, CheckDiff>;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* A single history entry — one QA run saved to history.
|
|
226
|
+
*/
|
|
227
|
+
interface HistoryEntry {
|
|
228
|
+
timestamp: string;
|
|
229
|
+
git: {
|
|
230
|
+
commit: string;
|
|
231
|
+
branch: string;
|
|
232
|
+
message: string;
|
|
233
|
+
};
|
|
234
|
+
/** Per-repo submodule git state at time of run */
|
|
235
|
+
submodules?: Record<string, SubmoduleInfo>;
|
|
236
|
+
status: 'passed' | 'failed';
|
|
237
|
+
summary: Record<string, {
|
|
238
|
+
passed: number;
|
|
239
|
+
failed: number;
|
|
240
|
+
skipped: number;
|
|
241
|
+
}>;
|
|
242
|
+
failedPackages: Record<string, string[]>;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Trend analysis result for a single check type.
|
|
246
|
+
*/
|
|
247
|
+
interface TrendResult {
|
|
248
|
+
checkType: string;
|
|
249
|
+
/** Display label */
|
|
250
|
+
label?: string;
|
|
251
|
+
/** Display icon (emoji) */
|
|
252
|
+
icon?: string;
|
|
253
|
+
/** Failure count at start of window */
|
|
254
|
+
previous: number;
|
|
255
|
+
/** Failure count at end of window */
|
|
256
|
+
current: number;
|
|
257
|
+
/** Net change (positive = regression) */
|
|
258
|
+
delta: number;
|
|
259
|
+
trend: 'regression' | 'improvement' | 'no-change';
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* A single time-series data point for enriched trends.
|
|
263
|
+
*/
|
|
264
|
+
interface TrendTimeSeriesPoint {
|
|
265
|
+
timestamp: string;
|
|
266
|
+
gitCommit: string;
|
|
267
|
+
gitBranch: string;
|
|
268
|
+
gitMessage: string;
|
|
269
|
+
passed: number;
|
|
270
|
+
failed: number;
|
|
271
|
+
skipped: number;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* A changelog entry describing what changed between two consecutive QA runs.
|
|
275
|
+
*/
|
|
276
|
+
interface TrendChangelogEntry {
|
|
277
|
+
timestamp: string;
|
|
278
|
+
gitCommit: string;
|
|
279
|
+
gitMessage: string;
|
|
280
|
+
newFailures: string[];
|
|
281
|
+
fixed: string[];
|
|
282
|
+
delta: number;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Enriched trend analysis result for a single check type.
|
|
286
|
+
* Provides full time-series data, per-entry changelog, and velocity metrics.
|
|
287
|
+
*/
|
|
288
|
+
interface EnrichedTrendResult {
|
|
289
|
+
checkType: string;
|
|
290
|
+
/** Display label */
|
|
291
|
+
label?: string;
|
|
292
|
+
/** Display icon (emoji) */
|
|
293
|
+
icon?: string;
|
|
294
|
+
/** All data points in the window (for time-series chart) */
|
|
295
|
+
timeSeries: TrendTimeSeriesPoint[];
|
|
296
|
+
/** What changed between consecutive entries */
|
|
297
|
+
changelog: TrendChangelogEntry[];
|
|
298
|
+
/** Failure count at start of window */
|
|
299
|
+
current: number;
|
|
300
|
+
/** Failure count at end of window */
|
|
301
|
+
previous: number;
|
|
302
|
+
/** Net change (positive = regression) */
|
|
303
|
+
delta: number;
|
|
304
|
+
trend: 'regression' | 'improvement' | 'no-change';
|
|
305
|
+
/** Average delta per entry (velocity of change) */
|
|
306
|
+
velocity: number;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Regression detection result.
|
|
310
|
+
*/
|
|
311
|
+
interface RegressionResult {
|
|
312
|
+
hasRegressions: boolean;
|
|
313
|
+
regressions: Array<{
|
|
314
|
+
checkType: string;
|
|
315
|
+
delta: number;
|
|
316
|
+
newFailures: string[];
|
|
317
|
+
}>;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* Summary section of a QA report.
|
|
322
|
+
*/
|
|
323
|
+
interface ReportSummary {
|
|
324
|
+
total: number;
|
|
325
|
+
passed: number;
|
|
326
|
+
failed: number;
|
|
327
|
+
skipped: number;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Full QA report — returned by json reporter.
|
|
331
|
+
*/
|
|
332
|
+
interface QAReport {
|
|
333
|
+
status: 'passed' | 'failed';
|
|
334
|
+
timestamp: string;
|
|
335
|
+
summary: Record<string, ReportSummary>;
|
|
336
|
+
failures: Record<string, string[]>;
|
|
337
|
+
errors: Record<string, Record<string, string>>;
|
|
338
|
+
baseline: BaselineDiff | null;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Per-package status across all check types.
|
|
343
|
+
*/
|
|
344
|
+
interface PackageStatus {
|
|
345
|
+
name: string;
|
|
346
|
+
repo: string;
|
|
347
|
+
category: string;
|
|
348
|
+
checks: Record<string, 'passed' | 'failed' | 'skipped'>;
|
|
349
|
+
errors: Record<string, string>;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Results grouped by category → repo → packages.
|
|
353
|
+
*/
|
|
354
|
+
interface GroupedResults {
|
|
355
|
+
categories: Record<string, CategoryGroup>;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* A single category group with its repos and summary.
|
|
359
|
+
*/
|
|
360
|
+
interface CategoryGroup {
|
|
361
|
+
label: string;
|
|
362
|
+
repos: Record<string, RepoGroup>;
|
|
363
|
+
summary: GroupSummary;
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* A single repo group with its packages and summary.
|
|
367
|
+
*/
|
|
368
|
+
interface RepoGroup {
|
|
369
|
+
packages: PackageStatus[];
|
|
370
|
+
summary: GroupSummary;
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Summary counts at category or repo level.
|
|
374
|
+
*/
|
|
375
|
+
interface GroupSummary {
|
|
376
|
+
total: number;
|
|
377
|
+
/** Packages where all checks passed */
|
|
378
|
+
passed: number;
|
|
379
|
+
/** Packages where at least one check failed */
|
|
380
|
+
failed: number;
|
|
381
|
+
checks: Record<string, {
|
|
382
|
+
passed: number;
|
|
383
|
+
failed: number;
|
|
384
|
+
skipped: number;
|
|
385
|
+
}>;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Per-package detail for a single check type.
|
|
390
|
+
*/
|
|
391
|
+
interface PackageCheckDetail {
|
|
392
|
+
/** Package name (e.g. "@kb-labs/mind-engine") */
|
|
393
|
+
name: string;
|
|
394
|
+
/** Repo / submodule name (e.g. "kb-labs-mind") */
|
|
395
|
+
repo: string;
|
|
396
|
+
/** Check status for this package */
|
|
397
|
+
status: 'passed' | 'failed' | 'skipped';
|
|
398
|
+
/** Error output (only if failed, truncated to 2000 chars) */
|
|
399
|
+
error?: string;
|
|
400
|
+
/** Git submodule info for this package's repo */
|
|
401
|
+
submodule?: SubmoduleInfo;
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* A single entry in a package's QA timeline.
|
|
406
|
+
*/
|
|
407
|
+
interface PackageTimelineEntry {
|
|
408
|
+
/** Timestamp of the QA run */
|
|
409
|
+
timestamp: string;
|
|
410
|
+
/** Root git info at time of run */
|
|
411
|
+
git: {
|
|
412
|
+
commit: string;
|
|
413
|
+
branch: string;
|
|
414
|
+
message: string;
|
|
415
|
+
};
|
|
416
|
+
/** Submodule commit hash (if available) */
|
|
417
|
+
submoduleCommit?: string;
|
|
418
|
+
/** Per-check status for this package */
|
|
419
|
+
checks: Record<string, 'passed' | 'failed' | 'skipped'>;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Full timeline for a specific package across QA history.
|
|
423
|
+
*/
|
|
424
|
+
interface PackageTimelineResponse {
|
|
425
|
+
/** Package name */
|
|
426
|
+
packageName: string;
|
|
427
|
+
/** Repo this package belongs to */
|
|
428
|
+
repo: string;
|
|
429
|
+
/** Timeline entries (newest first) */
|
|
430
|
+
entries: PackageTimelineEntry[];
|
|
431
|
+
/** Flaky score: 0-1, higher = more flaky (flip-flops between pass/fail) */
|
|
432
|
+
flakyScore: number;
|
|
433
|
+
/** Which check types exhibit flaky behavior */
|
|
434
|
+
flakyChecks: string[];
|
|
435
|
+
/** When this package first appeared in failed state */
|
|
436
|
+
firstFailure?: string;
|
|
437
|
+
/** Current streak (passing or failing, and how many consecutive runs) */
|
|
438
|
+
currentStreak: {
|
|
439
|
+
status: 'passing' | 'failing';
|
|
440
|
+
count: number;
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
/**
|
|
445
|
+
* A group of packages sharing the same error pattern.
|
|
446
|
+
*/
|
|
447
|
+
interface ErrorGroup {
|
|
448
|
+
/** Error pattern identifier (e.g. ESLint rule, TS error code) */
|
|
449
|
+
pattern: string;
|
|
450
|
+
/** Number of packages with this error */
|
|
451
|
+
count: number;
|
|
452
|
+
/** Package names in this group */
|
|
453
|
+
packages: string[];
|
|
454
|
+
/** Which check type this group belongs to */
|
|
455
|
+
checkType: string;
|
|
456
|
+
/** Example error text (first 200 chars) */
|
|
457
|
+
example: string;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* REST API Request/Response Types and Zod Schemas for QA Plugin
|
|
462
|
+
*/
|
|
463
|
+
|
|
464
|
+
declare const QASummaryRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
465
|
+
type QASummaryRequest = z.infer<typeof QASummaryRequestSchema>;
|
|
466
|
+
declare const QASummaryCheckSchema: z.ZodObject<{
|
|
467
|
+
checkType: z.ZodString;
|
|
468
|
+
label: z.ZodString;
|
|
469
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
470
|
+
passed: z.ZodNumber;
|
|
471
|
+
failed: z.ZodNumber;
|
|
472
|
+
skipped: z.ZodNumber;
|
|
473
|
+
total: z.ZodNumber;
|
|
474
|
+
}, "strip", z.ZodTypeAny, {
|
|
475
|
+
passed: number;
|
|
476
|
+
failed: number;
|
|
477
|
+
skipped: number;
|
|
478
|
+
checkType: string;
|
|
479
|
+
label: string;
|
|
480
|
+
total: number;
|
|
481
|
+
icon?: string | undefined;
|
|
482
|
+
}, {
|
|
483
|
+
passed: number;
|
|
484
|
+
failed: number;
|
|
485
|
+
skipped: number;
|
|
486
|
+
checkType: string;
|
|
487
|
+
label: string;
|
|
488
|
+
total: number;
|
|
489
|
+
icon?: string | undefined;
|
|
490
|
+
}>;
|
|
491
|
+
declare const QASummaryResponseSchema: z.ZodObject<{
|
|
492
|
+
status: z.ZodString;
|
|
493
|
+
lastRunAt: z.ZodNullable<z.ZodString>;
|
|
494
|
+
git: z.ZodNullable<z.ZodObject<{
|
|
495
|
+
commit: z.ZodString;
|
|
496
|
+
branch: z.ZodString;
|
|
497
|
+
} & {
|
|
498
|
+
message: z.ZodString;
|
|
499
|
+
}, "strip", z.ZodTypeAny, {
|
|
500
|
+
commit: string;
|
|
501
|
+
branch: string;
|
|
502
|
+
message: string;
|
|
503
|
+
}, {
|
|
504
|
+
commit: string;
|
|
505
|
+
branch: string;
|
|
506
|
+
message: string;
|
|
507
|
+
}>>;
|
|
508
|
+
checks: z.ZodArray<z.ZodObject<{
|
|
509
|
+
checkType: z.ZodString;
|
|
510
|
+
label: z.ZodString;
|
|
511
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
512
|
+
passed: z.ZodNumber;
|
|
513
|
+
failed: z.ZodNumber;
|
|
514
|
+
skipped: z.ZodNumber;
|
|
515
|
+
total: z.ZodNumber;
|
|
516
|
+
}, "strip", z.ZodTypeAny, {
|
|
517
|
+
passed: number;
|
|
518
|
+
failed: number;
|
|
519
|
+
skipped: number;
|
|
520
|
+
checkType: string;
|
|
521
|
+
label: string;
|
|
522
|
+
total: number;
|
|
523
|
+
icon?: string | undefined;
|
|
524
|
+
}, {
|
|
525
|
+
passed: number;
|
|
526
|
+
failed: number;
|
|
527
|
+
skipped: number;
|
|
528
|
+
checkType: string;
|
|
529
|
+
label: string;
|
|
530
|
+
total: number;
|
|
531
|
+
icon?: string | undefined;
|
|
532
|
+
}>, "many">;
|
|
533
|
+
hasBaseline: z.ZodBoolean;
|
|
534
|
+
baselineTimestamp: z.ZodNullable<z.ZodString>;
|
|
535
|
+
historyCount: z.ZodNumber;
|
|
536
|
+
}, "strip", z.ZodTypeAny, {
|
|
537
|
+
status: string;
|
|
538
|
+
lastRunAt: string | null;
|
|
539
|
+
git: {
|
|
540
|
+
commit: string;
|
|
541
|
+
branch: string;
|
|
542
|
+
message: string;
|
|
543
|
+
} | null;
|
|
544
|
+
checks: {
|
|
545
|
+
passed: number;
|
|
546
|
+
failed: number;
|
|
547
|
+
skipped: number;
|
|
548
|
+
checkType: string;
|
|
549
|
+
label: string;
|
|
550
|
+
total: number;
|
|
551
|
+
icon?: string | undefined;
|
|
552
|
+
}[];
|
|
553
|
+
hasBaseline: boolean;
|
|
554
|
+
baselineTimestamp: string | null;
|
|
555
|
+
historyCount: number;
|
|
556
|
+
}, {
|
|
557
|
+
status: string;
|
|
558
|
+
lastRunAt: string | null;
|
|
559
|
+
git: {
|
|
560
|
+
commit: string;
|
|
561
|
+
branch: string;
|
|
562
|
+
message: string;
|
|
563
|
+
} | null;
|
|
564
|
+
checks: {
|
|
565
|
+
passed: number;
|
|
566
|
+
failed: number;
|
|
567
|
+
skipped: number;
|
|
568
|
+
checkType: string;
|
|
569
|
+
label: string;
|
|
570
|
+
total: number;
|
|
571
|
+
icon?: string | undefined;
|
|
572
|
+
}[];
|
|
573
|
+
hasBaseline: boolean;
|
|
574
|
+
baselineTimestamp: string | null;
|
|
575
|
+
historyCount: number;
|
|
576
|
+
}>;
|
|
577
|
+
type QASummaryResponse = z.infer<typeof QASummaryResponseSchema>;
|
|
578
|
+
declare const QALatestRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
579
|
+
type QALatestRequest = z.infer<typeof QALatestRequestSchema>;
|
|
580
|
+
declare const QALatestResponseSchema: z.ZodObject<{
|
|
581
|
+
entry: z.ZodNullable<z.ZodObject<{
|
|
582
|
+
timestamp: z.ZodString;
|
|
583
|
+
git: z.ZodObject<{
|
|
584
|
+
commit: z.ZodString;
|
|
585
|
+
branch: z.ZodString;
|
|
586
|
+
} & {
|
|
587
|
+
message: z.ZodString;
|
|
588
|
+
}, "strip", z.ZodTypeAny, {
|
|
589
|
+
commit: string;
|
|
590
|
+
branch: string;
|
|
591
|
+
message: string;
|
|
592
|
+
}, {
|
|
593
|
+
commit: string;
|
|
594
|
+
branch: string;
|
|
595
|
+
message: string;
|
|
596
|
+
}>;
|
|
597
|
+
status: z.ZodEnum<["passed", "failed"]>;
|
|
598
|
+
summary: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
599
|
+
passed: z.ZodNumber;
|
|
600
|
+
failed: z.ZodNumber;
|
|
601
|
+
skipped: z.ZodNumber;
|
|
602
|
+
}, "strip", z.ZodTypeAny, {
|
|
603
|
+
passed: number;
|
|
604
|
+
failed: number;
|
|
605
|
+
skipped: number;
|
|
606
|
+
}, {
|
|
607
|
+
passed: number;
|
|
608
|
+
failed: number;
|
|
609
|
+
skipped: number;
|
|
610
|
+
}>>;
|
|
611
|
+
failedPackages: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
|
|
612
|
+
}, "strip", z.ZodTypeAny, {
|
|
613
|
+
status: "passed" | "failed";
|
|
614
|
+
git: {
|
|
615
|
+
commit: string;
|
|
616
|
+
branch: string;
|
|
617
|
+
message: string;
|
|
618
|
+
};
|
|
619
|
+
timestamp: string;
|
|
620
|
+
summary: Record<string, {
|
|
621
|
+
passed: number;
|
|
622
|
+
failed: number;
|
|
623
|
+
skipped: number;
|
|
624
|
+
}>;
|
|
625
|
+
failedPackages: Record<string, string[]>;
|
|
626
|
+
}, {
|
|
627
|
+
status: "passed" | "failed";
|
|
628
|
+
git: {
|
|
629
|
+
commit: string;
|
|
630
|
+
branch: string;
|
|
631
|
+
message: string;
|
|
632
|
+
};
|
|
633
|
+
timestamp: string;
|
|
634
|
+
summary: Record<string, {
|
|
635
|
+
passed: number;
|
|
636
|
+
failed: number;
|
|
637
|
+
skipped: number;
|
|
638
|
+
}>;
|
|
639
|
+
failedPackages: Record<string, string[]>;
|
|
640
|
+
}>>;
|
|
641
|
+
}, "strip", z.ZodTypeAny, {
|
|
642
|
+
entry: {
|
|
643
|
+
status: "passed" | "failed";
|
|
644
|
+
git: {
|
|
645
|
+
commit: string;
|
|
646
|
+
branch: string;
|
|
647
|
+
message: string;
|
|
648
|
+
};
|
|
649
|
+
timestamp: string;
|
|
650
|
+
summary: Record<string, {
|
|
651
|
+
passed: number;
|
|
652
|
+
failed: number;
|
|
653
|
+
skipped: number;
|
|
654
|
+
}>;
|
|
655
|
+
failedPackages: Record<string, string[]>;
|
|
656
|
+
} | null;
|
|
657
|
+
}, {
|
|
658
|
+
entry: {
|
|
659
|
+
status: "passed" | "failed";
|
|
660
|
+
git: {
|
|
661
|
+
commit: string;
|
|
662
|
+
branch: string;
|
|
663
|
+
message: string;
|
|
664
|
+
};
|
|
665
|
+
timestamp: string;
|
|
666
|
+
summary: Record<string, {
|
|
667
|
+
passed: number;
|
|
668
|
+
failed: number;
|
|
669
|
+
skipped: number;
|
|
670
|
+
}>;
|
|
671
|
+
failedPackages: Record<string, string[]>;
|
|
672
|
+
} | null;
|
|
673
|
+
}>;
|
|
674
|
+
type QALatestResponse = z.infer<typeof QALatestResponseSchema>;
|
|
675
|
+
declare const QAHistoryRequestSchema: z.ZodObject<{
|
|
676
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
677
|
+
}, "strip", z.ZodTypeAny, {
|
|
678
|
+
limit?: number | undefined;
|
|
679
|
+
}, {
|
|
680
|
+
limit?: number | undefined;
|
|
681
|
+
}>;
|
|
682
|
+
type QAHistoryRequest = z.infer<typeof QAHistoryRequestSchema>;
|
|
683
|
+
declare const QAHistoryResponseSchema: z.ZodObject<{
|
|
684
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
685
|
+
timestamp: z.ZodString;
|
|
686
|
+
git: z.ZodObject<{
|
|
687
|
+
commit: z.ZodString;
|
|
688
|
+
branch: z.ZodString;
|
|
689
|
+
} & {
|
|
690
|
+
message: z.ZodString;
|
|
691
|
+
}, "strip", z.ZodTypeAny, {
|
|
692
|
+
commit: string;
|
|
693
|
+
branch: string;
|
|
694
|
+
message: string;
|
|
695
|
+
}, {
|
|
696
|
+
commit: string;
|
|
697
|
+
branch: string;
|
|
698
|
+
message: string;
|
|
699
|
+
}>;
|
|
700
|
+
status: z.ZodEnum<["passed", "failed"]>;
|
|
701
|
+
summary: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
702
|
+
passed: z.ZodNumber;
|
|
703
|
+
failed: z.ZodNumber;
|
|
704
|
+
skipped: z.ZodNumber;
|
|
705
|
+
}, "strip", z.ZodTypeAny, {
|
|
706
|
+
passed: number;
|
|
707
|
+
failed: number;
|
|
708
|
+
skipped: number;
|
|
709
|
+
}, {
|
|
710
|
+
passed: number;
|
|
711
|
+
failed: number;
|
|
712
|
+
skipped: number;
|
|
713
|
+
}>>;
|
|
714
|
+
failedPackages: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
|
|
715
|
+
}, "strip", z.ZodTypeAny, {
|
|
716
|
+
status: "passed" | "failed";
|
|
717
|
+
git: {
|
|
718
|
+
commit: string;
|
|
719
|
+
branch: string;
|
|
720
|
+
message: string;
|
|
721
|
+
};
|
|
722
|
+
timestamp: string;
|
|
723
|
+
summary: Record<string, {
|
|
724
|
+
passed: number;
|
|
725
|
+
failed: number;
|
|
726
|
+
skipped: number;
|
|
727
|
+
}>;
|
|
728
|
+
failedPackages: Record<string, string[]>;
|
|
729
|
+
}, {
|
|
730
|
+
status: "passed" | "failed";
|
|
731
|
+
git: {
|
|
732
|
+
commit: string;
|
|
733
|
+
branch: string;
|
|
734
|
+
message: string;
|
|
735
|
+
};
|
|
736
|
+
timestamp: string;
|
|
737
|
+
summary: Record<string, {
|
|
738
|
+
passed: number;
|
|
739
|
+
failed: number;
|
|
740
|
+
skipped: number;
|
|
741
|
+
}>;
|
|
742
|
+
failedPackages: Record<string, string[]>;
|
|
743
|
+
}>, "many">;
|
|
744
|
+
total: z.ZodNumber;
|
|
745
|
+
}, "strip", z.ZodTypeAny, {
|
|
746
|
+
entries: {
|
|
747
|
+
status: "passed" | "failed";
|
|
748
|
+
git: {
|
|
749
|
+
commit: string;
|
|
750
|
+
branch: string;
|
|
751
|
+
message: string;
|
|
752
|
+
};
|
|
753
|
+
timestamp: string;
|
|
754
|
+
summary: Record<string, {
|
|
755
|
+
passed: number;
|
|
756
|
+
failed: number;
|
|
757
|
+
skipped: number;
|
|
758
|
+
}>;
|
|
759
|
+
failedPackages: Record<string, string[]>;
|
|
760
|
+
}[];
|
|
761
|
+
total: number;
|
|
762
|
+
}, {
|
|
763
|
+
entries: {
|
|
764
|
+
status: "passed" | "failed";
|
|
765
|
+
git: {
|
|
766
|
+
commit: string;
|
|
767
|
+
branch: string;
|
|
768
|
+
message: string;
|
|
769
|
+
};
|
|
770
|
+
timestamp: string;
|
|
771
|
+
summary: Record<string, {
|
|
772
|
+
passed: number;
|
|
773
|
+
failed: number;
|
|
774
|
+
skipped: number;
|
|
775
|
+
}>;
|
|
776
|
+
failedPackages: Record<string, string[]>;
|
|
777
|
+
}[];
|
|
778
|
+
total: number;
|
|
779
|
+
}>;
|
|
780
|
+
type QAHistoryResponse = z.infer<typeof QAHistoryResponseSchema>;
|
|
781
|
+
declare const QATrendsRequestSchema: z.ZodObject<{
|
|
782
|
+
window: z.ZodOptional<z.ZodNumber>;
|
|
783
|
+
enriched: z.ZodOptional<z.ZodBoolean>;
|
|
784
|
+
}, "strip", z.ZodTypeAny, {
|
|
785
|
+
window?: number | undefined;
|
|
786
|
+
enriched?: boolean | undefined;
|
|
787
|
+
}, {
|
|
788
|
+
window?: number | undefined;
|
|
789
|
+
enriched?: boolean | undefined;
|
|
790
|
+
}>;
|
|
791
|
+
type QATrendsRequest = z.infer<typeof QATrendsRequestSchema>;
|
|
792
|
+
declare const QATrendsResponseSchema: z.ZodObject<{
|
|
793
|
+
trends: z.ZodArray<z.ZodObject<{
|
|
794
|
+
checkType: z.ZodString;
|
|
795
|
+
label: z.ZodOptional<z.ZodString>;
|
|
796
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
797
|
+
previous: z.ZodNumber;
|
|
798
|
+
current: z.ZodNumber;
|
|
799
|
+
delta: z.ZodNumber;
|
|
800
|
+
trend: z.ZodEnum<["regression", "improvement", "no-change"]>;
|
|
801
|
+
}, "strip", z.ZodTypeAny, {
|
|
802
|
+
checkType: string;
|
|
803
|
+
previous: number;
|
|
804
|
+
current: number;
|
|
805
|
+
delta: number;
|
|
806
|
+
trend: "regression" | "improvement" | "no-change";
|
|
807
|
+
label?: string | undefined;
|
|
808
|
+
icon?: string | undefined;
|
|
809
|
+
}, {
|
|
810
|
+
checkType: string;
|
|
811
|
+
previous: number;
|
|
812
|
+
current: number;
|
|
813
|
+
delta: number;
|
|
814
|
+
trend: "regression" | "improvement" | "no-change";
|
|
815
|
+
label?: string | undefined;
|
|
816
|
+
icon?: string | undefined;
|
|
817
|
+
}>, "many">;
|
|
818
|
+
historyCount: z.ZodNumber;
|
|
819
|
+
window: z.ZodNumber;
|
|
820
|
+
}, "strip", z.ZodTypeAny, {
|
|
821
|
+
historyCount: number;
|
|
822
|
+
window: number;
|
|
823
|
+
trends: {
|
|
824
|
+
checkType: string;
|
|
825
|
+
previous: number;
|
|
826
|
+
current: number;
|
|
827
|
+
delta: number;
|
|
828
|
+
trend: "regression" | "improvement" | "no-change";
|
|
829
|
+
label?: string | undefined;
|
|
830
|
+
icon?: string | undefined;
|
|
831
|
+
}[];
|
|
832
|
+
}, {
|
|
833
|
+
historyCount: number;
|
|
834
|
+
window: number;
|
|
835
|
+
trends: {
|
|
836
|
+
checkType: string;
|
|
837
|
+
previous: number;
|
|
838
|
+
current: number;
|
|
839
|
+
delta: number;
|
|
840
|
+
trend: "regression" | "improvement" | "no-change";
|
|
841
|
+
label?: string | undefined;
|
|
842
|
+
icon?: string | undefined;
|
|
843
|
+
}[];
|
|
844
|
+
}>;
|
|
845
|
+
type QATrendsResponse = z.infer<typeof QATrendsResponseSchema>;
|
|
846
|
+
declare const QAEnrichedTrendsResponseSchema: z.ZodObject<{
|
|
847
|
+
trends: z.ZodArray<z.ZodObject<{
|
|
848
|
+
checkType: z.ZodString;
|
|
849
|
+
label: z.ZodOptional<z.ZodString>;
|
|
850
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
851
|
+
timeSeries: z.ZodArray<z.ZodObject<{
|
|
852
|
+
timestamp: z.ZodString;
|
|
853
|
+
gitCommit: z.ZodString;
|
|
854
|
+
gitBranch: z.ZodString;
|
|
855
|
+
gitMessage: z.ZodString;
|
|
856
|
+
passed: z.ZodNumber;
|
|
857
|
+
failed: z.ZodNumber;
|
|
858
|
+
skipped: z.ZodNumber;
|
|
859
|
+
}, "strip", z.ZodTypeAny, {
|
|
860
|
+
passed: number;
|
|
861
|
+
failed: number;
|
|
862
|
+
skipped: number;
|
|
863
|
+
timestamp: string;
|
|
864
|
+
gitCommit: string;
|
|
865
|
+
gitBranch: string;
|
|
866
|
+
gitMessage: string;
|
|
867
|
+
}, {
|
|
868
|
+
passed: number;
|
|
869
|
+
failed: number;
|
|
870
|
+
skipped: number;
|
|
871
|
+
timestamp: string;
|
|
872
|
+
gitCommit: string;
|
|
873
|
+
gitBranch: string;
|
|
874
|
+
gitMessage: string;
|
|
875
|
+
}>, "many">;
|
|
876
|
+
changelog: z.ZodArray<z.ZodObject<{
|
|
877
|
+
timestamp: z.ZodString;
|
|
878
|
+
gitCommit: z.ZodString;
|
|
879
|
+
gitMessage: z.ZodString;
|
|
880
|
+
newFailures: z.ZodArray<z.ZodString, "many">;
|
|
881
|
+
fixed: z.ZodArray<z.ZodString, "many">;
|
|
882
|
+
delta: z.ZodNumber;
|
|
883
|
+
}, "strip", z.ZodTypeAny, {
|
|
884
|
+
timestamp: string;
|
|
885
|
+
delta: number;
|
|
886
|
+
gitCommit: string;
|
|
887
|
+
gitMessage: string;
|
|
888
|
+
newFailures: string[];
|
|
889
|
+
fixed: string[];
|
|
890
|
+
}, {
|
|
891
|
+
timestamp: string;
|
|
892
|
+
delta: number;
|
|
893
|
+
gitCommit: string;
|
|
894
|
+
gitMessage: string;
|
|
895
|
+
newFailures: string[];
|
|
896
|
+
fixed: string[];
|
|
897
|
+
}>, "many">;
|
|
898
|
+
current: z.ZodNumber;
|
|
899
|
+
previous: z.ZodNumber;
|
|
900
|
+
delta: z.ZodNumber;
|
|
901
|
+
trend: z.ZodEnum<["regression", "improvement", "no-change"]>;
|
|
902
|
+
velocity: z.ZodNumber;
|
|
903
|
+
}, "strip", z.ZodTypeAny, {
|
|
904
|
+
checkType: string;
|
|
905
|
+
previous: number;
|
|
906
|
+
current: number;
|
|
907
|
+
delta: number;
|
|
908
|
+
trend: "regression" | "improvement" | "no-change";
|
|
909
|
+
timeSeries: {
|
|
910
|
+
passed: number;
|
|
911
|
+
failed: number;
|
|
912
|
+
skipped: number;
|
|
913
|
+
timestamp: string;
|
|
914
|
+
gitCommit: string;
|
|
915
|
+
gitBranch: string;
|
|
916
|
+
gitMessage: string;
|
|
917
|
+
}[];
|
|
918
|
+
changelog: {
|
|
919
|
+
timestamp: string;
|
|
920
|
+
delta: number;
|
|
921
|
+
gitCommit: string;
|
|
922
|
+
gitMessage: string;
|
|
923
|
+
newFailures: string[];
|
|
924
|
+
fixed: string[];
|
|
925
|
+
}[];
|
|
926
|
+
velocity: number;
|
|
927
|
+
label?: string | undefined;
|
|
928
|
+
icon?: string | undefined;
|
|
929
|
+
}, {
|
|
930
|
+
checkType: string;
|
|
931
|
+
previous: number;
|
|
932
|
+
current: number;
|
|
933
|
+
delta: number;
|
|
934
|
+
trend: "regression" | "improvement" | "no-change";
|
|
935
|
+
timeSeries: {
|
|
936
|
+
passed: number;
|
|
937
|
+
failed: number;
|
|
938
|
+
skipped: number;
|
|
939
|
+
timestamp: string;
|
|
940
|
+
gitCommit: string;
|
|
941
|
+
gitBranch: string;
|
|
942
|
+
gitMessage: string;
|
|
943
|
+
}[];
|
|
944
|
+
changelog: {
|
|
945
|
+
timestamp: string;
|
|
946
|
+
delta: number;
|
|
947
|
+
gitCommit: string;
|
|
948
|
+
gitMessage: string;
|
|
949
|
+
newFailures: string[];
|
|
950
|
+
fixed: string[];
|
|
951
|
+
}[];
|
|
952
|
+
velocity: number;
|
|
953
|
+
label?: string | undefined;
|
|
954
|
+
icon?: string | undefined;
|
|
955
|
+
}>, "many">;
|
|
956
|
+
historyCount: z.ZodNumber;
|
|
957
|
+
window: z.ZodNumber;
|
|
958
|
+
}, "strip", z.ZodTypeAny, {
|
|
959
|
+
historyCount: number;
|
|
960
|
+
window: number;
|
|
961
|
+
trends: {
|
|
962
|
+
checkType: string;
|
|
963
|
+
previous: number;
|
|
964
|
+
current: number;
|
|
965
|
+
delta: number;
|
|
966
|
+
trend: "regression" | "improvement" | "no-change";
|
|
967
|
+
timeSeries: {
|
|
968
|
+
passed: number;
|
|
969
|
+
failed: number;
|
|
970
|
+
skipped: number;
|
|
971
|
+
timestamp: string;
|
|
972
|
+
gitCommit: string;
|
|
973
|
+
gitBranch: string;
|
|
974
|
+
gitMessage: string;
|
|
975
|
+
}[];
|
|
976
|
+
changelog: {
|
|
977
|
+
timestamp: string;
|
|
978
|
+
delta: number;
|
|
979
|
+
gitCommit: string;
|
|
980
|
+
gitMessage: string;
|
|
981
|
+
newFailures: string[];
|
|
982
|
+
fixed: string[];
|
|
983
|
+
}[];
|
|
984
|
+
velocity: number;
|
|
985
|
+
label?: string | undefined;
|
|
986
|
+
icon?: string | undefined;
|
|
987
|
+
}[];
|
|
988
|
+
}, {
|
|
989
|
+
historyCount: number;
|
|
990
|
+
window: number;
|
|
991
|
+
trends: {
|
|
992
|
+
checkType: string;
|
|
993
|
+
previous: number;
|
|
994
|
+
current: number;
|
|
995
|
+
delta: number;
|
|
996
|
+
trend: "regression" | "improvement" | "no-change";
|
|
997
|
+
timeSeries: {
|
|
998
|
+
passed: number;
|
|
999
|
+
failed: number;
|
|
1000
|
+
skipped: number;
|
|
1001
|
+
timestamp: string;
|
|
1002
|
+
gitCommit: string;
|
|
1003
|
+
gitBranch: string;
|
|
1004
|
+
gitMessage: string;
|
|
1005
|
+
}[];
|
|
1006
|
+
changelog: {
|
|
1007
|
+
timestamp: string;
|
|
1008
|
+
delta: number;
|
|
1009
|
+
gitCommit: string;
|
|
1010
|
+
gitMessage: string;
|
|
1011
|
+
newFailures: string[];
|
|
1012
|
+
fixed: string[];
|
|
1013
|
+
}[];
|
|
1014
|
+
velocity: number;
|
|
1015
|
+
label?: string | undefined;
|
|
1016
|
+
icon?: string | undefined;
|
|
1017
|
+
}[];
|
|
1018
|
+
}>;
|
|
1019
|
+
type QAEnrichedTrendsResponse = z.infer<typeof QAEnrichedTrendsResponseSchema>;
|
|
1020
|
+
declare const QARegressionsRequestSchema: z.ZodObject<{
|
|
1021
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
1022
|
+
}, "strip", z.ZodTypeAny, {
|
|
1023
|
+
scope?: string | undefined;
|
|
1024
|
+
}, {
|
|
1025
|
+
scope?: string | undefined;
|
|
1026
|
+
}>;
|
|
1027
|
+
type QARegressionsRequest = z.infer<typeof QARegressionsRequestSchema>;
|
|
1028
|
+
declare const RegressionEntrySchema: z.ZodObject<{
|
|
1029
|
+
checkType: z.ZodString;
|
|
1030
|
+
delta: z.ZodNumber;
|
|
1031
|
+
newFailures: z.ZodArray<z.ZodString, "many">;
|
|
1032
|
+
}, "strip", z.ZodTypeAny, {
|
|
1033
|
+
checkType: string;
|
|
1034
|
+
delta: number;
|
|
1035
|
+
newFailures: string[];
|
|
1036
|
+
}, {
|
|
1037
|
+
checkType: string;
|
|
1038
|
+
delta: number;
|
|
1039
|
+
newFailures: string[];
|
|
1040
|
+
}>;
|
|
1041
|
+
type RegressionEntry = z.infer<typeof RegressionEntrySchema>;
|
|
1042
|
+
declare const QARegressionsResponseSchema: z.ZodObject<{
|
|
1043
|
+
hasRegressions: z.ZodBoolean;
|
|
1044
|
+
regressions: z.ZodArray<z.ZodObject<{
|
|
1045
|
+
checkType: z.ZodString;
|
|
1046
|
+
delta: z.ZodNumber;
|
|
1047
|
+
newFailures: z.ZodArray<z.ZodString, "many">;
|
|
1048
|
+
}, "strip", z.ZodTypeAny, {
|
|
1049
|
+
checkType: string;
|
|
1050
|
+
delta: number;
|
|
1051
|
+
newFailures: string[];
|
|
1052
|
+
}, {
|
|
1053
|
+
checkType: string;
|
|
1054
|
+
delta: number;
|
|
1055
|
+
newFailures: string[];
|
|
1056
|
+
}>, "many">;
|
|
1057
|
+
scope: z.ZodOptional<z.ZodString>;
|
|
1058
|
+
}, "strip", z.ZodTypeAny, {
|
|
1059
|
+
hasRegressions: boolean;
|
|
1060
|
+
regressions: {
|
|
1061
|
+
checkType: string;
|
|
1062
|
+
delta: number;
|
|
1063
|
+
newFailures: string[];
|
|
1064
|
+
}[];
|
|
1065
|
+
scope?: string | undefined;
|
|
1066
|
+
}, {
|
|
1067
|
+
hasRegressions: boolean;
|
|
1068
|
+
regressions: {
|
|
1069
|
+
checkType: string;
|
|
1070
|
+
delta: number;
|
|
1071
|
+
newFailures: string[];
|
|
1072
|
+
}[];
|
|
1073
|
+
scope?: string | undefined;
|
|
1074
|
+
}>;
|
|
1075
|
+
type QARegressionsResponse = z.infer<typeof QARegressionsResponseSchema>;
|
|
1076
|
+
declare const QABaselineRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
1077
|
+
type QABaselineRequest = z.infer<typeof QABaselineRequestSchema>;
|
|
1078
|
+
declare const QABaselineResponseSchema: z.ZodObject<{
|
|
1079
|
+
baseline: z.ZodNullable<z.ZodObject<{
|
|
1080
|
+
timestamp: z.ZodString;
|
|
1081
|
+
git: z.ZodObject<{
|
|
1082
|
+
commit: z.ZodString;
|
|
1083
|
+
branch: z.ZodString;
|
|
1084
|
+
}, "strip", z.ZodTypeAny, {
|
|
1085
|
+
commit: string;
|
|
1086
|
+
branch: string;
|
|
1087
|
+
}, {
|
|
1088
|
+
commit: string;
|
|
1089
|
+
branch: string;
|
|
1090
|
+
}>;
|
|
1091
|
+
results: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1092
|
+
passed: z.ZodNumber;
|
|
1093
|
+
failed: z.ZodNumber;
|
|
1094
|
+
failedPackages: z.ZodArray<z.ZodString, "many">;
|
|
1095
|
+
}, "strip", z.ZodTypeAny, {
|
|
1096
|
+
passed: number;
|
|
1097
|
+
failed: number;
|
|
1098
|
+
failedPackages: string[];
|
|
1099
|
+
}, {
|
|
1100
|
+
passed: number;
|
|
1101
|
+
failed: number;
|
|
1102
|
+
failedPackages: string[];
|
|
1103
|
+
}>>;
|
|
1104
|
+
}, "strip", z.ZodTypeAny, {
|
|
1105
|
+
git: {
|
|
1106
|
+
commit: string;
|
|
1107
|
+
branch: string;
|
|
1108
|
+
};
|
|
1109
|
+
timestamp: string;
|
|
1110
|
+
results: Record<string, {
|
|
1111
|
+
passed: number;
|
|
1112
|
+
failed: number;
|
|
1113
|
+
failedPackages: string[];
|
|
1114
|
+
}>;
|
|
1115
|
+
}, {
|
|
1116
|
+
git: {
|
|
1117
|
+
commit: string;
|
|
1118
|
+
branch: string;
|
|
1119
|
+
};
|
|
1120
|
+
timestamp: string;
|
|
1121
|
+
results: Record<string, {
|
|
1122
|
+
passed: number;
|
|
1123
|
+
failed: number;
|
|
1124
|
+
failedPackages: string[];
|
|
1125
|
+
}>;
|
|
1126
|
+
}>>;
|
|
1127
|
+
}, "strip", z.ZodTypeAny, {
|
|
1128
|
+
baseline: {
|
|
1129
|
+
git: {
|
|
1130
|
+
commit: string;
|
|
1131
|
+
branch: string;
|
|
1132
|
+
};
|
|
1133
|
+
timestamp: string;
|
|
1134
|
+
results: Record<string, {
|
|
1135
|
+
passed: number;
|
|
1136
|
+
failed: number;
|
|
1137
|
+
failedPackages: string[];
|
|
1138
|
+
}>;
|
|
1139
|
+
} | null;
|
|
1140
|
+
}, {
|
|
1141
|
+
baseline: {
|
|
1142
|
+
git: {
|
|
1143
|
+
commit: string;
|
|
1144
|
+
branch: string;
|
|
1145
|
+
};
|
|
1146
|
+
timestamp: string;
|
|
1147
|
+
results: Record<string, {
|
|
1148
|
+
passed: number;
|
|
1149
|
+
failed: number;
|
|
1150
|
+
failedPackages: string[];
|
|
1151
|
+
}>;
|
|
1152
|
+
} | null;
|
|
1153
|
+
}>;
|
|
1154
|
+
type QABaselineResponse = z.infer<typeof QABaselineResponseSchema>;
|
|
1155
|
+
declare const QARunRequestSchema: z.ZodObject<{
|
|
1156
|
+
skipChecks: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1157
|
+
saveToHistory: z.ZodOptional<z.ZodBoolean>;
|
|
1158
|
+
}, "strip", z.ZodTypeAny, {
|
|
1159
|
+
skipChecks?: string[] | undefined;
|
|
1160
|
+
saveToHistory?: boolean | undefined;
|
|
1161
|
+
}, {
|
|
1162
|
+
skipChecks?: string[] | undefined;
|
|
1163
|
+
saveToHistory?: boolean | undefined;
|
|
1164
|
+
}>;
|
|
1165
|
+
type QARunRequest = z.infer<typeof QARunRequestSchema>;
|
|
1166
|
+
declare const QARunResponseSchema: z.ZodObject<{
|
|
1167
|
+
status: z.ZodEnum<["passed", "failed"]>;
|
|
1168
|
+
results: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1169
|
+
passed: z.ZodArray<z.ZodString, "many">;
|
|
1170
|
+
failed: z.ZodArray<z.ZodString, "many">;
|
|
1171
|
+
skipped: z.ZodArray<z.ZodString, "many">;
|
|
1172
|
+
errors: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
1173
|
+
}, "strip", z.ZodTypeAny, {
|
|
1174
|
+
passed: string[];
|
|
1175
|
+
failed: string[];
|
|
1176
|
+
skipped: string[];
|
|
1177
|
+
errors: Record<string, string>;
|
|
1178
|
+
}, {
|
|
1179
|
+
passed: string[];
|
|
1180
|
+
failed: string[];
|
|
1181
|
+
skipped: string[];
|
|
1182
|
+
errors: Record<string, string>;
|
|
1183
|
+
}>>;
|
|
1184
|
+
entry: z.ZodNullable<z.ZodObject<{
|
|
1185
|
+
timestamp: z.ZodString;
|
|
1186
|
+
git: z.ZodObject<{
|
|
1187
|
+
commit: z.ZodString;
|
|
1188
|
+
branch: z.ZodString;
|
|
1189
|
+
} & {
|
|
1190
|
+
message: z.ZodString;
|
|
1191
|
+
}, "strip", z.ZodTypeAny, {
|
|
1192
|
+
commit: string;
|
|
1193
|
+
branch: string;
|
|
1194
|
+
message: string;
|
|
1195
|
+
}, {
|
|
1196
|
+
commit: string;
|
|
1197
|
+
branch: string;
|
|
1198
|
+
message: string;
|
|
1199
|
+
}>;
|
|
1200
|
+
status: z.ZodEnum<["passed", "failed"]>;
|
|
1201
|
+
summary: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1202
|
+
passed: z.ZodNumber;
|
|
1203
|
+
failed: z.ZodNumber;
|
|
1204
|
+
skipped: z.ZodNumber;
|
|
1205
|
+
}, "strip", z.ZodTypeAny, {
|
|
1206
|
+
passed: number;
|
|
1207
|
+
failed: number;
|
|
1208
|
+
skipped: number;
|
|
1209
|
+
}, {
|
|
1210
|
+
passed: number;
|
|
1211
|
+
failed: number;
|
|
1212
|
+
skipped: number;
|
|
1213
|
+
}>>;
|
|
1214
|
+
failedPackages: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
|
|
1215
|
+
}, "strip", z.ZodTypeAny, {
|
|
1216
|
+
status: "passed" | "failed";
|
|
1217
|
+
git: {
|
|
1218
|
+
commit: string;
|
|
1219
|
+
branch: string;
|
|
1220
|
+
message: string;
|
|
1221
|
+
};
|
|
1222
|
+
timestamp: string;
|
|
1223
|
+
summary: Record<string, {
|
|
1224
|
+
passed: number;
|
|
1225
|
+
failed: number;
|
|
1226
|
+
skipped: number;
|
|
1227
|
+
}>;
|
|
1228
|
+
failedPackages: Record<string, string[]>;
|
|
1229
|
+
}, {
|
|
1230
|
+
status: "passed" | "failed";
|
|
1231
|
+
git: {
|
|
1232
|
+
commit: string;
|
|
1233
|
+
branch: string;
|
|
1234
|
+
message: string;
|
|
1235
|
+
};
|
|
1236
|
+
timestamp: string;
|
|
1237
|
+
summary: Record<string, {
|
|
1238
|
+
passed: number;
|
|
1239
|
+
failed: number;
|
|
1240
|
+
skipped: number;
|
|
1241
|
+
}>;
|
|
1242
|
+
failedPackages: Record<string, string[]>;
|
|
1243
|
+
}>>;
|
|
1244
|
+
durationMs: z.ZodNumber;
|
|
1245
|
+
}, "strip", z.ZodTypeAny, {
|
|
1246
|
+
status: "passed" | "failed";
|
|
1247
|
+
entry: {
|
|
1248
|
+
status: "passed" | "failed";
|
|
1249
|
+
git: {
|
|
1250
|
+
commit: string;
|
|
1251
|
+
branch: string;
|
|
1252
|
+
message: string;
|
|
1253
|
+
};
|
|
1254
|
+
timestamp: string;
|
|
1255
|
+
summary: Record<string, {
|
|
1256
|
+
passed: number;
|
|
1257
|
+
failed: number;
|
|
1258
|
+
skipped: number;
|
|
1259
|
+
}>;
|
|
1260
|
+
failedPackages: Record<string, string[]>;
|
|
1261
|
+
} | null;
|
|
1262
|
+
results: Record<string, {
|
|
1263
|
+
passed: string[];
|
|
1264
|
+
failed: string[];
|
|
1265
|
+
skipped: string[];
|
|
1266
|
+
errors: Record<string, string>;
|
|
1267
|
+
}>;
|
|
1268
|
+
durationMs: number;
|
|
1269
|
+
}, {
|
|
1270
|
+
status: "passed" | "failed";
|
|
1271
|
+
entry: {
|
|
1272
|
+
status: "passed" | "failed";
|
|
1273
|
+
git: {
|
|
1274
|
+
commit: string;
|
|
1275
|
+
branch: string;
|
|
1276
|
+
message: string;
|
|
1277
|
+
};
|
|
1278
|
+
timestamp: string;
|
|
1279
|
+
summary: Record<string, {
|
|
1280
|
+
passed: number;
|
|
1281
|
+
failed: number;
|
|
1282
|
+
skipped: number;
|
|
1283
|
+
}>;
|
|
1284
|
+
failedPackages: Record<string, string[]>;
|
|
1285
|
+
} | null;
|
|
1286
|
+
results: Record<string, {
|
|
1287
|
+
passed: string[];
|
|
1288
|
+
failed: string[];
|
|
1289
|
+
skipped: string[];
|
|
1290
|
+
errors: Record<string, string>;
|
|
1291
|
+
}>;
|
|
1292
|
+
durationMs: number;
|
|
1293
|
+
}>;
|
|
1294
|
+
type QARunResponse = z.infer<typeof QARunResponseSchema>;
|
|
1295
|
+
declare const QADetailsRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
1296
|
+
type QADetailsRequest = z.infer<typeof QADetailsRequestSchema>;
|
|
1297
|
+
declare const QADetailsResponseSchema: z.ZodObject<{
|
|
1298
|
+
timestamp: z.ZodNullable<z.ZodString>;
|
|
1299
|
+
git: z.ZodNullable<z.ZodObject<{
|
|
1300
|
+
commit: z.ZodString;
|
|
1301
|
+
branch: z.ZodString;
|
|
1302
|
+
} & {
|
|
1303
|
+
message: z.ZodString;
|
|
1304
|
+
}, "strip", z.ZodTypeAny, {
|
|
1305
|
+
commit: string;
|
|
1306
|
+
branch: string;
|
|
1307
|
+
message: string;
|
|
1308
|
+
}, {
|
|
1309
|
+
commit: string;
|
|
1310
|
+
branch: string;
|
|
1311
|
+
message: string;
|
|
1312
|
+
}>>;
|
|
1313
|
+
submodules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1314
|
+
name: z.ZodString;
|
|
1315
|
+
commit: z.ZodString;
|
|
1316
|
+
branch: z.ZodString;
|
|
1317
|
+
dirty: z.ZodBoolean;
|
|
1318
|
+
message: z.ZodString;
|
|
1319
|
+
}, "strip", z.ZodTypeAny, {
|
|
1320
|
+
commit: string;
|
|
1321
|
+
branch: string;
|
|
1322
|
+
dirty: boolean;
|
|
1323
|
+
message: string;
|
|
1324
|
+
name: string;
|
|
1325
|
+
}, {
|
|
1326
|
+
commit: string;
|
|
1327
|
+
branch: string;
|
|
1328
|
+
dirty: boolean;
|
|
1329
|
+
message: string;
|
|
1330
|
+
name: string;
|
|
1331
|
+
}>>>;
|
|
1332
|
+
checks: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1333
|
+
passed: z.ZodArray<z.ZodObject<{
|
|
1334
|
+
name: z.ZodString;
|
|
1335
|
+
repo: z.ZodString;
|
|
1336
|
+
status: z.ZodEnum<["passed", "failed", "skipped"]>;
|
|
1337
|
+
error: z.ZodOptional<z.ZodString>;
|
|
1338
|
+
submodule: z.ZodOptional<z.ZodObject<{
|
|
1339
|
+
name: z.ZodString;
|
|
1340
|
+
commit: z.ZodString;
|
|
1341
|
+
branch: z.ZodString;
|
|
1342
|
+
dirty: z.ZodBoolean;
|
|
1343
|
+
message: z.ZodString;
|
|
1344
|
+
}, "strip", z.ZodTypeAny, {
|
|
1345
|
+
commit: string;
|
|
1346
|
+
branch: string;
|
|
1347
|
+
dirty: boolean;
|
|
1348
|
+
message: string;
|
|
1349
|
+
name: string;
|
|
1350
|
+
}, {
|
|
1351
|
+
commit: string;
|
|
1352
|
+
branch: string;
|
|
1353
|
+
dirty: boolean;
|
|
1354
|
+
message: string;
|
|
1355
|
+
name: string;
|
|
1356
|
+
}>>;
|
|
1357
|
+
}, "strip", z.ZodTypeAny, {
|
|
1358
|
+
status: "passed" | "failed" | "skipped";
|
|
1359
|
+
name: string;
|
|
1360
|
+
repo: string;
|
|
1361
|
+
error?: string | undefined;
|
|
1362
|
+
submodule?: {
|
|
1363
|
+
commit: string;
|
|
1364
|
+
branch: string;
|
|
1365
|
+
dirty: boolean;
|
|
1366
|
+
message: string;
|
|
1367
|
+
name: string;
|
|
1368
|
+
} | undefined;
|
|
1369
|
+
}, {
|
|
1370
|
+
status: "passed" | "failed" | "skipped";
|
|
1371
|
+
name: string;
|
|
1372
|
+
repo: string;
|
|
1373
|
+
error?: string | undefined;
|
|
1374
|
+
submodule?: {
|
|
1375
|
+
commit: string;
|
|
1376
|
+
branch: string;
|
|
1377
|
+
dirty: boolean;
|
|
1378
|
+
message: string;
|
|
1379
|
+
name: string;
|
|
1380
|
+
} | undefined;
|
|
1381
|
+
}>, "many">;
|
|
1382
|
+
failed: z.ZodArray<z.ZodObject<{
|
|
1383
|
+
name: z.ZodString;
|
|
1384
|
+
repo: z.ZodString;
|
|
1385
|
+
status: z.ZodEnum<["passed", "failed", "skipped"]>;
|
|
1386
|
+
error: z.ZodOptional<z.ZodString>;
|
|
1387
|
+
submodule: z.ZodOptional<z.ZodObject<{
|
|
1388
|
+
name: z.ZodString;
|
|
1389
|
+
commit: z.ZodString;
|
|
1390
|
+
branch: z.ZodString;
|
|
1391
|
+
dirty: z.ZodBoolean;
|
|
1392
|
+
message: z.ZodString;
|
|
1393
|
+
}, "strip", z.ZodTypeAny, {
|
|
1394
|
+
commit: string;
|
|
1395
|
+
branch: string;
|
|
1396
|
+
dirty: boolean;
|
|
1397
|
+
message: string;
|
|
1398
|
+
name: string;
|
|
1399
|
+
}, {
|
|
1400
|
+
commit: string;
|
|
1401
|
+
branch: string;
|
|
1402
|
+
dirty: boolean;
|
|
1403
|
+
message: string;
|
|
1404
|
+
name: string;
|
|
1405
|
+
}>>;
|
|
1406
|
+
}, "strip", z.ZodTypeAny, {
|
|
1407
|
+
status: "passed" | "failed" | "skipped";
|
|
1408
|
+
name: string;
|
|
1409
|
+
repo: string;
|
|
1410
|
+
error?: string | undefined;
|
|
1411
|
+
submodule?: {
|
|
1412
|
+
commit: string;
|
|
1413
|
+
branch: string;
|
|
1414
|
+
dirty: boolean;
|
|
1415
|
+
message: string;
|
|
1416
|
+
name: string;
|
|
1417
|
+
} | undefined;
|
|
1418
|
+
}, {
|
|
1419
|
+
status: "passed" | "failed" | "skipped";
|
|
1420
|
+
name: string;
|
|
1421
|
+
repo: string;
|
|
1422
|
+
error?: string | undefined;
|
|
1423
|
+
submodule?: {
|
|
1424
|
+
commit: string;
|
|
1425
|
+
branch: string;
|
|
1426
|
+
dirty: boolean;
|
|
1427
|
+
message: string;
|
|
1428
|
+
name: string;
|
|
1429
|
+
} | undefined;
|
|
1430
|
+
}>, "many">;
|
|
1431
|
+
skipped: z.ZodArray<z.ZodObject<{
|
|
1432
|
+
name: z.ZodString;
|
|
1433
|
+
repo: z.ZodString;
|
|
1434
|
+
status: z.ZodEnum<["passed", "failed", "skipped"]>;
|
|
1435
|
+
error: z.ZodOptional<z.ZodString>;
|
|
1436
|
+
submodule: z.ZodOptional<z.ZodObject<{
|
|
1437
|
+
name: z.ZodString;
|
|
1438
|
+
commit: z.ZodString;
|
|
1439
|
+
branch: z.ZodString;
|
|
1440
|
+
dirty: z.ZodBoolean;
|
|
1441
|
+
message: z.ZodString;
|
|
1442
|
+
}, "strip", z.ZodTypeAny, {
|
|
1443
|
+
commit: string;
|
|
1444
|
+
branch: string;
|
|
1445
|
+
dirty: boolean;
|
|
1446
|
+
message: string;
|
|
1447
|
+
name: string;
|
|
1448
|
+
}, {
|
|
1449
|
+
commit: string;
|
|
1450
|
+
branch: string;
|
|
1451
|
+
dirty: boolean;
|
|
1452
|
+
message: string;
|
|
1453
|
+
name: string;
|
|
1454
|
+
}>>;
|
|
1455
|
+
}, "strip", z.ZodTypeAny, {
|
|
1456
|
+
status: "passed" | "failed" | "skipped";
|
|
1457
|
+
name: string;
|
|
1458
|
+
repo: string;
|
|
1459
|
+
error?: string | undefined;
|
|
1460
|
+
submodule?: {
|
|
1461
|
+
commit: string;
|
|
1462
|
+
branch: string;
|
|
1463
|
+
dirty: boolean;
|
|
1464
|
+
message: string;
|
|
1465
|
+
name: string;
|
|
1466
|
+
} | undefined;
|
|
1467
|
+
}, {
|
|
1468
|
+
status: "passed" | "failed" | "skipped";
|
|
1469
|
+
name: string;
|
|
1470
|
+
repo: string;
|
|
1471
|
+
error?: string | undefined;
|
|
1472
|
+
submodule?: {
|
|
1473
|
+
commit: string;
|
|
1474
|
+
branch: string;
|
|
1475
|
+
dirty: boolean;
|
|
1476
|
+
message: string;
|
|
1477
|
+
name: string;
|
|
1478
|
+
} | undefined;
|
|
1479
|
+
}>, "many">;
|
|
1480
|
+
}, "strip", z.ZodTypeAny, {
|
|
1481
|
+
passed: {
|
|
1482
|
+
status: "passed" | "failed" | "skipped";
|
|
1483
|
+
name: string;
|
|
1484
|
+
repo: string;
|
|
1485
|
+
error?: string | undefined;
|
|
1486
|
+
submodule?: {
|
|
1487
|
+
commit: string;
|
|
1488
|
+
branch: string;
|
|
1489
|
+
dirty: boolean;
|
|
1490
|
+
message: string;
|
|
1491
|
+
name: string;
|
|
1492
|
+
} | undefined;
|
|
1493
|
+
}[];
|
|
1494
|
+
failed: {
|
|
1495
|
+
status: "passed" | "failed" | "skipped";
|
|
1496
|
+
name: string;
|
|
1497
|
+
repo: string;
|
|
1498
|
+
error?: string | undefined;
|
|
1499
|
+
submodule?: {
|
|
1500
|
+
commit: string;
|
|
1501
|
+
branch: string;
|
|
1502
|
+
dirty: boolean;
|
|
1503
|
+
message: string;
|
|
1504
|
+
name: string;
|
|
1505
|
+
} | undefined;
|
|
1506
|
+
}[];
|
|
1507
|
+
skipped: {
|
|
1508
|
+
status: "passed" | "failed" | "skipped";
|
|
1509
|
+
name: string;
|
|
1510
|
+
repo: string;
|
|
1511
|
+
error?: string | undefined;
|
|
1512
|
+
submodule?: {
|
|
1513
|
+
commit: string;
|
|
1514
|
+
branch: string;
|
|
1515
|
+
dirty: boolean;
|
|
1516
|
+
message: string;
|
|
1517
|
+
name: string;
|
|
1518
|
+
} | undefined;
|
|
1519
|
+
}[];
|
|
1520
|
+
}, {
|
|
1521
|
+
passed: {
|
|
1522
|
+
status: "passed" | "failed" | "skipped";
|
|
1523
|
+
name: string;
|
|
1524
|
+
repo: string;
|
|
1525
|
+
error?: string | undefined;
|
|
1526
|
+
submodule?: {
|
|
1527
|
+
commit: string;
|
|
1528
|
+
branch: string;
|
|
1529
|
+
dirty: boolean;
|
|
1530
|
+
message: string;
|
|
1531
|
+
name: string;
|
|
1532
|
+
} | undefined;
|
|
1533
|
+
}[];
|
|
1534
|
+
failed: {
|
|
1535
|
+
status: "passed" | "failed" | "skipped";
|
|
1536
|
+
name: string;
|
|
1537
|
+
repo: string;
|
|
1538
|
+
error?: string | undefined;
|
|
1539
|
+
submodule?: {
|
|
1540
|
+
commit: string;
|
|
1541
|
+
branch: string;
|
|
1542
|
+
dirty: boolean;
|
|
1543
|
+
message: string;
|
|
1544
|
+
name: string;
|
|
1545
|
+
} | undefined;
|
|
1546
|
+
}[];
|
|
1547
|
+
skipped: {
|
|
1548
|
+
status: "passed" | "failed" | "skipped";
|
|
1549
|
+
name: string;
|
|
1550
|
+
repo: string;
|
|
1551
|
+
error?: string | undefined;
|
|
1552
|
+
submodule?: {
|
|
1553
|
+
commit: string;
|
|
1554
|
+
branch: string;
|
|
1555
|
+
dirty: boolean;
|
|
1556
|
+
message: string;
|
|
1557
|
+
name: string;
|
|
1558
|
+
} | undefined;
|
|
1559
|
+
}[];
|
|
1560
|
+
}>>;
|
|
1561
|
+
}, "strip", z.ZodTypeAny, {
|
|
1562
|
+
git: {
|
|
1563
|
+
commit: string;
|
|
1564
|
+
branch: string;
|
|
1565
|
+
message: string;
|
|
1566
|
+
} | null;
|
|
1567
|
+
checks: Record<string, {
|
|
1568
|
+
passed: {
|
|
1569
|
+
status: "passed" | "failed" | "skipped";
|
|
1570
|
+
name: string;
|
|
1571
|
+
repo: string;
|
|
1572
|
+
error?: string | undefined;
|
|
1573
|
+
submodule?: {
|
|
1574
|
+
commit: string;
|
|
1575
|
+
branch: string;
|
|
1576
|
+
dirty: boolean;
|
|
1577
|
+
message: string;
|
|
1578
|
+
name: string;
|
|
1579
|
+
} | undefined;
|
|
1580
|
+
}[];
|
|
1581
|
+
failed: {
|
|
1582
|
+
status: "passed" | "failed" | "skipped";
|
|
1583
|
+
name: string;
|
|
1584
|
+
repo: string;
|
|
1585
|
+
error?: string | undefined;
|
|
1586
|
+
submodule?: {
|
|
1587
|
+
commit: string;
|
|
1588
|
+
branch: string;
|
|
1589
|
+
dirty: boolean;
|
|
1590
|
+
message: string;
|
|
1591
|
+
name: string;
|
|
1592
|
+
} | undefined;
|
|
1593
|
+
}[];
|
|
1594
|
+
skipped: {
|
|
1595
|
+
status: "passed" | "failed" | "skipped";
|
|
1596
|
+
name: string;
|
|
1597
|
+
repo: string;
|
|
1598
|
+
error?: string | undefined;
|
|
1599
|
+
submodule?: {
|
|
1600
|
+
commit: string;
|
|
1601
|
+
branch: string;
|
|
1602
|
+
dirty: boolean;
|
|
1603
|
+
message: string;
|
|
1604
|
+
name: string;
|
|
1605
|
+
} | undefined;
|
|
1606
|
+
}[];
|
|
1607
|
+
}>;
|
|
1608
|
+
timestamp: string | null;
|
|
1609
|
+
submodules?: Record<string, {
|
|
1610
|
+
commit: string;
|
|
1611
|
+
branch: string;
|
|
1612
|
+
dirty: boolean;
|
|
1613
|
+
message: string;
|
|
1614
|
+
name: string;
|
|
1615
|
+
}> | undefined;
|
|
1616
|
+
}, {
|
|
1617
|
+
git: {
|
|
1618
|
+
commit: string;
|
|
1619
|
+
branch: string;
|
|
1620
|
+
message: string;
|
|
1621
|
+
} | null;
|
|
1622
|
+
checks: Record<string, {
|
|
1623
|
+
passed: {
|
|
1624
|
+
status: "passed" | "failed" | "skipped";
|
|
1625
|
+
name: string;
|
|
1626
|
+
repo: string;
|
|
1627
|
+
error?: string | undefined;
|
|
1628
|
+
submodule?: {
|
|
1629
|
+
commit: string;
|
|
1630
|
+
branch: string;
|
|
1631
|
+
dirty: boolean;
|
|
1632
|
+
message: string;
|
|
1633
|
+
name: string;
|
|
1634
|
+
} | undefined;
|
|
1635
|
+
}[];
|
|
1636
|
+
failed: {
|
|
1637
|
+
status: "passed" | "failed" | "skipped";
|
|
1638
|
+
name: string;
|
|
1639
|
+
repo: string;
|
|
1640
|
+
error?: string | undefined;
|
|
1641
|
+
submodule?: {
|
|
1642
|
+
commit: string;
|
|
1643
|
+
branch: string;
|
|
1644
|
+
dirty: boolean;
|
|
1645
|
+
message: string;
|
|
1646
|
+
name: string;
|
|
1647
|
+
} | undefined;
|
|
1648
|
+
}[];
|
|
1649
|
+
skipped: {
|
|
1650
|
+
status: "passed" | "failed" | "skipped";
|
|
1651
|
+
name: string;
|
|
1652
|
+
repo: string;
|
|
1653
|
+
error?: string | undefined;
|
|
1654
|
+
submodule?: {
|
|
1655
|
+
commit: string;
|
|
1656
|
+
branch: string;
|
|
1657
|
+
dirty: boolean;
|
|
1658
|
+
message: string;
|
|
1659
|
+
name: string;
|
|
1660
|
+
} | undefined;
|
|
1661
|
+
}[];
|
|
1662
|
+
}>;
|
|
1663
|
+
timestamp: string | null;
|
|
1664
|
+
submodules?: Record<string, {
|
|
1665
|
+
commit: string;
|
|
1666
|
+
branch: string;
|
|
1667
|
+
dirty: boolean;
|
|
1668
|
+
message: string;
|
|
1669
|
+
name: string;
|
|
1670
|
+
}> | undefined;
|
|
1671
|
+
}>;
|
|
1672
|
+
type QADetailsResponse = z.infer<typeof QADetailsResponseSchema>;
|
|
1673
|
+
declare const QARunCheckRequestSchema: z.ZodObject<{
|
|
1674
|
+
checkType: z.ZodString;
|
|
1675
|
+
repo: z.ZodOptional<z.ZodString>;
|
|
1676
|
+
package: z.ZodOptional<z.ZodString>;
|
|
1677
|
+
}, "strip", z.ZodTypeAny, {
|
|
1678
|
+
checkType: string;
|
|
1679
|
+
repo?: string | undefined;
|
|
1680
|
+
package?: string | undefined;
|
|
1681
|
+
}, {
|
|
1682
|
+
checkType: string;
|
|
1683
|
+
repo?: string | undefined;
|
|
1684
|
+
package?: string | undefined;
|
|
1685
|
+
}>;
|
|
1686
|
+
type QARunCheckRequest = z.infer<typeof QARunCheckRequestSchema>;
|
|
1687
|
+
declare const QARunCheckResponseSchema: z.ZodObject<{
|
|
1688
|
+
checkType: z.ZodString;
|
|
1689
|
+
status: z.ZodEnum<["passed", "failed"]>;
|
|
1690
|
+
result: z.ZodObject<{
|
|
1691
|
+
passed: z.ZodArray<z.ZodString, "many">;
|
|
1692
|
+
failed: z.ZodArray<z.ZodString, "many">;
|
|
1693
|
+
skipped: z.ZodArray<z.ZodString, "many">;
|
|
1694
|
+
errors: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
1695
|
+
}, "strip", z.ZodTypeAny, {
|
|
1696
|
+
passed: string[];
|
|
1697
|
+
failed: string[];
|
|
1698
|
+
skipped: string[];
|
|
1699
|
+
errors: Record<string, string>;
|
|
1700
|
+
}, {
|
|
1701
|
+
passed: string[];
|
|
1702
|
+
failed: string[];
|
|
1703
|
+
skipped: string[];
|
|
1704
|
+
errors: Record<string, string>;
|
|
1705
|
+
}>;
|
|
1706
|
+
durationMs: z.ZodNumber;
|
|
1707
|
+
}, "strip", z.ZodTypeAny, {
|
|
1708
|
+
status: "passed" | "failed";
|
|
1709
|
+
checkType: string;
|
|
1710
|
+
durationMs: number;
|
|
1711
|
+
result: {
|
|
1712
|
+
passed: string[];
|
|
1713
|
+
failed: string[];
|
|
1714
|
+
skipped: string[];
|
|
1715
|
+
errors: Record<string, string>;
|
|
1716
|
+
};
|
|
1717
|
+
}, {
|
|
1718
|
+
status: "passed" | "failed";
|
|
1719
|
+
checkType: string;
|
|
1720
|
+
durationMs: number;
|
|
1721
|
+
result: {
|
|
1722
|
+
passed: string[];
|
|
1723
|
+
failed: string[];
|
|
1724
|
+
skipped: string[];
|
|
1725
|
+
errors: Record<string, string>;
|
|
1726
|
+
};
|
|
1727
|
+
}>;
|
|
1728
|
+
type QARunCheckResponse = z.infer<typeof QARunCheckResponseSchema>;
|
|
1729
|
+
declare const QABaselineUpdateRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
1730
|
+
type QABaselineUpdateRequest = z.infer<typeof QABaselineUpdateRequestSchema>;
|
|
1731
|
+
declare const QABaselineUpdateResponseSchema: z.ZodObject<{
|
|
1732
|
+
success: z.ZodBoolean;
|
|
1733
|
+
baseline: z.ZodObject<{
|
|
1734
|
+
timestamp: z.ZodString;
|
|
1735
|
+
git: z.ZodObject<{
|
|
1736
|
+
commit: z.ZodString;
|
|
1737
|
+
branch: z.ZodString;
|
|
1738
|
+
}, "strip", z.ZodTypeAny, {
|
|
1739
|
+
commit: string;
|
|
1740
|
+
branch: string;
|
|
1741
|
+
}, {
|
|
1742
|
+
commit: string;
|
|
1743
|
+
branch: string;
|
|
1744
|
+
}>;
|
|
1745
|
+
results: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1746
|
+
passed: z.ZodNumber;
|
|
1747
|
+
failed: z.ZodNumber;
|
|
1748
|
+
failedPackages: z.ZodArray<z.ZodString, "many">;
|
|
1749
|
+
}, "strip", z.ZodTypeAny, {
|
|
1750
|
+
passed: number;
|
|
1751
|
+
failed: number;
|
|
1752
|
+
failedPackages: string[];
|
|
1753
|
+
}, {
|
|
1754
|
+
passed: number;
|
|
1755
|
+
failed: number;
|
|
1756
|
+
failedPackages: string[];
|
|
1757
|
+
}>>;
|
|
1758
|
+
}, "strip", z.ZodTypeAny, {
|
|
1759
|
+
git: {
|
|
1760
|
+
commit: string;
|
|
1761
|
+
branch: string;
|
|
1762
|
+
};
|
|
1763
|
+
timestamp: string;
|
|
1764
|
+
results: Record<string, {
|
|
1765
|
+
passed: number;
|
|
1766
|
+
failed: number;
|
|
1767
|
+
failedPackages: string[];
|
|
1768
|
+
}>;
|
|
1769
|
+
}, {
|
|
1770
|
+
git: {
|
|
1771
|
+
commit: string;
|
|
1772
|
+
branch: string;
|
|
1773
|
+
};
|
|
1774
|
+
timestamp: string;
|
|
1775
|
+
results: Record<string, {
|
|
1776
|
+
passed: number;
|
|
1777
|
+
failed: number;
|
|
1778
|
+
failedPackages: string[];
|
|
1779
|
+
}>;
|
|
1780
|
+
}>;
|
|
1781
|
+
}, "strip", z.ZodTypeAny, {
|
|
1782
|
+
baseline: {
|
|
1783
|
+
git: {
|
|
1784
|
+
commit: string;
|
|
1785
|
+
branch: string;
|
|
1786
|
+
};
|
|
1787
|
+
timestamp: string;
|
|
1788
|
+
results: Record<string, {
|
|
1789
|
+
passed: number;
|
|
1790
|
+
failed: number;
|
|
1791
|
+
failedPackages: string[];
|
|
1792
|
+
}>;
|
|
1793
|
+
};
|
|
1794
|
+
success: boolean;
|
|
1795
|
+
}, {
|
|
1796
|
+
baseline: {
|
|
1797
|
+
git: {
|
|
1798
|
+
commit: string;
|
|
1799
|
+
branch: string;
|
|
1800
|
+
};
|
|
1801
|
+
timestamp: string;
|
|
1802
|
+
results: Record<string, {
|
|
1803
|
+
passed: number;
|
|
1804
|
+
failed: number;
|
|
1805
|
+
failedPackages: string[];
|
|
1806
|
+
}>;
|
|
1807
|
+
};
|
|
1808
|
+
success: boolean;
|
|
1809
|
+
}>;
|
|
1810
|
+
type QABaselineUpdateResponse = z.infer<typeof QABaselineUpdateResponseSchema>;
|
|
1811
|
+
declare const QABaselineDiffRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
1812
|
+
type QABaselineDiffRequest = z.infer<typeof QABaselineDiffRequestSchema>;
|
|
1813
|
+
declare const QABaselineDiffResponseSchema: z.ZodObject<{
|
|
1814
|
+
hasDiff: z.ZodBoolean;
|
|
1815
|
+
diff: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1816
|
+
newFailures: z.ZodArray<z.ZodString, "many">;
|
|
1817
|
+
fixed: z.ZodArray<z.ZodString, "many">;
|
|
1818
|
+
stillFailing: z.ZodArray<z.ZodString, "many">;
|
|
1819
|
+
delta: z.ZodNumber;
|
|
1820
|
+
}, "strip", z.ZodTypeAny, {
|
|
1821
|
+
delta: number;
|
|
1822
|
+
newFailures: string[];
|
|
1823
|
+
fixed: string[];
|
|
1824
|
+
stillFailing: string[];
|
|
1825
|
+
}, {
|
|
1826
|
+
delta: number;
|
|
1827
|
+
newFailures: string[];
|
|
1828
|
+
fixed: string[];
|
|
1829
|
+
stillFailing: string[];
|
|
1830
|
+
}>>;
|
|
1831
|
+
baseline: z.ZodNullable<z.ZodObject<{
|
|
1832
|
+
timestamp: z.ZodString;
|
|
1833
|
+
git: z.ZodObject<{
|
|
1834
|
+
commit: z.ZodString;
|
|
1835
|
+
branch: z.ZodString;
|
|
1836
|
+
}, "strip", z.ZodTypeAny, {
|
|
1837
|
+
commit: string;
|
|
1838
|
+
branch: string;
|
|
1839
|
+
}, {
|
|
1840
|
+
commit: string;
|
|
1841
|
+
branch: string;
|
|
1842
|
+
}>;
|
|
1843
|
+
results: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1844
|
+
passed: z.ZodNumber;
|
|
1845
|
+
failed: z.ZodNumber;
|
|
1846
|
+
failedPackages: z.ZodArray<z.ZodString, "many">;
|
|
1847
|
+
}, "strip", z.ZodTypeAny, {
|
|
1848
|
+
passed: number;
|
|
1849
|
+
failed: number;
|
|
1850
|
+
failedPackages: string[];
|
|
1851
|
+
}, {
|
|
1852
|
+
passed: number;
|
|
1853
|
+
failed: number;
|
|
1854
|
+
failedPackages: string[];
|
|
1855
|
+
}>>;
|
|
1856
|
+
}, "strip", z.ZodTypeAny, {
|
|
1857
|
+
git: {
|
|
1858
|
+
commit: string;
|
|
1859
|
+
branch: string;
|
|
1860
|
+
};
|
|
1861
|
+
timestamp: string;
|
|
1862
|
+
results: Record<string, {
|
|
1863
|
+
passed: number;
|
|
1864
|
+
failed: number;
|
|
1865
|
+
failedPackages: string[];
|
|
1866
|
+
}>;
|
|
1867
|
+
}, {
|
|
1868
|
+
git: {
|
|
1869
|
+
commit: string;
|
|
1870
|
+
branch: string;
|
|
1871
|
+
};
|
|
1872
|
+
timestamp: string;
|
|
1873
|
+
results: Record<string, {
|
|
1874
|
+
passed: number;
|
|
1875
|
+
failed: number;
|
|
1876
|
+
failedPackages: string[];
|
|
1877
|
+
}>;
|
|
1878
|
+
}>>;
|
|
1879
|
+
current: z.ZodNullable<z.ZodObject<{
|
|
1880
|
+
timestamp: z.ZodString;
|
|
1881
|
+
summary: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
1882
|
+
passed: z.ZodNumber;
|
|
1883
|
+
failed: z.ZodNumber;
|
|
1884
|
+
}, "strip", z.ZodTypeAny, {
|
|
1885
|
+
passed: number;
|
|
1886
|
+
failed: number;
|
|
1887
|
+
}, {
|
|
1888
|
+
passed: number;
|
|
1889
|
+
failed: number;
|
|
1890
|
+
}>>;
|
|
1891
|
+
}, "strip", z.ZodTypeAny, {
|
|
1892
|
+
timestamp: string;
|
|
1893
|
+
summary: Record<string, {
|
|
1894
|
+
passed: number;
|
|
1895
|
+
failed: number;
|
|
1896
|
+
}>;
|
|
1897
|
+
}, {
|
|
1898
|
+
timestamp: string;
|
|
1899
|
+
summary: Record<string, {
|
|
1900
|
+
passed: number;
|
|
1901
|
+
failed: number;
|
|
1902
|
+
}>;
|
|
1903
|
+
}>>;
|
|
1904
|
+
}, "strip", z.ZodTypeAny, {
|
|
1905
|
+
current: {
|
|
1906
|
+
timestamp: string;
|
|
1907
|
+
summary: Record<string, {
|
|
1908
|
+
passed: number;
|
|
1909
|
+
failed: number;
|
|
1910
|
+
}>;
|
|
1911
|
+
} | null;
|
|
1912
|
+
baseline: {
|
|
1913
|
+
git: {
|
|
1914
|
+
commit: string;
|
|
1915
|
+
branch: string;
|
|
1916
|
+
};
|
|
1917
|
+
timestamp: string;
|
|
1918
|
+
results: Record<string, {
|
|
1919
|
+
passed: number;
|
|
1920
|
+
failed: number;
|
|
1921
|
+
failedPackages: string[];
|
|
1922
|
+
}>;
|
|
1923
|
+
} | null;
|
|
1924
|
+
hasDiff: boolean;
|
|
1925
|
+
diff: Record<string, {
|
|
1926
|
+
delta: number;
|
|
1927
|
+
newFailures: string[];
|
|
1928
|
+
fixed: string[];
|
|
1929
|
+
stillFailing: string[];
|
|
1930
|
+
}>;
|
|
1931
|
+
}, {
|
|
1932
|
+
current: {
|
|
1933
|
+
timestamp: string;
|
|
1934
|
+
summary: Record<string, {
|
|
1935
|
+
passed: number;
|
|
1936
|
+
failed: number;
|
|
1937
|
+
}>;
|
|
1938
|
+
} | null;
|
|
1939
|
+
baseline: {
|
|
1940
|
+
git: {
|
|
1941
|
+
commit: string;
|
|
1942
|
+
branch: string;
|
|
1943
|
+
};
|
|
1944
|
+
timestamp: string;
|
|
1945
|
+
results: Record<string, {
|
|
1946
|
+
passed: number;
|
|
1947
|
+
failed: number;
|
|
1948
|
+
failedPackages: string[];
|
|
1949
|
+
}>;
|
|
1950
|
+
} | null;
|
|
1951
|
+
hasDiff: boolean;
|
|
1952
|
+
diff: Record<string, {
|
|
1953
|
+
delta: number;
|
|
1954
|
+
newFailures: string[];
|
|
1955
|
+
fixed: string[];
|
|
1956
|
+
stillFailing: string[];
|
|
1957
|
+
}>;
|
|
1958
|
+
}>;
|
|
1959
|
+
type QABaselineDiffResponse = z.infer<typeof QABaselineDiffResponseSchema>;
|
|
1960
|
+
declare const QAPackageTimelineRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
1961
|
+
type QAPackageTimelineRequest = z.infer<typeof QAPackageTimelineRequestSchema>;
|
|
1962
|
+
declare const QAPackageTimelineResponseSchema: z.ZodObject<{
|
|
1963
|
+
packageName: z.ZodString;
|
|
1964
|
+
repo: z.ZodString;
|
|
1965
|
+
entries: z.ZodArray<z.ZodObject<{
|
|
1966
|
+
timestamp: z.ZodString;
|
|
1967
|
+
git: z.ZodObject<{
|
|
1968
|
+
commit: z.ZodString;
|
|
1969
|
+
branch: z.ZodString;
|
|
1970
|
+
} & {
|
|
1971
|
+
message: z.ZodString;
|
|
1972
|
+
}, "strip", z.ZodTypeAny, {
|
|
1973
|
+
commit: string;
|
|
1974
|
+
branch: string;
|
|
1975
|
+
message: string;
|
|
1976
|
+
}, {
|
|
1977
|
+
commit: string;
|
|
1978
|
+
branch: string;
|
|
1979
|
+
message: string;
|
|
1980
|
+
}>;
|
|
1981
|
+
submoduleCommit: z.ZodOptional<z.ZodString>;
|
|
1982
|
+
checks: z.ZodRecord<z.ZodString, z.ZodEnum<["passed", "failed", "skipped"]>>;
|
|
1983
|
+
}, "strip", z.ZodTypeAny, {
|
|
1984
|
+
git: {
|
|
1985
|
+
commit: string;
|
|
1986
|
+
branch: string;
|
|
1987
|
+
message: string;
|
|
1988
|
+
};
|
|
1989
|
+
checks: Record<string, "passed" | "failed" | "skipped">;
|
|
1990
|
+
timestamp: string;
|
|
1991
|
+
submoduleCommit?: string | undefined;
|
|
1992
|
+
}, {
|
|
1993
|
+
git: {
|
|
1994
|
+
commit: string;
|
|
1995
|
+
branch: string;
|
|
1996
|
+
message: string;
|
|
1997
|
+
};
|
|
1998
|
+
checks: Record<string, "passed" | "failed" | "skipped">;
|
|
1999
|
+
timestamp: string;
|
|
2000
|
+
submoduleCommit?: string | undefined;
|
|
2001
|
+
}>, "many">;
|
|
2002
|
+
flakyScore: z.ZodNumber;
|
|
2003
|
+
flakyChecks: z.ZodArray<z.ZodString, "many">;
|
|
2004
|
+
firstFailure: z.ZodOptional<z.ZodString>;
|
|
2005
|
+
currentStreak: z.ZodObject<{
|
|
2006
|
+
status: z.ZodEnum<["passing", "failing"]>;
|
|
2007
|
+
count: z.ZodNumber;
|
|
2008
|
+
}, "strip", z.ZodTypeAny, {
|
|
2009
|
+
status: "passing" | "failing";
|
|
2010
|
+
count: number;
|
|
2011
|
+
}, {
|
|
2012
|
+
status: "passing" | "failing";
|
|
2013
|
+
count: number;
|
|
2014
|
+
}>;
|
|
2015
|
+
}, "strip", z.ZodTypeAny, {
|
|
2016
|
+
entries: {
|
|
2017
|
+
git: {
|
|
2018
|
+
commit: string;
|
|
2019
|
+
branch: string;
|
|
2020
|
+
message: string;
|
|
2021
|
+
};
|
|
2022
|
+
checks: Record<string, "passed" | "failed" | "skipped">;
|
|
2023
|
+
timestamp: string;
|
|
2024
|
+
submoduleCommit?: string | undefined;
|
|
2025
|
+
}[];
|
|
2026
|
+
repo: string;
|
|
2027
|
+
packageName: string;
|
|
2028
|
+
flakyScore: number;
|
|
2029
|
+
flakyChecks: string[];
|
|
2030
|
+
currentStreak: {
|
|
2031
|
+
status: "passing" | "failing";
|
|
2032
|
+
count: number;
|
|
2033
|
+
};
|
|
2034
|
+
firstFailure?: string | undefined;
|
|
2035
|
+
}, {
|
|
2036
|
+
entries: {
|
|
2037
|
+
git: {
|
|
2038
|
+
commit: string;
|
|
2039
|
+
branch: string;
|
|
2040
|
+
message: string;
|
|
2041
|
+
};
|
|
2042
|
+
checks: Record<string, "passed" | "failed" | "skipped">;
|
|
2043
|
+
timestamp: string;
|
|
2044
|
+
submoduleCommit?: string | undefined;
|
|
2045
|
+
}[];
|
|
2046
|
+
repo: string;
|
|
2047
|
+
packageName: string;
|
|
2048
|
+
flakyScore: number;
|
|
2049
|
+
flakyChecks: string[];
|
|
2050
|
+
currentStreak: {
|
|
2051
|
+
status: "passing" | "failing";
|
|
2052
|
+
count: number;
|
|
2053
|
+
};
|
|
2054
|
+
firstFailure?: string | undefined;
|
|
2055
|
+
}>;
|
|
2056
|
+
type QAPackageTimelineResponse = z.infer<typeof QAPackageTimelineResponseSchema>;
|
|
2057
|
+
declare const QAErrorGroupsRequestSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
|
|
2058
|
+
type QAErrorGroupsRequest = z.infer<typeof QAErrorGroupsRequestSchema>;
|
|
2059
|
+
declare const QAErrorGroupsResponseSchema: z.ZodObject<{
|
|
2060
|
+
groups: z.ZodArray<z.ZodObject<{
|
|
2061
|
+
pattern: z.ZodString;
|
|
2062
|
+
count: z.ZodNumber;
|
|
2063
|
+
packages: z.ZodArray<z.ZodString, "many">;
|
|
2064
|
+
checkType: z.ZodString;
|
|
2065
|
+
example: z.ZodString;
|
|
2066
|
+
}, "strip", z.ZodTypeAny, {
|
|
2067
|
+
checkType: string;
|
|
2068
|
+
count: number;
|
|
2069
|
+
pattern: string;
|
|
2070
|
+
packages: string[];
|
|
2071
|
+
example: string;
|
|
2072
|
+
}, {
|
|
2073
|
+
checkType: string;
|
|
2074
|
+
count: number;
|
|
2075
|
+
pattern: string;
|
|
2076
|
+
packages: string[];
|
|
2077
|
+
example: string;
|
|
2078
|
+
}>, "many">;
|
|
2079
|
+
ungrouped: z.ZodNumber;
|
|
2080
|
+
}, "strip", z.ZodTypeAny, {
|
|
2081
|
+
groups: {
|
|
2082
|
+
checkType: string;
|
|
2083
|
+
count: number;
|
|
2084
|
+
pattern: string;
|
|
2085
|
+
packages: string[];
|
|
2086
|
+
example: string;
|
|
2087
|
+
}[];
|
|
2088
|
+
ungrouped: number;
|
|
2089
|
+
}, {
|
|
2090
|
+
groups: {
|
|
2091
|
+
checkType: string;
|
|
2092
|
+
count: number;
|
|
2093
|
+
pattern: string;
|
|
2094
|
+
packages: string[];
|
|
2095
|
+
example: string;
|
|
2096
|
+
}[];
|
|
2097
|
+
ungrouped: number;
|
|
2098
|
+
}>;
|
|
2099
|
+
type QAErrorGroupsResponse = z.infer<typeof QAErrorGroupsResponseSchema>;
|
|
2100
|
+
|
|
2101
|
+
/**
|
|
2102
|
+
* Data directory for the QA plugin, relative to monorepo root.
|
|
2103
|
+
*/
|
|
2104
|
+
declare const QA_DATA_DIR = ".kb/qa";
|
|
2105
|
+
/**
|
|
2106
|
+
* File paths for QA plugin data storage (relative to monorepo root).
|
|
2107
|
+
*/
|
|
2108
|
+
declare const PATHS: {
|
|
2109
|
+
readonly BASELINE: ".kb/qa/baseline.json";
|
|
2110
|
+
readonly HISTORY: ".kb/qa/history.json";
|
|
2111
|
+
readonly CACHE: ".kb/qa/cache.json";
|
|
2112
|
+
readonly LAST_RUN: ".kb/qa/last-run.json";
|
|
2113
|
+
};
|
|
2114
|
+
/**
|
|
2115
|
+
* Maximum number of history entries to keep.
|
|
2116
|
+
*/
|
|
2117
|
+
declare const HISTORY_MAX_ENTRIES = 50;
|
|
2118
|
+
/**
|
|
2119
|
+
* Default number of entries for trend analysis window.
|
|
2120
|
+
*/
|
|
2121
|
+
declare const TRENDS_WINDOW = 10;
|
|
2122
|
+
/**
|
|
2123
|
+
* Get display label for a check type. Priority: configName > known default > id.
|
|
2124
|
+
*/
|
|
2125
|
+
declare function getCheckLabel(id: string, configName?: string): string;
|
|
2126
|
+
/**
|
|
2127
|
+
* Get display icon (emoji) for a check type. Priority: configIcon > known default > generic.
|
|
2128
|
+
*/
|
|
2129
|
+
declare function getCheckIcon(id: string, configIcon?: string): string;
|
|
2130
|
+
|
|
2131
|
+
/**
|
|
2132
|
+
* @module @kb-labs/qa-contracts/routes
|
|
2133
|
+
* REST API route constants for QA plugin
|
|
2134
|
+
*/
|
|
2135
|
+
/**
|
|
2136
|
+
* REST API base path for QA plugin
|
|
2137
|
+
*/
|
|
2138
|
+
declare const QA_BASE_PATH: "/v1/plugins/qa";
|
|
2139
|
+
/**
|
|
2140
|
+
* REST API route paths (relative to basePath)
|
|
2141
|
+
*/
|
|
2142
|
+
declare const QA_ROUTES: {
|
|
2143
|
+
/** GET /summary - Aggregated QA overview */
|
|
2144
|
+
readonly SUMMARY: "/summary";
|
|
2145
|
+
/** GET /latest - Last QA run result */
|
|
2146
|
+
readonly LATEST: "/latest";
|
|
2147
|
+
/** GET /history - QA run history */
|
|
2148
|
+
readonly HISTORY: "/history";
|
|
2149
|
+
/** GET /trends - Trend analysis */
|
|
2150
|
+
readonly TRENDS: "/trends";
|
|
2151
|
+
/** GET /regressions - Regression detection */
|
|
2152
|
+
readonly REGRESSIONS: "/regressions";
|
|
2153
|
+
/** GET /baseline - Current baseline snapshot */
|
|
2154
|
+
readonly BASELINE: "/baseline";
|
|
2155
|
+
/** POST /run - Run QA checks */
|
|
2156
|
+
readonly RUN: "/run";
|
|
2157
|
+
/** GET /details - Per-package details with errors from last run */
|
|
2158
|
+
readonly DETAILS: "/details";
|
|
2159
|
+
/** POST /run/check - Run a single check type */
|
|
2160
|
+
readonly RUN_CHECK: "/run/check";
|
|
2161
|
+
/** POST /baseline/update - Update baseline from last run */
|
|
2162
|
+
readonly BASELINE_UPDATE: "/baseline/update";
|
|
2163
|
+
/** GET /baseline/diff - Diff current state vs baseline */
|
|
2164
|
+
readonly BASELINE_DIFF: "/baseline/diff";
|
|
2165
|
+
/** GET /packages/:name/timeline - Per-package QA history timeline */
|
|
2166
|
+
readonly PACKAGE_TIMELINE: "/packages/:name/timeline";
|
|
2167
|
+
/** GET /errors/groups - Grouped errors by pattern */
|
|
2168
|
+
readonly ERROR_GROUPS: "/errors/groups";
|
|
2169
|
+
};
|
|
2170
|
+
/**
|
|
2171
|
+
* Full REST API URLs (basePath + route)
|
|
2172
|
+
* Useful for testing and documentation
|
|
2173
|
+
*/
|
|
2174
|
+
declare const QA_FULL_ROUTES: {
|
|
2175
|
+
readonly SUMMARY: "/v1/plugins/qa/summary";
|
|
2176
|
+
readonly LATEST: "/v1/plugins/qa/latest";
|
|
2177
|
+
readonly HISTORY: "/v1/plugins/qa/history";
|
|
2178
|
+
readonly TRENDS: "/v1/plugins/qa/trends";
|
|
2179
|
+
readonly REGRESSIONS: "/v1/plugins/qa/regressions";
|
|
2180
|
+
readonly BASELINE: "/v1/plugins/qa/baseline";
|
|
2181
|
+
readonly RUN: "/v1/plugins/qa/run";
|
|
2182
|
+
readonly DETAILS: "/v1/plugins/qa/details";
|
|
2183
|
+
readonly RUN_CHECK: "/v1/plugins/qa/run/check";
|
|
2184
|
+
readonly BASELINE_UPDATE: "/v1/plugins/qa/baseline/update";
|
|
2185
|
+
readonly BASELINE_DIFF: "/v1/plugins/qa/baseline/diff";
|
|
2186
|
+
readonly PACKAGE_TIMELINE: "/v1/plugins/qa/packages/:name/timeline";
|
|
2187
|
+
readonly ERROR_GROUPS: "/v1/plugins/qa/errors/groups";
|
|
2188
|
+
};
|
|
2189
|
+
type QARoute = typeof QA_ROUTES[keyof typeof QA_ROUTES];
|
|
2190
|
+
|
|
2191
|
+
export { type BaselineCheckSnapshot, type BaselineDiff, type BaselineSnapshot, type CategoryConfig, type CategoryGroup, type CheckDiff, type CheckResult, type CheckType, type EnrichedTrendResult, type ErrorGroup, type GitInfo, type GroupSummary, type GroupedResults, HISTORY_MAX_ENTRIES, type HistoryEntry, PATHS, type PackageCheckDetail, type PackageFilter, type PackageStatus, type PackageTimelineEntry, type PackageTimelineResponse, type PackagesConfig, type QABaselineDiffRequest, QABaselineDiffRequestSchema, type QABaselineDiffResponse, QABaselineDiffResponseSchema, type QABaselineRequest, QABaselineRequestSchema, type QABaselineResponse, QABaselineResponseSchema, type QABaselineUpdateRequest, QABaselineUpdateRequestSchema, type QABaselineUpdateResponse, QABaselineUpdateResponseSchema, type QACheckConfig, type QADetailsRequest, QADetailsRequestSchema, type QADetailsResponse, QADetailsResponseSchema, type QAEnrichedTrendsResponse, QAEnrichedTrendsResponseSchema, type QAErrorGroupsRequest, QAErrorGroupsRequestSchema, type QAErrorGroupsResponse, QAErrorGroupsResponseSchema, type QAHistoryRequest, QAHistoryRequestSchema, type QAHistoryResponse, QAHistoryResponseSchema, type QALatestRequest, QALatestRequestSchema, type QALatestResponse, QALatestResponseSchema, type QAPackageTimelineRequest, QAPackageTimelineRequestSchema, type QAPackageTimelineResponse, QAPackageTimelineResponseSchema, type QAPluginConfig, type QARegressionsRequest, QARegressionsRequestSchema, type QARegressionsResponse, QARegressionsResponseSchema, type QAReport, type QAResults, type QARoute, type QARunCheckRequest, QARunCheckRequestSchema, type QARunCheckResponse, QARunCheckResponseSchema, type QARunOptions, type QARunRequest, QARunRequestSchema, type QARunResponse, QARunResponseSchema, type QARunResult, QASummaryCheckSchema, type QASummaryRequest, QASummaryRequestSchema, type QASummaryResponse, QASummaryResponseSchema, type QATrendsRequest, QATrendsRequestSchema, type QATrendsResponse, QATrendsResponseSchema, QA_BASE_PATH, QA_DATA_DIR, QA_FULL_ROUTES, QA_ROUTES, type RegressionEntry, type RegressionResult, type RepoGroup, type ReportSummary, type SubmoduleInfo, TRENDS_WINDOW, type TrendChangelogEntry, type TrendResult, type TrendTimeSeriesPoint, type WorkspacePackage, getCheckIcon, getCheckLabel };
|