ci: Version Packages#547
Merged
Merged
Conversation
AlemTuzlak
approved these changes
May 11, 2026
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@tanstack/ai@0.16.0
Minor Changes
fix(ai-gemini): read/write thoughtSignature at Part level + thread typed metadata through tool-call lifecycle (#459)
Two fixes shipped together because the adapter fix is only effective once the framework also preserves provider metadata across the tool-call round-trip.
Adapter (Gemini): Gemini emits
thoughtSignatureas a Part-level sibling offunctionCall(per the@google/genaiParttype definition), not nested insidefunctionCall. TheFunctionCalltype has never had athoughtSignatureproperty. The adapter was reading fromfunctionCall.thoughtSignature(does not exist in SDK types) and writing it back nested insidefunctionCall, causing Gemini 3.x to reject subsequent tool-call turns with400 INVALID_ARGUMENT: "Function call is missing a thought_signature".part.thoughtSignaturedirectly using the SDK's typedPartinterfacethoughtSignatureas a Part-level sibling offunctionCallFramework (typed tool-call metadata):
ToolCall.providerMetadata: Record<string, unknown>is nowToolCall<TMetadata>.metadata?: TMetadata, mirroring the existing typed-metadata pattern on content parts (ImagePart<TMetadata>,AudioPart<TMetadata>, etc.).ToolCallPartgains a typedmetadata?: TMetadatafield (also generic).ToolCallStartEvent.providerMetadatabecomesmetadata(kept asRecord<string, unknown>because the AGUIEvent discriminated union does not survive a generic on the event type; adapters cast to their typed shape when emitting).BaseTextAdapterandTextAdaptergain a sixth genericTToolCallMetadata(defaultunknown), exposed via~types.toolCallMetadatafor inference at call sites.InternalToolCallStategains ametadata?: Record<string, unknown>field captured atTOOL_CALL_STARTand threaded throughupdateToolCallPart,buildAssistantMessages,modelMessageToUIMessage, andcompleteToolCall, fixing a previously-silent drop of provider metadata across the client-side UIMessage pipeline (closes the gap surfaced inproviderMetadatalost in client-side UIMessage pipeline — breaks Gemini 3 thoughtSignature on multi-turn tool calls #403/fix(ai): preserveproviderMetadatathrough client-side UIMessage pipeline #404).Gemini concrete impl: new
GeminiToolCallMetadata { thoughtSignature?: string }exported from@tanstack/ai-gemini. The adapter declares itsTToolCallMetadataas this type, so consumers seetoolCall.metadata?.thoughtSignaturetyped end-to-end.Breaking: consumers reading
toolCall.providerMetadataortoolCallStartEvent.providerMetadatashould rename tometadata.Patch Changes
87f305c]:@tanstack/ai-event-client@0.3.0
Minor Changes
fix(ai-gemini): read/write thoughtSignature at Part level + thread typed metadata through tool-call lifecycle (#459)
Two fixes shipped together because the adapter fix is only effective once the framework also preserves provider metadata across the tool-call round-trip.
Adapter (Gemini): Gemini emits
thoughtSignatureas a Part-level sibling offunctionCall(per the@google/genaiParttype definition), not nested insidefunctionCall. TheFunctionCalltype has never had athoughtSignatureproperty. The adapter was reading fromfunctionCall.thoughtSignature(does not exist in SDK types) and writing it back nested insidefunctionCall, causing Gemini 3.x to reject subsequent tool-call turns with400 INVALID_ARGUMENT: "Function call is missing a thought_signature".part.thoughtSignaturedirectly using the SDK's typedPartinterfacethoughtSignatureas a Part-level sibling offunctionCallFramework (typed tool-call metadata):
ToolCall.providerMetadata: Record<string, unknown>is nowToolCall<TMetadata>.metadata?: TMetadata, mirroring the existing typed-metadata pattern on content parts (ImagePart<TMetadata>,AudioPart<TMetadata>, etc.).ToolCallPartgains a typedmetadata?: TMetadatafield (also generic).ToolCallStartEvent.providerMetadatabecomesmetadata(kept asRecord<string, unknown>because the AGUIEvent discriminated union does not survive a generic on the event type; adapters cast to their typed shape when emitting).BaseTextAdapterandTextAdaptergain a sixth genericTToolCallMetadata(defaultunknown), exposed via~types.toolCallMetadatafor inference at call sites.InternalToolCallStategains ametadata?: Record<string, unknown>field captured atTOOL_CALL_STARTand threaded throughupdateToolCallPart,buildAssistantMessages,modelMessageToUIMessage, andcompleteToolCall, fixing a previously-silent drop of provider metadata across the client-side UIMessage pipeline (closes the gap surfaced inproviderMetadatalost in client-side UIMessage pipeline — breaks Gemini 3 thoughtSignature on multi-turn tool calls #403/fix(ai): preserveproviderMetadatathrough client-side UIMessage pipeline #404).Gemini concrete impl: new
GeminiToolCallMetadata { thoughtSignature?: string }exported from@tanstack/ai-gemini. The adapter declares itsTToolCallMetadataas this type, so consumers seetoolCall.metadata?.thoughtSignaturetyped end-to-end.Breaking: consumers reading
toolCall.providerMetadataortoolCallStartEvent.providerMetadatashould rename tometadata.Patch Changes
87f305c]:@tanstack/ai-anthropic@0.8.6
Patch Changes
87f305c]:@tanstack/ai-client@0.9.1
Patch Changes
87f305c]:@tanstack/ai-code-mode@0.1.10
Patch Changes
87f305c]:@tanstack/ai-code-mode-skills@0.1.10
Patch Changes
87f305c]:@tanstack/ai-devtools-core@0.3.27
Patch Changes
87f305c]:@tanstack/ai-elevenlabs@0.2.3
Patch Changes
87f305c]:@tanstack/ai-fal@0.7.3
Patch Changes
87f305c]:@tanstack/ai-gemini@0.10.3
Patch Changes
fix(ai-gemini): read/write thoughtSignature at Part level + thread typed metadata through tool-call lifecycle (#459)
Two fixes shipped together because the adapter fix is only effective once the framework also preserves provider metadata across the tool-call round-trip.
Adapter (Gemini): Gemini emits
thoughtSignatureas a Part-level sibling offunctionCall(per the@google/genaiParttype definition), not nested insidefunctionCall. TheFunctionCalltype has never had athoughtSignatureproperty. The adapter was reading fromfunctionCall.thoughtSignature(does not exist in SDK types) and writing it back nested insidefunctionCall, causing Gemini 3.x to reject subsequent tool-call turns with400 INVALID_ARGUMENT: "Function call is missing a thought_signature".part.thoughtSignaturedirectly using the SDK's typedPartinterfacethoughtSignatureas a Part-level sibling offunctionCallFramework (typed tool-call metadata):
ToolCall.providerMetadata: Record<string, unknown>is nowToolCall<TMetadata>.metadata?: TMetadata, mirroring the existing typed-metadata pattern on content parts (ImagePart<TMetadata>,AudioPart<TMetadata>, etc.).ToolCallPartgains a typedmetadata?: TMetadatafield (also generic).ToolCallStartEvent.providerMetadatabecomesmetadata(kept asRecord<string, unknown>because the AGUIEvent discriminated union does not survive a generic on the event type; adapters cast to their typed shape when emitting).BaseTextAdapterandTextAdaptergain a sixth genericTToolCallMetadata(defaultunknown), exposed via~types.toolCallMetadatafor inference at call sites.InternalToolCallStategains ametadata?: Record<string, unknown>field captured atTOOL_CALL_STARTand threaded throughupdateToolCallPart,buildAssistantMessages,modelMessageToUIMessage, andcompleteToolCall, fixing a previously-silent drop of provider metadata across the client-side UIMessage pipeline (closes the gap surfaced inproviderMetadatalost in client-side UIMessage pipeline — breaks Gemini 3 thoughtSignature on multi-turn tool calls #403/fix(ai): preserveproviderMetadatathrough client-side UIMessage pipeline #404).Gemini concrete impl: new
GeminiToolCallMetadata { thoughtSignature?: string }exported from@tanstack/ai-gemini. The adapter declares itsTToolCallMetadataas this type, so consumers seetoolCall.metadata?.thoughtSignaturetyped end-to-end.Breaking: consumers reading
toolCall.providerMetadataortoolCallStartEvent.providerMetadatashould rename tometadata.Updated dependencies [
87f305c]:@tanstack/ai-grok@0.7.3
Patch Changes
87f305c]:@tanstack/ai-groq@0.1.11
Patch Changes
87f305c]:@tanstack/ai-isolate-cloudflare@0.2.1
Patch Changes
@tanstack/ai-isolate-node@0.1.10
Patch Changes
@tanstack/ai-isolate-quickjs@0.1.10
Patch Changes
@tanstack/ai-ollama@0.6.13
Patch Changes
87f305c]:@tanstack/ai-openai@0.8.5
Patch Changes
87f305c]:@tanstack/ai-openrouter@0.8.5
Patch Changes
87f305c]:@tanstack/ai-preact@0.6.22
Patch Changes
87f305c]:@tanstack/ai-react@0.8.2
Patch Changes
87f305c]:@tanstack/ai-solid@0.7.2
Patch Changes
87f305c]:@tanstack/ai-svelte@0.7.2
Patch Changes
87f305c]:@tanstack/ai-vue@0.7.2
Patch Changes
87f305c]:@tanstack/ai-vue-ui@0.1.33
Patch Changes
@tanstack/openai-base@0.2.1
Patch Changes
87f305c]:@tanstack/preact-ai-devtools@0.1.31
Patch Changes
@tanstack/react-ai-devtools@0.2.31
Patch Changes
@tanstack/solid-ai-devtools@0.2.31
Patch Changes
ts-svelte-chat@0.1.41
Patch Changes
87f305c]:ts-vue-chat@0.1.41
Patch Changes
87f305c]:vanilla-chat@0.0.37
Patch Changes
@tanstack/ai-code-mode-models-eval@0.0.15
Patch Changes
87f305c]: