Class: MemoryMergeTool
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:91
ITool implementation that merges multiple memory traces into one.
Usage:
const tool = new MemoryMergeTool(brain);
const result = await tool.execute(
{
traceIds: ['mt_1_0', 'mt_2_0', 'mt_3_0'],
mergedContent: 'Consolidated insight from three related observations.',
},
context,
);
// result.output → { survivorId: 'mt_1_0', deletedIds: ['mt_2_0', 'mt_3_0'] }
Implements
ITool<MemoryMergeInput,MemoryMergeOutput>
Constructors
Constructor
new MemoryMergeTool(
brain):MemoryMergeTool
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:135
Parameters
brain
The agent's shared SQLite brain database connection.
Returns
MemoryMergeTool
Properties
category
readonlycategory:"memory"='memory'
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:108
Logical category for discovery and grouping.
Implementation of
description
readonlydescription:string
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:102
LLM-facing description.
Implementation of
displayName
readonlydisplayName:"Merge Memories"='Merge Memories'
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:99
Human-readable display name.
Implementation of
hasSideEffects
readonlyhasSideEffects:true=true
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:111
This tool writes to the database.
Implementation of
id
readonlyid:"memory-merge-v1"='memory-merge-v1'
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:93
Globally unique tool identifier.
Implementation of
inputSchema
readonlyinputSchema:JSONSchemaObject
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:114
JSON schema for input validation and LLM tool-call construction.
Implementation of
name
readonlyname:"memory_merge"='memory_merge'
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:96
LLM-facing tool name.
Implementation of
Methods
execute()
execute(
args,_context):Promise<ToolExecutionResult<MemoryMergeOutput>>
Defined in: packages/agentos/src/memory/tools/MemoryMergeTool.ts:157
Merge the specified traces into one survivor.
Steps:
- Validate that at least 2 trace IDs were supplied.
- Load all matching, non-deleted traces from the database.
- Pick survivor by highest
retrieval_count; fallback to first found. - Compute merged content (provided or concatenated).
- Union all tags, deduplicate.
- Update survivor: new content, cleared embedding, unioned tags.
- Soft-delete all non-survivor traces.
Parameters
args
MemoryMergeInput
Merge input (traceIds, optional mergedContent).
_context
Tool execution context (not used by this tool).
Returns
Promise<ToolExecutionResult<MemoryMergeOutput>>
{ survivorId, deletedIds } on success, or an error result.