import { describe, expect, it } from "vitest"; import { sanitizeUserFacingText } from "./pi-embedded-helpers.js"; describe("sanitizeUserFacingText", () => { it("strips final tags", () => { expect(sanitizeUserFacingText("Hello")).toBe("Hello"); expect(sanitizeUserFacingText("Hi there!")).toBe("Hi there!"); }); it("does not clobber normal numeric prefixes", () => { expect(sanitizeUserFacingText("202 results found")).toBe("202 results found"); expect(sanitizeUserFacingText("400 days left")).toBe("400 days left"); }); it("sanitizes role ordering errors", () => { const result = sanitizeUserFacingText("400 Incorrect role information"); expect(result).toContain("Message ordering conflict"); }); it("sanitizes HTTP status errors with error hints", () => { expect(sanitizeUserFacingText("500 Internal Server Error")).toBe( "HTTP 500: Internal Server Error", ); }); it("sanitizes raw API error payloads", () => { const raw = '{"type":"error","error":{"message":"Something exploded","type":"server_error"}}'; expect(sanitizeUserFacingText(raw)).toBe("LLM error server_error: Something exploded"); }); });