Skip to content

GeminiFrontendAdapter

Defined in: adapters/gemini.ts:171

Frontend adapter interface.

Frontend adapters represent how developers want to interact with AI APIs. They normalize provider-specific request formats into universal IR and denormalize IR responses back to provider-specific formats.

new GeminiFrontendAdapter(): GeminiFrontendAdapter

GeminiFrontendAdapter

readonly metadata: AdapterMetadata

Defined in: adapters/gemini.ts:172

Adapter metadata for identification and capabilities.

FrontendAdapter.metadata

fromIR(response): Promise<GeminiResponse>

Defined in: adapters/gemini.ts:257

Convert Universal IR response back to Google Gemini API format.

This method transforms the standardized IR response into the format expected by Gemini’s API. It converts ‘assistant’ role back to ‘model’, structures content as parts array, and maps finish reasons to Gemini’s specific format (STOP, MAX_TOKENS, OTHER).

IRChatResponse

Universal IR chat response

Promise<GeminiResponse>

Promise resolving to Gemini API response

const adapter = new GeminiFrontendAdapter();
const geminiResponse = await adapter.fromIR(irResponse);
console.log(geminiResponse.candidates[0].content.parts[0].text);

FrontendAdapter.fromIR


fromIRStream(stream, _options?): AsyncGenerator<string>

Defined in: adapters/gemini.ts:306

Convert Universal IR stream to Google Gemini Server-Sent Events format.

This async generator method transforms a stream of IR chunks into Gemini-formatted SSE responses. It yields Server-Sent Event strings with the “data: “ prefix containing JSON candidates with parts array.

AsyncGenerator<IRStreamChunk>

Universal IR chat stream

StreamConversionOptions

Optional stream conversion options (currently unused)

AsyncGenerator<string>

Server-Sent Event formatted strings

const adapter = new GeminiFrontendAdapter();
for await (const sseData of adapter.fromIRStream(irStream)) {
console.log(sseData); // "data: {...}\n\n"
}

FrontendAdapter.fromIRStream


toIR(request): Promise<IRChatRequest>

Defined in: adapters/gemini.ts:205

Convert Google Gemini API request to Universal IR format.

This method transforms a Gemini-formatted request into the standardized Intermediate Representation (IR) format. It handles Gemini’s unique content structure (parts array), converts ‘model’ role to ‘assistant’, and adjusts temperature values (Gemini uses 0-1, IR uses 0-2).

GeminiRequest

Google Gemini API request

Promise<IRChatRequest>

Promise resolving to IR chat request

const adapter = new GeminiFrontendAdapter();
const irRequest = await adapter.toIR({
contents: [{ role: 'user', parts: [{ text: 'Hello!' }] }],
generationConfig: { temperature: 0.7 }
});

FrontendAdapter.toIR