/** * Evaluation Engine — avalia resultados de agentes e workflows. * * Deriva um verdict (PASS / PASS_WITH_WARNINGS / FAIL / BLOCKED / UNKNOWN) * a partir de métricas em [0,1] ponderadas, resultados de testes e regressões. * * Uso: * const engine = new EvaluationEngine(); * const result = engine.evaluate({ metrics: {...}, tests: {...} }); */ import type { EvaluationReport, EvaluationResult, EvaluationThresholds, MetricName, MetricWeightings, Metrics, TestSummary, Verdict } from '../types.js'; export declare const DEFAULT_WEIGHTINGS: MetricWeightings; export declare const DEFAULT_THRESHOLDS: EvaluationThresholds; export interface EvaluateInput { metrics?: Partial>; tests?: TestSummary; regressions?: string[]; recommendations?: string[]; weightings?: Partial; thresholds?: Partial; /** Se true, retorna BLOCKED em vez de FAIL quando há regressões críticas. */ blockOnCriticalRegression?: boolean; } export declare class EvaluationEngine { private readonly defaults; constructor(defaults?: { weightings?: MetricWeightings; thresholds?: EvaluationThresholds; }); /** * Computa o score ponderado das métricas informadas. * Métricas ausentes não penalizam o score (são ignoradas). */ weightedScore(metrics: Partial>, weightings: MetricWeightings): number; /** * Deriva o verdict a partir de score, testes e regressões. */ computeVerdict(score: number, opts: { tests?: TestSummary; regressions?: string[]; thresholds: EvaluationThresholds; metrics: Metrics; }): Verdict; /** * Métricas a partir do resultado de testes. */ testMetrics(tests: TestSummary): { testResults: number; confidence: number; }; /** * Avalia um resultado de agente/workflow. */ evaluate(input: EvaluateInput): EvaluationResult; /** * Confiança derivada de quantas métricas foram medidas de fato. */ computeConfidence(metrics: Partial>, tests?: TestSummary): number; /** * Constrói um relatório completo com metadados do run. */ buildReport(input: EvaluateInput & { taskId: string; task: string; agentId?: string; }): EvaluationReport; } /** Helper: clamp de métrica para [0,1]. */ export declare function clamp01(v: number): number; //# sourceMappingURL=engine.d.ts.map