mindfork 0.11.1

A terminal AI chat written in Rust: local models via llama.cpp or OpenAI, Anthropic, Gemini and Grok in the cloud, with persistent memory, notes, RAG and tools.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! Google Gemini cloud backend over the **native** API (`generateContent`/
//! `streamGenerateContent`). A protocol separate from OpenAI-compatible Chat Completions
//! (ADR 0004, docs/research/gemini-native-client.md): "thought" summaries
//! (`thinkingConfig.includeThoughts`), reasoning depth (`thinkingLevel`/
//! `thinkingBudget`), `thoughtsTokenCount`.
//!
//! `wire` — building the request body and parsing SSE; `client` — the
//! [`EngineBackend`](crate::shared::api::contract::EngineBackend) implementation. Gemini
//! embeddings are fetched separately via the OpenAI-compatible endpoint (`OpenAiClient`),
//! see the supervisor.

mod client;
mod wire;

pub use client::GeminiClient;
// Model-generation inference, shared with the video client (`shared::video::gemini`):
// which thinking knob this model takes. One copy, not two.
pub(crate) use wire::{is_gemini_3, is_gemini_3_pro};