fix(ai): avoid unsigned toolCall parts for Gemini 3 history #741
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes a Gemini 3 validation error when replaying history containing tool calls without
thoughtSignature(e.g. when the previous turn came from Claude via Antigravity).Approach:
packages/ai/src/providers/google-shared.tsdetectgemini-3*models and, when a tool call has nothoughtSignature, serialize the tool call as plain text instead of emitting afunctionCallpart.functionCall).Regression test:
packages/ai/test/google-shared-gemini3-unsigned-tool-call.test.tsto assert unsigned tool calls become text parts for Gemini 3.Context: moltbot/moltbot#922