35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import { extractAssistantText, sanitizeTextContent } from "./sessions-helpers.js";
|
|
|
|
describe("sanitizeTextContent", () => {
|
|
it("strips minimax tool call XML and downgraded markers", () => {
|
|
const input =
|
|
'Hello <invoke name="tool">payload</invoke></minimax:tool_call> ' +
|
|
"[Tool Call: foo (ID: 1)] world";
|
|
const result = sanitizeTextContent(input).trim();
|
|
expect(result).toBe("Hello world");
|
|
expect(result).not.toContain("invoke");
|
|
expect(result).not.toContain("Tool Call");
|
|
});
|
|
|
|
it("strips thinking tags", () => {
|
|
const input = "Before <think>secret</think> after";
|
|
const result = sanitizeTextContent(input).trim();
|
|
expect(result).toBe("Before after");
|
|
});
|
|
});
|
|
|
|
describe("extractAssistantText", () => {
|
|
it("sanitizes blocks without injecting newlines", () => {
|
|
const message = {
|
|
role: "assistant",
|
|
content: [
|
|
{ type: "text", text: "Hi " },
|
|
{ type: "text", text: "<think>secret</think>there" },
|
|
],
|
|
};
|
|
expect(extractAssistantText(message)).toBe("Hi there");
|
|
});
|
|
});
|