feat: add Gemini 3 thought signature support for qBraid provider #4
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
Implements proper handling of Gemini 3 thought signatures in multi-turn function calling conversations.
Problem
Gemini 3 models require "thought signatures" to be passed back when sending tool results in multi-turn conversations with function calling. Without these signatures, Gemini returns an error:
Solution
This PR works in conjunction with changes in qbraid-account (PR anomalyco#147) to pass thought signatures through the OpenAI-compatible API.
Changes in this PR:
New qBraid provider SDK (
packages/opencode/src/provider/sdk/qbraid/):_thought_signaturefrom tool callstoolCallIdgetThoughtSignature()for retrievalprocessor.ts updates:
vertexandgooglekeysprovider.ts:
BUNDLED_PROVIDERSmodels.json:
@ai-sdk/qbraidnpm identifierFlow:
_thought_signatureon each tool call in OpenAI-compatible responseproviderOptionsTesting
Requires qbraid-account PR anomalyco#147 to be deployed. Then test with:
codeq run --model qbraid/gemini-3-flash "can you submit a bell circuit to sv1"