import { EventEmitter } from 'events'; import { LoadTestScenario, LoadTestResult } from './advanced-load-tester'; import { MCPManager } from '../services/mcp-client'; import { OrchestratorAgent } from '../services/orchestrator-agent'; export interface BenchmarkSuite { name: string; description: string; version: string; benchmarks: Benchmark[]; environment: BenchmarkEnvironment; baseline?: BenchmarkBaseline; } export interface Benchmark { name: string; description: string; category: 'ai_api' | 'mcp_tools' | 'orchestration' | 'cli_commands' | 'system'; priority: 'critical' | 'high' | 'medium' | 'low'; scenario: LoadTestScenario; expectations: BenchmarkExpectations; tags: string[]; } export interface BenchmarkExpectations { maxResponseTime: number; minThroughput: number; maxErrorRate: number; maxMemoryUsage: number; maxCpuUsage: number; complianceScore: number; } export interface BenchmarkEnvironment { nodeVersion: string; platform: string; architecture: string; cpuCores: number; totalMemory: number; timestamp: Date; gitCommit?: string; gitBranch?: string; } export interface BenchmarkBaseline { version: string; timestamp: Date; environment: BenchmarkEnvironment; results: BenchmarkResult[]; overallScore: number; } export interface BenchmarkResult { benchmarkName: string; category: string; priority: string; loadTestResult: LoadTestResult; expectations: BenchmarkExpectations; complianceStatus: 'passed' | 'failed' | 'warning'; performanceScore: number; regressionCheck: RegressionCheck; recommendations: string[]; tags: string[]; } export interface RegressionCheck { hasRegression: boolean; severity: 'none' | 'minor' | 'major' | 'critical'; details: RegressionDetail[]; overallImpact: number; } export interface RegressionDetail { metric: string; baselineValue: number; currentValue: number; change: number; isRegression: boolean; severity: 'none' | 'minor' | 'major' | 'critical'; } export interface BenchmarkReport { suiteInfo: BenchmarkSuite; executionTime: number; results: BenchmarkResult[]; summary: BenchmarkSummary; regressions: RegressionCheck[]; recommendations: string[]; complianceReport: ComplianceReport; } export interface BenchmarkSummary { totalBenchmarks: number; passedBenchmarks: number; failedBenchmarks: number; warningBenchmarks: number; averageScore: number; overallStatus: 'passed' | 'failed' | 'warning'; criticalIssues: string[]; performanceTrend: 'improving' | 'stable' | 'degrading'; } export interface ComplianceReport { overallCompliance: number; categoryCompliance: Record; criticalViolations: string[]; improvements: string[]; trends: ComplianceTrend[]; } export interface ComplianceTrend { metric: string; trend: 'improving' | 'stable' | 'degrading'; changePercent: number; recommendation: string; } export declare class PerformanceBenchmarkSuite extends EventEmitter { private _mcpManager?; private _orchestrator?; private outputDirectory; private loadTester; private currentBaseline; private _benchmarkHistory; constructor(_mcpManager?: MCPManager | undefined, _orchestrator?: OrchestratorAgent | undefined, outputDirectory?: string); runBenchmarkSuite(suite: BenchmarkSuite): Promise; private runSingleBenchmark; private checkCompliance; private calculatePerformanceScore; private performRegressionCheck; private getChangeSeverity; private generateBenchmarkRecommendations; private generateBenchmarkReport; private calculatePerformanceTrend; private generateComplianceReport; private getCategoryRecommendation; private createFailedBenchmarkResult; private loadBaseline; private saveBenchmarkResults; private updateBaselineIfNeeded; static getStandardBenchmarkSuites(_mcpManager?: MCPManager, _orchestrator?: OrchestratorAgent): BenchmarkSuite[]; exportSuiteConfig(suite: BenchmarkSuite): string; importSuiteConfig(configPath: string): Promise; } //# sourceMappingURL=performance-benchmark-suite.d.ts.map