use crate::llm::UsageInfo;
use crate::types::RunOutcome;
#[derive(Clone, Debug)]
pub struct TurnContext {
pub session_id: u64,
pub turn_number: u32,
pub ttft_ms: u64,
pub llm_duration_ms: u64,
pub duration_ms: u64,
pub tool_duration_ms: u64,
pub usage: Option<UsageInfo>,
pub full_text_len: u64,
pub has_thinking: bool,
pub tools_used: Vec<String>,
pub tool_call_count: u32,
pub tool_success: u32,
pub tool_failed: u32,
pub outcome: RunOutcome,
pub error_message: Option<String>,
pub user_input: String,
pub model: String,
pub plan_updates: u32,
pub approval_count: u32,
pub llm_calls: u32,
}