Interface StudioAiChatEventExperimental

One event in a streamed provider-neutral chat turn — a single flat shape (matches the server's StudioAiChatEvent, one C# class rather than a discriminated hierarchy). Unused fields for a given type are simply absent (the server omits nulls: DefaultIgnoreCondition = WhenWritingNull).

interface StudioAiChatEvent {
    completionTokens?: number;
    errorMessage?: string;
    latencyMs?: number;
    model?: string;
    promptTokens?: number;
    stopReason?: StudioAiStopReason;
    text?: string;
    toolArguments?: unknown;
    toolArgumentsDelta?: string;
    toolCallId?: string;
    toolName?: string;
    type: StudioAiChatEventType;
}

Properties

completionTokens?: number
errorMessage?: string

Human-readable failure detail. Set on error.

latencyMs?: number

Wall-clock time from request dispatch to this event. Set on messageStop / error.

model?: string

Model id actually used. Set on messageStart.

promptTokens?: number
stopReason?: StudioAiStopReason

Set on messageStop.

text?: string

Incremental assistant text. Set on textDelta.

toolArguments?: unknown

Full parsed arguments, when assembly succeeded. Set on toolCallStop.

toolArgumentsDelta?: string

Incremental JSON-argument text. Set on toolCallDelta.

toolCallId?: string

Tool call id. Set on toolCallStart / toolCallDelta / toolCallStop.

toolName?: string

Tool name. Set on toolCallStart.