@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.
Files changed (81) 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 +19 -9
  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 +3 -1
  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 +11 -9
  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 +11 -6
  34. package/dist/commands/state.js.map +1 -1
  35. package/dist/commands/watch-pr.d.ts +16 -0
  36. package/dist/commands/watch-pr.d.ts.map +1 -1
  37. package/dist/commands/watch-pr.js +574 -320
  38. package/dist/commands/watch-pr.js.map +1 -1
  39. package/dist/schemas/watch-pr-result.schema.d.ts +2010 -0
  40. package/dist/schemas/watch-pr-result.schema.d.ts.map +1 -0
  41. package/dist/schemas/watch-pr-result.schema.js +335 -0
  42. package/dist/schemas/watch-pr-result.schema.js.map +1 -0
  43. package/dist/schemas/watch-pr-schema.d.ts +6 -6
  44. package/dist/services/cache-manager.d.ts +113 -0
  45. package/dist/services/cache-manager.d.ts.map +1 -0
  46. package/dist/services/cache-manager.js +211 -0
  47. package/dist/services/cache-manager.js.map +1 -0
  48. package/dist/services/ci-providers/github-actions.d.ts.map +1 -1
  49. package/dist/services/ci-providers/github-actions.js +10 -16
  50. package/dist/services/ci-providers/github-actions.js.map +1 -1
  51. package/dist/services/external-check-extractor.d.ts +66 -0
  52. package/dist/services/external-check-extractor.d.ts.map +1 -0
  53. package/dist/services/external-check-extractor.js +114 -0
  54. package/dist/services/external-check-extractor.js.map +1 -0
  55. package/dist/services/extraction-mode-detector.d.ts +85 -0
  56. package/dist/services/extraction-mode-detector.d.ts.map +1 -0
  57. package/dist/services/extraction-mode-detector.js +200 -0
  58. package/dist/services/extraction-mode-detector.js.map +1 -0
  59. package/dist/services/github-fetcher.d.ts +210 -0
  60. package/dist/services/github-fetcher.d.ts.map +1 -0
  61. package/dist/services/github-fetcher.js +412 -0
  62. package/dist/services/github-fetcher.js.map +1 -0
  63. package/dist/services/history-summary-builder.d.ts +74 -0
  64. package/dist/services/history-summary-builder.d.ts.map +1 -0
  65. package/dist/services/history-summary-builder.js +199 -0
  66. package/dist/services/history-summary-builder.js.map +1 -0
  67. package/dist/services/watch-pr-orchestrator.d.ts +119 -0
  68. package/dist/services/watch-pr-orchestrator.d.ts.map +1 -0
  69. package/dist/services/watch-pr-orchestrator.js +420 -0
  70. package/dist/services/watch-pr-orchestrator.js.map +1 -0
  71. package/dist/utils/command-name.d.ts +21 -0
  72. package/dist/utils/command-name.d.ts.map +1 -0
  73. package/dist/utils/command-name.js +45 -0
  74. package/dist/utils/command-name.js.map +1 -0
  75. package/dist/utils/pid-lock.d.ts.map +1 -1
  76. package/dist/utils/pid-lock.js +3 -3
  77. package/dist/utils/pid-lock.js.map +1 -1
  78. package/dist/utils/temp-files.d.ts.map +1 -1
  79. package/dist/utils/temp-files.js +2 -2
  80. package/dist/utils/temp-files.js.map +1 -1
  81. package/package.json +7 -7
