본문으로 건너뛰기

인터페이스: 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