@vibe-validate/extractors 0.14.2 → 0.15.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/ava-extractor.js +35 -39
- package/dist/ava-extractor.js.map +1 -1
- package/dist/eslint-extractor.d.ts.map +1 -1
- package/dist/eslint-extractor.js +16 -14
- package/dist/eslint-extractor.js.map +1 -1
- package/dist/generic-extractor.d.ts +16 -10
- package/dist/generic-extractor.d.ts.map +1 -1
- package/dist/generic-extractor.js +106 -29
- package/dist/generic-extractor.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/jasmine-extractor.d.ts.map +1 -1
- package/dist/jasmine-extractor.js +25 -20
- package/dist/jasmine-extractor.js.map +1 -1
- package/dist/jest-extractor.d.ts.map +1 -1
- package/dist/jest-extractor.js +118 -64
- package/dist/jest-extractor.js.map +1 -1
- package/dist/junit-extractor.d.ts.map +1 -1
- package/dist/junit-extractor.js +41 -50
- package/dist/junit-extractor.js.map +1 -1
- package/dist/mocha-extractor.d.ts.map +1 -1
- package/dist/mocha-extractor.js +26 -21
- package/dist/mocha-extractor.js.map +1 -1
- package/dist/playwright-extractor.d.ts.map +1 -1
- package/dist/playwright-extractor.js +24 -14
- package/dist/playwright-extractor.js.map +1 -1
- package/dist/result-schema-export.d.ts +29 -0
- package/dist/result-schema-export.d.ts.map +1 -0
- package/dist/result-schema-export.js +37 -0
- package/dist/result-schema-export.js.map +1 -0
- package/dist/result-schema.d.ts +349 -0
- package/dist/result-schema.d.ts.map +1 -0
- package/dist/result-schema.js +139 -0
- package/dist/result-schema.js.map +1 -0
- package/dist/scripts/generate-result-schema.d.ts +10 -0
- package/dist/scripts/generate-result-schema.d.ts.map +1 -0
- package/dist/scripts/generate-result-schema.js +20 -0
- package/dist/scripts/generate-result-schema.js.map +1 -0
- package/dist/smart-extractor.d.ts +17 -20
- package/dist/smart-extractor.d.ts.map +1 -1
- package/dist/smart-extractor.js +116 -80
- package/dist/smart-extractor.js.map +1 -1
- package/dist/tap-extractor.js +18 -13
- package/dist/tap-extractor.js.map +1 -1
- package/dist/types.d.ts +18 -65
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/dist/typescript-extractor.d.ts.map +1 -1
- package/dist/typescript-extractor.js +13 -10
- package/dist/typescript-extractor.js.map +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +2 -1
- package/dist/utils.js.map +1 -1
- package/dist/vitest-extractor.d.ts.map +1 -1
- package/dist/vitest-extractor.js +310 -163
- package/dist/vitest-extractor.js.map +1 -1
- package/error-extractor-result.schema.json +134 -0
- package/package.json +8 -3
package/dist/ava-extractor.js
CHANGED
|
@@ -29,8 +29,8 @@ export function extractAvaErrors(output) {
|
|
|
29
29
|
return {
|
|
30
30
|
summary: '0 test(s) failed',
|
|
31
31
|
errors: [],
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
totalErrors: 0,
|
|
33
|
+
errorSummary: '',
|
|
34
34
|
guidance: '',
|
|
35
35
|
metadata: {
|
|
36
36
|
confidence: 100,
|
|
@@ -42,10 +42,10 @@ export function extractAvaErrors(output) {
|
|
|
42
42
|
const errors = [];
|
|
43
43
|
let completeCount = 0;
|
|
44
44
|
for (const failure of failures) {
|
|
45
|
-
const file = failure.file
|
|
45
|
+
const file = failure.file ?? 'unknown';
|
|
46
46
|
// Use test name as fallback message if no explicit message extracted
|
|
47
|
-
const message = failure.message
|
|
48
|
-
const context = failure.testName
|
|
47
|
+
const message = failure.message ?? failure.testName ?? 'Test failed';
|
|
48
|
+
const context = failure.testName ?? '';
|
|
49
49
|
const isComplete = file !== 'unknown' && failure.line && message && message !== 'Test failed';
|
|
50
50
|
if (isComplete) {
|
|
51
51
|
completeCount++;
|
|
@@ -73,8 +73,8 @@ export function extractAvaErrors(output) {
|
|
|
73
73
|
return {
|
|
74
74
|
summary,
|
|
75
75
|
errors,
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
totalErrors: failures.length,
|
|
77
|
+
errorSummary: formatCleanOutput(errors),
|
|
78
78
|
guidance,
|
|
79
79
|
metadata
|
|
80
80
|
};
|
|
@@ -83,6 +83,7 @@ export function extractAvaErrors(output) {
|
|
|
83
83
|
* Extract all failures from Ava output
|
|
84
84
|
* Strategy: Find detailed headers (test names with ›), then parse each block
|
|
85
85
|
*/
|
|
86
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity -- Complexity 23 acceptable for Ava output parsing (handles multiple output formats with fallback detection)
|
|
86
87
|
function extractFailures(output) {
|
|
87
88
|
const lines = output.split('\n');
|
|
88
89
|
const failures = [];
|
|
@@ -96,8 +97,8 @@ function extractFailures(output) {
|
|
|
96
97
|
!trimmed.includes('[fail]:') &&
|
|
97
98
|
!trimmed.startsWith('›') &&
|
|
98
99
|
!trimmed.includes('file://') &&
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
!/^\d+:/.exec(trimmed) &&
|
|
101
|
+
!/^Error/.exec(trimmed) &&
|
|
101
102
|
!trimmed.includes('{') &&
|
|
102
103
|
!trimmed.includes('}') &&
|
|
103
104
|
trimmed.length > 10) {
|
|
@@ -129,7 +130,7 @@ function extractFailures(output) {
|
|
|
129
130
|
const trimmed = lines[i].trim();
|
|
130
131
|
if (trimmed.includes('✘') && trimmed.includes('[fail]:')) {
|
|
131
132
|
const failure = {};
|
|
132
|
-
const summaryMatch =
|
|
133
|
+
const summaryMatch = /✘\s+\[fail\]:\s+(.+)/.exec(trimmed);
|
|
133
134
|
if (summaryMatch) {
|
|
134
135
|
failure.testName = summaryMatch[1];
|
|
135
136
|
}
|
|
@@ -151,6 +152,7 @@ function extractFailures(output) {
|
|
|
151
152
|
/**
|
|
152
153
|
* Parse a detailed error block to extract file, line, and message
|
|
153
154
|
*/
|
|
155
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity -- Complexity 40 acceptable for Ava error block parsing (state machine handling multiple output formats and edge cases)
|
|
154
156
|
function parseDetailedBlock(lines, startIndex, failure) {
|
|
155
157
|
let i = startIndex;
|
|
156
158
|
let foundCodeSnippet = false;
|
|
@@ -161,7 +163,7 @@ function parseDetailedBlock(lines, startIndex, failure) {
|
|
|
161
163
|
// Stop at next test header (clean test name with ›)
|
|
162
164
|
if (i > startIndex + 3 && trimmed.includes('›') && !trimmed.startsWith('›') &&
|
|
163
165
|
trimmed.length > 15 && !trimmed.includes('file://') &&
|
|
164
|
-
|
|
166
|
+
!/^\d+:/.exec(trimmed) && !/^Error/.exec(trimmed) &&
|
|
165
167
|
!trimmed.includes('{') && !trimmed.includes('}')) {
|
|
166
168
|
break;
|
|
167
169
|
}
|
|
@@ -170,29 +172,29 @@ function parseDetailedBlock(lines, startIndex, failure) {
|
|
|
170
172
|
break;
|
|
171
173
|
}
|
|
172
174
|
// Extract file path: "tests/ava/test.js:28" (appears right after test name header)
|
|
173
|
-
const fileMatch =
|
|
175
|
+
const fileMatch = /^([^:]+\.(?:js|ts|mjs|cjs)):(\d+)$/.exec(trimmed);
|
|
174
176
|
if (fileMatch && !failure.file) {
|
|
175
177
|
failure.file = fileMatch[1];
|
|
176
|
-
failure.line = parseInt(fileMatch[2], 10);
|
|
178
|
+
failure.line = Number.parseInt(fileMatch[2], 10);
|
|
177
179
|
i++;
|
|
178
180
|
continue;
|
|
179
181
|
}
|
|
180
182
|
// Extract from file:// URL: "› file://tests/ava/test.js:28:5"
|
|
181
|
-
const urlMatch =
|
|
183
|
+
const urlMatch = /^›\s+file:\/\/(.+?):(\d+):\d+$/.exec(trimmed);
|
|
182
184
|
if (urlMatch && !failure.file) {
|
|
183
185
|
failure.file = urlMatch[1];
|
|
184
|
-
failure.line = parseInt(urlMatch[2], 10);
|
|
186
|
+
failure.line = Number.parseInt(urlMatch[2], 10);
|
|
185
187
|
i++;
|
|
186
188
|
continue;
|
|
187
189
|
}
|
|
188
190
|
// Code snippet marker (line numbers like " 28: code here")
|
|
189
|
-
if (
|
|
191
|
+
if (/^\d+:/.exec(trimmed)) {
|
|
190
192
|
foundCodeSnippet = true;
|
|
191
193
|
i++;
|
|
192
194
|
continue;
|
|
193
195
|
}
|
|
194
196
|
// Error object start
|
|
195
|
-
if (
|
|
197
|
+
if (/^(?:TypeError|Error|.*Error)\s*\{$/.exec(trimmed)) {
|
|
196
198
|
inErrorObject = true;
|
|
197
199
|
i++;
|
|
198
200
|
continue;
|
|
@@ -206,12 +208,12 @@ function parseDetailedBlock(lines, startIndex, failure) {
|
|
|
206
208
|
// Extract from error object properties
|
|
207
209
|
if (inErrorObject) {
|
|
208
210
|
// message property
|
|
209
|
-
const msgMatch =
|
|
211
|
+
const msgMatch = /message:\s*'([^']+)'/.exec(trimmed);
|
|
210
212
|
if (msgMatch && !failure.message) {
|
|
211
213
|
failure.message = msgMatch[1];
|
|
212
214
|
}
|
|
213
215
|
// code property for error type detection
|
|
214
|
-
const codeMatch =
|
|
216
|
+
const codeMatch = /code:\s*'([^']+)'/.exec(trimmed);
|
|
215
217
|
if (codeMatch) {
|
|
216
218
|
if (codeMatch[1] === 'ENOENT') {
|
|
217
219
|
failure.errorType = 'file-not-found';
|
|
@@ -224,24 +226,24 @@ function parseDetailedBlock(lines, startIndex, failure) {
|
|
|
224
226
|
continue;
|
|
225
227
|
}
|
|
226
228
|
// Extract error from Error: line (after error object)
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
229
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses Ava test framework error messages (controlled output), not user input
|
|
230
|
+
const errorLineMatch = /^(?:TypeError|Error|.*Error):\s+(.+)$/.exec(trimmed);
|
|
231
|
+
if (errorLineMatch) {
|
|
232
|
+
failure.message ??= errorLineMatch[1];
|
|
232
233
|
// Look for file in stack trace (next few lines)
|
|
233
234
|
if (!failure.file && i + 1 < lines.length) {
|
|
234
235
|
for (let j = i + 1; j < Math.min(i + 10, lines.length); j++) {
|
|
235
236
|
const stackLine = lines[j].trim();
|
|
236
237
|
// Match: at file:///path/to/file.js:110:24
|
|
237
238
|
// But skip node_modules and ava lib files
|
|
238
|
-
|
|
239
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses Ava test framework stack traces (controlled output), not user input
|
|
240
|
+
const stackMatch = /at\s+(?:.*?\s+)?\(?file:\/\/([^:)]+):(\d+):\d+/.exec(stackLine);
|
|
239
241
|
if (stackMatch) {
|
|
240
242
|
const stackFile = stackMatch[1];
|
|
241
243
|
// Skip node_modules and ava library files
|
|
242
244
|
if (!stackFile.includes('node_modules') && !stackFile.includes('/ava/lib/')) {
|
|
243
245
|
failure.file = stackFile;
|
|
244
|
-
failure.line = parseInt(stackMatch[2], 10);
|
|
246
|
+
failure.line = Number.parseInt(stackMatch[2], 10);
|
|
245
247
|
break;
|
|
246
248
|
}
|
|
247
249
|
}
|
|
@@ -252,9 +254,7 @@ function parseDetailedBlock(lines, startIndex, failure) {
|
|
|
252
254
|
}
|
|
253
255
|
// Timeout marker
|
|
254
256
|
if (trimmed.includes('Test timeout exceeded')) {
|
|
255
|
-
|
|
256
|
-
failure.message = 'Test timeout exceeded';
|
|
257
|
-
}
|
|
257
|
+
failure.message ??= 'Test timeout exceeded';
|
|
258
258
|
failure.errorType = 'timeout';
|
|
259
259
|
i++;
|
|
260
260
|
continue;
|
|
@@ -266,26 +266,22 @@ function parseDetailedBlock(lines, startIndex, failure) {
|
|
|
266
266
|
}
|
|
267
267
|
// Detect assertion from Difference section
|
|
268
268
|
if (trimmed.startsWith('Difference') && trimmed.includes('actual') && trimmed.includes('expected')) {
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
}
|
|
272
|
-
if (!failure.errorType) {
|
|
273
|
-
failure.errorType = 'assertion';
|
|
274
|
-
}
|
|
269
|
+
failure.message ??= 'Assertion failed';
|
|
270
|
+
failure.errorType ??= 'assertion';
|
|
275
271
|
i++;
|
|
276
272
|
continue;
|
|
277
273
|
}
|
|
278
274
|
// Skip diff headers and diff lines
|
|
279
275
|
if (trimmed.startsWith('Difference') || trimmed.startsWith('Expected:') ||
|
|
280
|
-
trimmed.startsWith('Received:') ||
|
|
276
|
+
trimmed.startsWith('Received:') || /^[+-]\s/.exec(trimmed)) {
|
|
281
277
|
i++;
|
|
282
278
|
continue;
|
|
283
279
|
}
|
|
284
280
|
// Assertion message (single line after code snippet, before Difference section)
|
|
285
281
|
if (foundCodeSnippet && !failure.message && trimmed.length > 0 && trimmed.length < 150 &&
|
|
286
|
-
|
|
282
|
+
!/^\d+:/.exec(trimmed) && !trimmed.includes('Difference') &&
|
|
287
283
|
!trimmed.includes('{') && !trimmed.includes('}') &&
|
|
288
|
-
|
|
284
|
+
!/^at\s+/.exec(trimmed) && !trimmed.includes('file://') &&
|
|
289
285
|
!trimmed.includes('.js:') && !trimmed.includes('.ts:')) {
|
|
290
286
|
failure.message = trimmed;
|
|
291
287
|
i++;
|
|
@@ -357,7 +353,7 @@ function formatCleanOutput(errors) {
|
|
|
357
353
|
}
|
|
358
354
|
return errors
|
|
359
355
|
.map(e => {
|
|
360
|
-
const location = e.file && e.line ? `${e.file}:${e.line}` : e.file
|
|
356
|
+
const location = e.file && e.line ? `${e.file}:${e.line}` : e.file ?? 'unknown';
|
|
361
357
|
const context = e.context ? ` (${e.context})` : '';
|
|
362
358
|
return `${location}${context}: ${e.message}`;
|
|
363
359
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ava-extractor.js","sourceRoot":"","sources":["../src/ava-extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ava-extractor.js","sourceRoot":"","sources":["../src/ava-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-extractor.d.ts","sourceRoot":"","sources":["../src/eslint-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"eslint-extractor.d.ts","sourceRoot":"","sources":["../src/eslint-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,YAAY,CAAC;AAgDvE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAkExE"}
|
package/dist/eslint-extractor.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @package @vibe-validate/extractors
|
|
7
7
|
*/
|
|
8
|
+
import { MAX_ERRORS_IN_ARRAY } from './result-schema.js';
|
|
8
9
|
/**
|
|
9
10
|
* Deduplicate ESLint errors by file:line:column
|
|
10
11
|
*
|
|
@@ -29,7 +30,7 @@ function deduplicateESLintErrors(errors) {
|
|
|
29
30
|
}
|
|
30
31
|
// For each location, pick the best error
|
|
31
32
|
const deduplicated = [];
|
|
32
|
-
for (const
|
|
33
|
+
for (const locationErrors of errorMap.values()) {
|
|
33
34
|
if (locationErrors.length === 1) {
|
|
34
35
|
deduplicated.push(locationErrors[0]);
|
|
35
36
|
continue;
|
|
@@ -67,14 +68,15 @@ export function extractESLintErrors(output) {
|
|
|
67
68
|
let currentFile = '';
|
|
68
69
|
for (const line of lines) {
|
|
69
70
|
// Try modern format first: file:line:col: severity message [rule-name]
|
|
70
|
-
|
|
71
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses ESLint output (controlled linter output), not user input
|
|
72
|
+
const modernMatch = /^(.+?):(\d+):(\d+):\s+(error|warning)\s+(.+?)\s+(\S+)$/.exec(line);
|
|
71
73
|
if (modernMatch) {
|
|
72
74
|
const ruleMessage = modernMatch[5].trim();
|
|
73
75
|
const ruleName = modernMatch[6].replace(/[[\]]/g, ''); // Remove brackets if present
|
|
74
76
|
errors.push({
|
|
75
77
|
file: modernMatch[1].trim(),
|
|
76
|
-
line: parseInt(modernMatch[2]),
|
|
77
|
-
column: parseInt(modernMatch[3]),
|
|
78
|
+
line: Number.parseInt(modernMatch[2]),
|
|
79
|
+
column: Number.parseInt(modernMatch[3]),
|
|
78
80
|
severity: modernMatch[4],
|
|
79
81
|
message: `${ruleMessage} (${ruleName})`,
|
|
80
82
|
code: ruleName
|
|
@@ -82,14 +84,15 @@ export function extractESLintErrors(output) {
|
|
|
82
84
|
continue;
|
|
83
85
|
}
|
|
84
86
|
// Stylish format: spaces + line:col + spaces + severity + spaces + message + spaces + rule
|
|
85
|
-
|
|
87
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses ESLint output (controlled linter output), not user input
|
|
88
|
+
const stylishMatch = /^\s+(\d+):(\d+)\s+(error|warning)\s+(.+?)\s+(\S+)\s*$/.exec(line);
|
|
86
89
|
if (stylishMatch && currentFile) {
|
|
87
90
|
const ruleMessage = stylishMatch[4].trim();
|
|
88
91
|
const ruleName = stylishMatch[5];
|
|
89
92
|
errors.push({
|
|
90
93
|
file: currentFile,
|
|
91
|
-
line: parseInt(stylishMatch[1]),
|
|
92
|
-
column: parseInt(stylishMatch[2]),
|
|
94
|
+
line: Number.parseInt(stylishMatch[1]),
|
|
95
|
+
column: Number.parseInt(stylishMatch[2]),
|
|
93
96
|
severity: stylishMatch[3],
|
|
94
97
|
message: `${ruleMessage} (${ruleName})`,
|
|
95
98
|
code: ruleName
|
|
@@ -100,24 +103,23 @@ export function extractESLintErrors(output) {
|
|
|
100
103
|
if (line && !line.includes(':') && !line.startsWith(' ') && !line.startsWith('\t') && (line.includes('/') || line.includes('\\'))) {
|
|
101
104
|
// Potential file path for stylish format
|
|
102
105
|
currentFile = line.trim();
|
|
103
|
-
continue;
|
|
104
106
|
}
|
|
105
107
|
}
|
|
106
108
|
// Deduplicate errors (prefer @typescript-eslint/* rules over base ESLint rules)
|
|
107
109
|
const deduplicatedErrors = deduplicateESLintErrors(errors);
|
|
108
110
|
const errorCount = deduplicatedErrors.filter(e => e.severity === 'error').length;
|
|
109
111
|
const warningCount = deduplicatedErrors.filter(e => e.severity === 'warning').length;
|
|
110
|
-
// Build clean output (limit to
|
|
111
|
-
const
|
|
112
|
-
.slice(0,
|
|
112
|
+
// Build clean output (limit to MAX_ERRORS_IN_ARRAY for token efficiency)
|
|
113
|
+
const errorSummary = deduplicatedErrors
|
|
114
|
+
.slice(0, MAX_ERRORS_IN_ARRAY)
|
|
113
115
|
.map(e => `${e.file}:${e.line}:${e.column} - ${e.message} [${e.code}]`)
|
|
114
116
|
.join('\n');
|
|
115
117
|
return {
|
|
116
|
-
errors: deduplicatedErrors.slice(0,
|
|
118
|
+
errors: deduplicatedErrors.slice(0, MAX_ERRORS_IN_ARRAY),
|
|
117
119
|
summary: `${errorCount} ESLint error(s), ${warningCount} warning(s)`,
|
|
118
|
-
|
|
120
|
+
totalErrors: deduplicatedErrors.length,
|
|
119
121
|
guidance: getESLintGuidance(deduplicatedErrors),
|
|
120
|
-
|
|
122
|
+
errorSummary
|
|
121
123
|
};
|
|
122
124
|
}
|
|
123
125
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-extractor.js","sourceRoot":"","sources":["../src/eslint-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"eslint-extractor.js","sourceRoot":"","sources":["../src/eslint-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Generic Error Extractor
|
|
3
3
|
*
|
|
4
4
|
* Fallback extractor for unknown validation step types.
|
|
5
|
-
*
|
|
5
|
+
* Intelligently extracts error keywords and relevant lines for LLM consumption.
|
|
6
6
|
*
|
|
7
7
|
* @package @vibe-validate/extractors
|
|
8
8
|
*/
|
|
@@ -10,20 +10,26 @@ import type { ErrorExtractorResult } from './types.js';
|
|
|
10
10
|
/**
|
|
11
11
|
* Generic error extractor (fallback)
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
* -
|
|
15
|
-
* -
|
|
16
|
-
* -
|
|
13
|
+
* Intelligently extracts error information by:
|
|
14
|
+
* - Identifying lines with error keywords (FAILED, Error, Exception, etc.)
|
|
15
|
+
* - Extracting file paths with line numbers (test.py:42, main.go:15)
|
|
16
|
+
* - Capturing summary lines (X failed, Y passed)
|
|
17
|
+
* - Removing npm/package manager noise
|
|
18
|
+
* - Limiting to 15-20 most relevant lines for token efficiency
|
|
17
19
|
*
|
|
18
20
|
* @param output - Raw command output
|
|
19
|
-
* @
|
|
20
|
-
* @returns Structured error information
|
|
21
|
+
* @returns Structured error information with keyword-extracted summary
|
|
21
22
|
*
|
|
22
23
|
* @example
|
|
23
24
|
* ```typescript
|
|
24
|
-
*
|
|
25
|
-
*
|
|
25
|
+
* // Python pytest output
|
|
26
|
+
* const result = extractGenericErrors(pytestOutput);
|
|
27
|
+
* // errorSummary contains only: FAILED lines, AssertionError, summary
|
|
28
|
+
*
|
|
29
|
+
* // Go test output
|
|
30
|
+
* const result = extractGenericErrors(goTestOutput);
|
|
31
|
+
* // errorSummary contains only: FAIL lines, panic:, file:line references
|
|
26
32
|
* ```
|
|
27
33
|
*/
|
|
28
|
-
export declare function extractGenericErrors(output: string
|
|
34
|
+
export declare function extractGenericErrors(output: string): ErrorExtractorResult;
|
|
29
35
|
//# sourceMappingURL=generic-extractor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-extractor.d.ts","sourceRoot":"","sources":["../src/generic-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"generic-extractor.d.ts","sourceRoot":"","sources":["../src/generic-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA0CvD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CA+DzE"}
|
|
@@ -2,50 +2,127 @@
|
|
|
2
2
|
* Generic Error Extractor
|
|
3
3
|
*
|
|
4
4
|
* Fallback extractor for unknown validation step types.
|
|
5
|
-
*
|
|
5
|
+
* Intelligently extracts error keywords and relevant lines for LLM consumption.
|
|
6
6
|
*
|
|
7
7
|
* @package @vibe-validate/extractors
|
|
8
8
|
*/
|
|
9
|
+
/**
|
|
10
|
+
* Error keyword patterns for intelligent extraction
|
|
11
|
+
*
|
|
12
|
+
* Note: Case-insensitive matching done via toLowerCase() in logic
|
|
13
|
+
*/
|
|
14
|
+
const ERROR_KEYWORDS = [
|
|
15
|
+
'failed',
|
|
16
|
+
'fail',
|
|
17
|
+
'error',
|
|
18
|
+
'exception',
|
|
19
|
+
'traceback',
|
|
20
|
+
'assertionerror',
|
|
21
|
+
'typeerror',
|
|
22
|
+
'valueerror',
|
|
23
|
+
'panic:',
|
|
24
|
+
'fatal:',
|
|
25
|
+
'syntaxerror',
|
|
26
|
+
'referenceerror',
|
|
27
|
+
'comparisonerror', // JUnit
|
|
28
|
+
'comparisonfailure', // JUnit
|
|
29
|
+
'arithmeticexception', // Java
|
|
30
|
+
'at ', // Stack trace lines
|
|
31
|
+
'-->', // Rust error pointers
|
|
32
|
+
'undefined:', // Go/JS undefined errors
|
|
33
|
+
];
|
|
34
|
+
/**
|
|
35
|
+
* Noise patterns to filter out
|
|
36
|
+
*/
|
|
37
|
+
const NOISE_PATTERNS = [
|
|
38
|
+
/^>/, // npm script headers
|
|
39
|
+
/npm ERR!/,
|
|
40
|
+
/^npm WARN/,
|
|
41
|
+
/^warning:/i, // Generic warnings (keep errors)
|
|
42
|
+
/node_modules/, // Dependency paths
|
|
43
|
+
/^Download/i,
|
|
44
|
+
/^Resolving packages/i,
|
|
45
|
+
/^Already up[- ]to[- ]date/i,
|
|
46
|
+
];
|
|
9
47
|
/**
|
|
10
48
|
* Generic error extractor (fallback)
|
|
11
49
|
*
|
|
12
|
-
*
|
|
13
|
-
* -
|
|
14
|
-
* -
|
|
15
|
-
* -
|
|
50
|
+
* Intelligently extracts error information by:
|
|
51
|
+
* - Identifying lines with error keywords (FAILED, Error, Exception, etc.)
|
|
52
|
+
* - Extracting file paths with line numbers (test.py:42, main.go:15)
|
|
53
|
+
* - Capturing summary lines (X failed, Y passed)
|
|
54
|
+
* - Removing npm/package manager noise
|
|
55
|
+
* - Limiting to 15-20 most relevant lines for token efficiency
|
|
16
56
|
*
|
|
17
57
|
* @param output - Raw command output
|
|
18
|
-
* @
|
|
19
|
-
* @returns Structured error information
|
|
58
|
+
* @returns Structured error information with keyword-extracted summary
|
|
20
59
|
*
|
|
21
60
|
* @example
|
|
22
61
|
* ```typescript
|
|
23
|
-
*
|
|
24
|
-
*
|
|
62
|
+
* // Python pytest output
|
|
63
|
+
* const result = extractGenericErrors(pytestOutput);
|
|
64
|
+
* // errorSummary contains only: FAILED lines, AssertionError, summary
|
|
65
|
+
*
|
|
66
|
+
* // Go test output
|
|
67
|
+
* const result = extractGenericErrors(goTestOutput);
|
|
68
|
+
* // errorSummary contains only: FAIL lines, panic:, file:line references
|
|
25
69
|
* ```
|
|
26
70
|
*/
|
|
27
|
-
export function extractGenericErrors(output
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
.
|
|
71
|
+
export function extractGenericErrors(output) {
|
|
72
|
+
const lines = output.split('\n');
|
|
73
|
+
// Step 1: Extract lines with error keywords or file:line patterns
|
|
74
|
+
const relevantLines = [];
|
|
75
|
+
for (const line of lines) {
|
|
76
|
+
const trimmed = line.trim();
|
|
77
|
+
// Skip empty lines
|
|
78
|
+
if (trimmed === '')
|
|
79
|
+
continue;
|
|
80
|
+
// Skip noise patterns
|
|
81
|
+
if (NOISE_PATTERNS.some(pattern => pattern.test(line)))
|
|
82
|
+
continue;
|
|
83
|
+
// Include if contains error keywords (case-insensitive)
|
|
84
|
+
const lineLower = line.toLowerCase();
|
|
85
|
+
const hasErrorKeyword = ERROR_KEYWORDS.some(keyword => lineLower.includes(keyword));
|
|
86
|
+
// Include if looks like file:line reference (e.g., test.py:42, main.go:15:10)
|
|
87
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: matches file paths in validation output (controlled input), limited line length, simple pattern with no nested quantifiers
|
|
88
|
+
const hasFileLineRef = /\w+\.(py|go|rs|rb|java|cpp|c|h|js|ts|tsx|jsx):\d+/.test(line);
|
|
89
|
+
// Include if looks like a summary line (e.g., "2 failed, 3 passed", "X examples")
|
|
90
|
+
// eslint-disable-next-line sonarjs/slow-regex -- Safe: matches summary lines in validation output (controlled input), limited line length, simple pattern with no nested quantifiers
|
|
91
|
+
const isSummaryLine = /\d+\s+(failed|passed|error|success|example)/i.test(line);
|
|
92
|
+
if (hasErrorKeyword || hasFileLineRef || isSummaryLine) {
|
|
93
|
+
relevantLines.push(line);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Step 2: If we found relevant lines, use them; otherwise fall back to basic cleaning
|
|
97
|
+
let errorSummary;
|
|
98
|
+
if (relevantLines.length > 0) {
|
|
99
|
+
// Limit to first 20 relevant lines
|
|
100
|
+
errorSummary = relevantLines.slice(0, 20).join('\n');
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
// Fallback: Basic cleaning (remove noise, limit to 20 lines)
|
|
104
|
+
errorSummary = lines
|
|
105
|
+
.filter(line => {
|
|
106
|
+
if (line.trim() === '')
|
|
107
|
+
return false;
|
|
108
|
+
if (NOISE_PATTERNS.some(pattern => pattern.test(line)))
|
|
109
|
+
return false;
|
|
110
|
+
return true;
|
|
111
|
+
})
|
|
112
|
+
.slice(0, 20)
|
|
113
|
+
.join('\n');
|
|
114
|
+
}
|
|
115
|
+
// Determine if errors were detected based on extracted content
|
|
116
|
+
const hasErrors = relevantLines.length > 0;
|
|
43
117
|
return {
|
|
44
118
|
errors: [],
|
|
45
|
-
summary:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
119
|
+
summary: hasErrors ? 'Command failed - see output' : 'No errors detected',
|
|
120
|
+
// CRITICAL: totalErrors must always equal errors.length (data integrity invariant)
|
|
121
|
+
// Generic extractor doesn't populate errors array, so totalErrors is always 0
|
|
122
|
+
// Error details are in errorSummary only
|
|
123
|
+
totalErrors: 0,
|
|
124
|
+
guidance: hasErrors ? 'Review the output above and fix the errors' : '',
|
|
125
|
+
errorSummary
|
|
49
126
|
};
|
|
50
127
|
}
|
|
51
128
|
//# sourceMappingURL=generic-extractor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-extractor.js","sourceRoot":"","sources":["../src/generic-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH
|
|
1
|
+
{"version":3,"file":"generic-extractor.js","sourceRoot":"","sources":["../src/generic-extractor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,13 +17,15 @@
|
|
|
17
17
|
* const result = autoDetectAndExtract('TypeScript Type Checking', tscOutput);
|
|
18
18
|
* console.log(result.summary); // "3 type error(s), 0 warning(s)"
|
|
19
19
|
* console.log(result.guidance); // "Type mismatch - check variable/parameter types"
|
|
20
|
-
* console.log(result.
|
|
20
|
+
* console.log(result.errorSummary); // Clean, formatted error list
|
|
21
21
|
* ```
|
|
22
22
|
*
|
|
23
23
|
* @package @vibe-validate/extractors
|
|
24
24
|
* @version 0.1.0
|
|
25
25
|
*/
|
|
26
|
-
export type { FormattedError, ErrorExtractorResult,
|
|
26
|
+
export type { FormattedError, ErrorExtractorResult, DetectionMetadata, ExtractionMetadata, } from './result-schema.js';
|
|
27
|
+
export type { ErrorExtractor, ExtractorInput } from './types.js';
|
|
28
|
+
export { FormattedErrorSchema, ErrorExtractorResultSchema, DetectionMetadataSchema, ExtractionMetadataSchema, safeValidateExtractorResult, validateExtractorResult, } from './result-schema.js';
|
|
27
29
|
export { extractTypeScriptErrors } from './typescript-extractor.js';
|
|
28
30
|
export { extractESLintErrors } from './eslint-extractor.js';
|
|
29
31
|
export { extractVitestErrors } from './vitest-extractor.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjE,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
|