From ee40c6e33818c6fcd518e1fe9c69e21de87ca994 Mon Sep 17 00:00:00 2001 From: Marc J Saint-jour <82672745+Junebugg1214@users.noreply.github.com> Date: Thu, 12 Mar 2026 20:04:19 -0400 Subject: [PATCH] fix: restore memory search output dimensionality --- src/memory/embeddings.test.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/memory/embeddings.test.ts b/src/memory/embeddings.test.ts index df22885fefd..d1f5fbaf82e 100644 --- a/src/memory/embeddings.test.ts +++ b/src/memory/embeddings.test.ts @@ -210,6 +210,31 @@ describe("embedding provider remote overrides", () => { expect(headers["Content-Type"]).toBe("application/json"); }); + it("passes Gemini outputDimensionality when configured", async () => { + const fetchMock = createGeminiFetchMock(); + vi.stubGlobal("fetch", fetchMock); + mockResolvedProviderKey("provider-key"); + + const result = await createEmbeddingProvider({ + config: {} as never, + provider: "gemini", + remote: { + apiKey: "gemini-key", + }, + model: "text-embedding-004", + outputDimensionality: 768, + fallback: "openai", + }); + + const provider = requireProvider(result); + await provider.embedQuery("hello"); + + const { init } = readFirstFetchRequest(fetchMock); + expect(init?.body ? JSON.parse(String(init.body)) : {}).toMatchObject({ + outputDimensionality: 768, + }); + }); + it("fails fast when Gemini remote apiKey is an unresolved SecretRef", async () => { await expect( createEmbeddingProvider({