diff --git a/api/core/trigger/debug/event_selectors.py b/api/core/trigger/debug/event_selectors.py index 9c355feb3b..ffe109988f 100644 --- a/api/core/trigger/debug/event_selectors.py +++ b/api/core/trigger/debug/event_selectors.py @@ -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, diff --git a/api/core/workflow/nodes/base/node.py b/api/core/workflow/nodes/base/node.py index b86f36ccfe..71300042cd 100644 --- a/api/core/workflow/nodes/base/node.py +++ b/api/core/workflow/nodes/base/node.py @@ -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", "") diff --git a/api/core/workflow/nodes/node_mapping.py b/api/core/workflow/nodes/node_mapping.py index 042836282c..b278528284 100644 --- a/api/core/workflow/nodes/node_mapping.py +++ b/api/core/workflow/nodes/node_mapping.py @@ -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, diff --git a/api/core/workflow/nodes/trigger_plugin/__init__.py b/api/core/workflow/nodes/trigger_plugin/__init__.py index 97ec2db3a3..0f700fbcf9 100644 --- a/api/core/workflow/nodes/trigger_plugin/__init__.py +++ b/api/core/workflow/nodes/trigger_plugin/__init__.py @@ -1,3 +1,3 @@ -from .trigger_plugin_node import TriggerPluginNode +from .trigger_event_node import TriggerEventNode -__all__ = ["TriggerPluginNode"] +__all__ = ["TriggerEventNode"] diff --git a/api/core/workflow/nodes/trigger_plugin/entities.py b/api/core/workflow/nodes/trigger_plugin/entities.py index 3f3134a849..f1d3f50992 100644 --- a/api/core/workflow/nodes/trigger_plugin/entities.py +++ b/api/core/workflow/nodes/trigger_plugin/entities.py @@ -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": diff --git a/api/core/workflow/nodes/trigger_plugin/exc.py b/api/core/workflow/nodes/trigger_plugin/exc.py index c9d900eaeb..ba884b325c 100644 --- a/api/core/workflow/nodes/trigger_plugin/exc.py +++ b/api/core/workflow/nodes/trigger_plugin/exc.py @@ -7,4 +7,4 @@ class TriggerEventNodeError(ValueError): class TriggerEventParameterError(TriggerEventNodeError): """Exception raised for errors in plugin trigger parameters.""" - pass \ No newline at end of file + pass diff --git a/api/core/workflow/nodes/trigger_plugin/trigger_plugin_node.py b/api/core/workflow/nodes/trigger_plugin/trigger_event_node.py similarity index 93% rename from api/core/workflow/nodes/trigger_plugin/trigger_plugin_node.py rename to api/core/workflow/nodes/trigger_plugin/trigger_event_node.py index ae4b3f5377..477e3a15c4 100644 --- a/api/core/workflow/nodes/trigger_plugin/trigger_plugin_node.py +++ b/api/core/workflow/nodes/trigger_plugin/trigger_event_node.py @@ -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 diff --git a/api/services/trigger/trigger_service.py b/api/services/trigger/trigger_service.py index 99e7cce112..72c73929a9 100644 --- a/api/services/trigger/trigger_service.py +++ b/api/services/trigger/trigger_service.py @@ -18,7 +18,7 @@ from core.trigger.provider import PluginTriggerProviderController from core.trigger.trigger_manager import TriggerManager from core.trigger.utils.encryption import create_trigger_provider_encrypter_for_subscription 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 core.workflow.nodes.trigger_schedule.exc import TenantOwnerNotFoundError from extensions.ext_database import db from extensions.ext_redis import redis_client @@ -54,7 +54,7 @@ class TriggerService: ) if not subscription: raise ValueError("Subscription not found") - node_data: PluginTriggerNodeData = PluginTriggerNodeData.model_validate(node_config.get("data", {})) + node_data: TriggerEventNodeData = TriggerEventNodeData.model_validate(node_config.get("data", {})) request = deserialize_request(storage.load_once(f"triggers/{event.request_id}")) if not request: raise ValueError("Request not found") @@ -166,7 +166,7 @@ class TriggerService: continue # invoke triger - node_data: PluginTriggerNodeData = PluginTriggerNodeData.model_validate(event_node.get("data", {})) + node_data: TriggerEventNodeData = TriggerEventNodeData.model_validate(event_node) invoke_response: TriggerInvokeEventResponse = TriggerManager.invoke_trigger_event( tenant_id=subscription.tenant_id, user_id=subscription.user_id, diff --git a/api/services/workflow_service.py b/api/services/workflow_service.py index 7b30f36cbe..71844508a1 100644 --- a/api/services/workflow_service.py +++ b/api/services/workflow_service.py @@ -23,7 +23,7 @@ from core.workflow.nodes import NodeType from core.workflow.nodes.base.node import Node from core.workflow.nodes.node_mapping import LATEST_VERSION, NODE_TYPE_CLASSES_MAPPING from core.workflow.nodes.start.entities import StartNodeData -from core.workflow.nodes.trigger_plugin.entities import PluginTriggerNodeData +from core.workflow.nodes.trigger_plugin.entities import TriggerEventNodeData from core.workflow.nodes.trigger_schedule.entities import TriggerScheduleNodeData from core.workflow.nodes.trigger_webhook.entities import WebhookData from core.workflow.system_variable import SystemVariable @@ -636,7 +636,7 @@ class WorkflowService: if node_type == NodeType.TRIGGER_WEBHOOK: start_data = WebhookData.model_validate(node_data) elif node_type == NodeType.TRIGGER_PLUGIN: - start_data = PluginTriggerNodeData.model_validate(node_data) + start_data = TriggerEventNodeData.model_validate(node_data) elif node_type == NodeType.TRIGGER_SCHEDULE: start_data = TriggerScheduleNodeData.model_validate(node_data) else: