import { describe, expect, it } from "vitest"; import { buildPromptSection } from "./index.js"; describe("buildPromptSection", () => { it("returns empty when no memory tools are available", () => { expect(buildPromptSection({ availableTools: new Set() })).toEqual([]); }); it("returns Memory Recall section when memory_search is available", () => { const result = buildPromptSection({ availableTools: new Set(["memory_search"]) }); expect(result[0]).toBe("## Memory Recall"); expect(result).toContain( "Citations: include Source: when it helps the user verify memory snippets.", ); expect(result.at(-1)).toBe(""); }); it("returns Memory Recall section when memory_get is available", () => { const result = buildPromptSection({ availableTools: new Set(["memory_get"]) }); expect(result[0]).toBe("## Memory Recall"); }); it("includes citations-off instruction when citationsMode is off", () => { const result = buildPromptSection({ availableTools: new Set(["memory_search"]), citationsMode: "off", }); expect(result).toContain( "Citations are disabled: do not mention file paths or line numbers in replies unless the user explicitly asks.", ); }); });