siumai_provider_gemini/lib.rs
1//! siumai-provider-gemini
2//!
3//! Google Gemini provider implementation.
4//!
5//! This crate owns:
6//! - the Gemini provider implementation (client + builder + extensions)
7//! - provider-owned typed options/metadata and extension traits
8//!
9//! Protocol mapping and streaming helpers live in `siumai-protocol-gemini` and are re-exported
10//! from this crate under `crate::standards` for compatibility.
11#![deny(unsafe_code)]
12
13// Re-export the provider-agnostic core modules required by the provider implementation.
14// This preserves existing internal module paths in migrated code (e.g. `crate::types::*`).
15pub use siumai_core::{
16 LlmError, auth, client, core, defaults, error, execution, hosted_tools, observability, retry,
17 retry_api, streaming, tools, traits, types, utils,
18};
19
20/// Builder utilities shared across provider crates.
21pub mod builder {
22 pub use siumai_core::builder::*;
23}
24
25/// Provider-owned legacy parameter types.
26pub mod params;
27
28// Provider-owned typed options and metadata (kept out of `siumai-core`).
29pub mod provider_metadata;
30pub mod provider_options;
31
32pub mod providers;
33pub use siumai_protocol_gemini::standards;
34
35pub use types::{ChatResponse, CommonParams};