ProtectedcapabilitiesSupport provider capabilities
ProtectedconfigCurrent connection config
Protected OptionalexecutorsReadonlyproviderType of this provider (OpenAI, Anthropic, Gemini, etc.)
Execute an image analysis request
Unified AI request containing Image analysis input and options
Execution context
Optionalsignal: AbortSignalAbortSignal for request cancellation
AIResponse containing normalized image analysis results
Execute a streaming image analysis request.
Unified AI request containing image analysis input and options
Execution context
Optionalsignal: AbortSignalAbortSignal for request cancellation
Async iterable emitting streamed response chunks
Execute a non-streaming video analysis request.
Optionalsignal: AbortSignalExecute a non-streaming chat request.
Unified AI request containing chat input and options
Execution context
Optionalsignal: AbortSignalAbortSignal for request cancellation
AIResponse containing generated text
Execute a streaming chat request.
Unified AI request containing chat input and options
Execution context
Optionalsignal: AbortSignalAbortSignal for request cancellation
Async iterable emitting streamed response chunks
Execute a non-streaming video download request.
Optionalsignal: AbortSignalExecute an embedding request.
Unified AI request containing embedding input
Execution context
Optionalsignal: AbortSignalAbortSignal for request cancellation
AIResponse containing embedding vector(s)
Execute a non-streaming video extension request.
Optionalsignal: AbortSignalExecute an image generation request.
Unified AI request containing image generation input
Execution context
Optionalsignal: AbortSignalAbortSignal for request cancellation
AIResponse containing normalized generated images
Execute a streaming image generation request.
Unified AI request containing image generation input
Execution context
Optionalsignal: AbortSignalAbortSignal for request cancellation
Async iterable emitting image generation chunks
Execute a non-streaming video generation request.
Optionalsignal: AbortSignalReturns the currently registered capability implementations for this provider.
Registered capability map.
Returns the implementation registered for a capability key.
Capability key type being resolved.
Capability key to resolve.
Registered capability implementation.
Resolve and merge configuration for a capability.
Merge precedence (low → high):
Model resolution fallback: runtimeOptions.model → config.defaultModels[capability] → config.defaultModel
Name of the capability.
Request-level override options.
Merged configuration with keys such as model, modelParams, providerParams, and generalParams.
Type-safe runtime check for a capability. Allows safe casting after confirming the capability is registered.
Capability key.
Capability symbol.
true when the capability is registered.
Initializes the Gemini provider and registers supported capabilities.
Provider connection configuration
Check if the provider has been initialized.
true when the provider has been initialized.
ProtectedmergeDeep-merge multiple objects. Arrays override completely, objects are recursively merged, primitives override. Used for merging provider defaults, model configurations, and runtime options.
Objects to merge.
Deep-merged object.
Execute a moderation request.
Unified AI request containing moderation input
Execution context
Optionalsignal: AbortSignalAbortSignal for request cancellation
AIResponse containing moderation result(s)
Execute a non-streaming OCR request.
Optionalsignal: AbortSignalProtectedregisterRegister a capability implementation. Called by concrete providers to declare support for a capability.
Built-in capability key.
Capability symbol.
Implementation of the capability.
Registers a custom capability implementation.
Custom capability key.
Capability implementation.
Attaches client-registered executors used for dispatching custom capabilities.
Executor map.
Execute a non-streaming text-to-speech request.
Unified AI request containing input text and TTS options.
Execution context.
Optionalsignal: AbortSignalAbortSignal for request cancellation.
AIResponse containing normalized synthesized audio artifact(s).
Execute a streaming text-to-speech request.
Unified AI request containing input text and TTS options.
Execution context.
Optionalsignal: AbortSignalAbortSignal for request cancellation.
Async iterable emitting incremental synthesized audio chunks.
Execute a non-streaming audio transcription request.
Unified AI request containing audio input and transcription options.
Execution context.
Optionalsignal: AbortSignalAbortSignal for request cancellation.
AIResponse containing normalized transcription artifact(s).
Execute a streaming audio transcription request.
Unified AI request containing audio input and transcription options.
Execution context.
Optionalsignal: AbortSignalAbortSignal for request cancellation.
Async iterable emitting incremental transcription chunks.
Execute a non-streaming audio translation request.
Unified AI request containing source audio and translation options.
Execution context.
Optionalsignal: AbortSignalAbortSignal for request cancellation.
AIResponse containing normalized translated transcript artifact(s).
Protected StaticsanitizeStrips keys from providerParams that must never be forwarded to an SDK
constructor because they can redirect API traffic or override credentials.
Blocked keys across all supported SDKs:
baseURL / baseUrl — redirects all provider traffic to an arbitrary host,
causing the API key to be sent to an attacker-controlled server.apiKey / authToken — would silently override the key already set from config.httpAgent — custom HTTP agent can route traffic through an arbitrary proxy.fetch / globalFetch — custom fetch implementations can intercept all requests.httpOptions — Gemini SDK wrapper for baseUrl and custom fetch.Raw providerParams from caller config.
Params with dangerous constructor keys removed.
GeminiProvider: Concrete BaseProvider implementation for Google Gemini models.
Responsibilities:
Implements chat, embedding, image, and moderation capabilities for Gemini.
Template: TChatInput
Input type for chat requests
Template: TEmbedInput
Input type for embedding requests
Template: TImageInput
Input type for image generation requests
Template: TModerationInput
Input type for moderation requests