@a2arium/callagent-memory-sql
v0.2.0
Published
SQL-backed memory adapter for the CallAgent framework.
Readme
@a2arium/callagent-memory-sql
SQL-backed memory persistence adapter for the CallAgent framework using Prisma.
Installation
npm install @a2arium/callagent-memory-sqlor with yarn:
yarn add @a2arium/callagent-memory-sqlSetup
- Database Setup: Configure your database connection in your environment:
DATABASE_URL="postgresql://username:password@localhost:5432/callagent"- Run Migrations: Set up the database schema:
npx prisma migrate deploy- Generate Client: Generate the Prisma client:
npx prisma generateUsage
Working Memory
import { WorkingMemoryRegistry } from '@a2arium/callagent-memory-sql';
const workingMemory = new WorkingMemoryRegistry({
tenantId: 'user-123'
});
// Store data
await workingMemory.store('key', 'value');
// Retrieve data
const record = await workingMemory.recall('key');
console.log(record?.content); // 'value'Episodic Memory
import { EpisodicMemoryRegistry } from '@a2arium/callagent-memory-sql';
const episodicMemory = new EpisodicMemoryRegistry({
tenantId: 'user-123'
});
// Store an event
await episodicMemory.store({
event: 'user_login',
timestamp: new Date(),
context: { userId: '123', ip: '192.168.1.1' }
});Semantic Memory
import { SemanticMemoryRegistry } from '@a2arium/callagent-memory-sql';
const semanticMemory = new SemanticMemoryRegistry({
tenantId: 'user-123'
});
// Store knowledge
await semanticMemory.store({
concept: 'AI Agent',
definition: 'An autonomous software entity...',
embeddings: vectorData
});
// Semantic search
const results = await semanticMemory.search('artificial intelligence');Features
- Multi-tenant Support: Isolated data per tenant/user
- Vector Storage: Semantic search with embeddings
- ACID Transactions: Reliable data persistence
- Binary Data Support: Store files, images, and binary content
- Optimized Queries: Performance-tuned database operations
Database Support
- PostgreSQL (recommended)
- MySQL
- SQLite (for development)
License
MIT
