@vibe-validate/cli 0.17.6 → 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.
- package/dist/bin/vibe-validate +4 -0
- package/dist/bin/vibe-validate.js +4 -0
- package/dist/bin/vibe-validate.js.map +1 -1
- package/dist/bin/vv +4 -0
- package/dist/commands/cleanup.d.ts.map +1 -1
- package/dist/commands/cleanup.js +5 -2
- package/dist/commands/cleanup.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +3 -1
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/create-extractor.d.ts.map +1 -1
- package/dist/commands/create-extractor.js +3 -1
- package/dist/commands/create-extractor.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +11 -5
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/generate-workflow.d.ts.map +1 -1
- package/dist/commands/generate-workflow.js +6 -2
- package/dist/commands/generate-workflow.js.map +1 -1
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +19 -9
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +3 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/pre-commit.d.ts.map +1 -1
- package/dist/commands/pre-commit.js +3 -1
- package/dist/commands/pre-commit.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +11 -9
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/state.d.ts.map +1 -1
- package/dist/commands/state.js +11 -6
- package/dist/commands/state.js.map +1 -1
- package/dist/commands/watch-pr.d.ts +16 -0
- package/dist/commands/watch-pr.d.ts.map +1 -1
- package/dist/commands/watch-pr.js +574 -320
- package/dist/commands/watch-pr.js.map +1 -1
- package/dist/schemas/watch-pr-result.schema.d.ts +2010 -0
- package/dist/schemas/watch-pr-result.schema.d.ts.map +1 -0
- package/dist/schemas/watch-pr-result.schema.js +335 -0
- package/dist/schemas/watch-pr-result.schema.js.map +1 -0
- package/dist/schemas/watch-pr-schema.d.ts +6 -6
- package/dist/services/cache-manager.d.ts +113 -0
- package/dist/services/cache-manager.d.ts.map +1 -0
- package/dist/services/cache-manager.js +211 -0
- package/dist/services/cache-manager.js.map +1 -0
- package/dist/services/ci-providers/github-actions.d.ts.map +1 -1
- package/dist/services/ci-providers/github-actions.js +10 -16
- package/dist/services/ci-providers/github-actions.js.map +1 -1
- package/dist/services/external-check-extractor.d.ts +66 -0
- package/dist/services/external-check-extractor.d.ts.map +1 -0
- package/dist/services/external-check-extractor.js +114 -0
- package/dist/services/external-check-extractor.js.map +1 -0
- package/dist/services/extraction-mode-detector.d.ts +85 -0
- package/dist/services/extraction-mode-detector.d.ts.map +1 -0
- package/dist/services/extraction-mode-detector.js +200 -0
- package/dist/services/extraction-mode-detector.js.map +1 -0
- package/dist/services/github-fetcher.d.ts +210 -0
- package/dist/services/github-fetcher.d.ts.map +1 -0
- package/dist/services/github-fetcher.js +412 -0
- package/dist/services/github-fetcher.js.map +1 -0
- package/dist/services/history-summary-builder.d.ts +74 -0
- package/dist/services/history-summary-builder.d.ts.map +1 -0
- package/dist/services/history-summary-builder.js +199 -0
- package/dist/services/history-summary-builder.js.map +1 -0
- package/dist/services/watch-pr-orchestrator.d.ts +119 -0
- package/dist/services/watch-pr-orchestrator.d.ts.map +1 -0
- package/dist/services/watch-pr-orchestrator.js +420 -0
- package/dist/services/watch-pr-orchestrator.js.map +1 -0
- package/dist/utils/command-name.d.ts +21 -0
- package/dist/utils/command-name.d.ts.map +1 -0
- package/dist/utils/command-name.js +45 -0
- package/dist/utils/command-name.js.map +1 -0
- package/dist/utils/pid-lock.d.ts.map +1 -1
- package/dist/utils/pid-lock.js +3 -3
- package/dist/utils/pid-lock.js.map +1 -1
- package/dist/utils/temp-files.d.ts.map +1 -1
- package/dist/utils/temp-files.js +2 -2
- package/dist/utils/temp-files.js.map +1 -1
- package/package.json +7 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-pr-result.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/watch-pr-result.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,335 @@
|
|
|
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 { ErrorExtractorResultSchema } from '@vibe-validate/extractors';
|
|
15
|
+
import { z } from 'zod';
|
|
16
|
+
// ============================================================================
|
|
17
|
+
// Enums
|
|
18
|
+
// ============================================================================
|
|
19
|
+
/**
|
|
20
|
+
* Check Status Enum
|
|
21
|
+
*
|
|
22
|
+
* GitHub check run status
|
|
23
|
+
*/
|
|
24
|
+
export const CheckStatusSchema = z.enum(['queued', 'in_progress', 'completed']);
|
|
25
|
+
/**
|
|
26
|
+
* Check Conclusion Enum
|
|
27
|
+
*
|
|
28
|
+
* GitHub check run conclusion (present when status is 'completed')
|
|
29
|
+
*/
|
|
30
|
+
export const CheckConclusionSchema = z.enum([
|
|
31
|
+
'success',
|
|
32
|
+
'failure',
|
|
33
|
+
'neutral',
|
|
34
|
+
'cancelled',
|
|
35
|
+
'skipped',
|
|
36
|
+
'timed_out',
|
|
37
|
+
'action_required',
|
|
38
|
+
]);
|
|
39
|
+
/**
|
|
40
|
+
* Merge State Status Enum
|
|
41
|
+
*
|
|
42
|
+
* GitHub PR merge state status
|
|
43
|
+
*/
|
|
44
|
+
export const MergeStateStatusSchema = z.enum([
|
|
45
|
+
'BEHIND',
|
|
46
|
+
'BLOCKED',
|
|
47
|
+
'CLEAN',
|
|
48
|
+
'DIRTY',
|
|
49
|
+
'DRAFT',
|
|
50
|
+
'HAS_HOOKS',
|
|
51
|
+
'UNKNOWN',
|
|
52
|
+
'UNSTABLE',
|
|
53
|
+
]);
|
|
54
|
+
/**
|
|
55
|
+
* Severity Enum
|
|
56
|
+
*
|
|
57
|
+
* Severity level for guidance and external checks
|
|
58
|
+
*/
|
|
59
|
+
export const SeveritySchema = z.enum(['error', 'warning', 'info']);
|
|
60
|
+
// ============================================================================
|
|
61
|
+
// PR Context Schemas
|
|
62
|
+
// ============================================================================
|
|
63
|
+
/**
|
|
64
|
+
* Linked Issue Schema
|
|
65
|
+
*
|
|
66
|
+
* GitHub issue linked to the PR (via closing keywords or manually)
|
|
67
|
+
*/
|
|
68
|
+
export const LinkedIssueSchema = z.object({
|
|
69
|
+
/** Issue number */
|
|
70
|
+
number: z.number().int().positive(),
|
|
71
|
+
/** Issue title */
|
|
72
|
+
title: z.string(),
|
|
73
|
+
/** Issue URL */
|
|
74
|
+
url: z.string().url(),
|
|
75
|
+
});
|
|
76
|
+
/**
|
|
77
|
+
* PR Metadata Schema
|
|
78
|
+
*
|
|
79
|
+
* Complete PR context including metadata, labels, and linked issues
|
|
80
|
+
*/
|
|
81
|
+
export const PRMetadataSchema = z.object({
|
|
82
|
+
/** PR number */
|
|
83
|
+
number: z.number().int().positive(),
|
|
84
|
+
/** PR title */
|
|
85
|
+
title: z.string(),
|
|
86
|
+
/** PR URL */
|
|
87
|
+
url: z.string().url(),
|
|
88
|
+
/** Head branch name */
|
|
89
|
+
branch: z.string(),
|
|
90
|
+
/** Base branch name (usually 'main' or 'develop') */
|
|
91
|
+
base_branch: z.string(),
|
|
92
|
+
/** PR author username */
|
|
93
|
+
author: z.string(),
|
|
94
|
+
/** Is this a draft PR? */
|
|
95
|
+
draft: z.boolean(),
|
|
96
|
+
/** Is the PR mergeable? */
|
|
97
|
+
mergeable: z.boolean(),
|
|
98
|
+
/** Merge state status (CLEAN, UNSTABLE, BLOCKED, etc.) */
|
|
99
|
+
merge_state_status: MergeStateStatusSchema,
|
|
100
|
+
/** PR labels */
|
|
101
|
+
labels: z.array(z.string()),
|
|
102
|
+
/** Issues linked to this PR (via closing keywords) */
|
|
103
|
+
linked_issues: z.array(LinkedIssueSchema).optional(),
|
|
104
|
+
});
|
|
105
|
+
// ============================================================================
|
|
106
|
+
// Check Schemas
|
|
107
|
+
// ============================================================================
|
|
108
|
+
/**
|
|
109
|
+
* GitHub Actions Check Schema
|
|
110
|
+
*
|
|
111
|
+
* Check run from GitHub Actions workflow.
|
|
112
|
+
* Includes run_id for drilling down with `gh run view`.
|
|
113
|
+
* May include extraction (from matrix or non-matrix mode).
|
|
114
|
+
*/
|
|
115
|
+
export const GitHubActionCheckSchema = z.object({
|
|
116
|
+
/** Check name */
|
|
117
|
+
name: z.string(),
|
|
118
|
+
/** Check status (queued, in_progress, completed) */
|
|
119
|
+
status: CheckStatusSchema,
|
|
120
|
+
/** Check conclusion (present when completed) */
|
|
121
|
+
conclusion: CheckConclusionSchema.optional(),
|
|
122
|
+
/** GitHub run ID for this check */
|
|
123
|
+
run_id: z.number().int().positive(),
|
|
124
|
+
/** Workflow name */
|
|
125
|
+
workflow: z.string(),
|
|
126
|
+
/** When the check started (ISO 8601) */
|
|
127
|
+
started_at: z.string().datetime(),
|
|
128
|
+
/** Human-readable duration (e.g., "2m15s") */
|
|
129
|
+
duration: z.string(),
|
|
130
|
+
/** Local path to cached log file (if cached) */
|
|
131
|
+
log_file: z.string().optional(),
|
|
132
|
+
/**
|
|
133
|
+
* Extraction result (CRITICAL: NEW FEATURE)
|
|
134
|
+
*
|
|
135
|
+
* Errors extracted from check logs using one of two modes:
|
|
136
|
+
* - Matrix mode: Parsed from validate YAML output, passed through faithfully
|
|
137
|
+
* - Non-matrix mode: Extracted from raw test output using extractors
|
|
138
|
+
*
|
|
139
|
+
* Both modes produce ErrorExtractorResult schema (from @vibe-validate/extractors)
|
|
140
|
+
*/
|
|
141
|
+
extraction: ErrorExtractorResultSchema.optional(),
|
|
142
|
+
});
|
|
143
|
+
/**
|
|
144
|
+
* External Check Details Schema
|
|
145
|
+
*
|
|
146
|
+
* Details extracted from external checks (codecov, SonarCloud, etc.)
|
|
147
|
+
*/
|
|
148
|
+
export const ExternalCheckDetailsSchema = z.object({
|
|
149
|
+
/** Human-readable summary of the check result */
|
|
150
|
+
summary: z.string(),
|
|
151
|
+
/** Additional details (provider-specific) */
|
|
152
|
+
details: z.record(z.any()).optional(),
|
|
153
|
+
/** Severity level */
|
|
154
|
+
severity: SeveritySchema.optional(),
|
|
155
|
+
});
|
|
156
|
+
/**
|
|
157
|
+
* External Check Schema
|
|
158
|
+
*
|
|
159
|
+
* Status check from external provider (codecov, SonarCloud, etc.)
|
|
160
|
+
* These don't have GitHub run IDs, only detailsUrl.
|
|
161
|
+
*/
|
|
162
|
+
export const ExternalCheckSchema = z.object({
|
|
163
|
+
/** Check name (e.g., "codecov/patch", "SonarCloud Code Analysis") */
|
|
164
|
+
name: z.string(),
|
|
165
|
+
/** Check status */
|
|
166
|
+
status: CheckStatusSchema,
|
|
167
|
+
/** Check conclusion (present when completed) */
|
|
168
|
+
conclusion: CheckConclusionSchema.optional(),
|
|
169
|
+
/** URL to view check details on external provider */
|
|
170
|
+
url: z.string().url(),
|
|
171
|
+
/** Provider name (e.g., "codecov", "sonarcloud") */
|
|
172
|
+
provider: z.string().optional(),
|
|
173
|
+
/** Extracted details (if extraction succeeded) */
|
|
174
|
+
extracted: ExternalCheckDetailsSchema.optional().nullable(),
|
|
175
|
+
/** Error message if extraction failed */
|
|
176
|
+
extraction_error: z.string().optional(),
|
|
177
|
+
});
|
|
178
|
+
/**
|
|
179
|
+
* Check History Summary Schema
|
|
180
|
+
*
|
|
181
|
+
* Condensed history for pattern recognition (~75 tokens)
|
|
182
|
+
* Provides recent pattern and success rate without full history details.
|
|
183
|
+
*/
|
|
184
|
+
export const CheckHistorySummarySchema = z.object({
|
|
185
|
+
/** Total number of workflow runs for this PR branch */
|
|
186
|
+
total_runs: z.number().int().nonnegative(),
|
|
187
|
+
/** Recent pattern description (e.g., "Passed last 2 runs", "Failed last 3 runs") */
|
|
188
|
+
recent_pattern: z.string(),
|
|
189
|
+
/** Success rate percentage (e.g., "75%") based on last 10 runs */
|
|
190
|
+
success_rate: z.string().optional(),
|
|
191
|
+
});
|
|
192
|
+
/**
|
|
193
|
+
* Checks Summary Schema
|
|
194
|
+
*
|
|
195
|
+
* Complete check results with history context.
|
|
196
|
+
* Ordered by newspaper philosophy: failed checks before passed checks.
|
|
197
|
+
*/
|
|
198
|
+
export const ChecksSummarySchema = z.object({
|
|
199
|
+
/** Total number of checks */
|
|
200
|
+
total: z.number().int().nonnegative(),
|
|
201
|
+
/** Number of passed checks */
|
|
202
|
+
passed: z.number().int().nonnegative(),
|
|
203
|
+
/** Number of failed checks */
|
|
204
|
+
failed: z.number().int().nonnegative(),
|
|
205
|
+
/** Number of pending checks */
|
|
206
|
+
pending: z.number().int().nonnegative(),
|
|
207
|
+
/** Condensed history for pattern recognition (cheap tokens, high value) */
|
|
208
|
+
history_summary: CheckHistorySummarySchema.optional(),
|
|
209
|
+
/** GitHub Actions checks (with run_id and optional extraction) */
|
|
210
|
+
github_actions: z.array(GitHubActionCheckSchema),
|
|
211
|
+
/** External checks (with detailsUrl and optional extraction) */
|
|
212
|
+
external_checks: z.array(ExternalCheckSchema),
|
|
213
|
+
});
|
|
214
|
+
// ============================================================================
|
|
215
|
+
// Changes Context Schemas
|
|
216
|
+
// ============================================================================
|
|
217
|
+
/**
|
|
218
|
+
* File Change Schema
|
|
219
|
+
*
|
|
220
|
+
* Git diff statistics for a single file
|
|
221
|
+
*/
|
|
222
|
+
export const FileChangeSchema = z.object({
|
|
223
|
+
/** File path */
|
|
224
|
+
file: z.string(),
|
|
225
|
+
/** Number of lines inserted */
|
|
226
|
+
insertions: z.number().int().nonnegative(),
|
|
227
|
+
/** Number of lines deleted */
|
|
228
|
+
deletions: z.number().int().nonnegative(),
|
|
229
|
+
/** Is this a new file? */
|
|
230
|
+
new_file: z.boolean().optional(),
|
|
231
|
+
});
|
|
232
|
+
/**
|
|
233
|
+
* Changes Context Schema
|
|
234
|
+
*
|
|
235
|
+
* File change statistics for the PR
|
|
236
|
+
* Helps understand scope and potential impact areas.
|
|
237
|
+
*/
|
|
238
|
+
export const ChangesContextSchema = z.object({
|
|
239
|
+
/** Total number of files changed */
|
|
240
|
+
files_changed: z.number().int().nonnegative(),
|
|
241
|
+
/** Total lines inserted across all files */
|
|
242
|
+
insertions: z.number().int().nonnegative(),
|
|
243
|
+
/** Total lines deleted across all files */
|
|
244
|
+
deletions: z.number().int().nonnegative(),
|
|
245
|
+
/** Number of commits in the PR */
|
|
246
|
+
commits: z.number().int().positive(),
|
|
247
|
+
/** Top files by lines changed (limited to 10 for token efficiency) */
|
|
248
|
+
top_files: z.array(FileChangeSchema).optional(),
|
|
249
|
+
});
|
|
250
|
+
// ============================================================================
|
|
251
|
+
// Guidance Schemas
|
|
252
|
+
// ============================================================================
|
|
253
|
+
/**
|
|
254
|
+
* Next Step Schema
|
|
255
|
+
*
|
|
256
|
+
* Actionable next step with severity and context
|
|
257
|
+
*/
|
|
258
|
+
export const NextStepSchema = z.object({
|
|
259
|
+
/** Action description */
|
|
260
|
+
action: z.string(),
|
|
261
|
+
/** URL to perform the action (if applicable) */
|
|
262
|
+
url: z.string().url().optional(),
|
|
263
|
+
/** Severity level (prioritization) */
|
|
264
|
+
severity: SeveritySchema,
|
|
265
|
+
/** Reason or context for this action */
|
|
266
|
+
reason: z.string().optional(),
|
|
267
|
+
});
|
|
268
|
+
/**
|
|
269
|
+
* Guidance Schema
|
|
270
|
+
*
|
|
271
|
+
* Intelligent guidance based on check results.
|
|
272
|
+
* Provides context-aware next steps with severity-based prioritization.
|
|
273
|
+
*/
|
|
274
|
+
export const GuidanceSchema = z.object({
|
|
275
|
+
/** Overall status (passed, failed, pending) */
|
|
276
|
+
status: z.enum(['passed', 'failed', 'pending']),
|
|
277
|
+
/** Does this failure block merging? */
|
|
278
|
+
blocking: z.boolean(),
|
|
279
|
+
/** Overall severity */
|
|
280
|
+
severity: SeveritySchema,
|
|
281
|
+
/** Human-readable summary */
|
|
282
|
+
summary: z.string(),
|
|
283
|
+
/** Prioritized list of next steps */
|
|
284
|
+
next_steps: z.array(NextStepSchema).optional(),
|
|
285
|
+
});
|
|
286
|
+
// ============================================================================
|
|
287
|
+
// Cache Schemas
|
|
288
|
+
// ============================================================================
|
|
289
|
+
/**
|
|
290
|
+
* Cache Info Schema
|
|
291
|
+
*
|
|
292
|
+
* Metadata about the local cache
|
|
293
|
+
*/
|
|
294
|
+
export const CacheInfoSchema = z.object({
|
|
295
|
+
/** Cache directory location */
|
|
296
|
+
location: z.string(),
|
|
297
|
+
/** When the cache was created (ISO 8601) */
|
|
298
|
+
cached_at: z.string().datetime(),
|
|
299
|
+
/** When the cache expires (ISO 8601) */
|
|
300
|
+
expires_at: z.string().datetime(),
|
|
301
|
+
});
|
|
302
|
+
// ============================================================================
|
|
303
|
+
// Complete Result Schema
|
|
304
|
+
// ============================================================================
|
|
305
|
+
/**
|
|
306
|
+
* Watch PR Result Schema
|
|
307
|
+
*
|
|
308
|
+
* Complete result structure from watch-pr command.
|
|
309
|
+
*
|
|
310
|
+
* Field ordering follows "Newspaper Philosophy":
|
|
311
|
+
* 1. PR context & status (always needed)
|
|
312
|
+
* 2. Check summary + history (quick overview)
|
|
313
|
+
* 3. Failed checks FIRST (most actionable)
|
|
314
|
+
* 4. Passed checks (confirmation)
|
|
315
|
+
* 5. Guidance (what to do next)
|
|
316
|
+
* 6. Changes (context)
|
|
317
|
+
* 7. Cache (metadata, least important)
|
|
318
|
+
*
|
|
319
|
+
* If output is truncated, LLM still sees critical details.
|
|
320
|
+
*/
|
|
321
|
+
export const WatchPRResultSchema = z.object({
|
|
322
|
+
/** PR metadata (number, title, branch, mergeable, labels, linked issues) */
|
|
323
|
+
pr: PRMetadataSchema,
|
|
324
|
+
/** Overall status (passed, failed, pending) */
|
|
325
|
+
status: z.enum(['passed', 'failed', 'pending']),
|
|
326
|
+
/** Check results with history context */
|
|
327
|
+
checks: ChecksSummarySchema,
|
|
328
|
+
/** File change context (optional, helps understand scope) */
|
|
329
|
+
changes: ChangesContextSchema.optional(),
|
|
330
|
+
/** Intelligent guidance with next steps (optional) */
|
|
331
|
+
guidance: GuidanceSchema.optional(),
|
|
332
|
+
/** Cache metadata (optional) */
|
|
333
|
+
cache: CacheInfoSchema.optional(),
|
|
334
|
+
});
|
|
335
|
+
//# sourceMappingURL=watch-pr-result.schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch-pr-result.schema.js","sourceRoot":"","sources":["../../src/schemas/watch-pr-result.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,13 +11,13 @@ export declare const WatchPRResultSchema: z.ZodObject<{
|
|
|
11
11
|
title: z.ZodString;
|
|
12
12
|
url: z.ZodString;
|
|
13
13
|
}, "strip", z.ZodTypeAny, {
|
|
14
|
-
id: string | number;
|
|
15
14
|
title: string;
|
|
16
15
|
url: string;
|
|
17
|
-
}, {
|
|
18
16
|
id: string | number;
|
|
17
|
+
}, {
|
|
19
18
|
title: string;
|
|
20
19
|
url: string;
|
|
20
|
+
id: string | number;
|
|
21
21
|
}>;
|
|
22
22
|
status: z.ZodEnum<["pending", "in_progress", "completed", "timeout"]>;
|
|
23
23
|
result: z.ZodEnum<["success", "failure", "cancelled", "unknown"]>;
|
|
@@ -531,12 +531,12 @@ export declare const WatchPRResultSchema: z.ZodObject<{
|
|
|
531
531
|
summary: string;
|
|
532
532
|
status: "in_progress" | "completed" | "pending" | "timeout";
|
|
533
533
|
result: "unknown" | "success" | "failure" | "cancelled";
|
|
534
|
+
duration: string;
|
|
534
535
|
pr: {
|
|
535
|
-
id: string | number;
|
|
536
536
|
title: string;
|
|
537
537
|
url: string;
|
|
538
|
+
id: string | number;
|
|
538
539
|
};
|
|
539
|
-
duration: string;
|
|
540
540
|
failures?: {
|
|
541
541
|
name: string;
|
|
542
542
|
checkId: string;
|
|
@@ -598,12 +598,12 @@ export declare const WatchPRResultSchema: z.ZodObject<{
|
|
|
598
598
|
summary: string;
|
|
599
599
|
status: "in_progress" | "completed" | "pending" | "timeout";
|
|
600
600
|
result: "unknown" | "success" | "failure" | "cancelled";
|
|
601
|
+
duration: string;
|
|
601
602
|
pr: {
|
|
602
|
-
id: string | number;
|
|
603
603
|
title: string;
|
|
604
604
|
url: string;
|
|
605
|
+
id: string | number;
|
|
605
606
|
};
|
|
606
|
-
duration: string;
|
|
607
607
|
failures?: {
|
|
608
608
|
name: string;
|
|
609
609
|
checkId: string;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CacheManager - Local cache management for watch-pr command
|
|
3
|
+
*
|
|
4
|
+
* Provides:
|
|
5
|
+
* - Atomic writes (concurrent-safe)
|
|
6
|
+
* - TTL-based cache freshness
|
|
7
|
+
* - Separate logs (immutable) and extractions (mutable) directories
|
|
8
|
+
* - Cross-platform path handling
|
|
9
|
+
*
|
|
10
|
+
* Cache structure:
|
|
11
|
+
* ${os.tmpdir()}/vibe-validate/watch-pr-cache/<repo-name>/<pr-number>/
|
|
12
|
+
* ├── logs/ # Immutable log files
|
|
13
|
+
* │ ├── 123.log
|
|
14
|
+
* │ └── 456.log
|
|
15
|
+
* ├── extractions/ # Mutable extraction results
|
|
16
|
+
* │ ├── 123.json
|
|
17
|
+
* │ └── 456.json
|
|
18
|
+
* └── metadata.json # Complete WatchPRResult
|
|
19
|
+
*
|
|
20
|
+
* @packageDocumentation
|
|
21
|
+
*/
|
|
22
|
+
import type { ErrorExtractorResult } from '@vibe-validate/extractors';
|
|
23
|
+
import type { WatchPRResult } from '../schemas/watch-pr-result.schema.js';
|
|
24
|
+
/**
|
|
25
|
+
* CacheManager - Manages local cache for watch-pr command
|
|
26
|
+
*
|
|
27
|
+
* Provides concurrent-safe caching with TTL support.
|
|
28
|
+
*/
|
|
29
|
+
export declare class CacheManager {
|
|
30
|
+
/** Base cache directory */
|
|
31
|
+
private readonly cacheDir;
|
|
32
|
+
/** Logs directory (immutable) */
|
|
33
|
+
private readonly logsDir;
|
|
34
|
+
/** Extractions directory (mutable) */
|
|
35
|
+
private readonly extractionsDir;
|
|
36
|
+
/**
|
|
37
|
+
* Create a new CacheManager
|
|
38
|
+
*
|
|
39
|
+
* @param repoName - Repository name (e.g., "jdutton/vibe-validate")
|
|
40
|
+
* @param prNumber - PR number
|
|
41
|
+
* @param baseDir - Base directory for cache (defaults to OS temp)
|
|
42
|
+
*/
|
|
43
|
+
constructor(repoName: string, prNumber: number, baseDir?: string);
|
|
44
|
+
/**
|
|
45
|
+
* Initialize cache directories
|
|
46
|
+
*
|
|
47
|
+
* Creates directory structure if it doesn't exist.
|
|
48
|
+
*/
|
|
49
|
+
private initDirectories;
|
|
50
|
+
/**
|
|
51
|
+
* Atomic write - Write file atomically using temp file + rename
|
|
52
|
+
*
|
|
53
|
+
* Provides concurrent safety by writing to temp file first, then renaming.
|
|
54
|
+
*
|
|
55
|
+
* @param filePath - Target file path
|
|
56
|
+
* @param content - Content to write
|
|
57
|
+
*/
|
|
58
|
+
private atomicWrite;
|
|
59
|
+
/**
|
|
60
|
+
* Check if a file is fresh (within TTL)
|
|
61
|
+
*
|
|
62
|
+
* @param filePath - File path to check
|
|
63
|
+
* @param ttl - TTL in milliseconds
|
|
64
|
+
* @returns true if file exists and is fresh, false otherwise
|
|
65
|
+
*/
|
|
66
|
+
private isFresh;
|
|
67
|
+
/**
|
|
68
|
+
* Save log file (immutable)
|
|
69
|
+
*
|
|
70
|
+
* @param runId - GitHub run ID
|
|
71
|
+
* @param logs - Log content
|
|
72
|
+
* @returns Path to saved log file
|
|
73
|
+
*/
|
|
74
|
+
saveLog(runId: number, logs: string): Promise<string>;
|
|
75
|
+
/**
|
|
76
|
+
* Save extraction result (mutable)
|
|
77
|
+
*
|
|
78
|
+
* @param runId - GitHub run ID
|
|
79
|
+
* @param extraction - Extraction result
|
|
80
|
+
*/
|
|
81
|
+
saveExtraction(runId: number, extraction: ErrorExtractorResult): Promise<void>;
|
|
82
|
+
/**
|
|
83
|
+
* Get extraction result
|
|
84
|
+
*
|
|
85
|
+
* @param runId - GitHub run ID
|
|
86
|
+
* @returns Extraction result or null if not found
|
|
87
|
+
*/
|
|
88
|
+
getExtraction(runId: number): Promise<ErrorExtractorResult | null>;
|
|
89
|
+
/**
|
|
90
|
+
* Save metadata (complete WatchPRResult)
|
|
91
|
+
*
|
|
92
|
+
* @param data - WatchPRResult data
|
|
93
|
+
*/
|
|
94
|
+
saveMetadata(data: WatchPRResult): Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* Get metadata (complete WatchPRResult)
|
|
97
|
+
*
|
|
98
|
+
* @returns Metadata or null if not found
|
|
99
|
+
*/
|
|
100
|
+
getMetadata(): Promise<WatchPRResult | null>;
|
|
101
|
+
/**
|
|
102
|
+
* Get or fetch data with caching
|
|
103
|
+
*
|
|
104
|
+
* Generic cache wrapper with TTL support.
|
|
105
|
+
*
|
|
106
|
+
* @param key - Cache key
|
|
107
|
+
* @param fetcher - Function to fetch data if cache is stale/missing
|
|
108
|
+
* @param ttl - TTL in milliseconds (default: 5 minutes)
|
|
109
|
+
* @returns Cached or fetched data
|
|
110
|
+
*/
|
|
111
|
+
getOrFetch<T>(key: string, fetcher: () => Promise<T>, ttl?: number): Promise<T>;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=cache-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../../src/services/cache-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAO1E;;;;GAIG;AACH,qBAAa,YAAY;IACvB,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,iCAAiC;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC;;;;;;OAMG;gBACS,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAiBhE;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAWvB;;;;;;;OAOG;YACW,WAAW;IAezB;;;;;;OAMG;YACW,OAAO;IAUrB;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM3D;;;;;OAKG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpF;;;;;OAKG;IACG,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAUxE;;;;OAIG;IACG,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAUlD;;;;;;;;;OASG;IACG,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,GAAE,MAAuB,GAAG,OAAO,CAAC,CAAC,CAAC;CAyBtG"}
|