Memory Systems

Pluggable memory backends for conversation history and state persistence. Choose from in-memory, Redis, or Postgres backends.

Available Backends

BackendUse CasePersistence
InMemoryDevelopment, testing, single-instanceNone (process memory)
RedisMulti-instance, fast accessOptional (depends on Redis config)
PostgresFull persistence, audit requirementsFull (database)

createMemoryStorage

Factory function to create memory backends:

typescript
import { createMemoryStorage } from '@sekuire/sdk'; // In-memory (default) const memory = createMemoryStorage({ type: 'memory' }); // Redis const redisMemory = createMemoryStorage({ type: 'redis', url: 'redis://localhost:6379', keyPrefix: 'agent:conversations:' }); // Postgres const pgMemory = createMemoryStorage({ type: 'postgres', connectionString: process.env.DATABASE_URL, tableName: 'agent_memory' });

Using with Agents

typescript
import { getAgent, createMemoryStorage } from '@sekuire/sdk'; const memory = createMemoryStorage({ type: 'redis', url: 'redis://localhost:6379' }); const agent = await getAgent('assistant', { memory }); // Conversations persist across agent restarts await agent.chat('Hello!'); // Later... const history = await memory.getHistory('session_123');

Memory API

typescript
// Store a message await memory.store('session_123', { role: 'user', content: 'Hello!' }); // Get full history const history = await memory.getHistory('session_123'); // Get last N messages const recent = await memory.getHistory('session_123', { limit: 10 }); // Clear session await memory.clear('session_123'); // Clear all (use with caution) await memory.clearAll();

Next Steps