UNPKG

@copilotkit/shared

Version:

<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />

54 lines (53 loc) 2.2 kB
import { InputContentDataSource, InputContentUrlSource } from "@ag-ui/core"; //#region src/attachments/types.d.ts interface AttachmentUploadDataResult { type: "data"; value: string; mimeType: string; /** Custom metadata to include in the InputContent part (merged with auto-generated metadata like filename). */ metadata?: Record<string, unknown>; } interface AttachmentUploadUrlResult { type: "url"; value: string; mimeType?: string; /** Custom metadata to include in the InputContent part (merged with auto-generated metadata like filename). */ metadata?: Record<string, unknown>; } type AttachmentUploadResult = AttachmentUploadDataResult | AttachmentUploadUrlResult; type AttachmentUploadErrorReason = "file-too-large" | "invalid-type" | "upload-failed"; interface AttachmentUploadError { /** Why the upload failed. */ reason: AttachmentUploadErrorReason; /** The file that failed to upload. */ file: File; /** Human-readable error message. */ message: string; } interface AttachmentsConfig { /** Enable file attachments in the chat input */ enabled: boolean; /** MIME type filter for the file input, default all files */ accept?: string; /** Maximum file size in bytes, default 20MB (20 * 1024 * 1024) */ maxSize?: number; /** Custom upload handler. Return an InputContentSource with optional metadata. */ onUpload?: (file: File) => AttachmentUploadResult | Promise<AttachmentUploadResult>; /** Called when an attachment fails validation or upload. Use this to show a toast or inline error. */ onUploadFailed?: (error: AttachmentUploadError) => void; } type AttachmentModality = "image" | "audio" | "video" | "document"; interface Attachment { id: string; type: AttachmentModality; source: InputContentDataSource | InputContentUrlSource; filename?: string; size?: number; status: "uploading" | "ready"; thumbnail?: string; /** Custom metadata from onUpload, included in the InputContent part. */ metadata?: Record<string, unknown>; } //#endregion export { Attachment, AttachmentModality, AttachmentUploadError, AttachmentUploadErrorReason, AttachmentUploadResult, AttachmentsConfig }; //# sourceMappingURL=types.d.mts.map