adk_model/gemini/mod.rs
1/// Gemini model client implementation.
2pub mod client;
3/// Conversion layer between ADK and Interactions API types (Beta).
4#[cfg(feature = "gemini-interactions")]
5pub mod interactions_convert;
6/// Interactions API target allowlist (Beta).
7#[cfg(feature = "gemini-interactions")]
8pub mod interactions_target;
9/// Streaming response handling for Gemini.
10pub mod streaming;
11
12pub use crate::retry::RetryConfig;
13pub use client::{GeminiModel, vertex_env_requested};
14
15// Re-export the Interactions transport surface (Beta) so consumers can configure
16// the toggle through `adk_model::gemini::{...}` without reaching into submodules.
17// Gated behind `gemini-interactions`.
18#[cfg(feature = "gemini-interactions")]
19pub use client::{BackgroundMode, GeminiTransport, InteractionOptions};
20#[cfg(feature = "gemini-interactions")]
21pub use interactions_target::InteractionTarget;
22
23// Re-export thinking config types from adk-gemini so users don't need
24// a direct dependency on adk-gemini to configure thinking.
25pub use adk_gemini::{ThinkingConfig, ThinkingLevel};
26
27// Re-export the Interactions API (Beta) so consumers can reach Google's new
28// stateful, step-based API surface through adk-model without a direct
29// adk-gemini dependency. Gated behind `gemini-interactions`.
30#[cfg(feature = "gemini-interactions")]
31pub use adk_gemini::interactions;