refactor: unify tool reason requirements

This commit is contained in:
2026-10-28 16:43:04 +08:00
parent 7d47a2df86
commit c3050b602b
20 changed files with 97 additions and 46 deletions
+17
View File
@@ -0,0 +1,17 @@
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("当前说明");
});
});