| The base class of a tool | The base class of a tool | ||||
| """ | """ | ||||
| entity: ToolEntity | |||||
| runtime: ToolRuntime | |||||
| def __init__(self, entity: ToolEntity, runtime: ToolRuntime) -> None: | def __init__(self, entity: ToolEntity, runtime: ToolRuntime) -> None: | ||||
| self.entity = entity | self.entity = entity | ||||
| self.runtime = runtime | self.runtime = runtime |
| :param meta: the meta data of a tool call processing | :param meta: the meta data of a tool call processing | ||||
| """ | """ | ||||
| provider: str | |||||
| def __init__(self, provider: str, **kwargs): | def __init__(self, provider: str, **kwargs): | ||||
| super().__init__(**kwargs) | super().__init__(**kwargs) | ||||
| self.provider = provider | self.provider = provider |
| class ApiTool(Tool): | class ApiTool(Tool): | ||||
| api_bundle: ApiToolBundle | |||||
| provider_id: str | |||||
| """ | """ | ||||
| Api tool | Api tool | ||||
| """ | """ |
| from core.mcp.types import ImageContent, TextContent | from core.mcp.types import ImageContent, TextContent | ||||
| from core.tools.__base.tool import Tool | from core.tools.__base.tool import Tool | ||||
| from core.tools.__base.tool_runtime import ToolRuntime | from core.tools.__base.tool_runtime import ToolRuntime | ||||
| from core.tools.entities.tool_entities import ToolEntity, ToolInvokeMessage, ToolParameter, ToolProviderType | |||||
| from core.tools.entities.tool_entities import ToolEntity, ToolInvokeMessage, ToolProviderType | |||||
| class MCPTool(Tool): | class MCPTool(Tool): | ||||
| tenant_id: str | |||||
| icon: str | |||||
| runtime_parameters: Optional[list[ToolParameter]] | |||||
| server_url: str | |||||
| provider_id: str | |||||
| def __init__( | def __init__( | ||||
| self, entity: ToolEntity, runtime: ToolRuntime, tenant_id: str, icon: str, server_url: str, provider_id: str | self, entity: ToolEntity, runtime: ToolRuntime, tenant_id: str, icon: str, server_url: str, provider_id: str | ||||
| ) -> None: | ) -> None: | ||||
| super().__init__(entity, runtime) | super().__init__(entity, runtime) | ||||
| self.tenant_id = tenant_id | self.tenant_id = tenant_id | ||||
| self.icon = icon | self.icon = icon | ||||
| self.runtime_parameters = None | |||||
| self.server_url = server_url | self.server_url = server_url | ||||
| self.provider_id = provider_id | self.provider_id = provider_id | ||||
| class PluginTool(Tool): | class PluginTool(Tool): | ||||
| tenant_id: str | |||||
| icon: str | |||||
| plugin_unique_identifier: str | |||||
| runtime_parameters: Optional[list[ToolParameter]] | |||||
| def __init__( | def __init__( | ||||
| self, entity: ToolEntity, runtime: ToolRuntime, tenant_id: str, icon: str, plugin_unique_identifier: str | self, entity: ToolEntity, runtime: ToolRuntime, tenant_id: str, icon: str, plugin_unique_identifier: str | ||||
| ) -> None: | ) -> None: | ||||
| self.tenant_id = tenant_id | self.tenant_id = tenant_id | ||||
| self.icon = icon | self.icon = icon | ||||
| self.plugin_unique_identifier = plugin_unique_identifier | self.plugin_unique_identifier = plugin_unique_identifier | ||||
| self.runtime_parameters = None | |||||
| self.runtime_parameters: Optional[list[ToolParameter]] = None | |||||
| def tool_provider_type(self) -> ToolProviderType: | def tool_provider_type(self) -> ToolProviderType: | ||||
| return ToolProviderType.PLUGIN | return ToolProviderType.PLUGIN |
| class DatasetRetrieverTool(Tool): | class DatasetRetrieverTool(Tool): | ||||
| retrieval_tool: DatasetRetrieverBaseTool | |||||
| def __init__(self, entity: ToolEntity, runtime: ToolRuntime, retrieval_tool: DatasetRetrieverBaseTool) -> None: | def __init__(self, entity: ToolEntity, runtime: ToolRuntime, retrieval_tool: DatasetRetrieverBaseTool) -> None: | ||||
| super().__init__(entity, runtime) | super().__init__(entity, runtime) | ||||
| self.retrieval_tool = retrieval_tool | self.retrieval_tool = retrieval_tool |
| class WorkflowTool(Tool): | class WorkflowTool(Tool): | ||||
| workflow_app_id: str | |||||
| version: str | |||||
| workflow_entities: dict[str, Any] | |||||
| workflow_call_depth: int | |||||
| thread_pool_id: Optional[str] = None | |||||
| workflow_as_tool_id: str | |||||
| label: str | |||||
| """ | """ | ||||
| Workflow tool. | Workflow tool. | ||||
| """ | """ |