Files
deerflow-code/frontend-web/src/core/llmwiki/answer-display.test.ts
T

45 lines
1.4 KiB
TypeScript

import assert from "node:assert/strict";
import test from "node:test";
// Node's type-stripping runner requires the explicit TypeScript suffix.
// @ts-expect-error The application compiler intentionally uses extensionless imports.
import * as answerDisplay from "./answer-display.ts";
const { stripKnowledgeRetrievalDiagnostics } = answerDisplay;
test("removes the inline partial-retrieval notice from a historical answer", () => {
const content = [
"## 回答",
"这是基于 Wiki 的结论。[1]",
"",
"**资料不足与检索局限说明:** 本轮仅有部分检索通道成功(VECTOR_UNAVAILABLE),检索结果可能不完整。",
].join("\n");
assert.equal(
stripKnowledgeRetrievalDiagnostics(content),
"## 回答\n这是基于 Wiki 的结论。[1]",
);
});
test("removes a multi-line diagnostic section without changing the answer", () => {
const content = [
"正文第一段。",
"",
"### 资料不足与检索局限说明",
"本轮只有部分检索通道成功。",
"- 内部错误码:VECTOR_UNAVAILABLE",
"",
"正文第二段。",
].join("\n");
assert.equal(
stripKnowledgeRetrievalDiagnostics(content),
"正文第一段。\n\n正文第二段。",
);
});
test("leaves ordinary assistant content unchanged", () => {
const content = "向量检索不可用时,可以继续使用关键词检索。";
assert.equal(stripKnowledgeRetrievalDiagnostics(content), content);
});