/** * Agentic QE v3 - Ollama Provider * ADR-011: LLM Provider System for Quality Engineering * * Local LLM provider using Ollama for fast iteration and zero-cost development. * Supports Llama, Mistral, CodeLlama, and other local models. */ import { LLMProvider, LLMProviderType, OllamaConfig, Message, GenerateOptions, EmbedOptions, CompleteOptions, LLMResponse, EmbeddingResponse, CompletionResponse, HealthCheckResult } from '../interfaces'; /** * Default Ollama configuration */ export declare const DEFAULT_OLLAMA_CONFIG: OllamaConfig; /** * Ollama LLM provider implementation */ export declare class OllamaProvider implements LLMProvider { readonly type: LLMProviderType; readonly name: string; private config; private requestId; private availableModels; constructor(config?: Partial); /** * Check if Ollama is available and running */ isAvailable(): Promise; /** * Health check with latency measurement */ healthCheck(): Promise; /** * Generate text from a prompt or messages */ generate(input: string | Message[], options?: GenerateOptions): Promise; /** * Generate embedding for text */ embed(text: string, options?: EmbedOptions): Promise; /** * Complete a partial text (code completion style) */ complete(prompt: string, options?: CompleteOptions): Promise; /** * Get current provider configuration */ getConfig(): OllamaConfig; /** * Get supported models (returns cached list from last health check) */ getSupportedModels(): string[]; /** * Get cost per token for current model (always 0 for local) */ getCostPerToken(): { input: number; output: number; }; /** * Dispose provider resources */ dispose(): Promise; /** * Pull a model from Ollama registry */ pullModel(modelName: string): Promise; /** * Get base URL */ private getBaseUrl; /** * Format input to messages array for chat API */ private formatMessages; /** * Select the best available code model */ private selectCodeModel; /** * Estimate token count (rough approximation) */ private estimateTokens; /** * Handle API errors */ private handleApiError; /** * Fetch with timeout */ private fetchWithTimeout; } //# sourceMappingURL=ollama.d.ts.map