@vibe-validate/extractors 0.19.0-rc.9 → 0.19.0

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 (39) hide show
  1. package/dist/__test-fixtures__/invalid-metadata-plugin.d.ts +24 -0
  2. package/dist/__test-fixtures__/invalid-metadata-plugin.d.ts.map +1 -0
  3. package/dist/__test-fixtures__/invalid-metadata-plugin.js +14 -0
  4. package/dist/__test-fixtures__/invalid-metadata-plugin.js.map +1 -0
  5. package/dist/__test-fixtures__/no-detect-plugin.d.ts +21 -0
  6. package/dist/__test-fixtures__/no-detect-plugin.d.ts.map +1 -0
  7. package/dist/__test-fixtures__/no-detect-plugin.js +14 -0
  8. package/dist/__test-fixtures__/no-detect-plugin.js.map +1 -0
  9. package/dist/__test-fixtures__/no-extract-plugin.d.ts +16 -0
  10. package/dist/__test-fixtures__/no-extract-plugin.d.ts.map +1 -0
  11. package/dist/__test-fixtures__/no-extract-plugin.js +14 -0
  12. package/dist/__test-fixtures__/no-extract-plugin.js.map +1 -0
  13. package/dist/__test-fixtures__/no-metadata-plugin.d.ts +21 -0
  14. package/dist/__test-fixtures__/no-metadata-plugin.d.ts.map +1 -0
  15. package/dist/__test-fixtures__/no-metadata-plugin.js +10 -0
  16. package/dist/__test-fixtures__/no-metadata-plugin.js.map +1 -0
  17. package/dist/__test-fixtures__/valid-plugin.d.ts +27 -0
  18. package/dist/__test-fixtures__/valid-plugin.d.ts.map +1 -0
  19. package/dist/__test-fixtures__/valid-plugin.js +29 -0
  20. package/dist/__test-fixtures__/valid-plugin.js.map +1 -0
  21. package/dist/extractor-registry.d.ts +5 -4
  22. package/dist/extractor-registry.d.ts.map +1 -1
  23. package/dist/extractor-registry.js +15 -4
  24. package/dist/extractor-registry.js.map +1 -1
  25. package/dist/extractors/jasmine/index.d.ts.map +1 -1
  26. package/dist/extractors/jasmine/index.js +1 -0
  27. package/dist/extractors/jasmine/index.js.map +1 -1
  28. package/dist/extractors/pytest/index.d.ts +9 -0
  29. package/dist/extractors/pytest/index.d.ts.map +1 -0
  30. package/dist/extractors/pytest/index.js +330 -0
  31. package/dist/extractors/pytest/index.js.map +1 -0
  32. package/dist/extractors/pytest/index.test.d.ts +9 -0
  33. package/dist/extractors/pytest/index.test.d.ts.map +1 -0
  34. package/dist/extractors/pytest/index.test.js +196 -0
  35. package/dist/extractors/pytest/index.test.js.map +1 -0
  36. package/dist/extractors/vitest/index.d.ts.map +1 -1
  37. package/dist/extractors/vitest/index.js +2 -5
  38. package/dist/extractors/vitest/index.js.map +1 -1
  39. package/package.json +3 -4
