mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-05-15 22:30:38 +08:00
55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
import assert from "node:assert/strict";
|
|
|
|
const {
|
|
createPromptNodeReferenceMap,
|
|
getPromptNodeLabel,
|
|
resolvePromptNodeId,
|
|
} = await import("../prompting/prompt-node-references.js");
|
|
|
|
const rawNodeId = "550e8400-e29b-41d4-a716-446655440000";
|
|
const map = createPromptNodeReferenceMap(
|
|
[
|
|
{
|
|
nodeId: rawNodeId,
|
|
node: {
|
|
id: rawNodeId,
|
|
type: "event",
|
|
fields: {
|
|
title: "这是一个非常非常长的节点标题,用于测试提取提示里的标签截断行为",
|
|
},
|
|
},
|
|
score: 0.91,
|
|
},
|
|
{
|
|
node: {
|
|
id: "node-2",
|
|
type: "thread",
|
|
fields: {
|
|
summary: "关系持续升温",
|
|
},
|
|
},
|
|
score: 0.77,
|
|
},
|
|
],
|
|
{
|
|
prefix: "G",
|
|
maxLength: 12,
|
|
buildMeta: ({ entry }) => ({
|
|
score: entry.score,
|
|
}),
|
|
},
|
|
);
|
|
|
|
assert.deepEqual(Object.keys(map.keyToNodeId), ["G1", "G2"]);
|
|
assert.equal(map.keyToNodeId.G1, rawNodeId);
|
|
assert.equal(map.nodeIdToKey[rawNodeId], "G1");
|
|
assert.equal(resolvePromptNodeId({ nodeId: rawNodeId }), rawNodeId);
|
|
assert.equal(resolvePromptNodeId({ node: { id: "node-2" } }), "node-2");
|
|
assert.equal(getPromptNodeLabel({ id: "node-3", fields: { title: "短标题" } }), "短标题");
|
|
assert.equal(map.keyToMeta.G1.score, 0.91);
|
|
assert.match(map.keyToMeta.G1.label, /^这是一个非常非常长的节…$/);
|
|
assert.equal(map.keyToMeta.G2.label, "关系持续升温");
|
|
assert.equal(map.keyToMeta.G1.nodeId, rawNodeId);
|
|
|
|
console.log("prompt-node-references tests passed");
|