agentic-qe 3.8.8 → 3.8.9

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.
@@ -17,6 +17,10 @@ export interface CoverageAnalyzeParams {
17
17
  includeRiskScoring?: boolean;
18
18
  mlPowered?: boolean;
19
19
  dryRun?: boolean;
20
+ /** Source language hint (java, csharp, go, rust, kotlin, swift, dart) */
21
+ language?: string;
22
+ /** Coverage format hint (lcov, json, jacoco, dotcover, tarpaulin, gocover, kover, xcresult) */
23
+ coverageFormat?: string;
20
24
  [key: string]: unknown;
21
25
  }
22
26
  export interface CoverageThresholds {
@@ -31,6 +35,10 @@ export interface CoverageAnalyzeResult {
31
35
  thresholdsPassed: boolean;
32
36
  riskScore?: number;
33
37
  trends?: CoverageTrend;
38
+ /** Detected or specified source language */
39
+ language?: string;
40
+ /** Coverage format used for parsing */
41
+ format?: string;
34
42
  }
35
43
  export interface CoverageSummary {
36
44
  lines: CoverageMetric;
@@ -65,6 +73,10 @@ export interface CoverageGapsParams {
65
73
  limit?: number;
66
74
  prioritization?: 'complexity' | 'criticality' | 'change-frequency' | 'ml-confidence';
67
75
  includeGhost?: boolean;
76
+ /** Source language filter */
77
+ language?: string;
78
+ /** Coverage format hint */
79
+ coverageFormat?: string;
68
80
  [key: string]: unknown;
69
81
  }
70
82
  export interface CoverageGapsResult {
@@ -89,7 +89,7 @@ export class CoverageAnalyzeTool extends MCPToolBase {
89
89
  return this.analyzerService;
90
90
  }
91
91
  async execute(params, context) {
92
- const { target = '.', coverageFile, thresholds = { lines: 80, branches: 70, functions: 80, statements: 80 }, includeRisk = false, includeRiskScoring = false, dryRun = false, } = params;
92
+ const { target = '.', coverageFile, thresholds = { lines: 80, branches: 70, functions: 80, statements: 80 }, includeRisk = false, includeRiskScoring = false, dryRun = false, coverageFormat, language, } = params;
93
93
  const shouldIncludeRisk = includeRisk || includeRiskScoring;
94
94
  try {
95
95
  this.emitStream(context, {
@@ -108,7 +108,7 @@ export class CoverageAnalyzeTool extends MCPToolBase {
108
108
  let parsedReport = null;
109
109
  if (coverageFile) {
110
110
  try {
111
- parsedReport = await parseCoverage(coverageFile, target);
111
+ parsedReport = await parseCoverage(coverageFile, target, coverageFormat, language);
112
112
  }
113
113
  catch (parseError) {
114
114
  // Return error - don't silently fall back to fake data
@@ -207,6 +207,9 @@ export class CoverageAnalyzeTool extends MCPToolBase {
207
207
  message: `Coverage analysis complete: ${summary.lines.percentage}% lines covered`,
208
208
  progress: 100,
209
209
  });
210
+ // Resolve language: explicit param > detected from report > undefined
211
+ const detectedLanguage = params.language || parsedReport.language;
212
+ const detectedFormat = parsedReport.format;
210
213
  return {
211
214
  success: true,
212
215
  data: {
@@ -215,6 +218,8 @@ export class CoverageAnalyzeTool extends MCPToolBase {
215
218
  thresholdsPassed,
216
219
  riskScore,
217
220
  trends,
221
+ language: detectedLanguage,
222
+ format: detectedFormat,
218
223
  },
219
224
  };
220
225
  }
@@ -297,7 +302,7 @@ export class CoverageGapsTool extends MCPToolBase {
297
302
  return this.gapService;
298
303
  }
299
304
  async execute(params, context) {
300
- const { target = '.', coverageFile, minRisk = 0.3, limit = 20, prioritization = 'complexity', } = params;
305
+ const { target = '.', coverageFile, minRisk = 0.3, limit = 20, prioritization = 'complexity', coverageFormat, language, } = params;
301
306
  try {
302
307
  this.emitStream(context, {
303
308
  status: 'detecting',
@@ -310,7 +315,7 @@ export class CoverageGapsTool extends MCPToolBase {
310
315
  let parsedReport = null;
311
316
  if (coverageFile) {
312
317
  try {
313
- parsedReport = await parseCoverage(coverageFile, target);
318
+ parsedReport = await parseCoverage(coverageFile, target, coverageFormat, language);
314
319
  }
315
320
  catch (parseError) {
316
321
  return {
@@ -527,6 +532,15 @@ const COVERAGE_ANALYZE_SCHEMA = {
527
532
  description: 'Use ML-powered analysis (vector similarity)',
528
533
  default: false,
529
534
  },
535
+ language: {
536
+ type: 'string',
537
+ description: 'Source language hint (java, csharp, go, rust, kotlin, swift, dart, typescript, python)',
538
+ },
539
+ coverageFormat: {
540
+ type: 'string',
541
+ description: 'Coverage format hint',
542
+ enum: ['lcov', 'json', 'jacoco', 'dotcover', 'tarpaulin', 'gocover', 'kover', 'xcresult'],
543
+ },
530
544
  },
531
545
  };
532
546
  const COVERAGE_GAPS_SCHEMA = {
@@ -566,6 +580,15 @@ const COVERAGE_GAPS_SCHEMA = {
566
580
  description: 'Include ADR-059 ghost intent coverage analysis (detect untested behavioral intents)',
567
581
  default: false,
568
582
  },
583
+ language: {
584
+ type: 'string',
585
+ description: 'Source language filter (java, csharp, go, rust, kotlin, swift, dart)',
586
+ },
587
+ coverageFormat: {
588
+ type: 'string',
589
+ description: 'Coverage format hint',
590
+ enum: ['lcov', 'json', 'jacoco', 'dotcover', 'tarpaulin', 'gocover', 'kover', 'xcresult'],
591
+ },
569
592
  },
570
593
  };
571
594
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "3.8.8",
3
+ "version": "3.8.9",
4
4
  "description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",