mirror of https://github.com/langgenius/dify.git
49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
"""
|
|
Event generator for trigger debug operations.
|
|
|
|
Provides structured event generation for trigger debug SSE streams.
|
|
"""
|
|
|
|
from core.app.entities.task_entities import (
|
|
ErrorStreamResponse,
|
|
StreamResponse,
|
|
TriggerDebugNodeFinishedResponse,
|
|
TriggerDebugWorkflowStartedResponse,
|
|
)
|
|
from core.trigger.entities.entities import TriggerDebugEventData
|
|
from models.workflow import WorkflowNodeExecutionModel
|
|
|
|
|
|
class TriggerDebugEventGenerator:
|
|
"""Generator for trigger debug events."""
|
|
|
|
@staticmethod
|
|
def generate_node_finished(node_execution: WorkflowNodeExecutionModel) -> StreamResponse:
|
|
"""Generate node finished event."""
|
|
return TriggerDebugNodeFinishedResponse(
|
|
task_id="",
|
|
id=node_execution.id,
|
|
node_id=node_execution.node_id,
|
|
node_type=node_execution.node_type,
|
|
status=node_execution.status,
|
|
outputs=node_execution.outputs_dict,
|
|
error=node_execution.error,
|
|
elapsed_time=node_execution.elapsed_time,
|
|
execution_metadata=node_execution.execution_metadata_dict,
|
|
)
|
|
|
|
@staticmethod
|
|
def generate_workflow_started(event_data: TriggerDebugEventData) -> StreamResponse:
|
|
"""Generate workflow started event."""
|
|
return TriggerDebugWorkflowStartedResponse(
|
|
task_id="",
|
|
subscription_id=event_data.subscription_id,
|
|
triggers=event_data.triggers,
|
|
request_id=event_data.request_id,
|
|
)
|
|
|
|
@staticmethod
|
|
def generate_error(error: str) -> StreamResponse:
|
|
"""Generate error event."""
|
|
return ErrorStreamResponse(task_id="", err=Exception(error))
|