Defined in: packages/ai/src/types.ts:358
TContent extends string | null | ContentPart[] = string | null | ContentPart[]
content: TContent;Defined in: packages/ai/src/types.ts:365
optional createdAt?: Date;Defined in: packages/ai/src/types.ts:383
Optional message creation timestamp. When present, message converters preserve it across persist → hydrate round-trips.
optional id?: string;Defined in: packages/ai/src/types.ts:378
Optional stable message id. Providers ignore it; it exists so a persisted transcript can retain the streaming messageId and survive the persist → hydrate round-trip. When present, modelMessagesToUIMessages reuses it instead of generating a fresh id, so a hydrated message keeps the same identity as its live stream — which is what lets a mid-stream reload resume the SAME message bubble in place (see @tanstack/ai-persistence).
optional name?: string;Defined in: packages/ai/src/types.ts:366
role: "user" | "assistant" | "tool";Defined in: packages/ai/src/types.ts:364
optional thinking?: object[];Defined in: packages/ai/src/types.ts:369
content: string;optional signature?: string;optional toolCallId?: string;Defined in: packages/ai/src/types.ts:368
optional toolCalls?: ToolCall<unknown>[];Defined in: packages/ai/src/types.ts:367