diff --git a/src/providers/google-shared.test.ts b/src/providers/google-shared.test.ts index 9b35bc060..9edda1722 100644 --- a/src/providers/google-shared.test.ts +++ b/src/providers/google-shared.test.ts @@ -27,7 +27,7 @@ const makeModel = (id: string): Model<"google-generative-ai"> => }) as Model<"google-generative-ai">; describe("google-shared convertTools", () => { - it("adds type:object when properties/required exist but type is missing", () => { + it("preserves properties/required when type is missing", () => { const tools = [ { name: "noType", @@ -46,7 +46,7 @@ describe("google-shared convertTools", () => { converted?.[0]?.functionDeclarations?.[0]?.parameters, ); - expect(params.type).toBe("object"); + expect(params.type).toBeUndefined(); expect(params.properties).toBeDefined(); expect(params.required).toEqual(["action"]); }); @@ -147,7 +147,7 @@ describe("google-shared convertTools", () => { }); describe("google-shared convertMessages", () => { - it("skips thinking blocks for Gemini to avoid mimicry", () => { + it("keeps thinking blocks with signatures for Gemini", () => { const model = makeModel("gemini-1.5-pro"); const context = { messages: [ @@ -184,7 +184,13 @@ describe("google-shared convertMessages", () => { } as unknown as Context; const contents = convertMessages(model, context); - expect(contents).toHaveLength(0); + expect(contents).toHaveLength(1); + const parts = contents?.[0]?.parts ?? []; + expect(parts).toHaveLength(1); + expect(parts[0]).toMatchObject({ + thought: true, + thoughtSignature: "sig", + }); }); it("keeps thought signatures for Claude models", () => {