feat: support get tool runtime parameters

This commit is contained in:
Yeuoly
2024-09-29 18:18:45 +08:00
parent 8563155d1b
commit d4e007f9db
4 changed files with 65 additions and 3 deletions

View File

@ -4,7 +4,7 @@ from typing import Any
from core.plugin.manager.tool import PluginToolManager
from core.tools.__base.tool import Tool
from core.tools.__base.tool_runtime import ToolRuntime
from core.tools.entities.tool_entities import ToolEntity, ToolInvokeMessage, ToolProviderType
from core.tools.entities.tool_entities import ToolEntity, ToolInvokeMessage, ToolParameter, ToolProviderType
class PluginTool(Tool):
@ -35,3 +35,19 @@ class PluginTool(Tool):
runtime=runtime,
tenant_id=self.tenant_id,
)
def get_runtime_parameters(self) -> list[ToolParameter]:
"""
get the runtime parameters
"""
if not self.entity.has_runtime_parameters:
return self.entity.parameters
manager = PluginToolManager()
return manager.get_runtime_parameters(
tenant_id=self.tenant_id,
user_id="",
provider=self.entity.identity.provider,
tool=self.entity.identity.name,
credentials=self.runtime.credentials,
)