pub struct GeminiAdapter;Expand description
The Gemini CLI adapter: tails ~/.gemini/tmp/<hash>/chats/session-*.jsonl
and converts records to user_message / agent_message / thinking /
tool_call / tool_result events. Stateless; the tailer thread holds all
mutable state.
§Experimental
This adapter is built against the researched Gemini CLI session format
(https://github.com/google-gemini/gemini-cli). The parser handles the
documented record types (session_metadata, user, gemini,
message_update) and degrades gracefully on unknown types. If you encounter
a session that produces 0 steps despite having a transcript, run
HH_DEBUG=1 hh run -- gemini ... and file an issue with the debug output.
Trait Implementations§
Source§impl Adapter for GeminiAdapter
impl Adapter for GeminiAdapter
Source§fn agent_kind(&self) -> AgentKind
fn agent_kind(&self) -> AgentKind
The agent kind this adapter reports for the session row.
Source§fn spawn(self: Box<Self>, ctx: AdapterContext) -> Result<AdapterHandle>
fn spawn(self: Box<Self>, ctx: AdapterContext) -> Result<AdapterHandle>
Spawn the tailer thread, returning the event stream + outcome handle. Read more
Source§impl Clone for GeminiAdapter
impl Clone for GeminiAdapter
Source§fn clone(&self) -> GeminiAdapter
fn clone(&self) -> GeminiAdapter
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for GeminiAdapter
impl RefUnwindSafe for GeminiAdapter
impl Send for GeminiAdapter
impl Sync for GeminiAdapter
impl Unpin for GeminiAdapter
impl UnsafeUnpin for GeminiAdapter
impl UnwindSafe for GeminiAdapter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more