pub struct ChatFile {
pub session_id: String,
pub project_hash: String,
pub start_time: Option<DateTime<Utc>>,
pub last_updated: Option<DateTime<Utc>>,
pub directories: Option<Vec<PathBuf>>,
pub kind: Option<String>,
pub summary: Option<String>,
pub messages: Vec<GeminiMessage>,
pub extra: HashMap<String, Value>,
}Expand description
The raw JSON chat file as written by Gemini CLI.
Fields§
§session_id: StringShort alphanumeric identifier written inside the file. Distinct from the enclosing session UUID directory name.
project_hash: StringSHA-256 hex of the absolute project path.
start_time: Option<DateTime<Utc>>§last_updated: Option<DateTime<Utc>>§directories: Option<Vec<PathBuf>>Workspace directories captured at session start. None preserves
“field absent in source” for round-trip fidelity; Some(vec![])
preserves an explicit empty array.
kind: Option<String>Present on sub-agent chat files ("subagent"); absent on the main chat.
summary: Option<String>Sub-agent’s reported result (populated on kind: "subagent" files).
messages: Vec<GeminiMessage>§extra: HashMap<String, Value>Forward-compat: anything not covered above lands here.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ChatFile
impl<'de> Deserialize<'de> for ChatFile
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ChatFile
impl RefUnwindSafe for ChatFile
impl Send for ChatFile
impl Sync for ChatFile
impl Unpin for ChatFile
impl UnsafeUnpin for ChatFile
impl UnwindSafe for ChatFile
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