When API usage is missing, estimate prompt/completion tokens at ~4 chars per token and mark source as estimate (or mixed when combined).
Parse OpenAI-compatible usage dicts into prompt/completion/total counts for session and turn aggregation.