fix: resolve circular dependency in MCPToolProviderController

pull/22036/head
Harry 11 months ago
parent ff630b6dc5
commit 2017951336

@ -10,12 +10,10 @@ from sqlalchemy.orm import Mapped, mapped_column
from core.file import helpers as file_helpers from core.file import helpers as file_helpers
from core.helper import encrypter from core.helper import encrypter
from core.helper.provider_cache import NoOpProviderCredentialCache
from core.mcp.types import Tool from core.mcp.types import Tool
from core.tools.entities.common_entities import I18nObject from core.tools.entities.common_entities import I18nObject
from core.tools.entities.tool_bundle import ApiToolBundle from core.tools.entities.tool_bundle import ApiToolBundle
from core.tools.entities.tool_entities import ApiProviderSchemaType, WorkflowToolParameterConfiguration from core.tools.entities.tool_entities import ApiProviderSchemaType, WorkflowToolParameterConfiguration
from core.tools.utils.encryption import create_encrypter
from models.base import Base from models.base import Base
from .engine import db from .engine import db
@ -328,11 +326,13 @@ class MCPToolProvider(Base):
@property @property
def decrypted_credentials(self) -> dict: def decrypted_credentials(self) -> dict:
from core.helper.provider_cache import NoOpProviderCredentialCache
from core.tools.mcp_tool.provider import MCPToolProviderController from core.tools.mcp_tool.provider import MCPToolProviderController
from core.tools.utils.encryption import create_provider_encrypter
provider_controller = MCPToolProviderController._from_db(self) provider_controller = MCPToolProviderController._from_db(self)
return create_encrypter( return create_provider_encrypter(
tenant_id=self.tenant_id, tenant_id=self.tenant_id,
config=[x.to_basic_provider_config() for x in provider_controller.get_credentials_schema()], config=[x.to_basic_provider_config() for x in provider_controller.get_credentials_schema()],
cache=NoOpProviderCredentialCache(), cache=NoOpProviderCredentialCache(),

Loading…
Cancel
Save