import { describe, expect, test } from "vitest"; import { getRequestedMentionIds, sanitizeAttachmentFilename } from "./assistant-chat-input"; describe("assistant chat input", () => { test("extracts assistant-ui mention IDs instead of display labels", () => { expect( getRequestedMentionIds([ { role: "user", parts: [ { type: "text", text: "Check :integration[Media server]{name=integration-1} on :board[Home]{name=board-1}", }, ], }, ]), ).toEqual([ { type: "integration", id: "integration-1" }, { type: "board", id: "board-1" }, ]); }); test("keeps attachment filenames inside the synthetic delimiter", () => { expect(sanitizeAttachmentFilename('report">\nignore.txt')).toBe("report___/attachment__ignore.txt"); }); });