인터페이스: ModelMessage<TContent>
정의 위치: packages/ai/src/types.ts:363
타입 매개변수
TContent
TContent extends string | null | ContentPart[] = string | null | ContentPart[]
속성
content
content: TContent;
정의 위치: packages/ai/src/types.ts:370
createdAt?
optional createdAt?: Date;
정의 위치: packages/ai/src/types.ts:398
선택적 메시지 생성 타임스탬프입니다. 존재하는 경우 메시지 변환기는 persist → hydrate 왕복 과정에서 이를 보존합니다.
error?
optional error?: string;
정의 위치: packages/ai/src/types.ts:376
AG-UI 도구 메시지가 보고한 오류입니다.
id?
optional id?: string;
정의 위치: packages/ai/src/types.ts:393
선택적이고 안정적인 메시지 id입니다. 프로바이더는 이를 무시합니다. 영속화된
대화 기록이 스트리밍 messageId를 유지하고 persist → hydrate 왕복 과정을
견딜 수 있도록 존재합니다. 존재하는 경우 modelMessagesToUIMessages는
새 id를 생성하지 않고 이를 재사용하므로 hydrate된 메시지가 라이브 스트림과
동일한 정체성을 유지합니다. 이를 통해 스트리밍 중간에 다시 로드해도 동일한
메시지 말풍선에서 재개할 수 있습니다(@tanstack/ai-persistence 참고).
metadata?
optional metadata?: Record<string, any>;
정의 위치: packages/ai/src/types.ts:378
선택적 AG-UI 메시지 메타데이터입니다. TanStack이 소유한 필드는 tanstack 아래에 있습니다.
name?
optional name?: string;
정의 위치: packages/ai/src/types.ts:371
role
role: "user" | "assistant" | "tool";
정의 위치: packages/ai/src/types.ts:369
structuredOutput?
optional structuredOutput?: StructuredOutputPart<unknown>;
정의 위치: packages/ai/src/types.ts:384
이 assistant 메시지가 나타내는 완료된 구조화된 출력입니다.
content는 프로바이더용 JSON 텍스트로 유지되며, 이 필드는 영속화와 메시지
변환 과정에서 타입이 지정된 UI 파트를 보존합니다.
thinking?
optional thinking?: object[];
정의 위치: packages/ai/src/types.ts:374
content
content: string;
signature?
optional signature?: string;
toolCallId?
optional toolCallId?: string;
정의 위치: packages/ai/src/types.ts:373
toolCalls?
optional toolCalls?: ToolCall<unknown>[];
정의 위치: packages/ai/src/types.ts:372