export type MemoryLayer = "user" | "session" | "project" | "team" | "org" | "company" | "agent"; export interface Memory { id: string; content: string; layer: MemoryLayer; metadata?: Record; createdAt: string; updatedAt?: string; } export interface MemorySearchResult { memory: Memory; score: number; } export interface AddMemoryInput { content: string; layer: MemoryLayer; metadata?: Record; } export interface SearchMemoryInput { query: string; layer?: MemoryLayer | MemoryLayer[]; limit?: number; threshold?: number; } export interface UpdateMemoryInput { id: string; content?: string; metadata?: Record; } export interface DeleteMemoryInput { id: string; } export interface Mem0Config { enabled: boolean; apiKey?: string; endpoint?: string; userId?: string; sessionId?: string; projectId?: string; teamId?: string; orgId?: string; companyId?: string; agentId?: string; autoRehydrate?: boolean; rehydrateLayers?: MemoryLayer[]; } export interface MemoryStats { totalMemories: number; byLayer: Record; }