API Reference
Memory API
CRUD operations, search, and bulk management for memories.
create()
Create a new memory with automatic multi-vector encoding.
const memory = await engine.create({
content: string, // required: the memory text
userId: string, // required: owner identifier
metadata?: {
domain?: string,
taskType?: string,
[key: string]: any,
},
emotions?: Array<{
label: string,
intensity: number, // 0.0 – 1.0
}>,
episodeId?: string, // associate with an episode
});
// Returns: Memory object with id, embeddings, timestampssearch()
Search memories using weighted Reciprocal Rank Fusion across five channels. Channel weights are automatically adjusted per query type by the adaptive retrieval system.
const results = await engine.search({
query: string, // required: natural language query
userId: string, // required: scope to user
limit?: number, // default 10
filters?: {
emotions?: string[], // filter by emotion labels
timeRange?: {
start: Date,
end: Date,
},
domain?: string,
episodeId?: string,
},
channelWeights?: { // override adaptive weights
semantic?: number,
temporal?: number,
emotional?: number,
keyword?: number,
graph?: number,
},
});
// Returns: Array<{ memory: Memory, score: number, channels: ChannelScores }>get()
Retrieve a single memory by ID.
const memory = await engine.get(memoryId: string);update()
Update a memory's content or metadata. Re-encodes all vector spaces.
const updated = await engine.update(memoryId, {
content?: string,
metadata?: Record<string, any>,
emotions?: Array<{ label: string, intensity: number }>,
});delete()
Remove a memory and its embeddings from all vector spaces.
await engine.delete(memoryId: string);bulk()
Perform batch operations for efficient bulk ingestion or cleanup.
await engine.bulk({
create?: Array<CreateParams>,
delete?: string[], // array of memory IDs
});