synwire_core/agents/usage.rs
1//! Usage tracking and cost estimation.
2
3use serde::{Deserialize, Serialize};
4
5/// Token usage and cost tracking.
6#[derive(Debug, Clone, Default, Serialize, Deserialize)]
7pub struct Usage {
8 /// Input tokens consumed.
9 pub input_tokens: u64,
10 /// Output tokens generated.
11 pub output_tokens: u64,
12 /// Tokens read from cache.
13 pub cache_read_tokens: u64,
14 /// Tokens written to cache.
15 pub cache_creation_tokens: u64,
16 /// Estimated cost in USD.
17 pub cost_usd: f64,
18 /// Context window utilization (0.0-1.0).
19 pub context_utilization_pct: f32,
20}