From cd9f7a00fb6111be4e2dbc99cbaf2c5e2a86590a Mon Sep 17 00:00:00 2001 From: Marcus Lowe Date: Sat, 15 Nov 2025 11:19:55 -0800 Subject: [PATCH 1/4] chore: logs --- src/providers/google-vertex-ai/chatComplete.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/providers/google-vertex-ai/chatComplete.ts b/src/providers/google-vertex-ai/chatComplete.ts index 3c79ef2a1..05fb44401 100644 --- a/src/providers/google-vertex-ai/chatComplete.ts +++ b/src/providers/google-vertex-ai/chatComplete.ts @@ -76,6 +76,7 @@ export const VertexGoogleChatCompleteConfig: ProviderConfig = { param: 'contents', default: '', transform: (params: Params) => { + console.log('params:', JSON.stringify(params, null, 2)); let lastRole: GoogleMessageRole | undefined; const messages: GoogleMessage[] = []; From 4c2abc3b6e9403a0364333f2d656787b4e820d3b Mon Sep 17 00:00:00 2001 From: Marcus Lowe Date: Sun, 16 Nov 2025 18:56:32 -0800 Subject: [PATCH 2/4] chore: gemini --- src/providers/google/chatComplete.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/providers/google/chatComplete.ts b/src/providers/google/chatComplete.ts index d9ab17a71..80cbfdb6f 100644 --- a/src/providers/google/chatComplete.ts +++ b/src/providers/google/chatComplete.ts @@ -29,6 +29,8 @@ import { getFakeId, } from '../utils'; +type ToolCallWithSignature = ToolCall & { thoughtSignature: string | undefined }; + const joinSystemMessages = (messages: Message[]) => messages ?.filter((message) => message.role === 'system') @@ -238,7 +240,7 @@ export const GoogleChatCompleteConfig: ProviderConfig = { let parts = []; if (message.role === 'assistant' && message.tool_calls) { - message.tool_calls.forEach((tool_call: ToolCall) => { + message.tool_calls.forEach((tool_call: ToolCallWithSignature) => { let args; try { args = JSON.parse(tool_call.function.arguments); @@ -253,6 +255,7 @@ export const GoogleChatCompleteConfig: ProviderConfig = { name: tool_call.function.name, args, }, + thoughtSignature: tool_call.thoughtSignature, }); }); } else if ( @@ -476,6 +479,7 @@ interface GoogleResponseCandidate { text?: string; thought?: string; // for models like gemini-2.0-flash-thinking-exp refer: https://ai.google.dev/gemini-api/docs/thinking-mode#streaming_model_thinking functionCall?: GoogleGenerateFunctionCall; + thoughtSignature?: string; }[]; }; logprobsResult?: { @@ -569,7 +573,7 @@ export const GoogleChatCompleteResponseTransform: ( choices: response.candidates?.map((generation, idx) => { // transform tool calls and content by iterating over the content parts - const toolCalls: ToolCall[] = []; + const toolCalls: ToolCallWithSignature[] = []; let content: string | undefined; const contentBlocks = []; for (const part of generation.content?.parts ?? []) { @@ -581,6 +585,7 @@ export const GoogleChatCompleteResponseTransform: ( name: part.functionCall.name, arguments: JSON.stringify(part.functionCall.args), }, + thoughtSignature: part.thoughtSignature, }); } else if (part.text) { if (part.thought) { @@ -722,6 +727,7 @@ export const GoogleChatCompleteStreamChunkTransform: ( name: part.functionCall.name, arguments: JSON.stringify(part.functionCall.args), }, + thoughtSignature: part.thoughtSignature, }; } }), From b6febbac389f9dc98a8200aed2bb6acf4464df1f Mon Sep 17 00:00:00 2001 From: Marcus Lowe Date: Sun, 16 Nov 2025 18:58:37 -0800 Subject: [PATCH 3/4] chore: gemini --- src/providers/google-vertex-ai/chatComplete.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/providers/google-vertex-ai/chatComplete.ts b/src/providers/google-vertex-ai/chatComplete.ts index 05fb44401..3c79ef2a1 100644 --- a/src/providers/google-vertex-ai/chatComplete.ts +++ b/src/providers/google-vertex-ai/chatComplete.ts @@ -76,7 +76,6 @@ export const VertexGoogleChatCompleteConfig: ProviderConfig = { param: 'contents', default: '', transform: (params: Params) => { - console.log('params:', JSON.stringify(params, null, 2)); let lastRole: GoogleMessageRole | undefined; const messages: GoogleMessage[] = []; From 3322cbb4ec7b38b0ce0d5a56486c3f9e9bbee0e2 Mon Sep 17 00:00:00 2001 From: Marcus Lowe Date: Sun, 16 Nov 2025 18:59:43 -0800 Subject: [PATCH 4/4] chore: formatting --- src/providers/google/chatComplete.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/providers/google/chatComplete.ts b/src/providers/google/chatComplete.ts index 80cbfdb6f..0f3bed681 100644 --- a/src/providers/google/chatComplete.ts +++ b/src/providers/google/chatComplete.ts @@ -29,7 +29,9 @@ import { getFakeId, } from '../utils'; -type ToolCallWithSignature = ToolCall & { thoughtSignature: string | undefined }; +type ToolCallWithSignature = ToolCall & { + thoughtSignature: string | undefined; +}; const joinSystemMessages = (messages: Message[]) => messages