UNPKG

route-claudecode

Version:

Advanced routing and transformation system for Claude Code outputs to multiple AI providers

64 lines 1.86 kB
/** * Gemini API Client - Pure API Client * Google Gemini API integration via Generative Language API * Project owner: Jason Zhang * * Architecture: Pure API client following transformer architecture * - Zero hardcoding, zero fallback principles * - Provider only handles API calls, no format conversion * - All transformations handled by transformer layer */ import { BaseRequest, BaseResponse, ProviderConfig } from '../../types'; export declare class GeminiClient { private config; readonly name: string; readonly type = "gemini"; private apiKey; private baseUrl; private enhancedRateLimitManager?; private apiKeys; private readonly maxRetries; private readonly retryDelay; private readonly requestTimeout; private genAIClients; constructor(config: ProviderConfig, providerId?: string); healthCheck(): Promise<boolean>; createCompletion(request: BaseRequest): Promise<BaseResponse>; streamCompletion(request: BaseRequest): AsyncIterable<any>; /** * Execute request with retry logic and API key rotation */ private executeWithRetry; /** * Check if error is retryable */ private isRetryableError; /** * Wait for retry delay */ private waitForRetry; /** * 验证请求是否为有效的Gemini格式 */ private isValidGeminiRequest; private isTransformableRequest; /** * 构建Gemini API请求格式 */ private buildGeminiApiRequest; private transformRequestToGemini; /** * 构建原Gemini响应格式 */ private buildGeminiResponse; private transformGeminiResponseToAnthropic; /** * 生成唯一消息ID */ private generateMessageId; /** * Get API key rotation statistics */ getRotationStats(): any; } //# sourceMappingURL=client.d.ts.map