/** * Provider resolution — the composition root for concrete LLM implementations. * * This module is the ONLY place that knows about concrete LLM providers. * Embedder and RAG factories live in @mcp-abap-adt/llm-agent-rag. * * LLM provider packages are optional peers loaded via dynamic import(). * MissingProviderError is thrown when a required peer is not installed. */ import type { ILlm, IModelResolver } from '@mcp-abap-adt/llm-agent'; import type { SapAICoreCredentials } from '@mcp-abap-adt/sap-aicore-llm'; export interface MakeLlmConfig { provider: 'deepseek' | 'openai' | 'anthropic' | 'sap-ai-sdk' | 'ollama'; apiKey?: string; /** Custom base URL for OpenAI-compatible endpoints (Azure OpenAI, Ollama, vLLM, etc.). */ baseURL?: string; model?: string; temperature?: number; maxTokens?: number; resourceGroup?: string; credentials?: SapAICoreCredentials; /** When false, streamChat() is replaced with chat() yielding a single chunk. Default: true. */ streaming?: boolean; } /** * Create an ILlm from a declarative provider config. * This is the only function that knows about concrete LLM implementations. * Provider packages are loaded via dynamic import (optional peers). */ export declare function makeLlm(cfg: MakeLlmConfig, temperature: number): Promise; /** * Create a default DeepSeek-based ILlm from simple config (apiKey + model). * Used by the flat YAML / CLI path. */ export declare function makeDefaultLlm(apiKey: string, model: string, temperature: number): Promise; /** * Default IModelResolver — delegates to makeLlm() with the given provider settings. * Returns fully constructed ILlm instances ready for use with SmartAgent.reconfigure(). */ export declare class DefaultModelResolver implements IModelResolver { private readonly providerConfig; private readonly defaults; constructor(providerConfig: Omit, defaults?: { temperature?: number; }); resolve(modelName: string, role: 'main' | 'classifier' | 'helper'): Promise; } //# sourceMappingURL=providers.d.ts.map