Table of Contents

Class ChatTurnStatus

Namespace
Qavren.Edge.Chat
Assembly
Qavren.Edge.Chat.Onnx.dll

One turn's honest record, carried on the final ChatResponseUpdate and on the ChatResponse under TurnStatus. One strongly-typed record under one key, rather than seven loose string keys.

public sealed record ChatTurnStatus : IEquatable<ChatTurnStatus>
Inheritance
ChatTurnStatus
Implements
Inherited Members

Constructors

ChatTurnStatus(EdgeChatStopReason, string, string?, int, int, int, int, int, TimeSpan, TimeSpan, double, EdgeThermalState, bool)

One turn's honest record, carried on the final ChatResponseUpdate and on the ChatResponse under TurnStatus. One strongly-typed record under one key, rather than seven loose string keys.

Properties

ContextTokens

The context the budget allowed.

ConversationId

The effective id for this response - the caller's if they supplied one, otherwise the one this client minted. Also on every ChatResponseUpdate.ConversationId.

Duration

The whole turn.

GeneratedTokens

Tokens this turn produced.

MessagesDropped

How many messages history reduction evicted.

ModelId

The model that produced it.

PromptTokens

Total sequence length the model conditioned on, after any conversation-cache append. Equal to UsageDetails.InputTokenCount on the same response.

PromptTokensAppended

Tokens actually encoded and appended this turn: equal to PromptTokens on a fresh generator, and the delta alone on a conversation-cache hit.

StopReason

Why the turn ended.

Thermal

The thermal state at the end of the turn, published verbatim - Unknown is never normalised to Nominal.

ThermalThrottled

Whether the decode was paced at any point.

TimeToFirstToken

Prefill plus the first decode step.

TokensPerSecond

Decode throughput, excluding prefill.