import { describe, expect, it } from "bun:test"; import { buildToolProgressDetail, extractRequestReason } from "../../src/routes/chatStreamEvents.js"; describe("tool reason display", () => { it("omits absent explanations and displays canonical or legacy reasons once", () => { const plain = buildToolProgressDetail("query", "running", { id: "n1" }, ""); expect(plain).not.toContain("说明:"); expect(plain).not.toContain("原因:"); expect(plain).toContain("id=n1"); for (const input of [{ reason: " 核验压力异常 " }, { request_reason: "核验压力异常" }]) { const detail = buildToolProgressDetail("query", "running", input, extractRequestReason(input)); expect(detail).toContain(";说明:核验压力异常"); expect(detail.match(/核验压力异常/g)).toHaveLength(1); } expect(extractRequestReason({ reason: "当前说明", purpose: "旧说明" })).toBe("当前说明"); }); });