refactor(*): 稳定期治理 - 收敛核心架构、错误语义并修复跨项目数据竞态

This commit is contained in:
ddCat
2026-09-09 22:02:10 +08:00
parent bacd502f5c
commit b5f3413ded
298 changed files with 12681 additions and 26428 deletions

View File

@@ -117,6 +117,20 @@ describe("canvas resource mention slots", () => {
expect(asset && "coverUrl" in asset ? asset.coverUrl : "").toBe("https://cdn.example.com/poster.jpg");
});
test("仅有持久资源键的媒体节点仍可恢复为素材且不伪造临时地址", () => {
const node = videoNode("storage-key-only-video");
node.metadata = {
storageKey: " video:user:durable ",
mimeType: "video/mp4",
};
const asset = canvasNodeToAsset(node, { canvasId: "canvas", source: "canvas-upload" });
expect(asset?.kind).toBe("video");
expect(asset?.kind === "video" ? asset.data.url : "not-video").toBe("");
expect(asset?.kind === "video" ? asset.data.storageKey : undefined).toBe("video:user:durable");
});
test("上传视频作为生成设置引用时携带首帧预览,而不是播放器地址", () => {
const source = videoNode("uploaded-video");
source.metadata = {
@@ -191,7 +205,7 @@ describe("canvas resource mention slots", () => {
expect(references.get(target.id)?.map((reference) => reference.nodeId)).toEqual([audio.id]);
expect(references.get(config.id)?.map((reference) => reference.nodeId)).toEqual([target.id, audio.id]);
expect(references.get(image.id)?.map((reference) => reference.nodeId)).toEqual([]);
expect(buildNodeMentionReferences(image, nodes, connections)).toEqual([]);
expect(buildNodeMentionReferences(image, nodes, connections).map((reference) => reference.nodeId)).toEqual([image.id]);
});
test("素材库身份 token 保持稳定", () => {