@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
31 lines (30 loc) • 1.42 kB
TypeScript
/**
* Vertex authentication helpers for the realtime voice agent.
*
* The Gemini Live WebSocket authenticates to Vertex via Application Default
* Credentials (ADC). These helpers materialise ADC from the split
* `GOOGLE_AUTH_*` env fields when no credentials file is configured, and remove
* any Gemini Developer API key from the environment so `@google/genai` uses
* Vertex/ADC auth (not an API key) for the realtime WebSocket.
*
* See docs/features/livekit-voice-agent.md.
*/
/**
* Materialise Vertex ADC from the split `GOOGLE_AUTH_*` env fields.
*
* The google realtime plugin authenticates Vertex via ADC (it does not accept
* inline credentials), so this writes a temp service-account JSON and points
* `GOOGLE_APPLICATION_CREDENTIALS` at it — unless ADC is already configured.
* No-op when `GOOGLE_APPLICATION_CREDENTIALS` is set or the `GOOGLE_AUTH_*`
* fields are absent (auth then relies on ambient ADC).
*/
export declare function ensureVertexAdc(): void;
/**
* Force pure Vertex/ADC auth for the Gemini Live WebSocket.
*
* `@google/genai` 1.52+ uses a Gemini Developer API key for the realtime
* WebSocket auth even when `vertexai: true` and project/location are set, which
* Vertex rejects at the handshake (WS close 1006). The realtime worker only
* ever talks to Vertex, so remove these keys (only affects this process).
*/
export declare function clearGeminiApiKeyEnv(): void;