/** * Multi-Model Runner * * Orchestrates running certification agents across multiple LLM providers. * * @module multimodel/runner */ import type { AgentType, Finding } from "../certification/types.js"; import type { ModelId, ModelProvider } from "../cost/types.js"; import type { ModelConfig, ModelRunResult, MultiModelConfig, MultiModelSummary, MultiModelConsensus } from "./types.js"; /** * Default model configurations */ export declare const DEFAULT_MODELS: ModelConfig[]; /** * Multi-model runner for certifications */ export declare class MultiModelRunner { private config; private results; constructor(config?: Partial); /** * Get enabled models */ getEnabledModels(): ModelConfig[]; /** * Get model configuration */ getModelConfig(modelId: ModelId): ModelConfig | undefined; /** * Enable/disable a model */ setModelEnabled(modelId: ModelId, enabled: boolean): void; /** * Add a model configuration */ addModel(config: ModelConfig): void; /** * Record a model run result * This is called by certification agents to record their results */ recordResult(certificationId: string, agent: AgentType, model: ModelId, findings: Finding[], metrics: { duration: number; inputTokens: number; outputTokens: number; }): ModelRunResult; /** * Record a failed model run */ recordFailure(certificationId: string, agent: AgentType, model: ModelId, error: string, duration: number): ModelRunResult; /** * Get results for a certification/agent */ getResults(certificationId: string, agent: AgentType): ModelRunResult[]; /** * Check if we have enough results for consensus */ hasEnoughResults(certificationId: string, agent: AgentType, minModels?: number): boolean; /** * Calculate consensus for a certification/agent */ calculateConsensus(certificationId: string, agent: AgentType, options?: { matchThreshold?: number; requireMajority?: boolean; }): MultiModelConsensus | null; /** * Generate summary for a certification/agent */ generateSummary(certificationId: string, agent: AgentType): MultiModelSummary | null; /** * Generate markdown report */ generateReport(certificationId: string, agent: AgentType): string; /** * Clear results for a certification */ clearResults(certificationId: string, agent?: AgentType): void; /** * Get provider from model ID */ private getProviderFromModel; } /** * Get or create global runner */ export declare function getRunner(config?: Partial): MultiModelRunner; /** * Reset global runner */ export declare function resetRunner(): void; /** * Format provider name for display */ export declare function formatProvider(provider: ModelProvider): string; //# sourceMappingURL=runner.d.ts.map