refactor: load tools cache

This commit is contained in:
Yeuoly 2024-11-15 19:53:50 +08:00
parent fb4ee813c7
commit 2cb640de15
No known key found for this signature in database
GPG Key ID: A66E7E320FB19F61
3 changed files with 28 additions and 10 deletions

View File

@ -0,0 +1,18 @@
from flask_restful import Resource, reqparse
from controllers.files import api
class PluginFilePreviewApi(Resource):
def get(self, file_id: str, file_type: str):
parser = reqparse.RequestParser()
parser.add_argument("timestamp", type=str, required=True, location="args")
parser.add_argument("nonce", type=str, required=True, location="args")
parser.add_argument("sign", type=str, required=True, location="args")
parser.add_argument("as_attachment", type=bool, required=False, default=False, location="args")
args = parser.parse_args()
api.add_resource(PluginFilePreviewApi, "/files/<path:file_id>/<path:file_type>/plugin-file-preview")

View File

@ -45,15 +45,9 @@ class BuiltinToolProviderController(ToolProviderController):
),
)
def _get_builtin_tools(self) -> list[BuiltinTool]:
"""
returns a list of tools that the provider can provide
:return: list of tools
"""
if self.tools:
return self.tools
self._load_tools()
def _load_tools(self):
provider = self.entity.identity.name
tool_path = path.join(path.dirname(path.realpath(__file__)), "providers", provider, "tools")
# get all the yaml files in the tool path
@ -86,7 +80,14 @@ class BuiltinToolProviderController(ToolProviderController):
)
self.tools = tools
return tools
def _get_builtin_tools(self) -> list[BuiltinTool]:
"""
returns a list of tools that the provider can provide
:return: list of tools
"""
return self.tools
def get_credentials_schema(self) -> list[ProviderConfig]:
"""

View File

@ -18,7 +18,6 @@ class PluginTool(Tool):
self.tenant_id = tenant_id
self.runtime_parameters = None
@property
def tool_provider_type(self) -> ToolProviderType:
return ToolProviderType.PLUGIN