@vibe-validate/core 0.14.2 → 0.14.3
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/process-utils.d.ts +1 -1
- package/dist/process-utils.d.ts.map +1 -1
- package/dist/process-utils.js +1 -1
- package/dist/process-utils.js.map +1 -1
- package/dist/runner.d.ts +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +182 -93
- package/dist/runner.js.map +1 -1
- package/package.json +3 -3
package/dist/process-utils.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides reliable process group cleanup for spawned child processes.
|
|
5
5
|
* Used by validation runner for signal handling and fail-fast behavior.
|
|
6
6
|
*/
|
|
7
|
-
import { ChildProcess } from 'child_process';
|
|
7
|
+
import { ChildProcess } from 'node:child_process';
|
|
8
8
|
/**
|
|
9
9
|
* Stop a child process and its entire process group (cross-platform)
|
|
10
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-utils.d.ts","sourceRoot":"","sources":["../src/process-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"process-utils.d.ts","sourceRoot":"","sources":["../src/process-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAY,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,YAAY,EAC1B,WAAW,GAAE,MAAkB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
|
package/dist/process-utils.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides reliable process group cleanup for spawned child processes.
|
|
5
5
|
* Used by validation runner for signal handling and fail-fast behavior.
|
|
6
6
|
*/
|
|
7
|
-
import { execSync } from 'child_process';
|
|
7
|
+
import { execSync } from 'node:child_process';
|
|
8
8
|
/**
|
|
9
9
|
* Stop a child process and its entire process group (cross-platform)
|
|
10
10
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../src/process-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAgB,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../src/process-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAgB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,YAA0B,EAC1B,cAAsB,SAAS;IAE/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;YAE7B,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,WAAW,UAAU,CAAC,CAAC;gBACzC,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YAEH,wCAAwC;YACxC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,kDAAkD;gBAClD,sCAAsC;gBACtC,yCAAyC;gBACzC,IAAI,CAAC;oBACH,QAAQ,CAAC,iBAAiB,GAAG,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,8CAA8C;gBAC9C,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,4CAA4C;gBAC9C,CAAC;gBAED,gEAAgE;gBAChE,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBAChC,CAAC;oBAAC,MAAM,CAAC;wBACP,4CAA4C;oBAC9C,CAAC;gBACH,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC;YAED,wDAAwD;YACxD,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/runner.d.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @packageDocumentation
|
|
11
11
|
*/
|
|
12
|
-
import { type ChildProcess } from 'child_process';
|
|
12
|
+
import { type ChildProcess } from 'node:child_process';
|
|
13
13
|
import type { ValidationStep, ValidationResult, ValidationConfig, StepResult } from './types.js';
|
|
14
14
|
/**
|
|
15
15
|
* Parse test output to extract specific failures
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAQ9D,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EAEX,MAAM,YAAY,CAAC;AA+CpB;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBtD;AAwID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,EAAE,EACvB,SAAS,EAAE,MAAM,EACjB,cAAc,GAAE,OAAe,EAC/B,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAChC,OAAO,GAAE,OAAe,EACxB,IAAI,GAAE,OAAe,EACrB,iBAAiB,GAAE,OAAe,GACjC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAC,CA0ID;AAoDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6FvF;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAmB5E"}
|
package/dist/runner.js
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
*
|
|
10
10
|
* @packageDocumentation
|
|
11
11
|
*/
|
|
12
|
-
import { spawn } from 'child_process';
|
|
13
|
-
import { writeFileSync, appendFileSync } from 'fs';
|
|
14
|
-
import { tmpdir } from 'os';
|
|
15
|
-
import { join } from 'path';
|
|
12
|
+
import { spawn } from 'node:child_process';
|
|
13
|
+
import { writeFileSync, appendFileSync } from 'node:fs';
|
|
14
|
+
import { tmpdir } from 'node:os';
|
|
15
|
+
import { join } from 'node:path';
|
|
16
16
|
import stripAnsi from 'strip-ansi';
|
|
17
17
|
import { getGitTreeHash } from '@vibe-validate/git';
|
|
18
18
|
import { autoDetectAndExtract } from '@vibe-validate/extractors';
|
|
@@ -41,12 +41,12 @@ import { stopProcessGroup } from './process-utils.js';
|
|
|
41
41
|
function calculateExtractionQuality(formatted) {
|
|
42
42
|
let score = 0;
|
|
43
43
|
// Error extraction (0-60 points)
|
|
44
|
-
const errorCount = formatted.errors?.length
|
|
44
|
+
const errorCount = formatted.errors?.length ?? 0;
|
|
45
45
|
if (errorCount > 0) {
|
|
46
46
|
score += Math.min(60, errorCount * 12); // Max 60 points for 5+ errors
|
|
47
47
|
}
|
|
48
48
|
// Field completeness (0-40 points)
|
|
49
|
-
const errors = formatted.errors
|
|
49
|
+
const errors = formatted.errors ?? [];
|
|
50
50
|
if (errors.length > 0) {
|
|
51
51
|
const firstError = errors[0];
|
|
52
52
|
let fieldScore = 0;
|
|
@@ -94,17 +94,130 @@ export function parseFailures(output) {
|
|
|
94
94
|
failures.push(...vitestFailures.slice(0, 10)); // Limit to first 10
|
|
95
95
|
}
|
|
96
96
|
// TypeScript errors - extract file:line
|
|
97
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses TypeScript compiler output (controlled tool output), not user input
|
|
97
98
|
const tsErrors = output.match(/[^(]+\(\d+,\d+\): error TS\d+:.+/g);
|
|
98
99
|
if (tsErrors) {
|
|
99
100
|
failures.push(...tsErrors.slice(0, 10).map(e => e.trim()));
|
|
100
101
|
}
|
|
101
102
|
// ESLint errors - extract file:line
|
|
103
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses ESLint output (controlled linter output), not user input
|
|
102
104
|
const eslintErrors = output.match(/\S+\.ts\(\d+,\d+\): .+/g);
|
|
103
105
|
if (eslintErrors) {
|
|
104
106
|
failures.push(...eslintErrors.slice(0, 10).map(e => e.trim()));
|
|
105
107
|
}
|
|
106
108
|
return failures;
|
|
107
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Detect tool type from step name
|
|
112
|
+
*
|
|
113
|
+
* Uses heuristics to determine which validation tool is running based on the step name.
|
|
114
|
+
* This is a temporary solution until extractors package returns detected tool type.
|
|
115
|
+
*
|
|
116
|
+
* @param stepName - Name of the validation step
|
|
117
|
+
* @returns Detected tool identifier (typescript, eslint, vitest, or unknown)
|
|
118
|
+
*
|
|
119
|
+
* @internal
|
|
120
|
+
*/
|
|
121
|
+
function detectToolFromStepName(stepName) {
|
|
122
|
+
const stepLower = stepName.toLowerCase();
|
|
123
|
+
if (stepLower.includes('typescript') || stepLower.includes('tsc')) {
|
|
124
|
+
return 'typescript';
|
|
125
|
+
}
|
|
126
|
+
if (stepLower.includes('eslint')) {
|
|
127
|
+
return 'eslint';
|
|
128
|
+
}
|
|
129
|
+
if (stepLower.includes('test') || stepLower.includes('vitest')) {
|
|
130
|
+
return 'vitest';
|
|
131
|
+
}
|
|
132
|
+
return 'unknown';
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Calculate confidence level from extraction quality score
|
|
136
|
+
*
|
|
137
|
+
* Maps numeric quality scores to confidence levels for easier interpretation.
|
|
138
|
+
*
|
|
139
|
+
* @param score - Quality score (0-100)
|
|
140
|
+
* @returns Confidence level (high >= 80, medium >= 50, low < 50)
|
|
141
|
+
*
|
|
142
|
+
* @internal
|
|
143
|
+
*/
|
|
144
|
+
function calculateConfidenceLevel(score) {
|
|
145
|
+
if (score >= 80) {
|
|
146
|
+
return 'high';
|
|
147
|
+
}
|
|
148
|
+
if (score >= 50) {
|
|
149
|
+
return 'medium';
|
|
150
|
+
}
|
|
151
|
+
return 'low';
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Process developer feedback for failed step
|
|
155
|
+
*
|
|
156
|
+
* Analyzes extraction quality and provides feedback for improving extractors.
|
|
157
|
+
* Only called when developerFeedback mode is enabled.
|
|
158
|
+
*
|
|
159
|
+
* @param stepResult - Step result to augment with extraction quality data
|
|
160
|
+
* @param stepName - Name of the validation step
|
|
161
|
+
* @param formatted - Formatted extractor output
|
|
162
|
+
* @param log - Logging function for output
|
|
163
|
+
* @param isWarning - Helper to check if error is a warning
|
|
164
|
+
* @param isNotWarning - Helper to check if error is not a warning
|
|
165
|
+
*
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
168
|
+
function processDeveloperFeedback(stepResult, stepName, formatted, log, isWarning, isNotWarning) {
|
|
169
|
+
const detectedTool = detectToolFromStepName(stepName);
|
|
170
|
+
// eslint-disable-next-line sonarjs/deprecation -- calculateExtractionQuality is deprecated but still used for backwards compatibility
|
|
171
|
+
const score = calculateExtractionQuality(formatted);
|
|
172
|
+
const confidence = calculateConfidenceLevel(score);
|
|
173
|
+
stepResult.extractionQuality = {
|
|
174
|
+
detectedTool,
|
|
175
|
+
confidence,
|
|
176
|
+
score,
|
|
177
|
+
warnings: formatted.errors?.filter(isWarning).length ?? 0,
|
|
178
|
+
errorsExtracted: formatted.errors?.filter(isNotWarning).length ?? formatted.errors?.length ?? 0,
|
|
179
|
+
actionable: (formatted.errors?.length ?? 0) > 0,
|
|
180
|
+
};
|
|
181
|
+
// Alert on poor extraction quality (for failed steps)
|
|
182
|
+
if (score < 50) {
|
|
183
|
+
log(` ⚠️ Poor extraction quality (${score}%) - Extractors failed to extract failures`);
|
|
184
|
+
log(` 💡 vibe-validate improvement opportunity: Improve ${detectedTool} extractor for this output`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Handle fail-fast process coordination
|
|
189
|
+
*
|
|
190
|
+
* Kills all other running processes when fail-fast is enabled and a step fails.
|
|
191
|
+
* Thread-safe due to JavaScript's single-threaded event loop.
|
|
192
|
+
*
|
|
193
|
+
* @param enableFailFast - Whether fail-fast mode is enabled
|
|
194
|
+
* @param firstFailure - Reference to first failure tracking object
|
|
195
|
+
* @param step - The failed step
|
|
196
|
+
* @param output - Output from failed step
|
|
197
|
+
* @param processes - Array of all running processes
|
|
198
|
+
* @param log - Logging function for output
|
|
199
|
+
* @param ignoreStopErrors - Callback to ignore already-stopped process errors
|
|
200
|
+
* @returns Updated firstFailure reference
|
|
201
|
+
*
|
|
202
|
+
* @internal
|
|
203
|
+
*/
|
|
204
|
+
function handleFailFast(enableFailFast, firstFailure, step, output, processes, log, ignoreStopErrors) {
|
|
205
|
+
// RACE CONDITION SAFE: While multiple processes could fail simultaneously,
|
|
206
|
+
// JavaScript's single-threaded event loop ensures atomic assignment.
|
|
207
|
+
// Even if multiple failures occur, only one will be firstFailure, which is acceptable.
|
|
208
|
+
if (enableFailFast && !firstFailure) {
|
|
209
|
+
const failure = { step, output };
|
|
210
|
+
log(`\n⚠️ Fail-fast enabled: Killing remaining processes...`);
|
|
211
|
+
// Kill all other running processes
|
|
212
|
+
for (const { proc: otherProc, step: otherStep } of processes) {
|
|
213
|
+
if (otherStep !== step && otherProc.exitCode === null) {
|
|
214
|
+
stopProcessGroup(otherProc, otherStep.name).catch(ignoreStopErrors);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return failure;
|
|
218
|
+
}
|
|
219
|
+
return firstFailure;
|
|
220
|
+
}
|
|
108
221
|
/**
|
|
109
222
|
* Run validation steps in parallel with smart fail-fast
|
|
110
223
|
*
|
|
@@ -149,6 +262,15 @@ export async function runStepsInParallel(steps, phaseName, enableFailFast = fals
|
|
|
149
262
|
const stepResults = [];
|
|
150
263
|
const processes = [];
|
|
151
264
|
let firstFailure = null;
|
|
265
|
+
// Helper functions (extracted to reduce nesting depth)
|
|
266
|
+
const formatError = (error) => {
|
|
267
|
+
const linePart = error.line ? `:${error.line}` : '';
|
|
268
|
+
const location = error.file ? `${error.file}${linePart}` : 'unknown';
|
|
269
|
+
return `${location} - ${error.message ?? 'No message'}`;
|
|
270
|
+
};
|
|
271
|
+
const isWarning = (e) => e.severity === 'warning';
|
|
272
|
+
const isNotWarning = (e) => e.severity !== 'warning';
|
|
273
|
+
const ignoreStopErrors = () => { };
|
|
152
274
|
const results = await Promise.allSettled(steps.map(step => new Promise((resolve, reject) => {
|
|
153
275
|
const paddedName = step.name.padEnd(maxNameLength);
|
|
154
276
|
log(` ⏳ ${paddedName} → ${step.command}`);
|
|
@@ -199,7 +321,7 @@ export async function runStepsInParallel(steps, phaseName, enableFailFast = fals
|
|
|
199
321
|
});
|
|
200
322
|
proc.on('close', code => {
|
|
201
323
|
const durationMs = Date.now() - startTime;
|
|
202
|
-
const durationSecs = parseFloat((durationMs / 1000).toFixed(1));
|
|
324
|
+
const durationSecs = Number.parseFloat((durationMs / 1000).toFixed(1));
|
|
203
325
|
const output = stdout + stderr;
|
|
204
326
|
outputs.set(step.name, output);
|
|
205
327
|
const status = code === 0 ? '✅' : '❌';
|
|
@@ -214,41 +336,15 @@ export async function runStepsInParallel(steps, phaseName, enableFailFast = fals
|
|
|
214
336
|
// Only run extractors on FAILED steps (code !== 0)
|
|
215
337
|
// Rationale: Passing tests have no failures to extract, extraction would always produce
|
|
216
338
|
// meaningless results (score: 0, no errors). Skipping saves CPU and reduces output noise.
|
|
339
|
+
// eslint-disable-next-line @typescript-eslint/prefer-optional-chain -- Explicit null/undefined/empty check is clearer than optional chaining
|
|
217
340
|
if (code !== 0 && output && output.trim()) {
|
|
218
341
|
const formatted = autoDetectAndExtract(step.name, output);
|
|
219
342
|
// Extract structured failures/tests
|
|
220
|
-
stepResult.failedTests = formatted.errors?.map(
|
|
221
|
-
const location = error.file
|
|
222
|
-
? `${error.file}${error.line ? `:${error.line}` : ''}`
|
|
223
|
-
: 'unknown';
|
|
224
|
-
return `${location} - ${error.message || 'No message'}`;
|
|
225
|
-
}) || [];
|
|
343
|
+
stepResult.failedTests = formatted.errors?.map(formatError) ?? [];
|
|
226
344
|
// Only include extraction quality metrics when developerFeedback is enabled
|
|
227
345
|
// This is for vibe-validate contributors to identify extraction improvement opportunities
|
|
228
346
|
if (developerFeedback) {
|
|
229
|
-
|
|
230
|
-
const detectedTool = step.name.toLowerCase().includes('typescript') || step.name.toLowerCase().includes('tsc')
|
|
231
|
-
? 'typescript'
|
|
232
|
-
: step.name.toLowerCase().includes('eslint')
|
|
233
|
-
? 'eslint'
|
|
234
|
-
: step.name.toLowerCase().includes('test') || step.name.toLowerCase().includes('vitest')
|
|
235
|
-
? 'vitest'
|
|
236
|
-
: 'unknown';
|
|
237
|
-
// Calculate extraction quality metrics
|
|
238
|
-
const score = calculateExtractionQuality(formatted);
|
|
239
|
-
stepResult.extractionQuality = {
|
|
240
|
-
detectedTool,
|
|
241
|
-
confidence: score >= 80 ? 'high' : score >= 50 ? 'medium' : 'low',
|
|
242
|
-
score,
|
|
243
|
-
warnings: formatted.errors?.filter(e => e.severity === 'warning').length || 0,
|
|
244
|
-
errorsExtracted: formatted.errors?.filter(e => e.severity !== 'warning').length || formatted.errors?.length || 0,
|
|
245
|
-
actionable: (formatted.errors?.length || 0) > 0,
|
|
246
|
-
};
|
|
247
|
-
// Alert on poor extraction quality (for failed steps)
|
|
248
|
-
if (score < 50) {
|
|
249
|
-
log(` ⚠️ Poor extraction quality (${score}%) - Extractors failed to extract failures`);
|
|
250
|
-
log(` 💡 vibe-validate improvement opportunity: Improve ${detectedTool} extractor for this output`);
|
|
251
|
-
}
|
|
347
|
+
processDeveloperFeedback(stepResult, step.name, formatted, log, isWarning, isNotWarning);
|
|
252
348
|
}
|
|
253
349
|
}
|
|
254
350
|
stepResults.push(stepResult);
|
|
@@ -257,21 +353,7 @@ export async function runStepsInParallel(steps, phaseName, enableFailFast = fals
|
|
|
257
353
|
}
|
|
258
354
|
else {
|
|
259
355
|
// On first failure, kill other processes if fail-fast enabled
|
|
260
|
-
|
|
261
|
-
// JavaScript's single-threaded event loop ensures atomic assignment.
|
|
262
|
-
// Even if multiple failures occur, only one will be firstFailure, which is acceptable.
|
|
263
|
-
if (enableFailFast && !firstFailure) {
|
|
264
|
-
firstFailure = { step, output };
|
|
265
|
-
log(`\n⚠️ Fail-fast enabled: Killing remaining processes...`);
|
|
266
|
-
// Kill all other running processes
|
|
267
|
-
for (const { proc: otherProc, step: otherStep } of processes) {
|
|
268
|
-
if (otherStep !== step && otherProc.exitCode === null) {
|
|
269
|
-
stopProcessGroup(otherProc, otherStep.name).catch(() => {
|
|
270
|
-
// Process may have already exited, ignore errors
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
}
|
|
356
|
+
firstFailure = handleFailFast(enableFailFast, firstFailure, step, output, processes, log, ignoreStopErrors);
|
|
275
357
|
reject({ step, output, durationSecs });
|
|
276
358
|
}
|
|
277
359
|
});
|
|
@@ -285,6 +367,42 @@ export async function runStepsInParallel(steps, phaseName, enableFailFast = fals
|
|
|
285
367
|
}
|
|
286
368
|
return { success: true, outputs, stepResults };
|
|
287
369
|
}
|
|
370
|
+
/**
|
|
371
|
+
* Append step outputs to log file
|
|
372
|
+
*/
|
|
373
|
+
function appendStepOutputsToLog(logPath, outputs, failedStepName) {
|
|
374
|
+
for (const [stepName, output] of outputs) {
|
|
375
|
+
appendFileSync(logPath, `\n${'='.repeat(60)}\n`);
|
|
376
|
+
appendFileSync(logPath, `${stepName}${failedStepName === stepName ? ' - FAILED' : ''}\n`);
|
|
377
|
+
appendFileSync(logPath, `${'='.repeat(60)}\n`);
|
|
378
|
+
appendFileSync(logPath, output);
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Create failed validation result with extracted errors
|
|
383
|
+
*/
|
|
384
|
+
function createFailedValidationResult(failedStep, failedOutput, currentTreeHash, logPath, phaseResults) {
|
|
385
|
+
// Extract actionable failures (LLM-optimized)
|
|
386
|
+
const extracted = autoDetectAndExtract(failedStep.name, failedOutput);
|
|
387
|
+
const extractedOutput = extracted.cleanOutput.trim() || failedOutput;
|
|
388
|
+
// Use structured errors from extractor
|
|
389
|
+
const structuredFailures = extracted.errors.map(error => {
|
|
390
|
+
const linePart = error.line ? `:${error.line}` : '';
|
|
391
|
+
const location = error.file ? `${error.file}${linePart}` : 'unknown';
|
|
392
|
+
return `${location} - ${error.message ?? 'No message'}`;
|
|
393
|
+
});
|
|
394
|
+
return {
|
|
395
|
+
passed: false,
|
|
396
|
+
timestamp: new Date().toISOString(),
|
|
397
|
+
treeHash: currentTreeHash,
|
|
398
|
+
failedStep: failedStep.name,
|
|
399
|
+
rerunCommand: failedStep.command,
|
|
400
|
+
failedTests: structuredFailures.length > 0 ? structuredFailures : undefined,
|
|
401
|
+
fullLogFile: logPath,
|
|
402
|
+
phases: phaseResults,
|
|
403
|
+
failedStepOutput: extractedOutput,
|
|
404
|
+
};
|
|
405
|
+
}
|
|
288
406
|
/**
|
|
289
407
|
* Validation runner with state tracking and caching
|
|
290
408
|
*
|
|
@@ -336,7 +454,6 @@ export async function runValidation(config) {
|
|
|
336
454
|
// (see packages/cli/src/commands/validate.ts and @vibe-validate/history)
|
|
337
455
|
// Initialize log file
|
|
338
456
|
writeFileSync(logPath, `Validation started at ${new Date().toISOString()}\n\n`);
|
|
339
|
-
let failedStep = null;
|
|
340
457
|
const phaseResults = [];
|
|
341
458
|
// Run each phase
|
|
342
459
|
for (const phase of phases) {
|
|
@@ -346,14 +463,9 @@ export async function runValidation(config) {
|
|
|
346
463
|
const phaseStartTime = Date.now();
|
|
347
464
|
const result = await runStepsInParallel(phase.steps, phase.name, enableFailFast, env, config.verbose ?? false, config.yaml ?? false, config.developerFeedback ?? false);
|
|
348
465
|
const phaseDurationMs = Date.now() - phaseStartTime;
|
|
349
|
-
const durationSecs = parseFloat((phaseDurationMs / 1000).toFixed(1));
|
|
466
|
+
const durationSecs = Number.parseFloat((phaseDurationMs / 1000).toFixed(1));
|
|
350
467
|
// Append all outputs to log file
|
|
351
|
-
|
|
352
|
-
appendFileSync(logPath, `\n${'='.repeat(60)}\n`);
|
|
353
|
-
appendFileSync(logPath, `${stepName}${result.failedStep?.name === stepName ? ' - FAILED' : ''}\n`);
|
|
354
|
-
appendFileSync(logPath, `${'='.repeat(60)}\n`);
|
|
355
|
-
appendFileSync(logPath, output);
|
|
356
|
-
}
|
|
468
|
+
appendStepOutputsToLog(logPath, result.outputs, result.failedStep?.name);
|
|
357
469
|
// Record phase result
|
|
358
470
|
const phaseResult = {
|
|
359
471
|
name: phase.name,
|
|
@@ -363,6 +475,7 @@ export async function runValidation(config) {
|
|
|
363
475
|
};
|
|
364
476
|
// If phase failed, extract and include output (LLM-optimized, not raw)
|
|
365
477
|
if (!result.success && result.failedStep) {
|
|
478
|
+
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- Need to filter empty strings, not just null/undefined
|
|
366
479
|
const rawOutput = result.outputs.get(result.failedStep.name) || '';
|
|
367
480
|
const extracted = autoDetectAndExtract(result.failedStep.name, rawOutput);
|
|
368
481
|
phaseResult.output = extracted.cleanOutput.trim() || rawOutput;
|
|
@@ -371,39 +484,11 @@ export async function runValidation(config) {
|
|
|
371
484
|
if (onPhaseComplete) {
|
|
372
485
|
onPhaseComplete(phase, phaseResult);
|
|
373
486
|
}
|
|
374
|
-
// If phase failed, stop here
|
|
487
|
+
// If phase failed, stop here and return failure result
|
|
375
488
|
if (!result.success && result.failedStep) {
|
|
376
|
-
|
|
377
|
-
const failedOutput = result.outputs.get(failedStep.name) || '';
|
|
378
|
-
|
|
379
|
-
// This reduces git notes bloat and makes errors immediately actionable
|
|
380
|
-
const extracted = autoDetectAndExtract(failedStep.name, failedOutput);
|
|
381
|
-
// Use cleanOutput for storage (already formatted for YAML/JSON, stripped of ANSI codes)
|
|
382
|
-
// Falls back to raw output if extraction fails
|
|
383
|
-
const extractedOutput = extracted.cleanOutput.trim() || failedOutput;
|
|
384
|
-
// Use structured errors from extractor (replaces deprecated parseFailures)
|
|
385
|
-
const structuredFailures = extracted.errors.map(error => {
|
|
386
|
-
const location = error.file
|
|
387
|
-
? `${error.file}${error.line ? `:${error.line}` : ''}`
|
|
388
|
-
: 'unknown';
|
|
389
|
-
return `${location} - ${error.message || 'No message'}`;
|
|
390
|
-
});
|
|
391
|
-
// IMPORTANT: Field order matches types.ts for YAML truncation safety
|
|
392
|
-
// Verbose fields (phases, failedStepOutput) at the end
|
|
393
|
-
const validationResult = {
|
|
394
|
-
passed: false,
|
|
395
|
-
timestamp: new Date().toISOString(),
|
|
396
|
-
treeHash: currentTreeHash,
|
|
397
|
-
failedStep: failedStep.name,
|
|
398
|
-
rerunCommand: failedStep.command,
|
|
399
|
-
failedTests: structuredFailures.length > 0 ? structuredFailures : undefined,
|
|
400
|
-
fullLogFile: logPath,
|
|
401
|
-
phases: phaseResults, // Contains verbose output - near end
|
|
402
|
-
failedStepOutput: extractedOutput, // Most verbose - dead last
|
|
403
|
-
};
|
|
404
|
-
// State persistence moved to validate.ts via git notes (v0.12.0+)
|
|
405
|
-
// The state file is deprecated - git notes are now the source of truth
|
|
406
|
-
return validationResult;
|
|
489
|
+
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- Need to filter empty strings, not just null/undefined
|
|
490
|
+
const failedOutput = result.outputs.get(result.failedStep.name) || '';
|
|
491
|
+
return createFailedValidationResult(result.failedStep, failedOutput, currentTreeHash, logPath, phaseResults);
|
|
407
492
|
}
|
|
408
493
|
}
|
|
409
494
|
// All steps passed!
|
|
@@ -449,7 +534,11 @@ export function setupSignalHandlers(activeProcesses) {
|
|
|
449
534
|
await Promise.all(cleanupPromises);
|
|
450
535
|
process.exit(1);
|
|
451
536
|
};
|
|
452
|
-
process.on('SIGTERM', () =>
|
|
453
|
-
|
|
537
|
+
process.on('SIGTERM', () => {
|
|
538
|
+
void cleanup('SIGTERM');
|
|
539
|
+
});
|
|
540
|
+
process.on('SIGINT', () => {
|
|
541
|
+
void cleanup('SIGINT');
|
|
542
|
+
});
|
|
454
543
|
}
|
|
455
544
|
//# sourceMappingURL=runner.js.map
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-validate/core",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.3",
|
|
4
4
|
"description": "Core validation orchestration engine for vibe-validate",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"yaml": "^2.6.1",
|
|
41
41
|
"zod": "^3.24.1",
|
|
42
42
|
"zod-to-json-schema": "^3.24.6",
|
|
43
|
-
"@vibe-validate/extractors": "0.14.
|
|
44
|
-
"@vibe-validate/git": "0.14.
|
|
43
|
+
"@vibe-validate/extractors": "0.14.3",
|
|
44
|
+
"@vibe-validate/git": "0.14.3"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/node": "^20.17.6",
|