| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  | from collections.abc import Mapping | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  | from datetime import datetime | 
					
						
							| 
									
										
										
										
											2024-11-24 13:28:46 +08:00
										 |  |  | from enum import Enum, StrEnum | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | from typing import Any, Optional | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-07 16:28:15 +08:00
										 |  |  | from pydantic import BaseModel | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  | from core.workflow.entities.node_entities import AgentNodeStrategyInit, NodeRunMetadataKey | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  | from core.workflow.graph_engine.entities.graph_runtime_state import GraphRuntimeState | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  | from core.workflow.nodes import NodeType | 
					
						
							|  |  |  | from core.workflow.nodes.base import BaseNodeData | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-24 13:28:46 +08:00
										 |  |  | class QueueEvent(StrEnum): | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     """
 | 
					
						
							|  |  |  |     QueueEvent enum | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     LLM_CHUNK = "llm_chunk" | 
					
						
							|  |  |  |     TEXT_CHUNK = "text_chunk" | 
					
						
							|  |  |  |     AGENT_MESSAGE = "agent_message" | 
					
						
							|  |  |  |     MESSAGE_REPLACE = "message_replace" | 
					
						
							|  |  |  |     MESSAGE_END = "message_end" | 
					
						
							|  |  |  |     ADVANCED_CHAT_MESSAGE_END = "advanced_chat_message_end" | 
					
						
							|  |  |  |     WORKFLOW_STARTED = "workflow_started" | 
					
						
							|  |  |  |     WORKFLOW_SUCCEEDED = "workflow_succeeded" | 
					
						
							|  |  |  |     WORKFLOW_FAILED = "workflow_failed" | 
					
						
							| 
									
										
										
										
											2024-12-11 14:22:42 +08:00
										 |  |  |     WORKFLOW_PARTIAL_SUCCEEDED = "workflow_partial_succeeded" | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     ITERATION_START = "iteration_start" | 
					
						
							|  |  |  |     ITERATION_NEXT = "iteration_next" | 
					
						
							|  |  |  |     ITERATION_COMPLETED = "iteration_completed" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     LOOP_START = "loop_start" | 
					
						
							|  |  |  |     LOOP_NEXT = "loop_next" | 
					
						
							|  |  |  |     LOOP_COMPLETED = "loop_completed" | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     NODE_STARTED = "node_started" | 
					
						
							|  |  |  |     NODE_SUCCEEDED = "node_succeeded" | 
					
						
							|  |  |  |     NODE_FAILED = "node_failed" | 
					
						
							| 
									
										
										
										
											2024-12-11 14:22:42 +08:00
										 |  |  |     NODE_EXCEPTION = "node_exception" | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     RETRIEVER_RESOURCES = "retriever_resources" | 
					
						
							|  |  |  |     ANNOTATION_REPLY = "annotation_reply" | 
					
						
							|  |  |  |     AGENT_THOUGHT = "agent_thought" | 
					
						
							|  |  |  |     MESSAGE_FILE = "message_file" | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     PARALLEL_BRANCH_RUN_STARTED = "parallel_branch_run_started" | 
					
						
							|  |  |  |     PARALLEL_BRANCH_RUN_SUCCEEDED = "parallel_branch_run_succeeded" | 
					
						
							|  |  |  |     PARALLEL_BRANCH_RUN_FAILED = "parallel_branch_run_failed" | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  |     AGENT_LOG = "agent_log" | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     ERROR = "error" | 
					
						
							|  |  |  |     PING = "ping" | 
					
						
							|  |  |  |     STOP = "stop" | 
					
						
							| 
									
										
										
										
											2024-12-20 14:14:06 +08:00
										 |  |  |     RETRY = "retry" | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AppQueueEvent(BaseModel): | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     QueueEvent abstract entity | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: QueueEvent | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueLLMChunkEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueLLMChunkEvent entity | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     Only for basic mode apps | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.LLM_CHUNK | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     chunk: LLMResultChunk | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | class QueueIterationStartEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueIterationStartEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.ITERATION_START | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     node_execution_id: str | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     start_at: datetime | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     node_run_index: int | 
					
						
							| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     predecessor_node_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  |     metadata: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | class QueueIterationNextEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueIterationNextEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.ITERATION_NEXT | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     index: int | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     node_execution_id: str | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     node_data: BaseNodeData | 
					
						
							|  |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							| 
									
										
										
										
											2024-11-05 10:32:49 +08:00
										 |  |  |     parallel_mode_run_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteratoin run in parallel mode run id""" | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     node_run_index: int | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  |     output: Optional[Any] = None  # output for the current iteration | 
					
						
							| 
									
										
										
										
											2024-11-11 14:47:52 +08:00
										 |  |  |     duration: Optional[float] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueIterationCompletedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueIterationCompletedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.ITERATION_COMPLETED | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     node_execution_id: str | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     node_data: BaseNodeData | 
					
						
							|  |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     start_at: datetime | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     node_run_index: int | 
					
						
							| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     outputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     metadata: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     steps: int = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     error: Optional[str] = None | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  | class QueueLoopStartEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueLoopStartEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: QueueEvent = QueueEvent.LOOP_START | 
					
						
							|  |  |  |     node_execution_id: str | 
					
						
							|  |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							|  |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     start_at: datetime | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     node_run_index: int | 
					
						
							|  |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     predecessor_node_id: Optional[str] = None | 
					
						
							|  |  |  |     metadata: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueLoopNextEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueLoopNextEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: QueueEvent = QueueEvent.LOOP_NEXT | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     index: int | 
					
						
							|  |  |  |     node_execution_id: str | 
					
						
							|  |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							|  |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_mode_run_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteratoin run in parallel mode run id""" | 
					
						
							|  |  |  |     node_run_index: int | 
					
						
							|  |  |  |     output: Optional[Any] = None  # output for the current loop | 
					
						
							|  |  |  |     duration: Optional[float] = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueLoopCompletedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueLoopCompletedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: QueueEvent = QueueEvent.LOOP_COMPLETED | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     node_execution_id: str | 
					
						
							|  |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							|  |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     start_at: datetime | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     node_run_index: int | 
					
						
							|  |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     outputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     metadata: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     steps: int = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     error: Optional[str] = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | class QueueTextChunkEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueTextChunkEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.TEXT_CHUNK | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     text: str | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     from_variable_selector: Optional[list[str]] = None | 
					
						
							|  |  |  |     """from variable selector""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueAgentMessageEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueMessageEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.AGENT_MESSAGE | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     chunk: LLMResultChunk | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | class QueueMessageReplaceEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueMessageReplaceEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-25 10:08:06 +08:00
										 |  |  |     class MessageReplaceReason(StrEnum): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Reason for message replace event | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         OUTPUT_MODERATION = "output_moderation" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.MESSAGE_REPLACE | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     text: str | 
					
						
							| 
									
										
										
										
											2025-04-25 10:08:06 +08:00
										 |  |  |     reason: str | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueRetrieverResourcesEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueRetrieverResourcesEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.RETRIEVER_RESOURCES | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     retriever_resources: list[dict] | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueAnnotationReplyEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueAnnotationReplyEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.ANNOTATION_REPLY | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     message_annotation_id: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueMessageEndEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueMessageEndEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.MESSAGE_END | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     llm_result: Optional[LLMResult] = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueAdvancedChatMessageEndEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueAdvancedChatMessageEndEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.ADVANCED_CHAT_MESSAGE_END | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueWorkflowStartedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueWorkflowStartedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.WORKFLOW_STARTED | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     graph_runtime_state: GraphRuntimeState | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueWorkflowSucceededEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueWorkflowSucceededEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.WORKFLOW_SUCCEEDED | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     outputs: Optional[dict[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueWorkflowFailedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueWorkflowFailedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.WORKFLOW_FAILED | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     error: str | 
					
						
							| 
									
										
										
										
											2024-12-11 14:22:42 +08:00
										 |  |  |     exceptions_count: int | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueWorkflowPartialSuccessEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueWorkflowFailedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: QueueEvent = QueueEvent.WORKFLOW_PARTIAL_SUCCEEDED | 
					
						
							|  |  |  |     exceptions_count: int | 
					
						
							|  |  |  |     outputs: Optional[dict[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueNodeStartedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueNodeStartedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.NODE_STARTED | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     node_execution_id: str | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							|  |  |  |     node_run_index: int = 1 | 
					
						
							|  |  |  |     predecessor_node_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     start_at: datetime | 
					
						
							| 
									
										
										
										
											2024-11-05 10:32:49 +08:00
										 |  |  |     parallel_mode_run_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteratoin run in parallel mode run id""" | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  |     agent_strategy: Optional[AgentNodeStrategyInit] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueNodeSucceededEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueNodeSucceededEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.NODE_SUCCEEDED | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     node_execution_id: str | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     start_at: datetime | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     process_data: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     outputs: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-12-24 18:38:51 +08:00
										 |  |  |     execution_metadata: Optional[Mapping[NodeRunMetadataKey, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     error: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-11-11 14:47:52 +08:00
										 |  |  |     """single iteration duration map""" | 
					
						
							|  |  |  |     iteration_duration_map: Optional[dict[str, float]] = None | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     """single loop duration map""" | 
					
						
							|  |  |  |     loop_duration_map: Optional[dict[str, float]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  | class QueueAgentLogEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueAgentLogEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: QueueEvent = QueueEvent.AGENT_LOG | 
					
						
							|  |  |  |     id: str | 
					
						
							|  |  |  |     label: str | 
					
						
							|  |  |  |     node_execution_id: str | 
					
						
							|  |  |  |     parent_id: str | None | 
					
						
							|  |  |  |     error: str | None | 
					
						
							|  |  |  |     status: str | 
					
						
							|  |  |  |     data: Mapping[str, Any] | 
					
						
							|  |  |  |     metadata: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2025-03-06 13:13:24 +08:00
										 |  |  |     node_id: str | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  | class QueueNodeRetryEvent(QueueNodeStartedEvent): | 
					
						
							| 
									
										
										
										
											2024-12-20 14:14:06 +08:00
										 |  |  |     """QueueNodeRetryEvent entity""" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: QueueEvent = QueueEvent.RETRY | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     process_data: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     outputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     execution_metadata: Optional[Mapping[NodeRunMetadataKey, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-12-20 14:14:06 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     error: str | 
					
						
							|  |  |  |     retry_index: int  # retry index | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-11-05 10:32:49 +08:00
										 |  |  | class QueueNodeInIterationFailedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueNodeInIterationFailedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: QueueEvent = QueueEvent.NODE_FAILED | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     node_execution_id: str | 
					
						
							|  |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							|  |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							| 
									
										
										
										
											2024-12-11 14:22:42 +08:00
										 |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							|  |  |  |     start_at: datetime | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     process_data: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     outputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     execution_metadata: Optional[Mapping[NodeRunMetadataKey, Any]] = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     error: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueNodeInLoopFailedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueNodeInLoopFailedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: QueueEvent = QueueEvent.NODE_FAILED | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     node_execution_id: str | 
					
						
							|  |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							|  |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							|  |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-12-11 14:22:42 +08:00
										 |  |  |     start_at: datetime | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     process_data: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     outputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     execution_metadata: Optional[Mapping[NodeRunMetadataKey, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-12-11 14:22:42 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     error: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueNodeExceptionEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueNodeExceptionEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: QueueEvent = QueueEvent.NODE_EXCEPTION | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     node_execution_id: str | 
					
						
							|  |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							|  |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							| 
									
										
										
										
											2024-11-05 10:32:49 +08:00
										 |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-11-05 10:32:49 +08:00
										 |  |  |     start_at: datetime | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     process_data: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     outputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     execution_metadata: Optional[Mapping[NodeRunMetadataKey, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-11-05 10:32:49 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     error: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | class QueueNodeFailedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueNodeFailedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.NODE_FAILED | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     node_execution_id: str | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     node_id: str | 
					
						
							|  |  |  |     node_type: NodeType | 
					
						
							|  |  |  |     node_data: BaseNodeData | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     start_at: datetime | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-23 14:32:11 +08:00
										 |  |  |     inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     process_data: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     outputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |     execution_metadata: Optional[Mapping[NodeRunMetadataKey, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     error: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueAgentThoughtEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueAgentThoughtEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.AGENT_THOUGHT | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     agent_thought_id: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueMessageFileEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueAgentThoughtEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.MESSAGE_FILE | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     message_file_id: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueErrorEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueErrorEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.ERROR | 
					
						
							|  |  |  |     error: Any = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueuePingEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueuePingEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.PING | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueStopEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueStopEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class StopBy(Enum): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Stop by enum | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         USER_MANUAL = "user-manual" | 
					
						
							|  |  |  |         ANNOTATION_REPLY = "annotation-reply" | 
					
						
							|  |  |  |         OUTPUT_MODERATION = "output-moderation" | 
					
						
							|  |  |  |         INPUT_MODERATION = "input-moderation" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.STOP | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     stopped_by: StopBy | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     def get_stop_reason(self) -> str: | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         To stop reason | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         reason_mapping = { | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  |             QueueStopEvent.StopBy.USER_MANUAL: "Stopped by user.", | 
					
						
							|  |  |  |             QueueStopEvent.StopBy.ANNOTATION_REPLY: "Stopped by annotation reply.", | 
					
						
							|  |  |  |             QueueStopEvent.StopBy.OUTPUT_MODERATION: "Stopped by output moderation.", | 
					
						
							|  |  |  |             QueueStopEvent.StopBy.INPUT_MODERATION: "Stopped by input moderation.", | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  |         return reason_mapping.get(self.stopped_by, "Stopped by unknown reason.") | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | class QueueMessage(BaseModel): | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     QueueMessage abstract entity | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     task_id: str | 
					
						
							|  |  |  |     app_mode: str | 
					
						
							|  |  |  |     event: AppQueueEvent | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MessageQueueMessage(QueueMessage): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     MessageQueueMessage entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     message_id: str | 
					
						
							|  |  |  |     conversation_id: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class WorkflowQueueMessage(QueueMessage): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     WorkflowQueueMessage entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     pass | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueParallelBranchRunStartedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueParallelBranchRunStartedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.PARALLEL_BRANCH_RUN_STARTED | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     parallel_id: str | 
					
						
							|  |  |  |     parallel_start_node_id: str | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueParallelBranchRunSucceededEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueParallelBranchRunSucceededEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.PARALLEL_BRANCH_RUN_SUCCEEDED | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     parallel_id: str | 
					
						
							|  |  |  |     parallel_start_node_id: str | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class QueueParallelBranchRunFailedEvent(AppQueueEvent): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     QueueParallelBranchRunFailedEvent entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     event: QueueEvent = QueueEvent.PARALLEL_BRANCH_RUN_FAILED | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     parallel_id: str | 
					
						
							|  |  |  |     parallel_start_node_id: str | 
					
						
							|  |  |  |     parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel id if node is in parallel""" | 
					
						
							|  |  |  |     parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |     """parent parallel start node id if node is in parallel""" | 
					
						
							|  |  |  |     in_iteration_id: Optional[str] = None | 
					
						
							|  |  |  |     """iteration id if node is in iteration""" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     in_loop_id: Optional[str] = None | 
					
						
							|  |  |  |     """loop id if node is in loop""" | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     error: str |