mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 03:55:55 +00:00
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
"""Event Trigger Node - triggers workflow on system events
|
|
|
|
Node metadata is loaded from: ../../templates/metadata/nodes/event_trigger.yaml
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any, ClassVar
|
|
|
|
from ..entities import ExecutionContext
|
|
from ..node import WorkflowNode, workflow_node, NodePort, NodeConfig
|
|
|
|
|
|
@workflow_node('event_trigger')
|
|
class EventTriggerNode(WorkflowNode):
|
|
"""Event trigger node - triggers workflow on system events"""
|
|
|
|
type_name = "event_trigger"
|
|
category = "trigger"
|
|
icon = "📡"
|
|
name = "event_trigger"
|
|
description = "event_trigger"
|
|
name_zh = "事件触发"
|
|
name_en = "Event Trigger"
|
|
description_zh = "当系统事件发生时触发工作流"
|
|
description_en = "Trigger workflow when a system event occurs"
|
|
|
|
inputs: ClassVar[list[NodePort]] = []
|
|
outputs: ClassVar[list[NodePort]] = []
|
|
config_schema: ClassVar[list[NodeConfig]] = []
|
|
|
|
async def execute(self, inputs: dict[str, Any], context: ExecutionContext) -> dict[str, Any]:
|
|
from datetime import datetime
|
|
|
|
trigger_data = context.trigger_data
|
|
|
|
return {
|
|
"event_type": trigger_data.get("event_type", ""),
|
|
"event_data": trigger_data.get("event_data", {}),
|
|
"timestamp": trigger_data.get("timestamp", datetime.now().isoformat()),
|
|
}
|