Implement custom memory providers
interface MemoryProvider { get(key: string): Promise<MemoryData>; set(key: string, data: MemoryData): Promise<void>; append(key: string, message: MemoryMessage): Promise<void>; clear(key: string): Promise<void>; summarize?(key: string): Promise<string>; search?(key: string, query: string): Promise<MemoryMessage[]>; }