fix: skip empty text parts and messages to avoid Gemini API error #1294
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.
Summary
Fixes #1293
When Claude API sends an assistant message with empty text content, the Antigravity translator was creating an empty part object
{}with no data field, causing Gemini API to return error:Changes
textfield is empty string, skip adding the part to avoid creating invalid empty objectsFiles Changed
internal/translator/antigravity/claude/antigravity_claude_request.goTesting
All existing tests pass:
Example
Before fix, this request would fail:
{ "messages": [ {"role": "user", "content": [{"type": "text", "text": "你好"}]}, {"role": "assistant", "content": [{"type": "text", "text": ""}]}, {"role": "user", "content": [{"type": "text", "text": "Suggest a title"}]} ] }After fix, the empty assistant message is filtered out and the request succeeds.