@vibe-validate/cli 0.17.6-rc.2 → 0.18.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/bin/vibe-validate +4 -0
  2. package/dist/bin/vibe-validate.js +4 -0
  3. package/dist/bin/vibe-validate.js.map +1 -1
  4. package/dist/bin/vv +4 -0
  5. package/dist/commands/cleanup.d.ts.map +1 -1
  6. package/dist/commands/cleanup.js +5 -2
  7. package/dist/commands/cleanup.js.map +1 -1
  8. package/dist/commands/config.d.ts.map +1 -1
  9. package/dist/commands/config.js +3 -1
  10. package/dist/commands/config.js.map +1 -1
  11. package/dist/commands/create-extractor.d.ts.map +1 -1
  12. package/dist/commands/create-extractor.js +3 -1
  13. package/dist/commands/create-extractor.js.map +1 -1
  14. package/dist/commands/doctor.d.ts.map +1 -1
  15. package/dist/commands/doctor.js +11 -5
  16. package/dist/commands/doctor.js.map +1 -1
  17. package/dist/commands/generate-workflow.d.ts.map +1 -1
  18. package/dist/commands/generate-workflow.js +6 -2
  19. package/dist/commands/generate-workflow.js.map +1 -1
  20. package/dist/commands/history.d.ts.map +1 -1
  21. package/dist/commands/history.js +23 -13
  22. package/dist/commands/history.js.map +1 -1
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +3 -1
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/pre-commit.d.ts.map +1 -1
  27. package/dist/commands/pre-commit.js +5 -2
  28. package/dist/commands/pre-commit.js.map +1 -1
  29. package/dist/commands/run.d.ts.map +1 -1
  30. package/dist/commands/run.js +12 -10
  31. package/dist/commands/run.js.map +1 -1
  32. package/dist/commands/state.d.ts.map +1 -1
  33. package/dist/commands/state.js +15 -10
  34. package/dist/commands/state.js.map +1 -1
  35. package/dist/commands/sync-check.js +5 -5
  36. package/dist/commands/sync-check.js.map +1 -1
  37. package/dist/commands/watch-pr.d.ts +16 -0
  38. package/dist/commands/watch-pr.d.ts.map +1 -1
  39. package/dist/commands/watch-pr.js +572 -318
  40. package/dist/commands/watch-pr.js.map +1 -1
  41. package/dist/schemas/watch-pr-result.schema.d.ts +2010 -0
  42. package/dist/schemas/watch-pr-result.schema.d.ts.map +1 -0
  43. package/dist/schemas/watch-pr-result.schema.js +335 -0
  44. package/dist/schemas/watch-pr-result.schema.js.map +1 -0
  45. package/dist/schemas/watch-pr-schema.d.ts +6 -6
  46. package/dist/services/cache-manager.d.ts +113 -0
  47. package/dist/services/cache-manager.d.ts.map +1 -0
  48. package/dist/services/cache-manager.js +211 -0
  49. package/dist/services/cache-manager.js.map +1 -0
  50. package/dist/services/ci-providers/github-actions.d.ts.map +1 -1
  51. package/dist/services/ci-providers/github-actions.js +10 -16
  52. package/dist/services/ci-providers/github-actions.js.map +1 -1
  53. package/dist/services/external-check-extractor.d.ts +66 -0
  54. package/dist/services/external-check-extractor.d.ts.map +1 -0
  55. package/dist/services/external-check-extractor.js +114 -0
  56. package/dist/services/external-check-extractor.js.map +1 -0
  57. package/dist/services/extraction-mode-detector.d.ts +85 -0
  58. package/dist/services/extraction-mode-detector.d.ts.map +1 -0
  59. package/dist/services/extraction-mode-detector.js +200 -0
  60. package/dist/services/extraction-mode-detector.js.map +1 -0
  61. package/dist/services/github-fetcher.d.ts +210 -0
  62. package/dist/services/github-fetcher.d.ts.map +1 -0
  63. package/dist/services/github-fetcher.js +412 -0
  64. package/dist/services/github-fetcher.js.map +1 -0
  65. package/dist/services/history-summary-builder.d.ts +74 -0
  66. package/dist/services/history-summary-builder.d.ts.map +1 -0
  67. package/dist/services/history-summary-builder.js +199 -0
  68. package/dist/services/history-summary-builder.js.map +1 -0
  69. package/dist/services/watch-pr-orchestrator.d.ts +119 -0
  70. package/dist/services/watch-pr-orchestrator.d.ts.map +1 -0
  71. package/dist/services/watch-pr-orchestrator.js +420 -0
  72. package/dist/services/watch-pr-orchestrator.js.map +1 -0
  73. package/dist/utils/command-name.d.ts +21 -0
  74. package/dist/utils/command-name.d.ts.map +1 -0
  75. package/dist/utils/command-name.js +45 -0
  76. package/dist/utils/command-name.js.map +1 -0
  77. package/dist/utils/pid-lock.d.ts.map +1 -1
  78. package/dist/utils/pid-lock.js +3 -3
  79. package/dist/utils/pid-lock.js.map +1 -1
  80. package/dist/utils/secret-scanning.d.ts +1 -1
  81. package/dist/utils/secret-scanning.d.ts.map +1 -1
  82. package/dist/utils/secret-scanning.js +32 -4
  83. package/dist/utils/secret-scanning.js.map +1 -1
  84. package/dist/utils/temp-files.d.ts.map +1 -1
  85. package/dist/utils/temp-files.js +2 -2
  86. package/dist/utils/temp-files.js.map +1 -1
  87. package/dist/utils/validate-workflow.js +7 -7
  88. package/dist/utils/validate-workflow.js.map +1 -1
  89. package/package.json +7 -7
