diff --git a/src/memos/api/handlers/memory_handler.py b/src/memos/api/handlers/memory_handler.py index 2a99d912c..d05da19db 100644 --- a/src/memos/api/handlers/memory_handler.py +++ b/src/memos/api/handlers/memory_handler.py @@ -185,7 +185,12 @@ def handle_get_memories( user_id=get_mem_req.user_id, page=get_mem_req.page, page_size=get_mem_req.page_size, - )["nodes"] + ) + total_nodes = memories["total_nodes"] + total_edges = memories["total_edges"] + del memories["total_nodes"] + del memories["total_edges"] + preferences: list[TextualMemoryItem] = [] if get_mem_req.include_preference and naive_mem_cube.pref_mem is not None: filter_params: dict[str, Any] = {} @@ -195,11 +200,25 @@ def handle_get_memories( filter_params["mem_cube_id"] = get_mem_req.mem_cube_id preferences = naive_mem_cube.pref_mem.get_memory_by_filter(filter_params) preferences = [format_memory_item(mem) for mem in preferences] + return GetMemoryResponse( message="Memories retrieved successfully", data={ - "text_mem": [{"cube_id": get_mem_req.mem_cube_id, "memories": memories}], - "pref_mem": [{"cube_id": get_mem_req.mem_cube_id, "memories": preferences}], + "text_mem": [ + { + "cube_id": get_mem_req.mem_cube_id, + "memories": memories, + "total_nodes": total_nodes, + "total_edges": total_edges, + } + ], + "pref_mem": [ + { + "cube_id": get_mem_req.mem_cube_id, + "memories": preferences, + "total_nodes": len(preferences), + } + ], }, ) diff --git a/src/memos/memories/textual/tree.py b/src/memos/memories/textual/tree.py index 764ceee67..e576c0ea9 100644 --- a/src/memos/memories/textual/tree.py +++ b/src/memos/memories/textual/tree.py @@ -332,10 +332,10 @@ def get_all( Returns: list[TextualMemoryItem]: List of all memories. """ - all_items = self.graph_store.export_graph( + graph_output = self.graph_store.export_graph( user_name=user_name, user_id=user_id, page=page, page_size=page_size ) - return all_items + return graph_output def delete(self, memory_ids: list[str], user_name: str | None = None) -> None: """Hard delete: permanently remove nodes and their edges from the graph."""