Context Providers
Lower-level assistant-ui providers for custom renderers, scoped message parts, attachments, and advanced composition.
API Reference
ChainOfThoughtByIndicesProvider
ChainOfThoughtByIndicesProvider propsstartIndex: numberendIndex: numberComposerAttachmentByIndexProvider
ComposerAttachmentByIndexProvider propsindex: numberMessageAttachmentByIndexProvider
MessageAttachmentByIndexProvider propsindex: numberMessageByIndexProvider
MessageByIndexProvider propsindex: numberMessageProvider
MessageProvider propsmessage: ThreadMessagestatus?: ThreadAssistantMessage["status"]type: "running"metadata: ThreadMessage["metadata"]unstable_stateunstable?: ReadonlyJSONValueunstable_annotationsunstable?: readonly ReadonlyJSONValue[]unstable_dataunstable?: readonly ReadonlyJSONValue[]steps?: readonly ThreadStep[]submittedFeedback?: ThreadMessage["metadata"]["submittedFeedback"]type: "positive" | "negative"timing?: MessageTimingstreamStartTime: numberfirstTokenTime?: numbertotalStreamTime?: numbertokenCount?: numbertokensPerSecond?: numbertotalChunks: numbertoolCallCount: numbercustom: Record<string, unknown>attachments?: ThreadUserMessage["attachments"]id: stringcreatedAt: Daterole: "system"content: readonly [TextMessagePart]index: numberisLast?: booleanbranchNumber?: numberbranchCount?: numberPartByIndexProvider
PartByIndexProvider propsindex: numberReadonlyThreadProvider
ReadonlyThreadProvider propsmessages: readonly ThreadMessage[]RuntimeAdapterProvider
RuntimeAdapterProvider propsadapters: RuntimeAdaptersmodelContext?: ModelContextProvidergetModelContext: () => ModelContextsubscribe?: (callback: () => void) => Unsubscribehistory?: ThreadHistoryAdapterload: () => Promise<ExportedMessageRepository & { unstable_resume?: boolean; }>resume?: (options: ChatModelRunOptions) => AsyncGenerator<ChatModelRunResult, void, unknown>append: (item: ExportedMessageRepositoryItem) => Promise<void>withFormat?: <TMessage, TStorageFormat extends Record<string, unknown>>(formatAdapter: MessageFormatAdapter<TMessage, TStorageFormat>) => GenericThreadHistoryAdapter<TMessage>Required when used with `useAISDKRuntime` / `useChatRuntime`.
attachments?: AttachmentAdapteraccept: stringadd: (state: { file: File; }) => Promise<PendingAttachment> | AsyncGenerator<PendingAttachment, void>remove: (attachment: Attachment) => Promise<void>send: (attachment: PendingAttachment) => Promise<CompleteAttachment>children?: ReactNodeSuggestionByIndexProvider
SuggestionByIndexProvider propsindex: numberTextMessagePartProvider
TextMessagePartProvider propstext: stringisRunning?: booleanThreadListItemByIndexProvider
ThreadListItemByIndexProvider propsindex: numberarchived: booleanThreadListItemRuntimeProvider
ThreadListItemRuntimeProvider propsruntime: ThreadListItemRuntimepath: ThreadListItemRuntimePathref: stringthreadSelector: ThreadListItemRuntimePath["threadSelector"]type: "main"getState: () => ThreadListItemStateinitialize: () => Promise<{ remoteId: string; externalId: string | undefined; }>generateTitle: () => Promise<void>switchTo: () => Promise<void>rename: (newTitle: string) => Promise<void>archive: () => Promise<void>unarchive: () => Promise<void>delete: () => Promise<void>detach: () => voidsubscribe: (callback: () => void) => Unsubscribeunstable_onunstable: <E extends ThreadListItemEventType>(event: E, callback: ThreadListItemEventCallback<E>) => Unsubscribe