/** * Agentic QE v3 - Coverage Analysis MCP Tools * * qe/coverage/analyze - Analyze code coverage using REAL parsers * qe/coverage/gaps - Find coverage gaps using O(log n) HNSW search * * This module wraps the REAL coverage-analysis domain services. * Uses actual LCOV/JSON parsing and vector-based gap detection. */ import { MCPToolBase, MCPToolConfig, MCPToolContext } from '../base'; import { ToolResult } from '../../types'; export interface CoverageAnalyzeParams { target?: string; coverageFile?: string; thresholds?: CoverageThresholds; includeRisk?: boolean; includeRiskScoring?: boolean; mlPowered?: boolean; dryRun?: boolean; [key: string]: unknown; } export interface CoverageThresholds { lines?: number; branches?: number; functions?: number; statements?: number; } export interface CoverageAnalyzeResult { summary: CoverageSummary; byFile: FileCoverage[]; thresholdsPassed: boolean; riskScore?: number; trends?: CoverageTrend; } export interface CoverageSummary { lines: CoverageMetric; branches: CoverageMetric; functions: CoverageMetric; statements: CoverageMetric; } export interface CoverageMetric { covered: number; total: number; percentage: number; } export interface FileCoverage { file: string; lines: number; branches: number; functions: number; uncoveredLines: number[]; } export interface CoverageTrend { direction: 'improving' | 'declining' | 'stable'; delta: number; history: { date: string; coverage: number; }[]; } export interface CoverageGapsParams { target?: string; coverageFile?: string; minRisk?: number; limit?: number; prioritization?: 'complexity' | 'criticality' | 'change-frequency' | 'ml-confidence'; [key: string]: unknown; } export interface CoverageGapsResult { gaps: CoverageGap[]; totalGaps: number; criticalGaps: number; suggestedTests: TestSuggestion[]; } export interface CoverageGap { file: string; lines: number[]; type: 'uncovered-line' | 'uncovered-branch' | 'uncovered-function'; severity: 'critical' | 'high' | 'medium' | 'low'; riskScore: number; reason: string; } export interface TestSuggestion { file: string; description: string; estimatedCoverageGain: number; priority: number; } export declare class CoverageAnalyzeTool extends MCPToolBase { readonly config: MCPToolConfig; private analyzerService; private getService; execute(params: CoverageAnalyzeParams, context: MCPToolContext): Promise>; /** * Returns demo coverage data when no real data is available. * Only used when demoMode is explicitly requested or as fallback with warning. */ private getDemoResult; } export declare class CoverageGapsTool extends MCPToolBase { readonly config: MCPToolConfig; private gapService; private getService; execute(params: CoverageGapsParams, context: MCPToolContext): Promise>; /** * Returns demo gap data when no real coverage data is available. * Only used when demoMode is explicitly requested or as fallback with warning. */ private getDemoGapsResult; } //# sourceMappingURL=index.d.ts.map