Phase 1 — Surface existing bus events
Cost data is tracked per-message internally but there is no running total emitted. Consumers building dashboards or budget alerts need session-level cost accumulation without summing message_complete events themselves.
Emit session_cost after each message_complete with running totals (tokens and cost).
Phase 1 — Surface existing bus events
Cost data is tracked per-message internally but there is no running total emitted. Consumers building dashboards or budget alerts need session-level cost accumulation without summing
message_completeevents themselves.Emit
session_costafter eachmessage_completewith running totals (tokens and cost).