//! Codex session file parsing for Codex CLI JSONL files.
//!
//! This module parses Codex CLI session files (JSONL format) to extract
//! events as a data source alongside hooks and OTEL.
//!
//! Codex session files provide rich data that hooks don't:
//! - Token usage with cached and reasoning tokens
//! - Full tool call arguments and outputs
//! - User and agent messages
//! - Git context (branch, commit, repo)
//!
//! Session files are located at:
//! `~/.codex/sessions/YYYY/MM/DD/rollout-<timestamp>-<UUID>.jsonl`

mod entry;
mod parser;
mod scanner;

pub use entry::{
    CodexSessionEntry, FunctionCallInfo, FunctionCallMap, GitInfo, SessionMeta, TokenUsage,
    TokenUsageInfo, TurnContext, extract_session_id_from_filename, parse_session_meta,
};
pub use parser::{CodexSessionParser, FilePosition, ParseResult};
pub use scanner::{
    CodexSessionScanner, ScanResult, codex_sessions_dir, find_session_file,
    list_session_files_in_dir,
};
