@vibe-validate/extractors 0.16.1 → 0.17.0-rc.6

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 (163) hide show
  1. package/dist/extractor-registry.d.ts +104 -0
  2. package/dist/extractor-registry.d.ts.map +1 -0
  3. package/dist/extractor-registry.js +278 -0
  4. package/dist/extractor-registry.js.map +1 -0
  5. package/dist/extractors/ava/index.d.ts +23 -0
  6. package/dist/extractors/ava/index.d.ts.map +1 -0
  7. package/dist/extractors/ava/index.js +507 -0
  8. package/dist/extractors/ava/index.js.map +1 -0
  9. package/dist/extractors/ava/index.test.d.ts +7 -0
  10. package/dist/extractors/ava/index.test.d.ts.map +1 -0
  11. package/dist/extractors/ava/index.test.js +408 -0
  12. package/dist/extractors/ava/index.test.js.map +1 -0
  13. package/dist/extractors/eslint/index.d.ts +18 -0
  14. package/dist/extractors/eslint/index.d.ts.map +1 -0
  15. package/dist/extractors/eslint/index.js +206 -0
  16. package/dist/extractors/eslint/index.js.map +1 -0
  17. package/dist/extractors/eslint/index.test.d.ts +9 -0
  18. package/dist/extractors/eslint/index.test.d.ts.map +1 -0
  19. package/dist/extractors/eslint/index.test.js +191 -0
  20. package/dist/extractors/eslint/index.test.js.map +1 -0
  21. package/dist/extractors/generic/index.d.ts +30 -0
  22. package/dist/extractors/generic/index.d.ts.map +1 -0
  23. package/dist/extractors/generic/index.js +140 -0
  24. package/dist/extractors/generic/index.js.map +1 -0
  25. package/dist/extractors/generic/index.test.d.ts +7 -0
  26. package/dist/extractors/generic/index.test.d.ts.map +1 -0
  27. package/dist/extractors/generic/index.test.js +61 -0
  28. package/dist/extractors/generic/index.test.js.map +1 -0
  29. package/dist/extractors/jasmine/index.d.ts +17 -0
  30. package/dist/extractors/jasmine/index.d.ts.map +1 -0
  31. package/dist/extractors/jasmine/index.js +242 -0
  32. package/dist/extractors/jasmine/index.js.map +1 -0
  33. package/dist/extractors/jasmine/index.test.d.ts +7 -0
  34. package/dist/extractors/jasmine/index.test.d.ts.map +1 -0
  35. package/dist/extractors/jasmine/index.test.js +318 -0
  36. package/dist/extractors/jasmine/index.test.js.map +1 -0
  37. package/dist/extractors/jest/index.d.ts +17 -0
  38. package/dist/extractors/jest/index.d.ts.map +1 -0
  39. package/dist/extractors/jest/index.js +273 -0
  40. package/dist/extractors/jest/index.js.map +1 -0
  41. package/dist/extractors/jest/index.test.d.ts +9 -0
  42. package/dist/extractors/jest/index.test.d.ts.map +1 -0
  43. package/dist/extractors/jest/index.test.js +338 -0
  44. package/dist/extractors/jest/index.test.js.map +1 -0
  45. package/dist/extractors/junit/index.d.ts +18 -0
  46. package/dist/extractors/junit/index.d.ts.map +1 -0
  47. package/dist/extractors/junit/index.js +259 -0
  48. package/dist/extractors/junit/index.js.map +1 -0
  49. package/dist/extractors/junit/index.test.d.ts +7 -0
  50. package/dist/extractors/junit/index.test.d.ts.map +1 -0
  51. package/dist/extractors/junit/index.test.js +341 -0
  52. package/dist/extractors/junit/index.test.js.map +1 -0
  53. package/dist/extractors/maven-checkstyle/index.d.ts +23 -0
  54. package/dist/extractors/maven-checkstyle/index.d.ts.map +1 -0
  55. package/dist/extractors/maven-checkstyle/index.js +263 -0
  56. package/dist/extractors/maven-checkstyle/index.js.map +1 -0
  57. package/dist/extractors/maven-checkstyle/index.test.d.ts +2 -0
  58. package/dist/extractors/maven-checkstyle/index.test.d.ts.map +1 -0
  59. package/dist/extractors/maven-checkstyle/index.test.js +197 -0
  60. package/dist/extractors/maven-checkstyle/index.test.js.map +1 -0
  61. package/dist/extractors/maven-compiler/index.d.ts +23 -0
  62. package/dist/extractors/maven-compiler/index.d.ts.map +1 -0
  63. package/dist/extractors/maven-compiler/index.js +271 -0
  64. package/dist/extractors/maven-compiler/index.js.map +1 -0
  65. package/dist/extractors/maven-compiler/index.test.d.ts +2 -0
  66. package/dist/extractors/maven-compiler/index.test.d.ts.map +1 -0
  67. package/dist/extractors/maven-compiler/index.test.js +189 -0
  68. package/dist/extractors/maven-compiler/index.test.js.map +1 -0
  69. package/dist/extractors/maven-surefire/index.d.ts +23 -0
  70. package/dist/extractors/maven-surefire/index.d.ts.map +1 -0
  71. package/dist/extractors/maven-surefire/index.js +292 -0
  72. package/dist/extractors/maven-surefire/index.js.map +1 -0
  73. package/dist/extractors/maven-surefire/index.test.d.ts +2 -0
  74. package/dist/extractors/maven-surefire/index.test.d.ts.map +1 -0
  75. package/dist/extractors/maven-surefire/index.test.js +163 -0
  76. package/dist/extractors/maven-surefire/index.test.js.map +1 -0
  77. package/dist/extractors/mocha/index.d.ts +17 -0
  78. package/dist/extractors/mocha/index.d.ts.map +1 -0
  79. package/dist/extractors/mocha/index.js +241 -0
  80. package/dist/extractors/mocha/index.js.map +1 -0
  81. package/dist/extractors/mocha/index.test.d.ts +7 -0
  82. package/dist/extractors/mocha/index.test.d.ts.map +1 -0
  83. package/dist/extractors/mocha/index.test.js +300 -0
  84. package/dist/extractors/mocha/index.test.js.map +1 -0
  85. package/dist/extractors/playwright/index.d.ts +17 -0
  86. package/dist/extractors/playwright/index.d.ts.map +1 -0
  87. package/dist/extractors/playwright/index.js +320 -0
  88. package/dist/extractors/playwright/index.js.map +1 -0
  89. package/dist/extractors/playwright/index.test.d.ts +7 -0
  90. package/dist/extractors/playwright/index.test.d.ts.map +1 -0
  91. package/dist/extractors/playwright/index.test.js +274 -0
  92. package/dist/extractors/playwright/index.test.js.map +1 -0
  93. package/dist/extractors/tap/index.d.ts +23 -0
  94. package/dist/extractors/tap/index.d.ts.map +1 -0
  95. package/dist/extractors/tap/index.js +352 -0
  96. package/dist/extractors/tap/index.js.map +1 -0
  97. package/dist/extractors/tap/index.test.d.ts +7 -0
  98. package/dist/extractors/tap/index.test.d.ts.map +1 -0
  99. package/dist/extractors/tap/index.test.js +100 -0
  100. package/dist/extractors/tap/index.test.js.map +1 -0
  101. package/dist/extractors/typescript/index.d.ts +17 -0
  102. package/dist/extractors/typescript/index.d.ts.map +1 -0
  103. package/dist/extractors/typescript/index.js +150 -0
  104. package/dist/extractors/typescript/index.js.map +1 -0
  105. package/dist/extractors/typescript/index.test.d.ts +9 -0
  106. package/dist/extractors/typescript/index.test.d.ts.map +1 -0
  107. package/dist/extractors/typescript/index.test.js +177 -0
  108. package/dist/extractors/typescript/index.test.js.map +1 -0
  109. package/dist/extractors/vitest/index.d.ts +17 -0
  110. package/dist/extractors/vitest/index.d.ts.map +1 -0
  111. package/dist/extractors/vitest/index.js +564 -0
  112. package/dist/extractors/vitest/index.js.map +1 -0
  113. package/dist/extractors/vitest/index.test.d.ts +9 -0
  114. package/dist/extractors/vitest/index.test.d.ts.map +1 -0
  115. package/dist/extractors/vitest/index.test.js +373 -0
  116. package/dist/extractors/vitest/index.test.js.map +1 -0
  117. package/dist/index.d.ts +27 -11
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +27 -11
  120. package/dist/index.js.map +1 -1
  121. package/dist/maven-checkstyle-extractor.d.ts +20 -0
  122. package/dist/maven-checkstyle-extractor.d.ts.map +1 -0
  123. package/dist/maven-checkstyle-extractor.js +208 -0
  124. package/dist/maven-checkstyle-extractor.js.map +1 -0
  125. package/dist/maven-compiler-extractor.d.ts +20 -0
  126. package/dist/maven-compiler-extractor.d.ts.map +1 -0
  127. package/dist/maven-compiler-extractor.js +218 -0
  128. package/dist/maven-compiler-extractor.js.map +1 -0
  129. package/dist/maven-surefire-extractor.d.ts +20 -0
  130. package/dist/maven-surefire-extractor.d.ts.map +1 -0
  131. package/dist/maven-surefire-extractor.js +228 -0
  132. package/dist/maven-surefire-extractor.js.map +1 -0
  133. package/dist/maven-utils.d.ts +24 -0
  134. package/dist/maven-utils.d.ts.map +1 -0
  135. package/dist/maven-utils.js +36 -0
  136. package/dist/maven-utils.js.map +1 -0
  137. package/dist/plugin-loader.d.ts +82 -0
  138. package/dist/plugin-loader.d.ts.map +1 -0
  139. package/dist/plugin-loader.js +200 -0
  140. package/dist/plugin-loader.js.map +1 -0
  141. package/dist/sandbox.d.ts +161 -0
  142. package/dist/sandbox.d.ts.map +1 -0
  143. package/dist/sandbox.js +254 -0
  144. package/dist/sandbox.js.map +1 -0
  145. package/dist/sandbox.test.d.ts +8 -0
  146. package/dist/sandbox.test.d.ts.map +1 -0
  147. package/dist/sandbox.test.js +395 -0
  148. package/dist/sandbox.test.js.map +1 -0
  149. package/dist/sandboxed-extractor.d.ts +46 -0
  150. package/dist/sandboxed-extractor.d.ts.map +1 -0
  151. package/dist/sandboxed-extractor.js +172 -0
  152. package/dist/sandboxed-extractor.js.map +1 -0
  153. package/dist/sandboxed-extractor.test.d.ts +5 -0
  154. package/dist/sandboxed-extractor.test.d.ts.map +1 -0
  155. package/dist/sandboxed-extractor.test.js +346 -0
  156. package/dist/sandboxed-extractor.test.js.map +1 -0
  157. package/dist/smart-extractor.d.ts +22 -10
  158. package/dist/smart-extractor.d.ts.map +1 -1
  159. package/dist/smart-extractor.js +116 -163
  160. package/dist/smart-extractor.js.map +1 -1
  161. package/dist/types.d.ts +94 -0
  162. package/dist/types.d.ts.map +1 -1
  163. package/package.json +1 -1
