From 77a62f33b3311e976fcb2aced2ef64436b03bbcd Mon Sep 17 00:00:00 2001 From: Yeuoly Date: Mon, 2 Dec 2024 21:25:47 +0800 Subject: [PATCH] fix: Lookup errors for contextvars used in ToolManager --- api/core/tools/tool_manager.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/api/core/tools/tool_manager.py b/api/core/tools/tool_manager.py index d9ccaeb979..c20abc45e4 100644 --- a/api/core/tools/tool_manager.py +++ b/api/core/tools/tool_manager.py @@ -100,6 +100,13 @@ class ToolManager: """ get the plugin provider """ + # check if context is set + try: + contexts.plugin_tool_providers.get() + except LookupError: + contexts.plugin_tool_providers.set({}) + contexts.plugin_tool_providers_lock.set(Lock()) + with contexts.plugin_tool_providers_lock.get(): plugin_tool_providers = contexts.plugin_tool_providers.get() if provider in plugin_tool_providers: