/** * Text-generation provider for knowledge summarization — the CLI/`dim knowledge sync` * "LLM fallback" when no MCP agent is in the loop. Auto-detects the same way the * embedding provider does: OpenAI if OPENAI_API_KEY is set, else a local Ollama, else * none (in which case docs simply wait in the inbox until a provider/agent appears). * * AIDIMAG_LLM = auto (default) | openai | ollama | bedrock | off * AIDIMAG_OPENAI_CHAT_MODEL (default gpt-4o-mini) * AIDIMAG_OLLAMA_CHAT_MODEL (default llama3.1) * AIDIMAG_OLLAMA_URL (default http://localhost:11434) * AIDIMAG_BEDROCK_CHAT_MODEL (default us.anthropic.claude-sonnet-4-5-20250929-v1:0) * AIDIMAG_BEDROCK_REGION (default: AWS SDK resolution — env/profile/config) * * Bedrock is explicit-only (never auto-detected): probing it would make a billable * AWS call, and ambient credentials on a machine are no signal the user wants them * used. Set AIDIMAG_LLM=bedrock to opt in; credentials come from the standard AWS * chain (env vars, ~/.aws profiles, SSO, instance roles). */ export interface TextProvider { readonly name: string; readonly model: string; /** Returns the model's raw text response (expected to be JSON for our prompts). */ generate(system: string, user: string): Promise; } /** Check if running inside an MCP client (e.g., Cursor AI with MCP enabled). */ export declare function isMcpAvailable(): boolean; /** Resolve the text/LLM provider (cached per process). null = none available. */ export declare function getTextProvider(): Promise; /** Reset the cached provider so the next call re-detects (e.g. after Ollama setup). */ export declare function resetTextProviderCache(): void;