Skip to main content

session_stats

Function session_stats 

Source
pub fn session_stats(messages: &[AgentMessage]) -> SessionStats
Expand description

Fold a conversation into a SessionStats.

Contract:

  • turns/token sums iterate every AgentMessage::Assistant { usage: Some(u), .. }; a missing cache_read_tokens/cache_write_tokens counts as 0.
  • tools tallies every ContentBlock::ToolCall { name, .. } across Assistant messages (independently of whether a matching ToolResult exists), then sorts by count desc, name asc.
  • last_input_tokens is the input_tokens of the last Assistant with Some(usage).
  • Empty input ⇒ SessionStats::default().