@@ -0,0 +1,24 @@
1
+ declare namespace _default {
2
+ namespace metadata {
3
+ let name: string;
4
+ }
5
+ let priority: number;
6
+ function detect(): {
7
+ confidence: number;
8
+ patterns: never[];
9
+ reason: string;
10
+ };
11
+ function extract(): {
12
+ totalErrors: number;
13
+ errors: never[];
14
+ guidance: string;
15
+ metadata: {
16
+ confidence: number;
17
+ completeness: number;
18
+ issues: never[];
19
+ };
20
+ };
21
+ let samples: never[];
22
+ }
23
+ export default _default;
24
+ //# sourceMappingURL=invalid-metadata-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalid-metadata-plugin.d.ts","sourceRoot":"","sources":["../../src/__test-fixtures__/invalid-metadata-plugin.js"],"names":[],"mappings":";;;;;IAUU;;;;MAAmD;IAClD;;;;;;;;;MAAkH"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Test fixture: Plugin with invalid metadata
3
+ */
4
+ export default {
5
+ metadata: {
6
+ name: 'invalid',
7
+ // Missing version and description
8
+ },
9
+ priority: 50,
10
+ detect: () => ({ confidence: 0, patterns: [], reason: '' }),
11
+ extract: () => ({ totalErrors: 0, errors: [], guidance: '', metadata: { confidence: 100, completeness: 100, issues: [] } }),
12
+ samples: [],
13
+ };
14
+ //# sourceMappingURL=invalid-metadata-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invalid-metadata-plugin.js","sourceRoot":"","sources":["../../src/__test-fixtures__/invalid-metadata-plugin.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;IACb,QAAQ,EAAE;QACR,IAAI,EAAE,SAAS;QACf,kCAAkC;KACnC;IACD,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC3D,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3H,OAAO,EAAE,EAAE;CACZ,CAAC"}
@@ -0,0 +1,21 @@
1
+ declare namespace _default {
2
+ namespace metadata {
3
+ let name: string;
4
+ let version: string;
5
+ let description: string;
6
+ }
7
+ let priority: number;
8
+ function extract(): {
9
+ totalErrors: number;
10
+ errors: never[];
11
+ guidance: string;
12
+ metadata: {
13
+ confidence: number;
14
+ completeness: number;
15
+ issues: never[];
16
+ };
17
+ };
18
+ let samples: never[];
19
+ }
20
+ export default _default;
21
+ //# sourceMappingURL=no-detect-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-detect-plugin.d.ts","sourceRoot":"","sources":["../../src/__test-fixtures__/no-detect-plugin.js"],"names":[],"mappings":";;;;;;;IAWW;;;;;;;;;MAAkH"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Test fixture: Plugin missing detect function
3
+ */
4
+ export default {
5
+ metadata: {
6
+ name: 'no-detect',
7
+ version: '1.0.0',
8
+ description: 'Plugin without detect',
9
+ },
10
+ priority: 50,
11
+ extract: () => ({ totalErrors: 0, errors: [], guidance: '', metadata: { confidence: 100, completeness: 100, issues: [] } }),
12
+ samples: [],
13
+ };
14
+ //# sourceMappingURL=no-detect-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-detect-plugin.js","sourceRoot":"","sources":["../../src/__test-fixtures__/no-detect-plugin.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;IACb,QAAQ,EAAE;QACR,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,uBAAuB;KACrC;IACD,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3H,OAAO,EAAE,EAAE;CACZ,CAAC"}
@@ -0,0 +1,16 @@
1
+ declare namespace _default {
2
+ namespace metadata {
3
+ let name: string;
4
+ let version: string;
5
+ let description: string;
6
+ }
7
+ let priority: number;
8
+ function detect(): {
9
+ confidence: number;
10
+ patterns: never[];
11
+ reason: string;
12
+ };
13
+ let samples: never[];
14
+ }
15
+ export default _default;
16
+ //# sourceMappingURL=no-extract-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-extract-plugin.d.ts","sourceRoot":"","sources":["../../src/__test-fixtures__/no-extract-plugin.js"],"names":[],"mappings":";;;;;;;IAWU;;;;MAAmD"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Test fixture: Plugin missing extract function
3
+ */
4
+ export default {
5
+ metadata: {
6
+ name: 'no-extract',
7
+ version: '1.0.0',
8
+ description: 'Plugin without extract',
9
+ },
10
+ priority: 50,
11
+ detect: () => ({ confidence: 0, patterns: [], reason: '' }),
12
+ samples: [],
13
+ };
14
+ //# sourceMappingURL=no-extract-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-extract-plugin.js","sourceRoot":"","sources":["../../src/__test-fixtures__/no-extract-plugin.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;IACb,QAAQ,EAAE;QACR,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,wBAAwB;KACtC;IACD,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC3D,OAAO,EAAE,EAAE;CACZ,CAAC"}
@@ -0,0 +1,21 @@
1
+ declare namespace _default {
2
+ let priority: number;
3
+ function detect(): {
4
+ confidence: number;
5
+ patterns: never[];
6
+ reason: string;
7
+ };
8
+ function extract(): {
9
+ totalErrors: number;
10
+ errors: never[];
11
+ guidance: string;
12
+ metadata: {
13
+ confidence: number;
14
+ completeness: number;
15
+ issues: never[];
16
+ };
17
+ };
18
+ let samples: never[];
19
+ }
20
+ export default _default;
21
+ //# sourceMappingURL=no-metadata-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-metadata-plugin.d.ts","sourceRoot":"","sources":["../../src/__test-fixtures__/no-metadata-plugin.js"],"names":[],"mappings":";;IAMU;;;;MAAmD;IAClD;;;;;;;;;MAAkH"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Test fixture: Plugin missing metadata
3
+ */
4
+ export default {
5
+ priority: 50,
6
+ detect: () => ({ confidence: 0, patterns: [], reason: '' }),
7
+ extract: () => ({ totalErrors: 0, errors: [], guidance: '', metadata: { confidence: 100, completeness: 100, issues: [] } }),
8
+ samples: [],
9
+ };
10
+ //# sourceMappingURL=no-metadata-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-metadata-plugin.js","sourceRoot":"","sources":["../../src/__test-fixtures__/no-metadata-plugin.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;IACb,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC3D,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;IAC3H,OAAO,EAAE,EAAE;CACZ,CAAC"}
@@ -0,0 +1,27 @@
1
+ declare namespace _default {
2
+ namespace metadata {
3
+ let name: string;
4
+ let version: string;
5
+ let description: string;
6
+ let author: string;
7
+ }
8
+ let priority: number;
9
+ function detect(output: any): {
10
+ confidence: number;
11
+ patterns: string[];
12
+ reason: string;
13
+ };
14
+ function extract(output: any): {
15
+ totalErrors: number;
16
+ errors: never[];
17
+ guidance: string;
18
+ metadata: {
19
+ confidence: number;
20
+ completeness: number;
21
+ issues: never[];
22
+ };
23
+ };
24
+ let samples: never[];
25
+ }
26
+ export default _default;
27
+ //# sourceMappingURL=valid-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid-plugin.d.ts","sourceRoot":"","sources":["../../src/__test-fixtures__/valid-plugin.js"],"names":[],"mappings":";;;;;;;;IAYU;;;;MAIN;IACO;;;;;;;;;MASP"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Test fixture: Valid extractor plugin
3
+ */
4
+ export default {
5
+ metadata: {
6
+ name: 'test-plugin',
7
+ version: '1.0.0',
8
+ description: 'A valid test plugin',
9
+ author: 'Test Author',
10
+ },
11
+ priority: 50,
12
+ detect: (output) => ({
13
+ confidence: 80,
14
+ patterns: ['test-pattern'],
15
+ reason: 'Test detection logic',
16
+ }),
17
+ extract: (output) => ({
18
+ totalErrors: 0,
19
+ errors: [],
20
+ guidance: 'Test guidance',
21
+ metadata: {
22
+ confidence: 100,
23
+ completeness: 100,
24
+ issues: [],
25
+ },
26
+ }),
27
+ samples: [],
28
+ };
29
+ //# sourceMappingURL=valid-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valid-plugin.js","sourceRoot":"","sources":["../../src/__test-fixtures__/valid-plugin.js"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAe;IACb,QAAQ,EAAE;QACR,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,qBAAqB;QAClC,MAAM,EAAE,aAAa;KACtB;IACD,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,CAAC,cAAc,CAAC;QAC1B,MAAM,EAAE,sBAAsB;KAC/B,CAAC;IACF,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpB,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE;YACR,UAAU,EAAE,GAAG;YACf,YAAY,EAAE,GAAG;YACjB,MAAM,EAAE,EAAE;SACX;KACF,CAAC;IACF,OAAO,EAAE,EAAE;CACZ,CAAC"}
@@ -54,10 +54,11 @@ export interface ExtractorDescriptor {
54
54
  * 2. JUnit (Priority 100) - XML format is unique
55
55
  * 3. TypeScript (Priority 95) - Very specific error codes
56
56
  * 4. Playwright (Priority 95) - .spec.ts files with › separator
57
- * 5. Jest (Priority 90) - Must check before Mocha
58
- * 6. Vitest (Priority 90) - Secondary fallback patterns
59
- * 7. ESLint (Priority 85) - Distinctive format
60
- * 8. Jasmine (Priority 85) - Distinctive "Failures:" header
57
+ * 5. Pytest (Priority 92) - Python pytest with .py:: paths
58
+ * 6. Jest (Priority 90) - Must check before Mocha
59
+ * 7. Vitest (Priority 90) - Secondary fallback patterns
60
+ * 8. ESLint (Priority 85) - Distinctive format
61
+ * 9. Jasmine (Priority 85) - Distinctive "Failures:" header
61
62
  * 9. Ava (Priority 82) - Ava v6+ format with ✘ markers
62
63
  * 10. Mocha (Priority 80) - Generic "passing/failing" patterns
63
64
  * 11. TAP (Priority 78) - TAP version 13 protocol
@@ -1 +1 @@
1
- {"version":3,"file":"extractor-registry.d.ts","sourceRoot":"","sources":["../src/extractor-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkBH,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,eAAe,CAAC;IAC7C,yDAAyD;IACzD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,oBAAoB,CAAC;IACnD,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,KAAK,EAAE,mBAAmB,CAAC;IAC3B,uDAAuD;IACvD,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAAmB,EAqLnD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,eAAe,CAAC;IAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,oBAAoB,CAAA;CAAE,CAAC,EAC3O,UAAU,GAAE,mBAA+B,GAC1C,IAAI,CAsBN"}
1
+ {"version":3,"file":"extractor-registry.d.ts","sourceRoot":"","sources":["../src/extractor-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmBH,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAExE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,eAAe,CAAC;IAC7C,yDAAyD;IACzD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,oBAAoB,CAAC;IACnD,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,KAAK,EAAE,mBAAmB,CAAC;IAC3B,uDAAuD;IACvD,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,kBAAkB,EAAE,mBAAmB,EA+LnD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,eAAe,CAAC;IAAC,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,oBAAoB,CAAA;CAAE,CAAC,EAC3O,UAAU,GAAE,mBAA+B,GAC1C,IAAI,CAsBN"}
@@ -23,6 +23,7 @@ import mavenCompilerPlugin from './extractors/maven-compiler/index.js';
23
23
  import mavenSurefirePlugin from './extractors/maven-surefire/index.js';
24
24
  import mochaPlugin from './extractors/mocha/index.js';
25
25
  import playwrightPlugin from './extractors/playwright/index.js';
26
+ import pytestPlugin from './extractors/pytest/index.js';
26
27
  import tapPlugin from './extractors/tap/index.js';
27
28
  import typescriptPlugin from './extractors/typescript/index.js';
28
29
  import vitestPlugin from './extractors/vitest/index.js';
@@ -41,10 +42,11 @@ import vitestPlugin from './extractors/vitest/index.js';
41
42
  * 2. JUnit (Priority 100) - XML format is unique
42
43
  * 3. TypeScript (Priority 95) - Very specific error codes
43
44
  * 4. Playwright (Priority 95) - .spec.ts files with › separator
44
- * 5. Jest (Priority 90) - Must check before Mocha
45
- * 6. Vitest (Priority 90) - Secondary fallback patterns
46
- * 7. ESLint (Priority 85) - Distinctive format
47
- * 8. Jasmine (Priority 85) - Distinctive "Failures:" header
45
+ * 5. Pytest (Priority 92) - Python pytest with .py:: paths
46
+ * 6. Jest (Priority 90) - Must check before Mocha
47
+ * 7. Vitest (Priority 90) - Secondary fallback patterns
48
+ * 8. ESLint (Priority 85) - Distinctive format
49
+ * 9. Jasmine (Priority 85) - Distinctive "Failures:" header
48
50
  * 9. Ava (Priority 82) - Ava v6+ format with ✘ markers
49
51
  * 10. Mocha (Priority 80) - Generic "passing/failing" patterns
50
52
  * 11. TAP (Priority 78) - TAP version 13 protocol
@@ -110,6 +112,15 @@ export const EXTRACTOR_REGISTRY = [
110
112
  detect: playwrightPlugin.detect,
111
113
  extract: playwrightPlugin.extract,
112
114
  },
115
+ // Pytest - Python pytest with distinctive .py:: test paths
116
+ {
117
+ name: pytestPlugin.metadata.name,
118
+ priority: pytestPlugin.priority,
119
+ trust: 'full', // Built-in trusted code
120
+ detect: pytestPlugin.detect,
121
+ extract: pytestPlugin.extract,
122
+ hints: pytestPlugin.hints,
123
+ },
113
124
  // Jest - Must check BEFORE Mocha to avoid false positives
114
125
  {
115
126
  name: jestPlugin.metadata.name,
@@ -1 +1 @@
1
- {"version":3,"file":"extractor-registry.js","sourceRoot":"","sources":["../src/extractor-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractor-registry.js","sourceRoot":"","sources":["../src/extractor-registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/jasmine/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAmQxB;;;;;GAKG;AACH,QAAA,MAAM,aAAa,EAAE,eAiBpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/jasmine/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAmQxB;;;;;GAKG;AACH,QAAA,MAAM,aAAa,EAAE,eAkBpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -239,6 +239,7 @@ const jasminePlugin = {
239
239
  hints: {
240
240
  required: ['spec'],
241
241
  anyOf: ['Failures:'],
242
+ forbidden: ['.py::'],
242
243
  },
243
244
  priority: 90, // Updated to match highest confidence
244
245
  detect,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/jasmine/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/jasmine/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Pytest Error Extractor Plugin
3
+ *
4
+ * @package @vibe-validate/extractors
5
+ */
6
+ import type { ExtractorPlugin } from '../../types.js';
7
+ declare const pytestPlugin: ExtractorPlugin;
8
+ export default pytestPlugin;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/pytest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAgXxB,QAAA,MAAM,YAAY,EAAE,eAiBnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,330 @@
1
+ /**
2
+ * Pytest Error Extractor Plugin
3
+ *
4
+ * @package @vibe-validate/extractors
5
+ */
6
+ import { extractErrorType } from '../../utils/parser-utils.js';
7
+ import { processTestFailures } from '../../utils/test-framework-utils.js';
8
+ const PLATFORM_RE = /platform\s+\S+\s+--\s+Python\s+[\d.]+,\s+pytest-[\d.]+/;
9
+ const PY_TEST_PATHS_RE = /(?:FAILED|ERROR)\s+\S+\.py/;
10
+ const SHORT_SUMMARY_KEYWORD = 'short test summary';
11
+ // eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses pytest summary line (controlled output), not user input
12
+ const PASSED_RE = /\d+\s+passed/;
13
+ // eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses pytest summary line (controlled output), not user input
14
+ const FAILED_SUMMARY_RE = /\d+\s+failed/;
15
+ // eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses pytest summary line (controlled output), not user input
16
+ const ERROR_SUMMARY_RE = /\d+\s+error/;
17
+ function detect(output) {
18
+ if (PLATFORM_RE.test(output)) {
19
+ return {
20
+ confidence: 95,
21
+ patterns: ['pytest platform line'],
22
+ reason: 'Python pytest output detected (platform line with pytest version)',
23
+ };
24
+ }
25
+ const hasShortSummary = output.includes(SHORT_SUMMARY_KEYWORD);
26
+ const hasPyTestPaths = PY_TEST_PATHS_RE.test(output);
27
+ if (hasShortSummary && hasPyTestPaths) {
28
+ return {
29
+ confidence: 90,
30
+ patterns: [SHORT_SUMMARY_KEYWORD, 'FAILED/ERROR .py paths'],
31
+ reason: 'Python pytest output detected (short test summary with .py paths)',
32
+ };
33
+ }
34
+ // Weaker signal: pytest-style summary line with .py paths
35
+ const hasPytestSummary = PASSED_RE.test(output) && (FAILED_SUMMARY_RE.test(output) ||
36
+ ERROR_SUMMARY_RE.test(output) ||
37
+ output.includes('= FAILURES =') ||
38
+ output.includes('= ERRORS ='));
39
+ if (hasPytestSummary && hasPyTestPaths) {
40
+ return {
41
+ confidence: 85,
42
+ patterns: ['pytest summary format', 'FAILED/ERROR .py paths'],
43
+ reason: 'Possible pytest output (summary format with .py paths)',
44
+ };
45
+ }
46
+ return { confidence: 0, patterns: [], reason: '' };
47
+ }
48
+ /** Parse E-prefixed error lines: "E message" */
49
+ const E_LINE_RE = /^E\s{3}(.+)$/;
50
+ /** Parse file:line:ErrorType from FAILURES block location line */
51
+ const LOCATION_RE = /^(\S[^:]*\.py):(\d+):\s*(\w+(?:Error|Exception|Warning)?)/;
52
+ /** Parse file:line from traceback "in <module>" lines */
53
+ const TRACE_RE = /^(\S[^:]*\.py):(\d+):\s*in\s+/;
54
+ /** Check if a line is a pytest section header (=== ... ===) */
55
+ function isSectionHeader(line, excludeSection) {
56
+ return /^={3,}\s/.test(line) && !line.includes(excludeSection);
57
+ }
58
+ /** Check if a line is a pytest block header (___ ... ___) */
59
+ // eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses pytest output (controlled output), not user input
60
+ const BLOCK_HEADER_RE = /^_{3,}\s+(.+?)\s+_{3,}$/;
61
+ /** Check if a line starts a new block or section */
62
+ function isBlockOrSectionBoundary(line, excludeSection) {
63
+ return BLOCK_HEADER_RE.test(line) || isSectionHeader(line, excludeSection);
64
+ }
65
+ /**
66
+ * Scan a FAILURES block for E-prefixed errors and file:line location.
67
+ */
68
+ function scanBlockForErrors(lines, startIndex, excludeSection) {
69
+ const eLines = [];
70
+ let file;
71
+ let lineNumber;
72
+ let errorType;
73
+ let j = startIndex;
74
+ while (j < lines.length) {
75
+ const blockLine = lines[j];
76
+ if (isBlockOrSectionBoundary(blockLine, excludeSection)) {
77
+ break;
78
+ }
79
+ const eMatch = E_LINE_RE.exec(blockLine);
80
+ if (eMatch) {
81
+ eLines.push(eMatch[1]);
82
+ }
83
+ const locationMatch = LOCATION_RE.exec(blockLine);
84
+ if (locationMatch) {
85
+ file = locationMatch[1];
86
+ lineNumber = Number.parseInt(locationMatch[2], 10);
87
+ errorType ??= locationMatch[3] || undefined;
88
+ }
89
+ j++;
90
+ }
91
+ return { eLines, file, lineNumber, errorType, nextIndex: j };
92
+ }
93
+ /**
94
+ * Parse failures from the FAILURES section
95
+ */
96
+ function parseFailuresSection(output) {
97
+ const failures = [];
98
+ const failuresStart = output.indexOf('= FAILURES =');
99
+ if (failuresStart === -1)
100
+ return failures;
101
+ const lines = output.slice(failuresStart).split('\n');
102
+ let i = 1;
103
+ while (i < lines.length) {
104
+ const line = lines[i];
105
+ if (i > 1 && isSectionHeader(line, 'FAILURES')) {
106
+ break;
107
+ }
108
+ const blockMatch = BLOCK_HEADER_RE.exec(line);
109
+ if (blockMatch) {
110
+ const testName = blockMatch[1];
111
+ const scan = scanBlockForErrors(lines, i + 1, 'FAILURES');
112
+ let errorMessage;
113
+ let { errorType } = scan;
114
+ if (scan.eLines.length > 0) {
115
+ errorMessage = scan.eLines.join(' ').trim();
116
+ errorType ??= extractErrorType(errorMessage);
117
+ }
118
+ failures.push({
119
+ testName,
120
+ message: errorMessage ?? 'Test failed',
121
+ errorType,
122
+ file: scan.file,
123
+ line: scan.lineNumber,
124
+ });
125
+ i = scan.nextIndex;
126
+ }
127
+ else {
128
+ i++;
129
+ }
130
+ }
131
+ return failures;
132
+ }
133
+ /**
134
+ * Scan an ERRORS block for traceback file:line and E-prefixed errors.
135
+ * Keeps last traceback location (closest to error source).
136
+ */
137
+ function scanErrorBlockForErrors(lines, startIndex, excludeSection) {
138
+ let errorMessage;
139
+ let errorType;
140
+ let file;
141
+ let lineNumber;
142
+ let j = startIndex;
143
+ while (j < lines.length) {
144
+ const blockLine = lines[j];
145
+ if (isBlockOrSectionBoundary(blockLine, excludeSection)) {
146
+ break;
147
+ }
148
+ const traceMatch = TRACE_RE.exec(blockLine);
149
+ if (traceMatch) {
150
+ file = traceMatch[1];
151
+ lineNumber = Number.parseInt(traceMatch[2], 10);
152
+ }
153
+ const eMatch = E_LINE_RE.exec(blockLine);
154
+ if (eMatch) {
155
+ errorMessage = eMatch[1].trim();
156
+ errorType = extractErrorType(errorMessage);
157
+ }
158
+ j++;
159
+ }
160
+ return { errorMessage, errorType, file, lineNumber, nextIndex: j };
161
+ }
162
+ /**
163
+ * Parse errors from the ERRORS section (collection/import errors)
164
+ */
165
+ function parseErrorsSection(output) {
166
+ const errors = [];
167
+ const errorsStart = output.indexOf('= ERRORS =');
168
+ if (errorsStart === -1)
169
+ return errors;
170
+ const lines = output.slice(errorsStart).split('\n');
171
+ // eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses pytest section headers (controlled output), not user input
172
+ const errorCollectingRe = /^_{3,}\s+ERROR\s+collecting\s+(.+?)\s+_{3,}$/;
173
+ let i = 1;
174
+ while (i < lines.length) {
175
+ const line = lines[i];
176
+ if (i > 1 && isSectionHeader(line, 'ERRORS')) {
177
+ break;
178
+ }
179
+ const blockMatch = errorCollectingRe.exec(line);
180
+ if (blockMatch) {
181
+ const testFile = blockMatch[1];
182
+ const scan = scanErrorBlockForErrors(lines, i + 1, 'ERRORS');
183
+ errors.push({
184
+ testName: `ERROR collecting ${testFile}`,
185
+ message: scan.errorMessage ?? 'Collection error',
186
+ errorType: scan.errorType,
187
+ file: scan.file ?? testFile,
188
+ line: scan.lineNumber,
189
+ });
190
+ i = scan.nextIndex;
191
+ }
192
+ else {
193
+ i++;
194
+ }
195
+ }
196
+ return errors;
197
+ }
198
+ /** Parse FAILED line from short test summary */
199
+ // eslint-disable-next-line sonarjs/slow-regex, security/detect-unsafe-regex -- Safe: only parses pytest summary lines (controlled output), not user input
200
+ const FAILED_RE = /^FAILED\s+(\S+\.py)(?:::(\S+))?\s+-\s+(.+)$/;
201
+ /** Parse ERROR line from short test summary */
202
+ // eslint-disable-next-line sonarjs/slow-regex -- Safe: only parses pytest summary lines (controlled output), not user input
203
+ const ERROR_RE = /^ERROR\s+(\S+\.py)\s+-\s+(.+)$/;
204
+ /**
205
+ * Parse the short test summary info section (fallback)
206
+ */
207
+ function parseShortSummary(output) {
208
+ const failures = [];
209
+ for (const line of output.split('\n')) {
210
+ const failedMatch = FAILED_RE.exec(line);
211
+ if (failedMatch) {
212
+ const errorType = extractErrorType(failedMatch[3]);
213
+ failures.push({
214
+ testName: failedMatch[2] ?? failedMatch[1],
215
+ message: failedMatch[3].trim(),
216
+ errorType,
217
+ file: failedMatch[1],
218
+ });
219
+ continue;
220
+ }
221
+ const errorMatch = ERROR_RE.exec(line);
222
+ if (errorMatch) {
223
+ const errorType = extractErrorType(errorMatch[2]);
224
+ failures.push({
225
+ testName: `ERROR collecting ${errorMatch[1]}`,
226
+ message: errorMatch[2].trim(),
227
+ errorType,
228
+ file: errorMatch[1],
229
+ });
230
+ }
231
+ }
232
+ return failures;
233
+ }
234
+ function extract(output) {
235
+ const failuresFromSection = parseFailuresSection(output);
236
+ const errorsFromSection = parseErrorsSection(output);
237
+ const allFromSections = [...failuresFromSection, ...errorsFromSection];
238
+ if (allFromSections.length > 0) {
239
+ return processTestFailures(allFromSections, 95);
240
+ }
241
+ const summaryFailures = parseShortSummary(output);
242
+ if (summaryFailures.length > 0) {
243
+ return processTestFailures(summaryFailures, 90);
244
+ }
245
+ return processTestFailures([], 95);
246
+ }
247
+ const samples = [
248
+ {
249
+ name: 'collection-errors',
250
+ description: 'Pytest collection errors (import failures)',
251
+ input: `============================= test session starts ==============================
252
+ platform darwin -- Python 3.9.6, pytest-8.4.1, pluggy-1.6.0
253
+ rootdir: /Users/dev/project
254
+ collected 10 items / 2 errors
255
+
256
+ ==================================== ERRORS ====================================
257
+ ________ ERROR collecting tests/test_foo.py ________
258
+ tests/test_foo.py:9: in <module>
259
+ from mymodule import MyClass
260
+ mymodule.py:50: in <module>
261
+ class MyClass:
262
+ mymodule.py:55: in MyClass
263
+ def method(self, arg: str | None = None) -> dict:
264
+ E TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
265
+ ________ ERROR collecting tests/test_bar.py ________
266
+ tests/test_bar.py:3: in <module>
267
+ from missing_module import func
268
+ E ModuleNotFoundError: No module named 'missing_module'
269
+ =========================== short test summary info ============================
270
+ ERROR tests/test_foo.py - TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
271
+ ERROR tests/test_bar.py - ModuleNotFoundError: No module named 'missing_module'
272
+ ========================= 2 errors in 0.50s =========================`,
273
+ expectedErrors: 2,
274
+ expectedPatterns: ['TypeError', 'ModuleNotFoundError'],
275
+ },
276
+ {
277
+ name: 'assertion-failures',
278
+ description: 'Pytest assertion failures in test functions',
279
+ input: `============================= test session starts ==============================
280
+ platform linux -- Python 3.11.0, pytest-7.4.0, pluggy-1.3.0
281
+ rootdir: /home/dev/project
282
+ collected 5 items
283
+
284
+ tests/test_calc.py F. [ 40%]
285
+ tests/test_utils.py .F. [ 100%]
286
+
287
+ ================================== FAILURES ===================================
288
+ ___________________________ TestCalc.test_divide ___________________________
289
+
290
+ def test_divide(self):
291
+ > assert divide(10, 0) == float('inf')
292
+ E ZeroDivisionError: division by zero
293
+
294
+ tests/test_calc.py:15: ZeroDivisionError
295
+ ___________________________ TestUtils.test_parse ___________________________
296
+
297
+ def test_parse(self):
298
+ > assert parse("abc") == 123
299
+ E AssertionError: assert None == 123
300
+ E + where None = parse('abc')
301
+
302
+ tests/test_utils.py:22: AssertionError
303
+ =========================== short test summary info ============================
304
+ FAILED tests/test_calc.py::TestCalc::test_divide - ZeroDivisionError: division by zero
305
+ FAILED tests/test_utils.py::TestUtils::test_parse - AssertionError: assert None == 123
306
+ ========================= 2 failed, 3 passed in 0.45s =========================`,
307
+ expectedErrors: 2,
308
+ expectedPatterns: ['ZeroDivisionError', 'AssertionError'],
309
+ },
310
+ ];
311
+ const pytestPlugin = {
312
+ metadata: {
313
+ name: 'pytest',
314
+ version: '1.0.0',
315
+ author: 'vibe-validate',
316
+ description: 'Extracts Python pytest test framework errors',
317
+ repository: 'https://github.com/jdutton/vibe-validate',
318
+ tags: ['pytest', 'testing', 'python'],
319
+ },
320
+ hints: {
321
+ anyOf: ['pytest', '.py::'],
322
+ forbidden: ['at <Jasmine>', 'at Context.<anonymous>'],
323
+ },
324
+ priority: 92,
325
+ detect,
326
+ extract,
327
+ samples,
328
+ };
329
+ export default pytestPlugin;
330
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/pytest/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Pytest Error Extractor - TDD Tests
3
+ *
4
+ * Built test-first following Red-Green-Refactor cycles.
5
+ *
6
+ * @package @vibe-validate/extractors
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/extractors/pytest/index.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,196 @@
1
+ /**
2
+ * Pytest Error Extractor - TDD Tests
3
+ *
4
+ * Built test-first following Red-Green-Refactor cycles.
5
+ *
6
+ * @package @vibe-validate/extractors
7
+ */
8
+ import { describe, it, expect } from 'vitest';
9
+ import { expectExtractionResult, expectSamplesParseSuccessfully } from '../../test/helpers/extractor-test-helpers.js';
10
+ import pytestPlugin from './index.js';
11
+ describe('pytest extractor plugin', () => {
12
+ describe('detect', () => {
13
+ it('should detect pytest via short summary + .py paths at 90% confidence', () => {
14
+ // No platform line — just short summary with .py paths
15
+ const output = `=========================== short test summary info ============================
16
+ FAILED tests/test_calc.py::TestCalc::test_divide - ZeroDivisionError: division by zero
17
+ ========================= 1 failed, 4 passed in 0.45s =========================`;
18
+ const result = pytestPlugin.detect(output);
19
+ expect(result.confidence).toBe(90);
20
+ expect(result.patterns).toContain('short test summary');
21
+ });
22
+ it('should detect pytest output with platform line at 95% confidence', () => {
23
+ const output = `============================= test session starts ==============================
24
+ platform darwin -- Python 3.9.6, pytest-8.4.1, pluggy-1.6.0
25
+ rootdir: /Users/dev/project
26
+ collected 5 items
27
+
28
+ tests/test_calc.py F. [ 40%]
29
+
30
+ =========================== short test summary info ============================
31
+ FAILED tests/test_calc.py::TestCalc::test_divide - ZeroDivisionError: division by zero
32
+ ========================= 1 failed, 4 passed in 0.45s =========================`;
33
+ const result = pytestPlugin.detect(output);
34
+ expect(result.confidence).toBe(95);
35
+ expect(result.patterns).toContain('pytest platform line');
36
+ expect(result.reason).toContain('pytest');
37
+ });
38
+ it('should detect pytest via summary format + .py paths at 85% confidence', () => {
39
+ // No platform line, no short test summary — just pytest-style counts + .py paths
40
+ const output = `FAILED tests/test_calc.py::test_divide
41
+ ========================= 1 failed, 4 passed in 0.45s =========================`;
42
+ const result = pytestPlugin.detect(output);
43
+ expect(result.confidence).toBe(85);
44
+ expect(result.patterns).toContain('pytest summary format');
45
+ });
46
+ it('should NOT detect non-pytest output', () => {
47
+ const output = `src/index.ts:42:5 - error TS2322: Type 'string' is not assignable to type 'number'.`;
48
+ const result = pytestPlugin.detect(output);
49
+ expect(result.confidence).toBe(0);
50
+ });
51
+ it('should NOT detect Jasmine output (regression guard)', () => {
52
+ const output = `Started
53
+ F
54
+
55
+ Failures:
56
+ 1) Test Suite should work
57
+ Message:
58
+ Expected 4 to equal 5.
59
+ Stack:
60
+ at <Jasmine>
61
+ at UserContext.<anonymous> (test.js:9:17)
62
+
63
+ 1 spec, 1 failure
64
+ Finished in 0.037 seconds`;
65
+ const result = pytestPlugin.detect(output);
66
+ expect(result.confidence).toBe(0);
67
+ });
68
+ });
69
+ describe('extract', () => {
70
+ describe('FAILURES section (assertion errors)', () => {
71
+ it('should extract assertion failures from FAILURES section', () => {
72
+ const output = `============================= test session starts ==============================
73
+ platform linux -- Python 3.11.0, pytest-7.4.0, pluggy-1.3.0
74
+ rootdir: /home/dev/project
75
+ collected 5 items
76
+
77
+ tests/test_calc.py F. [ 40%]
78
+ tests/test_utils.py .F. [ 100%]
79
+
80
+ ================================== FAILURES ===================================
81
+ ___________________________ TestCalc.test_divide ___________________________
82
+
83
+ def test_divide(self):
84
+ > assert divide(10, 0) == float('inf')
85
+ E ZeroDivisionError: division by zero
86
+
87
+ tests/test_calc.py:15: ZeroDivisionError
88
+ ___________________________ TestUtils.test_parse ___________________________
89
+
90
+ def test_parse(self):
91
+ > assert parse("abc") == 123
92
+ E AssertionError: assert None == 123
93
+ E + where None = parse('abc')
94
+
95
+ tests/test_utils.py:22: AssertionError
96
+ =========================== short test summary info ============================
97
+ FAILED tests/test_calc.py::TestCalc::test_divide - ZeroDivisionError: division by zero
98
+ FAILED tests/test_utils.py::TestUtils::test_parse - AssertionError: assert None == 123
99
+ ========================= 2 failed, 3 passed in 0.45s =========================`;
100
+ const result = pytestPlugin.extract(output);
101
+ expectExtractionResult(result, { errorCount: 2 });
102
+ // First failure: ZeroDivisionError with file:line
103
+ expect(result.errors[0].file).toBe('tests/test_calc.py');
104
+ expect(result.errors[0].line).toBe(15);
105
+ expect(result.errors[0].message).toContain('ZeroDivisionError');
106
+ // Second failure: AssertionError with file:line
107
+ expect(result.errors[1].file).toBe('tests/test_utils.py');
108
+ expect(result.errors[1].line).toBe(22);
109
+ expect(result.errors[1].message).toContain('AssertionError');
110
+ });
111
+ });
112
+ describe('ERRORS section (collection errors)', () => {
113
+ it('should extract collection errors from ERRORS section', () => {
114
+ // Real-world scenario: lfa-cc-marketplace powerpoint plugin failure
115
+ const output = `============================= test session starts ==============================
116
+ platform darwin -- Python 3.9.6, pytest-8.4.1, pluggy-1.6.0
117
+ rootdir: /Users/dev/project
118
+ collected 10 items / 2 errors
119
+
120
+ ==================================== ERRORS ====================================
121
+ ________ ERROR collecting tests/test_foo.py ________
122
+ tests/test_foo.py:9: in <module>
123
+ from mymodule import MyClass
124
+ mymodule.py:50: in <module>
125
+ class MyClass:
126
+ mymodule.py:55: in MyClass
127
+ def method(self, arg: str | None = None) -> dict:
128
+ E TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
129
+ ________ ERROR collecting tests/test_bar.py ________
130
+ tests/test_bar.py:3: in <module>
131
+ from missing_module import func
132
+ E ModuleNotFoundError: No module named 'missing_module'
133
+ =========================== short test summary info ============================
134
+ ERROR tests/test_foo.py - TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'
135
+ ERROR tests/test_bar.py - ModuleNotFoundError: No module named 'missing_module'
136
+ ========================= 2 errors in 0.50s =========================`;
137
+ const result = pytestPlugin.extract(output);
138
+ expectExtractionResult(result, { errorCount: 2 });
139
+ // First error: TypeError from traceback
140
+ expect(result.errors[0].file).toBe('mymodule.py');
141
+ expect(result.errors[0].line).toBe(55);
142
+ expect(result.errors[0].message).toContain('TypeError');
143
+ // Second error: ModuleNotFoundError
144
+ expect(result.errors[1].message).toContain('ModuleNotFoundError');
145
+ });
146
+ });
147
+ describe('Short summary fallback', () => {
148
+ it('should extract from short summary when no FAILURES/ERRORS sections', () => {
149
+ const output = `=========================== short test summary info ============================
150
+ FAILED tests/test_calc.py::TestCalc::test_divide - ZeroDivisionError: division by zero
151
+ ERROR tests/test_bar.py - ModuleNotFoundError: No module named 'missing_module'
152
+ ========================= 1 failed, 1 error in 0.50s =========================`;
153
+ const result = pytestPlugin.extract(output);
154
+ expectExtractionResult(result, { errorCount: 2 });
155
+ expect(result.errors[0].file).toBe('tests/test_calc.py');
156
+ expect(result.errors[0].message).toContain('ZeroDivisionError');
157
+ expect(result.errors[1].file).toBe('tests/test_bar.py');
158
+ expect(result.errors[1].message).toContain('ModuleNotFoundError');
159
+ });
160
+ });
161
+ describe('Edge cases', () => {
162
+ it('should return 0 errors for all-passing output', () => {
163
+ const output = `============================= test session starts ==============================
164
+ platform darwin -- Python 3.9.6, pytest-8.4.1, pluggy-1.6.0
165
+ rootdir: /Users/dev/project
166
+ collected 10 items
167
+
168
+ tests/test_calc.py .......... [100%]
169
+
170
+ ============================== 10 passed in 0.50s ==============================`;
171
+ const result = pytestPlugin.extract(output);
172
+ expectExtractionResult(result, { errorCount: 0 });
173
+ });
174
+ });
175
+ });
176
+ describe('metadata', () => {
177
+ it('should have correct plugin metadata', () => {
178
+ expect(pytestPlugin.metadata.name).toBe('pytest');
179
+ expect(pytestPlugin.priority).toBe(92);
180
+ expect(pytestPlugin.hints?.anyOf).toContain('pytest');
181
+ expect(pytestPlugin.hints?.anyOf).toContain('.py::');
182
+ expect(pytestPlugin.hints?.forbidden).toContain('at <Jasmine>');
183
+ expect(pytestPlugin.metadata.tags).toContain('python');
184
+ expect(pytestPlugin.metadata.tags).toContain('testing');
185
+ });
186
+ });
187
+ describe('samples', () => {
188
+ it('should have at least 2 sample test cases', () => {
189
+ expect(pytestPlugin.samples.length).toBeGreaterThanOrEqual(2);
190
+ });
191
+ it('should successfully parse all sample inputs', () => {
192
+ expectSamplesParseSuccessfully(pytestPlugin);
193
+ });
194
+ });
195
+ });
196
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/extractors/pytest/index.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/vitest/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAorBxB;;;;;GAKG;AACH,QAAA,MAAM,YAAY,EAAE,eAiBnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extractors/vitest/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,eAAe,EAIhB,MAAM,gBAAgB,CAAC;AAgrBxB;;;;;GAKG;AACH,QAAA,MAAM,YAAY,EAAE,eAiBnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -12,12 +12,11 @@ import { MAX_ERRORS_IN_ARRAY } from '../../result-schema.js';
12
12
  *
13
13
  * @param line - Current line being parsed
14
14
  * @param currentFile - File path from Format 2 header
15
- * @param hasFormat2 - Whether Format 2 has been detected
16
15
  * @returns Partial failure object or null if no match
17
16
  *
18
17
  * @internal
19
18
  */
20
- function parseFailureLine(line, currentFile, hasFormat2, inDetailSection) {
19
+ function parseFailureLine(line, currentFile, inDetailSection) {
21
20
  // Match Format 1: FAIL/❌/× file.test.ts > test hierarchy
22
21
  // When marker has explicit file path (Format 1), always parse - not a summary line
23
22
  const format1Match = /(?:FAIL|❌|×)\s+([^\s]+\.test\.ts)\s*>\s*(.+)/.exec(line);
@@ -405,7 +404,6 @@ function extract(output) {
405
404
  const failures = [];
406
405
  let currentFailure = null;
407
406
  let currentFile = ''; // Track file from ❯ lines for Format 2
408
- let hasFormat2 = false; // Track if we found Format 2 file headers
409
407
  let inDetailSection = false; // Track if we're past summary section (after "Failed Tests" separator)
410
408
  // First, check for runtime errors (Unhandled Rejection, ENOENT, etc.)
411
409
  const runtimeErrors = extractRuntimeErrors(output);
@@ -434,11 +432,10 @@ function extract(output) {
434
432
  const fileHeaderMatch = /❯\s+([^\s]+\.test\.ts)\s+\(/.exec(line);
435
433
  if (fileHeaderMatch) {
436
434
  currentFile = fileHeaderMatch[1];
437
- hasFormat2 = true;
438
435
  continue;
439
436
  }
440
437
  // Try to parse as failure line (Format 1 or Format 2)
441
- const parsedFailure = parseFailureLine(line, currentFile, hasFormat2, inDetailSection);
438
+ const parsedFailure = parseFailureLine(line, currentFile, inDetailSection);
442
439
  if (parsedFailure) {
443
440
  if (currentFailure?.file) {
444
441
  failures.push(currentFailure);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/vitest/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extractors/vitest/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-validate/extractors",
3
- "version": "0.19.0-rc.9",
3
+ "version": "0.19.0",
4
4
  "description": "LLM-optimized error extractors for validation output",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -47,8 +47,8 @@
47
47
  "dependencies": {
48
48
  "zod": "^3.25.76",
49
49
  "zod-to-json-schema": "^3.25.0",
50
- "@vibe-validate/utils": "0.19.0-rc.9",
51
- "@vibe-validate/config": "0.19.0-rc.9"
50
+ "@vibe-validate/config": "0.19.0",
51
+ "@vibe-validate/utils": "0.19.0"
52
52
  },
53
53
  "engines": {
54
54
  "node": ">=20.0.0"
@@ -58,7 +58,6 @@
58
58
  },
59
59
  "scripts": {
60
60
  "build": "tsc && node dist/scripts/generate-result-schema.js",
61
- "clean": "rm -rf dist",
62
61
  "test": "vitest run",
63
62
  "test:watch": "vitest",
64
63
  "test:report": "tsx test/generate-quality-report.ts",