From b72afe9b00ca21f1c36a9b81c3fa7174b08dfb4e Mon Sep 17 00:00:00 2001 From: Jon Saad-Falcon <41205309+jonsaadfalcon@users.noreply.github.com> Date: Thu, 26 Mar 2026 18:46:53 -0700 Subject: [PATCH] fix: add pure-Python fallback for think tool when Rust extension unavailable Co-Authored-By: Claude Opus 4.6 (1M context) --- src/openjarvis/tools/think.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/openjarvis/tools/think.py b/src/openjarvis/tools/think.py index 225c888e..3c353ab0 100644 --- a/src/openjarvis/tools/think.py +++ b/src/openjarvis/tools/think.py @@ -40,9 +40,13 @@ class ThinkTool(BaseTool): def execute(self, **params: Any) -> ToolResult: thought = params.get("thought", "") - from openjarvis._rust_bridge import get_rust_module - _rust = get_rust_module() - content = _rust.ThinkTool().execute(thought) + try: + from openjarvis._rust_bridge import get_rust_module + _rust = get_rust_module() + content = _rust.ThinkTool().execute(thought) + except (ImportError, ModuleNotFoundError): + # Pure-Python fallback when Rust extension isn't built + content = thought return ToolResult( tool_name="think", content=content,