Defined in: packages/ai/src/types.ts:1443
Final event of a streaming structured-output run. Carries the validated object (typed as T after the orchestrator runs Standard Schema parsing), the raw JSON text that produced it, and — for thinking/reasoning models — the accumulated reasoning text. Adapters emit this with T = unknown; the chat orchestrator narrows to the schema's inferred type after validation.
reasoning is undefined when the model produced none (most non-thinking models) and when the underlying adapter doesn't expose reasoning streams.
name is a string literal so consumers can narrow directly:
if (chunk.type === 'CUSTOM' && chunk.name === 'structured-output.complete') {
chunk.value.object // typed as T
}T = unknown
optional model?: string;Defined in: packages/ai/src/types.ts:1414
Model identifier for multi-model support
name: "structured-output.complete";Defined in: packages/ai/src/types.ts:1446
CustomEvent.nameoptional runId?: string;Defined in: packages/ai/src/types.ts:1422
optional threadId?: string;Defined in: packages/ai/src/types.ts:1421
Routing metadata the TanStack engine attaches when emitting CUSTOM events that need to be correlated with a specific thread/run. Stripped by strip-to-spec-middleware before going on the wire so the AG-UI consumer never sees them (when that middleware is enabled).
type: "CUSTOM";Defined in: packages/ai/src/types.ts:1412
value: object;Defined in: packages/ai/src/types.ts:1447
object: T;raw: string;optional reasoning?: string;CustomEvent.value