Skip to main content

Crate rs_genai

Crate rs_genai 

Source
Expand description

§rs-genai

Full Rust equivalent of Google’s @google/genai SDK. Wire protocol, transport, types, auth, plus REST API modules (feature-gated).

§Layers

  • Protocol: Wire-format types mapping 1:1 to the API (protocol/)
  • Transport: WebSocket connection with reconnection and flow control (transport/)
  • Session: Session handle with command/event channels and phase FSM (session/)
  • Buffer: Lock-free SPSC ring buffer and adaptive jitter buffer (buffer/)
  • VAD: Voice activity detection with adaptive noise floor (vad/)
  • Flow: Barge-in detection and turn detection (flow/)
  • Telemetry: OTel spans, structured logging, Prometheus metrics (telemetry/)

Re-exports§

pub use client::Client;
pub use quick::quick_connect;
pub use quick::quick_connect_vertex;

Modules§

buffer
Lock-free audio buffers for the hot path.
client
Unified Gemini API client — wraps both Live (WebSocket) and REST API access.
flow
Conversation flow control — barge-in handling and turn detection.
prelude
Convenient re-exports for wire-level usage.
protocol
Wire-format types mapping one-to-one to the Gemini Multimodal Live API.
quick
Quick-start convenience functions for connecting to the Gemini Multimodal Live API.
session
Session orchestration — the central coordination layer.
telemetry
Observability layer — OpenTelemetry tracing, structured logging, Prometheus metrics.
transport
WebSocket transport layer — connection, full-duplex messaging, flow control.
vad
Client-side Voice Activity Detection (VAD).