@chaoszh/mnemo-core
v0.1.2
Published
Mnemo core service logic — tool handlers, embeddings, database client
Readme
@chaoszh/mnemo-core
Core service logic for Mnemo — persistent memory for LLM agents. Provides tool handlers, embeddings, and database client.
Install
npm install @chaoszh/mnemo-coreUsage
import { createHandlers } from '@chaoszh/mnemo-core';
const handlers = createHandlers({
databaseUrl: process.env.DATABASE_URL,
agentId: 'my-agent',
embedding: {
type: 'gemini',
apiKey: process.env.GEMINI_API_KEY,
},
});
// Save a memory
await handlers.save_memory({
content: 'User prefers dark mode',
memory_type: 'semantic',
});
// Search memories
await handlers.search_memories({
query: 'user preferences',
limit: 5,
});API
createHandlers(config)
Returns a map of pre-wired handlers bound to a single database + embedder instance:
| Handler | Description |
|---|---|
| save_memory | Persist a memory |
| search_memories | Find memories by semantic similarity |
| delete_memory | Delete a memory by ID |
| update_memory | Correct or amend an existing memory |
Config
| Field | Required | Description |
|---|---|---|
| databaseUrl | ✅ | Postgres connection string |
| agentId | ✅ | Unique identifier for this agent |
| embedding.type | ✅ | Embedding provider — "gemini" |
| embedding.apiKey | ✅ | API key for the embedding provider |
| defaultSearchLimit | — | Max results from search_memories (default 5) |
Database
Requires PostgreSQL with pgvector. Apply migrations from db/ before use:
for f in db/*.sql; do psql "$DATABASE_URL" -f "$f"; done