diff --git a/src/backend/langflow/services/plugins/base.py b/src/backend/langflow/services/plugins/base.py index 793e34a3f..d91705b1b 100644 --- a/src/backend/langflow/services/plugins/base.py +++ b/src/backend/langflow/services/plugins/base.py @@ -11,5 +11,8 @@ class BasePlugin: def get(self) -> Any: pass + + +class CallbackPlugin(BasePlugin): def get_callback(self, _id=None): - pass + pass \ No newline at end of file diff --git a/src/backend/langflow/services/plugins/langfuse.py b/src/backend/langflow/services/plugins/langfuse.py index 357e80a50..bf3abcd29 100644 --- a/src/backend/langflow/services/plugins/langfuse.py +++ b/src/backend/langflow/services/plugins/langfuse.py @@ -1,7 +1,7 @@ from typing import Optional from langflow.services.deps import get_settings_service -from langflow.services.plugins.base import BasePlugin +from langflow.services.plugins.base import CallbackPlugin from loguru import logger @@ -51,7 +51,7 @@ class LangfuseInstance: cls._instance = None -class LangfusePlugin(BasePlugin): +class LangfusePlugin(CallbackPlugin): def initialize(self): LangfuseInstance.create() diff --git a/src/backend/langflow/services/plugins/service.py b/src/backend/langflow/services/plugins/service.py index 0884d6349..28299f7b5 100644 --- a/src/backend/langflow/services/plugins/service.py +++ b/src/backend/langflow/services/plugins/service.py @@ -4,7 +4,7 @@ import os from typing import TYPE_CHECKING, Union from langflow.services.base import Service -from langflow.services.plugins.base import BasePlugin +from langflow.services.plugins.base import BasePlugin, CallbackPlugin if TYPE_CHECKING: from langflow.services.settings.service import SettingsService @@ -49,7 +49,7 @@ class PluginService(Service): def get_callbacks(self, _id=None): callbacks = [] for plugin in self.plugins.values(): - if hasattr(plugin, "get_callback"): + if isinstance(plugin, CallbackPlugin): callback = plugin.get_callback(_id=_id) if callback: callbacks.append(callback)