From de4752a16bb20fc24ab0adfa0f6e75280d741fc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9D=9E=E6=B3=95=E6=93=8D=E4=BD=9C?= Date: Tue, 21 Jan 2025 10:04:56 +0800 Subject: [PATCH] fix(1.0): unexpected error raise (#12812) --- api/core/plugin/manager/tool.py | 6 ++++-- api/core/tools/plugin_tool/provider.py | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/api/core/plugin/manager/tool.py b/api/core/plugin/manager/tool.py index 36e6fb98ce..23a390f4aa 100644 --- a/api/core/plugin/manager/tool.py +++ b/api/core/plugin/manager/tool.py @@ -48,8 +48,10 @@ class PluginToolManager(BasePluginManager): tool_provider_id = GenericProviderID(provider) def transformer(json_response: dict[str, Any]) -> dict: - for tool in json_response.get("data", {}).get("declaration", {}).get("tools", []): - tool["identity"]["provider"] = tool_provider_id.provider_name + data = json_response.get("data") + if data: + for tool in data.get("declaration", {}).get("tools", []): + tool["identity"]["provider"] = tool_provider_id.provider_name return json_response diff --git a/api/core/tools/plugin_tool/provider.py b/api/core/tools/plugin_tool/provider.py index 875072cb3e..3616e426b9 100644 --- a/api/core/tools/plugin_tool/provider.py +++ b/api/core/tools/plugin_tool/provider.py @@ -48,7 +48,9 @@ class PluginToolProviderController(BuiltinToolProviderController): """ return tool with given name """ - tool_entity = next(tool_entity for tool_entity in self.entity.tools if tool_entity.identity.name == tool_name) + tool_entity = next( + (tool_entity for tool_entity in self.entity.tools if tool_entity.identity.name == tool_name), None + ) if not tool_entity: raise ValueError(f"Tool with name {tool_name} not found")