pub fn aggregate_token_usage(entries: &[TokenUsage]) -> Vec<TokenUsage>Expand description
Sums per-call TokenUsage entries into one entry per (provider, model)
pair, in order of first appearance.
A count stays None when no member of a group reported it, keeping “not
reported” distinct from zero.
let calls = vec![
TokenUsage { model: Some("m".into()), input_tokens: Some(10), ..Default::default() },
TokenUsage { model: Some("m".into()), input_tokens: Some(5), ..Default::default() },
];
let total = aggregate_token_usage(&calls);
assert_eq!(total.len(), 1);
assert_eq!(total[0].input_tokens, Some(15));
assert_eq!(total[0].output_tokens, None);