| @@ -522,6 +522,7 @@ class WorkflowBasedAppRunner(AppRunner): | |||
| status=event.status, | |||
| data=event.data, | |||
| metadata=event.metadata, | |||
| node_id=event.node_id, | |||
| ) | |||
| ) | |||
| elif isinstance(event, ParallelBranchRunStartedEvent): | |||
| @@ -427,6 +427,7 @@ class QueueAgentLogEvent(AppQueueEvent): | |||
| status: str | |||
| data: Mapping[str, Any] | |||
| metadata: Optional[Mapping[str, Any]] = None | |||
| node_id: str | |||
| class QueueNodeRetryEvent(QueueNodeStartedEvent): | |||
| @@ -817,6 +817,7 @@ class AgentLogStreamResponse(StreamResponse): | |||
| status: str | |||
| data: Mapping[str, Any] | |||
| metadata: Optional[Mapping[str, Any]] = None | |||
| node_id: str | |||
| event: StreamEvent = StreamEvent.AGENT_LOG | |||
| data: Data | |||
| @@ -959,5 +959,6 @@ class WorkflowCycleManage: | |||
| status=event.status, | |||
| data=event.data, | |||
| metadata=event.metadata, | |||
| node_id=event.node_id, | |||
| ), | |||
| ) | |||
| @@ -268,6 +268,7 @@ class AgentLogEvent(BaseAgentEvent): | |||
| status: str = Field(..., description="status") | |||
| data: Mapping[str, Any] = Field(..., description="data") | |||
| metadata: Optional[Mapping[str, Any]] = Field(default=None, description="metadata") | |||
| node_id: str = Field(..., description="agent node id") | |||
| InNodeEvent = BaseNodeEvent | BaseParallelBranchEvent | BaseIterationEvent | BaseAgentEvent | BaseLoopEvent | |||
| @@ -18,6 +18,7 @@ from core.workflow.entities.node_entities import AgentNodeStrategyInit, NodeRunM | |||
| from core.workflow.entities.variable_pool import VariablePool, VariableValue | |||
| from core.workflow.graph_engine.condition_handlers.condition_manager import ConditionManager | |||
| from core.workflow.graph_engine.entities.event import ( | |||
| BaseAgentEvent, | |||
| BaseIterationEvent, | |||
| BaseLoopEvent, | |||
| GraphEngineEvent, | |||
| @@ -502,7 +503,7 @@ class GraphEngine: | |||
| break | |||
| yield event | |||
| if event.parallel_id == parallel_id: | |||
| if not isinstance(event, BaseAgentEvent) and event.parallel_id == parallel_id: | |||
| if isinstance(event, ParallelBranchRunSucceededEvent): | |||
| succeeded_count += 1 | |||
| if succeeded_count == len(futures): | |||
| @@ -338,6 +338,7 @@ class ToolNode(BaseNode[ToolNodeData]): | |||
| data=message.message.data, | |||
| label=message.message.label, | |||
| metadata=message.message.metadata, | |||
| node_id=self.node_id, | |||
| ) | |||
| # check if the agent log is already in the list | |||