Update capture_event (#2527)
This commit is contained in:
@@ -89,7 +89,7 @@ class MemoryClient:
|
|||||||
timeout=300,
|
timeout=300,
|
||||||
)
|
)
|
||||||
self.user_email = self._validate_api_key()
|
self.user_email = self._validate_api_key()
|
||||||
capture_client_event("client.init", self)
|
capture_client_event("client.init", self, {"sync_type": "sync"})
|
||||||
|
|
||||||
def _validate_api_key(self):
|
def _validate_api_key(self):
|
||||||
"""Validate the API key by making a test request."""
|
"""Validate the API key by making a test request."""
|
||||||
@@ -143,7 +143,7 @@ class MemoryClient:
|
|||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
if "metadata" in kwargs:
|
if "metadata" in kwargs:
|
||||||
del kwargs["metadata"]
|
del kwargs["metadata"]
|
||||||
capture_client_event("client.add", self, {"keys": list(kwargs.keys())})
|
capture_client_event("client.add", self, {"keys": list(kwargs.keys()), "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -162,7 +162,7 @@ class MemoryClient:
|
|||||||
params = self._prepare_params()
|
params = self._prepare_params()
|
||||||
response = self.client.get(f"/v1/memories/{memory_id}/", params=params)
|
response = self.client.get(f"/v1/memories/{memory_id}/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.get", self, {"memory_id": memory_id})
|
capture_client_event("client.get", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -194,7 +194,7 @@ class MemoryClient:
|
|||||||
capture_client_event(
|
capture_client_event(
|
||||||
"client.get_all",
|
"client.get_all",
|
||||||
self,
|
self,
|
||||||
{"api_version": version, "keys": list(kwargs.keys())},
|
{"api_version": version, "keys": list(kwargs.keys()), "sync_type": "sync"},
|
||||||
)
|
)
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@@ -220,7 +220,7 @@ class MemoryClient:
|
|||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
if "metadata" in kwargs:
|
if "metadata" in kwargs:
|
||||||
del kwargs["metadata"]
|
del kwargs["metadata"]
|
||||||
capture_client_event("client.search", self, {"api_version": version, "keys": list(kwargs.keys())})
|
capture_client_event("client.search", self, {"api_version": version, "keys": list(kwargs.keys()), "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -233,7 +233,7 @@ class MemoryClient:
|
|||||||
Returns:
|
Returns:
|
||||||
Dict[str, Any]: The response from the server.
|
Dict[str, Any]: The response from the server.
|
||||||
"""
|
"""
|
||||||
capture_client_event("client.update", self, {"memory_id": memory_id})
|
capture_client_event("client.update", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
params = self._prepare_params()
|
params = self._prepare_params()
|
||||||
response = self.client.put(f"/v1/memories/{memory_id}/", json={"text": data}, params=params)
|
response = self.client.put(f"/v1/memories/{memory_id}/", json={"text": data}, params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
@@ -255,7 +255,7 @@ class MemoryClient:
|
|||||||
params = self._prepare_params()
|
params = self._prepare_params()
|
||||||
response = self.client.delete(f"/v1/memories/{memory_id}/", params=params)
|
response = self.client.delete(f"/v1/memories/{memory_id}/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.delete", self, {"memory_id": memory_id})
|
capture_client_event("client.delete", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -274,7 +274,7 @@ class MemoryClient:
|
|||||||
params = self._prepare_params(kwargs)
|
params = self._prepare_params(kwargs)
|
||||||
response = self.client.delete("/v1/memories/", params=params)
|
response = self.client.delete("/v1/memories/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.delete_all", self, {"keys": list(kwargs.keys())})
|
capture_client_event("client.delete_all", self, {"keys": list(kwargs.keys()), "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -293,7 +293,7 @@ class MemoryClient:
|
|||||||
params = self._prepare_params()
|
params = self._prepare_params()
|
||||||
response = self.client.get(f"/v1/memories/{memory_id}/history/", params=params)
|
response = self.client.get(f"/v1/memories/{memory_id}/history/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.history", self, {"memory_id": memory_id})
|
capture_client_event("client.history", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -302,7 +302,7 @@ class MemoryClient:
|
|||||||
params = self._prepare_params()
|
params = self._prepare_params()
|
||||||
response = self.client.get("/v1/entities/", params=params)
|
response = self.client.get("/v1/entities/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.users", self)
|
capture_client_event("client.users", self, {"sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -354,7 +354,7 @@ class MemoryClient:
|
|||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
|
|
||||||
capture_client_event(
|
capture_client_event(
|
||||||
"client.delete_users", self, {"user_id": user_id, "agent_id": agent_id, "app_id": app_id, "run_id": run_id}
|
"client.delete_users", self, {"user_id": user_id, "agent_id": agent_id, "app_id": app_id, "run_id": run_id, "sync_type": "sync"}
|
||||||
)
|
)
|
||||||
return {
|
return {
|
||||||
"message": "Entity deleted successfully."
|
"message": "Entity deleted successfully."
|
||||||
@@ -378,7 +378,7 @@ class MemoryClient:
|
|||||||
# This will also delete the memories
|
# This will also delete the memories
|
||||||
self.delete_users()
|
self.delete_users()
|
||||||
|
|
||||||
capture_client_event("client.reset", self)
|
capture_client_event("client.reset", self, {"sync_type": "sync"})
|
||||||
return {"message": "Client reset successful. All users and memories deleted."}
|
return {"message": "Client reset successful. All users and memories deleted."}
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -399,7 +399,7 @@ class MemoryClient:
|
|||||||
response = self.client.put("/v1/batch/", json={"memories": memories})
|
response = self.client.put("/v1/batch/", json={"memories": memories})
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
|
|
||||||
capture_client_event("client.batch_update", self)
|
capture_client_event("client.batch_update", self, {"sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -419,7 +419,7 @@ class MemoryClient:
|
|||||||
response = self.client.request("DELETE", "/v1/batch/", json={"memories": memories})
|
response = self.client.request("DELETE", "/v1/batch/", json={"memories": memories})
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
|
|
||||||
capture_client_event("client.batch_delete", self)
|
capture_client_event("client.batch_delete", self, {"sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -435,7 +435,7 @@ class MemoryClient:
|
|||||||
"""
|
"""
|
||||||
response = self.client.post("/v1/exports/", json={"schema": schema, **self._prepare_params(kwargs)})
|
response = self.client.post("/v1/exports/", json={"schema": schema, **self._prepare_params(kwargs)})
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.create_memory_export", self, {"schema": schema, "keys": list(kwargs.keys())})
|
capture_client_event("client.create_memory_export", self, {"schema": schema, "keys": list(kwargs.keys()), "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -450,7 +450,7 @@ class MemoryClient:
|
|||||||
"""
|
"""
|
||||||
response = self.client.post("/v1/exports/get/", json=self._prepare_params(kwargs))
|
response = self.client.post("/v1/exports/get/", json=self._prepare_params(kwargs))
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.get_memory_export", self, {"keys": list(kwargs.keys())})
|
capture_client_event("client.get_memory_export", self, {"keys": list(kwargs.keys()), "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -476,7 +476,7 @@ class MemoryClient:
|
|||||||
params=params,
|
params=params,
|
||||||
)
|
)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.get_project_details", self, {"fields": fields})
|
capture_client_event("client.get_project_details", self, {"fields": fields, "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -515,7 +515,7 @@ class MemoryClient:
|
|||||||
capture_client_event(
|
capture_client_event(
|
||||||
"client.update_project",
|
"client.update_project",
|
||||||
self,
|
self,
|
||||||
{"custom_instructions": custom_instructions, "custom_categories": custom_categories},
|
{"custom_instructions": custom_instructions, "custom_categories": custom_categories, "sync_type": "sync"},
|
||||||
)
|
)
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@@ -544,7 +544,7 @@ class MemoryClient:
|
|||||||
|
|
||||||
response = self.client.get(f"api/v1/webhooks/projects/{project_id}/")
|
response = self.client.get(f"api/v1/webhooks/projects/{project_id}/")
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.get_webhook", self)
|
capture_client_event("client.get_webhook", self, {"sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -567,7 +567,7 @@ class MemoryClient:
|
|||||||
payload = {"url": url, "name": name, "event_types": event_types}
|
payload = {"url": url, "name": name, "event_types": event_types}
|
||||||
response = self.client.post(f"api/v1/webhooks/projects/{project_id}/", json=payload)
|
response = self.client.post(f"api/v1/webhooks/projects/{project_id}/", json=payload)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.create_webhook", self)
|
capture_client_event("client.create_webhook", self, {"sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -596,7 +596,7 @@ class MemoryClient:
|
|||||||
payload = {k: v for k, v in {"name": name, "url": url, "event_types": event_types}.items() if v is not None}
|
payload = {k: v for k, v in {"name": name, "url": url, "event_types": event_types}.items() if v is not None}
|
||||||
response = self.client.put(f"api/v1/webhooks/{webhook_id}/", json=payload)
|
response = self.client.put(f"api/v1/webhooks/{webhook_id}/", json=payload)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.update_webhook", self, {"webhook_id": webhook_id})
|
capture_client_event("client.update_webhook", self, {"webhook_id": webhook_id, "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -615,7 +615,7 @@ class MemoryClient:
|
|||||||
|
|
||||||
response = self.client.delete(f"api/v1/webhooks/{webhook_id}/")
|
response = self.client.delete(f"api/v1/webhooks/{webhook_id}/")
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.delete_webhook", self, {"webhook_id": webhook_id})
|
capture_client_event("client.delete_webhook", self, {"webhook_id": webhook_id, "sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -632,7 +632,7 @@ class MemoryClient:
|
|||||||
|
|
||||||
response = self.client.post("/v1/feedback/", json=data)
|
response = self.client.post("/v1/feedback/", json=data)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("client.feedback", self, data)
|
capture_client_event("client.feedback", self, data, {"sync_type": "sync"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
def _prepare_payload(
|
def _prepare_payload(
|
||||||
@@ -721,7 +721,7 @@ class AsyncMemoryClient:
|
|||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
if "metadata" in kwargs:
|
if "metadata" in kwargs:
|
||||||
del kwargs["metadata"]
|
del kwargs["metadata"]
|
||||||
capture_client_event("async_client.add", self.sync_client, {"keys": list(kwargs.keys())})
|
capture_client_event("client.add", self.sync_client, {"keys": list(kwargs.keys()), "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -729,7 +729,7 @@ class AsyncMemoryClient:
|
|||||||
params = self.sync_client._prepare_params()
|
params = self.sync_client._prepare_params()
|
||||||
response = await self.async_client.get(f"/v1/memories/{memory_id}/", params=params)
|
response = await self.async_client.get(f"/v1/memories/{memory_id}/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.get", self.sync_client, {"memory_id": memory_id})
|
capture_client_event("client.get", self.sync_client, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -743,7 +743,7 @@ class AsyncMemoryClient:
|
|||||||
if "metadata" in kwargs:
|
if "metadata" in kwargs:
|
||||||
del kwargs["metadata"]
|
del kwargs["metadata"]
|
||||||
capture_client_event(
|
capture_client_event(
|
||||||
"async_client.get_all", self.sync_client, {"api_version": version, "keys": list(kwargs.keys())}
|
"client.get_all", self.sync_client, {"api_version": version, "keys": list(kwargs.keys()), "sync_type": "async"}
|
||||||
)
|
)
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@@ -756,7 +756,7 @@ class AsyncMemoryClient:
|
|||||||
if "metadata" in kwargs:
|
if "metadata" in kwargs:
|
||||||
del kwargs["metadata"]
|
del kwargs["metadata"]
|
||||||
capture_client_event(
|
capture_client_event(
|
||||||
"async_client.search", self.sync_client, {"api_version": version, "keys": list(kwargs.keys())}
|
"client.search", self.sync_client, {"api_version": version, "keys": list(kwargs.keys()), "sync_type": "async"}
|
||||||
)
|
)
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@@ -765,7 +765,7 @@ class AsyncMemoryClient:
|
|||||||
params = self.sync_client._prepare_params()
|
params = self.sync_client._prepare_params()
|
||||||
response = await self.async_client.put(f"/v1/memories/{memory_id}/", json={"text": data}, params=params)
|
response = await self.async_client.put(f"/v1/memories/{memory_id}/", json={"text": data}, params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.update", self.sync_client, {"memory_id": memory_id})
|
capture_client_event("client.update", self.sync_client, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -773,7 +773,7 @@ class AsyncMemoryClient:
|
|||||||
params = self.sync_client._prepare_params()
|
params = self.sync_client._prepare_params()
|
||||||
response = await self.async_client.delete(f"/v1/memories/{memory_id}/", params=params)
|
response = await self.async_client.delete(f"/v1/memories/{memory_id}/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.delete", self.sync_client, {"memory_id": memory_id})
|
capture_client_event("client.delete", self.sync_client, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -781,7 +781,7 @@ class AsyncMemoryClient:
|
|||||||
params = self.sync_client._prepare_params(kwargs)
|
params = self.sync_client._prepare_params(kwargs)
|
||||||
response = await self.async_client.delete("/v1/memories/", params=params)
|
response = await self.async_client.delete("/v1/memories/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.delete_all", self.sync_client, {"keys": list(kwargs.keys())})
|
capture_client_event("client.delete_all", self.sync_client, {"keys": list(kwargs.keys()), "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -789,7 +789,7 @@ class AsyncMemoryClient:
|
|||||||
params = self.sync_client._prepare_params()
|
params = self.sync_client._prepare_params()
|
||||||
response = await self.async_client.get(f"/v1/memories/{memory_id}/history/", params=params)
|
response = await self.async_client.get(f"/v1/memories/{memory_id}/history/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.history", self.sync_client, {"memory_id": memory_id})
|
capture_client_event("client.history", self.sync_client, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -797,7 +797,7 @@ class AsyncMemoryClient:
|
|||||||
params = self.sync_client._prepare_params()
|
params = self.sync_client._prepare_params()
|
||||||
response = await self.async_client.get("/v1/entities/", params=params)
|
response = await self.async_client.get("/v1/entities/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.users", self.sync_client)
|
capture_client_event("client.users", self.sync_client, {"sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -848,7 +848,7 @@ class AsyncMemoryClient:
|
|||||||
response = await self.async_client.delete(f"/v1/entities/{entity['type']}/{entity['id']}/", params=params)
|
response = await self.async_client.delete(f"/v1/entities/{entity['type']}/{entity['id']}/", params=params)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
|
|
||||||
capture_client_event("async_client.delete_users", self.sync_client)
|
capture_client_event("client.delete_users", self.sync_client, {"sync_type": "async"})
|
||||||
return {
|
return {
|
||||||
"message": "Entity deleted successfully."
|
"message": "Entity deleted successfully."
|
||||||
if (user_id or agent_id or app_id or run_id)
|
if (user_id or agent_id or app_id or run_id)
|
||||||
@@ -858,7 +858,7 @@ class AsyncMemoryClient:
|
|||||||
@api_error_handler
|
@api_error_handler
|
||||||
async def reset(self) -> Dict[str, str]:
|
async def reset(self) -> Dict[str, str]:
|
||||||
await self.delete_users()
|
await self.delete_users()
|
||||||
capture_client_event("async_client.reset", self.sync_client)
|
capture_client_event("client.reset", self.sync_client, {"sync_type": "async"})
|
||||||
return {"message": "Client reset successful. All users and memories deleted."}
|
return {"message": "Client reset successful. All users and memories deleted."}
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -879,7 +879,7 @@ class AsyncMemoryClient:
|
|||||||
response = await self.async_client.put("/v1/batch/", json={"memories": memories})
|
response = await self.async_client.put("/v1/batch/", json={"memories": memories})
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
|
|
||||||
capture_client_event("async_client.batch_update", self.sync_client)
|
capture_client_event("client.batch_update", self.sync_client, {"sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -899,7 +899,7 @@ class AsyncMemoryClient:
|
|||||||
response = await self.async_client.request("DELETE", "/v1/batch/", json={"memories": memories})
|
response = await self.async_client.request("DELETE", "/v1/batch/", json={"memories": memories})
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
|
|
||||||
capture_client_event("async_client.batch_delete", self.sync_client)
|
capture_client_event("client.batch_delete", self.sync_client, {"sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -916,7 +916,7 @@ class AsyncMemoryClient:
|
|||||||
response = await self.async_client.post("/v1/exports/", json={"schema": schema, **self._prepare_params(kwargs)})
|
response = await self.async_client.post("/v1/exports/", json={"schema": schema, **self._prepare_params(kwargs)})
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event(
|
capture_client_event(
|
||||||
"async_client.create_memory_export", self.sync_client, {"schema": schema, "keys": list(kwargs.keys())}
|
"client.create_memory_export", self.sync_client, {"schema": schema, "keys": list(kwargs.keys()), "sync_type": "async"}
|
||||||
)
|
)
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@@ -932,7 +932,7 @@ class AsyncMemoryClient:
|
|||||||
"""
|
"""
|
||||||
response = await self.async_client.post("/v1/exports/get/", json=self._prepare_params(kwargs))
|
response = await self.async_client.post("/v1/exports/get/", json=self._prepare_params(kwargs))
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.get_memory_export", self.sync_client, {"keys": list(kwargs.keys())})
|
capture_client_event("client.get_memory_export", self.sync_client, {"keys": list(kwargs.keys()), "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -946,7 +946,7 @@ class AsyncMemoryClient:
|
|||||||
params=params,
|
params=params,
|
||||||
)
|
)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.get_project", self.sync_client, {"fields": fields})
|
capture_client_event("client.get_project", self.sync_client, {"fields": fields, "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -970,9 +970,9 @@ class AsyncMemoryClient:
|
|||||||
)
|
)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event(
|
capture_client_event(
|
||||||
"async_client.update_project",
|
"client.update_project",
|
||||||
self.sync_client,
|
self.sync_client,
|
||||||
{"custom_instructions": custom_instructions, "custom_categories": custom_categories},
|
{"custom_instructions": custom_instructions, "custom_categories": custom_categories, "sync_type": "async"},
|
||||||
)
|
)
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@@ -985,7 +985,7 @@ class AsyncMemoryClient:
|
|||||||
f"api/v1/webhooks/projects/{project_id}/",
|
f"api/v1/webhooks/projects/{project_id}/",
|
||||||
)
|
)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.get_webhook", self.sync_client)
|
capture_client_event("client.get_webhook", self.sync_client, {"sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -993,7 +993,7 @@ class AsyncMemoryClient:
|
|||||||
payload = {"url": url, "name": name, "event_types": event_types}
|
payload = {"url": url, "name": name, "event_types": event_types}
|
||||||
response = await self.async_client.post(f"api/v1/webhooks/projects/{project_id}/", json=payload)
|
response = await self.async_client.post(f"api/v1/webhooks/projects/{project_id}/", json=payload)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.create_webhook", self.sync_client)
|
capture_client_event("client.create_webhook", self.sync_client, {"sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -1007,14 +1007,14 @@ class AsyncMemoryClient:
|
|||||||
payload = {k: v for k, v in {"name": name, "url": url, "event_types": event_types}.items() if v is not None}
|
payload = {k: v for k, v in {"name": name, "url": url, "event_types": event_types}.items() if v is not None}
|
||||||
response = await self.async_client.put(f"api/v1/webhooks/{webhook_id}/", json=payload)
|
response = await self.async_client.put(f"api/v1/webhooks/{webhook_id}/", json=payload)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.update_webhook", self.sync_client, {"webhook_id": webhook_id})
|
capture_client_event("client.update_webhook", self.sync_client, {"webhook_id": webhook_id, "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
async def delete_webhook(self, webhook_id: int) -> Dict[str, str]:
|
async def delete_webhook(self, webhook_id: int) -> Dict[str, str]:
|
||||||
response = await self.async_client.delete(f"api/v1/webhooks/{webhook_id}/")
|
response = await self.async_client.delete(f"api/v1/webhooks/{webhook_id}/")
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.delete_webhook", self.sync_client, {"webhook_id": webhook_id})
|
capture_client_event("client.delete_webhook", self.sync_client, {"webhook_id": webhook_id, "sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
@api_error_handler
|
@api_error_handler
|
||||||
@@ -1031,5 +1031,5 @@ class AsyncMemoryClient:
|
|||||||
|
|
||||||
response = await self.async_client.post("/v1/feedback/", json=data)
|
response = await self.async_client.post("/v1/feedback/", json=data)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
capture_client_event("async_client.feedback", self.sync_client, data)
|
capture_client_event("client.feedback", self.sync_client, data, {"sync_type": "async"})
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ class Memory(MemoryBase):
|
|||||||
self.graph = MemoryGraph(self.config)
|
self.graph = MemoryGraph(self.config)
|
||||||
self.enable_graph = True
|
self.enable_graph = True
|
||||||
|
|
||||||
capture_event("mem0.init", self)
|
capture_event("mem0.init", self, {"sync_type": "sync"})
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_config(cls, config_dict: Dict[str, Any]):
|
def from_config(cls, config_dict: Dict[str, Any]):
|
||||||
@@ -318,7 +318,7 @@ class Memory(MemoryBase):
|
|||||||
capture_event(
|
capture_event(
|
||||||
"mem0.add",
|
"mem0.add",
|
||||||
self,
|
self,
|
||||||
{"version": self.api_version, "keys": list(filters.keys())},
|
{"version": self.api_version, "keys": list(filters.keys()), "sync_type": "sync"},
|
||||||
)
|
)
|
||||||
|
|
||||||
return returned_memories
|
return returned_memories
|
||||||
@@ -344,7 +344,7 @@ class Memory(MemoryBase):
|
|||||||
Returns:
|
Returns:
|
||||||
dict: Retrieved memory.
|
dict: Retrieved memory.
|
||||||
"""
|
"""
|
||||||
capture_event("mem0.get", self, {"memory_id": memory_id})
|
capture_event("mem0.get", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
memory = self.vector_store.get(vector_id=memory_id)
|
memory = self.vector_store.get(vector_id=memory_id)
|
||||||
if not memory:
|
if not memory:
|
||||||
return None
|
return None
|
||||||
@@ -394,7 +394,7 @@ class Memory(MemoryBase):
|
|||||||
if run_id:
|
if run_id:
|
||||||
filters["run_id"] = run_id
|
filters["run_id"] = run_id
|
||||||
|
|
||||||
capture_event("mem0.get_all", self, {"limit": limit, "keys": list(filters.keys())})
|
capture_event("mem0.get_all", self, {"limit": limit, "keys": list(filters.keys()), "sync_type": "sync"})
|
||||||
|
|
||||||
with concurrent.futures.ThreadPoolExecutor() as executor:
|
with concurrent.futures.ThreadPoolExecutor() as executor:
|
||||||
future_memories = executor.submit(self._get_all_from_vector_store, filters, limit)
|
future_memories = executor.submit(self._get_all_from_vector_store, filters, limit)
|
||||||
@@ -484,7 +484,7 @@ class Memory(MemoryBase):
|
|||||||
capture_event(
|
capture_event(
|
||||||
"mem0.search",
|
"mem0.search",
|
||||||
self,
|
self,
|
||||||
{"limit": limit, "version": self.api_version, "keys": list(filters.keys())},
|
{"limit": limit, "version": self.api_version, "keys": list(filters.keys()), "sync_type": "sync"},
|
||||||
)
|
)
|
||||||
|
|
||||||
with concurrent.futures.ThreadPoolExecutor() as executor:
|
with concurrent.futures.ThreadPoolExecutor() as executor:
|
||||||
@@ -563,7 +563,7 @@ class Memory(MemoryBase):
|
|||||||
Returns:
|
Returns:
|
||||||
dict: Updated memory.
|
dict: Updated memory.
|
||||||
"""
|
"""
|
||||||
capture_event("mem0.update", self, {"memory_id": memory_id})
|
capture_event("mem0.update", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
|
|
||||||
existing_embeddings = {data: self.embedding_model.embed(data, "update")}
|
existing_embeddings = {data: self.embedding_model.embed(data, "update")}
|
||||||
|
|
||||||
@@ -577,7 +577,7 @@ class Memory(MemoryBase):
|
|||||||
Args:
|
Args:
|
||||||
memory_id (str): ID of the memory to delete.
|
memory_id (str): ID of the memory to delete.
|
||||||
"""
|
"""
|
||||||
capture_event("mem0.delete", self, {"memory_id": memory_id})
|
capture_event("mem0.delete", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
self._delete_memory(memory_id)
|
self._delete_memory(memory_id)
|
||||||
return {"message": "Memory deleted successfully!"}
|
return {"message": "Memory deleted successfully!"}
|
||||||
|
|
||||||
@@ -603,7 +603,7 @@ class Memory(MemoryBase):
|
|||||||
"At least one filter is required to delete all memories. If you want to delete all memories, use the `reset()` method."
|
"At least one filter is required to delete all memories. If you want to delete all memories, use the `reset()` method."
|
||||||
)
|
)
|
||||||
|
|
||||||
capture_event("mem0.delete_all", self, {"keys": list(filters.keys())})
|
capture_event("mem0.delete_all", self, {"keys": list(filters.keys()), "sync_type": "sync"})
|
||||||
memories = self.vector_store.list(filters=filters)[0]
|
memories = self.vector_store.list(filters=filters)[0]
|
||||||
for memory in memories:
|
for memory in memories:
|
||||||
self._delete_memory(memory.id)
|
self._delete_memory(memory.id)
|
||||||
@@ -625,7 +625,7 @@ class Memory(MemoryBase):
|
|||||||
Returns:
|
Returns:
|
||||||
list: List of changes for the memory.
|
list: List of changes for the memory.
|
||||||
"""
|
"""
|
||||||
capture_event("mem0.history", self, {"memory_id": memory_id})
|
capture_event("mem0.history", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
return self.db.get_history(memory_id)
|
return self.db.get_history(memory_id)
|
||||||
|
|
||||||
def _create_memory(self, data, existing_embeddings, metadata=None):
|
def _create_memory(self, data, existing_embeddings, metadata=None):
|
||||||
@@ -646,7 +646,7 @@ class Memory(MemoryBase):
|
|||||||
payloads=[metadata],
|
payloads=[metadata],
|
||||||
)
|
)
|
||||||
self.db.add_history(memory_id, None, data, "ADD", created_at=metadata["created_at"])
|
self.db.add_history(memory_id, None, data, "ADD", created_at=metadata["created_at"])
|
||||||
capture_event("mem0._create_memory", self, {"memory_id": memory_id})
|
capture_event("mem0._create_memory", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
return memory_id
|
return memory_id
|
||||||
|
|
||||||
def _create_procedural_memory(self, messages, metadata=None, prompt=None):
|
def _create_procedural_memory(self, messages, metadata=None, prompt=None):
|
||||||
@@ -683,7 +683,7 @@ class Memory(MemoryBase):
|
|||||||
embeddings = self.embedding_model.embed(procedural_memory, memory_action="add")
|
embeddings = self.embedding_model.embed(procedural_memory, memory_action="add")
|
||||||
# Create the memory
|
# Create the memory
|
||||||
memory_id = self._create_memory(procedural_memory, {procedural_memory: embeddings}, metadata=metadata)
|
memory_id = self._create_memory(procedural_memory, {procedural_memory: embeddings}, metadata=metadata)
|
||||||
capture_event("mem0._create_procedural_memory", self, {"memory_id": memory_id})
|
capture_event("mem0._create_procedural_memory", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
|
|
||||||
# Return results in the same format as add()
|
# Return results in the same format as add()
|
||||||
result = {"results": [{"id": memory_id, "memory": procedural_memory, "event": "ADD"}]}
|
result = {"results": [{"id": memory_id, "memory": procedural_memory, "event": "ADD"}]}
|
||||||
@@ -730,7 +730,7 @@ class Memory(MemoryBase):
|
|||||||
created_at=new_metadata["created_at"],
|
created_at=new_metadata["created_at"],
|
||||||
updated_at=new_metadata["updated_at"],
|
updated_at=new_metadata["updated_at"],
|
||||||
)
|
)
|
||||||
capture_event("mem0._update_memory", self, {"memory_id": memory_id})
|
capture_event("mem0._update_memory", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
return memory_id
|
return memory_id
|
||||||
|
|
||||||
def _delete_memory(self, memory_id):
|
def _delete_memory(self, memory_id):
|
||||||
@@ -739,7 +739,7 @@ class Memory(MemoryBase):
|
|||||||
prev_value = existing_memory.payload["data"]
|
prev_value = existing_memory.payload["data"]
|
||||||
self.vector_store.delete(vector_id=memory_id)
|
self.vector_store.delete(vector_id=memory_id)
|
||||||
self.db.add_history(memory_id, prev_value, None, "DELETE", is_deleted=1)
|
self.db.add_history(memory_id, prev_value, None, "DELETE", is_deleted=1)
|
||||||
capture_event("mem0._delete_memory", self, {"memory_id": memory_id})
|
capture_event("mem0._delete_memory", self, {"memory_id": memory_id, "sync_type": "sync"})
|
||||||
return memory_id
|
return memory_id
|
||||||
|
|
||||||
def reset(self):
|
def reset(self):
|
||||||
@@ -752,7 +752,7 @@ class Memory(MemoryBase):
|
|||||||
self.config.vector_store.provider, self.config.vector_store.config
|
self.config.vector_store.provider, self.config.vector_store.config
|
||||||
)
|
)
|
||||||
self.db.reset()
|
self.db.reset()
|
||||||
capture_event("mem0.reset", self)
|
capture_event("mem0.reset", self, {"sync_type": "sync"})
|
||||||
|
|
||||||
def chat(self, query):
|
def chat(self, query):
|
||||||
raise NotImplementedError("Chat function not implemented yet.")
|
raise NotImplementedError("Chat function not implemented yet.")
|
||||||
@@ -783,7 +783,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
self.graph = MemoryGraph(self.config)
|
self.graph = MemoryGraph(self.config)
|
||||||
self.enable_graph = True
|
self.enable_graph = True
|
||||||
|
|
||||||
capture_event("async_mem0.init", self)
|
capture_event("mem0.init", self, {"sync_type": "async"})
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
async def from_config(cls, config_dict: Dict[str, Any]):
|
async def from_config(cls, config_dict: Dict[str, Any]):
|
||||||
@@ -1063,7 +1063,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Error in new_memories_with_actions: {e}")
|
logging.error(f"Error in new_memories_with_actions: {e}")
|
||||||
|
|
||||||
capture_event("async_mem0.add", self, {"version": self.api_version, "keys": list(filters.keys())})
|
capture_event("mem0.add", self, {"version": self.api_version, "keys": list(filters.keys()), "sync_type": "async"})
|
||||||
|
|
||||||
return returned_memories
|
return returned_memories
|
||||||
|
|
||||||
@@ -1088,7 +1088,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
Returns:
|
Returns:
|
||||||
dict: Retrieved memory.
|
dict: Retrieved memory.
|
||||||
"""
|
"""
|
||||||
capture_event("async_mem0.get", self, {"memory_id": memory_id})
|
capture_event("mem0.get", self, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
memory = await asyncio.to_thread(self.vector_store.get, vector_id=memory_id)
|
memory = await asyncio.to_thread(self.vector_store.get, vector_id=memory_id)
|
||||||
if not memory:
|
if not memory:
|
||||||
return None
|
return None
|
||||||
@@ -1129,7 +1129,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
if run_id:
|
if run_id:
|
||||||
filters["run_id"] = run_id
|
filters["run_id"] = run_id
|
||||||
|
|
||||||
capture_event("async_mem0.get_all", self, {"limit": limit, "keys": list(filters.keys())})
|
capture_event("mem0.get_all", self, {"limit": limit, "keys": list(filters.keys()), "sync_type": "async"})
|
||||||
|
|
||||||
# Run vector store and graph operations concurrently
|
# Run vector store and graph operations concurrently
|
||||||
vector_store_task = asyncio.create_task(self._get_all_from_vector_store(filters, limit))
|
vector_store_task = asyncio.create_task(self._get_all_from_vector_store(filters, limit))
|
||||||
@@ -1216,9 +1216,9 @@ class AsyncMemory(MemoryBase):
|
|||||||
raise ValueError("One of the filters: user_id, agent_id or run_id is required!")
|
raise ValueError("One of the filters: user_id, agent_id or run_id is required!")
|
||||||
|
|
||||||
capture_event(
|
capture_event(
|
||||||
"async_mem0.search",
|
"mem0.search",
|
||||||
self,
|
self,
|
||||||
{"limit": limit, "version": self.api_version, "keys": list(filters.keys())},
|
{"limit": limit, "version": self.api_version, "keys": list(filters.keys()), "sync_type": "async"},
|
||||||
)
|
)
|
||||||
|
|
||||||
# Run vector store and graph operations concurrently
|
# Run vector store and graph operations concurrently
|
||||||
@@ -1296,7 +1296,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
Returns:
|
Returns:
|
||||||
dict: Updated memory.
|
dict: Updated memory.
|
||||||
"""
|
"""
|
||||||
capture_event("async_mem0.update", self, {"memory_id": memory_id})
|
capture_event("mem0.update", self, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
|
|
||||||
embeddings = await asyncio.to_thread(self.embedding_model.embed, data, "update")
|
embeddings = await asyncio.to_thread(self.embedding_model.embed, data, "update")
|
||||||
existing_embeddings = {data: embeddings}
|
existing_embeddings = {data: embeddings}
|
||||||
@@ -1311,7 +1311,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
Args:
|
Args:
|
||||||
memory_id (str): ID of the memory to delete.
|
memory_id (str): ID of the memory to delete.
|
||||||
"""
|
"""
|
||||||
capture_event("async_mem0.delete", self, {"memory_id": memory_id})
|
capture_event("mem0.delete", self, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
await self._delete_memory(memory_id)
|
await self._delete_memory(memory_id)
|
||||||
return {"message": "Memory deleted successfully!"}
|
return {"message": "Memory deleted successfully!"}
|
||||||
|
|
||||||
@@ -1337,7 +1337,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
"At least one filter is required to delete all memories. If you want to delete all memories, use the `reset()` method."
|
"At least one filter is required to delete all memories. If you want to delete all memories, use the `reset()` method."
|
||||||
)
|
)
|
||||||
|
|
||||||
capture_event("async_mem0.delete_all", self, {"keys": list(filters.keys())})
|
capture_event("mem0.delete_all", self, {"keys": list(filters.keys()), "sync_type": "async"})
|
||||||
memories = await asyncio.to_thread(self.vector_store.list, filters=filters)
|
memories = await asyncio.to_thread(self.vector_store.list, filters=filters)
|
||||||
|
|
||||||
delete_tasks = []
|
delete_tasks = []
|
||||||
@@ -1363,7 +1363,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
Returns:
|
Returns:
|
||||||
list: List of changes for the memory.
|
list: List of changes for the memory.
|
||||||
"""
|
"""
|
||||||
capture_event("async_mem0.history", self, {"memory_id": memory_id})
|
capture_event("mem0.history", self, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
return await asyncio.to_thread(self.db.get_history, memory_id)
|
return await asyncio.to_thread(self.db.get_history, memory_id)
|
||||||
|
|
||||||
async def _create_memory(self, data, existing_embeddings, metadata=None):
|
async def _create_memory(self, data, existing_embeddings, metadata=None):
|
||||||
@@ -1388,7 +1388,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
|
|
||||||
await asyncio.to_thread(self.db.add_history, memory_id, None, data, "ADD", created_at=metadata["created_at"])
|
await asyncio.to_thread(self.db.add_history, memory_id, None, data, "ADD", created_at=metadata["created_at"])
|
||||||
|
|
||||||
capture_event("async_mem0._create_memory", self, {"memory_id": memory_id})
|
capture_event("mem0._create_memory", self, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
return memory_id
|
return memory_id
|
||||||
|
|
||||||
async def _create_procedural_memory(self, messages, metadata=None, llm=None, prompt=None):
|
async def _create_procedural_memory(self, messages, metadata=None, llm=None, prompt=None):
|
||||||
@@ -1438,7 +1438,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
embeddings = await asyncio.to_thread(self.embedding_model.embed, procedural_memory, memory_action="add")
|
embeddings = await asyncio.to_thread(self.embedding_model.embed, procedural_memory, memory_action="add")
|
||||||
# Create the memory
|
# Create the memory
|
||||||
memory_id = await self._create_memory(procedural_memory, {procedural_memory: embeddings}, metadata=metadata)
|
memory_id = await self._create_memory(procedural_memory, {procedural_memory: embeddings}, metadata=metadata)
|
||||||
capture_event("async_mem0._create_procedural_memory", self, {"memory_id": memory_id})
|
capture_event("mem0._create_procedural_memory", self, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
|
|
||||||
# Return results in the same format as add()
|
# Return results in the same format as add()
|
||||||
result = {"results": [{"id": memory_id, "memory": procedural_memory, "event": "ADD"}]}
|
result = {"results": [{"id": memory_id, "memory": procedural_memory, "event": "ADD"}]}
|
||||||
@@ -1492,7 +1492,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
updated_at=new_metadata["updated_at"],
|
updated_at=new_metadata["updated_at"],
|
||||||
)
|
)
|
||||||
|
|
||||||
capture_event("async_mem0._update_memory", self, {"memory_id": memory_id})
|
capture_event("mem0._update_memory", self, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
return memory_id
|
return memory_id
|
||||||
|
|
||||||
async def _delete_memory(self, memory_id):
|
async def _delete_memory(self, memory_id):
|
||||||
@@ -1503,7 +1503,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
await asyncio.to_thread(self.vector_store.delete, vector_id=memory_id)
|
await asyncio.to_thread(self.vector_store.delete, vector_id=memory_id)
|
||||||
await asyncio.to_thread(self.db.add_history, memory_id, prev_value, None, "DELETE", is_deleted=1)
|
await asyncio.to_thread(self.db.add_history, memory_id, prev_value, None, "DELETE", is_deleted=1)
|
||||||
|
|
||||||
capture_event("async_mem0._delete_memory", self, {"memory_id": memory_id})
|
capture_event("mem0._delete_memory", self, {"memory_id": memory_id, "sync_type": "async"})
|
||||||
return memory_id
|
return memory_id
|
||||||
|
|
||||||
async def reset(self):
|
async def reset(self):
|
||||||
@@ -1516,7 +1516,7 @@ class AsyncMemory(MemoryBase):
|
|||||||
self.config.vector_store.provider, self.config.vector_store.config
|
self.config.vector_store.provider, self.config.vector_store.config
|
||||||
)
|
)
|
||||||
await asyncio.to_thread(self.db.reset)
|
await asyncio.to_thread(self.db.reset)
|
||||||
capture_event("async_mem0.reset", self)
|
capture_event("mem0.reset", self, {"sync_type": "async"})
|
||||||
|
|
||||||
async def chat(self, query):
|
async def chat(self, query):
|
||||||
raise NotImplementedError("Chat function not implemented yet.")
|
raise NotImplementedError("Chat function not implemented yet.")
|
||||||
|
|||||||
Reference in New Issue
Block a user