@@ -0,0 +1,373 @@
1
+ /**
2
+ * Vitest Extractor Plugin Tests
3
+ *
4
+ * Tests Vitest/Jest test failure parsing and formatting.
5
+ *
6
+ * @package @vibe-validate/extractors
7
+ */
8
+ import { describe, it, expect } from 'vitest';
9
+ import vitestPlugin from './index.js';
10
+ const { extract, detect } = vitestPlugin;
11
+ describe('Vitest Extractor Plugin', () => {
12
+ describe('detect', () => {
13
+ it('should detect Vitest test failures with high confidence', () => {
14
+ const output = `
15
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > should parse HTTP_PORT
16
+ AssertionError: expected 3000 to be 9999 // Object.is equality
17
+ ❯ test/unit/config/environment.test.ts:57:30
18
+ `.trim();
19
+ const result = detect(output);
20
+ expect(result.confidence).toBeGreaterThanOrEqual(70);
21
+ expect(result.patterns.length).toBeGreaterThan(0);
22
+ expect(result.reason).toContain('Vitest');
23
+ });
24
+ it('should detect multiple Vitest patterns with higher confidence', () => {
25
+ const output = `
26
+ ❯ test/unit/config/environment.test.ts (1)
27
+ × should parse HTTP_PORT
28
+ AssertionError: expected 3000 to be 9999
29
+ `.trim();
30
+ const result = detect(output);
31
+ expect(result.confidence).toBe(90);
32
+ });
33
+ it('should not detect non-Vitest output', () => {
34
+ const output = `Some random text without test failures`;
35
+ const result = detect(output);
36
+ expect(result.confidence).toBe(0);
37
+ });
38
+ });
39
+ describe('extract', () => {
40
+ it('should parse single Vitest test failure', () => {
41
+ const output = `
42
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > should parse HTTP_PORT
43
+ AssertionError: expected 3000 to be 9999 // Object.is equality
44
+ ❯ test/unit/config/environment.test.ts:57:30
45
+ 55| const config = parseEnvironmentConfig();
46
+ 56|
47
+ 57| expect(config.HTTP_PORT).toBe(9999);
48
+ | ^
49
+ 58| });
50
+ 59|
51
+ `.trim();
52
+ const result = extract(output);
53
+ expect(result.errors).toHaveLength(1);
54
+ expect(result.errors[0].file).toBe('test/unit/config/environment.test.ts');
55
+ expect(result.errors[0].line).toBe(57);
56
+ expect(result.errors[0].column).toBe(30);
57
+ expect(result.summary).toBe('1 test failure(s)');
58
+ expect(result.totalErrors).toBe(1);
59
+ });
60
+ it('should extract test hierarchy and error message', () => {
61
+ const output = `
62
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > should parse HTTP_PORT correctly
63
+ AssertionError: expected 3000 to be 9999
64
+ ❯ test/unit/config/environment.test.ts:57:30
65
+ `.trim();
66
+ const result = extract(output);
67
+ // Message should contain the actual error, not just the test hierarchy
68
+ expect(result.errors[0].message).toContain('AssertionError: expected 3000 to be 9999');
69
+ // Test hierarchy is captured in errorSummary, not in message
70
+ expect(result.errorSummary).toContain('EnvironmentConfig > should parse HTTP_PORT correctly');
71
+ });
72
+ it('should extract error message', () => {
73
+ const output = `
74
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
75
+ AssertionError: expected 3000 to be 9999 // Object.is equality
76
+ ❯ test/unit/config/environment.test.ts:57:30
77
+ `.trim();
78
+ const result = extract(output);
79
+ expect(result.errors[0].message).toContain('expected 3000 to be 9999 // Object.is equality');
80
+ });
81
+ it('should extract source line', () => {
82
+ const output = `
83
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
84
+ AssertionError: expected 3000 to be 9999
85
+ ❯ test/unit/config/environment.test.ts:57:30
86
+ 55| const config = parseEnvironmentConfig();
87
+ 56|
88
+ 57| expect(config.HTTP_PORT).toBe(9999);
89
+ | ^
90
+ 58| });
91
+ `.trim();
92
+ const result = extract(output);
93
+ // Vitest extractor extracts source lines (any line with line number)
94
+ expect(result.errorSummary).toMatch(/\d+\|/); // Contains at least one line with line number
95
+ expect(result.errors).toHaveLength(1);
96
+ expect(result.errors[0].file).toBe('test/unit/config/environment.test.ts');
97
+ });
98
+ it('should parse multiple test failures', () => {
99
+ const output = `
100
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test 1
101
+ AssertionError: expected 3000 to be 9999
102
+ ❯ test/unit/config/environment.test.ts:57:30
103
+ 57| expect(config.HTTP_PORT).toBe(9999);
104
+
105
+ FAIL test/unit/auth/factory.test.ts > AuthFactory > test 2
106
+ Error: Cannot create auth provider
107
+ ❯ test/unit/auth/factory.test.ts:100:15
108
+ 100| expect(() => factory.create()).toThrow();
109
+
110
+ FAIL test/unit/session/manager.test.ts > SessionManager > test 3
111
+ AssertionError: expected undefined to be defined
112
+ ❯ test/unit/session/manager.test.ts:200:25
113
+ 200| expect(session).toBeDefined();
114
+ `.trim();
115
+ const result = extract(output);
116
+ expect(result.errors).toHaveLength(3);
117
+ expect(result.summary).toBe('3 test failure(s)');
118
+ expect(result.totalErrors).toBe(3);
119
+ expect(result.errors[0].file).toBe('test/unit/config/environment.test.ts');
120
+ expect(result.errors[1].file).toBe('test/unit/auth/factory.test.ts');
121
+ expect(result.errors[2].file).toBe('test/unit/session/manager.test.ts');
122
+ });
123
+ it('should limit output to first 10 failures', () => {
124
+ // Generate 15 test failures
125
+ const failures = Array.from({ length: 15 }, (_, i) => `
126
+ FAIL test/unit/file${i}.test.ts > TestSuite > test ${i}
127
+ AssertionError: expected ${i} to be ${i + 1}
128
+ ❯ test/unit/file${i}.test.ts:${i + 10}:30
129
+ ${i + 10}| expect(value).toBe(${i + 1});
130
+ `).join('\n');
131
+ const result = extract(failures);
132
+ expect(result.totalErrors).toBe(15);
133
+ expect(result.errors).toHaveLength(10);
134
+ });
135
+ it('should extract expected and actual values', () => {
136
+ const output = `
137
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
138
+ AssertionError: expected 3000 to be 9999
139
+
140
+ - Expected
141
+ "9999"
142
+
143
+ + Received
144
+ "3000"
145
+
146
+ ❯ test/unit/config/environment.test.ts:57:30
147
+ `.trim();
148
+ const result = extract(output);
149
+ // Expected/actual values are extracted and shown in clean output
150
+ expect(result.errorSummary).toBeDefined();
151
+ expect(result.errors).toHaveLength(1);
152
+ });
153
+ it('should generate single test failure guidance', () => {
154
+ const output = `
155
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
156
+ AssertionError: expected 3000 to be 9999
157
+ ❯ test/unit/config/environment.test.ts:57:30
158
+ `.trim();
159
+ const result = extract(output);
160
+ expect(result.guidance).toContain('1 test(s) failed');
161
+ expect(result.guidance).toContain('Fix the assertion in the test file at the location shown');
162
+ expect(result.guidance).toContain('npm test -- <test-file>');
163
+ });
164
+ it('should generate multiple test failure guidance', () => {
165
+ const output = `
166
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test 1
167
+ AssertionError: error 1
168
+ ❯ test/unit/config/environment.test.ts:57:30
169
+
170
+ FAIL test/unit/auth/factory.test.ts > AuthFactory > test 2
171
+ Error: error 2
172
+ ❯ test/unit/auth/factory.test.ts:100:15
173
+ `.trim();
174
+ const result = extract(output);
175
+ expect(result.guidance).toContain('2 test(s) failed');
176
+ expect(result.guidance).toContain('Fix each failing test individually');
177
+ });
178
+ it('should generate guidance for single failure', () => {
179
+ const output = `
180
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test
181
+ AssertionError: expected 3000 to be 9999
182
+
183
+ ❯ test/unit/config/environment.test.ts:57:30
184
+ `.trim();
185
+ const result = extract(output);
186
+ expect(result.guidance).toContain('1 test(s) failed');
187
+ expect(result.guidance).toContain('Fix the assertion in the test file');
188
+ });
189
+ it('should handle empty output', () => {
190
+ const result = extract('');
191
+ expect(result.errors).toHaveLength(0);
192
+ expect(result.summary).toBe('0 test failure(s)');
193
+ expect(result.totalErrors).toBe(0);
194
+ });
195
+ it('should handle output with no test failures', () => {
196
+ const output = `
197
+ ✓ test/unit/config/environment.test.ts > EnvironmentConfig > test 1 (5ms)
198
+ ✓ test/unit/auth/factory.test.ts > AuthFactory > test 2 (3ms)
199
+ ✓ test/unit/session/manager.test.ts > SessionManager > test 3 (2ms)
200
+
201
+ Test Files 3 passed (3)
202
+ Tests 3 passed (3)
203
+ `.trim();
204
+ const result = extract(output);
205
+ expect(result.errors).toHaveLength(0);
206
+ expect(result.totalErrors).toBe(0);
207
+ });
208
+ it('should handle Jest output format', () => {
209
+ const output = `
210
+ FAIL test/unit/config/environment.test.ts
211
+ EnvironmentConfig
212
+ ✕ should parse HTTP_PORT (5ms)
213
+
214
+ ● EnvironmentConfig › should parse HTTP_PORT
215
+
216
+ expect(received).toBe(expected) // Object.is equality
217
+
218
+ Expected: 9999
219
+ Received: 3000
220
+
221
+ 55 | const config = parseEnvironmentConfig();
222
+ 56 |
223
+ > 57 | expect(config.HTTP_PORT).toBe(9999);
224
+ | ^
225
+ 58 | });
226
+ 59 |
227
+
228
+ at test/unit/config/environment.test.ts:57:30
229
+ `.trim();
230
+ const result = extract(output);
231
+ // Should still parse some information even with different format
232
+ expect(result.totalErrors).toBeGreaterThanOrEqual(0);
233
+ });
234
+ it('should format clean output with numbered test list', () => {
235
+ const output = `
236
+ FAIL test/unit/config/environment.test.ts > EnvironmentConfig > test 1
237
+ AssertionError: error 1
238
+ ❯ test/unit/config/environment.test.ts:57:30
239
+ 57| expect(value).toBe(expected);
240
+
241
+ FAIL test/unit/auth/factory.test.ts > AuthFactory > test 2
242
+ Error: error 2
243
+ ❯ test/unit/auth/factory.test.ts:100:15
244
+ 100| expect(factory).toBeDefined();
245
+ `.trim();
246
+ const result = extract(output);
247
+ expect(result.errorSummary).toContain('[Test 1/2]');
248
+ expect(result.errorSummary).toContain('[Test 2/2]');
249
+ expect(result.errorSummary).toContain('test/unit/config/environment.test.ts:57:30');
250
+ expect(result.errorSummary).toContain('test/unit/auth/factory.test.ts:100:15');
251
+ });
252
+ it('should extract coverage threshold failures', () => {
253
+ const output = `
254
+ RUN v2.0.5 /Users/jeff/Workspaces/vibe-validate
255
+
256
+ ✓ packages/cli/test/commands/run.test.ts (25) 1234ms
257
+ ✓ packages/core/test/runner.test.ts (15) 567ms
258
+ ✓ packages/git/test/tree-hash.test.ts (8) 123ms
259
+
260
+ Test Files 1139 passed (1139)
261
+ Tests 1139 passed (1139)
262
+ Start at 02:03:02
263
+ Duration 35.62s (transform 1.23s, setup 0ms, collect 4.56s, tests 23.45s, environment 2.34s, prepare 3.21s)
264
+
265
+ % Coverage report from v8
266
+ -------------------|---------|----------|---------|---------|-------------------
267
+ File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
268
+ -------------------|---------|----------|---------|---------|-------------------
269
+ All files | 88.47 | 84.21 | 86.47 | 88.47 |
270
+ -------------------|---------|----------|---------|---------|-------------------
271
+
272
+ ERROR: Coverage for functions (86.47%) does not meet global threshold (87%)
273
+ `.trim();
274
+ const result = extract(output);
275
+ expect(result.errors).toHaveLength(1);
276
+ expect(result.errors[0].file).toBe('vitest.config.ts');
277
+ expect(result.errors[0].message).toContain('Coverage for functions');
278
+ expect(result.errors[0].message).toContain('86.47%');
279
+ expect(result.errors[0].message).toContain('87%');
280
+ expect(result.totalErrors).toBe(1);
281
+ expect(result.summary).toBe('1 test failure(s)');
282
+ });
283
+ it('should extract Vitest worker timeout errors', () => {
284
+ const output = `
285
+ RUN v2.0.5 /Users/jeff/Workspaces/vibe-validate
286
+
287
+ ✓ packages/cli/test/commands/run.test.ts (25) 1234ms
288
+ ✓ packages/core/test/runner.test.ts (15) 567ms
289
+
290
+ ⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯
291
+ Error: [vitest-worker]: Timeout calling "onTaskUpdate"
292
+ ❯ Object.onTimeoutError node_modules/.pnpm/vitest@3.2.4/node_modules/vitest/dist/chunks/rpc.js:53:10
293
+ ❯ Timeout._onTimeout node_modules/.pnpm/vitest@3.2.4/node_modules/vitest/dist/chunks/index.js:59:62
294
+ ❯ listOnTimeout node:internal/timers:608:17
295
+ ❯ processTimers node:internal/timers:543:7
296
+
297
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
298
+ `.trim();
299
+ const result = extract(output);
300
+ expect(result.errors).toHaveLength(1);
301
+ expect(result.errors[0].file).toBe('vitest.config.ts');
302
+ expect(result.errors[0].message).toContain('Timeout calling "onTaskUpdate"');
303
+ expect(result.errors[0].message).toContain('system resource constraints');
304
+ expect(result.errors[0].message).toContain('Kill background processes');
305
+ expect(result.totalErrors).toBe(1);
306
+ expect(result.summary).toBe('1 test failure(s)');
307
+ });
308
+ it('should extract Vitest worker timeout errors with plural "Unhandled Errors"', () => {
309
+ const output = `
310
+ RUN v2.0.5 /Users/jeff/Workspaces/vibe-validate
311
+
312
+ ✓ packages/cli/test/commands/run.test.ts (25) 1234ms
313
+ ✓ packages/core/test/runner.test.ts (15) 567ms
314
+
315
+ ⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯
316
+
317
+ Vitest caught 1 unhandled error during the test run.
318
+ This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.
319
+
320
+ ⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯
321
+ Error: [vitest-worker]: Timeout calling "onTaskUpdate"
322
+ ❯ Object.onTimeoutError node_modules/.pnpm/vitest@3.2.4/node_modules/vitest/dist/chunks/rpc.js:53:10
323
+ ❯ Timeout._onTimeout node_modules/.pnpm/vitest@3.2.4/node_modules/vitest/dist/chunks/index.js:59:62
324
+ ❯ listOnTimeout node:internal/timers:608:17
325
+ ❯ processTimers node:internal/timers:543:7
326
+
327
+ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
328
+ `.trim();
329
+ const result = extract(output);
330
+ expect(result.errors).toHaveLength(1);
331
+ expect(result.errors[0].file).toBe('vitest.config.ts');
332
+ expect(result.errors[0].message).toContain('Timeout calling "onTaskUpdate"');
333
+ expect(result.errors[0].message).toContain('system resource constraints');
334
+ expect(result.errors[0].message).toContain('Kill background processes');
335
+ expect(result.totalErrors).toBe(1);
336
+ expect(result.summary).toBe('1 test failure(s)');
337
+ });
338
+ it('should truncate errors array to MAX_ERRORS_IN_ARRAY but preserve totalErrors count', async () => {
339
+ // Import the constant to verify we're using the right value
340
+ const { MAX_ERRORS_IN_ARRAY } = await import('../../result-schema.js');
341
+ // Generate 15 test failures (more than MAX_ERRORS_IN_ARRAY = 10)
342
+ const failures = Array.from({ length: 15 }, (_, i) => `
343
+ FAIL test/unit/file${i + 1}.test.ts > TestSuite > test ${i + 1}
344
+ AssertionError: expected ${i} to be ${i + 1}
345
+ ❯ test/unit/file${i + 1}.test.ts:${i + 10}:30
346
+ ${i + 10}| expect(value).toBe(${i + 1});
347
+ `).join('\n');
348
+ const result = extract(failures);
349
+ // totalErrors should be 15 (full count)
350
+ expect(result.totalErrors).toBe(15);
351
+ // errors array should be truncated to MAX_ERRORS_IN_ARRAY (10)
352
+ expect(result.errors).toHaveLength(MAX_ERRORS_IN_ARRAY);
353
+ expect(result.errors).toHaveLength(10);
354
+ // Verify we got the first 10 errors
355
+ expect(result.errors[0].file).toBe('test/unit/file1.test.ts');
356
+ expect(result.errors[9].file).toBe('test/unit/file10.test.ts');
357
+ // Summary should show full count (15)
358
+ expect(result.summary).toBe('15 test failure(s)');
359
+ });
360
+ });
361
+ describe('plugin metadata', () => {
362
+ it('should have correct metadata', () => {
363
+ expect(vitestPlugin.metadata.name).toBe('vitest');
364
+ expect(vitestPlugin.priority).toBe(85);
365
+ expect(vitestPlugin.hints.anyOf).toContain('FAIL');
366
+ });
367
+ it('should include sample test cases', () => {
368
+ expect(vitestPlugin.samples).toBeDefined();
369
+ expect(vitestPlugin.samples.length).toBeGreaterThan(0);
370
+ });
371
+ });
372
+ });
373
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/extractors/vitest/index.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,8 +6,10 @@
6
6
  * Provides intelligent error parsing and formatting for common development tools:
