UNPKG

@assistant-ui/react

Version:

TypeScript/React library for AI Chat

92 lines 3.64 kB
import type { CompleteAttachment } from "./AttachmentTypes"; import type { ReadonlyJSONValue } from "assistant-stream/utils"; import type { TextMessagePart, ReasoningMessagePart, SourceMessagePart, ImageMessagePart, FileMessagePart, Unstable_AudioMessagePart, ToolCallMessagePart, ThreadUserMessagePart, ThreadAssistantMessagePart } from "./MessagePartTypes"; export type { TextMessagePart, ReasoningMessagePart, SourceMessagePart, ImageMessagePart, FileMessagePart, Unstable_AudioMessagePart, ToolCallMessagePart, ThreadUserMessagePart, ThreadAssistantMessagePart, }; export type MessageRole = ThreadMessage["role"]; type MessageCommonProps = { readonly id: string; readonly createdAt: Date; }; export type ThreadStep = { readonly messageId?: string; readonly usage?: { readonly promptTokens: number; readonly completionTokens: number; } | undefined; }; export type MessagePartStatus = { readonly type: "running"; } | { readonly type: "complete"; } | { readonly type: "incomplete"; readonly reason: "cancelled" | "length" | "content-filter" | "other" | "error"; readonly error?: unknown; }; export type ToolCallMessagePartStatus = { readonly type: "requires-action"; readonly reason: "tool-calls"; } | MessagePartStatus; export type MessageStatus = { readonly type: "running"; } | { readonly type: "requires-action"; readonly reason: "tool-calls"; } | { readonly type: "complete"; readonly reason: "stop" | "unknown"; } | { readonly type: "incomplete"; readonly reason: "cancelled" | "tool-calls" | "length" | "content-filter" | "other" | "error"; readonly error?: ReadonlyJSONValue; }; export type ThreadSystemMessage = MessageCommonProps & { readonly role: "system"; readonly content: readonly [TextMessagePart]; readonly metadata: { readonly custom: Record<string, unknown>; }; }; export type ThreadUserMessage = MessageCommonProps & { readonly role: "user"; readonly content: readonly ThreadUserMessagePart[]; readonly attachments: readonly CompleteAttachment[]; readonly metadata: { readonly custom: Record<string, unknown>; }; }; export type ThreadAssistantMessage = MessageCommonProps & { readonly role: "assistant"; readonly content: readonly ThreadAssistantMessagePart[]; readonly status: MessageStatus; readonly metadata: { readonly unstable_state: ReadonlyJSONValue; readonly unstable_annotations: readonly ReadonlyJSONValue[]; readonly unstable_data: readonly ReadonlyJSONValue[]; readonly steps: readonly ThreadStep[]; readonly custom: Record<string, unknown>; }; }; export type RunConfig = { readonly custom?: Record<string, unknown>; }; export type AppendMessage = Omit<ThreadMessage, "id"> & { parentId: string | null; /** The ID of the message that was edited or undefined. */ sourceId: string | null; runConfig: RunConfig | undefined; startRun?: boolean | undefined; }; type BaseThreadMessage = { readonly status?: ThreadAssistantMessage["status"]; readonly metadata: { readonly unstable_state?: ReadonlyJSONValue; readonly unstable_annotations?: readonly ReadonlyJSONValue[]; readonly unstable_data?: readonly ReadonlyJSONValue[]; readonly steps?: readonly ThreadStep[]; readonly custom: Record<string, unknown>; }; readonly attachments?: ThreadUserMessage["attachments"]; }; export type ThreadMessage = BaseThreadMessage & (ThreadSystemMessage | ThreadUserMessage | ThreadAssistantMessage); //# sourceMappingURL=AssistantTypes.d.ts.map