Class: Memory
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:200
Unified public API for the AgentOS memory system.
One Memory instance manages the full lifecycle of an agent's memories:
storing, retrieving, ingesting documents, building a knowledge graph,
self-improving through consolidation, and importing/exporting data.
Quick start
const mem = await Memory.create({ store: 'sqlite', path: './brain.sqlite' });
await mem.remember('The user prefers dark mode');
const results = await mem.recall('dark mode preference');
console.log(results[0].trace.content);
await mem.close();
Accessors
graph
Get Signature
get graph():
IKnowledgeGraph
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1032
Access the underlying IKnowledgeGraph implementation.
Useful for advanced queries (traversal, semantic search, neighbourhood lookups) that are not exposed on the facade directly.
Returns
Methods
addEntity()
addEntity(
entity):Promise<KnowledgeEntity>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:971
Add or update an entity in the knowledge graph.
Delegates to SqlKnowledgeGraph.upsertEntity(). Accepts a partial
entity; id, createdAt, and updatedAt are auto-generated when omitted.
Parameters
entity
Partial<KnowledgeEntity>
Partial entity descriptor.
Returns
Promise<KnowledgeEntity>
The complete, persisted entity.
addRelation()
addRelation(
relation):Promise<KnowledgeRelation>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1002
Add or update a relation (edge) in the knowledge graph.
Delegates to SqlKnowledgeGraph.upsertRelation(). Accepts a partial
relation; id and createdAt are auto-generated when omitted.
Parameters
relation
Partial<KnowledgeRelation>
Partial relation descriptor.
Returns
Promise<KnowledgeRelation>
The complete, persisted relation.
close()
close():
Promise<void>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1462
Close the Memory instance and release all resources.
Flushes the SQLite WAL and releases the file lock. Must be called when the agent shuts down.
Returns
Promise<void>
consolidate()
consolidate(
options?):Promise<MemoryConsolidationResult>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1048
Run one consolidation cycle (prune, merge, strengthen, derive, compact, re-index).
Parameters
options?
Optional topic filter (reserved for future use).
topic?
string
Returns
Promise<MemoryConsolidationResult>
Statistics from the consolidation run.
Throws
When selfImprove was set to false in the config.
createTools()
createTools(
options?):ITool<any,any>[]
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1341
Create runtime ITool instances backed by this memory facade's SQLite brain.
This is the supported bridge from the standalone memory engine into
AgentOS tool registration. The returned tools share this Memory
instance's underlying SQLite database and consolidation loop.
Typical usage:
for (const tool of memory.createTools()) {
await agentos.getToolOrchestrator().registerTool(tool);
}
When self-improvement is disabled, memory_reflect is omitted because
there is no backing ConsolidationLoop instance.
Parameters
options?
includeReflect?
boolean
Returns
ITool<any, any>[]
export()
export(
outputPath,options?):Promise<void>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1174
Export the memory store to a file or directory.
Format is detected from options.format or the file extension:
.json-> JSON.sqlite/.db-> SQLite file copy- directory path -> Markdown or Obsidian (based on
options.format)
Parameters
outputPath
string
Path to write the export to.
options?
Optional format and content controls.
Returns
Promise<void>
exportToString()
exportToString(
options?):Promise<string>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1314
Export the full brain state as a JSON string without filesystem access.
Useful in browser environments or when the data needs to be sent over a network connection.
Parameters
options?
Optional export configuration (embeddings, conversations).
Returns
Promise<string>
Pretty-printed JSON string of the full brain payload.
feedback()
feedback(
traceId,signal,query?):Promise<void>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1071
Record retrieval feedback for a memory trace.
The feedback is persisted asynchronously. This method returns a Promise that resolves once the feedback has been written.
Parameters
traceId
string
The ID of the trace being evaluated.
signal
Whether the trace was 'used' or 'ignored' by the LLM.
"used" | "ignored"
query?
string
Optional retrieval context, typically the original user query.
Returns
Promise<void>
feedbackFromResponse()
feedbackFromResponse(
injectedTraces,response,query?):Promise<RetrievalFeedback[]>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1150
Detect and persist used/ignored feedback for a batch of injected traces based on the assistant's final response text.
This is the high-level bridge used by long-term-memory integrations that already know which traces were injected into the prompt.
Parameters
injectedTraces
response
string
query?
string
Returns
Promise<RetrievalFeedback[]>
forget()
forget(
traceId):Promise<void>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:814
Soft-delete a memory trace by setting deleted = 1.
The trace remains in the database for audit/recovery purposes but is excluded from all recall queries and health reports.
Parameters
traceId
string
The ID of the trace to forget.
Returns
Promise<void>
health()
health():
Promise<MemoryHealth>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1368
Return a health snapshot of the memory store.
Queries aggregate statistics from all tables and returns a MemoryHealth report.
Returns
Promise<MemoryHealth>
importFrom()
importFrom(
source,options?):Promise<ImportResult>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1220
Import memory data from a file or directory.
Format is detected from options.format, the file extension, or by
inspecting the content.
Parameters
source
string
Path to the import source (file or directory).
options?
Optional format hint and dedup settings.
Returns
Promise<ImportResult>
Summary of the import operation.
importFromString()
importFromString(
content,format,options?):Promise<ImportResult>
Defined in: packages/agentos/src/cognition/memory/io/facade/Memory.ts:1281
Import memory data from a string without filesystem access.
Supports JSON and CSV formats. Useful in browser environments or when the data is already in memory.