/** * OpenKernel — Gemini Provider * * Google Generative Language API (Gemini family). * Implements the kernel's ProviderInterface against * https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent * ...:streamGenerateContent * * Distinct from OpenAICompatibleProvider because Gemini's request/response * shapes (contents/parts, safety ratings, candidate counts) differ materially. */ import type { CompletionChunk, CompletionRequest, CompletionResult, ProviderCapabilities, ProviderInfo, ProviderInterface, ProviderModel } from '../types.js'; export interface GeminiProviderOptions { id?: string; name?: string; apiKey: string; /** Base URL without trailing slash. */ baseURL?: string; timeoutMs?: number; knownModels?: Array & { id: string; }>; } export declare class GeminiProvider implements ProviderInterface { info: ProviderInfo; private apiKey; private baseURL; private timeoutMs; private knownModels; constructor(options: GeminiProviderOptions); capabilities(): Promise; complete(request: CompletionRequest): Promise; completeStream(request: CompletionRequest): AsyncIterable; refresh(): Promise; verify(): Promise<{ ok: boolean; latencyMs: number; error?: string; }>; private buildBody; private fetchModels; private toProviderModel; }