import { Content } from '../../model/model-protocol'; import { MimeType } from '@celljs/core'; /** * The Media class represents the data and metadata of a media attachment in a message. It * consists of a MIME type and the raw data. * * This class is used as a parameter in the constructor of the UserMessage class. * */ export interface Media { /** * The unique identifier of the media attachment. */ id?: string; /** * The MIME type of the media attachment. */ mimeType: MimeType; /** * The raw data of the media attachment. */ data: any; /** * The name of the media object that can be referenced by the AI model. *

* Important security note: This field is vulnerable to prompt injections, as the * model might inadvertently interpret it as instructions. It is recommended to * specify neutral names. * *

* The name must only contain: *

*/ name?: string; } /** * The MessageType enum represents the type of a message in a chat application. It can be * one of the following: USER, ASSISTANT, SYSTEM, FUNCTION. */ export declare enum MessageType { USER = "user", ASSISTANT = "assistant", SYSTEM = "system", FUNCTION = "function", TOOL = "tool" } /** * The Message interface represents a message that can be sent or received in a chat * application. Messages can have content, media attachments, properties, and message * types. * * @see Media * @see MessageType */ export interface Message extends Content { messageType: MessageType; } export declare namespace Message { function isMessage(obj: any): obj is Message; } /** * Represents a tool call. */ export interface ToolCall { /** * The unique identifier for the tool call. */ id: string; /** * The type of the tool. */ type: string; /** * The name of the tool. */ name: string; /** * The arguments passed to the tool. */ arguments: string; } //# sourceMappingURL=message-protocol.d.ts.map