MemoryService
Interface for cross-session long-term memory.
MemoryService is the counterpart to SessionStore:
- SessionStore manages per-session state (messages, workingMemory, agentStates)
- MemoryService manages cross-session knowledge (facts, summaries, preferences)
The service has two responsibilities:
- Ingestion — converting session data into searchable memories
- Retrieval — finding relevant memories for a given query
Methods
Section titled “Methods”addSessionToMemory()
Section titled “addSessionToMemory()”addSessionToMemory(session, options?): Promise<void>;Ingest a session into long-term memory.
Typically called when a session ends or reaches a meaningful checkpoint. Implementations may store raw events, extract facts via LLM, or summarize. A session may be ingested multiple times (implementations must handle idempotency).
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
|
|
The session to ingest |
|
|
|
Optional ingestion configuration |
Returns
Section titled “Returns”Promise<void>
deleteMemories()?
Section titled “deleteMemories()?”optional deleteMemories(userId): Promise<void>;Delete all memories for a user. Used for GDPR compliance / data cleanup.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
|
|
|
Returns
Section titled “Returns”Promise<void>
searchMemory()
Section titled “searchMemory()”searchMemory(request): Promise<SearchMemoryResponse>;Search long-term memory for relevant context.
Returns memories scoped to a specific user within an application context. Implementations may use keyword matching, semantic search, or hybrid approaches.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
|
|
Search parameters (userId, query, optional filters) |
Returns
Section titled “Returns”Promise<SearchMemoryResponse>