refactor(backend): 更新 agentscope 事件存储和编解码
This commit is contained in:
@@ -131,7 +131,7 @@ def _build_tool_result(event: dict[str, Any]) -> ToolCallResultEvent:
|
|||||||
data = event.get("data", {})
|
data = event.get("data", {})
|
||||||
content = data.get("result")
|
content = data.get("result")
|
||||||
if not isinstance(content, str):
|
if not isinstance(content, str):
|
||||||
content = data.get("toolAgentOutput", "")
|
content = ""
|
||||||
return ToolCallResultEvent(
|
return ToolCallResultEvent(
|
||||||
message_id=data.get("messageId", ""),
|
message_id=data.get("messageId", ""),
|
||||||
tool_call_id=data.get("toolCallId", ""),
|
tool_call_id=data.get("toolCallId", ""),
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ from core.agentscope.events.persistence import MessageRepository, SessionReposit
|
|||||||
from core.logging import get_logger
|
from core.logging import get_logger
|
||||||
from models.agent_chat_message import AgentChatMessageRole
|
from models.agent_chat_message import AgentChatMessageRole
|
||||||
from models.agent_chat_session import AgentChatSessionStatus
|
from models.agent_chat_session import AgentChatSessionStatus
|
||||||
from schemas.agent.runtime_models import ToolAgentOutput, WorkerAgentOutputRich
|
from schemas.agent.runtime_models import AgentOutput, ToolAgentOutput
|
||||||
from schemas.agent.system_agent import AgentType
|
from schemas.agent.system_agent import AgentType
|
||||||
from schemas.messages.chat_message import AgentChatMessageMetadata
|
from schemas.messages.chat_message import AgentChatMessageMetadata
|
||||||
|
|
||||||
@@ -136,11 +136,22 @@ class SqlAlchemyEventStore:
|
|||||||
return
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
worker_output = WorkerAgentOutputRich.model_validate(worker_output_payload)
|
worker_output = AgentOutput.model_validate(worker_output_payload)
|
||||||
|
raw_agent_type = self._event_value(event, "stage")
|
||||||
|
normalized_agent_type = (
|
||||||
|
str(raw_agent_type).strip().lower()
|
||||||
|
if isinstance(raw_agent_type, str)
|
||||||
|
else AgentType.WORKER.value
|
||||||
|
)
|
||||||
|
agent_type = (
|
||||||
|
AgentType.MEMORY
|
||||||
|
if normalized_agent_type == AgentType.MEMORY.value
|
||||||
|
else AgentType.WORKER
|
||||||
|
)
|
||||||
metadata_model = AgentChatMessageMetadata(
|
metadata_model = AgentChatMessageMetadata(
|
||||||
run_id=run_id_value,
|
run_id=run_id_value,
|
||||||
agent_type=AgentType.WORKER,
|
agent_type=agent_type,
|
||||||
worker_agent_output=worker_output,
|
agent_output=worker_output,
|
||||||
)
|
)
|
||||||
except Exception:
|
except Exception:
|
||||||
self._logger.warning(
|
self._logger.warning(
|
||||||
|
|||||||
Reference in New Issue
Block a user