fix(tools): honor tools.fs.workspaceOnly=false for host write/edit (#28822)

Merged via squash.

Prepared head SHA: 83d432961d
Co-authored-by: lailoo <20536249+lailoo@users.noreply.github.com>
Co-authored-by: velvet-shark <126378+velvet-shark@users.noreply.github.com>
Reviewed-by: @velvet-shark
This commit is contained in:
大猫子
2026-02-28 07:53:20 +08:00
committed by GitHub
parent ad804b0356
commit 1725839720
4 changed files with 250 additions and 8 deletions

View File

@@ -359,14 +359,14 @@ export function createOpenClawCodingTools(options?: {
if (sandboxRoot) {
return [];
}
const wrapped = createHostWorkspaceWriteTool(workspaceRoot);
const wrapped = createHostWorkspaceWriteTool(workspaceRoot, { workspaceOnly });
return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
}
if (tool.name === "edit") {
if (sandboxRoot) {
return [];
}
const wrapped = createHostWorkspaceEditTool(workspaceRoot);
const wrapped = createHostWorkspaceEditTool(workspaceRoot, { workspaceOnly });
return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
}
return [tool];