@@ -0,0 +1,2010 @@
1
+ /**
2
+ * Zod Schema for Watch PR Results
3
+ *
4
+ * CRITICAL PROJECT REQUIREMENT: All YAML-serializable types MUST be Zod schemas.
5
+ * Use z.infer<> to derive TypeScript types. Manual interfaces only for non-serializable data.
6
+ *
7
+ * This schema defines the complete structure of watch-pr command output,
8
+ * enabling runtime validation and JSON Schema generation.
9
+ *
10
+ * Output follows "Newspaper Philosophy" ordering: most important info first.
11
+ *
12
+ * @packageDocumentation
13
+ */
14
+ import { z } from 'zod';
15
+ /**
16
+ * Check Status Enum
17
+ *
18
+ * GitHub check run status
19
+ */
20
+ export declare const CheckStatusSchema: z.ZodEnum<["queued", "in_progress", "completed"]>;
21
+ /**
22
+ * Check Conclusion Enum
23
+ *
24
+ * GitHub check run conclusion (present when status is 'completed')
25
+ */
26
+ export declare const CheckConclusionSchema: z.ZodEnum<["success", "failure", "neutral", "cancelled", "skipped", "timed_out", "action_required"]>;
27
+ /**
28
+ * Merge State Status Enum
29
+ *
30
+ * GitHub PR merge state status
31
+ */
32
+ export declare const MergeStateStatusSchema: z.ZodEnum<["BEHIND", "BLOCKED", "CLEAN", "DIRTY", "DRAFT", "HAS_HOOKS", "UNKNOWN", "UNSTABLE"]>;
33
+ /**
34
+ * Severity Enum
35
+ *
36
+ * Severity level for guidance and external checks
37
+ */
38
+ export declare const SeveritySchema: z.ZodEnum<["error", "warning", "info"]>;
39
+ /**
40
+ * Linked Issue Schema
41
+ *
42
+ * GitHub issue linked to the PR (via closing keywords or manually)
43
+ */
44
+ export declare const LinkedIssueSchema: z.ZodObject<{
45
+ /** Issue number */
46
+ number: z.ZodNumber;
47
+ /** Issue title */
48
+ title: z.ZodString;
49
+ /** Issue URL */
50
+ url: z.ZodString;
51
+ }, "strip", z.ZodTypeAny, {
52
+ number: number;
53
+ title: string;
54
+ url: string;
55
+ }, {
56
+ number: number;
57
+ title: string;
58
+ url: string;
59
+ }>;
60
+ /**
61
+ * PR Metadata Schema
62
+ *
63
+ * Complete PR context including metadata, labels, and linked issues
64
+ */
65
+ export declare const PRMetadataSchema: z.ZodObject<{
66
+ /** PR number */
67
+ number: z.ZodNumber;
68
+ /** PR title */
69
+ title: z.ZodString;
70
+ /** PR URL */
71
+ url: z.ZodString;
72
+ /** Head branch name */
73
+ branch: z.ZodString;
74
+ /** Base branch name (usually 'main' or 'develop') */
75
+ base_branch: z.ZodString;
76
+ /** PR author username */
77
+ author: z.ZodString;
78
+ /** Is this a draft PR? */
79
+ draft: z.ZodBoolean;
80
+ /** Is the PR mergeable? */
81
+ mergeable: z.ZodBoolean;
82
+ /** Merge state status (CLEAN, UNSTABLE, BLOCKED, etc.) */
83
+ merge_state_status: z.ZodEnum<["BEHIND", "BLOCKED", "CLEAN", "DIRTY", "DRAFT", "HAS_HOOKS", "UNKNOWN", "UNSTABLE"]>;
84
+ /** PR labels */
85
+ labels: z.ZodArray<z.ZodString, "many">;
86
+ /** Issues linked to this PR (via closing keywords) */
87
+ linked_issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
88
+ /** Issue number */
89
+ number: z.ZodNumber;
90
+ /** Issue title */
91
+ title: z.ZodString;
92
+ /** Issue URL */
93
+ url: z.ZodString;
94
+ }, "strip", z.ZodTypeAny, {
95
+ number: number;
96
+ title: string;
97
+ url: string;
98
+ }, {
99
+ number: number;
100
+ title: string;
101
+ url: string;
102
+ }>, "many">>;
103
+ }, "strip", z.ZodTypeAny, {
104
+ number: number;
105
+ author: string;
106
+ title: string;
107
+ url: string;
108
+ branch: string;
109
+ base_branch: string;
110
+ draft: boolean;
111
+ mergeable: boolean;
112
+ merge_state_status: "BEHIND" | "BLOCKED" | "CLEAN" | "DIRTY" | "DRAFT" | "HAS_HOOKS" | "UNKNOWN" | "UNSTABLE";
113
+ labels: string[];
114
+ linked_issues?: {
115
+ number: number;
116
+ title: string;
117
+ url: string;
118
+ }[] | undefined;
119
+ }, {
120
+ number: number;
121
+ author: string;
122
+ title: string;
123
+ url: string;
124
+ branch: string;
125
+ base_branch: string;
126
+ draft: boolean;
127
+ mergeable: boolean;
128
+ merge_state_status: "BEHIND" | "BLOCKED" | "CLEAN" | "DIRTY" | "DRAFT" | "HAS_HOOKS" | "UNKNOWN" | "UNSTABLE";
129
+ labels: string[];
130
+ linked_issues?: {
131
+ number: number;
132
+ title: string;
133
+ url: string;
134
+ }[] | undefined;
135
+ }>;
136
+ /**
137
+ * GitHub Actions Check Schema
138
+ *
139
+ * Check run from GitHub Actions workflow.
140
+ * Includes run_id for drilling down with `gh run view`.
141
+ * May include extraction (from matrix or non-matrix mode).
142
+ */
143
+ export declare const GitHubActionCheckSchema: z.ZodObject<{
144
+ /** Check name */
145
+ name: z.ZodString;
146
+ /** Check status (queued, in_progress, completed) */
147
+ status: z.ZodEnum<["queued", "in_progress", "completed"]>;
148
+ /** Check conclusion (present when completed) */
149
+ conclusion: z.ZodOptional<z.ZodEnum<["success", "failure", "neutral", "cancelled", "skipped", "timed_out", "action_required"]>>;
150
+ /** GitHub run ID for this check */
151
+ run_id: z.ZodNumber;
152
+ /** Workflow name */
153
+ workflow: z.ZodString;
154
+ /** When the check started (ISO 8601) */
155
+ started_at: z.ZodString;
156
+ /** Human-readable duration (e.g., "2m15s") */
157
+ duration: z.ZodString;
158
+ /** Local path to cached log file (if cached) */
159
+ log_file: z.ZodOptional<z.ZodString>;
160
+ /**
161
+ * Extraction result (CRITICAL: NEW FEATURE)
162
+ *
163
+ * Errors extracted from check logs using one of two modes:
164
+ * - Matrix mode: Parsed from validate YAML output, passed through faithfully
165
+ * - Non-matrix mode: Extracted from raw test output using extractors
166
+ *
167
+ * Both modes produce ErrorExtractorResult schema (from @vibe-validate/extractors)
168
+ */
169
+ extraction: z.ZodOptional<z.ZodObject<{
170
+ summary: z.ZodString;
171
+ totalErrors: z.ZodNumber;
172
+ errors: z.ZodArray<z.ZodObject<{
173
+ file: z.ZodOptional<z.ZodString>;
174
+ line: z.ZodOptional<z.ZodNumber>;
175
+ column: z.ZodOptional<z.ZodNumber>;
176
+ message: z.ZodString;
177
+ code: z.ZodOptional<z.ZodString>;
178
+ severity: z.ZodOptional<z.ZodEnum<["error", "warning"]>>;
179
+ context: z.ZodOptional<z.ZodString>;
180
+ guidance: z.ZodOptional<z.ZodString>;
181
+ }, "strip", z.ZodTypeAny, {
182
+ message: string;
183
+ file?: string | undefined;
184
+ line?: number | undefined;
185
+ column?: number | undefined;
186
+ code?: string | undefined;
187
+ severity?: "error" | "warning" | undefined;
188
+ context?: string | undefined;
189
+ guidance?: string | undefined;
190
+ }, {
191
+ message: string;
192
+ file?: string | undefined;
193
+ line?: number | undefined;
194
+ column?: number | undefined;
195
+ code?: string | undefined;
196
+ severity?: "error" | "warning" | undefined;
197
+ context?: string | undefined;
198
+ guidance?: string | undefined;
199
+ }>, "many">;
200
+ guidance: z.ZodOptional<z.ZodString>;
201
+ errorSummary: z.ZodOptional<z.ZodString>;
202
+ metadata: z.ZodOptional<z.ZodObject<{
203
+ detection: z.ZodOptional<z.ZodObject<{
204
+ extractor: z.ZodString;
205
+ confidence: z.ZodNumber;
206
+ patterns: z.ZodArray<z.ZodString, "many">;
207
+ reason: z.ZodString;
208
+ }, "strip", z.ZodTypeAny, {
209
+ extractor: string;
210
+ confidence: number;
211
+ patterns: string[];
212
+ reason: string;
213
+ }, {
214
+ extractor: string;
215
+ confidence: number;
216
+ patterns: string[];
217
+ reason: string;
218
+ }>>;
219
+ confidence: z.ZodNumber;
220
+ completeness: z.ZodNumber;
221
+ issues: z.ZodArray<z.ZodString, "many">;
222
+ suggestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
223
+ }, "strip", z.ZodTypeAny, {
224
+ issues: string[];
225
+ confidence: number;
226
+ completeness: number;
227
+ detection?: {
228
+ extractor: string;
229
+ confidence: number;
230
+ patterns: string[];
231
+ reason: string;
232
+ } | undefined;
233
+ suggestions?: string[] | undefined;
234
+ }, {
235
+ issues: string[];
236
+ confidence: number;
237
+ completeness: number;
238
+ detection?: {
239
+ extractor: string;
240
+ confidence: number;
241
+ patterns: string[];
242
+ reason: string;
243
+ } | undefined;
244
+ suggestions?: string[] | undefined;
245
+ }>>;
246
+ }, "strip", z.ZodTypeAny, {
247
+ summary: string;
248
+ totalErrors: number;
249
+ errors: {
250
+ message: string;
251
+ file?: string | undefined;
252
+ line?: number | undefined;
253
+ column?: number | undefined;
254
+ code?: string | undefined;
255
+ severity?: "error" | "warning" | undefined;
256
+ context?: string | undefined;
257
+ guidance?: string | undefined;
258
+ }[];
259
+ guidance?: string | undefined;
260
+ errorSummary?: string | undefined;
261
+ metadata?: {
262
+ issues: string[];
263
+ confidence: number;
264
+ completeness: number;
265
+ detection?: {
266
+ extractor: string;
267
+ confidence: number;
268
+ patterns: string[];
269
+ reason: string;
270
+ } | undefined;
271
+ suggestions?: string[] | undefined;
272
+ } | undefined;
273
+ }, {
274
+ summary: string;
275
+ totalErrors: number;
276
+ errors: {
277
+ message: string;
278
+ file?: string | undefined;
279
+ line?: number | undefined;
280
+ column?: number | undefined;
281
+ code?: string | undefined;
282
+ severity?: "error" | "warning" | undefined;
283
+ context?: string | undefined;
284
+ guidance?: string | undefined;
285
+ }[];
286
+ guidance?: string | undefined;
287
+ errorSummary?: string | undefined;
288
+ metadata?: {
289
+ issues: string[];
290
+ confidence: number;
291
+ completeness: number;
292
+ detection?: {
293
+ extractor: string;
294
+ confidence: number;
295
+ patterns: string[];
296
+ reason: string;
297
+ } | undefined;
298
+ suggestions?: string[] | undefined;
299
+ } | undefined;
300
+ }>>;
301
+ }, "strip", z.ZodTypeAny, {
302
+ name: string;
303
+ workflow: string;
304
+ status: "queued" | "in_progress" | "completed";
305
+ run_id: number;
306
+ started_at: string;
307
+ duration: string;
308
+ extraction?: {
309
+ summary: string;
310
+ totalErrors: number;
311
+ errors: {
312
+ message: string;
313
+ file?: string | undefined;
314
+ line?: number | undefined;
315
+ column?: number | undefined;
316
+ code?: string | undefined;
317
+ severity?: "error" | "warning" | undefined;
318
+ context?: string | undefined;
319
+ guidance?: string | undefined;
320
+ }[];
321
+ guidance?: string | undefined;
322
+ errorSummary?: string | undefined;
323
+ metadata?: {
324
+ issues: string[];
325
+ confidence: number;
326
+ completeness: number;
327
+ detection?: {
328
+ extractor: string;
329
+ confidence: number;
330
+ patterns: string[];
331
+ reason: string;
332
+ } | undefined;
333
+ suggestions?: string[] | undefined;
334
+ } | undefined;
335
+ } | undefined;
336
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
337
+ log_file?: string | undefined;
338
+ }, {
339
+ name: string;
340
+ workflow: string;
341
+ status: "queued" | "in_progress" | "completed";
342
+ run_id: number;
343
+ started_at: string;
344
+ duration: string;
345
+ extraction?: {
346
+ summary: string;
347
+ totalErrors: number;
348
+ errors: {
349
+ message: string;
350
+ file?: string | undefined;
351
+ line?: number | undefined;
352
+ column?: number | undefined;
353
+ code?: string | undefined;
354
+ severity?: "error" | "warning" | undefined;
355
+ context?: string | undefined;
356
+ guidance?: string | undefined;
357
+ }[];
358
+ guidance?: string | undefined;
359
+ errorSummary?: string | undefined;
360
+ metadata?: {
361
+ issues: string[];
362
+ confidence: number;
363
+ completeness: number;
364
+ detection?: {
365
+ extractor: string;
366
+ confidence: number;
367
+ patterns: string[];
368
+ reason: string;
369
+ } | undefined;
370
+ suggestions?: string[] | undefined;
371
+ } | undefined;
372
+ } | undefined;
373
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
374
+ log_file?: string | undefined;
375
+ }>;
376
+ /**
377
+ * External Check Details Schema
378
+ *
379
+ * Details extracted from external checks (codecov, SonarCloud, etc.)
380
+ */
381
+ export declare const ExternalCheckDetailsSchema: z.ZodObject<{
382
+ /** Human-readable summary of the check result */
383
+ summary: z.ZodString;
384
+ /** Additional details (provider-specific) */
385
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
386
+ /** Severity level */
387
+ severity: z.ZodOptional<z.ZodEnum<["error", "warning", "info"]>>;
388
+ }, "strip", z.ZodTypeAny, {
389
+ summary: string;
390
+ details?: Record<string, any> | undefined;
391
+ severity?: "error" | "warning" | "info" | undefined;
392
+ }, {
393
+ summary: string;
394
+ details?: Record<string, any> | undefined;
395
+ severity?: "error" | "warning" | "info" | undefined;
396
+ }>;
397
+ /**
398
+ * External Check Schema
399
+ *
400
+ * Status check from external provider (codecov, SonarCloud, etc.)
401
+ * These don't have GitHub run IDs, only detailsUrl.
402
+ */
403
+ export declare const ExternalCheckSchema: z.ZodObject<{
404
+ /** Check name (e.g., "codecov/patch", "SonarCloud Code Analysis") */
405
+ name: z.ZodString;
406
+ /** Check status */
407
+ status: z.ZodEnum<["queued", "in_progress", "completed"]>;
408
+ /** Check conclusion (present when completed) */
409
+ conclusion: z.ZodOptional<z.ZodEnum<["success", "failure", "neutral", "cancelled", "skipped", "timed_out", "action_required"]>>;
410
+ /** URL to view check details on external provider */
411
+ url: z.ZodString;
412
+ /** Provider name (e.g., "codecov", "sonarcloud") */
413
+ provider: z.ZodOptional<z.ZodString>;
414
+ /** Extracted details (if extraction succeeded) */
415
+ extracted: z.ZodNullable<z.ZodOptional<z.ZodObject<{
416
+ /** Human-readable summary of the check result */
417
+ summary: z.ZodString;
418
+ /** Additional details (provider-specific) */
419
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
420
+ /** Severity level */
421
+ severity: z.ZodOptional<z.ZodEnum<["error", "warning", "info"]>>;
422
+ }, "strip", z.ZodTypeAny, {
423
+ summary: string;
424
+ details?: Record<string, any> | undefined;
425
+ severity?: "error" | "warning" | "info" | undefined;
426
+ }, {
427
+ summary: string;
428
+ details?: Record<string, any> | undefined;
429
+ severity?: "error" | "warning" | "info" | undefined;
430
+ }>>>;
431
+ /** Error message if extraction failed */
432
+ extraction_error: z.ZodOptional<z.ZodString>;
433
+ }, "strip", z.ZodTypeAny, {
434
+ name: string;
435
+ status: "queued" | "in_progress" | "completed";
436
+ url: string;
437
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
438
+ provider?: string | undefined;
439
+ extracted?: {
440
+ summary: string;
441
+ details?: Record<string, any> | undefined;
442
+ severity?: "error" | "warning" | "info" | undefined;
443
+ } | null | undefined;
444
+ extraction_error?: string | undefined;
445
+ }, {
446
+ name: string;
447
+ status: "queued" | "in_progress" | "completed";
448
+ url: string;
449
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
450
+ provider?: string | undefined;
451
+ extracted?: {
452
+ summary: string;
453
+ details?: Record<string, any> | undefined;
454
+ severity?: "error" | "warning" | "info" | undefined;
455
+ } | null | undefined;
456
+ extraction_error?: string | undefined;
457
+ }>;
458
+ /**
459
+ * Check History Summary Schema
460
+ *
461
+ * Condensed history for pattern recognition (~75 tokens)
462
+ * Provides recent pattern and success rate without full history details.
463
+ */
464
+ export declare const CheckHistorySummarySchema: z.ZodObject<{
465
+ /** Total number of workflow runs for this PR branch */
466
+ total_runs: z.ZodNumber;
467
+ /** Recent pattern description (e.g., "Passed last 2 runs", "Failed last 3 runs") */
468
+ recent_pattern: z.ZodString;
469
+ /** Success rate percentage (e.g., "75%") based on last 10 runs */
470
+ success_rate: z.ZodOptional<z.ZodString>;
471
+ }, "strip", z.ZodTypeAny, {
472
+ total_runs: number;
473
+ recent_pattern: string;
474
+ success_rate?: string | undefined;
475
+ }, {
476
+ total_runs: number;
477
+ recent_pattern: string;
478
+ success_rate?: string | undefined;
479
+ }>;
480
+ /**
481
+ * Checks Summary Schema
482
+ *
483
+ * Complete check results with history context.
484
+ * Ordered by newspaper philosophy: failed checks before passed checks.
485
+ */
486
+ export declare const ChecksSummarySchema: z.ZodObject<{
487
+ /** Total number of checks */
488
+ total: z.ZodNumber;
489
+ /** Number of passed checks */
490
+ passed: z.ZodNumber;
491
+ /** Number of failed checks */
492
+ failed: z.ZodNumber;
493
+ /** Number of pending checks */
494
+ pending: z.ZodNumber;
495
+ /** Condensed history for pattern recognition (cheap tokens, high value) */
496
+ history_summary: z.ZodOptional<z.ZodObject<{
497
+ /** Total number of workflow runs for this PR branch */
498
+ total_runs: z.ZodNumber;
499
+ /** Recent pattern description (e.g., "Passed last 2 runs", "Failed last 3 runs") */
500
+ recent_pattern: z.ZodString;
501
+ /** Success rate percentage (e.g., "75%") based on last 10 runs */
502
+ success_rate: z.ZodOptional<z.ZodString>;
503
+ }, "strip", z.ZodTypeAny, {
504
+ total_runs: number;
505
+ recent_pattern: string;
506
+ success_rate?: string | undefined;
507
+ }, {
508
+ total_runs: number;
509
+ recent_pattern: string;
510
+ success_rate?: string | undefined;
511
+ }>>;
512
+ /** GitHub Actions checks (with run_id and optional extraction) */
513
+ github_actions: z.ZodArray<z.ZodObject<{
514
+ /** Check name */
515
+ name: z.ZodString;
516
+ /** Check status (queued, in_progress, completed) */
517
+ status: z.ZodEnum<["queued", "in_progress", "completed"]>;
518
+ /** Check conclusion (present when completed) */
519
+ conclusion: z.ZodOptional<z.ZodEnum<["success", "failure", "neutral", "cancelled", "skipped", "timed_out", "action_required"]>>;
520
+ /** GitHub run ID for this check */
521
+ run_id: z.ZodNumber;
522
+ /** Workflow name */
523
+ workflow: z.ZodString;
524
+ /** When the check started (ISO 8601) */
525
+ started_at: z.ZodString;
526
+ /** Human-readable duration (e.g., "2m15s") */
527
+ duration: z.ZodString;
528
+ /** Local path to cached log file (if cached) */
529
+ log_file: z.ZodOptional<z.ZodString>;
530
+ /**
531
+ * Extraction result (CRITICAL: NEW FEATURE)
532
+ *
533
+ * Errors extracted from check logs using one of two modes:
534
+ * - Matrix mode: Parsed from validate YAML output, passed through faithfully
535
+ * - Non-matrix mode: Extracted from raw test output using extractors
536
+ *
537
+ * Both modes produce ErrorExtractorResult schema (from @vibe-validate/extractors)
538
+ */
539
+ extraction: z.ZodOptional<z.ZodObject<{
540
+ summary: z.ZodString;
541
+ totalErrors: z.ZodNumber;
542
+ errors: z.ZodArray<z.ZodObject<{
543
+ file: z.ZodOptional<z.ZodString>;
544
+ line: z.ZodOptional<z.ZodNumber>;
545
+ column: z.ZodOptional<z.ZodNumber>;
546
+ message: z.ZodString;
547
+ code: z.ZodOptional<z.ZodString>;
548
+ severity: z.ZodOptional<z.ZodEnum<["error", "warning"]>>;
549
+ context: z.ZodOptional<z.ZodString>;
550
+ guidance: z.ZodOptional<z.ZodString>;
551
+ }, "strip", z.ZodTypeAny, {
552
+ message: string;
553
+ file?: string | undefined;
554
+ line?: number | undefined;
555
+ column?: number | undefined;
556
+ code?: string | undefined;
557
+ severity?: "error" | "warning" | undefined;
558
+ context?: string | undefined;
559
+ guidance?: string | undefined;
560
+ }, {
561
+ message: string;
562
+ file?: string | undefined;
563
+ line?: number | undefined;
564
+ column?: number | undefined;
565
+ code?: string | undefined;
566
+ severity?: "error" | "warning" | undefined;
567
+ context?: string | undefined;
568
+ guidance?: string | undefined;
569
+ }>, "many">;
570
+ guidance: z.ZodOptional<z.ZodString>;
571
+ errorSummary: z.ZodOptional<z.ZodString>;
572
+ metadata: z.ZodOptional<z.ZodObject<{
573
+ detection: z.ZodOptional<z.ZodObject<{
574
+ extractor: z.ZodString;
575
+ confidence: z.ZodNumber;
576
+ patterns: z.ZodArray<z.ZodString, "many">;
577
+ reason: z.ZodString;
578
+ }, "strip", z.ZodTypeAny, {
579
+ extractor: string;
580
+ confidence: number;
581
+ patterns: string[];
582
+ reason: string;
583
+ }, {
584
+ extractor: string;
585
+ confidence: number;
586
+ patterns: string[];
587
+ reason: string;
588
+ }>>;
589
+ confidence: z.ZodNumber;
590
+ completeness: z.ZodNumber;
591
+ issues: z.ZodArray<z.ZodString, "many">;
592
+ suggestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
593
+ }, "strip", z.ZodTypeAny, {
594
+ issues: string[];
595
+ confidence: number;
596
+ completeness: number;
597
+ detection?: {
598
+ extractor: string;
599
+ confidence: number;
600
+ patterns: string[];
601
+ reason: string;
602
+ } | undefined;
603
+ suggestions?: string[] | undefined;
604
+ }, {
605
+ issues: string[];
606
+ confidence: number;
607
+ completeness: number;
608
+ detection?: {
609
+ extractor: string;
610
+ confidence: number;
611
+ patterns: string[];
612
+ reason: string;
613
+ } | undefined;
614
+ suggestions?: string[] | undefined;
615
+ }>>;
616
+ }, "strip", z.ZodTypeAny, {
617
+ summary: string;
618
+ totalErrors: number;
619
+ errors: {
620
+ message: string;
621
+ file?: string | undefined;
622
+ line?: number | undefined;
623
+ column?: number | undefined;
624
+ code?: string | undefined;
625
+ severity?: "error" | "warning" | undefined;
626
+ context?: string | undefined;
627
+ guidance?: string | undefined;
628
+ }[];
629
+ guidance?: string | undefined;
630
+ errorSummary?: string | undefined;
631
+ metadata?: {
632
+ issues: string[];
633
+ confidence: number;
634
+ completeness: number;
635
+ detection?: {
636
+ extractor: string;
637
+ confidence: number;
638
+ patterns: string[];
639
+ reason: string;
640
+ } | undefined;
641
+ suggestions?: string[] | undefined;
642
+ } | undefined;
643
+ }, {
644
+ summary: string;
645
+ totalErrors: number;
646
+ errors: {
647
+ message: string;
648
+ file?: string | undefined;
649
+ line?: number | undefined;
650
+ column?: number | undefined;
651
+ code?: string | undefined;
652
+ severity?: "error" | "warning" | undefined;
653
+ context?: string | undefined;
654
+ guidance?: string | undefined;
655
+ }[];
656
+ guidance?: string | undefined;
657
+ errorSummary?: string | undefined;
658
+ metadata?: {
659
+ issues: string[];
660
+ confidence: number;
661
+ completeness: number;
662
+ detection?: {
663
+ extractor: string;
664
+ confidence: number;
665
+ patterns: string[];
666
+ reason: string;
667
+ } | undefined;
668
+ suggestions?: string[] | undefined;
669
+ } | undefined;
670
+ }>>;
671
+ }, "strip", z.ZodTypeAny, {
672
+ name: string;
673
+ workflow: string;
674
+ status: "queued" | "in_progress" | "completed";
675
+ run_id: number;
676
+ started_at: string;
677
+ duration: string;
678
+ extraction?: {
679
+ summary: string;
680
+ totalErrors: number;
681
+ errors: {
682
+ message: string;
683
+ file?: string | undefined;
684
+ line?: number | undefined;
685
+ column?: number | undefined;
686
+ code?: string | undefined;
687
+ severity?: "error" | "warning" | undefined;
688
+ context?: string | undefined;
689
+ guidance?: string | undefined;
690
+ }[];
691
+ guidance?: string | undefined;
692
+ errorSummary?: string | undefined;
693
+ metadata?: {
694
+ issues: string[];
695
+ confidence: number;
696
+ completeness: number;
697
+ detection?: {
698
+ extractor: string;
699
+ confidence: number;
700
+ patterns: string[];
701
+ reason: string;
702
+ } | undefined;
703
+ suggestions?: string[] | undefined;
704
+ } | undefined;
705
+ } | undefined;
706
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
707
+ log_file?: string | undefined;
708
+ }, {
709
+ name: string;
710
+ workflow: string;
711
+ status: "queued" | "in_progress" | "completed";
712
+ run_id: number;
713
+ started_at: string;
714
+ duration: string;
715
+ extraction?: {
716
+ summary: string;
717
+ totalErrors: number;
718
+ errors: {
719
+ message: string;
720
+ file?: string | undefined;
721
+ line?: number | undefined;
722
+ column?: number | undefined;
723
+ code?: string | undefined;
724
+ severity?: "error" | "warning" | undefined;
725
+ context?: string | undefined;
726
+ guidance?: string | undefined;
727
+ }[];
728
+ guidance?: string | undefined;
729
+ errorSummary?: string | undefined;
730
+ metadata?: {
731
+ issues: string[];
732
+ confidence: number;
733
+ completeness: number;
734
+ detection?: {
735
+ extractor: string;
736
+ confidence: number;
737
+ patterns: string[];
738
+ reason: string;
739
+ } | undefined;
740
+ suggestions?: string[] | undefined;
741
+ } | undefined;
742
+ } | undefined;
743
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
744
+ log_file?: string | undefined;
745
+ }>, "many">;
746
+ /** External checks (with detailsUrl and optional extraction) */
747
+ external_checks: z.ZodArray<z.ZodObject<{
748
+ /** Check name (e.g., "codecov/patch", "SonarCloud Code Analysis") */
749
+ name: z.ZodString;
750
+ /** Check status */
751
+ status: z.ZodEnum<["queued", "in_progress", "completed"]>;
752
+ /** Check conclusion (present when completed) */
753
+ conclusion: z.ZodOptional<z.ZodEnum<["success", "failure", "neutral", "cancelled", "skipped", "timed_out", "action_required"]>>;
754
+ /** URL to view check details on external provider */
755
+ url: z.ZodString;
756
+ /** Provider name (e.g., "codecov", "sonarcloud") */
757
+ provider: z.ZodOptional<z.ZodString>;
758
+ /** Extracted details (if extraction succeeded) */
759
+ extracted: z.ZodNullable<z.ZodOptional<z.ZodObject<{
760
+ /** Human-readable summary of the check result */
761
+ summary: z.ZodString;
762
+ /** Additional details (provider-specific) */
763
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
764
+ /** Severity level */
765
+ severity: z.ZodOptional<z.ZodEnum<["error", "warning", "info"]>>;
766
+ }, "strip", z.ZodTypeAny, {
767
+ summary: string;
768
+ details?: Record<string, any> | undefined;
769
+ severity?: "error" | "warning" | "info" | undefined;
770
+ }, {
771
+ summary: string;
772
+ details?: Record<string, any> | undefined;
773
+ severity?: "error" | "warning" | "info" | undefined;
774
+ }>>>;
775
+ /** Error message if extraction failed */
776
+ extraction_error: z.ZodOptional<z.ZodString>;
777
+ }, "strip", z.ZodTypeAny, {
778
+ name: string;
779
+ status: "queued" | "in_progress" | "completed";
780
+ url: string;
781
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
782
+ provider?: string | undefined;
783
+ extracted?: {
784
+ summary: string;
785
+ details?: Record<string, any> | undefined;
786
+ severity?: "error" | "warning" | "info" | undefined;
787
+ } | null | undefined;
788
+ extraction_error?: string | undefined;
789
+ }, {
790
+ name: string;
791
+ status: "queued" | "in_progress" | "completed";
792
+ url: string;
793
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
794
+ provider?: string | undefined;
795
+ extracted?: {
796
+ summary: string;
797
+ details?: Record<string, any> | undefined;
798
+ severity?: "error" | "warning" | "info" | undefined;
799
+ } | null | undefined;
800
+ extraction_error?: string | undefined;
801
+ }>, "many">;
802
+ }, "strip", z.ZodTypeAny, {
803
+ passed: number;
804
+ failed: number;
805
+ total: number;
806
+ pending: number;
807
+ github_actions: {
808
+ name: string;
809
+ workflow: string;
810
+ status: "queued" | "in_progress" | "completed";
811
+ run_id: number;
812
+ started_at: string;
813
+ duration: string;
814
+ extraction?: {
815
+ summary: string;
816
+ totalErrors: number;
817
+ errors: {
818
+ message: string;
819
+ file?: string | undefined;
820
+ line?: number | undefined;
821
+ column?: number | undefined;
822
+ code?: string | undefined;
823
+ severity?: "error" | "warning" | undefined;
824
+ context?: string | undefined;
825
+ guidance?: string | undefined;
826
+ }[];
827
+ guidance?: string | undefined;
828
+ errorSummary?: string | undefined;
829
+ metadata?: {
830
+ issues: string[];
831
+ confidence: number;
832
+ completeness: number;
833
+ detection?: {
834
+ extractor: string;
835
+ confidence: number;
836
+ patterns: string[];
837
+ reason: string;
838
+ } | undefined;
839
+ suggestions?: string[] | undefined;
840
+ } | undefined;
841
+ } | undefined;
842
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
843
+ log_file?: string | undefined;
844
+ }[];
845
+ external_checks: {
846
+ name: string;
847
+ status: "queued" | "in_progress" | "completed";
848
+ url: string;
849
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
850
+ provider?: string | undefined;
851
+ extracted?: {
852
+ summary: string;
853
+ details?: Record<string, any> | undefined;
854
+ severity?: "error" | "warning" | "info" | undefined;
855
+ } | null | undefined;
856
+ extraction_error?: string | undefined;
857
+ }[];
858
+ history_summary?: {
859
+ total_runs: number;
860
+ recent_pattern: string;
861
+ success_rate?: string | undefined;
862
+ } | undefined;
863
+ }, {
864
+ passed: number;
865
+ failed: number;
866
+ total: number;
867
+ pending: number;
868
+ github_actions: {
869
+ name: string;
870
+ workflow: string;
871
+ status: "queued" | "in_progress" | "completed";
872
+ run_id: number;
873
+ started_at: string;
874
+ duration: string;
875
+ extraction?: {
876
+ summary: string;
877
+ totalErrors: number;
878
+ errors: {
879
+ message: string;
880
+ file?: string | undefined;
881
+ line?: number | undefined;
882
+ column?: number | undefined;
883
+ code?: string | undefined;
884
+ severity?: "error" | "warning" | undefined;
885
+ context?: string | undefined;
886
+ guidance?: string | undefined;
887
+ }[];
888
+ guidance?: string | undefined;
889
+ errorSummary?: string | undefined;
890
+ metadata?: {
891
+ issues: string[];
892
+ confidence: number;
893
+ completeness: number;
894
+ detection?: {
895
+ extractor: string;
896
+ confidence: number;
897
+ patterns: string[];
898
+ reason: string;
899
+ } | undefined;
900
+ suggestions?: string[] | undefined;
901
+ } | undefined;
902
+ } | undefined;
903
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
904
+ log_file?: string | undefined;
905
+ }[];
906
+ external_checks: {
907
+ name: string;
908
+ status: "queued" | "in_progress" | "completed";
909
+ url: string;
910
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
911
+ provider?: string | undefined;
912
+ extracted?: {
913
+ summary: string;
914
+ details?: Record<string, any> | undefined;
915
+ severity?: "error" | "warning" | "info" | undefined;
916
+ } | null | undefined;
917
+ extraction_error?: string | undefined;
918
+ }[];
919
+ history_summary?: {
920
+ total_runs: number;
921
+ recent_pattern: string;
922
+ success_rate?: string | undefined;
923
+ } | undefined;
924
+ }>;
925
+ /**
926
+ * File Change Schema
927
+ *
928
+ * Git diff statistics for a single file
929
+ */
930
+ export declare const FileChangeSchema: z.ZodObject<{
931
+ /** File path */
932
+ file: z.ZodString;
933
+ /** Number of lines inserted */
934
+ insertions: z.ZodNumber;
935
+ /** Number of lines deleted */
936
+ deletions: z.ZodNumber;
937
+ /** Is this a new file? */
938
+ new_file: z.ZodOptional<z.ZodBoolean>;
939
+ }, "strip", z.ZodTypeAny, {
940
+ file: string;
941
+ insertions: number;
942
+ deletions: number;
943
+ new_file?: boolean | undefined;
944
+ }, {
945
+ file: string;
946
+ insertions: number;
947
+ deletions: number;
948
+ new_file?: boolean | undefined;
949
+ }>;
950
+ /**
951
+ * Changes Context Schema
952
+ *
953
+ * File change statistics for the PR
954
+ * Helps understand scope and potential impact areas.
955
+ */
956
+ export declare const ChangesContextSchema: z.ZodObject<{
957
+ /** Total number of files changed */
958
+ files_changed: z.ZodNumber;
959
+ /** Total lines inserted across all files */
960
+ insertions: z.ZodNumber;
961
+ /** Total lines deleted across all files */
962
+ deletions: z.ZodNumber;
963
+ /** Number of commits in the PR */
964
+ commits: z.ZodNumber;
965
+ /** Top files by lines changed (limited to 10 for token efficiency) */
966
+ top_files: z.ZodOptional<z.ZodArray<z.ZodObject<{
967
+ /** File path */
968
+ file: z.ZodString;
969
+ /** Number of lines inserted */
970
+ insertions: z.ZodNumber;
971
+ /** Number of lines deleted */
972
+ deletions: z.ZodNumber;
973
+ /** Is this a new file? */
974
+ new_file: z.ZodOptional<z.ZodBoolean>;
975
+ }, "strip", z.ZodTypeAny, {
976
+ file: string;
977
+ insertions: number;
978
+ deletions: number;
979
+ new_file?: boolean | undefined;
980
+ }, {
981
+ file: string;
982
+ insertions: number;
983
+ deletions: number;
984
+ new_file?: boolean | undefined;
985
+ }>, "many">>;
986
+ }, "strip", z.ZodTypeAny, {
987
+ insertions: number;
988
+ deletions: number;
989
+ files_changed: number;
990
+ commits: number;
991
+ top_files?: {
992
+ file: string;
993
+ insertions: number;
994
+ deletions: number;
995
+ new_file?: boolean | undefined;
996
+ }[] | undefined;
997
+ }, {
998
+ insertions: number;
999
+ deletions: number;
1000
+ files_changed: number;
1001
+ commits: number;
1002
+ top_files?: {
1003
+ file: string;
1004
+ insertions: number;
1005
+ deletions: number;
1006
+ new_file?: boolean | undefined;
1007
+ }[] | undefined;
1008
+ }>;
1009
+ /**
1010
+ * Next Step Schema
1011
+ *
1012
+ * Actionable next step with severity and context
1013
+ */
1014
+ export declare const NextStepSchema: z.ZodObject<{
1015
+ /** Action description */
1016
+ action: z.ZodString;
1017
+ /** URL to perform the action (if applicable) */
1018
+ url: z.ZodOptional<z.ZodString>;
1019
+ /** Severity level (prioritization) */
1020
+ severity: z.ZodEnum<["error", "warning", "info"]>;
1021
+ /** Reason or context for this action */
1022
+ reason: z.ZodOptional<z.ZodString>;
1023
+ }, "strip", z.ZodTypeAny, {
1024
+ severity: "error" | "warning" | "info";
1025
+ action: string;
1026
+ url?: string | undefined;
1027
+ reason?: string | undefined;
1028
+ }, {
1029
+ severity: "error" | "warning" | "info";
1030
+ action: string;
1031
+ url?: string | undefined;
1032
+ reason?: string | undefined;
1033
+ }>;
1034
+ /**
1035
+ * Guidance Schema
1036
+ *
1037
+ * Intelligent guidance based on check results.
1038
+ * Provides context-aware next steps with severity-based prioritization.
1039
+ */
1040
+ export declare const GuidanceSchema: z.ZodObject<{
1041
+ /** Overall status (passed, failed, pending) */
1042
+ status: z.ZodEnum<["passed", "failed", "pending"]>;
1043
+ /** Does this failure block merging? */
1044
+ blocking: z.ZodBoolean;
1045
+ /** Overall severity */
1046
+ severity: z.ZodEnum<["error", "warning", "info"]>;
1047
+ /** Human-readable summary */
1048
+ summary: z.ZodString;
1049
+ /** Prioritized list of next steps */
1050
+ next_steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
1051
+ /** Action description */
1052
+ action: z.ZodString;
1053
+ /** URL to perform the action (if applicable) */
1054
+ url: z.ZodOptional<z.ZodString>;
1055
+ /** Severity level (prioritization) */
1056
+ severity: z.ZodEnum<["error", "warning", "info"]>;
1057
+ /** Reason or context for this action */
1058
+ reason: z.ZodOptional<z.ZodString>;
1059
+ }, "strip", z.ZodTypeAny, {
1060
+ severity: "error" | "warning" | "info";
1061
+ action: string;
1062
+ url?: string | undefined;
1063
+ reason?: string | undefined;
1064
+ }, {
1065
+ severity: "error" | "warning" | "info";
1066
+ action: string;
1067
+ url?: string | undefined;
1068
+ reason?: string | undefined;
1069
+ }>, "many">>;
1070
+ }, "strip", z.ZodTypeAny, {
1071
+ summary: string;
1072
+ status: "passed" | "failed" | "pending";
1073
+ severity: "error" | "warning" | "info";
1074
+ blocking: boolean;
1075
+ next_steps?: {
1076
+ severity: "error" | "warning" | "info";
1077
+ action: string;
1078
+ url?: string | undefined;
1079
+ reason?: string | undefined;
1080
+ }[] | undefined;
1081
+ }, {
1082
+ summary: string;
1083
+ status: "passed" | "failed" | "pending";
1084
+ severity: "error" | "warning" | "info";
1085
+ blocking: boolean;
1086
+ next_steps?: {
1087
+ severity: "error" | "warning" | "info";
1088
+ action: string;
1089
+ url?: string | undefined;
1090
+ reason?: string | undefined;
1091
+ }[] | undefined;
1092
+ }>;
1093
+ /**
1094
+ * Cache Info Schema
1095
+ *
1096
+ * Metadata about the local cache
1097
+ */
1098
+ export declare const CacheInfoSchema: z.ZodObject<{
1099
+ /** Cache directory location */
1100
+ location: z.ZodString;
1101
+ /** When the cache was created (ISO 8601) */
1102
+ cached_at: z.ZodString;
1103
+ /** When the cache expires (ISO 8601) */
1104
+ expires_at: z.ZodString;
1105
+ }, "strip", z.ZodTypeAny, {
1106
+ location: string;
1107
+ cached_at: string;
1108
+ expires_at: string;
1109
+ }, {
1110
+ location: string;
1111
+ cached_at: string;
1112
+ expires_at: string;
1113
+ }>;
1114
+ /**
1115
+ * Watch PR Result Schema
1116
+ *
1117
+ * Complete result structure from watch-pr command.
1118
+ *
1119
+ * Field ordering follows "Newspaper Philosophy":
1120
+ * 1. PR context & status (always needed)
1121
+ * 2. Check summary + history (quick overview)
1122
+ * 3. Failed checks FIRST (most actionable)
1123
+ * 4. Passed checks (confirmation)
1124
+ * 5. Guidance (what to do next)
1125
+ * 6. Changes (context)
1126
+ * 7. Cache (metadata, least important)
1127
+ *
1128
+ * If output is truncated, LLM still sees critical details.
1129
+ */
1130
+ export declare const WatchPRResultSchema: z.ZodObject<{
1131
+ /** PR metadata (number, title, branch, mergeable, labels, linked issues) */
1132
+ pr: z.ZodObject<{
1133
+ /** PR number */
1134
+ number: z.ZodNumber;
1135
+ /** PR title */
1136
+ title: z.ZodString;
1137
+ /** PR URL */
1138
+ url: z.ZodString;
1139
+ /** Head branch name */
1140
+ branch: z.ZodString;
1141
+ /** Base branch name (usually 'main' or 'develop') */
1142
+ base_branch: z.ZodString;
1143
+ /** PR author username */
1144
+ author: z.ZodString;
1145
+ /** Is this a draft PR? */
1146
+ draft: z.ZodBoolean;
1147
+ /** Is the PR mergeable? */
1148
+ mergeable: z.ZodBoolean;
1149
+ /** Merge state status (CLEAN, UNSTABLE, BLOCKED, etc.) */
1150
+ merge_state_status: z.ZodEnum<["BEHIND", "BLOCKED", "CLEAN", "DIRTY", "DRAFT", "HAS_HOOKS", "UNKNOWN", "UNSTABLE"]>;
1151
+ /** PR labels */
1152
+ labels: z.ZodArray<z.ZodString, "many">;
1153
+ /** Issues linked to this PR (via closing keywords) */
1154
+ linked_issues: z.ZodOptional<z.ZodArray<z.ZodObject<{
1155
+ /** Issue number */
1156
+ number: z.ZodNumber;
1157
+ /** Issue title */
1158
+ title: z.ZodString;
1159
+ /** Issue URL */
1160
+ url: z.ZodString;
1161
+ }, "strip", z.ZodTypeAny, {
1162
+ number: number;
1163
+ title: string;
1164
+ url: string;
1165
+ }, {
1166
+ number: number;
1167
+ title: string;
1168
+ url: string;
1169
+ }>, "many">>;
1170
+ }, "strip", z.ZodTypeAny, {
1171
+ number: number;
1172
+ author: string;
1173
+ title: string;
1174
+ url: string;
1175
+ branch: string;
1176
+ base_branch: string;
1177
+ draft: boolean;
1178
+ mergeable: boolean;
1179
+ merge_state_status: "BEHIND" | "BLOCKED" | "CLEAN" | "DIRTY" | "DRAFT" | "HAS_HOOKS" | "UNKNOWN" | "UNSTABLE";
1180
+ labels: string[];
1181
+ linked_issues?: {
1182
+ number: number;
1183
+ title: string;
1184
+ url: string;
1185
+ }[] | undefined;
1186
+ }, {
1187
+ number: number;
1188
+ author: string;
1189
+ title: string;
1190
+ url: string;
1191
+ branch: string;
1192
+ base_branch: string;
1193
+ draft: boolean;
1194
+ mergeable: boolean;
1195
+ merge_state_status: "BEHIND" | "BLOCKED" | "CLEAN" | "DIRTY" | "DRAFT" | "HAS_HOOKS" | "UNKNOWN" | "UNSTABLE";
1196
+ labels: string[];
1197
+ linked_issues?: {
1198
+ number: number;
1199
+ title: string;
1200
+ url: string;
1201
+ }[] | undefined;
1202
+ }>;
1203
+ /** Overall status (passed, failed, pending) */
1204
+ status: z.ZodEnum<["passed", "failed", "pending"]>;
1205
+ /** Check results with history context */
1206
+ checks: z.ZodObject<{
1207
+ /** Total number of checks */
1208
+ total: z.ZodNumber;
1209
+ /** Number of passed checks */
1210
+ passed: z.ZodNumber;
1211
+ /** Number of failed checks */
1212
+ failed: z.ZodNumber;
1213
+ /** Number of pending checks */
1214
+ pending: z.ZodNumber;
1215
+ /** Condensed history for pattern recognition (cheap tokens, high value) */
1216
+ history_summary: z.ZodOptional<z.ZodObject<{
1217
+ /** Total number of workflow runs for this PR branch */
1218
+ total_runs: z.ZodNumber;
1219
+ /** Recent pattern description (e.g., "Passed last 2 runs", "Failed last 3 runs") */
1220
+ recent_pattern: z.ZodString;
1221
+ /** Success rate percentage (e.g., "75%") based on last 10 runs */
1222
+ success_rate: z.ZodOptional<z.ZodString>;
1223
+ }, "strip", z.ZodTypeAny, {
1224
+ total_runs: number;
1225
+ recent_pattern: string;
1226
+ success_rate?: string | undefined;
1227
+ }, {
1228
+ total_runs: number;
1229
+ recent_pattern: string;
1230
+ success_rate?: string | undefined;
1231
+ }>>;
1232
+ /** GitHub Actions checks (with run_id and optional extraction) */
1233
+ github_actions: z.ZodArray<z.ZodObject<{
1234
+ /** Check name */
1235
+ name: z.ZodString;
1236
+ /** Check status (queued, in_progress, completed) */
1237
+ status: z.ZodEnum<["queued", "in_progress", "completed"]>;
1238
+ /** Check conclusion (present when completed) */
1239
+ conclusion: z.ZodOptional<z.ZodEnum<["success", "failure", "neutral", "cancelled", "skipped", "timed_out", "action_required"]>>;
1240
+ /** GitHub run ID for this check */
1241
+ run_id: z.ZodNumber;
1242
+ /** Workflow name */
1243
+ workflow: z.ZodString;
1244
+ /** When the check started (ISO 8601) */
1245
+ started_at: z.ZodString;
1246
+ /** Human-readable duration (e.g., "2m15s") */
1247
+ duration: z.ZodString;
1248
+ /** Local path to cached log file (if cached) */
1249
+ log_file: z.ZodOptional<z.ZodString>;
1250
+ /**
1251
+ * Extraction result (CRITICAL: NEW FEATURE)
1252
+ *
1253
+ * Errors extracted from check logs using one of two modes:
1254
+ * - Matrix mode: Parsed from validate YAML output, passed through faithfully
1255
+ * - Non-matrix mode: Extracted from raw test output using extractors
1256
+ *
1257
+ * Both modes produce ErrorExtractorResult schema (from @vibe-validate/extractors)
1258
+ */
1259
+ extraction: z.ZodOptional<z.ZodObject<{
1260
+ summary: z.ZodString;
1261
+ totalErrors: z.ZodNumber;
1262
+ errors: z.ZodArray<z.ZodObject<{
1263
+ file: z.ZodOptional<z.ZodString>;
1264
+ line: z.ZodOptional<z.ZodNumber>;
1265
+ column: z.ZodOptional<z.ZodNumber>;
1266
+ message: z.ZodString;
1267
+ code: z.ZodOptional<z.ZodString>;
1268
+ severity: z.ZodOptional<z.ZodEnum<["error", "warning"]>>;
1269
+ context: z.ZodOptional<z.ZodString>;
1270
+ guidance: z.ZodOptional<z.ZodString>;
1271
+ }, "strip", z.ZodTypeAny, {
1272
+ message: string;
1273
+ file?: string | undefined;
1274
+ line?: number | undefined;
1275
+ column?: number | undefined;
1276
+ code?: string | undefined;
1277
+ severity?: "error" | "warning" | undefined;
1278
+ context?: string | undefined;
1279
+ guidance?: string | undefined;
1280
+ }, {
1281
+ message: string;
1282
+ file?: string | undefined;
1283
+ line?: number | undefined;
1284
+ column?: number | undefined;
1285
+ code?: string | undefined;
1286
+ severity?: "error" | "warning" | undefined;
1287
+ context?: string | undefined;
1288
+ guidance?: string | undefined;
1289
+ }>, "many">;
1290
+ guidance: z.ZodOptional<z.ZodString>;
1291
+ errorSummary: z.ZodOptional<z.ZodString>;
1292
+ metadata: z.ZodOptional<z.ZodObject<{
1293
+ detection: z.ZodOptional<z.ZodObject<{
1294
+ extractor: z.ZodString;
1295
+ confidence: z.ZodNumber;
1296
+ patterns: z.ZodArray<z.ZodString, "many">;
1297
+ reason: z.ZodString;
1298
+ }, "strip", z.ZodTypeAny, {
1299
+ extractor: string;
1300
+ confidence: number;
1301
+ patterns: string[];
1302
+ reason: string;
1303
+ }, {
1304
+ extractor: string;
1305
+ confidence: number;
1306
+ patterns: string[];
1307
+ reason: string;
1308
+ }>>;
1309
+ confidence: z.ZodNumber;
1310
+ completeness: z.ZodNumber;
1311
+ issues: z.ZodArray<z.ZodString, "many">;
1312
+ suggestions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1313
+ }, "strip", z.ZodTypeAny, {
1314
+ issues: string[];
1315
+ confidence: number;
1316
+ completeness: number;
1317
+ detection?: {
1318
+ extractor: string;
1319
+ confidence: number;
1320
+ patterns: string[];
1321
+ reason: string;
1322
+ } | undefined;
1323
+ suggestions?: string[] | undefined;
1324
+ }, {
1325
+ issues: string[];
1326
+ confidence: number;
1327
+ completeness: number;
1328
+ detection?: {
1329
+ extractor: string;
1330
+ confidence: number;
1331
+ patterns: string[];
1332
+ reason: string;
1333
+ } | undefined;
1334
+ suggestions?: string[] | undefined;
1335
+ }>>;
1336
+ }, "strip", z.ZodTypeAny, {
1337
+ summary: string;
1338
+ totalErrors: number;
1339
+ errors: {
1340
+ message: string;
1341
+ file?: string | undefined;
1342
+ line?: number | undefined;
1343
+ column?: number | undefined;
1344
+ code?: string | undefined;
1345
+ severity?: "error" | "warning" | undefined;
1346
+ context?: string | undefined;
1347
+ guidance?: string | undefined;
1348
+ }[];
1349
+ guidance?: string | undefined;
1350
+ errorSummary?: string | undefined;
1351
+ metadata?: {
1352
+ issues: string[];
1353
+ confidence: number;
1354
+ completeness: number;
1355
+ detection?: {
1356
+ extractor: string;
1357
+ confidence: number;
1358
+ patterns: string[];
1359
+ reason: string;
1360
+ } | undefined;
1361
+ suggestions?: string[] | undefined;
1362
+ } | undefined;
1363
+ }, {
1364
+ summary: string;
1365
+ totalErrors: number;
1366
+ errors: {
1367
+ message: string;
1368
+ file?: string | undefined;
1369
+ line?: number | undefined;
1370
+ column?: number | undefined;
1371
+ code?: string | undefined;
1372
+ severity?: "error" | "warning" | undefined;
1373
+ context?: string | undefined;
1374
+ guidance?: string | undefined;
1375
+ }[];
1376
+ guidance?: string | undefined;
1377
+ errorSummary?: string | undefined;
1378
+ metadata?: {
1379
+ issues: string[];
1380
+ confidence: number;
1381
+ completeness: number;
1382
+ detection?: {
1383
+ extractor: string;
1384
+ confidence: number;
1385
+ patterns: string[];
1386
+ reason: string;
1387
+ } | undefined;
1388
+ suggestions?: string[] | undefined;
1389
+ } | undefined;
1390
+ }>>;
1391
+ }, "strip", z.ZodTypeAny, {
1392
+ name: string;
1393
+ workflow: string;
1394
+ status: "queued" | "in_progress" | "completed";
1395
+ run_id: number;
1396
+ started_at: string;
1397
+ duration: string;
1398
+ extraction?: {
1399
+ summary: string;
1400
+ totalErrors: number;
1401
+ errors: {
1402
+ message: string;
1403
+ file?: string | undefined;
1404
+ line?: number | undefined;
1405
+ column?: number | undefined;
1406
+ code?: string | undefined;
1407
+ severity?: "error" | "warning" | undefined;
1408
+ context?: string | undefined;
1409
+ guidance?: string | undefined;
1410
+ }[];
1411
+ guidance?: string | undefined;
1412
+ errorSummary?: string | undefined;
1413
+ metadata?: {
1414
+ issues: string[];
1415
+ confidence: number;
1416
+ completeness: number;
1417
+ detection?: {
1418
+ extractor: string;
1419
+ confidence: number;
1420
+ patterns: string[];
1421
+ reason: string;
1422
+ } | undefined;
1423
+ suggestions?: string[] | undefined;
1424
+ } | undefined;
1425
+ } | undefined;
1426
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1427
+ log_file?: string | undefined;
1428
+ }, {
1429
+ name: string;
1430
+ workflow: string;
1431
+ status: "queued" | "in_progress" | "completed";
1432
+ run_id: number;
1433
+ started_at: string;
1434
+ duration: string;
1435
+ extraction?: {
1436
+ summary: string;
1437
+ totalErrors: number;
1438
+ errors: {
1439
+ message: string;
1440
+ file?: string | undefined;
1441
+ line?: number | undefined;
1442
+ column?: number | undefined;
1443
+ code?: string | undefined;
1444
+ severity?: "error" | "warning" | undefined;
1445
+ context?: string | undefined;
1446
+ guidance?: string | undefined;
1447
+ }[];
1448
+ guidance?: string | undefined;
1449
+ errorSummary?: string | undefined;
1450
+ metadata?: {
1451
+ issues: string[];
1452
+ confidence: number;
1453
+ completeness: number;
1454
+ detection?: {
1455
+ extractor: string;
1456
+ confidence: number;
1457
+ patterns: string[];
1458
+ reason: string;
1459
+ } | undefined;
1460
+ suggestions?: string[] | undefined;
1461
+ } | undefined;
1462
+ } | undefined;
1463
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1464
+ log_file?: string | undefined;
1465
+ }>, "many">;
1466
+ /** External checks (with detailsUrl and optional extraction) */
1467
+ external_checks: z.ZodArray<z.ZodObject<{
1468
+ /** Check name (e.g., "codecov/patch", "SonarCloud Code Analysis") */
1469
+ name: z.ZodString;
1470
+ /** Check status */
1471
+ status: z.ZodEnum<["queued", "in_progress", "completed"]>;
1472
+ /** Check conclusion (present when completed) */
1473
+ conclusion: z.ZodOptional<z.ZodEnum<["success", "failure", "neutral", "cancelled", "skipped", "timed_out", "action_required"]>>;
1474
+ /** URL to view check details on external provider */
1475
+ url: z.ZodString;
1476
+ /** Provider name (e.g., "codecov", "sonarcloud") */
1477
+ provider: z.ZodOptional<z.ZodString>;
1478
+ /** Extracted details (if extraction succeeded) */
1479
+ extracted: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1480
+ /** Human-readable summary of the check result */
1481
+ summary: z.ZodString;
1482
+ /** Additional details (provider-specific) */
1483
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1484
+ /** Severity level */
1485
+ severity: z.ZodOptional<z.ZodEnum<["error", "warning", "info"]>>;
1486
+ }, "strip", z.ZodTypeAny, {
1487
+ summary: string;
1488
+ details?: Record<string, any> | undefined;
1489
+ severity?: "error" | "warning" | "info" | undefined;
1490
+ }, {
1491
+ summary: string;
1492
+ details?: Record<string, any> | undefined;
1493
+ severity?: "error" | "warning" | "info" | undefined;
1494
+ }>>>;
1495
+ /** Error message if extraction failed */
1496
+ extraction_error: z.ZodOptional<z.ZodString>;
1497
+ }, "strip", z.ZodTypeAny, {
1498
+ name: string;
1499
+ status: "queued" | "in_progress" | "completed";
1500
+ url: string;
1501
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1502
+ provider?: string | undefined;
1503
+ extracted?: {
1504
+ summary: string;
1505
+ details?: Record<string, any> | undefined;
1506
+ severity?: "error" | "warning" | "info" | undefined;
1507
+ } | null | undefined;
1508
+ extraction_error?: string | undefined;
1509
+ }, {
1510
+ name: string;
1511
+ status: "queued" | "in_progress" | "completed";
1512
+ url: string;
1513
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1514
+ provider?: string | undefined;
1515
+ extracted?: {
1516
+ summary: string;
1517
+ details?: Record<string, any> | undefined;
1518
+ severity?: "error" | "warning" | "info" | undefined;
1519
+ } | null | undefined;
1520
+ extraction_error?: string | undefined;
1521
+ }>, "many">;
1522
+ }, "strip", z.ZodTypeAny, {
1523
+ passed: number;
1524
+ failed: number;
1525
+ total: number;
1526
+ pending: number;
1527
+ github_actions: {
1528
+ name: string;
1529
+ workflow: string;
1530
+ status: "queued" | "in_progress" | "completed";
1531
+ run_id: number;
1532
+ started_at: string;
1533
+ duration: string;
1534
+ extraction?: {
1535
+ summary: string;
1536
+ totalErrors: number;
1537
+ errors: {
1538
+ message: string;
1539
+ file?: string | undefined;
1540
+ line?: number | undefined;
1541
+ column?: number | undefined;
1542
+ code?: string | undefined;
1543
+ severity?: "error" | "warning" | undefined;
1544
+ context?: string | undefined;
1545
+ guidance?: string | undefined;
1546
+ }[];
1547
+ guidance?: string | undefined;
1548
+ errorSummary?: string | undefined;
1549
+ metadata?: {
1550
+ issues: string[];
1551
+ confidence: number;
1552
+ completeness: number;
1553
+ detection?: {
1554
+ extractor: string;
1555
+ confidence: number;
1556
+ patterns: string[];
1557
+ reason: string;
1558
+ } | undefined;
1559
+ suggestions?: string[] | undefined;
1560
+ } | undefined;
1561
+ } | undefined;
1562
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1563
+ log_file?: string | undefined;
1564
+ }[];
1565
+ external_checks: {
1566
+ name: string;
1567
+ status: "queued" | "in_progress" | "completed";
1568
+ url: string;
1569
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1570
+ provider?: string | undefined;
1571
+ extracted?: {
1572
+ summary: string;
1573
+ details?: Record<string, any> | undefined;
1574
+ severity?: "error" | "warning" | "info" | undefined;
1575
+ } | null | undefined;
1576
+ extraction_error?: string | undefined;
1577
+ }[];
1578
+ history_summary?: {
1579
+ total_runs: number;
1580
+ recent_pattern: string;
1581
+ success_rate?: string | undefined;
1582
+ } | undefined;
1583
+ }, {
1584
+ passed: number;
1585
+ failed: number;
1586
+ total: number;
1587
+ pending: number;
1588
+ github_actions: {
1589
+ name: string;
1590
+ workflow: string;
1591
+ status: "queued" | "in_progress" | "completed";
1592
+ run_id: number;
1593
+ started_at: string;
1594
+ duration: string;
1595
+ extraction?: {
1596
+ summary: string;
1597
+ totalErrors: number;
1598
+ errors: {
1599
+ message: string;
1600
+ file?: string | undefined;
1601
+ line?: number | undefined;
1602
+ column?: number | undefined;
1603
+ code?: string | undefined;
1604
+ severity?: "error" | "warning" | undefined;
1605
+ context?: string | undefined;
1606
+ guidance?: string | undefined;
1607
+ }[];
1608
+ guidance?: string | undefined;
1609
+ errorSummary?: string | undefined;
1610
+ metadata?: {
1611
+ issues: string[];
1612
+ confidence: number;
1613
+ completeness: number;
1614
+ detection?: {
1615
+ extractor: string;
1616
+ confidence: number;
1617
+ patterns: string[];
1618
+ reason: string;
1619
+ } | undefined;
1620
+ suggestions?: string[] | undefined;
1621
+ } | undefined;
1622
+ } | undefined;
1623
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1624
+ log_file?: string | undefined;
1625
+ }[];
1626
+ external_checks: {
1627
+ name: string;
1628
+ status: "queued" | "in_progress" | "completed";
1629
+ url: string;
1630
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1631
+ provider?: string | undefined;
1632
+ extracted?: {
1633
+ summary: string;
1634
+ details?: Record<string, any> | undefined;
1635
+ severity?: "error" | "warning" | "info" | undefined;
1636
+ } | null | undefined;
1637
+ extraction_error?: string | undefined;
1638
+ }[];
1639
+ history_summary?: {
1640
+ total_runs: number;
1641
+ recent_pattern: string;
1642
+ success_rate?: string | undefined;
1643
+ } | undefined;
1644
+ }>;
1645
+ /** File change context (optional, helps understand scope) */
1646
+ changes: z.ZodOptional<z.ZodObject<{
1647
+ /** Total number of files changed */
1648
+ files_changed: z.ZodNumber;
1649
+ /** Total lines inserted across all files */
1650
+ insertions: z.ZodNumber;
1651
+ /** Total lines deleted across all files */
1652
+ deletions: z.ZodNumber;
1653
+ /** Number of commits in the PR */
1654
+ commits: z.ZodNumber;
1655
+ /** Top files by lines changed (limited to 10 for token efficiency) */
1656
+ top_files: z.ZodOptional<z.ZodArray<z.ZodObject<{
1657
+ /** File path */
1658
+ file: z.ZodString;
1659
+ /** Number of lines inserted */
1660
+ insertions: z.ZodNumber;
1661
+ /** Number of lines deleted */
1662
+ deletions: z.ZodNumber;
1663
+ /** Is this a new file? */
1664
+ new_file: z.ZodOptional<z.ZodBoolean>;
1665
+ }, "strip", z.ZodTypeAny, {
1666
+ file: string;
1667
+ insertions: number;
1668
+ deletions: number;
1669
+ new_file?: boolean | undefined;
1670
+ }, {
1671
+ file: string;
1672
+ insertions: number;
1673
+ deletions: number;
1674
+ new_file?: boolean | undefined;
1675
+ }>, "many">>;
1676
+ }, "strip", z.ZodTypeAny, {
1677
+ insertions: number;
1678
+ deletions: number;
1679
+ files_changed: number;
1680
+ commits: number;
1681
+ top_files?: {
1682
+ file: string;
1683
+ insertions: number;
1684
+ deletions: number;
1685
+ new_file?: boolean | undefined;
1686
+ }[] | undefined;
1687
+ }, {
1688
+ insertions: number;
1689
+ deletions: number;
1690
+ files_changed: number;
1691
+ commits: number;
1692
+ top_files?: {
1693
+ file: string;
1694
+ insertions: number;
1695
+ deletions: number;
1696
+ new_file?: boolean | undefined;
1697
+ }[] | undefined;
1698
+ }>>;
1699
+ /** Intelligent guidance with next steps (optional) */
1700
+ guidance: z.ZodOptional<z.ZodObject<{
1701
+ /** Overall status (passed, failed, pending) */
1702
+ status: z.ZodEnum<["passed", "failed", "pending"]>;
1703
+ /** Does this failure block merging? */
1704
+ blocking: z.ZodBoolean;
1705
+ /** Overall severity */
1706
+ severity: z.ZodEnum<["error", "warning", "info"]>;
1707
+ /** Human-readable summary */
1708
+ summary: z.ZodString;
1709
+ /** Prioritized list of next steps */
1710
+ next_steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
1711
+ /** Action description */
1712
+ action: z.ZodString;
1713
+ /** URL to perform the action (if applicable) */
1714
+ url: z.ZodOptional<z.ZodString>;
1715
+ /** Severity level (prioritization) */
1716
+ severity: z.ZodEnum<["error", "warning", "info"]>;
1717
+ /** Reason or context for this action */
1718
+ reason: z.ZodOptional<z.ZodString>;
1719
+ }, "strip", z.ZodTypeAny, {
1720
+ severity: "error" | "warning" | "info";
1721
+ action: string;
1722
+ url?: string | undefined;
1723
+ reason?: string | undefined;
1724
+ }, {
1725
+ severity: "error" | "warning" | "info";
1726
+ action: string;
1727
+ url?: string | undefined;
1728
+ reason?: string | undefined;
1729
+ }>, "many">>;
1730
+ }, "strip", z.ZodTypeAny, {
1731
+ summary: string;
1732
+ status: "passed" | "failed" | "pending";
1733
+ severity: "error" | "warning" | "info";
1734
+ blocking: boolean;
1735
+ next_steps?: {
1736
+ severity: "error" | "warning" | "info";
1737
+ action: string;
1738
+ url?: string | undefined;
1739
+ reason?: string | undefined;
1740
+ }[] | undefined;
1741
+ }, {
1742
+ summary: string;
1743
+ status: "passed" | "failed" | "pending";
1744
+ severity: "error" | "warning" | "info";
1745
+ blocking: boolean;
1746
+ next_steps?: {
1747
+ severity: "error" | "warning" | "info";
1748
+ action: string;
1749
+ url?: string | undefined;
1750
+ reason?: string | undefined;
1751
+ }[] | undefined;
1752
+ }>>;
1753
+ /** Cache metadata (optional) */
1754
+ cache: z.ZodOptional<z.ZodObject<{
1755
+ /** Cache directory location */
1756
+ location: z.ZodString;
1757
+ /** When the cache was created (ISO 8601) */
1758
+ cached_at: z.ZodString;
1759
+ /** When the cache expires (ISO 8601) */
1760
+ expires_at: z.ZodString;
1761
+ }, "strip", z.ZodTypeAny, {
1762
+ location: string;
1763
+ cached_at: string;
1764
+ expires_at: string;
1765
+ }, {
1766
+ location: string;
1767
+ cached_at: string;
1768
+ expires_at: string;
1769
+ }>>;
1770
+ }, "strip", z.ZodTypeAny, {
1771
+ checks: {
1772
+ passed: number;
1773
+ failed: number;
1774
+ total: number;
1775
+ pending: number;
1776
+ github_actions: {
1777
+ name: string;
1778
+ workflow: string;
1779
+ status: "queued" | "in_progress" | "completed";
1780
+ run_id: number;
1781
+ started_at: string;
1782
+ duration: string;
1783
+ extraction?: {
1784
+ summary: string;
1785
+ totalErrors: number;
1786
+ errors: {
1787
+ message: string;
1788
+ file?: string | undefined;
1789
+ line?: number | undefined;
1790
+ column?: number | undefined;
1791
+ code?: string | undefined;
1792
+ severity?: "error" | "warning" | undefined;
1793
+ context?: string | undefined;
1794
+ guidance?: string | undefined;
1795
+ }[];
1796
+ guidance?: string | undefined;
1797
+ errorSummary?: string | undefined;
1798
+ metadata?: {
1799
+ issues: string[];
1800
+ confidence: number;
1801
+ completeness: number;
1802
+ detection?: {
1803
+ extractor: string;
1804
+ confidence: number;
1805
+ patterns: string[];
1806
+ reason: string;
1807
+ } | undefined;
1808
+ suggestions?: string[] | undefined;
1809
+ } | undefined;
1810
+ } | undefined;
1811
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1812
+ log_file?: string | undefined;
1813
+ }[];
1814
+ external_checks: {
1815
+ name: string;
1816
+ status: "queued" | "in_progress" | "completed";
1817
+ url: string;
1818
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1819
+ provider?: string | undefined;
1820
+ extracted?: {
1821
+ summary: string;
1822
+ details?: Record<string, any> | undefined;
1823
+ severity?: "error" | "warning" | "info" | undefined;
1824
+ } | null | undefined;
1825
+ extraction_error?: string | undefined;
1826
+ }[];
1827
+ history_summary?: {
1828
+ total_runs: number;
1829
+ recent_pattern: string;
1830
+ success_rate?: string | undefined;
1831
+ } | undefined;
1832
+ };
1833
+ status: "passed" | "failed" | "pending";
1834
+ pr: {
1835
+ number: number;
1836
+ author: string;
1837
+ title: string;
1838
+ url: string;
1839
+ branch: string;
1840
+ base_branch: string;
1841
+ draft: boolean;
1842
+ mergeable: boolean;
1843
+ merge_state_status: "BEHIND" | "BLOCKED" | "CLEAN" | "DIRTY" | "DRAFT" | "HAS_HOOKS" | "UNKNOWN" | "UNSTABLE";
1844
+ labels: string[];
1845
+ linked_issues?: {
1846
+ number: number;
1847
+ title: string;
1848
+ url: string;
1849
+ }[] | undefined;
1850
+ };
1851
+ cache?: {
1852
+ location: string;
1853
+ cached_at: string;
1854
+ expires_at: string;
1855
+ } | undefined;
1856
+ changes?: {
1857
+ insertions: number;
1858
+ deletions: number;
1859
+ files_changed: number;
1860
+ commits: number;
1861
+ top_files?: {
1862
+ file: string;
1863
+ insertions: number;
1864
+ deletions: number;
1865
+ new_file?: boolean | undefined;
1866
+ }[] | undefined;
1867
+ } | undefined;
1868
+ guidance?: {
1869
+ summary: string;
1870
+ status: "passed" | "failed" | "pending";
1871
+ severity: "error" | "warning" | "info";
1872
+ blocking: boolean;
1873
+ next_steps?: {
1874
+ severity: "error" | "warning" | "info";
1875
+ action: string;
1876
+ url?: string | undefined;
1877
+ reason?: string | undefined;
1878
+ }[] | undefined;
1879
+ } | undefined;
1880
+ }, {
1881
+ checks: {
1882
+ passed: number;
1883
+ failed: number;
1884
+ total: number;
1885
+ pending: number;
1886
+ github_actions: {
1887
+ name: string;
1888
+ workflow: string;
1889
+ status: "queued" | "in_progress" | "completed";
1890
+ run_id: number;
1891
+ started_at: string;
1892
+ duration: string;
1893
+ extraction?: {
1894
+ summary: string;
1895
+ totalErrors: number;
1896
+ errors: {
1897
+ message: string;
1898
+ file?: string | undefined;
1899
+ line?: number | undefined;
1900
+ column?: number | undefined;
1901
+ code?: string | undefined;
1902
+ severity?: "error" | "warning" | undefined;
1903
+ context?: string | undefined;
1904
+ guidance?: string | undefined;
1905
+ }[];
1906
+ guidance?: string | undefined;
1907
+ errorSummary?: string | undefined;
1908
+ metadata?: {
1909
+ issues: string[];
1910
+ confidence: number;
1911
+ completeness: number;
1912
+ detection?: {
1913
+ extractor: string;
1914
+ confidence: number;
1915
+ patterns: string[];
1916
+ reason: string;
1917
+ } | undefined;
1918
+ suggestions?: string[] | undefined;
1919
+ } | undefined;
1920
+ } | undefined;
1921
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1922
+ log_file?: string | undefined;
1923
+ }[];
1924
+ external_checks: {
1925
+ name: string;
1926
+ status: "queued" | "in_progress" | "completed";
1927
+ url: string;
1928
+ conclusion?: "success" | "failure" | "neutral" | "cancelled" | "skipped" | "timed_out" | "action_required" | undefined;
1929
+ provider?: string | undefined;
1930
+ extracted?: {
1931
+ summary: string;
1932
+ details?: Record<string, any> | undefined;
1933
+ severity?: "error" | "warning" | "info" | undefined;
1934
+ } | null | undefined;
1935
+ extraction_error?: string | undefined;
1936
+ }[];
1937
+ history_summary?: {
1938
+ total_runs: number;
1939
+ recent_pattern: string;
1940
+ success_rate?: string | undefined;
1941
+ } | undefined;
1942
+ };
1943
+ status: "passed" | "failed" | "pending";
1944
+ pr: {
1945
+ number: number;
1946
+ author: string;
1947
+ title: string;
1948
+ url: string;
1949
+ branch: string;
1950
+ base_branch: string;
1951
+ draft: boolean;
1952
+ mergeable: boolean;
1953
+ merge_state_status: "BEHIND" | "BLOCKED" | "CLEAN" | "DIRTY" | "DRAFT" | "HAS_HOOKS" | "UNKNOWN" | "UNSTABLE";
1954
+ labels: string[];
1955
+ linked_issues?: {
1956
+ number: number;
1957
+ title: string;
1958
+ url: string;
1959
+ }[] | undefined;
1960
+ };
1961
+ cache?: {
1962
+ location: string;
1963
+ cached_at: string;
1964
+ expires_at: string;
1965
+ } | undefined;
1966
+ changes?: {
1967
+ insertions: number;
1968
+ deletions: number;
1969
+ files_changed: number;
1970
+ commits: number;
1971
+ top_files?: {
1972
+ file: string;
1973
+ insertions: number;
1974
+ deletions: number;
1975
+ new_file?: boolean | undefined;
1976
+ }[] | undefined;
1977
+ } | undefined;
1978
+ guidance?: {
1979
+ summary: string;
1980
+ status: "passed" | "failed" | "pending";
1981
+ severity: "error" | "warning" | "info";
1982
+ blocking: boolean;
1983
+ next_steps?: {
1984
+ severity: "error" | "warning" | "info";
1985
+ action: string;
1986
+ url?: string | undefined;
1987
+ reason?: string | undefined;
1988
+ }[] | undefined;
1989
+ } | undefined;
1990
+ }>;
1991
+ export type CheckStatus = z.infer<typeof CheckStatusSchema>;
1992
+ export type CheckConclusion = z.infer<typeof CheckConclusionSchema>;
1993
+ export type MergeStateStatus = z.infer<typeof MergeStateStatusSchema>;
1994
+ export type Severity = z.infer<typeof SeveritySchema>;
1995
+ export type LinkedIssue = z.infer<typeof LinkedIssueSchema>;
1996
+ /** PR overall status type */
1997
+ export type PRStatus = 'passed' | 'failed' | 'pending';
1998
+ export type PRMetadata = z.infer<typeof PRMetadataSchema>;
1999
+ export type GitHubActionCheck = z.infer<typeof GitHubActionCheckSchema>;
2000
+ export type ExternalCheckDetails = z.infer<typeof ExternalCheckDetailsSchema>;
2001
+ export type ExternalCheck = z.infer<typeof ExternalCheckSchema>;
2002
+ export type CheckHistorySummary = z.infer<typeof CheckHistorySummarySchema>;
2003
+ export type ChecksSummary = z.infer<typeof ChecksSummarySchema>;
2004
+ export type FileChange = z.infer<typeof FileChangeSchema>;
2005
+ export type ChangesContext = z.infer<typeof ChangesContextSchema>;
2006
+ export type NextStep = z.infer<typeof NextStepSchema>;
2007
+ export type Guidance = z.infer<typeof GuidanceSchema>;
2008
+ export type CacheInfo = z.infer<typeof CacheInfoSchema>;
2009
+ export type WatchPRResult = z.infer<typeof WatchPRResultSchema>;
2010
+ //# sourceMappingURL=watch-pr-result.schema.d.ts.map