TurnTimestamps
Absolute timestamps (epoch ms) captured during one conversation turn.
Defined in: src/core/pipeline/TurnMetrics.ts:40
Absolute timestamps (epoch ms) captured during one conversation turn.
Remarks
Every field except sttFinal and turnEnd is optional — which marks appear depends on the pipeline topology (REST vs live TTS, separate vs multi-role output, output muted) and on whether the turn completed.
Properties
| Property | Type | Description | Defined in |
|---|---|---|---|
llmComplete? | number | When the LLM finished generating. | src/core/pipeline/TurnMetrics.ts:66 |
llmFirstToken? | number | When the first LLM token arrived. | src/core/pipeline/TurnMetrics.ts:63 |
llmStart? | number | When the LLM request was dispatched. | src/core/pipeline/TurnMetrics.ts:60 |
playbackEnd? | number | When the output provider last reported playback ending. | src/core/pipeline/TurnMetrics.ts:75 |
playbackStart? | number | When the output provider actually started playing audio. | src/core/pipeline/TurnMetrics.ts:72 |
preflight? | number | When the STT provider signaled an early end-of-turn (preflight), if it did. Remarks This is the closest observable proxy for “the user stopped speaking” — it fires before the confirmed final transcript on providers that support it (e.g. DeepgramFlux). | src/core/pipeline/TurnMetrics.ts:50 |
sttFinal | number | When the utterance-complete transcription arrived — the turn’s anchor (t0). For typed turns via sendMessage(), the time the message was submitted. | src/core/pipeline/TurnMetrics.ts:57 |
ttsFirstAudio? | number | When the first TTS audio chunk arrived. | src/core/pipeline/TurnMetrics.ts:69 |
turnEnd | number | When the turn was finished (completed or interrupted). | src/core/pipeline/TurnMetrics.ts:78 |