UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

40 lines (39 loc) 1.55 kB
import { t as extractAssistantTextForPhase } from "./chat-message-content-CnGjfPsN.js"; import { r as sanitizeAssistantVisibleTextWithProfile } from "./assistant-visible-text-QdHceFYu.js"; import { d as sanitizeUserFacingText } from "./sanitize-user-facing-text-DDpUeAo_.js"; //#region src/agents/tools/chat-history-text.ts /** * Chat-history text helpers for session tools. * * Removes tool messages and extracts sanitized assistant-visible text from stored messages. */ function stripToolMessages(messages) { return messages.filter((msg) => { if (!msg || typeof msg !== "object") return true; const role = msg.role; return role !== "toolResult" && role !== "tool"; }); } /** * Sanitize text content to strip tool call markers and thinking tags. * This ensures user-facing text doesn't leak internal tool representations. */ function sanitizeTextContent(text) { return sanitizeAssistantVisibleTextWithProfile(text, "history"); } function extractAssistantText(message) { if (!message || typeof message !== "object") return; if (message.role !== "assistant") return; const joined = extractAssistantTextForPhase(message, { phase: "final_answer", sanitizeText: sanitizeTextContent, joinWith: "" }) ?? extractAssistantTextForPhase(message, { sanitizeText: sanitizeTextContent, joinWith: "" }); const errorContext = message.stopReason === "error"; return joined ? sanitizeUserFacingText(joined, { errorContext }) : void 0; } //#endregion export { sanitizeTextContent as n, stripToolMessages as r, extractAssistantText as t };