list_memories
Retrieve and display saved memories from the Hi-AI assistant, with options to filter by category or limit results.
Instructions
list|saved items|show saved|what memories - List saved memories
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category | |
| limit | No | Maximum number of results |
Implementation Reference
- src/tools/memory/listMemories.ts:23-46 (handler)The core handler function that executes the list_memories tool. Retrieves memories using MemoryManager, filters by category and limit, formats them into a list, and returns as ToolResult.export async function listMemories(args: { category?: string; limit?: number }): Promise<ToolResult> { const { category: listCategory, limit = 10 } = args; try { const mm = MemoryManager.getInstance(); const allMemories = mm.list(listCategory); const limitedMemories = allMemories.slice(0, limit); const memoryList = limitedMemories.map(m => `• ${m.key} (${m.category}): ${m.value.substring(0, 50)}${m.value.length > 50 ? '...' : ''}` ).join('\n'); return { content: [{ type: 'text', text: `✓ Found ${allMemories.length} memories${listCategory ? ` in '${listCategory}'` : ''}:\n${memoryList || 'None'}` }] }; } catch (error) { return { content: [{ type: 'text', text: `✗ Error: ${error instanceof Error ? error.message : 'Unknown error'}` }] }; } }
- The ToolDefinition object defining the list_memories tool, including its name, description, input schema, and annotations.export const listMemoriesDefinition: ToolDefinition = { name: 'list_memories', description: 'list|saved items|show saved|what memories - List saved memories', inputSchema: { type: 'object', properties: { category: { type: 'string', description: 'Filter by category' }, limit: { type: 'number', description: 'Maximum number of results' } }, required: [] }, annotations: { title: 'List Memories', audience: ['user', 'assistant'] } };
- src/index.ts:124-135 (registration)Registration of listMemoriesDefinition within the main tools array (lines 104-160), specifically in the Memory Management Tools section, enabling it for ListTools requests.// Memory Management Tools saveMemoryDefinition, recallMemoryDefinition, listMemoriesDefinition, deleteMemoryDefinition, searchMemoriesDefinition, updateMemoryDefinition, autoSaveContextDefinition, restoreSessionContextDefinition, prioritizeMemoryDefinition, startSessionDefinition,
- src/index.ts:640-641 (handler)Dispatcher in executeToolCall switch statement that routes 'list_memories' calls to the listMemories handler.case 'list_memories': return await listMemories(args as any) as CallToolResult;
- src/tools/memory/listMemories.ts:3-3 (helper)Import of MemoryManager, the underlying helper used by listMemories to access stored memories.import { MemoryManager } from '../../lib/MemoryManager.js';