Files
writing-agent/tests/model-compare.test.ts
chenmoranzhiandCursor 6bdca7ccf7 打通多模型并行对比接口与采纳结果。
冻结消息上下文后并行重放多个配置,并顺带挂上定价接口路由。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 01:14:33 +08:00

57 lines
1.5 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { reconstructLlmMessages } from "../src/server/model-compare.js";
import { buildContextTrace } from "../src/types/context-trace.js";
describe("model-compare reconstructLlmMessages", () => {
it("restores plain roles", () => {
const trace = buildContextTrace({
caller: "test",
messages: [
{ role: "system", content: "sys" },
{ role: "user", content: "hi" },
],
model: "m1",
});
expect(reconstructLlmMessages(trace)).toEqual([
{ role: "system", content: "sys" },
{ role: "user", content: "hi" },
]);
});
it("restores tool_calls extras frozen as JSON content", () => {
const trace = buildContextTrace({
caller: "test",
messages: [
{
role: "assistant",
content: null,
tool_calls: [
{
id: "c1",
type: "function",
function: { name: "foo", arguments: "{}" },
},
],
},
{ role: "tool", content: "ok", tool_call_id: "c1" },
],
});
const msgs = reconstructLlmMessages(trace);
expect(msgs[0]).toMatchObject({
role: "assistant",
tool_calls: [
{
id: "c1",
type: "function",
function: { name: "foo", arguments: "{}" },
},
],
});
expect(msgs[1]).toEqual({
role: "tool",
content: "ok",
tool_call_id: "c1",
});
});
});