Agent Memory
Memory is governed agent memory: every verb runs through ACL + purpose + audit, and forget is a governed retract (not a hard delete). Recall blends hybrid search with recency and a confidence/stability model — the cognitive substrate for LangChain/LlamaIndex/CrewAI/AutoGen/LangGraph adapters.
16 methods across this domain. Signatures, parameters (incl. keyword-only tunable defaults), and the three SDK spellings are ported from the live SDK source; flagship methods carry a hand-written When to use + example.
Memory
add(content, confidence=1.0, memory_class='semantic', session_id=None)
When to use. Remember — store a memory with confidence/class; returns its id.
- Python —
client.memory.add(content, confidence=1.0, memory_class='semantic', session_id=None) - TypeScript —
add(content, opts) - Go —
Add(content)
Parameters: content, confidence=1.0, memory_class='semantic', session_id=None
Example
from relata import Memory
with Memory(url, purpose="agent-notes") as m:
mid = m.add("Alice prefers dark mode", confidence=0.9)forget(memory_id)
When to use. Governed retract of a memory — audit-logged, not a hard delete.
- Python —
client.memory.forget(memory_id) - TypeScript —
forget(memoryId) - Go —
Forget(memoryID)
Parameters: memory_id
Example
m.forget(mid, reason="stale-preference")search(query, top_k=5, session_id=None, as_of=None, min_confidence=None, recency_half_life_secs=None, budget_tokens=None, stability_days=None, cancel_threshold=None)
When to use. Recall — hybrid + recency memory retrieval.
- Python —
client.memory.search(query, top_k=5, session_id=None, as_of=None, min_confidence=None, recency_half_life_secs=None, budget_tokens=None, stability_days=None, cancel_threshold=None) - TypeScript —
search(query, opts) - Go —
Search(query)
Parameters: query, top_k=5, session_id=None, as_of=None, min_confidence=None, recency_half_life_secs=None, budget_tokens=None, stability_days=None, cancel_threshold=None
Example
for hit in m.search("ui preferences", top_k=5):
print(hit["content"], hit["score"])add_batch(items, session_id=None)
add_batch(items, session_id=None)`
- Python —
client.memory.add_batch(items, session_id=None) - TypeScript —
addBatch(items, opts) - Go —
AddBatch(items)
Parameters: items, session_id=None
associate(source_id, target_id, relation, confidence=1.0)
associate(source_id, target_id, relation, confidence=1.0)`
- Python —
client.memory.associate(source_id, target_id, relation, confidence=1.0) - TypeScript —
associate(sourceId, targetId, relation, opts) - Go —
Associate(sourceID, targetID, relation)
Parameters: source_id, target_id, relation, confidence=1.0
batch_search(queries, top_k=5)
batch_search(queries, top_k=5)`
- Python —
client.memory.batch_search(queries, top_k=5)
Parameters: queries, top_k=5
episodes(session_id=None, as_of=None)
episodes(session_id=None, as_of=None)`
- Python —
client.memory.episodes(session_id=None, as_of=None) - TypeScript —
episodes(opts) - Go —
Episodes()
Parameters: session_id=None, as_of=None
get(memory_id)
get(memory_id)`
- Python —
client.memory.get(memory_id) - TypeScript —
get(memoryId) - Go —
Get(memoryID)
Parameters: memory_id
justify(memory_id)
justify(memory_id)`
- Python —
client.memory.justify(memory_id) - TypeScript —
justify(memoryId) - Go —
Justify(memoryID)
Parameters: memory_id
resolve(memory_id)
resolve(memory_id)`
- Python —
client.memory.resolve(memory_id) - TypeScript —
resolve(memoryId) - Go —
Resolve(memoryID)
Parameters: memory_id
search_detailed(query, top_k=5, session_id=None, as_of=None, min_confidence=None, recency_half_life_secs=None, budget_tokens=None, stability_days=None, cancel_threshold=None)
search_detailed(query, top_k=5, session_id=None, as_of=None, min_confidence=None, recency_half_life_secs=None, budget_tokens=None, stability_days=None, cancel_threshold=None)`
- Python —
client.memory.search_detailed(query, top_k=5, session_id=None, as_of=None, min_confidence=None, recency_half_life_secs=None, budget_tokens=None, stability_days=None, cancel_threshold=None) - TypeScript —
searchDetailed(query, opts) - Go —
SearchDetailed(query)
Parameters: query, top_k=5, session_id=None, as_of=None, min_confidence=None, recency_half_life_secs=None, budget_tokens=None, stability_days=None, cancel_threshold=None
summarise(source_ids, summary_content=None)
summarise(source_ids, summary_content=None)`
- Python —
client.memory.summarise(source_ids, summary_content=None) - TypeScript —
summarise(sourceIds, opts) - Go —
Summarise(sourceIDs)
Parameters: source_ids, summary_content=None
update(memory_id, content)
update(memory_id, content)`
- Python —
client.memory.update(memory_id, content) - TypeScript —
update(memoryId, content) - Go —
Update(memoryID, content)
Parameters: memory_id, content
RelataClient
forget(id)
forget(id)`
- TypeScript —
forget(id)
Parameters: id
recall(query, opts)
recall(query, opts)`
- TypeScript —
recall(query, opts)
Parameters: query, opts
remember(content, opts)
remember(content, opts)`
- TypeScript —
remember(content, opts)
Parameters: content, opts