Skip to content

GeminiBackendAdapter

Defined in: backend/src/providers/gemini.ts:75

Backend adapter interface.

Backend adapters handle actual API calls to AI providers. They transform universal IR into provider-specific API requests and normalize responses back to IR.

new GeminiBackendAdapter(config): GeminiBackendAdapter

Defined in: backend/src/providers/gemini.ts:81

BackendAdapterConfig

GeminiBackendAdapter

readonly metadata: AdapterMetadata

Defined in: backend/src/providers/gemini.ts:76

Adapter metadata for identification and capabilities.

BackendAdapter.metadata

estimateCost(_request): Promise<number | null>

Defined in: backend/src/providers/gemini.ts:291

Optional: Estimate cost for a request.

IRChatRequest

IR request to estimate cost for

Promise<number | null>

Estimated cost in USD (or null if unavailable)

BackendAdapter.estimateCost


execute(request, signal?): Promise<IRChatResponse>

Defined in: backend/src/providers/gemini.ts:112

Execute non-streaming chat completion request.

IRChatRequest

Universal IR request

AbortSignal

Optional AbortSignal for cancellation

Promise<IRChatResponse>

Universal IR response

If API key is invalid

If request is invalid for this provider

If provider API returns error

If network request fails

If response parsing fails

BackendAdapter.execute


executeStream(request, signal?): IRChatStream

Defined in: backend/src/providers/gemini.ts:150

Execute streaming chat completion request.

IRChatRequest

Universal IR request

AbortSignal

Optional AbortSignal for cancellation

IRChatStream

Universal IR stream of chunks

If API key is invalid

If request is invalid for this provider

If provider API returns error

If network request fails

If stream parsing or processing fails

BackendAdapter.executeStream


fromIR(request): GeminiRequest

Defined in: backend/src/providers/gemini.ts:409

Convert IR request to Gemini format.

Public method for testing and debugging - see what will be sent to Gemini.

IRChatRequest

GeminiRequest

BackendAdapter.fromIR


healthCheck(): Promise<boolean>

Defined in: backend/src/providers/gemini.ts:279

Optional: Health check to verify backend is available.

Promise<boolean>

true if backend is healthy and available

BackendAdapter.healthCheck


invalidateModelCache(): GeminiBackendAdapter

Defined in: backend/src/providers/gemini.ts:399

Invalidate the cached model list.

GeminiBackendAdapter


listModels(options?): Promise<ListModelsResult>

Defined in: backend/src/providers/gemini.ts:301

List available Gemini models.

Fetches from Gemini’s models API with fallback to static list. Results are cached for 1 hour by default.

ListModelsOptions

Promise<ListModelsResult>

BackendAdapter.listModels


toIR(response, originalRequest, latencyMs): IRChatResponse

Defined in: backend/src/providers/gemini.ts:450

Convert Gemini response to IR format.

Public method for testing and debugging - parse Gemini responses manually.

GeminiResponse

IRChatRequest

number

IRChatResponse

BackendAdapter.toIR