Skip to main content

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}