7
7
  * - TypeScript (tsc)
8
8
  * - ESLint
9
- * - Vitest/Jest/Mocha/Jasmine
9
+ * - Vitest/Jest/Mocha/Jasmine/Playwright
10
10
  * - JUnit XML (auto-detected)
11
+ * - Maven (Compiler, Checkstyle, Surefire)
12
+ * - Ava, TAP
11
13
  * - Generic fallback for all other formats
12
14
  *
13
15
  * @example
@@ -21,19 +23,33 @@
21
23
  * ```
22
24
  *
23
25
  * @package @vibe-validate/extractors
24
- * @version 0.1.0
26
+ * @version 0.17.0
25
27
  */
26
28
  export type { FormattedError, ErrorExtractorResult, DetectionMetadata, ExtractionMetadata, } from './result-schema.js';
27
- export type { ErrorExtractor, ExtractorInput } from './types.js';
29
+ export type { ErrorExtractor, ExtractorInput, DetectionResult, ExtractorPlugin, ExtractorHints, ExtractorSample, ExtractorMetadata, } from './types.js';
28
30
  export { FormattedErrorSchema, ErrorExtractorResultSchema, DetectionMetadataSchema, ExtractionMetadataSchema, safeValidateExtractorResult, validateExtractorResult, } from './result-schema.js';
29
- export { extractTypeScriptErrors } from './typescript-extractor.js';
30
- export { extractESLintErrors } from './eslint-extractor.js';
31
- export { extractVitestErrors } from './vitest-extractor.js';
32
- export { extractJestErrors } from './jest-extractor.js';
33
- export { extractJUnitErrors } from './junit-extractor.js';
34
- export { extractMochaErrors } from './mocha-extractor.js';
35
- export { extractJasmineErrors } from './jasmine-extractor.js';
36
- export { extractGenericErrors } from './generic-extractor.js';
31
+ export { default as typescriptPlugin } from './extractors/typescript/index.js';
32
+ export { default as eslintPlugin } from './extractors/eslint/index.js';
33
+ export { default as vitestPlugin } from './extractors/vitest/index.js';
34
+ export { default as jestPlugin } from './extractors/jest/index.js';
35
+ export { default as mochaPlugin } from './extractors/mocha/index.js';
36
+ export { default as jasminePlugin } from './extractors/jasmine/index.js';
37
+ export { default as playwrightPlugin } from './extractors/playwright/index.js';
38
+ export { default as junitPlugin } from './extractors/junit/index.js';
39
+ export { default as mavenCompilerPlugin } from './extractors/maven-compiler/index.js';
40
+ export { default as mavenCheckstylePlugin } from './extractors/maven-checkstyle/index.js';
41
+ export { default as mavenSurefirePlugin } from './extractors/maven-surefire/index.js';
42
+ export { default as avaPlugin } from './extractors/ava/index.js';
43
+ export { default as tapPlugin } from './extractors/tap/index.js';
44
+ export { default as genericPlugin } from './extractors/generic/index.js';
37
45
  export { autoDetectAndExtract } from './smart-extractor.js';
46
+ export { EXTRACTOR_REGISTRY, registerPlugins as registerPluginsToRegistry } from './extractor-registry.js';
47
+ export type { ExtractorDescriptor, ExtractorTrustLevel } from './extractor-registry.js';
48
+ export { loadPlugin, discoverPlugins, registerPlugins, validatePluginInterface, PluginValidationError, } from './plugin-loader.js';
49
+ export type { PluginSource, PluginDiscoveryConfig } from './plugin-loader.js';
50
+ export { runInSandbox, createSandboxedCode, SandboxExecutionError, SandboxStatsCollector, } from './sandbox.js';
51
+ export type { SandboxOptions, SandboxResult, SandboxStats } from './sandbox.js';
52
+ export { createSandboxedExtractor, } from './sandboxed-extractor.js';
53
+ export type { SandboxedExtractorOptions, } from './sandboxed-extractor.js';
38
54
  export { stripAnsiCodes, extractErrorLines } from './utils.js';
39
55
  //# sourceMappingURL=index.d.ts.map
@@ -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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,kBAAkB,EAAE,eAAe,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAC3G,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGxF,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGhF,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -6,8 +6,10 @@
6
6
  * Provides intelligent error parsing and formatting for common development tools:
7
7
  * - TypeScript (tsc)
8
8
  * - ESLint
9
- * - Vitest/Jest/Mocha/Jasmine
9
+ * - Vitest/Jest/Mocha/Jasmine/Playwright
10
10
  * - JUnit XML (auto-detected)
11
+ * - Maven (Compiler, Checkstyle, Surefire)
12
+ * - Ava, TAP
11
13
  * - Generic fallback for all other formats
12
14
  *
13
15
  * @example
@@ -21,21 +23,35 @@
21
23
  * ```
