import type { AxChatRequest, AxChatResponseResult, AxFunctionResult, } from '../ai/types.js'; export type AxMemoryData = { tags?: string[]; role: AxChatRequest['chatPrompt'][number]['role']; updatable?: boolean; chat: { index: number; value: Omit; }[]; }[]; export interface AxAIMemory { addRequest(result: AxChatRequest['chatPrompt'], sessionId?: string): void; addResponse( results: Readonly, sessionId?: string ): void; updateResult( results: Readonly & { delta?: string }, sessionId?: string ): void; addFunctionResults( results: Readonly, sessionId?: string ): void; history(index: number, sessionId?: string): AxChatRequest['chatPrompt']; reset(sessionId?: string): void; getLast(sessionId?: string): AxMemoryData[number] | undefined; addTag(name: string, sessionId?: string): void; rewindToTag(name: string, sessionId?: string): AxMemoryData; removeByTag(name: string, sessionId?: string): AxMemoryData; }