浏览代码

fix: Lookup errors for contextvars used in ToolManager

Yeuoly 6 月之前
父节点
当前提交
77a62f33b3
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      api/core/tools/tool_manager.py

+ 7 - 0
api/core/tools/tool_manager.py

@@ -100,6 +100,13 @@ class ToolManager:
         """
         """
         get the plugin provider
         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():
         with contexts.plugin_tool_providers_lock.get():
             plugin_tool_providers = contexts.plugin_tool_providers.get()
             plugin_tool_providers = contexts.plugin_tool_providers.get()
             if provider in plugin_tool_providers:
             if provider in plugin_tool_providers: