neuroverse_recall
Retrieve stored memories from NeuroVerse's tiered memory system using user ID, intent filters, tier selection, or semantic queries to access relevant information.
Instructions
Retrieve memories from NeuroVerse's tiered memory system.
Args:
user_id (string): Agent / user identifier
intent (string, optional): Filter by intent
tier (string, optional): Filter by tier
semantic_query (string, optional): Search constraint for vector engine
limit (number): Max results (1–100, default 10)
Returns: JSON array of matching MemoryRecords
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | Agent / user identifier | |
| intent | No | Filter by intent | |
| tier | No | Filter by tier | |
| semantic_query | No | Query for semantic retrieval reranking | |
| limit | No | Max results |
Implementation Reference
- npm/src/core/memory.ts:139-165 (handler)The core implementation of the memory retrieval logic used by the neuroverse_recall tool.
export async function recallMemory(query: MemoryQuery): Promise<MemoryRecord[]> { const results: MemoryRecord[] = []; // Check short-term const stRecords = shortTerm.get(query.userId) ?? []; for (const r of stRecords) { if (query.tier && r.tier !== query.tier) continue; if (query.intent && r.intent !== query.intent) continue; results.push(r); } // Check persistent if (!query.tier || query.tier !== "short_term") { const persistent = loadPersistent(); for (const r of persistent) { if (r.userId !== query.userId) continue; if (query.tier && r.tier !== query.tier) continue; if (query.intent && r.intent !== query.intent) continue; results.push(r); } } // Apply Semantic Search if requested if (query.semanticQuery && results.length > 0) { const qVector = await generateEmbedding(query.semanticQuery); if (qVector) { results.sort((a, b) => { - npm/src/index.ts:214-244 (registration)Tool registration and handler wrapper for neuroverse_recall.
server.registerTool( "neuroverse_recall", { title: "Recall Memory", description: `Retrieve memories from NeuroVerse's tiered memory system. Args: - user_id (string): Agent / user identifier - intent (string, optional): Filter by intent - tier (string, optional): Filter by tier - semantic_query (string, optional): Search constraint for vector engine - limit (number): Max results (1–100, default 10) Returns: JSON array of matching MemoryRecords`, inputSchema: RecallMemorySchema, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false, }, }, async (params) => { const results = await recallMemory({ userId: params.user_id, intent: params.intent, tier: params.tier as MemoryTier | undefined, semanticQuery: params.semantic_query, limit: params.limit, }); - npm/src/index.ts:201-212 (schema)Input validation schema for neuroverse_recall.
const RecallMemorySchema = z .object({ user_id: z.string().min(1).describe("Agent / user identifier"), intent: z.string().optional().describe("Filter by intent"), tier: z .enum(["short_term", "episodic", "semantic"]) .optional() .describe("Filter by tier"), semantic_query: z.string().optional().describe("Query for semantic retrieval reranking"), limit: z.number().int().min(1).max(100).default(10).describe("Max results"), }) .strict();