From dd798475bfaa6be47a5a28b0af98a957985be3fd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 21 Aug 2026 16:54:12 +0000 Subject: [PATCH] ci: Version Packages --- .changeset/ai-octane-port.md | 45 ---------------- .changeset/anthropic-client-injection.md | 7 --- .changeset/calm-lions-throw.md | 5 -- .changeset/calm-thinkers-wait.md | 5 -- .changeset/calm-tools-return.md | 5 -- .../chatclient-hidden-tab-live-yield.md | 7 --- .../fix-interleaved-text-tool-call-input.md | 5 -- .changeset/gentle-tools-omit.md | 5 -- .changeset/llmgateway-adapter.md | 25 --------- .changeset/openrouter-disable-reasoning.md | 7 --- .changeset/quiet-dragons-write.md | 6 --- .changeset/soft-teams-work.md | 14 ----- .changeset/sync-models.md | 6 --- .changeset/tidy-pdfs.md | 5 -- .changeset/vertex-gemini.md | 7 --- .changeset/vertex-grok-mistral.md | 11 ---- examples/ag-ui/CHANGELOG.md | 9 ++++ examples/ag-ui/package.json | 2 +- packages/ai-angular/CHANGELOG.md | 15 ++++++ packages/ai-angular/package.json | 2 +- packages/ai-anthropic/CHANGELOG.md | 21 ++++++++ packages/ai-anthropic/package.json | 2 +- packages/ai-client/CHANGELOG.md | 11 ++++ packages/ai-client/package.json | 2 +- packages/ai-gemini/CHANGELOG.md | 12 +++++ packages/ai-gemini/package.json | 2 +- packages/ai-grok/CHANGELOG.md | 16 ++++++ packages/ai-grok/package.json | 2 +- packages/ai-llmgateway/CHANGELOG.md | 31 +++++++++++ packages/ai-llmgateway/package.json | 2 +- packages/ai-mistral/CHANGELOG.md | 17 +++++++ packages/ai-mistral/package.json | 2 +- packages/ai-octane/CHANGELOG.md | 51 +++++++++++++++++++ packages/ai-octane/package.json | 2 +- packages/ai-openrouter/CHANGELOG.md | 15 ++++++ packages/ai-openrouter/package.json | 2 +- packages/ai-react/CHANGELOG.md | 15 ++++++ packages/ai-react/package.json | 2 +- packages/ai-solid/CHANGELOG.md | 15 ++++++ packages/ai-solid/package.json | 2 +- packages/ai-svelte/CHANGELOG.md | 15 ++++++ packages/ai-svelte/package.json | 2 +- packages/ai-vercel-gateway/CHANGELOG.md | 10 ++++ packages/ai-vercel-gateway/package.json | 2 +- packages/ai-vertex/CHANGELOG.md | 14 +++++ packages/ai-vertex/package.json | 2 +- packages/ai-vue/CHANGELOG.md | 15 ++++++ packages/ai-vue/package.json | 2 +- packages/ai/CHANGELOG.md | 30 +++++++++++ packages/ai/package.json | 2 +- packages/openai-base/CHANGELOG.md | 11 ++++ packages/openai-base/package.json | 2 +- 52 files changed, 341 insertions(+), 183 deletions(-) delete mode 100644 .changeset/ai-octane-port.md delete mode 100644 .changeset/anthropic-client-injection.md delete mode 100644 .changeset/calm-lions-throw.md delete mode 100644 .changeset/calm-thinkers-wait.md delete mode 100644 .changeset/calm-tools-return.md delete mode 100644 .changeset/chatclient-hidden-tab-live-yield.md delete mode 100644 .changeset/fix-interleaved-text-tool-call-input.md delete mode 100644 .changeset/gentle-tools-omit.md delete mode 100644 .changeset/llmgateway-adapter.md delete mode 100644 .changeset/openrouter-disable-reasoning.md delete mode 100644 .changeset/quiet-dragons-write.md delete mode 100644 .changeset/soft-teams-work.md delete mode 100644 .changeset/sync-models.md delete mode 100644 .changeset/tidy-pdfs.md delete mode 100644 .changeset/vertex-gemini.md delete mode 100644 .changeset/vertex-grok-mistral.md create mode 100644 packages/ai-llmgateway/CHANGELOG.md create mode 100644 packages/ai-octane/CHANGELOG.md create mode 100644 packages/ai-vertex/CHANGELOG.md diff --git a/.changeset/ai-octane-port.md b/.changeset/ai-octane-port.md deleted file mode 100644 index c5125ad639..0000000000 --- a/.changeset/ai-octane-port.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -'@tanstack/ai-octane': minor ---- - -Add `@tanstack/ai-octane` — [Octane](https://github.com/octanejs/octane) bindings for TanStack AI. - -This is a port of `@octanejs/tanstack-ai@0.0.11`, which lived in the -octanejs/octane repo as a temporary stopgap. The code moves here essentially -unchanged apart from the rename; the runtime surface is the same. - -The package covers the `@tanstack/ai-react` hook surface — `useChat`, -`useRealtimeChat`, `useMcpAppBridge`, `useGeneration`, `useGenerateImage` / -`Audio` / `Speech` / `Video`, `useTranscription`, `useSummarize`, -`useAudioRecorder` — plus the 30 `@tanstack/ai-client` convenience re-exports, -reusing `@tanstack/ai` and `@tanstack/ai-client` unchanged. SSR through -`octane/server` is supported and tested. - -Three defects found while reviewing the port were fixed rather than mirrored, and -are covered by tests (each verified to fail if the fix is reverted). Issues are -filed upstream so the React adapter can catch up: - -- `useAudioRecorder`'s transforming overload now requires `onComplete`. - Previously, passing any unrelated option (`useAudioRecorder({ onError })`) - matched it, inferred `TOnComplete` as `unknown`, and silently collapsed - `recording`/`stop()` to `unknown`. -- `useGeneration` spreads caller `devtools` metadata before the hardcoded - `framework`/`hookName`, so a caller can no longer misattribute the binding in - the devtools. The sibling hooks already ordered it this way. -- `UseGenerationReturn` is now `` and types `generate` as - `(input: TInput)` instead of widening to `(input: Record)`, so - required and narrow input fields are checked at the call site. This is the one - place the public _type_ surface differs in shape from `@tanstack/ai-react`; - the runtime surface is unchanged. - -Two other things to know: - -- Like Svelte packages shipping `.svelte`, this one publishes **uncompiled - source**. The hook modules are `.tsrx` and are compiled by the consumer's - Octane plugin, so there is no `dist` and `octane` is a required peer. The - `.tsrx.d.ts` companions are checked declaration emits, so the full generic - surface is preserved for TypeScript consumers. -- `useChat` matches the current ChatClient shape: `threadId` identity, queue, - `runId`, interrupts, `attach`/`detach`, and `SendMessageOptions`. The - `./mcp-apps` subpath is not ported (it renders a React-only component). See - `packages/ai-octane/status.json` for the full scope and divergence list. diff --git a/.changeset/anthropic-client-injection.md b/.changeset/anthropic-client-injection.md deleted file mode 100644 index f17c509df7..0000000000 --- a/.changeset/anthropic-client-injection.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/ai-anthropic': minor ---- - -Add `createAnthropicChatWithClient` and `anthropicVertexText` (from -`@tanstack/ai-anthropic/vertex`) so Claude can run on Vertex AI and other -Anthropic-compatible transports. diff --git a/.changeset/calm-lions-throw.md b/.changeset/calm-lions-throw.md deleted file mode 100644 index 15f1af472f..0000000000 --- a/.changeset/calm-lions-throw.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai': patch ---- - -Reject non-streaming text calls when their event stream ends with a `RUN_ERROR`. diff --git a/.changeset/calm-thinkers-wait.md b/.changeset/calm-thinkers-wait.md deleted file mode 100644 index 253d7c7cdd..0000000000 --- a/.changeset/calm-thinkers-wait.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai': patch ---- - -Preserve signed thinking blocks relative to tool calls when converting assistant UI messages. A thinking block that follows a provider-executed tool now starts a new assistant segment instead of being replayed before that tool. diff --git a/.changeset/calm-tools-return.md b/.changeset/calm-tools-return.md deleted file mode 100644 index 5cf6eff842..0000000000 --- a/.changeset/calm-tools-return.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/openai-base': patch ---- - -Undo strict-mode null widening before validating and executing OpenAI-compatible tool calls. diff --git a/.changeset/chatclient-hidden-tab-live-yield.md b/.changeset/chatclient-hidden-tab-live-yield.md deleted file mode 100644 index 425eac5e63..0000000000 --- a/.changeset/chatclient-hidden-tab-live-yield.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/ai-client': patch ---- - -Fix live stream stalling in background browser tabs. - -The live path skips the per-chunk `setTimeout(0)` while `document.hidden` is true, so stream pull is not paced by the hidden-tab timer clamp. Visible tabs, Node, and resume replay (`defer: false`) are unchanged. diff --git a/.changeset/fix-interleaved-text-tool-call-input.md b/.changeset/fix-interleaved-text-tool-call-input.md deleted file mode 100644 index f231c55d5e..0000000000 --- a/.changeset/fix-interleaved-text-tool-call-input.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai': patch ---- - -Fix tool-call `input` corruption when a `TEXT_MESSAGE_CONTENT` event arrives between `TOOL_CALL_ARGS` events. Text events no longer force-complete in-flight tool calls, and `input` is only set when a strict `JSON.parse` of the accumulated arguments succeeds. diff --git a/.changeset/gentle-tools-omit.md b/.changeset/gentle-tools-omit.md deleted file mode 100644 index 45e835f918..0000000000 --- a/.changeset/gentle-tools-omit.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai-mistral': patch ---- - -Preserve genuine nullable values while removing nulls synthesized for optional strict tool inputs and structured outputs. diff --git a/.changeset/llmgateway-adapter.md b/.changeset/llmgateway-adapter.md deleted file mode 100644 index 5ff5d430a8..0000000000 --- a/.changeset/llmgateway-adapter.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -'@tanstack/ai-llmgateway': minor -'@tanstack/ai': patch ---- - -New provider adapter: `@tanstack/ai-llmgateway` connects TanStack AI to -[LLM Gateway](https://llmgateway.io), an open-source, self-hostable AI -gateway that routes one OpenAI-compatible endpoint to hundreds of models -across many providers. - -- `llmGatewayText` / `createLLMGatewayText` — streaming chat with tool - calling, structured outputs, multimodal (image) input, and reasoning - deltas (`reasoning_content`) surfaced as AG-UI `REASONING_*` events -- `llmGatewaySummarize` / `createLLMGatewaySummarize` — summarization via - the shared `ChatStreamSummarizeAdapter` -- `LLMGATEWAY_CHAT_MODELS` — a curated list of flagship model ids, with - per-model input modalities and tool capabilities resolved at the type - level, and any other model id from llmgateway.io/models accepted and - typed against the generic provider options -- `provider/model` ids pin routing to a specific provider; bare ids let - the gateway choose - -`@tanstack/ai` registers `llmgateway` in the summarize wrapper's -provider-native token-key map, so `summarize({ maxLength })` reaches the -gateway as `max_tokens` instead of being dropped with a warning. diff --git a/.changeset/openrouter-disable-reasoning.md b/.changeset/openrouter-disable-reasoning.md deleted file mode 100644 index 29909ae330..0000000000 --- a/.changeset/openrouter-disable-reasoning.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/ai-openrouter': patch ---- - -Preserve `reasoning: { enabled: false }` by normalizing it to the -SDK-supported `reasoning: { effort: 'none' }`, and omit empty reasoning -objects before request serialization. diff --git a/.changeset/quiet-dragons-write.md b/.changeset/quiet-dragons-write.md deleted file mode 100644 index d4fe471915..0000000000 --- a/.changeset/quiet-dragons-write.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@tanstack/openai-base': patch -'@tanstack/ai-openrouter': patch ---- - -Recover successful OpenAI and OpenRouter Responses API text that is present only on the completed response event. diff --git a/.changeset/soft-teams-work.md b/.changeset/soft-teams-work.md deleted file mode 100644 index 830b13d7fa..0000000000 --- a/.changeset/soft-teams-work.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -'@tanstack/ai-angular': patch -'@tanstack/ai-svelte': patch -'@tanstack/ai-react': patch -'@tanstack/ai-solid': patch -'@tanstack/ai-vue': patch ---- - -Fix audio-recorder transforming overloads so options without `onComplete` -(e.g. `{ onError }`) keep `AudioRecording` instead of collapsing -`recording`/`stop()` to `unknown` (issue #1001). - -The transforming overload now requires `onComplete`, matching the fix already -landed in the Octane port (#1000). Runtime behavior is unchanged. diff --git a/.changeset/sync-models.md b/.changeset/sync-models.md deleted file mode 100644 index 5d9ff267d8..0000000000 --- a/.changeset/sync-models.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@tanstack/ai-openrouter': patch -'@tanstack/ai-vercel-gateway': patch ---- - -Update model metadata from OpenRouter API diff --git a/.changeset/tidy-pdfs.md b/.changeset/tidy-pdfs.md deleted file mode 100644 index 4f417471a4..0000000000 --- a/.changeset/tidy-pdfs.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai-anthropic': patch ---- - -Serialize only Anthropic-supported fields from document and image metadata; use `filename` as a fallback document title. diff --git a/.changeset/vertex-gemini.md b/.changeset/vertex-gemini.md deleted file mode 100644 index b47d252662..0000000000 --- a/.changeset/vertex-gemini.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/ai-gemini': minor -'@tanstack/ai-vertex': minor ---- - -Add `@tanstack/ai-vertex` for Gemini on Vertex AI, and allow the Gemini -client to start without an API key when Vertex or Enterprise mode is on. diff --git a/.changeset/vertex-grok-mistral.md b/.changeset/vertex-grok-mistral.md deleted file mode 100644 index 561e5940f1..0000000000 --- a/.changeset/vertex-grok-mistral.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@tanstack/ai-grok': minor -'@tanstack/ai-mistral': minor -'@tanstack/ai-anthropic': minor ---- - -Add Vertex AI factories for Grok (`grokVertexText`, `grokVertexSummarize`) -and Mistral (`mistralVertexText`) on `@tanstack/ai-grok/vertex` and -`@tanstack/ai-mistral/vertex`. Vertex factories accept only the chat -models in the Google partner catalog. `anthropicVertexText` now uses -the same Vertex Claude catalog. diff --git a/examples/ag-ui/CHANGELOG.md b/examples/ag-ui/CHANGELOG.md index 0ee433e307..6d86b4f8bd 100644 --- a/examples/ag-ui/CHANGELOG.md +++ b/examples/ag-ui/CHANGELOG.md @@ -1,5 +1,14 @@ # ag-ui +## 0.0.10 + +### Patch Changes + +- Updated dependencies [[`2c7381c`](https://github.com/TanStack/ai/commit/2c7381c602d8fd05c20a0b41863f42b2568c0603), [`849d666`](https://github.com/TanStack/ai/commit/849d666fa3cfa2b29d814c80d1f9f8cc9abf42d7)]: + - @tanstack/ai-client@0.25.2 + - @tanstack/ai-react@0.21.2 + - @tanstack/ai-react-ui@0.8.18 + ## 0.0.9 ### Patch Changes diff --git a/examples/ag-ui/package.json b/examples/ag-ui/package.json index 5e3f2020c8..11c111e0ce 100644 --- a/examples/ag-ui/package.json +++ b/examples/ag-ui/package.json @@ -2,7 +2,7 @@ "name": "ag-ui", "private": true, "type": "module", - "version": "0.0.9", + "version": "0.0.10", "scripts": { "detect-servers": "node scripts/detect-servers.mjs", "predev": "node scripts/detect-servers.mjs", diff --git a/packages/ai-angular/CHANGELOG.md b/packages/ai-angular/CHANGELOG.md index 9b39bb8453..f1282c0f4e 100644 --- a/packages/ai-angular/CHANGELOG.md +++ b/packages/ai-angular/CHANGELOG.md @@ -1,5 +1,20 @@ # @tanstack/ai-angular +## 0.6.2 + +### Patch Changes + +- [#1082](https://github.com/TanStack/ai/pull/1082) [`849d666`](https://github.com/TanStack/ai/commit/849d666fa3cfa2b29d814c80d1f9f8cc9abf42d7) - Fix audio-recorder transforming overloads so options without `onComplete` + (e.g. `{ onError }`) keep `AudioRecording` instead of collapsing + `recording`/`stop()` to `unknown` (issue [#1001](https://github.com/TanStack/ai/issues/1001)). + + The transforming overload now requires `onComplete`, matching the fix already + landed in the Octane port ([#1000](https://github.com/TanStack/ai/issues/1000)). Runtime behavior is unchanged. + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`2c7381c`](https://github.com/TanStack/ai/commit/2c7381c602d8fd05c20a0b41863f42b2568c0603), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + - @tanstack/ai-client@0.25.2 + ## 0.6.1 ### Patch Changes diff --git a/packages/ai-angular/package.json b/packages/ai-angular/package.json index 083759a190..a120096320 100644 --- a/packages/ai-angular/package.json +++ b/packages/ai-angular/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-angular", - "version": "0.6.1", + "version": "0.6.2", "description": "Angular signals integration for TanStack AI streaming chat, structured outputs, and media generation.", "author": "", "license": "MIT", diff --git a/packages/ai-anthropic/CHANGELOG.md b/packages/ai-anthropic/CHANGELOG.md index fe438702a9..ff1e212490 100644 --- a/packages/ai-anthropic/CHANGELOG.md +++ b/packages/ai-anthropic/CHANGELOG.md @@ -1,5 +1,26 @@ # @tanstack/ai-anthropic +## 0.17.0 + +### Minor Changes + +- [#989](https://github.com/TanStack/ai/pull/989) [`75dbdfa`](https://github.com/TanStack/ai/commit/75dbdfa2fe4141cc240fe74307820fe43bd31e07) - Add `createAnthropicChatWithClient` and `anthropicVertexText` (from + `@tanstack/ai-anthropic/vertex`) so Claude can run on Vertex AI and other + Anthropic-compatible transports. + +- [#989](https://github.com/TanStack/ai/pull/989) [`75dbdfa`](https://github.com/TanStack/ai/commit/75dbdfa2fe4141cc240fe74307820fe43bd31e07) - Add Vertex AI factories for Grok (`grokVertexText`, `grokVertexSummarize`) + and Mistral (`mistralVertexText`) on `@tanstack/ai-grok/vertex` and + `@tanstack/ai-mistral/vertex`. Vertex factories accept only the chat + models in the Google partner catalog. `anthropicVertexText` now uses + the same Vertex Claude catalog. + +### Patch Changes + +- [#1021](https://github.com/TanStack/ai/pull/1021) [`5bf4402`](https://github.com/TanStack/ai/commit/5bf440252685d5bfd69eb7d1c066e6e2de5ee101) - Serialize only Anthropic-supported fields from document and image metadata; use `filename` as a fallback document title. + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + ## 0.16.9 ### Patch Changes diff --git a/packages/ai-anthropic/package.json b/packages/ai-anthropic/package.json index 85f8c27804..1825e1ffa3 100644 --- a/packages/ai-anthropic/package.json +++ b/packages/ai-anthropic/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-anthropic", - "version": "0.16.9", + "version": "0.17.0", "description": "Anthropic Claude adapter for TanStack AI chat, tool calling, thinking, and structured outputs.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-client/CHANGELOG.md b/packages/ai-client/CHANGELOG.md index d8ce531a4d..1803d4557c 100644 --- a/packages/ai-client/CHANGELOG.md +++ b/packages/ai-client/CHANGELOG.md @@ -1,5 +1,16 @@ # @tanstack/ai-client +## 0.25.2 + +### Patch Changes + +- [#1012](https://github.com/TanStack/ai/pull/1012) [`2c7381c`](https://github.com/TanStack/ai/commit/2c7381c602d8fd05c20a0b41863f42b2568c0603) - Fix live stream stalling in background browser tabs. + + The live path skips the per-chunk `setTimeout(0)` while `document.hidden` is true, so stream pull is not paced by the hidden-tab timer clamp. Visible tabs, Node, and resume replay (`defer: false`) are unchanged. + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + ## 0.25.1 ### Patch Changes diff --git a/packages/ai-client/package.json b/packages/ai-client/package.json index 9b5c3fcd90..3dabb443a5 100644 --- a/packages/ai-client/package.json +++ b/packages/ai-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-client", - "version": "0.25.1", + "version": "0.25.2", "description": "Framework-agnostic headless client for TanStack AI chat, realtime sessions, streaming transports, and media generations.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-gemini/CHANGELOG.md b/packages/ai-gemini/CHANGELOG.md index 5ca61d5a45..1b1a5b5705 100644 --- a/packages/ai-gemini/CHANGELOG.md +++ b/packages/ai-gemini/CHANGELOG.md @@ -1,5 +1,17 @@ # @tanstack/ai-gemini +## 0.25.0 + +### Minor Changes + +- [#989](https://github.com/TanStack/ai/pull/989) [`75dbdfa`](https://github.com/TanStack/ai/commit/75dbdfa2fe4141cc240fe74307820fe43bd31e07) - Add `@tanstack/ai-vertex` for Gemini on Vertex AI, and allow the Gemini + client to start without an API key when Vertex or Enterprise mode is on. + +### Patch Changes + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + ## 0.24.2 ### Patch Changes diff --git a/packages/ai-gemini/package.json b/packages/ai-gemini/package.json index f88c70460d..27d1f248d4 100644 --- a/packages/ai-gemini/package.json +++ b/packages/ai-gemini/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-gemini", - "version": "0.24.2", + "version": "0.25.0", "description": "Google Gemini adapter for TanStack AI chat, images, speech, audio generation, and structured outputs.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-grok/CHANGELOG.md b/packages/ai-grok/CHANGELOG.md index 8132df6e7d..916175c0e6 100644 --- a/packages/ai-grok/CHANGELOG.md +++ b/packages/ai-grok/CHANGELOG.md @@ -1,5 +1,21 @@ # @tanstack/ai-grok +## 0.17.0 + +### Minor Changes + +- [#989](https://github.com/TanStack/ai/pull/989) [`75dbdfa`](https://github.com/TanStack/ai/commit/75dbdfa2fe4141cc240fe74307820fe43bd31e07) - Add Vertex AI factories for Grok (`grokVertexText`, `grokVertexSummarize`) + and Mistral (`mistralVertexText`) on `@tanstack/ai-grok/vertex` and + `@tanstack/ai-mistral/vertex`. Vertex factories accept only the chat + models in the Google partner catalog. `anthropicVertexText` now uses + the same Vertex Claude catalog. + +### Patch Changes + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`ff27fde`](https://github.com/TanStack/ai/commit/ff27fdeb2e134cb4c2b69e6809774477ffdc26a0), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4), [`66ba92c`](https://github.com/TanStack/ai/commit/66ba92cb5c2cfaf07ee2269306048e2fd4f788fe)]: + - @tanstack/ai@0.47.3 + - @tanstack/openai-base@0.10.2 + ## 0.16.2 ### Patch Changes diff --git a/packages/ai-grok/package.json b/packages/ai-grok/package.json index 8ce2cfe5ca..fb00bdbcf2 100644 --- a/packages/ai-grok/package.json +++ b/packages/ai-grok/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-grok", - "version": "0.16.2", + "version": "0.17.0", "description": "xAI Grok adapter for TanStack AI chat, image generation, realtime, and structured outputs.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-llmgateway/CHANGELOG.md b/packages/ai-llmgateway/CHANGELOG.md new file mode 100644 index 0000000000..badac180ce --- /dev/null +++ b/packages/ai-llmgateway/CHANGELOG.md @@ -0,0 +1,31 @@ +# @tanstack/ai-llmgateway + +## 0.1.0 + +### Minor Changes + +- [#1016](https://github.com/TanStack/ai/pull/1016) [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4) - New provider adapter: `@tanstack/ai-llmgateway` connects TanStack AI to + [LLM Gateway](https://llmgateway.io), an open-source, self-hostable AI + gateway that routes one OpenAI-compatible endpoint to hundreds of models + across many providers. + - `llmGatewayText` / `createLLMGatewayText` — streaming chat with tool + calling, structured outputs, multimodal (image) input, and reasoning + deltas (`reasoning_content`) surfaced as AG-UI `REASONING_*` events + - `llmGatewaySummarize` / `createLLMGatewaySummarize` — summarization via + the shared `ChatStreamSummarizeAdapter` + - `LLMGATEWAY_CHAT_MODELS` — a curated list of flagship model ids, with + per-model input modalities and tool capabilities resolved at the type + level, and any other model id from llmgateway.io/models accepted and + typed against the generic provider options + - `provider/model` ids pin routing to a specific provider; bare ids let + the gateway choose + + `@tanstack/ai` registers `llmgateway` in the summarize wrapper's + provider-native token-key map, so `summarize({ maxLength })` reaches the + gateway as `max_tokens` instead of being dropped with a warning. + +### Patch Changes + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`ff27fde`](https://github.com/TanStack/ai/commit/ff27fdeb2e134cb4c2b69e6809774477ffdc26a0), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4), [`66ba92c`](https://github.com/TanStack/ai/commit/66ba92cb5c2cfaf07ee2269306048e2fd4f788fe)]: + - @tanstack/ai@0.47.3 + - @tanstack/openai-base@0.10.2 diff --git a/packages/ai-llmgateway/package.json b/packages/ai-llmgateway/package.json index 739e24211f..ebc584756f 100644 --- a/packages/ai-llmgateway/package.json +++ b/packages/ai-llmgateway/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-llmgateway", - "version": "0.0.0", + "version": "0.1.0", "description": "LLM Gateway adapter for TanStack AI — one OpenAI-compatible endpoint for chat, tool calling, and structured outputs across many providers and models.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-mistral/CHANGELOG.md b/packages/ai-mistral/CHANGELOG.md index 3da2b3a10f..1198751cb0 100644 --- a/packages/ai-mistral/CHANGELOG.md +++ b/packages/ai-mistral/CHANGELOG.md @@ -1,5 +1,22 @@ # @tanstack/ai-mistral +## 0.4.0 + +### Minor Changes + +- [#989](https://github.com/TanStack/ai/pull/989) [`75dbdfa`](https://github.com/TanStack/ai/commit/75dbdfa2fe4141cc240fe74307820fe43bd31e07) - Add Vertex AI factories for Grok (`grokVertexText`, `grokVertexSummarize`) + and Mistral (`mistralVertexText`) on `@tanstack/ai-grok/vertex` and + `@tanstack/ai-mistral/vertex`. Vertex factories accept only the chat + models in the Google partner catalog. `anthropicVertexText` now uses + the same Vertex Claude catalog. + +### Patch Changes + +- [#956](https://github.com/TanStack/ai/pull/956) [`eb774a9`](https://github.com/TanStack/ai/commit/eb774a90f452515ab9f444613bd3894f1ecbcee3) - Preserve genuine nullable values while removing nulls synthesized for optional strict tool inputs and structured outputs. + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + ## 0.3.4 ### Patch Changes diff --git a/packages/ai-mistral/package.json b/packages/ai-mistral/package.json index 271ba20509..d2d40da518 100644 --- a/packages/ai-mistral/package.json +++ b/packages/ai-mistral/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-mistral", - "version": "0.3.4", + "version": "0.4.0", "type": "module", "description": "Mistral adapter for TanStack AI", "author": "", diff --git a/packages/ai-octane/CHANGELOG.md b/packages/ai-octane/CHANGELOG.md new file mode 100644 index 0000000000..7da3ce7e10 --- /dev/null +++ b/packages/ai-octane/CHANGELOG.md @@ -0,0 +1,51 @@ +# @tanstack/ai-octane + +## 0.1.0 + +### Minor Changes + +- [#1000](https://github.com/TanStack/ai/pull/1000) [`25f06d1`](https://github.com/TanStack/ai/commit/25f06d1ac7266d21bdbc30312ffb8228259444fd) - Add `@tanstack/ai-octane` — [Octane](https://github.com/octanejs/octane) bindings for TanStack AI. + + This is a port of `@octanejs/tanstack-ai@0.0.11`, which lived in the + octanejs/octane repo as a temporary stopgap. The code moves here essentially + unchanged apart from the rename; the runtime surface is the same. + + The package covers the `@tanstack/ai-react` hook surface — `useChat`, + `useRealtimeChat`, `useMcpAppBridge`, `useGeneration`, `useGenerateImage` / + `Audio` / `Speech` / `Video`, `useTranscription`, `useSummarize`, + `useAudioRecorder` — plus the 30 `@tanstack/ai-client` convenience re-exports, + reusing `@tanstack/ai` and `@tanstack/ai-client` unchanged. SSR through + `octane/server` is supported and tested. + + Three defects found while reviewing the port were fixed rather than mirrored, and + are covered by tests (each verified to fail if the fix is reverted). Issues are + filed upstream so the React adapter can catch up: + - `useAudioRecorder`'s transforming overload now requires `onComplete`. + Previously, passing any unrelated option (`useAudioRecorder({ onError })`) + matched it, inferred `TOnComplete` as `unknown`, and silently collapsed + `recording`/`stop()` to `unknown`. + - `useGeneration` spreads caller `devtools` metadata before the hardcoded + `framework`/`hookName`, so a caller can no longer misattribute the binding in + the devtools. The sibling hooks already ordered it this way. + - `UseGenerationReturn` is now `` and types `generate` as + `(input: TInput)` instead of widening to `(input: Record)`, so + required and narrow input fields are checked at the call site. This is the one + place the public _type_ surface differs in shape from `@tanstack/ai-react`; + the runtime surface is unchanged. + + Two other things to know: + - Like Svelte packages shipping `.svelte`, this one publishes **uncompiled + source**. The hook modules are `.tsrx` and are compiled by the consumer's + Octane plugin, so there is no `dist` and `octane` is a required peer. The + `.tsrx.d.ts` companions are checked declaration emits, so the full generic + surface is preserved for TypeScript consumers. + - `useChat` matches the current ChatClient shape: `threadId` identity, queue, + `runId`, interrupts, `attach`/`detach`, and `SendMessageOptions`. The + `./mcp-apps` subpath is not ported (it renders a React-only component). See + `packages/ai-octane/status.json` for the full scope and divergence list. + +### Patch Changes + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`2c7381c`](https://github.com/TanStack/ai/commit/2c7381c602d8fd05c20a0b41863f42b2568c0603), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + - @tanstack/ai-client@0.25.2 diff --git a/packages/ai-octane/package.json b/packages/ai-octane/package.json index 546a31c16a..c3576f9a4f 100644 --- a/packages/ai-octane/package.json +++ b/packages/ai-octane/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-octane", - "version": "0.0.0", + "version": "0.1.0", "description": "Octane bindings for TanStack AI streaming chat, structured outputs, and media generation.", "author": "Dominic Gannaway", "license": "MIT", diff --git a/packages/ai-openrouter/CHANGELOG.md b/packages/ai-openrouter/CHANGELOG.md index 0de8a0436e..5a5f0193b7 100644 --- a/packages/ai-openrouter/CHANGELOG.md +++ b/packages/ai-openrouter/CHANGELOG.md @@ -1,5 +1,20 @@ # @tanstack/ai-openrouter +## 0.18.2 + +### Patch Changes + +- [#1013](https://github.com/TanStack/ai/pull/1013) [`4338500`](https://github.com/TanStack/ai/commit/4338500c7718f886a4d846ce4d0c4740d528c5c6) - Preserve `reasoning: { enabled: false }` by normalizing it to the + SDK-supported `reasoning: { effort: 'none' }`, and omit empty reasoning + objects before request serialization. + +- [#937](https://github.com/TanStack/ai/pull/937) [`66ba92c`](https://github.com/TanStack/ai/commit/66ba92cb5c2cfaf07ee2269306048e2fd4f788fe) - Recover successful OpenAI and OpenRouter Responses API text that is present only on the completed response event. + +- [#1179](https://github.com/TanStack/ai/pull/1179) [`2fd333a`](https://github.com/TanStack/ai/commit/2fd333a134e4cbe79ba38dcc1b999e829be6b998) - Update model metadata from OpenRouter API + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + ## 0.18.1 ### Patch Changes diff --git a/packages/ai-openrouter/package.json b/packages/ai-openrouter/package.json index 855727f1ef..480f01f514 100644 --- a/packages/ai-openrouter/package.json +++ b/packages/ai-openrouter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-openrouter", - "version": "0.18.1", + "version": "0.18.2", "description": "TanStack AI adapter for OpenRouter chat, provider tools, structured outputs, and access to hundreds of LLMs.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-react/CHANGELOG.md b/packages/ai-react/CHANGELOG.md index c4a7bc4c8a..969c7b4cde 100644 --- a/packages/ai-react/CHANGELOG.md +++ b/packages/ai-react/CHANGELOG.md @@ -1,5 +1,20 @@ # @tanstack/ai-react +## 0.21.2 + +### Patch Changes + +- [#1082](https://github.com/TanStack/ai/pull/1082) [`849d666`](https://github.com/TanStack/ai/commit/849d666fa3cfa2b29d814c80d1f9f8cc9abf42d7) - Fix audio-recorder transforming overloads so options without `onComplete` + (e.g. `{ onError }`) keep `AudioRecording` instead of collapsing + `recording`/`stop()` to `unknown` (issue [#1001](https://github.com/TanStack/ai/issues/1001)). + + The transforming overload now requires `onComplete`, matching the fix already + landed in the Octane port ([#1000](https://github.com/TanStack/ai/issues/1000)). Runtime behavior is unchanged. + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`2c7381c`](https://github.com/TanStack/ai/commit/2c7381c602d8fd05c20a0b41863f42b2568c0603), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + - @tanstack/ai-client@0.25.2 + ## 0.21.1 ### Patch Changes diff --git a/packages/ai-react/package.json b/packages/ai-react/package.json index e01cf674c8..b8272e8e1f 100644 --- a/packages/ai-react/package.json +++ b/packages/ai-react/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-react", - "version": "0.21.1", + "version": "0.21.2", "description": "React hooks for TanStack AI streaming chat, realtime voice, structured outputs, and media generation.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-solid/CHANGELOG.md b/packages/ai-solid/CHANGELOG.md index ecaa5942a1..3aa8794173 100644 --- a/packages/ai-solid/CHANGELOG.md +++ b/packages/ai-solid/CHANGELOG.md @@ -1,5 +1,20 @@ # @tanstack/ai-solid +## 0.18.2 + +### Patch Changes + +- [#1082](https://github.com/TanStack/ai/pull/1082) [`849d666`](https://github.com/TanStack/ai/commit/849d666fa3cfa2b29d814c80d1f9f8cc9abf42d7) - Fix audio-recorder transforming overloads so options without `onComplete` + (e.g. `{ onError }`) keep `AudioRecording` instead of collapsing + `recording`/`stop()` to `unknown` (issue [#1001](https://github.com/TanStack/ai/issues/1001)). + + The transforming overload now requires `onComplete`, matching the fix already + landed in the Octane port ([#1000](https://github.com/TanStack/ai/issues/1000)). Runtime behavior is unchanged. + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`2c7381c`](https://github.com/TanStack/ai/commit/2c7381c602d8fd05c20a0b41863f42b2568c0603), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + - @tanstack/ai-client@0.25.2 + ## 0.18.1 ### Patch Changes diff --git a/packages/ai-solid/package.json b/packages/ai-solid/package.json index d4318a73a2..bd62a4f5ef 100644 --- a/packages/ai-solid/package.json +++ b/packages/ai-solid/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-solid", - "version": "0.18.1", + "version": "0.18.2", "description": "Solid hooks for TanStack AI streaming chat, structured outputs, and media generation.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-svelte/CHANGELOG.md b/packages/ai-svelte/CHANGELOG.md index 9b99b41413..638e06598f 100644 --- a/packages/ai-svelte/CHANGELOG.md +++ b/packages/ai-svelte/CHANGELOG.md @@ -1,5 +1,20 @@ # @tanstack/ai-svelte +## 0.18.2 + +### Patch Changes + +- [#1082](https://github.com/TanStack/ai/pull/1082) [`849d666`](https://github.com/TanStack/ai/commit/849d666fa3cfa2b29d814c80d1f9f8cc9abf42d7) - Fix audio-recorder transforming overloads so options without `onComplete` + (e.g. `{ onError }`) keep `AudioRecording` instead of collapsing + `recording`/`stop()` to `unknown` (issue [#1001](https://github.com/TanStack/ai/issues/1001)). + + The transforming overload now requires `onComplete`, matching the fix already + landed in the Octane port ([#1000](https://github.com/TanStack/ai/issues/1000)). Runtime behavior is unchanged. + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`2c7381c`](https://github.com/TanStack/ai/commit/2c7381c602d8fd05c20a0b41863f42b2568c0603), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + - @tanstack/ai-client@0.25.2 + ## 0.18.1 ### Patch Changes diff --git a/packages/ai-svelte/package.json b/packages/ai-svelte/package.json index ade0d007e5..83dec35d41 100644 --- a/packages/ai-svelte/package.json +++ b/packages/ai-svelte/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-svelte", - "version": "0.18.1", + "version": "0.18.2", "description": "Svelte 5 bindings for TanStack AI streaming chat, structured outputs, and media generation.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-vercel-gateway/CHANGELOG.md b/packages/ai-vercel-gateway/CHANGELOG.md index 4cad214043..944377c07e 100644 --- a/packages/ai-vercel-gateway/CHANGELOG.md +++ b/packages/ai-vercel-gateway/CHANGELOG.md @@ -1,5 +1,15 @@ # @tanstack/ai-vercel-gateway +## 0.1.6 + +### Patch Changes + +- [#1179](https://github.com/TanStack/ai/pull/1179) [`2fd333a`](https://github.com/TanStack/ai/commit/2fd333a134e4cbe79ba38dcc1b999e829be6b998) - Update model metadata from OpenRouter API + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`ff27fde`](https://github.com/TanStack/ai/commit/ff27fdeb2e134cb4c2b69e6809774477ffdc26a0), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4), [`66ba92c`](https://github.com/TanStack/ai/commit/66ba92cb5c2cfaf07ee2269306048e2fd4f788fe)]: + - @tanstack/ai@0.47.3 + - @tanstack/openai-base@0.10.2 + ## 0.1.5 ### Patch Changes diff --git a/packages/ai-vercel-gateway/package.json b/packages/ai-vercel-gateway/package.json index de2e9eaa2f..1fd53fd350 100644 --- a/packages/ai-vercel-gateway/package.json +++ b/packages/ai-vercel-gateway/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-vercel-gateway", - "version": "0.1.5", + "version": "0.1.6", "description": "Vercel AI Gateway adapter for TanStack AI chat, embeddings, and image generation.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-vertex/CHANGELOG.md b/packages/ai-vertex/CHANGELOG.md new file mode 100644 index 0000000000..78aa035003 --- /dev/null +++ b/packages/ai-vertex/CHANGELOG.md @@ -0,0 +1,14 @@ +# @tanstack/ai-vertex + +## 0.2.0 + +### Minor Changes + +- [#989](https://github.com/TanStack/ai/pull/989) [`75dbdfa`](https://github.com/TanStack/ai/commit/75dbdfa2fe4141cc240fe74307820fe43bd31e07) - Add `@tanstack/ai-vertex` for Gemini on Vertex AI, and allow the Gemini + client to start without an API key when Vertex or Enterprise mode is on. + +### Patch Changes + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4), [`75dbdfa`](https://github.com/TanStack/ai/commit/75dbdfa2fe4141cc240fe74307820fe43bd31e07)]: + - @tanstack/ai@0.47.3 + - @tanstack/ai-gemini@0.25.0 diff --git a/packages/ai-vertex/package.json b/packages/ai-vertex/package.json index b4e4b6c352..b1a81d64e4 100644 --- a/packages/ai-vertex/package.json +++ b/packages/ai-vertex/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-vertex", - "version": "0.1.0", + "version": "0.2.0", "description": "Google Vertex AI adapter for TanStack AI. Runs Gemini models on Vertex with regional endpoints and Google Cloud credentials.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-vue/CHANGELOG.md b/packages/ai-vue/CHANGELOG.md index 76fe7af67e..758dfb9ed5 100644 --- a/packages/ai-vue/CHANGELOG.md +++ b/packages/ai-vue/CHANGELOG.md @@ -1,5 +1,20 @@ # @tanstack/ai-vue +## 0.18.2 + +### Patch Changes + +- [#1082](https://github.com/TanStack/ai/pull/1082) [`849d666`](https://github.com/TanStack/ai/commit/849d666fa3cfa2b29d814c80d1f9f8cc9abf42d7) - Fix audio-recorder transforming overloads so options without `onComplete` + (e.g. `{ onError }`) keep `AudioRecording` instead of collapsing + `recording`/`stop()` to `unknown` (issue [#1001](https://github.com/TanStack/ai/issues/1001)). + + The transforming overload now requires `onComplete`, matching the fix already + landed in the Octane port ([#1000](https://github.com/TanStack/ai/issues/1000)). Runtime behavior is unchanged. + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`2c7381c`](https://github.com/TanStack/ai/commit/2c7381c602d8fd05c20a0b41863f42b2568c0603), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + - @tanstack/ai-client@0.25.2 + ## 0.18.1 ### Patch Changes diff --git a/packages/ai-vue/package.json b/packages/ai-vue/package.json index 735594c075..3a1fddf3dd 100644 --- a/packages/ai-vue/package.json +++ b/packages/ai-vue/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-vue", - "version": "0.18.1", + "version": "0.18.2", "description": "Vue composables for TanStack AI streaming chat, structured outputs, and media generation.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index 03760fed2d..32308c55ee 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -1,5 +1,35 @@ # @tanstack/ai +## 0.47.3 + +### Patch Changes + +- [#938](https://github.com/TanStack/ai/pull/938) [`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac) - Reject non-streaming text calls when their event stream ends with a `RUN_ERROR`. + +- [#931](https://github.com/TanStack/ai/pull/931) [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e) - Preserve signed thinking blocks relative to tool calls when converting assistant UI messages. A thinking block that follows a provider-executed tool now starts a new assistant segment instead of being replayed before that tool. + +- [#1020](https://github.com/TanStack/ai/pull/1020) [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b) - Fix tool-call `input` corruption when a `TEXT_MESSAGE_CONTENT` event arrives between `TOOL_CALL_ARGS` events. Text events no longer force-complete in-flight tool calls, and `input` is only set when a strict `JSON.parse` of the accumulated arguments succeeds. + +- [#1016](https://github.com/TanStack/ai/pull/1016) [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4) - New provider adapter: `@tanstack/ai-llmgateway` connects TanStack AI to + [LLM Gateway](https://llmgateway.io), an open-source, self-hostable AI + gateway that routes one OpenAI-compatible endpoint to hundreds of models + across many providers. + - `llmGatewayText` / `createLLMGatewayText` — streaming chat with tool + calling, structured outputs, multimodal (image) input, and reasoning + deltas (`reasoning_content`) surfaced as AG-UI `REASONING_*` events + - `llmGatewaySummarize` / `createLLMGatewaySummarize` — summarization via + the shared `ChatStreamSummarizeAdapter` + - `LLMGATEWAY_CHAT_MODELS` — a curated list of flagship model ids, with + per-model input modalities and tool capabilities resolved at the type + level, and any other model id from llmgateway.io/models accepted and + typed against the generic provider options + - `provider/model` ids pin routing to a specific provider; bare ids let + the gateway choose + + `@tanstack/ai` registers `llmgateway` in the summarize wrapper's + provider-native token-key map, so `summarize({ maxLength })` reaches the + gateway as `max_tokens` instead of being dropped with a warning. + ## 0.47.2 ### Patch Changes diff --git a/packages/ai/package.json b/packages/ai/package.json index adb04cdd5a..baf5d3923a 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai", - "version": "0.47.2", + "version": "0.47.3", "description": "Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/openai-base/CHANGELOG.md b/packages/openai-base/CHANGELOG.md index 3c1164c9f5..44ba34646d 100644 --- a/packages/openai-base/CHANGELOG.md +++ b/packages/openai-base/CHANGELOG.md @@ -1,5 +1,16 @@ # @tanstack/openai-base +## 0.10.2 + +### Patch Changes + +- [#939](https://github.com/TanStack/ai/pull/939) [`ff27fde`](https://github.com/TanStack/ai/commit/ff27fdeb2e134cb4c2b69e6809774477ffdc26a0) - Undo strict-mode null widening before validating and executing OpenAI-compatible tool calls. + +- [#937](https://github.com/TanStack/ai/pull/937) [`66ba92c`](https://github.com/TanStack/ai/commit/66ba92cb5c2cfaf07ee2269306048e2fd4f788fe) - Recover successful OpenAI and OpenRouter Responses API text that is present only on the completed response event. + +- Updated dependencies [[`7c4b73a`](https://github.com/TanStack/ai/commit/7c4b73af5023e7ab7e113121644213c75d611aac), [`87e497f`](https://github.com/TanStack/ai/commit/87e497f2e282c2389579051ec743fa4cc8cf493e), [`c0ba484`](https://github.com/TanStack/ai/commit/c0ba48402a807d6482e1cb36a0cf393d0cd26b2b), [`d34b6c0`](https://github.com/TanStack/ai/commit/d34b6c01fbc9ed83e5dc9bd2725eb05f6b03bfd4)]: + - @tanstack/ai@0.47.3 + ## 0.10.1 ### Patch Changes diff --git a/packages/openai-base/package.json b/packages/openai-base/package.json index d0157110f8..0f3d904c48 100644 --- a/packages/openai-base/package.json +++ b/packages/openai-base/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/openai-base", - "version": "0.10.1", + "version": "0.10.2", "description": "Shared OpenAI SDK base adapters for TanStack AI providers using Chat Completions and Responses APIs.", "author": "Tanner Linsley", "license": "MIT",