ls_tool was the only file-system tool that did not call mask_local_paths_in_output() before returning its result, causing host absolute paths (e.g. /Users/.../backend/.deer-flow/knowledge-base/...) to leak to the LLM instead of the expected virtual paths (/mnt/knowledge-base/...). This patch: - Adds the mask_local_paths_in_output() call to ls_tool, consistent with bash_tool, glob_tool and grep_tool. - Initialises thread_data = None before the is_local_sandbox branch (same pattern as glob_tool) so the variable is always in scope. - Adds three new tests covering user-data path masking, skills path masking and the empty-directory edge case. |
||
|---|---|---|
| .. | ||
| local | ||
| __init__.py | ||
| exceptions.py | ||
| file_operation_lock.py | ||
| middleware.py | ||
| sandbox_provider.py | ||
| sandbox.py | ||
| search.py | ||
| security.py | ||
| tools.py | ||