@@ -0,0 +1,211 @@
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 * as fsSync from 'node:fs';
23
+ import * as fs from 'node:fs/promises';
24
+ import * as path from 'node:path';
25
+ import { normalizedTmpdir } from '@vibe-validate/utils';
26
+ /**
27
+ * Default TTL for cached data (5 minutes)
28
+ */
29
+ const DEFAULT_TTL_MS = 5 * 60 * 1000;
30
+ /**
31
+ * CacheManager - Manages local cache for watch-pr command
32
+ *
33
+ * Provides concurrent-safe caching with TTL support.
34
+ */
35
+ export class CacheManager {
36
+ /** Base cache directory */
37
+ cacheDir;
38
+ /** Logs directory (immutable) */
39
+ logsDir;
40
+ /** Extractions directory (mutable) */
41
+ extractionsDir;
42
+ /**
43
+ * Create a new CacheManager
44
+ *
45
+ * @param repoName - Repository name (e.g., "jdutton/vibe-validate")
46
+ * @param prNumber - PR number
47
+ * @param baseDir - Base directory for cache (defaults to OS temp)
48
+ */
49
+ constructor(repoName, prNumber, baseDir) {
50
+ // Sanitize repo name for filesystem (replace / with _)
51
+ const sanitizedRepoName = repoName.replaceAll('/', '_');
52
+ // Cache directory: ${baseDir}/vibe-validate/watch-pr-cache/<repo-name>/<pr-number>/
53
+ // Use normalizedTmpdir() to resolve Windows short paths (RUNNER~1 -> runneradmin)
54
+ const base = baseDir ?? normalizedTmpdir();
55
+ this.cacheDir = path.join(base, 'vibe-validate', 'watch-pr-cache', sanitizedRepoName, String(prNumber));
56
+ // Subdirectories
57
+ this.logsDir = path.join(this.cacheDir, 'logs');
58
+ this.extractionsDir = path.join(this.cacheDir, 'extractions');
59
+ // Create directories synchronously on construction
60
+ this.initDirectories();
61
+ }
62
+ /**
63
+ * Initialize cache directories
64
+ *
65
+ * Creates directory structure if it doesn't exist.
66
+ */
67
+ initDirectories() {
68
+ // Create directories synchronously during construction
69
+ try {
70
+ fsSync.mkdirSync(this.logsDir, { recursive: true });
71
+ fsSync.mkdirSync(this.extractionsDir, { recursive: true });
72
+ }
73
+ catch (error) {
74
+ // Log error during directory creation (will fail later with more context)
75
+ console.warn('Failed to create cache directories:', error);
76
+ }
77
+ }
78
+ /**
79
+ * Atomic write - Write file atomically using temp file + rename
80
+ *
81
+ * Provides concurrent safety by writing to temp file first, then renaming.
82
+ *
83
+ * @param filePath - Target file path
84
+ * @param content - Content to write
85
+ */
86
+ async atomicWrite(filePath, content) {
87
+ // Ensure parent directory exists
88
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
89
+ // Write to temp file first
90
+ // Using crypto for secure random suffix (sonarjs/pseudo-random requirement)
91
+ const crypto = await import('node:crypto');
92
+ const randomSuffix = crypto.randomBytes(8).toString('hex');
93
+ const tempPath = `${filePath}.tmp.${Date.now()}.${randomSuffix}`;
94
+ await fs.writeFile(tempPath, content, 'utf8');
95
+ // Atomic rename
96
+ await fs.rename(tempPath, filePath);
97
+ }
98
+ /**
99
+ * Check if a file is fresh (within TTL)
100
+ *
101
+ * @param filePath - File path to check
102
+ * @param ttl - TTL in milliseconds
103
+ * @returns true if file exists and is fresh, false otherwise
104
+ */
105
+ async isFresh(filePath, ttl) {
106
+ try {
107
+ const stats = await fs.stat(filePath);
108
+ const age = Date.now() - stats.mtimeMs;
109
+ return age < ttl;
110
+ }
111
+ catch {
112
+ return false;
113
+ }
114
+ }
115
+ /**
116
+ * Save log file (immutable)
117
+ *
118
+ * @param runId - GitHub run ID
119
+ * @param logs - Log content
120
+ * @returns Path to saved log file
121
+ */
122
+ async saveLog(runId, logs) {
123
+ const logPath = path.join(this.logsDir, `${runId}.log`);
124
+ await this.atomicWrite(logPath, logs);
125
+ return logPath;
126
+ }
127
+ /**
128
+ * Save extraction result (mutable)
129
+ *
130
+ * @param runId - GitHub run ID
131
+ * @param extraction - Extraction result
132
+ */
133
+ async saveExtraction(runId, extraction) {
134
+ const extractionPath = path.join(this.extractionsDir, `${runId}.json`);
135
+ await this.atomicWrite(extractionPath, JSON.stringify(extraction, null, 2));
136
+ }
137
+ /**
138
+ * Get extraction result
139
+ *
140
+ * @param runId - GitHub run ID
141
+ * @returns Extraction result or null if not found
142
+ */
143
+ async getExtraction(runId) {
144
+ try {
145
+ const extractionPath = path.join(this.extractionsDir, `${runId}.json`);
146
+ const content = await fs.readFile(extractionPath, 'utf8');
147
+ return JSON.parse(content);
148
+ }
149
+ catch {
150
+ return null;
151
+ }
152
+ }
153
+ /**
154
+ * Save metadata (complete WatchPRResult)
155
+ *
156
+ * @param data - WatchPRResult data
157
+ */
158
+ async saveMetadata(data) {
159
+ const metadataPath = path.join(this.cacheDir, 'metadata.json');
160
+ await this.atomicWrite(metadataPath, JSON.stringify(data, null, 2));
161
+ }
162
+ /**
163
+ * Get metadata (complete WatchPRResult)
164
+ *
165
+ * @returns Metadata or null if not found
166
+ */
167
+ async getMetadata() {
168
+ try {
169
+ const metadataPath = path.join(this.cacheDir, 'metadata.json');
170
+ const content = await fs.readFile(metadataPath, 'utf8');
171
+ return JSON.parse(content);
172
+ }
173
+ catch {
174
+ return null;
175
+ }
176
+ }
177
+ /**
178
+ * Get or fetch data with caching
179
+ *
180
+ * Generic cache wrapper with TTL support.
181
+ *
182
+ * @param key - Cache key
183
+ * @param fetcher - Function to fetch data if cache is stale/missing
184
+ * @param ttl - TTL in milliseconds (default: 5 minutes)
185
+ * @returns Cached or fetched data
186
+ */
187
+ async getOrFetch(key, fetcher, ttl = DEFAULT_TTL_MS) {
188
+ const cacheFile = path.join(this.cacheDir, `${key}.json`);
189
+ // Check if cache is fresh
190
+ if (await this.isFresh(cacheFile, ttl)) {
191
+ try {
192
+ const content = await fs.readFile(cacheFile, 'utf8');
193
+ return JSON.parse(content);
194
+ }
195
+ catch {
196
+ // Cache is corrupt or unreadable - fetch fresh data
197
+ }
198
+ }
199
+ // Fetch fresh data
200
+ const data = await fetcher();
201
+ // Save to cache
202
+ try {
203
+ await this.atomicWrite(cacheFile, JSON.stringify(data, null, 2));
204
+ }
205
+ catch {
206
+ // Ignore cache write errors - return data anyway
207
+ }
208
+ return data;
209
+ }
210
+ }
211
+ //# sourceMappingURL=cache-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-manager.js","sourceRoot":"","sources":["../../src/services/cache-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD;;GAEG;AACH,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAErC;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACvB,2BAA2B;IACV,QAAQ,CAAS;IAElC,iCAAiC;IAChB,OAAO,CAAS;IAEjC,sCAAsC;IACrB,cAAc,CAAS;IAExC;;;;;;OAMG;IACH,YAAY,QAAgB,EAAE,QAAgB,EAAE,OAAgB;QAC9D,uDAAuD;QACvD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAExD,oFAAoF;QACpF,kFAAkF;QAClF,MAAM,IAAI,GAAG,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAExG,iBAAiB;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE9D,mDAAmD;QACnD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACK,eAAe;QACrB,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0EAA0E;YAC1E,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,OAAe;QACzD,iCAAiC;QACjC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,2BAA2B;QAC3B,4EAA4E;QAC5E,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,GAAG,QAAQ,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,YAAY,EAAE,CAAC;QACjE,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE9C,gBAAgB;QAChB,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,GAAW;QACjD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;YACvC,OAAO,GAAG,GAAG,GAAG,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAY;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,UAAgC;QAClE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,KAAa;QAC/B,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,IAAmB;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAkB,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CAAI,GAAW,EAAE,OAAyB,EAAE,MAAc,cAAc;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;QAE1D,0BAA0B;QAC1B,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;QACH,CAAC;QAED,mBAAmB;QACnB,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;QAE7B,gBAAgB;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;QACnD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"github-actions.d.ts","sourceRoot":"","sources":["../../../src/services/ci-providers/github-actions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,WAAW,EAEX,WAAW,EACX,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IACtD,QAAQ,CAAC,IAAI,oBAAoB;IAE3B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAe/B,iBAAiB,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAoBhD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAyB7D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAkC3D,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAatE;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA6BtC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;OAEG;IACH,OAAO,CAAC,WAAW;IA8BnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAStC;;OAEG;IACH,OAAO,CAAC,cAAc;IAsEtB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;CAyB5B"}
1
+ {"version":3,"file":"github-actions.d.ts","sourceRoot":"","sources":["../../../src/services/ci-providers/github-actions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,WAAW,EAEX,WAAW,EACX,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;GAOG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IACtD,QAAQ,CAAC,IAAI,oBAAoB;IAE3B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAe/B,iBAAiB,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAehD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAuB7D,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAkC3D,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAatE;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA6BtC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;OAEG;IACH,OAAO,CAAC,WAAW;IA8BnB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAStC;;OAEG;IACH,OAAO,CAAC,cAAc;IAsEtB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;CAyB5B"}
@@ -1,4 +1,4 @@
1
- import { executeGitCommand } from '@vibe-validate/git';
1
+ import { executeGitCommand, fetchPRDetails, fetchPRChecks } from '@vibe-validate/git';
2
2
  import { isToolAvailable, safeExecSync } from '@vibe-validate/utils';
3
3
  import { parse as parseYaml } from 'yaml';
4
4
  /**
@@ -27,11 +27,7 @@ export class GitHubActionsProvider {
27
27
  }
28
28
  async detectPullRequest() {
29
29
  try {
30
- const output = safeExecSync('gh', ['pr', 'view', '--json', 'number,title,url,headRefName'], {
31
- encoding: 'utf8',
32
- stdio: 'pipe',
33
- });
34
- const prData = JSON.parse(output.toString());
30
+ const prData = fetchPRDetails(0, undefined, undefined, ['number', 'title', 'url', 'headRefName']);
35
31
  return {
36
32
  id: prData.number,
37
33
  title: prData.title,
@@ -44,18 +40,16 @@ export class GitHubActionsProvider {
44
40
  }
45
41
  }
46
42
  async fetchCheckStatus(prId) {
47
- const output = safeExecSync('gh', ['pr', 'view', String(prId), '--json', 'number,title,url,statusCheckRollup,headRefName'], {
48
- encoding: 'utf8',
49
- stdio: 'pipe',
50
- });
51
- const data = JSON.parse(output.toString());
52
- const checks = (data.statusCheckRollup ?? []).map((check) => this.transformCheck(check));
43
+ const prNumber = typeof prId === 'string' ? Number.parseInt(prId, 10) : prId;
44
+ const prData = fetchPRDetails(prNumber, undefined, undefined, ['number', 'title', 'url', 'headRefName']);
45
+ const checksData = fetchPRChecks(prNumber);
46
+ const checks = (checksData.statusCheckRollup ?? []).map((check) => this.transformCheck(check));
53
47
  return {
54
48
  pr: {
55
- id: data.number,
56
- title: data.title,
57
- url: data.url,
58
- branch: data.headRefName ?? '',
49
+ id: prData.number,
50
+ title: prData.title,
51
+ url: prData.url,
52
+ branch: prData.headRefName ?? '',
59
53
  },
60
54
  status: this.determineOverallStatus(checks),
61
55
  result: this.determineOverallResult(checks),
@@ -1 +1 @@
1
- {"version":3,"file":"github-actions.js","sourceRoot":"","sources":["../../../src/services/ci-providers/github-actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-actions.js","sourceRoot":"","sources":["../../../src/services/ci-providers/github-actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * ExternalCheckExtractor - Extract details from external checks (codecov, SonarCloud, etc.)
3
+ *
4
+ * Provides pluggable extractor registry for external status checks.
5
+ * Extractors fetch and parse details from external providers.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import type { ExternalCheck, ExternalCheckDetails } from '../schemas/watch-pr-result.schema.js';
10
+ /**
11
+ * External check extractor interface
12
+ */
13
+ export interface ExternalCheckExtractor {
14
+ /** Extractor name */
15
+ name: string;
16
+ /** Check if this extractor can handle the given check */
17
+ canHandle(check: ExternalCheck): boolean;
18
+ /** Extract details from check */
19
+ extract(check: ExternalCheck): Promise<ExternalCheckDetails | null>;
20
+ }
21
+ /**
22
+ * Codecov extractor
23
+ *
24
+ * Extracts coverage information from codecov checks.
25
+ */
26
+ export declare class CodecovExtractor implements ExternalCheckExtractor {
27
+ name: string;
28
+ canHandle(check: ExternalCheck): boolean;
29
+ extract(check: ExternalCheck): Promise<ExternalCheckDetails | null>;
30
+ }
31
+ /**
32
+ * SonarCloud extractor
33
+ *
34
+ * Extracts code quality information from SonarCloud checks.
35
+ */
36
+ export declare class SonarCloudExtractor implements ExternalCheckExtractor {
37
+ name: string;
38
+ canHandle(check: ExternalCheck): boolean;
39
+ extract(check: ExternalCheck): Promise<ExternalCheckDetails | null>;
40
+ }
41
+ /**
42
+ * Extracted check (ExternalCheck with extraction results)
43
+ */
44
+ export type ExtractedCheck = ExternalCheck;
45
+ /**
46
+ * External extractor registry
47
+ *
48
+ * Manages external check extractors and coordinates extraction.
49
+ */
50
+ export declare class ExternalExtractorRegistry {
51
+ private readonly extractors;
52
+ /**
53
+ * Register an extractor
54
+ *
55
+ * @param extractor - Extractor to register
56
+ */
57
+ register(extractor: ExternalCheckExtractor): void;
58
+ /**
59
+ * Extract from all checks
60
+ *
61
+ * @param checks - External checks
62
+ * @returns Extracted checks
63
+ */
64
+ extractAll(checks: ExternalCheck[]): Promise<ExtractedCheck[]>;
65
+ }
66
+ //# sourceMappingURL=external-check-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-check-extractor.d.ts","sourceRoot":"","sources":["../../src/services/external-check-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEhG;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IAEb,yDAAyD;IAEzD,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;IAEzC,iCAAiC;IAEjC,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;CACrE;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,sBAAsB;IAC7D,IAAI,SAAa;IAEjB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAIlC,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;CAgB1E;AAED;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,sBAAsB;IAChE,IAAI,SAAgB;IAEpB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAIlC,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;CAc1E;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAE3C;;;;GAIG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAE3D;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI;IAIjD;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;CAmCrE"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * ExternalCheckExtractor - Extract details from external checks (codecov, SonarCloud, etc.)
3
+ *
4
+ * Provides pluggable extractor registry for external status checks.
5
+ * Extractors fetch and parse details from external providers.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ /**
10
+ * Codecov extractor
11
+ *
12
+ * Extracts coverage information from codecov checks.
13
+ */
14
+ export class CodecovExtractor {
15
+ name = 'codecov';
16
+ canHandle(check) {
17
+ return check.name.toLowerCase().includes('codecov');
18
+ }
19
+ async extract(check) {
20
+ try {
21
+ // Basic extraction from check conclusion
22
+ const summary = check.conclusion === 'success'
23
+ ? 'Code coverage check passed'
24
+ : 'Code coverage check failed - coverage below threshold';
25
+ return {
26
+ summary,
27
+ severity: check.conclusion === 'success' ? 'info' : 'warning',
28
+ };
29
+ }
30
+ catch {
31
+ return null;
32
+ }
33
+ }
34
+ }
35
+ /**
36
+ * SonarCloud extractor
37
+ *
38
+ * Extracts code quality information from SonarCloud checks.
39
+ */
40
+ export class SonarCloudExtractor {
41
+ name = 'sonarcloud';
42
+ canHandle(check) {
43
+ return check.name.toLowerCase().includes('sonar');
44
+ }
45
+ async extract(check) {
46
+ try {
47
+ // Basic extraction from check conclusion
48
+ const summary = check.conclusion === 'success' ? 'Code quality check passed' : 'Code quality issues detected';
49
+ return {
50
+ summary,
51
+ severity: check.conclusion === 'success' ? 'info' : 'warning',
52
+ };
53
+ }
54
+ catch {
55
+ return null;
56
+ }
57
+ }
58
+ }
59
+ /**
60
+ * External extractor registry
61
+ *
62
+ * Manages external check extractors and coordinates extraction.
63
+ */
64
+ export class ExternalExtractorRegistry {
65
+ extractors = [];
66
+ /**
67
+ * Register an extractor
68
+ *
69
+ * @param extractor - Extractor to register
70
+ */
71
+ register(extractor) {
72
+ this.extractors.push(extractor);
73
+ }
74
+ /**
75
+ * Extract from all checks
76
+ *
77
+ * @param checks - External checks
78
+ * @returns Extracted checks
79
+ */
80
+ async extractAll(checks) {
81
+ const results = [];
82
+ for (const check of checks) {
83
+ try {
84
+ // Find matching extractor
85
+ const extractor = this.extractors.find((e) => e.canHandle(check));
86
+ if (extractor) {
87
+ // Extract details
88
+ const extracted = await extractor.extract(check);
89
+ results.push({
90
+ ...check,
91
+ extracted,
92
+ });
93
+ }
94
+ else {
95
+ // No matching extractor
96
+ results.push({
97
+ ...check,
98
+ extracted: null,
99
+ });
100
+ }
101
+ }
102
+ catch (error) {
103
+ // Extraction failed - include error
104
+ results.push({
105
+ ...check,
106
+ extracted: null,
107
+ extraction_error: error instanceof Error ? error.message : 'Extraction failed',
108
+ });
109
+ }
110
+ }
111
+ return results;
112
+ }
113
+ }
114
+ //# sourceMappingURL=external-check-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-check-extractor.js","sourceRoot":"","sources":["../../src/services/external-check-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * ExtractionModeDetector - Detect and extract errors from GitHub Actions logs
3
+ *
4
+ * Supports two modes:
5
+ * 1. Matrix mode: Validate YAML output with extraction field (pass through faithfully)
6
+ * 2. Non-matrix mode: Raw test output (detect extractor and extract errors)
7
+ *
8
+ * Try matrix first, fall back to non-matrix if YAML not found.
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ import type { ErrorExtractorResult } from '@vibe-validate/extractors';
13
+ import type { GitHubActionCheck } from '../schemas/watch-pr-result.schema.js';
14
+ /**
15
+ * ExtractionModeDetector - Detect extraction mode and extract errors
16
+ *
17
+ * Tries matrix mode first (YAML with extraction field), falls back to non-matrix mode.
18
+ */
19
+ export declare class ExtractionModeDetector {
20
+ /**
21
+ * Detect extraction mode and extract errors
22
+ *
23
+ * @param check - GitHub Actions check
24
+ * @param logs - Raw log output
25
+ * @returns ErrorExtractorResult or null if extraction failed
26
+ */
27
+ detectAndExtract(check: GitHubActionCheck, logs: string): Promise<ErrorExtractorResult | null>;
28
+ /**
29
+ * Extract from matrix mode (validate YAML output)
30
+ *
31
+ * Looks for YAML markers (---...---) and extracts the "extraction" field.
32
+ *
33
+ * @param logs - Raw log output
34
+ * @returns ErrorExtractorResult or null if not matrix mode
35
+ */
36
+ private extractFromMatrixMode;
37
+ /**
38
+ * Extract from non-matrix mode (raw test output)
39
+ *
40
+ * Detects extractor from check name or logs, then runs extraction.
41
+ *
42
+ * @param _checkName - Check name (unused - autoDetectAndExtract handles detection)
43
+ * @param logs - Raw log output
44
+ * @returns ErrorExtractorResult or null if extraction failed
45
+ */
46
+ private extractFromNonMatrixMode;
47
+ /**
48
+ * Strip GitHub Actions log prefix from a single line
49
+ *
50
+ * @param line - Log line
51
+ * @returns Cleaned line
52
+ */
53
+ private stripLogPrefix;
54
+ /**
55
+ * Extract ErrorExtractorResult from parsed YAML
56
+ *
57
+ * Tries root level first (vibe-validate run output), then nested (vibe-validate validate output)
58
+ *
59
+ * @param parsed - Parsed YAML object
60
+ * @returns ErrorExtractorResult or null
61
+ */
62
+ private extractFromYAML;
63
+ /**
64
+ * Extract ErrorExtractorResult from phases array (validate output)
65
+ *
66
+ * @param phases - Phases array
67
+ * @returns ErrorExtractorResult or null
68
+ */
69
+ private extractFromPhases;
70
+ /**
71
+ * Extract ErrorExtractorResult from a single phase's steps
72
+ *
73
+ * @param phase - Phase object
74
+ * @returns ErrorExtractorResult or null
75
+ */
76
+ private extractFromPhaseSteps;
77
+ /**
78
+ * Validate extraction structure
79
+ *
80
+ * @param extraction - Extraction object
81
+ * @returns ErrorExtractorResult or null
82
+ */
83
+ private validateExtraction;
84
+ }
85
+ //# sourceMappingURL=extraction-mode-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extraction-mode-detector.d.ts","sourceRoot":"","sources":["../../src/services/extraction-mode-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAE9E;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC;;;;;;OAMG;IACG,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAgBpG;;;;;;;OAOG;YACW,qBAAqB;IAkCnC;;;;;;;;OAQG;YACW,wBAAwB;IAiBtC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAmBtB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;CAa3B"}