Repository navigation
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
When an assistant message makes parallel tool calls, OpenAI clients answer with one
toolmessage per call.OpenAIReqToGeminiturned each of them into its ownusercontent holding onefunctionResponse. Gemini expects the responses to a parallel function call turn together in a single content, with as manyfunctionResponseparts as there werefunctionCallparts, and rejects the request when they are split.A tool message that directly follows another tool message now adds its
functionResponsepart to the previous content, in call order. A single tool result, and tool results of different turns (separated by other messages), still produce one content each.Tests:
openai_gemini_tool_results_test.gocovers two parallel results in one content, and a single result plus a later user turn and second tool round staying apart; the first fails onmaster.go vetandgo test ./internal/...pass. Not run against the live Gemini API.This change was prepared with AI assistance (Claude Code).