UNPKG

lume-ai

Version:

A powerful yet simple library to build your own AI applications.

44 lines (40 loc) 1.42 kB
// =============================== // SECTION | Types // =============================== /** * Represents a message exchanged between the user and the assistant. * @property role - The role of the message sender, either 'user' or 'assistant'. * @property content - The content of the message as a string. */ export interface Message { role: 'user' | 'assistant' content: string } // =============================== // =============================== // SECTION | History // =============================== /** * Abstract class for managing message history. * Implementations should provide methods to add, retrieve, and clear messages based on tags. */ export abstract class History { /** * Adds a message to the history under the specified tags. * @param tags - An array of tags to categorize the message. * @param message - The message to add. */ abstract addMessage(tags: string[], message: Message): Promise<void> /** * Retrieves all messages associated with the specified tags. * @param tags - An array of tags to filter messages. * @returns A promise that resolves to an array of messages. */ abstract getMessages(tags: string[]): Promise<Message[]> /** * Clears all messages associated with the specified tags. * @param tags - An array of tags to clear messages for. */ abstract clear(tags: string[]): Promise<void> } // ===============================