From 8dfe6935299a7ff9e2cbe3090ffa19cfce8f36ac Mon Sep 17 00:00:00 2001 From: Harry Date: Mon, 13 Oct 2025 21:10:20 +0800 Subject: [PATCH] refactor(trigger): rename TriggerApiEntity to EventApiEntity and update related references - Changed `TriggerApiEntity` to `EventApiEntity` in the trigger provider and subscription models to better reflect its purpose. - Updated the description field type from `EventDescription` to `I18nObject` for improved consistency in event descriptions. - Adjusted imports and references across multiple files to accommodate the renaming and type changes, ensuring proper functionality in trigger processing. --- api/core/trigger/entities/api_entities.py | 9 ++++----- api/core/trigger/entities/entities.py | 12 +----------- api/core/trigger/provider.py | 4 ++-- api/core/trigger/trigger_manager.py | 4 +++- web/app/components/tools/types.ts | 2 +- 5 files changed, 11 insertions(+), 20 deletions(-) diff --git a/api/core/trigger/entities/api_entities.py b/api/core/trigger/entities/api_entities.py index df11f09d94..9f969b9f79 100644 --- a/api/core/trigger/entities/api_entities.py +++ b/api/core/trigger/entities/api_entities.py @@ -7,7 +7,6 @@ from core.entities.provider_entities import ProviderConfig from core.plugin.entities.plugin_daemon import CredentialType from core.tools.entities.common_entities import I18nObject from core.trigger.entities.entities import ( - EventDescription, EventIdentity, EventParameter, SubscriptionConstructor, @@ -27,10 +26,10 @@ class TriggerProviderSubscriptionApiEntity(BaseModel): workflows_in_use: int = Field(description="The number of workflows using this subscription") -class TriggerApiEntity(BaseModel): +class EventApiEntity(BaseModel): name: str = Field(description="The name of the trigger") identity: EventIdentity = Field(description="The identity of the trigger") - description: EventDescription = Field(description="The description of the trigger") + description: I18nObject = Field(description="The description of the trigger") parameters: list[EventParameter] = Field(description="The parameters of the trigger") output_schema: Optional[Mapping[str, Any]] = Field(description="The output schema of the trigger") @@ -60,7 +59,7 @@ class TriggerProviderApiEntity(BaseModel): default_factory=list, description="The subscription schema of the trigger provider", ) - events: list[TriggerApiEntity] = Field(description="The events of the trigger provider") + events: list[EventApiEntity] = Field(description="The events of the trigger provider") class SubscriptionBuilderApiEntity(BaseModel): @@ -74,4 +73,4 @@ class SubscriptionBuilderApiEntity(BaseModel): credential_type: CredentialType = Field(description="The credential type of the subscription builder") -__all__ = ["TriggerApiEntity", "TriggerProviderApiEntity", "TriggerProviderSubscriptionApiEntity"] +__all__ = ["EventApiEntity", "TriggerProviderApiEntity", "TriggerProviderSubscriptionApiEntity"] diff --git a/api/core/trigger/entities/entities.py b/api/core/trigger/entities/entities.py index 74a2dbcc49..6c0b05a696 100644 --- a/api/core/trigger/entities/entities.py +++ b/api/core/trigger/entities/entities.py @@ -90,15 +90,6 @@ class EventIdentity(BaseModel): provider: Optional[str] = Field(default=None, description="The provider of the event") -class EventDescription(BaseModel): - """ - The description of the event - """ - - human: I18nObject = Field(..., description="Human readable description") - llm: I18nObject = Field(..., description="LLM readable description") - - class EventEntity(BaseModel): """ The configuration of an event @@ -106,7 +97,7 @@ class EventEntity(BaseModel): identity: EventIdentity = Field(..., description="The identity of the event") parameters: list[EventParameter] = Field(default=[], description="The parameters of the event") - description: EventDescription = Field(..., description="The description of the event") + description: I18nObject = Field(..., description="The description of the event") output_schema: Optional[Mapping[str, Any]] = Field( default=None, description="The output schema that this event produces" ) @@ -279,7 +270,6 @@ class TriggerCreationMethod(StrEnum): # Export all entities __all__: list[str] = [ - "EventDescription", "EventEntity", "EventIdentity", "EventParameter", diff --git a/api/core/trigger/provider.py b/api/core/trigger/provider.py index 60f19cc3f3..56c95fd21a 100644 --- a/api/core/trigger/provider.py +++ b/api/core/trigger/provider.py @@ -16,7 +16,7 @@ from core.plugin.entities.request import ( TriggerSubscriptionResponse, ) from core.plugin.impl.trigger import PluginTriggerManager -from core.trigger.entities.api_entities import TriggerApiEntity, TriggerProviderApiEntity +from core.trigger.entities.api_entities import EventApiEntity, TriggerProviderApiEntity from core.trigger.entities.entities import ( EventEntity, ProviderConfig, @@ -102,7 +102,7 @@ class PluginTriggerProviderController: subscription_schema=self.entity.subscription_schema, supported_creation_methods=supported_creation_methods, events=[ - TriggerApiEntity( + EventApiEntity( name=event.identity.name, identity=event.identity, description=event.description, diff --git a/api/core/trigger/trigger_manager.py b/api/core/trigger/trigger_manager.py index 19b8a57428..6dacfa4a55 100644 --- a/api/core/trigger/trigger_manager.py +++ b/api/core/trigger/trigger_manager.py @@ -12,7 +12,7 @@ from yarl import URL import contexts from configs import dify_config -from core.plugin.entities.plugin_daemon import CredentialType, PluginTriggerProviderEntity +from core.plugin.entities.plugin_daemon import CredentialType, PluginDaemonError, PluginTriggerProviderEntity from core.plugin.entities.request import TriggerInvokeEventResponse from core.plugin.impl.exc import PluginInvokeError from core.plugin.impl.trigger import PluginTriggerManager @@ -123,6 +123,8 @@ class TriggerManager: ) plugin_trigger_providers[provider_id_str] = controller return controller + except PluginDaemonError as e: + raise e except Exception as e: logger.exception("Failed to load trigger provider") raise e diff --git a/web/app/components/tools/types.ts b/web/app/components/tools/types.ts index cb6af90e48..0ba10a5419 100644 --- a/web/app/components/tools/types.ts +++ b/web/app/components/tools/types.ts @@ -107,7 +107,7 @@ export type Event = { name: string author: string label: TypeWithI18N - description: any + description: TypeWithI18N parameters: TriggerParameter[] labels: string[] output_schema: Record