assistant-ui logo/Docs/API Reference
Adapters

Attachment Adapters

Attachment adapters for uploading files, handling lifecycle events, and bringing app-owned content into assistant-ui composers and messages.

API Reference

AttachmentAdapter

AttachmentAdapter
accept : string

add : (state: { file: File; }) => Promise<PendingAttachment> | AsyncGenerator<PendingAttachment, void>

remove : (attachment: Attachment) => Promise<void>

send : (attachment: PendingAttachment) => Promise<CompleteAttachment>

CloudFileAttachmentAdapter

CloudFileAttachmentAdapter
constructor ?: (cloud: AssistantCloud) => CloudFileAttachmentAdapter

accept ?: string

add ?: ({ file, }: { file: File; }) => AsyncGenerator<PendingAttachment, void>

remove ?: (attachment: Attachment) => Promise<void>

send ?: (attachment: PendingAttachment) => Promise<CompleteAttachment>

CompositeAttachmentAdapter

CompositeAttachmentAdapter
constructor ?: (adapters: AttachmentAdapter[]) => CompositeAttachmentAdapter

accept ?: string

add ?: (state: { file: File }) => Promise<PendingAttachment> | AsyncGenerator<PendingAttachment, void, any>

send ?: (attachment: PendingAttachment) => Promise<CompleteAttachment>

remove ?: (attachment: Attachment) => Promise<void>

SimpleImageAttachmentAdapter

SimpleImageAttachmentAdapter
accept ?: string

add ?: (state: { file: File }) => Promise<PendingAttachment>

send ?: (attachment: PendingAttachment) => Promise<CompleteAttachment>

remove ?: () => Promise<void>

SimpleTextAttachmentAdapter

SimpleTextAttachmentAdapter
accept ?: string

add ?: (state: { file: File }) => Promise<PendingAttachment>

send ?: (attachment: PendingAttachment) => Promise<CompleteAttachment>

remove ?: () => Promise<void>