/** * Centralized model name resolution for multi-provider support. * * Maps user-friendly model shorthand names (from bober.config.json) to * actual provider + model ID pairs. Also handles explicit provider overrides * and the ollama/ prefix convention. */ export interface ResolvedModel { /** Provider name (e.g. "anthropic", "openai", "google", "openai-compat") */ provider: string; /** Provider-native model ID (e.g. "claude-sonnet-4-6", "gpt-4.1") */ modelId: string; /** Optional base URL override (set for ollama/ prefix models) */ endpoint?: string; } /** * Resolve a model string and optional explicit provider into a ResolvedModel. * * Resolution rules (in order): * 1. If `explicitProvider` is set, return it with `model` as-is (no shorthand expansion). * 2. If `model` starts with "ollama/", strip the prefix and resolve to openai-compat * pointing at localhost:11434/v1. * 3. If `model` is a known shorthand, expand to the mapped provider/modelId. * 4. Otherwise, default provider to "anthropic" and pass model through as-is. * * @param model - Model string from config (shorthand or full ID). * @param explicitProvider - Optional provider override from config. * @returns Resolved provider, modelId, and optional endpoint. */ export declare function resolveProviderModel(model: string, explicitProvider?: string): ResolvedModel; /** * Resolve a model shorthand or exact model ID to the Anthropic model string. * * Kept for backward compatibility. Internally delegates to resolveProviderModel. * Returns only the modelId portion (suitable for direct Anthropic SDK calls). * * @deprecated Prefer resolveProviderModel for multi-provider workflows. */ export declare function resolveModel(choice: string): string; //# sourceMappingURL=model-resolver.d.ts.map