/** * Agentic QE v3 - LLM Provider System * ADR-011: Multi-provider LLM support for Quality Engineering * * This module provides a unified interface for working with multiple LLM providers: * - Claude (Anthropic) - Primary provider * - OpenAI (GPT-4) - Secondary provider * - Ollama (Local) - Zero-cost local development * * Features: * - Round-robin and cost-based load balancing * - Circuit breaker for resilience * - LRU caching for repeated queries * - Cost tracking and limits * - Automatic failover * * @example * ```typescript * import { createProviderManager, createQEProviderManager } from '@agentic-qe/v3/shared/llm'; * * // Create a provider manager * const manager = createQEProviderManager(); * await manager.initialize(); * * // Generate text * const response = await manager.generate('Write a test for UserService', { * systemPrompt: 'You are a QE assistant...', * maxTokens: 2048, * }); * * // Generate embedding * const embedding = await manager.embed('test coverage analysis'); * * // Code completion * const completion = await manager.complete('function calculateTotal('); * * // Check health * const health = await manager.healthCheck(); * * // Get cost summary * const costs = manager.getCostSummary('day'); * ``` */ export { type LLMProviderType, type MessageRole, type Message, type TokenUsage, type CostInfo, type LLMResponse, type EmbeddingResponse, type CompletionResponse, type LLMConfig, type ClaudeConfig, type OpenAIConfig, type OllamaConfig, type ProviderManagerConfig, type GenerateOptions, type EmbedOptions, type CompleteOptions, type LLMProvider, type HealthCheckResult, type CircuitBreakerState, type CircuitBreakerConfig, type CircuitBreakerStats, type CostPeriod, type CostSummary, type CostAlert, type CacheEntry, type LLMCacheConfig, type LLMCacheStats, type ProviderSelection, type ProviderMetrics, type LLMErrorCode, type LLMError, createLLMError, isLLMError, } from './interfaces'; export { ClaudeProvider, DEFAULT_CLAUDE_CONFIG, OpenAIProvider, DEFAULT_OPENAI_CONFIG, OllamaProvider, DEFAULT_OLLAMA_CONFIG, } from './providers'; export { CircuitBreaker, CircuitBreakerManager, DEFAULT_CIRCUIT_BREAKER_CONFIG, } from './circuit-breaker'; export { LLMCache, LLMResponseCache, DEFAULT_CACHE_CONFIG, type CacheableResponse, } from './cache'; export { CostTracker, MODEL_PRICING, getGlobalCostTracker, resetGlobalCostTracker, } from './cost-tracker'; export { ProviderManager, createProviderManager, createQEProviderManager, DEFAULT_PROVIDER_MANAGER_CONFIG, } from './provider-manager'; //# sourceMappingURL=index.d.ts.map