[fix] Fix the external write memory API

This commit is contained in:
lanceyq
2026-03-04 17:26:30 +08:00
parent 37325e9802
commit 53dbe2f436
2 changed files with 10 additions and 3 deletions

View File

@@ -39,7 +39,7 @@ async def write_memory_api_service(
Stores memory content for the specified end user using the Memory API Service.
"""
logger.info(f"Memory write request - end_user_id: {payload.end_user_id}, tenant_id: {api_key_auth.tenant_id}")
logger.info(f"Memory write request - end_user_id: {payload.end_user_id}, workspace_id: {api_key_auth.workspace_id}")
memory_api_service = MemoryAPIService(db)

View File

@@ -140,9 +140,11 @@ class MemoryAPIService:
try:
# Delegate to MemoryAgentService
# Convert string message to list[dict] format expected by MemoryAgentService
messages = message if isinstance(message, list) else [{"role": "user", "content": message}]
result = await MemoryAgentService().write_memory(
end_user_id=end_user_id,
messages=message,
messages=messages,
config_id=config_id,
db=self.db,
storage_type=storage_type,
@@ -151,8 +153,13 @@ class MemoryAPIService:
logger.info(f"Memory write successful for end_user: {end_user_id}")
# result may be a string "success" or a dict with a "status" key
if isinstance(result, dict):
status = result.get("status", "success")
else:
status = result if isinstance(result, str) else "success"
return {
"status": "success" if result == "success" else result,
"status": status,
"end_user_id": end_user_id
}