Custom Memory Provider
Copy
import { Memory, MemoryProvider } from '@runflow-ai/sdk';
class RedisMemoryProvider implements MemoryProvider {
async get(key: string): Promise<MemoryData> {
const data = await redis.get(key);
return JSON.parse(data);
}
async set(key: string, data: MemoryData): Promise<void> {
await redis.set(key, JSON.stringify(data));
}
async append(key: string, message: MemoryMessage): Promise<void> {
const data = await this.get(key);
data.messages.push(message);
await this.set(key, data);
}
async clear(key: string): Promise<void> {
await redis.del(key);
}
}
// Use custom provider
const memory = new Memory({
provider: new RedisMemoryProvider(),
maxTurns: 10,
});