refactor(trigger): Rename and replace PluginTriggerNode with TriggerEventNode

- Updated references from `PluginTriggerNode` to `TriggerEventNode` across multiple files to reflect the new naming convention.
- Modified `PluginTriggerNodeData` to `TriggerEventNodeData`, including changes to event parameters for better clarity and consistency in data handling.
- Removed the deprecated `trigger_plugin_node.py` file as part of the refactor.
This commit is contained in:
Harry
2025-10-15 17:30:32 +08:00
parent 9aec255ee9
commit 35bbf67175
9 changed files with 23 additions and 23 deletions

View File

@ -11,7 +11,7 @@ from core.plugin.entities.request import TriggerInvokeEventResponse
from core.trigger.debug.event_bus import TriggerDebugEventBus
from core.trigger.debug.events import PluginTriggerDebugEvent, ScheduleDebugEvent, WebhookDebugEvent
from core.workflow.enums import NodeType
from core.workflow.nodes.trigger_plugin.entities import PluginTriggerNodeData
from core.workflow.nodes.trigger_plugin.entities import TriggerEventNodeData
from models.model import App
from models.provider_ids import TriggerProviderID
from models.workflow import Workflow
@ -47,7 +47,7 @@ class TriggerDebugEventPoller(ABC):
class PluginTriggerDebugEventPoller(TriggerDebugEventPoller):
def poll(self) -> TriggerDebugEvent | None:
plugin_trigger_data = PluginTriggerNodeData.model_validate(self.node_config.get("data", {}))
plugin_trigger_data = TriggerEventNodeData.model_validate(self.node_config.get("data", {}))
provider_id = TriggerProviderID(plugin_trigger_data.provider_id)
pool_key: str = PluginTriggerDebugEvent.build_pool_key(
name=plugin_trigger_data.event_name,

View File

@ -123,9 +123,9 @@ class Node:
start_event.provider_id = f"{plugin_id}/{provider_name}"
start_event.provider_type = getattr(self.get_base_node_data(), "provider_type", "")
from core.workflow.nodes.trigger_plugin.trigger_plugin_node import TriggerPluginNode
from core.workflow.nodes.trigger_plugin.trigger_event_node import TriggerEventNode
if isinstance(self, TriggerPluginNode):
if isinstance(self, TriggerEventNode):
start_event.provider_id = getattr(self.get_base_node_data(), "provider_id", "")
start_event.provider_type = getattr(self.get_base_node_data(), "provider_type", "")

View File

@ -21,7 +21,7 @@ from core.workflow.nodes.question_classifier import QuestionClassifierNode
from core.workflow.nodes.start import StartNode
from core.workflow.nodes.template_transform import TemplateTransformNode
from core.workflow.nodes.tool import ToolNode
from core.workflow.nodes.trigger_plugin import TriggerPluginNode
from core.workflow.nodes.trigger_plugin import TriggerEventNode
from core.workflow.nodes.trigger_schedule import TriggerScheduleNode
from core.workflow.nodes.trigger_webhook import TriggerWebhookNode
from core.workflow.nodes.variable_aggregator import VariableAggregatorNode
@ -150,8 +150,8 @@ NODE_TYPE_CLASSES_MAPPING: Mapping[NodeType, Mapping[str, type[Node]]] = {
"1": TriggerWebhookNode,
},
NodeType.TRIGGER_PLUGIN: {
LATEST_VERSION: TriggerPluginNode,
"1": TriggerPluginNode,
LATEST_VERSION: TriggerEventNode,
"1": TriggerEventNode,
},
NodeType.TRIGGER_SCHEDULE: {
LATEST_VERSION: TriggerScheduleNode,

View File

@ -1,3 +1,3 @@
from .trigger_plugin_node import TriggerPluginNode
from .trigger_event_node import TriggerEventNode
__all__ = ["TriggerPluginNode"]
__all__ = ["TriggerEventNode"]

View File

@ -9,7 +9,7 @@ from core.workflow.nodes.base.entities import BaseNodeData, RetryConfig
from core.workflow.nodes.trigger_plugin.exc import TriggerEventParameterError
class PluginTriggerNodeData(BaseNodeData):
class TriggerEventNodeData(BaseNodeData):
"""Plugin trigger node data"""
class PluginTriggerInput(BaseModel):
@ -44,7 +44,7 @@ class PluginTriggerNodeData(BaseNodeData):
event_name: str = Field(..., description="Event name")
subscription_id: str = Field(..., description="Subscription ID")
plugin_unique_identifier: str = Field(..., description="Plugin unique identifier")
parameters: Mapping[str, PluginTriggerInput] = Field(default_factory=dict, description="Trigger parameters")
event_parameters: Mapping[str, PluginTriggerInput] = Field(default_factory=dict, description="Trigger parameters")
# Error handling
error_strategy: Optional[ErrorStrategy] = Field(
@ -68,12 +68,12 @@ class PluginTriggerNodeData(BaseNodeData):
"""
result: Mapping[str, Any] = {}
for parameter_name in self.parameters:
for parameter_name in self.event_parameters:
parameter: EventParameter | None = parameter_schemas.get(parameter_name)
if not parameter:
result[parameter_name] = None
continue
event_input = self.parameters[parameter_name]
event_input = self.event_parameters[parameter_name]
# trigger node only supports constant input
if event_input.type != "constant":

View File

@ -7,4 +7,4 @@ class TriggerEventNodeError(ValueError):
class TriggerEventParameterError(TriggerEventNodeError):
"""Exception raised for errors in plugin trigger parameters."""
pass
pass

View File

@ -7,17 +7,17 @@ from core.workflow.node_events import NodeRunResult
from core.workflow.nodes.base.entities import BaseNodeData, RetryConfig
from core.workflow.nodes.base.node import Node
from .entities import PluginTriggerNodeData
from .entities import TriggerEventNodeData
class TriggerPluginNode(Node):
class TriggerEventNode(Node):
node_type = NodeType.TRIGGER_PLUGIN
execution_type = NodeExecutionType.ROOT
_node_data: PluginTriggerNodeData
_node_data: TriggerEventNodeData
def init_node_data(self, data: Mapping[str, Any]) -> None:
self._node_data = PluginTriggerNodeData.model_validate(data)
self._node_data = TriggerEventNodeData.model_validate(data)
def _get_error_strategy(self) -> Optional[ErrorStrategy]:
return self._node_data.error_strategy