Polyweave

@polyweave/google (1.0.8)

Published 2026-07-10 23:46:48 +00:00 by Dvorak

Installation

@polyweave:registry=https://hub.kl1.tenere.ai/api/packages/Polyweave/npm/
npm install @polyweave/google@1.0.8
"@polyweave/google": "1.0.8"

About this package

Google (Gemini)

Google Gemini adapter for Polyweave. Multimodal chat, embeddings, and vision.

Published as @polyweave/google.

Synopsis

import { createGoogleAdapter } from '@polyweave/google';
import { createTextFrame, createFrameSink } from '@polyweave/core';

var adapter = createGoogleAdapter({ apiKey: process.env.GEMINI_API_KEY, model: 'gemini-2.5-flash' });

adapter.source.pipe(createFrameSink(function(frame) {
  if (frame.type === 'TEXT') console.log(frame.content.text);
}));

adapter.sink.write(createTextFrame('Write a haiku about clouds'));

Install

npm install @polyweave/google

Description

Google Gemini adapter using the native Gemini Generative Language API. Supports chat with streaming SSE, vision via image input, embeddings via embedContent, and function calling. Not OpenAI-compatible — uses Google's contents/parts model format internally.

Models: gemini-2.5-flash, gemini-2.5-pro, gemini-2.0-flash, gemini-1.5-flash, gemini-1.5-pro, text-embedding-004.

API

createGoogleAdapter(config)

Parameter Type Default Description
config.apiKey string process.env.GEMINI_API_KEY API key
config.baseURL string https://generativelanguage.googleapis.com/v1beta Base URL
config.model string gemini-2.5-flash Default model
config.budget number 0 Budget cap
config.name string null Node name for PARAM targeting
config.timeout number 120000 Request timeout in ms

Returns an IFrameDuplex with source and sink.

Frame Protocol

Inbound Outbound
TEXT, IMAGE, EMBEDDING TEXT, EMBEDDING, TOOL_CALL, RECEIPT, ERROR, END
PARAM
COST_CHECK COST

PARAM Keys

model, max_tokens, temperature, top_p, stream, system, tools, tool_choice, embedding_model, task_type, budget, apiKey

Tests

npm test

Covers adapter construction and PARAM accumulation.

Requirements

Node.js 18 or later. ESM only.

Caveats

Uses Google's native API format (not OpenAI-compatible). API key is passed as a query parameter in the URL (not as a Bearer token). Streaming uses alt=sse query parameter. Vision URL input uses fileData.fileUri. Embedding responses use embedding.values format.

See Also

License

MIT

Dependencies

Development Dependencies

ID Version
@rigor/core *

Peer Dependencies

ID Version
@polyweave/core *
@polyweave/costs *
@polyweave/errors *
@polyweave/push-websocket *

Keywords

polyweave google gemini llm multimodal adapter
Details
npm
2026-07-10 23:46:48 +00:00
4
John Dvorak
SEE LICENSE IN LICENSE
8.7 KiB
Assets (1)
Versions (3) View all
1.0.11 2026-07-11
1.0.8 2026-07-10
1.0.7 2026-07-10