/** * Provider Fallback Service - Manages three-tier provider resolution * * Tier 1: MCP Sampling (when Cursor supports it) * Tier 2: Guided Completion Mode (uses Cursor subscription, no API keys) * Tier 3: API Key Fallback (Anthropic, OpenAI, Google) */ import type { LLMProvider } from '../types/llm.types.js'; import type { MCPSamplingService } from '../types/mcp.types.js'; import { GUIDED_MODE, type GuidedMode, type ProviderResolutionPath, ResolutionPath } from '../types/provider.types.js'; import type { CLIProviderResolver } from './provider-resolver.js'; /** * Re-export for backward compatibility */ export { GUIDED_MODE, ResolutionPath }; export type { GuidedMode, ProviderResolutionPath }; export interface ProviderFallbackContext { inMCPContext: boolean; mode?: string; model?: string; providerConfig: Record; providerName: string; } export interface ProviderResolution { fallbackReason?: string; provider: LLMProvider; providerName: string; resolutionPath: ProviderResolutionPath; } export declare class ProviderFallbackService { private providerResolver; private providerRegistry; constructor(providerResolver: CLIProviderResolver, providerRegistry?: import("../llm/registry.js").LLMProviderRegistry); /** * Resolve provider with automatic three-tier fallback * * @param context - Provider resolution context * @param mcpSampling - Optional MCP sampling service * @returns Provider resolution result with metadata */ resolveWithFallback(context: ProviderFallbackContext, mcpSampling?: MCPSamplingService): Promise; /** * Check if we should use guided completion mode * Returns true if in MCP context but no API keys configured */ shouldUseGuidedCompletion(): Promise; /** * Get human-readable description of resolution path */ getResolutionPathDescription(path: ProviderResolutionPath): string; } //# sourceMappingURL=provider-fallback-service.d.ts.map