22
24
  *
23
25
  * @package @vibe-validate/extractors
24
- * @version 0.1.0
26
+ * @version 0.17.0
25
27
  */
26
28
  // Zod schemas for runtime validation
27
29
  export { FormattedErrorSchema, ErrorExtractorResultSchema, DetectionMetadataSchema, ExtractionMetadataSchema, safeValidateExtractorResult, validateExtractorResult, } from './result-schema.js';
28
- // Individual extractors (for direct use)
29
- export { extractTypeScriptErrors } from './typescript-extractor.js';
30
- export { extractESLintErrors } from './eslint-extractor.js';
31
- export { extractVitestErrors } from './vitest-extractor.js';
32
- export { extractJestErrors } from './jest-extractor.js';
33
- export { extractJUnitErrors } from './junit-extractor.js';
34
- export { extractMochaErrors } from './mocha-extractor.js';
35
- export { extractJasmineErrors } from './jasmine-extractor.js';
36
- export { extractGenericErrors } from './generic-extractor.js';
30
+ // Extractor plugins (NEW - plugin structure with metadata, hints, samples)
31
+ export { default as typescriptPlugin } from './extractors/typescript/index.js';
32
+ export { default as eslintPlugin } from './extractors/eslint/index.js';
33
+ export { default as vitestPlugin } from './extractors/vitest/index.js';
34
+ export { default as jestPlugin } from './extractors/jest/index.js';
35
+ export { default as mochaPlugin } from './extractors/mocha/index.js';
36
+ export { default as jasminePlugin } from './extractors/jasmine/index.js';
37
+ export { default as playwrightPlugin } from './extractors/playwright/index.js';
38
+ export { default as junitPlugin } from './extractors/junit/index.js';
39
+ export { default as mavenCompilerPlugin } from './extractors/maven-compiler/index.js';
40
+ export { default as mavenCheckstylePlugin } from './extractors/maven-checkstyle/index.js';
41
+ export { default as mavenSurefirePlugin } from './extractors/maven-surefire/index.js';
42
+ export { default as avaPlugin } from './extractors/ava/index.js';
43
+ export { default as tapPlugin } from './extractors/tap/index.js';
44
+ export { default as genericPlugin } from './extractors/generic/index.js';
37
45
  // Smart extractor (auto-detection - recommended)
