hatchery-session-events 0.2.7

Session event layer: per-provider live PTY parsers (pluggable trait) that turn the terminal byte stream into typed events, plus an ACP adapter behind the same event type
Documentation
use super::common::*;
use super::{Parsed, ProviderParser};
use crate::event::PromptKind;

pub struct GeminiParser;

const PROFILE: Profile = Profile {
    answer_markers: &['✦'],
    thought_markers: &[],
    result_markers: &['⎿', '└'],
    tool_verbs: &["Ran", "Edited", "Read"],
    working_needles: &["esc to cancel"],
    banner_needles: &["Gemini CLI v"],
    prompts: &[("How would you like to authenticate", PromptKind::Login, true), ("Trust folder", PromptKind::Trust, true), ("Allow execution", PromptKind::Permission, true), ("Yes, allow once", PromptKind::Permission, true)],
};

impl ProviderParser for GeminiParser {
    fn provider(&self) -> &'static str { "gemini" }
    fn parse(&mut self, rows: &[String]) -> Parsed { scan(rows, &PROFILE) }
}