Skip to main content

tail_fin_gemini/
lib.rs

1//! Gemini adapter — talks to `gemini.google.com`'s internal web API
2//! using cookies from a signed-in session. No Chrome, no DOM scraping.
3//!
4//! Uses your Google One AI Premium / Advanced subscription (whatever
5//! your logged-in browser account has).
6//!
7//! ## Typical use
8//!
9//! ```no_run
10//! # async fn demo() -> Result<(), tail_fin_common::TailFinError> {
11//! use std::path::Path;
12//! use tail_fin_gemini::GeminiClient;
13//!
14//! let client = GeminiClient::from_cookie_file(Path::new("~/.tail-fin/gemini-cookies.txt"))?;
15//! let reply = client.ask("Hello Gemini", None).await?;
16//! println!("{}", reply.response);
17//! # Ok(())
18//! # }
19//! ```
20
21pub mod client;
22pub mod cookies;
23pub mod parsing;
24pub mod signing;
25pub mod types;
26
27pub use client::GeminiClient;
28pub use cookies::{load_netscape, Cookies};
29pub use parsing::{extract_push_id, extract_response_text, extract_snlm0e, SessionTokens};
30pub use signing::{build_sapisidhash, current_sapisidhash, ORIGIN};
31pub use types::GeminiResponse;