diff --git a/__init__.py b/__init__.py index f99ab0e..03193a2 100644 --- a/__init__.py +++ b/__init__.py @@ -260,14 +260,6 @@ class Mem0LocalMemoryProvider(MemoryProvider): self._agent_id = self._config.get("agent_id", "hermes") self._rerank = self._config.get("rerank", True) - def _read_filters(self) -> Dict[str, Any]: - """Filters for search/get_all — scoped to user only.""" - return {"user_id": self._user_id} - - def _write_filters(self) -> Dict[str, Any]: - """Filters for add — scoped to user + agent.""" - return {"user_id": self._user_id, "agent_id": self._agent_id} - def system_prompt_block(self) -> str: return ( "# Mem0 Memory (Local)\n" @@ -276,8 +268,13 @@ class Mem0LocalMemoryProvider(MemoryProvider): "mem0_profile for a full overview." ) - def prefetch(self, query: str, *, session_id: str = "") -> str: - """Return cached prefetch result from previous turn.""" + def prefetch(self, query: str = "", *, session_id: str = "") -> str: + """Return cached prefetch result from previous turn. + + Args: + query: Deprecated, kept for API compatibility. + session_id: Session identifier. + """ if self._prefetch_thread and self._prefetch_thread.is_alive(): self._prefetch_thread.join(timeout=3.0) with self._prefetch_lock: @@ -299,7 +296,11 @@ class Mem0LocalMemoryProvider(MemoryProvider): limit=5, ) if results: - lines = [r.get("text", "") for r in results if r.get("text")] + lines = [ + r.get("text") or r.get("memory", "") + for r in results + if r.get("text") or r.get("memory") + ] if lines: self._record_success() return "\n".join(f"- {line}" for line in lines) @@ -427,6 +428,7 @@ class Mem0LocalMemoryProvider(MemoryProvider): client.add( message=conclusion, user_id=self._user_id, + agent_id=self._agent_id, ) self._record_success() return json.dumps({"result": "Fact stored."}) diff --git a/client.py b/client.py index 2dbb234..31fe6f1 100644 --- a/client.py +++ b/client.py @@ -94,17 +94,20 @@ class LocalMem0Client: self, message: str, user_id: Optional[str] = None, + agent_id: Optional[str] = None, metadata: Optional[Dict] = None, ) -> Dict: """Add a new memory. API: POST /add - Request: {message, user_id, metadata} + Request: {message, user_id, agent_id, metadata} Response: {success, memory_id, message} """ payload = {"message": message} if user_id: payload["user_id"] = user_id + if agent_id: + payload["agent_id"] = agent_id if metadata: payload["metadata"] = metadata return self._request("POST", "/add", json=payload)