//! Transcript file parsing for Claude Code JSONL files.
//!
//! This module parses Claude Code transcript files (JSONL format) to extract
//! events as a third data source alongside hooks and OTEL.
//!
//! Key advantages over OTEL:
//! - `is_sidechain` field: distinguishes main chain from subagent requests
//! - Full content: prompt text, response text, tool I/O
//! - `parent_uuid`: enables conversation tree reconstruction

mod entry;
mod parser;
mod scanner;

pub use entry::{
    CacheCreationDetails, ContentBlock, MessageContent, TokenUsage, ToolInfo, ToolInfoMap,
    TranscriptEntry, TranscriptMessage,
};
pub use parser::{FilePosition, TranscriptParser, extract_first_prompt};
pub use scanner::{ScanResult, TranscriptScanner};

// Re-export errors from model/error for backward compatibility
pub use crate::model::error::{ScanError, TranscriptError};
