mi6_core/input/codex_session/mod.rs
1//! Codex session file parsing for Codex CLI JSONL files.
2//!
3//! This module parses Codex CLI session files (JSONL format) to extract
4//! events as a data source alongside hooks and OTEL.
5//!
6//! Codex session files provide rich data that hooks don't:
7//! - Token usage with cached and reasoning tokens
8//! - Full tool call arguments and outputs
9//! - User and agent messages
10//! - Git context (branch, commit, repo)
11//!
12//! Session files are located at:
13//! `~/.codex/sessions/YYYY/MM/DD/rollout-<timestamp>-<UUID>.jsonl`
14
15mod entry;
16mod parser;
17mod scanner;
18
19pub use entry::{
20 CodexSessionEntry, FunctionCallInfo, FunctionCallMap, GitInfo, SessionMeta, TokenUsage,
21 TokenUsageInfo, TurnContext, extract_session_id_from_filename, parse_session_meta,
22};
23pub use parser::{CodexSessionParser, FilePosition, ParseResult};
24pub use scanner::{
25 CodexSessionScanner, ScanResult, codex_sessions_dir, find_session_file,
26 list_session_files_in_dir,
27};