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: AbortSignalResolve 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: model, modelParams, providerParams, generalParams
Type-safe runtime check for a capability. Allows safe casting after confirming the capability is registered.
Capability key
Capability symbol
True if the capability is registered
Initializes the Gemini provider and registers supported capabilities.
Provider connection configuration
Check if the provider has been initialized.
True if initialized, false otherwise
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)
ProtectedregisterRegister a capability implementation. Called by concrete providers to declare support for a capability.
Capability key
Capability symbol
Implementation of the capability
Register a capability implementation. Called by concrete providers to declare support for a capability.
Capability symbol
Implementation of the capability
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).
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