/** * Multi-Model Comparison — Compare agent behavior across different LLMs * @module */ import type { SuiteResult, TestResult } from './types'; export interface ModelConfig { name: string; adapter?: string; apiKey?: string; endpoint?: string; } export interface ModelMetrics { model: string; passRate: number; passed: number; failed: number; total: number; avgLatencyMs: number; avgCostUsd: number; safetyScore: number; results: TestResult[]; } export interface ComparisonResult { models: ModelMetrics[]; testNames: string[]; matrix: ComparisonCell[][]; winner: string | null; summary: string; } export interface ComparisonCell { model: string; testName: string; passed: boolean; durationMs: number; costUsd?: number; } export interface ComparisonConfig { models: ModelConfig[]; weightPassRate?: number; weightLatency?: number; weightCost?: number; weightSafety?: number; } /** * Parse model names from a comma-separated string */ export declare function parseModelNames(input: string): string[]; /** * Extract metrics from a suite result for a given model */ export declare function extractMetrics(model: string, suiteResult: SuiteResult, costPerTest?: number): ModelMetrics; /** * Build comparison matrix from multiple model results */ export declare function buildComparisonMatrix(metricsArr: ModelMetrics[]): { testNames: string[]; matrix: ComparisonCell[][]; }; /** * Score a model based on weighted metrics */ export declare function scoreModel(metrics: ModelMetrics, config: ComparisonConfig): number; /** * Compare multiple models and determine the winner */ export declare function compareModels(modelResults: Array<{ model: string; result: SuiteResult; }>, config?: Partial): ComparisonResult; /** * Format comparison as a table string */ export declare function formatComparisonTable(metrics: ModelMetrics[]): string; /** * Generate an HTML comparison report */ export declare function generateComparisonHTML(result: ComparisonResult): string; //# sourceMappingURL=model-compare.d.ts.map