UNPKG

@maximai/maxim-js

Version:

Maxim AI JS SDK. Visit https://getmaxim.ai for more info.

59 lines (58 loc) 1.55 kB
/** * Base properties shared by all attachment types in the Maxim logging system. */ export type BaseAttachmentProps = { id: string; name?: string; mimeType?: string; size?: number; tags?: Record<string, string>; metadata?: Record<string, string>; }; /** * File attachment type for referencing files on the local filesystem. */ export type FileAttachment = BaseAttachmentProps & { type: "file"; path: string; }; /** * File attachment with storage key for internal processing. */ export type FileAttachmentWithKey = FileAttachment & { key: string; }; /** * File data attachment type for directly embedding binary data. */ export type FileDataAttachment = BaseAttachmentProps & { type: "fileData"; data: Buffer; }; /** * File data attachment with storage key for internal processing. */ export type FileDataAttachmentWithKey = FileDataAttachment & { key: string; }; /** * URL attachment type for referencing external resources. */ export type UrlAttachment = BaseAttachmentProps & { type: "url"; url: string; }; /** * URL attachment with storage key for internal processing. */ export type UrlAttachmentWithKey = UrlAttachment & { key: string; }; /** * Discriminated union type representing all possible attachment types. */ export type Attachment = FileAttachment | FileDataAttachment | UrlAttachment; /** * Attachment with storage key for internal processing. */ export type AttachmentWithKey = FileAttachmentWithKey | FileDataAttachmentWithKey | UrlAttachmentWithKey;