| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  | from collections.abc import Mapping, Sequence | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | from enum import Enum | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | from typing import Any, Optional | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-30 14:36:44 +08:00
										 |  |  | from pydantic import BaseModel, ConfigDict, Field | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-30 14:36:44 +08:00
										 |  |  | from core.model_runtime.entities.llm_entities import LLMResult, LLMUsage | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | from core.model_runtime.utils.encoders import jsonable_encoder | 
					
						
							| 
									
										
										
										
											2025-05-30 14:36:44 +08:00
										 |  |  | from core.rag.entities.citation_metadata import RetrievalSourceMetadata | 
					
						
							| 
									
										
										
										
											2025-05-30 04:34:13 +08:00
										 |  |  | from core.workflow.entities.node_entities import AgentNodeStrategyInit | 
					
						
							| 
									
										
										
										
											2025-05-30 04:47:56 +08:00
										 |  |  | from core.workflow.entities.workflow_node_execution import WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-30 14:36:44 +08:00
										 |  |  | class AnnotationReplyAccount(BaseModel): | 
					
						
							|  |  |  |     id: str | 
					
						
							|  |  |  |     name: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AnnotationReply(BaseModel): | 
					
						
							|  |  |  |     id: str | 
					
						
							|  |  |  |     account: AnnotationReplyAccount | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TaskStateMetadata(BaseModel): | 
					
						
							|  |  |  |     annotation_reply: AnnotationReply | None = None | 
					
						
							|  |  |  |     retriever_resources: Sequence[RetrievalSourceMetadata] = Field(default_factory=list) | 
					
						
							|  |  |  |     usage: LLMUsage | None = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | class TaskState(BaseModel): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     TaskState entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-05-30 14:36:44 +08:00
										 |  |  |     metadata: TaskStateMetadata = Field(default_factory=TaskStateMetadata) | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class EasyUITaskState(TaskState): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     EasyUITaskState entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     llm_result: LLMResult | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class WorkflowTaskState(TaskState): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     WorkflowTaskState entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     answer: str = "" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class StreamEvent(Enum): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     Stream event | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     PING = "ping" | 
					
						
							|  |  |  |     ERROR = "error" | 
					
						
							|  |  |  |     MESSAGE = "message" | 
					
						
							|  |  |  |     MESSAGE_END = "message_end" | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  |     TTS_MESSAGE = "tts_message" | 
					
						
							|  |  |  |     TTS_MESSAGE_END = "tts_message_end" | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     MESSAGE_FILE = "message_file" | 
					
						
							|  |  |  |     MESSAGE_REPLACE = "message_replace" | 
					
						
							|  |  |  |     AGENT_THOUGHT = "agent_thought" | 
					
						
							|  |  |  |     AGENT_MESSAGE = "agent_message" | 
					
						
							|  |  |  |     WORKFLOW_STARTED = "workflow_started" | 
					
						
							|  |  |  |     WORKFLOW_FINISHED = "workflow_finished" | 
					
						
							|  |  |  |     NODE_STARTED = "node_started" | 
					
						
							|  |  |  |     NODE_FINISHED = "node_finished" | 
					
						
							| 
									
										
										
										
											2024-12-20 14:14:06 +08:00
										 |  |  |     NODE_RETRY = "node_retry" | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     PARALLEL_BRANCH_STARTED = "parallel_branch_started" | 
					
						
							|  |  |  |     PARALLEL_BRANCH_FINISHED = "parallel_branch_finished" | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     ITERATION_STARTED = "iteration_started" | 
					
						
							|  |  |  |     ITERATION_NEXT = "iteration_next" | 
					
						
							|  |  |  |     ITERATION_COMPLETED = "iteration_completed" | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |     LOOP_STARTED = "loop_started" | 
					
						
							|  |  |  |     LOOP_NEXT = "loop_next" | 
					
						
							|  |  |  |     LOOP_COMPLETED = "loop_completed" | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     TEXT_CHUNK = "text_chunk" | 
					
						
							|  |  |  |     TEXT_REPLACE = "text_replace" | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  |     AGENT_LOG = "agent_log" | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class StreamResponse(BaseModel): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     StreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: StreamEvent | 
					
						
							|  |  |  |     task_id: str | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-24 18:38:51 +08:00
										 |  |  |     def to_dict(self): | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         return jsonable_encoder(self) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ErrorStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     ErrorStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.ERROR | 
					
						
							|  |  |  |     err: Exception | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |     model_config = ConfigDict(arbitrary_types_allowed=True) | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MessageStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     MessageStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.MESSAGE | 
					
						
							|  |  |  |     id: str | 
					
						
							|  |  |  |     answer: str | 
					
						
							| 
									
										
										
										
											2024-09-10 22:15:50 +08:00
										 |  |  |     from_variable_selector: Optional[list[str]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | class MessageAudioStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     MessageStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.TTS_MESSAGE | 
					
						
							|  |  |  |     audio: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MessageAudioEndStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     MessageStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.TTS_MESSAGE_END | 
					
						
							|  |  |  |     audio: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | class MessageEndStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     MessageEndStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.MESSAGE_END | 
					
						
							|  |  |  |     id: str | 
					
						
							| 
									
										
										
										
											2024-04-08 21:30:03 +08:00
										 |  |  |     metadata: dict = {} | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  |     files: Optional[Sequence[Mapping[str, Any]]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MessageFileStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     MessageFileStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.MESSAGE_FILE | 
					
						
							|  |  |  |     id: str | 
					
						
							|  |  |  |     type: str | 
					
						
							|  |  |  |     belongs_to: str | 
					
						
							|  |  |  |     url: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class MessageReplaceStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     MessageReplaceStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.MESSAGE_REPLACE | 
					
						
							|  |  |  |     answer: str | 
					
						
							| 
									
										
										
										
											2025-04-25 10:08:06 +08:00
										 |  |  |     reason: str | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AgentThoughtStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     AgentThoughtStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.AGENT_THOUGHT | 
					
						
							|  |  |  |     id: str | 
					
						
							|  |  |  |     position: int | 
					
						
							|  |  |  |     thought: Optional[str] = None | 
					
						
							|  |  |  |     observation: Optional[str] = None | 
					
						
							|  |  |  |     tool: Optional[str] = None | 
					
						
							|  |  |  |     tool_labels: Optional[dict] = None | 
					
						
							|  |  |  |     tool_input: Optional[str] = None | 
					
						
							|  |  |  |     message_files: Optional[list[str]] = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AgentMessageStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     AgentMessageStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.AGENT_MESSAGE | 
					
						
							|  |  |  |     id: str | 
					
						
							|  |  |  |     answer: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class WorkflowStartStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     WorkflowStartStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         workflow_id: str | 
					
						
							| 
									
										
										
										
											2025-05-21 22:01:53 +08:00
										 |  |  |         inputs: Mapping[str, Any] | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         created_at: int | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.WORKFLOW_STARTED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class WorkflowFinishStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     WorkflowFinishStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         workflow_id: str | 
					
						
							|  |  |  |         status: str | 
					
						
							| 
									
										
										
										
											2025-05-21 22:01:53 +08:00
										 |  |  |         outputs: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         error: Optional[str] = None | 
					
						
							|  |  |  |         elapsed_time: float | 
					
						
							|  |  |  |         total_tokens: int | 
					
						
							|  |  |  |         total_steps: int | 
					
						
							|  |  |  |         created_by: Optional[dict] = None | 
					
						
							|  |  |  |         created_at: int | 
					
						
							|  |  |  |         finished_at: int | 
					
						
							| 
									
										
										
										
											2024-12-11 14:22:42 +08:00
										 |  |  |         exceptions_count: Optional[int] = 0 | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  |         files: Optional[Sequence[Mapping[str, Any]]] = [] | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.WORKFLOW_FINISHED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class NodeStartStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     NodeStartStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         node_id: str | 
					
						
							|  |  |  |         node_type: str | 
					
						
							|  |  |  |         title: str | 
					
						
							|  |  |  |         index: int | 
					
						
							|  |  |  |         predecessor_node_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2025-05-17 00:56:16 +08:00
										 |  |  |         inputs: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         created_at: int | 
					
						
							|  |  |  |         extras: dict = {} | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |         parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |         iteration_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |         loop_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-11-05 10:32:49 +08:00
										 |  |  |         parallel_run_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  |         agent_strategy: Optional[AgentNodeStrategyInit] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.NODE_STARTED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-11 13:40:11 +08:00
										 |  |  |     def to_ignore_detail_dict(self): | 
					
						
							|  |  |  |         return { | 
					
						
							|  |  |  |             "event": self.event.value, | 
					
						
							|  |  |  |             "task_id": self.task_id, | 
					
						
							|  |  |  |             "workflow_run_id": self.workflow_run_id, | 
					
						
							|  |  |  |             "data": { | 
					
						
							|  |  |  |                 "id": self.data.id, | 
					
						
							|  |  |  |                 "node_id": self.data.node_id, | 
					
						
							|  |  |  |                 "node_type": self.data.node_type, | 
					
						
							|  |  |  |                 "title": self.data.title, | 
					
						
							|  |  |  |                 "index": self.data.index, | 
					
						
							|  |  |  |                 "predecessor_node_id": self.data.predecessor_node_id, | 
					
						
							|  |  |  |                 "inputs": None, | 
					
						
							|  |  |  |                 "created_at": self.data.created_at, | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |                 "extras": {}, | 
					
						
							|  |  |  |                 "parallel_id": self.data.parallel_id, | 
					
						
							|  |  |  |                 "parallel_start_node_id": self.data.parallel_start_node_id, | 
					
						
							|  |  |  |                 "parent_parallel_id": self.data.parent_parallel_id, | 
					
						
							|  |  |  |                 "parent_parallel_start_node_id": self.data.parent_parallel_start_node_id, | 
					
						
							|  |  |  |                 "iteration_id": self.data.iteration_id, | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |                 "loop_id": self.data.loop_id, | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  |             }, | 
					
						
							| 
									
										
										
										
											2024-05-11 13:40:11 +08:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | class NodeFinishStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     NodeFinishStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         node_id: str | 
					
						
							|  |  |  |         node_type: str | 
					
						
							|  |  |  |         title: str | 
					
						
							|  |  |  |         index: int | 
					
						
							|  |  |  |         predecessor_node_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2025-05-17 00:56:16 +08:00
										 |  |  |         inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |         process_data: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |         outputs: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         status: str | 
					
						
							|  |  |  |         error: Optional[str] = None | 
					
						
							|  |  |  |         elapsed_time: float | 
					
						
							| 
									
										
										
										
											2025-05-30 04:47:56 +08:00
										 |  |  |         execution_metadata: Optional[Mapping[WorkflowNodeExecutionMetadataKey, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         created_at: int | 
					
						
							|  |  |  |         finished_at: int | 
					
						
							| 
									
										
										
										
											2024-10-21 10:43:49 +08:00
										 |  |  |         files: Optional[Sequence[Mapping[str, Any]]] = [] | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |         parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |         iteration_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |         loop_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.NODE_FINISHED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-11 13:40:11 +08:00
										 |  |  |     def to_ignore_detail_dict(self): | 
					
						
							|  |  |  |         return { | 
					
						
							|  |  |  |             "event": self.event.value, | 
					
						
							|  |  |  |             "task_id": self.task_id, | 
					
						
							|  |  |  |             "workflow_run_id": self.workflow_run_id, | 
					
						
							|  |  |  |             "data": { | 
					
						
							|  |  |  |                 "id": self.data.id, | 
					
						
							|  |  |  |                 "node_id": self.data.node_id, | 
					
						
							|  |  |  |                 "node_type": self.data.node_type, | 
					
						
							|  |  |  |                 "title": self.data.title, | 
					
						
							|  |  |  |                 "index": self.data.index, | 
					
						
							|  |  |  |                 "predecessor_node_id": self.data.predecessor_node_id, | 
					
						
							|  |  |  |                 "inputs": None, | 
					
						
							|  |  |  |                 "process_data": None, | 
					
						
							|  |  |  |                 "outputs": None, | 
					
						
							|  |  |  |                 "status": self.data.status, | 
					
						
							|  |  |  |                 "error": None, | 
					
						
							|  |  |  |                 "elapsed_time": self.data.elapsed_time, | 
					
						
							|  |  |  |                 "execution_metadata": None, | 
					
						
							|  |  |  |                 "created_at": self.data.created_at, | 
					
						
							|  |  |  |                 "finished_at": self.data.finished_at, | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |                 "files": [], | 
					
						
							|  |  |  |                 "parallel_id": self.data.parallel_id, | 
					
						
							|  |  |  |                 "parallel_start_node_id": self.data.parallel_start_node_id, | 
					
						
							|  |  |  |                 "parent_parallel_id": self.data.parent_parallel_id, | 
					
						
							|  |  |  |                 "parent_parallel_start_node_id": self.data.parent_parallel_start_node_id, | 
					
						
							|  |  |  |                 "iteration_id": self.data.iteration_id, | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |                 "loop_id": self.data.loop_id, | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  |             }, | 
					
						
							| 
									
										
										
										
											2024-05-11 13:40:11 +08:00
										 |  |  |         } | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-20 14:14:06 +08:00
										 |  |  | class NodeRetryStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     NodeFinishStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         id: str | 
					
						
							|  |  |  |         node_id: str | 
					
						
							|  |  |  |         node_type: str | 
					
						
							|  |  |  |         title: str | 
					
						
							|  |  |  |         index: int | 
					
						
							|  |  |  |         predecessor_node_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2025-05-17 00:56:16 +08:00
										 |  |  |         inputs: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |         process_data: Optional[Mapping[str, Any]] = None | 
					
						
							|  |  |  |         outputs: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-12-20 14:14:06 +08:00
										 |  |  |         status: str | 
					
						
							|  |  |  |         error: Optional[str] = None | 
					
						
							|  |  |  |         elapsed_time: float | 
					
						
							| 
									
										
										
										
											2025-05-30 04:47:56 +08:00
										 |  |  |         execution_metadata: Optional[Mapping[WorkflowNodeExecutionMetadataKey, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-12-20 14:14:06 +08:00
										 |  |  |         created_at: int | 
					
						
							|  |  |  |         finished_at: int | 
					
						
							|  |  |  |         files: Optional[Sequence[Mapping[str, Any]]] = [] | 
					
						
							|  |  |  |         parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |         parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |         iteration_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |         loop_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-12-20 14:14:06 +08:00
										 |  |  |         retry_index: int = 0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.NODE_RETRY | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def to_ignore_detail_dict(self): | 
					
						
							|  |  |  |         return { | 
					
						
							|  |  |  |             "event": self.event.value, | 
					
						
							|  |  |  |             "task_id": self.task_id, | 
					
						
							|  |  |  |             "workflow_run_id": self.workflow_run_id, | 
					
						
							|  |  |  |             "data": { | 
					
						
							|  |  |  |                 "id": self.data.id, | 
					
						
							|  |  |  |                 "node_id": self.data.node_id, | 
					
						
							|  |  |  |                 "node_type": self.data.node_type, | 
					
						
							|  |  |  |                 "title": self.data.title, | 
					
						
							|  |  |  |                 "index": self.data.index, | 
					
						
							|  |  |  |                 "predecessor_node_id": self.data.predecessor_node_id, | 
					
						
							|  |  |  |                 "inputs": None, | 
					
						
							|  |  |  |                 "process_data": None, | 
					
						
							|  |  |  |                 "outputs": None, | 
					
						
							|  |  |  |                 "status": self.data.status, | 
					
						
							|  |  |  |                 "error": None, | 
					
						
							|  |  |  |                 "elapsed_time": self.data.elapsed_time, | 
					
						
							|  |  |  |                 "execution_metadata": None, | 
					
						
							|  |  |  |                 "created_at": self.data.created_at, | 
					
						
							|  |  |  |                 "finished_at": self.data.finished_at, | 
					
						
							|  |  |  |                 "files": [], | 
					
						
							|  |  |  |                 "parallel_id": self.data.parallel_id, | 
					
						
							|  |  |  |                 "parallel_start_node_id": self.data.parallel_start_node_id, | 
					
						
							|  |  |  |                 "parent_parallel_id": self.data.parent_parallel_id, | 
					
						
							|  |  |  |                 "parent_parallel_start_node_id": self.data.parent_parallel_start_node_id, | 
					
						
							|  |  |  |                 "iteration_id": self.data.iteration_id, | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |                 "loop_id": self.data.loop_id, | 
					
						
							| 
									
										
										
										
											2024-12-20 14:14:06 +08:00
										 |  |  |                 "retry_index": self.data.retry_index, | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  | class ParallelBranchStartStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     ParallelBranchStartStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         parallel_id: str | 
					
						
							|  |  |  |         parallel_branch_id: str | 
					
						
							|  |  |  |         parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |         iteration_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |         loop_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         created_at: int | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.PARALLEL_BRANCH_STARTED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ParallelBranchFinishedStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     ParallelBranchFinishedStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         parallel_id: str | 
					
						
							|  |  |  |         parallel_branch_id: str | 
					
						
							|  |  |  |         parent_parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parent_parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |         iteration_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  |         loop_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         status: str | 
					
						
							|  |  |  |         error: Optional[str] = None | 
					
						
							|  |  |  |         created_at: int | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.PARALLEL_BRANCH_FINISHED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							| 
									
										
										
										
											2024-05-11 13:40:11 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | class IterationNodeStartStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     NodeStartStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         node_id: str | 
					
						
							|  |  |  |         node_type: str | 
					
						
							|  |  |  |         title: str | 
					
						
							|  |  |  |         created_at: int | 
					
						
							|  |  |  |         extras: dict = {} | 
					
						
							| 
									
										
										
										
											2024-12-24 18:38:51 +08:00
										 |  |  |         metadata: Mapping = {} | 
					
						
							|  |  |  |         inputs: Mapping = {} | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_start_node_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.ITERATION_STARTED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | class IterationNodeNextStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     NodeStartStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         node_id: str | 
					
						
							|  |  |  |         node_type: str | 
					
						
							|  |  |  |         title: str | 
					
						
							|  |  |  |         index: int | 
					
						
							|  |  |  |         created_at: int | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |         pre_iteration_output: Optional[Any] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |         extras: dict = {} | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_start_node_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-11-05 10:32:49 +08:00
										 |  |  |         parallel_mode_run_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-11-11 14:47:52 +08:00
										 |  |  |         duration: Optional[float] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.ITERATION_NEXT | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | class IterationNodeCompletedStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-06-18 14:08:40 +09:00
										 |  |  |     NodeCompletedStreamResponse entity | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         node_id: str | 
					
						
							|  |  |  |         node_type: str | 
					
						
							|  |  |  |         title: str | 
					
						
							| 
									
										
										
										
											2024-12-24 18:38:51 +08:00
										 |  |  |         outputs: Optional[Mapping] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |         created_at: int | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         extras: Optional[dict] = None | 
					
						
							| 
									
										
										
										
											2024-12-24 18:38:51 +08:00
										 |  |  |         inputs: Optional[Mapping] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |         status: WorkflowNodeExecutionStatus | 
					
						
							| 
									
										
										
										
											2024-06-14 01:05:37 +08:00
										 |  |  |         error: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |         elapsed_time: float | 
					
						
							|  |  |  |         total_tokens: int | 
					
						
							| 
									
										
										
										
											2024-12-24 18:38:51 +08:00
										 |  |  |         execution_metadata: Optional[Mapping] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  |         finished_at: int | 
					
						
							|  |  |  |         steps: int | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |         parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_start_node_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-05-27 22:01:11 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.ITERATION_COMPLETED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-05 17:41:15 +08:00
										 |  |  | class LoopNodeStartStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     NodeStartStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         id: str | 
					
						
							|  |  |  |         node_id: str | 
					
						
							|  |  |  |         node_type: str | 
					
						
							|  |  |  |         title: str | 
					
						
							|  |  |  |         created_at: int | 
					
						
							|  |  |  |         extras: dict = {} | 
					
						
							|  |  |  |         metadata: Mapping = {} | 
					
						
							|  |  |  |         inputs: Mapping = {} | 
					
						
							|  |  |  |         parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.LOOP_STARTED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class LoopNodeNextStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     NodeStartStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         id: str | 
					
						
							|  |  |  |         node_id: str | 
					
						
							|  |  |  |         node_type: str | 
					
						
							|  |  |  |         title: str | 
					
						
							|  |  |  |         index: int | 
					
						
							|  |  |  |         created_at: int | 
					
						
							|  |  |  |         pre_loop_output: Optional[Any] = None | 
					
						
							|  |  |  |         extras: dict = {} | 
					
						
							|  |  |  |         parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_mode_run_id: Optional[str] = None | 
					
						
							|  |  |  |         duration: Optional[float] = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.LOOP_NEXT | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class LoopNodeCompletedStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     NodeCompletedStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         id: str | 
					
						
							|  |  |  |         node_id: str | 
					
						
							|  |  |  |         node_type: str | 
					
						
							|  |  |  |         title: str | 
					
						
							|  |  |  |         outputs: Optional[Mapping] = None | 
					
						
							|  |  |  |         created_at: int | 
					
						
							|  |  |  |         extras: Optional[dict] = None | 
					
						
							|  |  |  |         inputs: Optional[Mapping] = None | 
					
						
							|  |  |  |         status: WorkflowNodeExecutionStatus | 
					
						
							|  |  |  |         error: Optional[str] = None | 
					
						
							|  |  |  |         elapsed_time: float | 
					
						
							|  |  |  |         total_tokens: int | 
					
						
							|  |  |  |         execution_metadata: Optional[Mapping] = None | 
					
						
							|  |  |  |         finished_at: int | 
					
						
							|  |  |  |         steps: int | 
					
						
							|  |  |  |         parallel_id: Optional[str] = None | 
					
						
							|  |  |  |         parallel_start_node_id: Optional[str] = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.LOOP_COMPLETED | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | class TextChunkStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     TextChunkStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         text: str | 
					
						
							| 
									
										
										
										
											2024-09-10 22:15:50 +08:00
										 |  |  |         from_variable_selector: Optional[list[str]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.TEXT_CHUNK | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TextReplaceStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     TextReplaceStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         text: str | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.TEXT_REPLACE | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class PingStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     PingStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     event: StreamEvent = StreamEvent.PING | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AppStreamResponse(BaseModel): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     AppStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     stream_response: StreamResponse | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ChatbotAppStreamResponse(AppStreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     ChatbotAppStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     conversation_id: str | 
					
						
							|  |  |  |     message_id: str | 
					
						
							|  |  |  |     created_at: int | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CompletionAppStreamResponse(AppStreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     CompletionAppStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     message_id: str | 
					
						
							|  |  |  |     created_at: int | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class WorkflowAppStreamResponse(AppStreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     WorkflowAppStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-09-10 15:23:16 +08:00
										 |  |  |     workflow_run_id: Optional[str] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AppBlockingResponse(BaseModel): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     AppBlockingResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     task_id: str | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-12-24 18:38:51 +08:00
										 |  |  |     def to_dict(self): | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         return jsonable_encoder(self) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ChatbotAppBlockingResponse(AppBlockingResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     ChatbotAppBlockingResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         mode: str | 
					
						
							|  |  |  |         conversation_id: str | 
					
						
							|  |  |  |         message_id: str | 
					
						
							|  |  |  |         answer: str | 
					
						
							|  |  |  |         metadata: dict = {} | 
					
						
							|  |  |  |         created_at: int | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class CompletionAppBlockingResponse(AppBlockingResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     CompletionAppBlockingResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         mode: str | 
					
						
							|  |  |  |         message_id: str | 
					
						
							|  |  |  |         answer: str | 
					
						
							|  |  |  |         metadata: dict = {} | 
					
						
							|  |  |  |         created_at: int | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     data: Data | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class WorkflowAppBlockingResponse(AppBlockingResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     WorkflowAppBlockingResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							| 
									
										
										
										
											2024-07-09 11:33:58 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							| 
									
										
										
										
											2024-09-10 17:00:20 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         id: str | 
					
						
							|  |  |  |         workflow_id: str | 
					
						
							|  |  |  |         status: str | 
					
						
							| 
									
										
										
										
											2025-05-21 22:01:53 +08:00
										 |  |  |         outputs: Optional[Mapping[str, Any]] = None | 
					
						
							| 
									
										
										
										
											2024-04-08 18:51:46 +08:00
										 |  |  |         error: Optional[str] = None | 
					
						
							|  |  |  |         elapsed_time: float | 
					
						
							|  |  |  |         total_tokens: int | 
					
						
							|  |  |  |         total_steps: int | 
					
						
							|  |  |  |         created_at: int | 
					
						
							|  |  |  |         finished_at: int | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     workflow_run_id: str | 
					
						
							|  |  |  |     data: Data | 
					
						
							| 
									
										
										
										
											2025-02-17 17:05:13 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AgentLogStreamResponse(StreamResponse): | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  |     AgentLogStreamResponse entity | 
					
						
							|  |  |  |     """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     class Data(BaseModel): | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  |         Data entity | 
					
						
							|  |  |  |         """
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         node_execution_id: str | 
					
						
							|  |  |  |         id: str | 
					
						
							|  |  |  |         label: 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
										 |  |  | 
 | 
					
						
							|  |  |  |     event: StreamEvent = StreamEvent.AGENT_LOG | 
					
						
							|  |  |  |     data: Data |