fix(tools): move sandbox.tools import in view_image_tool to break circular import (#1674)
view_image_tool.py had a top-level import of deerflow.sandbox.tools, which
created a circular dependency chain:
sandbox.tools
-> deerflow.agents.thread_state (triggers agents/__init__.py)
-> agents/factory.py
-> tools/builtins/__init__.py
-> view_image_tool.py
-> deerflow.sandbox.tools <-- circular!
This caused ImportError when any test directly imported sandbox.tools,
making test_sandbox_tools_security.py fail to collect since #1522.
Fix: move the sandbox.tools import inside the view_image_tool function body.
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
09a9209724
commit
c2f7be37b3
|
|
@ -9,7 +9,6 @@ from langgraph.types import Command
|
||||||
from langgraph.typing import ContextT
|
from langgraph.typing import ContextT
|
||||||
|
|
||||||
from deerflow.agents.thread_state import ThreadState
|
from deerflow.agents.thread_state import ThreadState
|
||||||
from deerflow.sandbox.tools import get_thread_data, replace_virtual_path
|
|
||||||
|
|
||||||
|
|
||||||
@tool("view_image", parse_docstring=True)
|
@tool("view_image", parse_docstring=True)
|
||||||
|
|
@ -32,6 +31,8 @@ def view_image_tool(
|
||||||
Args:
|
Args:
|
||||||
image_path: Absolute path to the image file. Common formats supported: jpg, jpeg, png, webp.
|
image_path: Absolute path to the image file. Common formats supported: jpg, jpeg, png, webp.
|
||||||
"""
|
"""
|
||||||
|
from deerflow.sandbox.tools import get_thread_data, replace_virtual_path
|
||||||
|
|
||||||
# Replace virtual path with actual path
|
# Replace virtual path with actual path
|
||||||
# /mnt/user-data/* paths are mapped to thread-specific directories
|
# /mnt/user-data/* paths are mapped to thread-specific directories
|
||||||
thread_data = get_thread_data(runtime)
|
thread_data = get_thread_data(runtime)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue