bodhi-realtime-agent / RealtimeLLMUsageEvent
Interface: RealtimeLLMUsageEvent
Defined in: src/types/transport.ts:416
Normalized usage from Gemini Live or OpenAI Realtime transports. Carries provider-reported billable units only (no USD estimation).
Properties
durationSeconds?
optionaldurationSeconds?:number
Defined in: src/types/transport.ts:425
Present when unit === 'duration_seconds' (e.g. some transcription billing).
inputTokens?
optionalinputTokens?:number
Defined in: src/types/transport.ts:421
kind
kind:
RealtimeUsageKind
Defined in: src/types/transport.ts:418
modalityBreakdown?
optionalmodalityBreakdown?:RealtimeUsageModalityBreakdown
Defined in: src/types/transport.ts:426
outputTokens?
optionaloutputTokens?:number
Defined in: src/types/transport.ts:422
phase
phase:
RealtimeUsagePhase
Defined in: src/types/transport.ts:419
provider
provider:
RealtimeUsageProvider
Defined in: src/types/transport.ts:417
providerItemId?
optionalproviderItemId?:string
Defined in: src/types/transport.ts:432
Provider-supplied opaque id for non-response items. Currently used for OpenAI input-audio transcription item_id so transcription usage events can be aggregated independently (they have no turnId).
providerRaw?
optionalproviderRaw?:unknown
Defined in: src/types/transport.ts:434
Opaque provider payload for exact downstream reconciliation.
providerResponseId?
optionalproviderResponseId?:string
Defined in: src/types/transport.ts:428
OpenAI response id when kind === 'response'.
serverTurnId?
optionalserverTurnId?:number
Defined in: src/types/transport.ts:438
Monotonic id of the server turn this usage belongs to. Set by transports that model the server turn explicitly (Gemini Live external-TTS path) so consumers can attribute usage that arrives after the framework turn ended.
serverTurnWindingDown?
optionalserverTurnWindingDown?:boolean
Defined in: src/types/transport.ts:444
True when the transport emitted this usage event while the server turn was winding down — the framework turn had ended early (or been interrupted) but the provider's server turn was not yet closed. A transport-phase marker: consumers should attribute by serverTurnId, not assume the framework turn already finalized.
totalTokens?
optionaltotalTokens?:number
Defined in: src/types/transport.ts:423
unit
unit:
RealtimeUsageUnit
Defined in: src/types/transport.ts:420