




























@@ -123,14 +123,15 @@ describe("memory host SDK package internals", () => {
123123const note = await buildFileEntry(notePath, tmpDir);
124124const image = await buildFileEntry(imagePath, tmpDir, multimodal);
125125126-expect(note).toMatchObject({ path: "note.md", kind: "markdown" });
127-expect(image).toMatchObject({
128-path: "diagram.png",
129-kind: "multimodal",
130-modality: "image",
131-mimeType: "image/png",
132-contentText: "Image file: diagram.png",
133-});
126+const noteEntry = expectFileEntry(note);
127+expect(noteEntry.path).toBe("note.md");
128+expect(noteEntry.kind).toBe("markdown");
129+const imageEntry = expectFileEntry(image);
130+expect(imageEntry.path).toBe("diagram.png");
131+expect(imageEntry.kind).toBe("multimodal");
132+expect(imageEntry.modality).toBe("image");
133+expect(imageEntry.mimeType).toBe("image/png");
134+expect(imageEntry.contentText).toBe("Image file: diagram.png");
134135});
135136136137it("builds multimodal chunks lazily and rejects changed files", async () => {
@@ -140,10 +141,13 @@ describe("memory host SDK package internals", () => {
140141141142const entry = expectFileEntry(await buildFileEntry(imagePath, tmpDir, multimodal));
142143const built = expectMultimodalIndexingChunk(await buildMultimodalChunkForIndexing(entry));
143-expect(expectEmbeddingInput(built.chunk).parts).toEqual([
144-{ type: "text", text: "Image file: diagram.png" },
145-expect.objectContaining({ type: "inline-data", mimeType: "image/png" }),
146-]);
144+const parts = expectEmbeddingInput(built.chunk).parts ?? [];
145+expect(parts[0]).toEqual({ type: "text", text: "Image file: diagram.png" });
146+const inlinePart = parts[1];
147+if (inlinePart?.type !== "inline-data") {
148+throw new Error("Expected multimodal inline-data embedding part");
149+}
150+expect(inlinePart.mimeType).toBe("image/png");
147151148152fsSync.writeFileSync(imagePath, Buffer.alloc(entry.size + 32, 1));
149153await expect(buildMultimodalChunkForIndexing(entry)).resolves.toBeNull();
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。