38
46
  export { autoDetectAndExtract } from './smart-extractor.js';
47
+ // Extractor registry (for advanced use cases)
48
+ export { EXTRACTOR_REGISTRY, registerPlugins as registerPluginsToRegistry } from './extractor-registry.js';
49
+ // Plugin loader (NEW - external plugin support)
50
+ export { loadPlugin, discoverPlugins, registerPlugins, validatePluginInterface, PluginValidationError, } from './plugin-loader.js';
51
+ // Sandbox (NEW - secure plugin execution)
52
+ export { runInSandbox, createSandboxedCode, SandboxExecutionError, SandboxStatsCollector, } from './sandbox.js';
53
+ // Sandboxed Extractor Wrapper (NEW - trust-based execution)
54
+ export { createSandboxedExtractor, } from './sandboxed-extractor.js';
39
55
  // Utilities
40
56
  export { stripAnsiCodes, extractErrorLines } from './utils.js';
41
57
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAaH,qCAAqC;AACrC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,yCAAyC;AACzC,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;AAE9D,iDAAiD;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAqBH,qCAAqC;AACrC,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,2EAA2E;AAC3E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEzE,iDAAiD;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,8CAA8C;AAC9C,OAAO,EAAE,kBAAkB,EAAE,eAAe,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAG3G,gDAAgD;AAChD,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAG5B,0CAA0C;AAC1C,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,4DAA4D;AAC5D,OAAO,EACL,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAKlC,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Maven Checkstyle error extractor
3
+ *
4
+ * Extracts errors from Maven Checkstyle plugin output.
5
+ * Supports both output formats generated by maven-checkstyle-plugin.
6
+ */
7
+ import type { ErrorExtractorResult } from './types.js';
8
+ /**
9
+ * Detects if output is from Maven Checkstyle
10
+ */
11
+ export declare function detectMavenCheckstyle(output: string): {
12
+ confidence: number;
13
+ patterns: string[];
14
+ reason: string;
15
+ };
16
+ /**
17
+ * Extracts Checkstyle violations from Maven output
18
+ */
19
+ export declare function extractMavenCheckstyle(output: string, command?: string): ErrorExtractorResult;
20
+ //# sourceMappingURL=maven-checkstyle-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maven-checkstyle-extractor.d.ts","sourceRoot":"","sources":["../src/maven-checkstyle-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,YAAY,CAAC;AAmCvE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,CA+CA;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,GACf,oBAAoB,CAmGtB"}