import assert from "node:assert/strict"; import test from "node:test"; import { parseAgentReply, parseAgentReplyBody, resolveSessionTitle } from "../src/lib/agent-reply.ts"; test("extracts a model-generated session title without exposing hidden metadata", () => { // Given const response = [ "你目前更适合先验证新的职业方向。", '', "", ].join("\n"); // When const reply = parseAgentReply(response, "career"); // Then assert.equal(reply.text, "你目前更适合先验证新的职业方向。"); assert.equal(reply.title, "未来半年职业转型"); }); test("rejects an overlong model-generated session title", () => { // Given const response = "回答正文\n"; // When const reply = parseAgentReply(response, "general"); // Then assert.equal(reply.text, "回答正文"); assert.equal(reply.title, undefined); }); test("accepts a concise English model-generated session title", () => { // Given const response = "Your next step is to test the market first.\n"; // When const reply = parseAgentReply(response, "career"); // Then assert.equal(reply.title, "Career Change Timing"); }); test("hides an incomplete metadata block while a reply is streaming", () => { // Given const response = "回答正文\n', ].join("\n")); assert.deepEqual(reply, { text: "可以先采用 05:07 作为当前排盘时间。", title: undefined }); });