diff --git a/CHANGELOG.md b/CHANGELOG.md index 047094972d4..14232931d99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ Docs: https://docs.openclaw.ai - Agents: allow `session.agentToAgent.maxPingPongTurns` up to 20 while keeping the default at 5 for longer agent-to-agent reply chains. Fixes #52382. (#52400) Thanks @thirumaleshp. - Agents: add per-agent `tools.message.crossContext` overrides so sandboxed/public agents can restrict message sends to the current conversation without changing the global bot policy. - Agents: add per-agent `tools.message.actions.allow` overrides so sandboxed/public agents can expose and enforce send-only message tools. +- Agents: omit the sandbox workspace marker from compact command progress previews while keeping internal sandbox diagnostics unchanged. - Build: upgrade workspace package management to pnpm 11 and keep Docker, install, update, and release workflows on the pnpm 11 config surface. (#79414) Thanks @altaywtf. - Build: align Telegram QA workflows and git source installs with the pnpm 11 workspace build allowlist surface. (#80588) Thanks @altaywtf. - Models: add provider-level `localService` startup for on-demand local model servers before OpenAI-compatible requests, including one-shot model probes. diff --git a/src/agents/tool-display-exec.ts b/src/agents/tool-display-exec.ts index 42bdbc74291..595e22c80c9 100644 --- a/src/agents/tool-display-exec.ts +++ b/src/agents/tool-display-exec.ts @@ -340,8 +340,11 @@ function classifyWorkspacePath( return undefined; } -function formatCwdSuffix(cwd: string): string { +function formatCwdSuffix(cwd: string): string | undefined { const workspace = classifyWorkspacePath(cwd); + if (workspace === "sandbox") { + return undefined; + } return workspace ? `(${workspace})` : `(in ${cwd})`; } @@ -462,11 +465,12 @@ export function resolveExecDetail( const cwd = cwdRaw?.trim() || result?.chdirPath || undefined; const compact = compactRawCommand(unwrapped); + const cwdSuffix = cwd ? formatCwdSuffix(cwd) : undefined; if (result?.allGeneric !== false && isGenericSummary(summary)) { - return cwd ? `${compact} ${formatCwdSuffix(cwd)}` : compact; + return cwdSuffix ? `${compact} ${cwdSuffix}` : compact; } - const displaySummary = cwd ? `${summary} ${formatCwdSuffix(cwd)}` : summary; + const displaySummary = cwdSuffix ? `${summary} ${cwdSuffix}` : summary; if ( options?.detailMode !== "explain" && compact && diff --git a/src/agents/tool-display.test.ts b/src/agents/tool-display.test.ts index d125a36edc3..e0fa3bc167c 100644 --- a/src/agents/tool-display.test.ts +++ b/src/agents/tool-display.test.ts @@ -198,7 +198,7 @@ describe("tool display details", () => { detailMode: "explain", }), ), - ).toBe("command -v discrawl (sandbox)"); + ).toBe("command -v discrawl"); }); it("omits bash and exec names from compact tool summaries", () => {