Merge pull request #457 from SuanmoSuanyangTechnology/fix/External-API

Fix/external api
This commit is contained in:
Ke Sun
2026-03-04 18:24:32 +08:00
committed by GitHub
2 changed files with 15 additions and 4 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. 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) memory_api_service = MemoryAPIService(db)

View File

@@ -140,9 +140,11 @@ class MemoryAPIService:
try: try:
# Delegate to MemoryAgentService # 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( result = await MemoryAgentService().write_memory(
end_user_id=end_user_id, end_user_id=end_user_id,
messages=message, messages=messages,
config_id=config_id, config_id=config_id,
db=self.db, db=self.db,
storage_type=storage_type, storage_type=storage_type,
@@ -151,9 +153,18 @@ class MemoryAPIService:
logger.info(f"Memory write successful for end_user: {end_user_id}") 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
# Preserve the full dict so callers don't silently lose extra fields
# (e.g. error codes, metadata) returned by MemoryAgentService.
if isinstance(result, dict):
return {
**result,
"status": result.get("status", "unknown"),
"end_user_id": end_user_id,
}
return { return {
"status": "success" if result == "success" else result, "status": result if isinstance(result, str) else "success",
"end_user_id": end_user_id "end_user_id": end_user_id,
} }
except ConfigurationError as e: except ConfigurationError as e: