NewTokenUsageEvent creates a TokenUsageEvent with the given usage data.
(sessionID, agentName string, usage *Usage)
| 381 | |
| 382 | // NewTokenUsageEvent creates a TokenUsageEvent with the given usage data. |
| 383 | func NewTokenUsageEvent(sessionID, agentName string, usage *Usage) Event { |
| 384 | return &TokenUsageEvent{ |
| 385 | Type: "token_usage", |
| 386 | SessionID: sessionID, |
| 387 | Usage: usage, |
| 388 | AgentContext: newAgentContext(agentName), |
| 389 | } |
| 390 | } |
| 391 | |
| 392 | // GetSessionID makes TokenUsageEvent satisfy [SessionScoped] so the |
| 393 | // observer fan-out can drop sub-session events without each observer |