Skip to main content

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:

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

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

// 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