Bläddra i källkod

fix: uses to check if the tools are already loaded

Yeuoly 5 månader sedan
förälder
incheckning
5828abcd62

+ 1 - 1
api/core/tools/custom_tool/provider.py

@@ -148,7 +148,7 @@ class ApiToolProviderController(ToolProviderController):
         :param tenant_id: the tenant id
         :return: the tools
         """
-        if self.tools is not None:
+        if len(self.tools) > 0:
             return self.tools
 
         tools: list[ApiTool] = []

+ 3 - 3
api/services/tools/api_tools_manage_service.py

@@ -159,7 +159,7 @@ class ApiToolManageService:
         # encrypt credentials
         tool_configuration = ProviderConfigEncrypter(
             tenant_id=tenant_id,
-            config=provider_controller.get_credentials_schema(),
+            config=list(provider_controller.get_credentials_schema()),
             provider_type=provider_controller.provider_type.value,
             provider_identity=provider_controller.entity.identity.name,
         )
@@ -291,7 +291,7 @@ class ApiToolManageService:
         # get original credentials if exists
         tool_configuration = ProviderConfigEncrypter(
             tenant_id=tenant_id,
-            config=provider_controller.get_credentials_schema(),
+            config=list(provider_controller.get_credentials_schema()),
             provider_type=provider_controller.provider_type.value,
             provider_identity=provider_controller.entity.identity.name,
         )
@@ -410,7 +410,7 @@ class ApiToolManageService:
         if db_provider.id:
             tool_configuration = ProviderConfigEncrypter(
                 tenant_id=tenant_id,
-                config=provider_controller.get_credentials_schema(),
+                config=list(provider_controller.get_credentials_schema()),
                 provider_type=provider_controller.provider_type.value,
                 provider_identity=provider_controller.entity.identity.name,
             )