import { stripAnsi } from "./ansi.js"; /** * Normalize untrusted text for single-line terminal/log rendering. */ export function sanitizeTerminalText(input: string): string { const normalized = stripAnsi(input) .replace(/\r/g, "\\r") .replace(/\n/g, "\\n") .replace(/\t/g, "\\t"); let sanitized = ""; for (const char of normalized) { const code = char.charCodeAt(0); const isControl = (code >= 0x00 && code <= 0x1f) || (code >= 0x7f && code <= 0x9f); if (!isControl) { sanitized += char; } } return sanitized; }