From 447713244820e875e192a5815c4d8bc76c03b40f Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Tue, 25 Nov 2025 16:02:27 -0600 Subject: fix: sanitize absolute paths --- packages/util/src/sanitize.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 packages/util/src/sanitize.ts (limited to 'packages/util') diff --git a/packages/util/src/sanitize.ts b/packages/util/src/sanitize.ts new file mode 100644 index 000000000..892fe87cf --- /dev/null +++ b/packages/util/src/sanitize.ts @@ -0,0 +1,28 @@ +import { Part } from "@opencode-ai/sdk" + +export const sanitize = (text: string | undefined, remove?: RegExp) => (remove ? text?.replace(remove, "") : text) ?? "" + +export const sanitizePart = (part: Part, remove: RegExp) => { + if (part.type === "text") { + part.text = sanitize(part.text, remove) + } else if (part.type === "reasoning") { + part.text = sanitize(part.text, remove) + } else if (part.type === "tool") { + if (part.state.status === "completed" || part.state.status === "error") { + for (const key in part.state.metadata) { + if (typeof part.state.metadata[key] === "string") { + part.state.metadata[key] = sanitize(part.state.metadata[key] as string, remove) + } + } + for (const key in part.state.input) { + if (typeof part.state.input[key] === "string") { + part.state.input[key] = sanitize(part.state.input[key] as string, remove) + } + } + if ("error" in part.state) { + part.state.error = sanitize(part.state.error as string, remove) + } + } + } + return part +} -- cgit v1.2.3