From bd81af97aaf52680bd63a6363807f886b54b8d99 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Aug 2026 16:07:48 +0000 Subject: [PATCH] ci: Version Packages --- .changeset/anthropic-opus-5-tool-map.md | 5 -- .changeset/fix-1107-snapshot-message-ids.md | 5 -- .changeset/fix-empty-text-message-start-id.md | 5 -- .changeset/fix-openrouter-prediction-param.md | 5 -- .../fix-sequential-client-tool-resumes.md | 5 -- .../fix-structured-output-timestamps.md | 9 ---- ...-image-ga-model-ids-and-per-model-sizes.md | 37 ------------- .../gemini-native-image-model-options.md | 15 ------ .changeset/grok-imagine-catch-up.md | 9 ---- .changeset/harness-output-schema.md | 12 ----- .changeset/persist-chat-run-usage.md | 5 -- .../recover-malformed-tool-arguments.md | 5 -- .../rename-code-mode-skills-to-snippets.md | 28 ---------- .changeset/sync-models.md | 9 ---- examples/ag-ui/CHANGELOG.md | 9 ++++ examples/ag-ui/package.json | 2 +- packages/ai-acp/CHANGELOG.md | 14 +++++ packages/ai-acp/package.json | 2 +- packages/ai-angular/CHANGELOG.md | 8 +++ packages/ai-angular/package.json | 2 +- packages/ai-anthropic/CHANGELOG.md | 11 ++++ packages/ai-anthropic/package.json | 2 +- packages/ai-bedrock/CHANGELOG.md | 10 ++++ packages/ai-bedrock/package.json | 2 +- packages/ai-byteplus/CHANGELOG.md | 10 ++++ packages/ai-byteplus/package.json | 2 +- packages/ai-claude-code/CHANGELOG.md | 14 +++++ packages/ai-claude-code/package.json | 2 +- packages/ai-client/CHANGELOG.md | 9 ++++ packages/ai-client/package.json | 2 +- packages/ai-code-mode-snippets/CHANGELOG.md | 32 ++++++++++++ packages/ai-code-mode-snippets/package.json | 2 +- packages/ai-code-mode/CHANGELOG.md | 31 +++++++++++ packages/ai-code-mode/package.json | 2 +- packages/ai-codex/CHANGELOG.md | 14 +++++ packages/ai-codex/package.json | 2 +- packages/ai-cohere/CHANGELOG.md | 7 +++ packages/ai-cohere/package.json | 2 +- packages/ai-devtools/CHANGELOG.md | 7 +++ packages/ai-devtools/package.json | 2 +- packages/ai-durable-stream/CHANGELOG.md | 7 +++ packages/ai-durable-stream/package.json | 2 +- packages/ai-elevenlabs/CHANGELOG.md | 7 +++ packages/ai-elevenlabs/package.json | 2 +- packages/ai-fal/CHANGELOG.md | 7 +++ packages/ai-fal/package.json | 2 +- packages/ai-gemini/CHANGELOG.md | 52 +++++++++++++++++++ packages/ai-gemini/package.json | 2 +- packages/ai-grok-build/CHANGELOG.md | 15 ++++++ packages/ai-grok-build/package.json | 2 +- packages/ai-grok/CHANGELOG.md | 17 ++++++ packages/ai-grok/package.json | 2 +- packages/ai-groq/CHANGELOG.md | 8 +++ packages/ai-groq/package.json | 2 +- packages/ai-isolate-cloudflare/CHANGELOG.md | 7 +++ packages/ai-isolate-cloudflare/package.json | 2 +- packages/ai-isolate-daytona/CHANGELOG.md | 7 +++ packages/ai-isolate-daytona/package.json | 2 +- packages/ai-isolate-node/CHANGELOG.md | 7 +++ packages/ai-isolate-node/package.json | 2 +- packages/ai-isolate-quickjs-bun/CHANGELOG.md | 7 +++ packages/ai-isolate-quickjs-bun/package.json | 2 +- packages/ai-isolate-quickjs/CHANGELOG.md | 7 +++ packages/ai-isolate-quickjs/package.json | 2 +- packages/ai-mcp/CHANGELOG.md | 7 +++ packages/ai-mcp/package.json | 2 +- packages/ai-memory/CHANGELOG.md | 7 +++ packages/ai-memory/package.json | 2 +- packages/ai-mistral/CHANGELOG.md | 7 +++ packages/ai-mistral/package.json | 2 +- packages/ai-ollama/CHANGELOG.md | 7 +++ packages/ai-ollama/package.json | 2 +- packages/ai-openai/CHANGELOG.md | 10 ++++ packages/ai-openai/package.json | 2 +- packages/ai-opencode/CHANGELOG.md | 14 +++++ packages/ai-opencode/package.json | 2 +- packages/ai-openrouter/CHANGELOG.md | 13 +++++ packages/ai-openrouter/package.json | 2 +- packages/ai-perplexity/CHANGELOG.md | 7 +++ packages/ai-perplexity/package.json | 2 +- packages/ai-persistence/CHANGELOG.md | 11 ++++ packages/ai-persistence/package.json | 2 +- packages/ai-preact/CHANGELOG.md | 8 +++ packages/ai-preact/package.json | 2 +- packages/ai-react/CHANGELOG.md | 8 +++ packages/ai-react/package.json | 2 +- packages/ai-sandbox-cloudflare/CHANGELOG.md | 9 ++++ packages/ai-sandbox-cloudflare/package.json | 2 +- packages/ai-sandbox/CHANGELOG.md | 7 +++ packages/ai-sandbox/package.json | 2 +- packages/ai-solid/CHANGELOG.md | 8 +++ packages/ai-solid/package.json | 2 +- packages/ai-svelte/CHANGELOG.md | 8 +++ packages/ai-svelte/package.json | 2 +- packages/ai-vercel-gateway/CHANGELOG.md | 10 ++++ packages/ai-vercel-gateway/package.json | 2 +- packages/ai-vue/CHANGELOG.md | 8 +++ packages/ai-vue/package.json | 2 +- packages/ai/CHANGELOG.md | 38 ++++++++++++++ packages/ai/package.json | 2 +- packages/openai-base/CHANGELOG.md | 9 ++++ packages/openai-base/package.json | 2 +- 102 files changed, 564 insertions(+), 198 deletions(-) delete mode 100644 .changeset/anthropic-opus-5-tool-map.md delete mode 100644 .changeset/fix-1107-snapshot-message-ids.md delete mode 100644 .changeset/fix-empty-text-message-start-id.md delete mode 100644 .changeset/fix-openrouter-prediction-param.md delete mode 100644 .changeset/fix-sequential-client-tool-resumes.md delete mode 100644 .changeset/fix-structured-output-timestamps.md delete mode 100644 .changeset/gemini-image-ga-model-ids-and-per-model-sizes.md delete mode 100644 .changeset/gemini-native-image-model-options.md delete mode 100644 .changeset/grok-imagine-catch-up.md delete mode 100644 .changeset/harness-output-schema.md delete mode 100644 .changeset/persist-chat-run-usage.md delete mode 100644 .changeset/recover-malformed-tool-arguments.md delete mode 100644 .changeset/rename-code-mode-skills-to-snippets.md delete mode 100644 .changeset/sync-models.md diff --git a/.changeset/anthropic-opus-5-tool-map.md b/.changeset/anthropic-opus-5-tool-map.md deleted file mode 100644 index d91649d8ae..0000000000 --- a/.changeset/anthropic-opus-5-tool-map.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai-anthropic': patch ---- - -Register `claude-opus-5` and `claude-opus-5-fast` on the per-model tool-capabilities map so they match `ANTHROPIC_MODELS`. diff --git a/.changeset/fix-1107-snapshot-message-ids.md b/.changeset/fix-1107-snapshot-message-ids.md deleted file mode 100644 index 82f1e30e7a..0000000000 --- a/.changeset/fix-1107-snapshot-message-ids.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai': patch ---- - -Preserve existing message IDs on interrupt `MESSAGES_SNAPSHOT` events. diff --git a/.changeset/fix-empty-text-message-start-id.md b/.changeset/fix-empty-text-message-start-id.md deleted file mode 100644 index 950847214f..0000000000 --- a/.changeset/fix-empty-text-message-start-id.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai-persistence': patch ---- - -Ignore empty `TEXT_MESSAGE_START` message IDs so tool-call `parentMessageId` can be used. diff --git a/.changeset/fix-openrouter-prediction-param.md b/.changeset/fix-openrouter-prediction-param.md deleted file mode 100644 index 7d504d98e7..0000000000 --- a/.changeset/fix-openrouter-prediction-param.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai-openrouter': patch ---- - -Exclude the `prediction` parameter from the generated OpenRouter model options. The OpenRouter API newly reports it as a supported parameter, but `@openrouter/sdk`'s `ChatRequest` does not declare it (its outbound schema would strip it), so the generated `Pick` types failed to compile. diff --git a/.changeset/fix-sequential-client-tool-resumes.md b/.changeset/fix-sequential-client-tool-resumes.md deleted file mode 100644 index 2b2693f38d..0000000000 --- a/.changeset/fix-sequential-client-tool-resumes.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai-client': patch ---- - -Keep native interrupt ownership across sequential client-tool resumes. diff --git a/.changeset/fix-structured-output-timestamps.md b/.changeset/fix-structured-output-timestamps.md deleted file mode 100644 index 749508495a..0000000000 --- a/.changeset/fix-structured-output-timestamps.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@tanstack/ai': patch -'@tanstack/ai-bedrock': patch -'@tanstack/ai-byteplus': patch -'@tanstack/ai-openrouter': patch -'@tanstack/openai-base': patch ---- - -Timestamp native and fallback structured-output events when they are emitted so their lifecycle remains chronologically ordered. diff --git a/.changeset/gemini-image-ga-model-ids-and-per-model-sizes.md b/.changeset/gemini-image-ga-model-ids-and-per-model-sizes.md deleted file mode 100644 index 13da4ccc4f..0000000000 --- a/.changeset/gemini-image-ga-model-ids-and-per-model-sizes.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -'@tanstack/ai-gemini': minor ---- - -Add the GA Gemini native image model ids and give each native image model its own size type. - -`gemini-3.1-flash-image-preview` and `gemini-3-pro-image-preview` were shut down on 2026-06-25 and now 404. Their GA replacements — `gemini-3.1-flash-image` and `gemini-3-pro-image` — are now the primary ids. The `-preview` ids remain in the model union as aliases so existing code keeps compiling; `gemini-2.5-flash-image` stays fully supported ahead of its 2026-10-02 shutdown. - -Sizes were a single flat union (`{8 ratios}_{1K|2K|4K}`) applied to every native model. Google documents four different sets, so each model now maps to its own: - -| model | aspect ratios | resolutions | -| --------------------------------------- | ------------- | -------------------------------- | -| `gemini-3.1-flash-image` (+ `-preview`) | 14 | `512` `1K` `2K` `4K` | -| `gemini-3.1-flash-lite-image` | 14 | `1K` | -| `gemini-3-pro-image` (+ `-preview`) | 10 | `1K` `2K` `4K` | -| `gemini-2.5-flash-image` | 10 | none — bare ratio, e.g. `'16:9'` | - -`4:5` and `5:4` are now accepted on every native model (Google lists them for all four; the old union omitted them). `9:21` is deliberately still rejected — it exists on Vertex/Cloud only and the Gemini API rejects it. - -**Runtime behaviour changes in two places.** The rest of the change is types-only, but these two are real wire-format deltas: - -- `parseNativeImageSize()` now accepts a bare aspect ratio. Previously `'16:9'` failed to parse, so the adapter omitted `imageConfig` entirely and the model picked its own aspect ratio; it now parses to `{ aspectRatio: '16:9' }` and the adapter sends `imageConfig.aspectRatio = '16:9'`. A JavaScript caller — or a TypeScript caller whose `size` is computed at runtime and widened to `string` — that already passed a bare ratio will get a differently-framed image after upgrading, with no compile or runtime error. -- Migrating a `gemini-2.5-flash-image` call from `'16:9_1K'` to the now-required bare `'16:9'` drops `imageSize` from the `generateContent` request. That is intended: Google publishes no `image_size` value or default for this model, so the adapter no longer guesses a tier the API never documented. - -**BREAKING (types only):** size combinations the selected model never supported no longer compile. No model id was removed. - -- `gemini-3.1-flash-lite-image`: `2K` and `4K` are rejected (the model only emits 1K). Use `'_1K'`. -- `gemini-3-pro-image` / `gemini-3-pro-image-preview`: the extreme banner ratios `1:4` `4:1` `1:8` `8:1` are rejected (Gemini 3.1 Flash Image only), as is the `512` tier. -- `gemini-2.5-flash-image`: any `_1K` / `_2K` / `_4K` suffix is rejected — pass the bare ratio (`'16:9'`, not `'16:9_1K'`) — as are the four extreme banner ratios. -- `GeminiNativeImageSize` is now the union of the per-model types rather than one flat template literal. It was not previously reachable from the package entry point, so this is a new export rather than a changed one. - -**New type exports**, so the per-model narrowing is nameable and not just inferred at the call site: `GeminiImageModelSizeByName`, `GeminiStandardImageAspectRatio`, `GeminiExtendedImageAspectRatio`, `Gemini31FlashImageSize`, `Gemini31FlashLiteImageSize`, `Gemini3ProImageSize`, `Gemini25FlashImageSize`, `GeminiNativeImageSize`. - -**Two caveats worth knowing before you rely on this.** - -- _No in-editor deprecation warning on the dead `-preview` ids._ The `@deprecated` tags live on module-private model-metadata consts, and `GeminiImageModels` is projected out of a const array (`(typeof GEMINI_IMAGE_MODELS)[number]`), which collapses to bare string literals — JSDoc does not survive that projection. So `geminiImage('gemini-3-pro-image-preview')` still compiles cleanly with no strikethrough and no hint, and fails only at request time. Grep your codebase for `-image-preview` rather than expecting the compiler to flag it. -- _`gemini-3.1-flash-lite-image`'s four extreme ratios (`1:4` `4:1` `1:8` `8:1`) are partially inferred._ Unlike the other three native models, Flash Lite has no per-model ratio table on the Gemini API guide. The 14-value set rests on the Cloud model page's explicit enumeration plus `ai.google.dev`'s bare "a discrete set of 14 aspect ratios" assertion; the only Gemini-API enumeration for this model is a 10-item bullet prefixed "New aspect ratios", read here as a what's-new list rather than an exhaustive set. If the API rejects those four in practice, this type over-accepts and should narrow to the 10-ratio set. diff --git a/.changeset/gemini-native-image-model-options.md b/.changeset/gemini-native-image-model-options.md deleted file mode 100644 index 15d81bf0c3..0000000000 --- a/.changeset/gemini-native-image-model-options.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -'@tanstack/ai-gemini': minor ---- - -Type Gemini-native image models with their own provider options. `GeminiImageModelProviderOptionsByName` mapped **every** image model to the Imagen-shaped `GeminiImageProviderOptions`, so `modelOptions: { safetySettings, thinkingConfig, imageConfig, systemInstruction }` was a compile error on `gemini-3.1-flash-image-preview`, `gemini-3.1-flash-lite-image`, `gemini-3-pro-image-preview`, and `gemini-2.5-flash-image` — even though those models are served by `generateContent`, whose `GenerateContentConfig` accepts all of them. The adapter compensated by forwarding only `seed`, silently dropping anything else. - -The map now splits native vs Imagen, mirroring the split already used by `GeminiImageModelSizeByName` and `GeminiImageModelInputModalitiesByName`: native models get the new `GeminiNativeImageProviderOptions` (`seed`, `safetySettings`, `thinkingConfig`, `imageConfig`, `systemInstruction`), Imagen models keep `GeminiImageProviderOptions`. Both API paths now pick their config fields by name — never a wholesale spread — so neither shape's fields can reach the other's endpoint. Runtime routing moves the same way, off a `gemini-` prefix test onto membership in `GEMINI_NATIVE_IMAGE_MODELS`: a `gemini-*` image model not present in that list now routes to `generateImages` instead of `generateContent`, so it fails against that endpoint rather than silently taking the native path. - -`responseModalities` stays a protected adapter default (`['TEXT', 'IMAGE']`) and is deliberately absent from the new type. `modelOptions.imageConfig` merges **over** the `imageConfig` derived from the portable `size` option, per field — passing only `imageConfig.imageSize` keeps the `aspectRatio` that `size` implied. `HarmCategory` and `HarmBlockThreshold` are now re-exported so `safetySettings` can be written without adding `@google/genai` to your own dependencies. - -`GEMINI_NATIVE_IMAGE_MODELS` and `isGeminiNativeImageModel` are exported so callers can read the same list the adapter uses for routing. - -Native `imageConfig` is now `GeminiNativeImageConfig`: only `aspectRatio` and `imageSize`. Other `@google/genai` `ImageConfig` keys type-checked and then threw on the Gemini Developer API. - -**BREAKING (types only):** Imagen fields no longer compile on Gemini-native image models — `aspectRatio`, `negativePrompt`, `personGeneration`, `safetyFilterLevel`, `addWatermark`, `language`, `outputMimeType`, `outputCompressionQuality`, `guidanceScale`, `enhancePrompt`, `includeSafetyAttributes`, `includeRaiReason`, `outputGcsUri`, `labels`. They previously type-checked but were already dropped at runtime (only `seed` was ever forwarded to `generateContent`), so no request behaviour changes. The compiler now reports what was already happening. Migrate `aspectRatio` to the portable `size` option (`'16:9_4K'`) or to `modelOptions.imageConfig`, and drop the rest. Native `imageConfig` also no longer accepts Vertex-only SDK keys such as `personGeneration` and `outputMimeType`. `GeminiImageAdapter.generateImages` (and its `~types.providerOptions`) also widens from `ImageGenerationOptions` to `ImageGenerationOptions`, which affects code structurally annotated against the old signature. diff --git a/.changeset/grok-imagine-catch-up.md b/.changeset/grok-imagine-catch-up.md deleted file mode 100644 index b54bdbac65..0000000000 --- a/.changeset/grok-imagine-catch-up.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@tanstack/ai-grok': minor ---- - -Catch up with the current xAI Imagine / Voice catalog: - -- **Image**: add `grok-imagine-image-2.0` (xAI's recommended model, $0.04/image) with its 2.0-only `quality: 'low' | 'medium'` provider option. -- **Video**: `grok-imagine-video-1.5` now supports text-to-video (the stale image-to-video-only guard is removed). Reference-to-video lands via image prompt parts with `metadata.role: 'reference' | 'character'` (→ `reference_images`) and preset voices via `modelOptions.reference_audios` (max 3) — 1.5-only, typed per model and gated at runtime. Image-to-video and reference-to-video cannot be combined. Video editing and extension land on `grok-imagine-video` only, via a source `video` prompt part plus `modelOptions.mode: 'edit' | 'extend'` (`/v1/videos/edits` / `/v1/videos/extensions`; in extend mode `duration` is the added tail, not the total). Because edit/extend outputs inherit the source clip's properties, the adapter rejects `size` / `aspect_ratio` / `resolution` (and `duration` in edit mode) in those modes instead of sending fields the API ignores. -- **Voice**: add `grok-voice-think-fast-2.0` (current recommended) and the `grok-voice-latest` alias to the realtime models; the realtime token and adapter defaults move off the deprecated 1.0 ids to `grok-voice-think-fast-2.0`. diff --git a/.changeset/harness-output-schema.md b/.changeset/harness-output-schema.md deleted file mode 100644 index a4a5bbb703..0000000000 --- a/.changeset/harness-output-schema.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -'@tanstack/ai': minor -'@tanstack/ai-claude-code': minor -'@tanstack/ai-codex': minor -'@tanstack/ai-opencode': minor -'@tanstack/ai-grok-build': minor -'@tanstack/ai-acp': minor ---- - -Harness adapters honor `chat({ outputSchema })` on the same turn. - -Claude Code and Codex pass a native schema flag. OpenCode, Grok Build, and `acpCompatible` parse JSON from the final assistant text. The engine reads a `structured-output.complete` event so harness prose is not parsed as JSON. diff --git a/.changeset/persist-chat-run-usage.md b/.changeset/persist-chat-run-usage.md deleted file mode 100644 index 4fa64a17b4..0000000000 --- a/.changeset/persist-chat-run-usage.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai-persistence': patch ---- - -Persist cumulative usage for chat runs that make multiple model calls, interrupt, fail, or abort. diff --git a/.changeset/recover-malformed-tool-arguments.md b/.changeset/recover-malformed-tool-arguments.md deleted file mode 100644 index e5bb30d09a..0000000000 --- a/.changeset/recover-malformed-tool-arguments.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/ai': patch ---- - -Return malformed tool arguments to the model as an error result so the agent loop can repair them. diff --git a/.changeset/rename-code-mode-skills-to-snippets.md b/.changeset/rename-code-mode-skills-to-snippets.md deleted file mode 100644 index efdc64baa7..0000000000 --- a/.changeset/rename-code-mode-skills-to-snippets.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -'@tanstack/ai-code-mode-snippets': minor -'@tanstack/ai-code-mode': minor -'@tanstack/ai': minor ---- - -Rename Code Mode "skills" to "snippets" to disambiguate them from agent skills (the `SKILL.md` packaging system). - -**Breaking — package rename.** `@tanstack/ai-code-mode-skills` is now published as **`@tanstack/ai-code-mode-snippets`**. Update your dependency and imports. The `/storage` subpath is unchanged. - -**Breaking — API rename.** Every `Skill`/`skill` identifier in the package public API becomes `Snippet`/`snippet`, for example: - -- `codeModeWithSkills()` → `codeModeWithSnippets()` -- `skillsToTools()` / `skillToTool()` → `snippetsToTools()` / `snippetToTool()` -- `skillsToBindings()` / `skillsToSimpleBindings()` → `snippetsToBindings()` / `snippetsToSimpleBindings()` -- `selectRelevantSkills()` → `selectRelevantSnippets()` -- `createSkillManagementTools()` → `createSnippetManagementTools()` -- `createSkillsSystemPrompt()` → `createSnippetsSystemPrompt()` -- `generateSkillTypes()` → `generateSnippetTypes()` -- `createFileSkillStorage()` / `createMemorySkillStorage()` → `createFileSnippetStorage()` / `createMemorySnippetStorage()` -- Types: `Skill`, `SkillStorage`, `SkillIndexEntry`, `SkillStats`, `SkillBinding`, `SkillsConfig`, `CodeModeWithSkillsOptions`/`Result` → the `Snippet…` equivalents -- Options: `skills` → `snippets`, `skillsAsTools` → `snippetsAsTools`, `maxSkillsInContext` → `maxSnippetsInContext` -- Runtime tools: `search_skills` / `get_skill` / `register_skill` → `search_snippets` / `get_snippet` / `register_snippet` -- Sandbox bindings are now exposed with the `snippet_` prefix (was `skill_`) - -**Breaking — sandbox hook (`@tanstack/ai-code-mode`).** The `createCodeModeTool` config option `getSkillBindings` is renamed to **`getSnippetBindings`** (same signature — an optional `() => Promise>` returning dynamic bindings merged at execution time). - -**Breaking — wire contract (`@tanstack/ai`).** The Code Mode custom events are renamed: `code_mode:skill_call` / `_result` / `_error` → `code_mode:snippet_*` (payload field `skill` → `snippet`), and `skill:registered` → `snippet:registered`. The exported event types `CodeModeSkillCallEvent` / `CodeModeSkillResultEvent` / `CodeModeSkillErrorEvent` / `SkillRegisteredEvent` are renamed to their `Snippet` equivalents. diff --git a/.changeset/sync-models.md b/.changeset/sync-models.md deleted file mode 100644 index 2090296541..0000000000 --- a/.changeset/sync-models.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@tanstack/ai-anthropic': patch -'@tanstack/ai-grok': patch -'@tanstack/ai-openai': patch -'@tanstack/ai-openrouter': patch -'@tanstack/ai-vercel-gateway': patch ---- - -Update model metadata from OpenRouter API diff --git a/examples/ag-ui/CHANGELOG.md b/examples/ag-ui/CHANGELOG.md index 6ea15be4b0..5df00d28dc 100644 --- a/examples/ag-ui/CHANGELOG.md +++ b/examples/ag-ui/CHANGELOG.md @@ -1,5 +1,14 @@ # ag-ui +## 0.0.6 + +### Patch Changes + +- Updated dependencies [[`f492bc9`](https://github.com/TanStack/ai/commit/f492bc9d6c2848bebbaea03303df0640e80e6e5a)]: + - @tanstack/ai-client@0.23.3 + - @tanstack/ai-react@0.19.3 + - @tanstack/ai-react-ui@0.8.16 + ## 0.0.5 ### Patch Changes diff --git a/examples/ag-ui/package.json b/examples/ag-ui/package.json index ae6652ccb2..c45ecca65f 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.5", + "version": "0.0.6", "scripts": { "detect-servers": "node scripts/detect-servers.mjs", "predev": "node scripts/detect-servers.mjs", diff --git a/packages/ai-acp/CHANGELOG.md b/packages/ai-acp/CHANGELOG.md index 5c250167c3..5f68374d6c 100644 --- a/packages/ai-acp/CHANGELOG.md +++ b/packages/ai-acp/CHANGELOG.md @@ -1,5 +1,19 @@ # @tanstack/ai-acp +## 0.3.0 + +### Minor Changes + +- [#1110](https://github.com/TanStack/ai/pull/1110) [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad) - Harness adapters honor `chat({ outputSchema })` on the same turn. + + Claude Code and Codex pass a native schema flag. OpenCode, Grok Build, and `acpCompatible` parse JSON from the final assistant text. The engine reads a `structured-output.complete` event so harness prose is not parsed as JSON. + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-sandbox@0.3.3 + ## 0.2.6 ### Patch Changes diff --git a/packages/ai-acp/package.json b/packages/ai-acp/package.json index e5306fbb2d..7c1833d01a 100644 --- a/packages/ai-acp/package.json +++ b/packages/ai-acp/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-acp", - "version": "0.2.6", + "version": "0.3.0", "description": "Shared Agent Client Protocol (ACP) transport, session, and AG-UI translation for TanStack AI harness adapters.", "author": "", "license": "MIT", diff --git a/packages/ai-angular/CHANGELOG.md b/packages/ai-angular/CHANGELOG.md index 8a7c334bec..39e2958c14 100644 --- a/packages/ai-angular/CHANGELOG.md +++ b/packages/ai-angular/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/ai-angular +## 0.4.3 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`f492bc9`](https://github.com/TanStack/ai/commit/f492bc9d6c2848bebbaea03303df0640e80e6e5a), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-client@0.23.3 + ## 0.4.2 ### Patch Changes diff --git a/packages/ai-angular/package.json b/packages/ai-angular/package.json index 1069e89fcb..ae3a5b4fa0 100644 --- a/packages/ai-angular/package.json +++ b/packages/ai-angular/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-angular", - "version": "0.4.2", + "version": "0.4.3", "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 6f02c8a11e..d708d12a40 100644 --- a/packages/ai-anthropic/CHANGELOG.md +++ b/packages/ai-anthropic/CHANGELOG.md @@ -1,5 +1,16 @@ # @tanstack/ai-anthropic +## 0.16.6 + +### Patch Changes + +- [#1136](https://github.com/TanStack/ai/pull/1136) [`b7928f2`](https://github.com/TanStack/ai/commit/b7928f2fe75f8e329989ded720927375eae7aee3) - Register `claude-opus-5` and `claude-opus-5-fast` on the per-model tool-capabilities map so they match `ANTHROPIC_MODELS`. + +- [#1048](https://github.com/TanStack/ai/pull/1048) [`bc8c5e8`](https://github.com/TanStack/ai/commit/bc8c5e8684da159b08e63aba7cfc51b01289d4eb) - Update model metadata from OpenRouter API + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.16.5 ### Patch Changes diff --git a/packages/ai-anthropic/package.json b/packages/ai-anthropic/package.json index 880acd2c15..9c460c8ead 100644 --- a/packages/ai-anthropic/package.json +++ b/packages/ai-anthropic/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-anthropic", - "version": "0.16.5", + "version": "0.16.6", "description": "Anthropic Claude adapter for TanStack AI chat, tool calling, thinking, and structured outputs.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-bedrock/CHANGELOG.md b/packages/ai-bedrock/CHANGELOG.md index 1f4476105d..ca35178f4e 100644 --- a/packages/ai-bedrock/CHANGELOG.md +++ b/packages/ai-bedrock/CHANGELOG.md @@ -1,5 +1,15 @@ # @tanstack/ai-bedrock +## 0.2.2 + +### Patch Changes + +- [#1132](https://github.com/TanStack/ai/pull/1132) [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b) - Timestamp native and fallback structured-output events when they are emitted so their lifecycle remains chronologically ordered. + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/openai-base@0.9.13 + ## 0.2.1 ### Patch Changes diff --git a/packages/ai-bedrock/package.json b/packages/ai-bedrock/package.json index 3babdcc20a..973b75e5fc 100644 --- a/packages/ai-bedrock/package.json +++ b/packages/ai-bedrock/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-bedrock", - "version": "0.2.1", + "version": "0.2.2", "type": "module", "description": "Amazon Bedrock adapter for TanStack AI — OpenAI-compatible chat, responses, tools, and reasoning.", "author": "", diff --git a/packages/ai-byteplus/CHANGELOG.md b/packages/ai-byteplus/CHANGELOG.md index 76490bc3a3..b1146169e9 100644 --- a/packages/ai-byteplus/CHANGELOG.md +++ b/packages/ai-byteplus/CHANGELOG.md @@ -1,5 +1,15 @@ # @tanstack/ai-byteplus +## 0.1.2 + +### Patch Changes + +- [#1132](https://github.com/TanStack/ai/pull/1132) [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b) - Timestamp native and fallback structured-output events when they are emitted so their lifecycle remains chronologically ordered. + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/openai-base@0.9.13 + ## 0.1.1 ### Patch Changes diff --git a/packages/ai-byteplus/package.json b/packages/ai-byteplus/package.json index 60b2b65b1c..dd0e7e71af 100644 --- a/packages/ai-byteplus/package.json +++ b/packages/ai-byteplus/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-byteplus", - "version": "0.1.1", + "version": "0.1.2", "description": "BytePlus ModelArk adapter for TanStack AI: Seed LLM chat, Seedance video, Seedream image, and Seed Speech TTS/ASR.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-claude-code/CHANGELOG.md b/packages/ai-claude-code/CHANGELOG.md index 2dda01cbdf..6f54431ef3 100644 --- a/packages/ai-claude-code/CHANGELOG.md +++ b/packages/ai-claude-code/CHANGELOG.md @@ -1,5 +1,19 @@ # @tanstack/ai-claude-code +## 0.4.0 + +### Minor Changes + +- [#1110](https://github.com/TanStack/ai/pull/1110) [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad) - Harness adapters honor `chat({ outputSchema })` on the same turn. + + Claude Code and Codex pass a native schema flag. OpenCode, Grok Build, and `acpCompatible` parse JSON from the final assistant text. The engine reads a `structured-output.complete` event so harness prose is not parsed as JSON. + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-sandbox@0.3.3 + ## 0.3.2 ### Patch Changes diff --git a/packages/ai-claude-code/package.json b/packages/ai-claude-code/package.json index 45f4fa3ade..9aa98fbee3 100644 --- a/packages/ai-claude-code/package.json +++ b/packages/ai-claude-code/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-claude-code", - "version": "0.3.2", + "version": "0.4.0", "description": "Claude Code harness adapter for TanStack AI — run Claude Code as a chat backend with local tool execution and stateful sessions.", "author": "", "license": "MIT", diff --git a/packages/ai-client/CHANGELOG.md b/packages/ai-client/CHANGELOG.md index 3c014e314b..77a3e475d5 100644 --- a/packages/ai-client/CHANGELOG.md +++ b/packages/ai-client/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/ai-client +## 0.23.3 + +### Patch Changes + +- [#1122](https://github.com/TanStack/ai/pull/1122) [`f492bc9`](https://github.com/TanStack/ai/commit/f492bc9d6c2848bebbaea03303df0640e80e6e5a) - Keep native interrupt ownership across sequential client-tool resumes. + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.23.2 ### Patch Changes diff --git a/packages/ai-client/package.json b/packages/ai-client/package.json index 66a133cf1a..b20efe15a1 100644 --- a/packages/ai-client/package.json +++ b/packages/ai-client/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-client", - "version": "0.23.2", + "version": "0.23.3", "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-code-mode-snippets/CHANGELOG.md b/packages/ai-code-mode-snippets/CHANGELOG.md index dc2f65f734..fa63ad0578 100644 --- a/packages/ai-code-mode-snippets/CHANGELOG.md +++ b/packages/ai-code-mode-snippets/CHANGELOG.md @@ -1,5 +1,37 @@ # @tanstack/ai-code-mode-snippets +## 0.4.0 + +### Minor Changes + +- [#1114](https://github.com/TanStack/ai/pull/1114) [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d) - Rename Code Mode "skills" to "snippets" to disambiguate them from agent skills (the `SKILL.md` packaging system). + + **Breaking — package rename.** `@tanstack/ai-code-mode-skills` is now published as **`@tanstack/ai-code-mode-snippets`**. Update your dependency and imports. The `/storage` subpath is unchanged. + + **Breaking — API rename.** Every `Skill`/`skill` identifier in the package public API becomes `Snippet`/`snippet`, for example: + - `codeModeWithSkills()` → `codeModeWithSnippets()` + - `skillsToTools()` / `skillToTool()` → `snippetsToTools()` / `snippetToTool()` + - `skillsToBindings()` / `skillsToSimpleBindings()` → `snippetsToBindings()` / `snippetsToSimpleBindings()` + - `selectRelevantSkills()` → `selectRelevantSnippets()` + - `createSkillManagementTools()` → `createSnippetManagementTools()` + - `createSkillsSystemPrompt()` → `createSnippetsSystemPrompt()` + - `generateSkillTypes()` → `generateSnippetTypes()` + - `createFileSkillStorage()` / `createMemorySkillStorage()` → `createFileSnippetStorage()` / `createMemorySnippetStorage()` + - Types: `Skill`, `SkillStorage`, `SkillIndexEntry`, `SkillStats`, `SkillBinding`, `SkillsConfig`, `CodeModeWithSkillsOptions`/`Result` → the `Snippet…` equivalents + - Options: `skills` → `snippets`, `skillsAsTools` → `snippetsAsTools`, `maxSkillsInContext` → `maxSnippetsInContext` + - Runtime tools: `search_skills` / `get_skill` / `register_skill` → `search_snippets` / `get_snippet` / `register_snippet` + - Sandbox bindings are now exposed with the `snippet_` prefix (was `skill_`) + + **Breaking — sandbox hook (`@tanstack/ai-code-mode`).** The `createCodeModeTool` config option `getSkillBindings` is renamed to **`getSnippetBindings`** (same signature — an optional `() => Promise>` returning dynamic bindings merged at execution time). + + **Breaking — wire contract (`@tanstack/ai`).** The Code Mode custom events are renamed: `code_mode:skill_call` / `_result` / `_error` → `code_mode:snippet_*` (payload field `skill` → `snippet`), and `skill:registered` → `snippet:registered`. The exported event types `CodeModeSkillCallEvent` / `CodeModeSkillResultEvent` / `CodeModeSkillErrorEvent` / `SkillRegisteredEvent` are renamed to their `Snippet` equivalents. + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-code-mode@0.4.0 + ## 0.3.14 ### Patch Changes diff --git a/packages/ai-code-mode-snippets/package.json b/packages/ai-code-mode-snippets/package.json index da34f41f51..db5f3806f9 100644 --- a/packages/ai-code-mode-snippets/package.json +++ b/packages/ai-code-mode-snippets/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-code-mode-snippets", - "version": "0.3.14", + "version": "0.4.0", "description": "Persistent runtime snippet library for TanStack AI Code Mode agents and sandboxed tool orchestration.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-code-mode/CHANGELOG.md b/packages/ai-code-mode/CHANGELOG.md index 43079b2861..0c8d2a82e5 100644 --- a/packages/ai-code-mode/CHANGELOG.md +++ b/packages/ai-code-mode/CHANGELOG.md @@ -1,5 +1,36 @@ # @tanstack/ai-code-mode +## 0.4.0 + +### Minor Changes + +- [#1114](https://github.com/TanStack/ai/pull/1114) [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d) - Rename Code Mode "skills" to "snippets" to disambiguate them from agent skills (the `SKILL.md` packaging system). + + **Breaking — package rename.** `@tanstack/ai-code-mode-skills` is now published as **`@tanstack/ai-code-mode-snippets`**. Update your dependency and imports. The `/storage` subpath is unchanged. + + **Breaking — API rename.** Every `Skill`/`skill` identifier in the package public API becomes `Snippet`/`snippet`, for example: + - `codeModeWithSkills()` → `codeModeWithSnippets()` + - `skillsToTools()` / `skillToTool()` → `snippetsToTools()` / `snippetToTool()` + - `skillsToBindings()` / `skillsToSimpleBindings()` → `snippetsToBindings()` / `snippetsToSimpleBindings()` + - `selectRelevantSkills()` → `selectRelevantSnippets()` + - `createSkillManagementTools()` → `createSnippetManagementTools()` + - `createSkillsSystemPrompt()` → `createSnippetsSystemPrompt()` + - `generateSkillTypes()` → `generateSnippetTypes()` + - `createFileSkillStorage()` / `createMemorySkillStorage()` → `createFileSnippetStorage()` / `createMemorySnippetStorage()` + - Types: `Skill`, `SkillStorage`, `SkillIndexEntry`, `SkillStats`, `SkillBinding`, `SkillsConfig`, `CodeModeWithSkillsOptions`/`Result` → the `Snippet…` equivalents + - Options: `skills` → `snippets`, `skillsAsTools` → `snippetsAsTools`, `maxSkillsInContext` → `maxSnippetsInContext` + - Runtime tools: `search_skills` / `get_skill` / `register_skill` → `search_snippets` / `get_snippet` / `register_snippet` + - Sandbox bindings are now exposed with the `snippet_` prefix (was `skill_`) + + **Breaking — sandbox hook (`@tanstack/ai-code-mode`).** The `createCodeModeTool` config option `getSkillBindings` is renamed to **`getSnippetBindings`** (same signature — an optional `() => Promise>` returning dynamic bindings merged at execution time). + + **Breaking — wire contract (`@tanstack/ai`).** The Code Mode custom events are renamed: `code_mode:skill_call` / `_result` / `_error` → `code_mode:snippet_*` (payload field `skill` → `snippet`), and `skill:registered` → `snippet:registered`. The exported event types `CodeModeSkillCallEvent` / `CodeModeSkillResultEvent` / `CodeModeSkillErrorEvent` / `SkillRegisteredEvent` are renamed to their `Snippet` equivalents. + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.3.11 ### Patch Changes diff --git a/packages/ai-code-mode/package.json b/packages/ai-code-mode/package.json index b0df4bd806..67cdd450c2 100644 --- a/packages/ai-code-mode/package.json +++ b/packages/ai-code-mode/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-code-mode", - "version": "0.3.11", + "version": "0.4.0", "description": "Secure TypeScript Code Mode for TanStack AI agents to execute sandboxed tool orchestration programs.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-codex/CHANGELOG.md b/packages/ai-codex/CHANGELOG.md index baec5b310b..5e41f05f78 100644 --- a/packages/ai-codex/CHANGELOG.md +++ b/packages/ai-codex/CHANGELOG.md @@ -1,5 +1,19 @@ # @tanstack/ai-codex +## 0.4.0 + +### Minor Changes + +- [#1110](https://github.com/TanStack/ai/pull/1110) [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad) - Harness adapters honor `chat({ outputSchema })` on the same turn. + + Claude Code and Codex pass a native schema flag. OpenCode, Grok Build, and `acpCompatible` parse JSON from the final assistant text. The engine reads a `structured-output.complete` event so harness prose is not parsed as JSON. + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-sandbox@0.3.3 + ## 0.3.2 ### Patch Changes diff --git a/packages/ai-codex/package.json b/packages/ai-codex/package.json index 05e466e823..439e78de95 100644 --- a/packages/ai-codex/package.json +++ b/packages/ai-codex/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-codex", - "version": "0.3.2", + "version": "0.4.0", "description": "Codex harness adapter for TanStack AI — run OpenAI Codex as a chat backend with local tool execution and stateful sessions.", "author": "", "license": "MIT", diff --git a/packages/ai-cohere/CHANGELOG.md b/packages/ai-cohere/CHANGELOG.md index 2aaeec2923..286ed9bdd4 100644 --- a/packages/ai-cohere/CHANGELOG.md +++ b/packages/ai-cohere/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-cohere +## 0.1.1 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.1.0 ### Minor Changes diff --git a/packages/ai-cohere/package.json b/packages/ai-cohere/package.json index e61db290d9..d888e9f1a3 100644 --- a/packages/ai-cohere/package.json +++ b/packages/ai-cohere/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-cohere", - "version": "0.1.0", + "version": "0.1.1", "description": "Cohere adapter for TanStack AI — multimodal embeddings and document reranking.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-devtools/CHANGELOG.md b/packages/ai-devtools/CHANGELOG.md index 95807373d1..80d36359a9 100644 --- a/packages/ai-devtools/CHANGELOG.md +++ b/packages/ai-devtools/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-devtools-core +## 0.5.3 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.5.2 ### Patch Changes diff --git a/packages/ai-devtools/package.json b/packages/ai-devtools/package.json index 8efe822642..af598f8a32 100644 --- a/packages/ai-devtools/package.json +++ b/packages/ai-devtools/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-devtools-core", - "version": "0.5.2", + "version": "0.5.3", "description": "Core TanStack AI Devtools plugin for inspecting chat messages, tool calls, streams, and errors.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-durable-stream/CHANGELOG.md b/packages/ai-durable-stream/CHANGELOG.md index dc6f946019..173db60177 100644 --- a/packages/ai-durable-stream/CHANGELOG.md +++ b/packages/ai-durable-stream/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-durable-stream +## 0.1.2 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.1.1 ### Patch Changes diff --git a/packages/ai-durable-stream/package.json b/packages/ai-durable-stream/package.json index 593832a40f..43c8e395e6 100644 --- a/packages/ai-durable-stream/package.json +++ b/packages/ai-durable-stream/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-durable-stream", - "version": "0.1.1", + "version": "0.1.2", "description": "Delivery durability for TanStack AI over the durable-streams HTTP protocol — a resumable StreamDurability transport sink (append/read/resume) that stores zero delivery events itself.", "author": "", "license": "MIT", diff --git a/packages/ai-elevenlabs/CHANGELOG.md b/packages/ai-elevenlabs/CHANGELOG.md index b8e31ae9b9..e2511deff3 100644 --- a/packages/ai-elevenlabs/CHANGELOG.md +++ b/packages/ai-elevenlabs/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-elevenlabs +## 0.2.37 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.2.36 ### Patch Changes diff --git a/packages/ai-elevenlabs/package.json b/packages/ai-elevenlabs/package.json index f8defd3c4f..d7b36d256b 100644 --- a/packages/ai-elevenlabs/package.json +++ b/packages/ai-elevenlabs/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-elevenlabs", - "version": "0.2.36", + "version": "0.2.37", "description": "ElevenLabs adapter for TanStack AI realtime voice, text-to-speech, transcription, music, and sound effects.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-fal/CHANGELOG.md b/packages/ai-fal/CHANGELOG.md index 00ca3698ce..b9f4ca9d5b 100644 --- a/packages/ai-fal/CHANGELOG.md +++ b/packages/ai-fal/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-fal +## 0.10.1 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.10.0 ### Minor Changes diff --git a/packages/ai-fal/package.json b/packages/ai-fal/package.json index 02fda144a9..e2abc6d7b2 100644 --- a/packages/ai-fal/package.json +++ b/packages/ai-fal/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-fal", - "version": "0.10.0", + "version": "0.10.1", "description": "fal.ai adapter for TanStack AI image, video, audio, speech, and transcription generation.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-gemini/CHANGELOG.md b/packages/ai-gemini/CHANGELOG.md index ba470ceff1..7107467063 100644 --- a/packages/ai-gemini/CHANGELOG.md +++ b/packages/ai-gemini/CHANGELOG.md @@ -1,5 +1,57 @@ # @tanstack/ai-gemini +## 0.24.0 + +### Minor Changes + +- [#1104](https://github.com/TanStack/ai/pull/1104) [`a8454a7`](https://github.com/TanStack/ai/commit/a8454a7c90b04e4a68b9b3f26de23ed55d391525) - Add the GA Gemini native image model ids and give each native image model its own size type. + + `gemini-3.1-flash-image-preview` and `gemini-3-pro-image-preview` were shut down on 2026-06-25 and now 404. Their GA replacements — `gemini-3.1-flash-image` and `gemini-3-pro-image` — are now the primary ids. The `-preview` ids remain in the model union as aliases so existing code keeps compiling; `gemini-2.5-flash-image` stays fully supported ahead of its 2026-10-02 shutdown. + + Sizes were a single flat union (`{8 ratios}_{1K|2K|4K}`) applied to every native model. Google documents four different sets, so each model now maps to its own: + + | model | aspect ratios | resolutions | + | --------------------------------------- | ------------- | -------------------------------- | + | `gemini-3.1-flash-image` (+ `-preview`) | 14 | `512` `1K` `2K` `4K` | + | `gemini-3.1-flash-lite-image` | 14 | `1K` | + | `gemini-3-pro-image` (+ `-preview`) | 10 | `1K` `2K` `4K` | + | `gemini-2.5-flash-image` | 10 | none — bare ratio, e.g. `'16:9'` | + + `4:5` and `5:4` are now accepted on every native model (Google lists them for all four; the old union omitted them). `9:21` is deliberately still rejected — it exists on Vertex/Cloud only and the Gemini API rejects it. + + **Runtime behaviour changes in two places.** The rest of the change is types-only, but these two are real wire-format deltas: + - `parseNativeImageSize()` now accepts a bare aspect ratio. Previously `'16:9'` failed to parse, so the adapter omitted `imageConfig` entirely and the model picked its own aspect ratio; it now parses to `{ aspectRatio: '16:9' }` and the adapter sends `imageConfig.aspectRatio = '16:9'`. A JavaScript caller — or a TypeScript caller whose `size` is computed at runtime and widened to `string` — that already passed a bare ratio will get a differently-framed image after upgrading, with no compile or runtime error. + - Migrating a `gemini-2.5-flash-image` call from `'16:9_1K'` to the now-required bare `'16:9'` drops `imageSize` from the `generateContent` request. That is intended: Google publishes no `image_size` value or default for this model, so the adapter no longer guesses a tier the API never documented. + + **BREAKING (types only):** size combinations the selected model never supported no longer compile. No model id was removed. + - `gemini-3.1-flash-lite-image`: `2K` and `4K` are rejected (the model only emits 1K). Use `'_1K'`. + - `gemini-3-pro-image` / `gemini-3-pro-image-preview`: the extreme banner ratios `1:4` `4:1` `1:8` `8:1` are rejected (Gemini 3.1 Flash Image only), as is the `512` tier. + - `gemini-2.5-flash-image`: any `_1K` / `_2K` / `_4K` suffix is rejected — pass the bare ratio (`'16:9'`, not `'16:9_1K'`) — as are the four extreme banner ratios. + - `GeminiNativeImageSize` is now the union of the per-model types rather than one flat template literal. It was not previously reachable from the package entry point, so this is a new export rather than a changed one. + + **New type exports**, so the per-model narrowing is nameable and not just inferred at the call site: `GeminiImageModelSizeByName`, `GeminiStandardImageAspectRatio`, `GeminiExtendedImageAspectRatio`, `Gemini31FlashImageSize`, `Gemini31FlashLiteImageSize`, `Gemini3ProImageSize`, `Gemini25FlashImageSize`, `GeminiNativeImageSize`. + + **Two caveats worth knowing before you rely on this.** + - _No in-editor deprecation warning on the dead `-preview` ids._ The `@deprecated` tags live on module-private model-metadata consts, and `GeminiImageModels` is projected out of a const array (`(typeof GEMINI_IMAGE_MODELS)[number]`), which collapses to bare string literals — JSDoc does not survive that projection. So `geminiImage('gemini-3-pro-image-preview')` still compiles cleanly with no strikethrough and no hint, and fails only at request time. Grep your codebase for `-image-preview` rather than expecting the compiler to flag it. + - _`gemini-3.1-flash-lite-image`'s four extreme ratios (`1:4` `4:1` `1:8` `8:1`) are partially inferred._ Unlike the other three native models, Flash Lite has no per-model ratio table on the Gemini API guide. The 14-value set rests on the Cloud model page's explicit enumeration plus `ai.google.dev`'s bare "a discrete set of 14 aspect ratios" assertion; the only Gemini-API enumeration for this model is a 10-item bullet prefixed "New aspect ratios", read here as a what's-new list rather than an exhaustive set. If the API rejects those four in practice, this type over-accepts and should narrow to the 10-ratio set. + +- [#1103](https://github.com/TanStack/ai/pull/1103) [`4f02789`](https://github.com/TanStack/ai/commit/4f027898a8e957353c29dcf423e59daa54868aee) - Type Gemini-native image models with their own provider options. `GeminiImageModelProviderOptionsByName` mapped **every** image model to the Imagen-shaped `GeminiImageProviderOptions`, so `modelOptions: { safetySettings, thinkingConfig, imageConfig, systemInstruction }` was a compile error on `gemini-3.1-flash-image-preview`, `gemini-3.1-flash-lite-image`, `gemini-3-pro-image-preview`, and `gemini-2.5-flash-image` — even though those models are served by `generateContent`, whose `GenerateContentConfig` accepts all of them. The adapter compensated by forwarding only `seed`, silently dropping anything else. + + The map now splits native vs Imagen, mirroring the split already used by `GeminiImageModelSizeByName` and `GeminiImageModelInputModalitiesByName`: native models get the new `GeminiNativeImageProviderOptions` (`seed`, `safetySettings`, `thinkingConfig`, `imageConfig`, `systemInstruction`), Imagen models keep `GeminiImageProviderOptions`. Both API paths now pick their config fields by name — never a wholesale spread — so neither shape's fields can reach the other's endpoint. Runtime routing moves the same way, off a `gemini-` prefix test onto membership in `GEMINI_NATIVE_IMAGE_MODELS`: a `gemini-*` image model not present in that list now routes to `generateImages` instead of `generateContent`, so it fails against that endpoint rather than silently taking the native path. + + `responseModalities` stays a protected adapter default (`['TEXT', 'IMAGE']`) and is deliberately absent from the new type. `modelOptions.imageConfig` merges **over** the `imageConfig` derived from the portable `size` option, per field — passing only `imageConfig.imageSize` keeps the `aspectRatio` that `size` implied. `HarmCategory` and `HarmBlockThreshold` are now re-exported so `safetySettings` can be written without adding `@google/genai` to your own dependencies. + + `GEMINI_NATIVE_IMAGE_MODELS` and `isGeminiNativeImageModel` are exported so callers can read the same list the adapter uses for routing. + + Native `imageConfig` is now `GeminiNativeImageConfig`: only `aspectRatio` and `imageSize`. Other `@google/genai` `ImageConfig` keys type-checked and then threw on the Gemini Developer API. + + **BREAKING (types only):** Imagen fields no longer compile on Gemini-native image models — `aspectRatio`, `negativePrompt`, `personGeneration`, `safetyFilterLevel`, `addWatermark`, `language`, `outputMimeType`, `outputCompressionQuality`, `guidanceScale`, `enhancePrompt`, `includeSafetyAttributes`, `includeRaiReason`, `outputGcsUri`, `labels`. They previously type-checked but were already dropped at runtime (only `seed` was ever forwarded to `generateContent`), so no request behaviour changes. The compiler now reports what was already happening. Migrate `aspectRatio` to the portable `size` option (`'16:9_4K'`) or to `modelOptions.imageConfig`, and drop the rest. Native `imageConfig` also no longer accepts Vertex-only SDK keys such as `personGeneration` and `outputMimeType`. `GeminiImageAdapter.generateImages` (and its `~types.providerOptions`) also widens from `ImageGenerationOptions` to `ImageGenerationOptions`, which affects code structurally annotated against the old signature. + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.23.0 ### Minor Changes diff --git a/packages/ai-gemini/package.json b/packages/ai-gemini/package.json index 3de399ad24..363192d7a6 100644 --- a/packages/ai-gemini/package.json +++ b/packages/ai-gemini/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-gemini", - "version": "0.23.0", + "version": "0.24.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-build/CHANGELOG.md b/packages/ai-grok-build/CHANGELOG.md index 0698c08ec5..6a5924fde7 100644 --- a/packages/ai-grok-build/CHANGELOG.md +++ b/packages/ai-grok-build/CHANGELOG.md @@ -1,5 +1,20 @@ # @tanstack/ai-grok-build +## 0.4.0 + +### Minor Changes + +- [#1110](https://github.com/TanStack/ai/pull/1110) [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad) - Harness adapters honor `chat({ outputSchema })` on the same turn. + + Claude Code and Codex pass a native schema flag. OpenCode, Grok Build, and `acpCompatible` parse JSON from the final assistant text. The engine reads a `structured-output.complete` event so harness prose is not parsed as JSON. + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-acp@0.3.0 + - @tanstack/ai-sandbox@0.3.3 + ## 0.3.2 ### Patch Changes diff --git a/packages/ai-grok-build/package.json b/packages/ai-grok-build/package.json index a59bde548f..830f22ef40 100644 --- a/packages/ai-grok-build/package.json +++ b/packages/ai-grok-build/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-grok-build", - "version": "0.3.2", + "version": "0.4.0", "description": "Grok Build harness adapter for TanStack AI — run Grok Build as a chat backend with local tool execution and stateful sessions.", "author": "", "license": "MIT", diff --git a/packages/ai-grok/CHANGELOG.md b/packages/ai-grok/CHANGELOG.md index 1327ed41b8..28e3ab4dba 100644 --- a/packages/ai-grok/CHANGELOG.md +++ b/packages/ai-grok/CHANGELOG.md @@ -1,5 +1,22 @@ # @tanstack/ai-grok +## 0.15.0 + +### Minor Changes + +- [#1136](https://github.com/TanStack/ai/pull/1136) [`b7928f2`](https://github.com/TanStack/ai/commit/b7928f2fe75f8e329989ded720927375eae7aee3) - Catch up with the current xAI Imagine / Voice catalog: + - **Image**: add `grok-imagine-image-2.0` (xAI's recommended model, $0.04/image) with its 2.0-only `quality: 'low' | 'medium'` provider option. + - **Video**: `grok-imagine-video-1.5` now supports text-to-video (the stale image-to-video-only guard is removed). Reference-to-video lands via image prompt parts with `metadata.role: 'reference' | 'character'` (→ `reference_images`) and preset voices via `modelOptions.reference_audios` (max 3) — 1.5-only, typed per model and gated at runtime. Image-to-video and reference-to-video cannot be combined. Video editing and extension land on `grok-imagine-video` only, via a source `video` prompt part plus `modelOptions.mode: 'edit' | 'extend'` (`/v1/videos/edits` / `/v1/videos/extensions`; in extend mode `duration` is the added tail, not the total). Because edit/extend outputs inherit the source clip's properties, the adapter rejects `size` / `aspect_ratio` / `resolution` (and `duration` in edit mode) in those modes instead of sending fields the API ignores. + - **Voice**: add `grok-voice-think-fast-2.0` (current recommended) and the `grok-voice-latest` alias to the realtime models; the realtime token and adapter defaults move off the deprecated 1.0 ids to `grok-voice-think-fast-2.0`. + +### Patch Changes + +- [#1048](https://github.com/TanStack/ai/pull/1048) [`bc8c5e8`](https://github.com/TanStack/ai/commit/bc8c5e8684da159b08e63aba7cfc51b01289d4eb) - Update model metadata from OpenRouter API + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/openai-base@0.9.13 + ## 0.14.11 ### Patch Changes diff --git a/packages/ai-grok/package.json b/packages/ai-grok/package.json index eff98493c7..83492636fd 100644 --- a/packages/ai-grok/package.json +++ b/packages/ai-grok/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-grok", - "version": "0.14.11", + "version": "0.15.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-groq/CHANGELOG.md b/packages/ai-groq/CHANGELOG.md index ec545e0d16..91e68ce96b 100644 --- a/packages/ai-groq/CHANGELOG.md +++ b/packages/ai-groq/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/ai-groq +## 0.6.1 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/openai-base@0.9.13 + ## 0.6.0 ### Minor Changes diff --git a/packages/ai-groq/package.json b/packages/ai-groq/package.json index 370d37b031..bd4f23194b 100644 --- a/packages/ai-groq/package.json +++ b/packages/ai-groq/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-groq", - "version": "0.6.0", + "version": "0.6.1", "description": "Groq adapter for TanStack AI low-latency chat, tool calling, and structured outputs.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-isolate-cloudflare/CHANGELOG.md b/packages/ai-isolate-cloudflare/CHANGELOG.md index 669fd816f3..745018d1c7 100644 --- a/packages/ai-isolate-cloudflare/CHANGELOG.md +++ b/packages/ai-isolate-cloudflare/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-isolate-cloudflare +## 0.2.42 + +### Patch Changes + +- Updated dependencies [[`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai-code-mode@0.4.0 + ## 0.2.41 ### Patch Changes diff --git a/packages/ai-isolate-cloudflare/package.json b/packages/ai-isolate-cloudflare/package.json index 40f169389a..dbc798ac08 100644 --- a/packages/ai-isolate-cloudflare/package.json +++ b/packages/ai-isolate-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-isolate-cloudflare", - "version": "0.2.41", + "version": "0.2.42", "description": "Cloudflare Workers sandbox driver for TanStack AI Code Mode TypeScript execution at the edge.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-isolate-daytona/CHANGELOG.md b/packages/ai-isolate-daytona/CHANGELOG.md index 5d14b9e69d..b035b277ad 100644 --- a/packages/ai-isolate-daytona/CHANGELOG.md +++ b/packages/ai-isolate-daytona/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-isolate-daytona +## 0.1.1 + +### Patch Changes + +- Updated dependencies [[`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai-code-mode@0.4.0 + ## 0.1.0 ### Minor Changes diff --git a/packages/ai-isolate-daytona/package.json b/packages/ai-isolate-daytona/package.json index 6561747fbf..9463108e9e 100644 --- a/packages/ai-isolate-daytona/package.json +++ b/packages/ai-isolate-daytona/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-isolate-daytona", - "version": "0.1.0", + "version": "0.1.1", "description": "Daytona sandbox driver for TanStack AI Code Mode TypeScript execution.", "author": "", "license": "MIT", diff --git a/packages/ai-isolate-node/CHANGELOG.md b/packages/ai-isolate-node/CHANGELOG.md index ce9e2d113d..e2a1f5989d 100644 --- a/packages/ai-isolate-node/CHANGELOG.md +++ b/packages/ai-isolate-node/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-isolate-node +## 0.1.51 + +### Patch Changes + +- Updated dependencies [[`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai-code-mode@0.4.0 + ## 0.1.50 ### Patch Changes diff --git a/packages/ai-isolate-node/package.json b/packages/ai-isolate-node/package.json index b1de31f60b..5a3d6103ff 100644 --- a/packages/ai-isolate-node/package.json +++ b/packages/ai-isolate-node/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-isolate-node", - "version": "0.1.50", + "version": "0.1.51", "description": "Node.js isolated-vm sandbox driver for TanStack AI Code Mode TypeScript execution.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-isolate-quickjs-bun/CHANGELOG.md b/packages/ai-isolate-quickjs-bun/CHANGELOG.md index 698cd64792..6c7f12476c 100644 --- a/packages/ai-isolate-quickjs-bun/CHANGELOG.md +++ b/packages/ai-isolate-quickjs-bun/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-isolate-quickjs-bun +## 0.1.1 + +### Patch Changes + +- Updated dependencies [[`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai-code-mode@0.4.0 + ## 0.1.0 ### Minor Changes diff --git a/packages/ai-isolate-quickjs-bun/package.json b/packages/ai-isolate-quickjs-bun/package.json index c353168227..21a4b8abeb 100644 --- a/packages/ai-isolate-quickjs-bun/package.json +++ b/packages/ai-isolate-quickjs-bun/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-isolate-quickjs-bun", - "version": "0.1.0", + "version": "0.1.1", "description": "Native QuickJS sandbox driver for TanStack AI Code Mode TypeScript execution on Bun via bun:ffi.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-isolate-quickjs/CHANGELOG.md b/packages/ai-isolate-quickjs/CHANGELOG.md index 4234bb5517..7eaa6aa64c 100644 --- a/packages/ai-isolate-quickjs/CHANGELOG.md +++ b/packages/ai-isolate-quickjs/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-isolate-quickjs +## 0.3.1 + +### Patch Changes + +- Updated dependencies [[`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai-code-mode@0.4.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/ai-isolate-quickjs/package.json b/packages/ai-isolate-quickjs/package.json index 9e7b0482b6..6c1acdb344 100644 --- a/packages/ai-isolate-quickjs/package.json +++ b/packages/ai-isolate-quickjs/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-isolate-quickjs", - "version": "0.3.0", + "version": "0.3.1", "description": "QuickJS WASM sandbox driver for TanStack AI Code Mode TypeScript execution across runtimes.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-mcp/CHANGELOG.md b/packages/ai-mcp/CHANGELOG.md index dd6be8250c..78453ff112 100644 --- a/packages/ai-mcp/CHANGELOG.md +++ b/packages/ai-mcp/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-mcp +## 0.3.1 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.3.0 ### Minor Changes diff --git a/packages/ai-mcp/package.json b/packages/ai-mcp/package.json index fe021a207b..400bc5bfcb 100644 --- a/packages/ai-mcp/package.json +++ b/packages/ai-mcp/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-mcp", - "version": "0.3.0", + "version": "0.3.1", "description": "Host-side Model Context Protocol client for TanStack AI: discover and run MCP server tools, resources, and prompts in any adapter's chat() loop, with generated end-to-end types.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-memory/CHANGELOG.md b/packages/ai-memory/CHANGELOG.md index bab6bc980d..b33814d794 100644 --- a/packages/ai-memory/CHANGELOG.md +++ b/packages/ai-memory/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-memory +## 0.1.2 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.1.1 ### Patch Changes diff --git a/packages/ai-memory/package.json b/packages/ai-memory/package.json index 0b9f0675ec..8cf368b10d 100644 --- a/packages/ai-memory/package.json +++ b/packages/ai-memory/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-memory", - "version": "0.1.1", + "version": "0.1.2", "description": "Pluggable memory adapters for TanStack AI memoryMiddleware", "author": "", "license": "MIT", diff --git a/packages/ai-mistral/CHANGELOG.md b/packages/ai-mistral/CHANGELOG.md index ef7f8d0fe9..563f7c0ba0 100644 --- a/packages/ai-mistral/CHANGELOG.md +++ b/packages/ai-mistral/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-mistral +## 0.3.2 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.3.1 ### Patch Changes diff --git a/packages/ai-mistral/package.json b/packages/ai-mistral/package.json index 8b15ff1012..5622bb0d10 100644 --- a/packages/ai-mistral/package.json +++ b/packages/ai-mistral/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-mistral", - "version": "0.3.1", + "version": "0.3.2", "type": "module", "description": "Mistral adapter for TanStack AI", "author": "", diff --git a/packages/ai-ollama/CHANGELOG.md b/packages/ai-ollama/CHANGELOG.md index d5d4a91918..5fbca06cb3 100644 --- a/packages/ai-ollama/CHANGELOG.md +++ b/packages/ai-ollama/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-ollama +## 0.9.1 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.9.0 ### Minor Changes diff --git a/packages/ai-ollama/package.json b/packages/ai-ollama/package.json index 48cf8e68b4..cde4f6450b 100644 --- a/packages/ai-ollama/package.json +++ b/packages/ai-ollama/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-ollama", - "version": "0.9.0", + "version": "0.9.1", "description": "Ollama adapter for TanStack AI local LLM chat, tool calling, and structured outputs.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-openai/CHANGELOG.md b/packages/ai-openai/CHANGELOG.md index b49ebed0e7..a6fe1bca3e 100644 --- a/packages/ai-openai/CHANGELOG.md +++ b/packages/ai-openai/CHANGELOG.md @@ -1,5 +1,15 @@ # @tanstack/ai-openai +## 0.19.1 + +### Patch Changes + +- [#1048](https://github.com/TanStack/ai/pull/1048) [`bc8c5e8`](https://github.com/TanStack/ai/commit/bc8c5e8684da159b08e63aba7cfc51b01289d4eb) - Update model metadata from OpenRouter API + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/openai-base@0.9.13 + ## 0.19.0 ### Minor Changes diff --git a/packages/ai-openai/package.json b/packages/ai-openai/package.json index 252cf1303e..9b89c1b5e9 100644 --- a/packages/ai-openai/package.json +++ b/packages/ai-openai/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-openai", - "version": "0.19.0", + "version": "0.19.1", "description": "OpenAI adapter for TanStack AI chat, tools, images, video, speech, transcription, realtime, and structured outputs.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-opencode/CHANGELOG.md b/packages/ai-opencode/CHANGELOG.md index b96af66fb7..2c38ed4e3c 100644 --- a/packages/ai-opencode/CHANGELOG.md +++ b/packages/ai-opencode/CHANGELOG.md @@ -1,5 +1,19 @@ # @tanstack/ai-opencode +## 0.3.0 + +### Minor Changes + +- [#1110](https://github.com/TanStack/ai/pull/1110) [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad) - Harness adapters honor `chat({ outputSchema })` on the same turn. + + Claude Code and Codex pass a native schema flag. OpenCode, Grok Build, and `acpCompatible` parse JSON from the final assistant text. The engine reads a `structured-output.complete` event so harness prose is not parsed as JSON. + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-sandbox@0.3.3 + ## 0.2.5 ### Patch Changes diff --git a/packages/ai-opencode/package.json b/packages/ai-opencode/package.json index 5b8e33e9d7..760156dc24 100644 --- a/packages/ai-opencode/package.json +++ b/packages/ai-opencode/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-opencode", - "version": "0.2.5", + "version": "0.3.0", "description": "OpenCode harness adapter for TanStack AI — run OpenCode as a chat backend with local tool execution and stateful sessions.", "author": "", "license": "MIT", diff --git a/packages/ai-openrouter/CHANGELOG.md b/packages/ai-openrouter/CHANGELOG.md index 51698bc525..8afff7ff1f 100644 --- a/packages/ai-openrouter/CHANGELOG.md +++ b/packages/ai-openrouter/CHANGELOG.md @@ -1,5 +1,18 @@ # @tanstack/ai-openrouter +## 0.17.1 + +### Patch Changes + +- [#1135](https://github.com/TanStack/ai/pull/1135) [`fe42d82`](https://github.com/TanStack/ai/commit/fe42d8255d89f4b087caff5e1f52ea4f98acf77b) - Exclude the `prediction` parameter from the generated OpenRouter model options. The OpenRouter API newly reports it as a supported parameter, but `@openrouter/sdk`'s `ChatRequest` does not declare it (its outbound schema would strip it), so the generated `Pick` types failed to compile. + +- [#1132](https://github.com/TanStack/ai/pull/1132) [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b) - Timestamp native and fallback structured-output events when they are emitted so their lifecycle remains chronologically ordered. + +- [#1048](https://github.com/TanStack/ai/pull/1048) [`bc8c5e8`](https://github.com/TanStack/ai/commit/bc8c5e8684da159b08e63aba7cfc51b01289d4eb) - Update model metadata from OpenRouter API + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.17.0 ### Minor Changes diff --git a/packages/ai-openrouter/package.json b/packages/ai-openrouter/package.json index ef182b67b9..aaefe951cc 100644 --- a/packages/ai-openrouter/package.json +++ b/packages/ai-openrouter/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-openrouter", - "version": "0.17.0", + "version": "0.17.1", "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-perplexity/CHANGELOG.md b/packages/ai-perplexity/CHANGELOG.md index d218ef0512..41fb56b96a 100644 --- a/packages/ai-perplexity/CHANGELOG.md +++ b/packages/ai-perplexity/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-perplexity +## 0.2.1 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.2.0 ### Minor Changes diff --git a/packages/ai-perplexity/package.json b/packages/ai-perplexity/package.json index 0c9e71969c..944fd3c0be 100644 --- a/packages/ai-perplexity/package.json +++ b/packages/ai-perplexity/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-perplexity", - "version": "0.2.0", + "version": "0.2.1", "description": "Perplexity Search API client and tool for TanStack AI", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-persistence/CHANGELOG.md b/packages/ai-persistence/CHANGELOG.md index 2ec807fe9f..6cb8de811c 100644 --- a/packages/ai-persistence/CHANGELOG.md +++ b/packages/ai-persistence/CHANGELOG.md @@ -1,5 +1,16 @@ # @tanstack/ai-persistence +## 0.1.5 + +### Patch Changes + +- [#1117](https://github.com/TanStack/ai/pull/1117) [`3e94871`](https://github.com/TanStack/ai/commit/3e94871c5a27113bab59c0f514dfe1010e686b3e) - Ignore empty `TEXT_MESSAGE_START` message IDs so tool-call `parentMessageId` can be used. + +- [#1129](https://github.com/TanStack/ai/pull/1129) [`302c9f6`](https://github.com/TanStack/ai/commit/302c9f692041e1b351fe780f85a03d261a0b4c87) - Persist cumulative usage for chat runs that make multiple model calls, interrupt, fail, or abort. + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.1.4 ### Patch Changes diff --git a/packages/ai-persistence/package.json b/packages/ai-persistence/package.json index 90be9bca7f..3282f11f1e 100644 --- a/packages/ai-persistence/package.json +++ b/packages/ai-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-persistence", - "version": "0.1.4", + "version": "0.1.5", "description": "Composable state persistence for TanStack AI messages, runs, interrupts, metadata, and locks.", "author": "", "license": "MIT", diff --git a/packages/ai-preact/CHANGELOG.md b/packages/ai-preact/CHANGELOG.md index 9637fc684c..ec9af262c1 100644 --- a/packages/ai-preact/CHANGELOG.md +++ b/packages/ai-preact/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/ai-preact +## 0.12.3 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`f492bc9`](https://github.com/TanStack/ai/commit/f492bc9d6c2848bebbaea03303df0640e80e6e5a), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-client@0.23.3 + ## 0.12.2 ### Patch Changes diff --git a/packages/ai-preact/package.json b/packages/ai-preact/package.json index 0a0c809459..5bd4fbefe1 100644 --- a/packages/ai-preact/package.json +++ b/packages/ai-preact/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-preact", - "version": "0.12.2", + "version": "0.12.3", "description": "Preact hooks for TanStack AI streaming chat and typed messages.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-react/CHANGELOG.md b/packages/ai-react/CHANGELOG.md index 61f343c0db..adb4d1f9bb 100644 --- a/packages/ai-react/CHANGELOG.md +++ b/packages/ai-react/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/ai-react +## 0.19.3 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`f492bc9`](https://github.com/TanStack/ai/commit/f492bc9d6c2848bebbaea03303df0640e80e6e5a), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-client@0.23.3 + ## 0.19.2 ### Patch Changes diff --git a/packages/ai-react/package.json b/packages/ai-react/package.json index 64ffc893de..66587b0cb0 100644 --- a/packages/ai-react/package.json +++ b/packages/ai-react/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-react", - "version": "0.19.2", + "version": "0.19.3", "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-sandbox-cloudflare/CHANGELOG.md b/packages/ai-sandbox-cloudflare/CHANGELOG.md index dd66ed6d35..402440cae2 100644 --- a/packages/ai-sandbox-cloudflare/CHANGELOG.md +++ b/packages/ai-sandbox-cloudflare/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/ai-sandbox-cloudflare +## 0.3.2 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-sandbox@0.3.3 + - @tanstack/ai-sandbox-local-process@0.2.1 + ## 0.3.1 ### Patch Changes diff --git a/packages/ai-sandbox-cloudflare/package.json b/packages/ai-sandbox-cloudflare/package.json index d938317bd9..83a1584afa 100644 --- a/packages/ai-sandbox-cloudflare/package.json +++ b/packages/ai-sandbox-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-sandbox-cloudflare", - "version": "0.3.1", + "version": "0.3.2", "description": "Cloudflare sandbox provider for TanStack AI — run harness adapters inside Cloudflare Containers (edge) through the uniform SandboxHandle.", "author": "", "license": "MIT", diff --git a/packages/ai-sandbox/CHANGELOG.md b/packages/ai-sandbox/CHANGELOG.md index cdb07d3760..b21ae504e6 100644 --- a/packages/ai-sandbox/CHANGELOG.md +++ b/packages/ai-sandbox/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/ai-sandbox +## 0.3.3 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.3.2 ### Patch Changes diff --git a/packages/ai-sandbox/package.json b/packages/ai-sandbox/package.json index 4e4783033b..0c0cc04c42 100644 --- a/packages/ai-sandbox/package.json +++ b/packages/ai-sandbox/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-sandbox", - "version": "0.3.2", + "version": "0.3.3", "description": "Provider-agnostic sandbox layer for TanStack AI — run harness adapters inside isolated sandboxes (defineSandbox, defineWorkspace, withSandbox) with a uniform SandboxHandle, workspace bootstrap, policy, and resumable lifecycle.", "author": "", "license": "MIT", diff --git a/packages/ai-solid/CHANGELOG.md b/packages/ai-solid/CHANGELOG.md index 8d3f38a37c..21c1be2b2e 100644 --- a/packages/ai-solid/CHANGELOG.md +++ b/packages/ai-solid/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/ai-solid +## 0.16.3 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`f492bc9`](https://github.com/TanStack/ai/commit/f492bc9d6c2848bebbaea03303df0640e80e6e5a), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-client@0.23.3 + ## 0.16.2 ### Patch Changes diff --git a/packages/ai-solid/package.json b/packages/ai-solid/package.json index 349b2fe5a9..c42dba02db 100644 --- a/packages/ai-solid/package.json +++ b/packages/ai-solid/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-solid", - "version": "0.16.2", + "version": "0.16.3", "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 cfd8e85914..324c1e4d91 100644 --- a/packages/ai-svelte/CHANGELOG.md +++ b/packages/ai-svelte/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/ai-svelte +## 0.16.3 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`f492bc9`](https://github.com/TanStack/ai/commit/f492bc9d6c2848bebbaea03303df0640e80e6e5a), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-client@0.23.3 + ## 0.16.2 ### Patch Changes diff --git a/packages/ai-svelte/package.json b/packages/ai-svelte/package.json index 6fe7b88523..7b0548f84c 100644 --- a/packages/ai-svelte/package.json +++ b/packages/ai-svelte/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-svelte", - "version": "0.16.2", + "version": "0.16.3", "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 551cdb774c..6453c30569 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.1 + +### Patch Changes + +- [#1048](https://github.com/TanStack/ai/pull/1048) [`bc8c5e8`](https://github.com/TanStack/ai/commit/bc8c5e8684da159b08e63aba7cfc51b01289d4eb) - Update model metadata from OpenRouter API + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/openai-base@0.9.13 + ## 0.1.0 ### Minor Changes diff --git a/packages/ai-vercel-gateway/package.json b/packages/ai-vercel-gateway/package.json index fe655b9fe0..35144eb3d8 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.0", + "version": "0.1.1", "description": "Vercel AI Gateway adapter for TanStack AI chat, embeddings, and image generation.", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/ai-vue/CHANGELOG.md b/packages/ai-vue/CHANGELOG.md index 1967c025be..e15e1756bf 100644 --- a/packages/ai-vue/CHANGELOG.md +++ b/packages/ai-vue/CHANGELOG.md @@ -1,5 +1,13 @@ # @tanstack/ai-vue +## 0.16.3 + +### Patch Changes + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`f492bc9`](https://github.com/TanStack/ai/commit/f492bc9d6c2848bebbaea03303df0640e80e6e5a), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + - @tanstack/ai-client@0.23.3 + ## 0.16.2 ### Patch Changes diff --git a/packages/ai-vue/package.json b/packages/ai-vue/package.json index 3e4002d026..41b727fa0c 100644 --- a/packages/ai-vue/package.json +++ b/packages/ai-vue/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai-vue", - "version": "0.16.2", + "version": "0.16.3", "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 1c0f7dffc7..8c25017ec5 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -1,5 +1,43 @@ # @tanstack/ai +## 0.45.0 + +### Minor Changes + +- [#1110](https://github.com/TanStack/ai/pull/1110) [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad) - Harness adapters honor `chat({ outputSchema })` on the same turn. + + Claude Code and Codex pass a native schema flag. OpenCode, Grok Build, and `acpCompatible` parse JSON from the final assistant text. The engine reads a `structured-output.complete` event so harness prose is not parsed as JSON. + +- [#1114](https://github.com/TanStack/ai/pull/1114) [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d) - Rename Code Mode "skills" to "snippets" to disambiguate them from agent skills (the `SKILL.md` packaging system). + + **Breaking — package rename.** `@tanstack/ai-code-mode-skills` is now published as **`@tanstack/ai-code-mode-snippets`**. Update your dependency and imports. The `/storage` subpath is unchanged. + + **Breaking — API rename.** Every `Skill`/`skill` identifier in the package public API becomes `Snippet`/`snippet`, for example: + - `codeModeWithSkills()` → `codeModeWithSnippets()` + - `skillsToTools()` / `skillToTool()` → `snippetsToTools()` / `snippetToTool()` + - `skillsToBindings()` / `skillsToSimpleBindings()` → `snippetsToBindings()` / `snippetsToSimpleBindings()` + - `selectRelevantSkills()` → `selectRelevantSnippets()` + - `createSkillManagementTools()` → `createSnippetManagementTools()` + - `createSkillsSystemPrompt()` → `createSnippetsSystemPrompt()` + - `generateSkillTypes()` → `generateSnippetTypes()` + - `createFileSkillStorage()` / `createMemorySkillStorage()` → `createFileSnippetStorage()` / `createMemorySnippetStorage()` + - Types: `Skill`, `SkillStorage`, `SkillIndexEntry`, `SkillStats`, `SkillBinding`, `SkillsConfig`, `CodeModeWithSkillsOptions`/`Result` → the `Snippet…` equivalents + - Options: `skills` → `snippets`, `skillsAsTools` → `snippetsAsTools`, `maxSkillsInContext` → `maxSnippetsInContext` + - Runtime tools: `search_skills` / `get_skill` / `register_skill` → `search_snippets` / `get_snippet` / `register_snippet` + - Sandbox bindings are now exposed with the `snippet_` prefix (was `skill_`) + + **Breaking — sandbox hook (`@tanstack/ai-code-mode`).** The `createCodeModeTool` config option `getSkillBindings` is renamed to **`getSnippetBindings`** (same signature — an optional `() => Promise>` returning dynamic bindings merged at execution time). + + **Breaking — wire contract (`@tanstack/ai`).** The Code Mode custom events are renamed: `code_mode:skill_call` / `_result` / `_error` → `code_mode:snippet_*` (payload field `skill` → `snippet`), and `skill:registered` → `snippet:registered`. The exported event types `CodeModeSkillCallEvent` / `CodeModeSkillResultEvent` / `CodeModeSkillErrorEvent` / `SkillRegisteredEvent` are renamed to their `Snippet` equivalents. + +### Patch Changes + +- [#1116](https://github.com/TanStack/ai/pull/1116) [`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37) - Preserve existing message IDs on interrupt `MESSAGES_SNAPSHOT` events. + +- [#1132](https://github.com/TanStack/ai/pull/1132) [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b) - Timestamp native and fallback structured-output events when they are emitted so their lifecycle remains chronologically ordered. + +- [#1134](https://github.com/TanStack/ai/pull/1134) [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8) - Return malformed tool arguments to the model as an error result so the agent loop can repair them. + ## 0.44.1 ### Patch Changes diff --git a/packages/ai/package.json b/packages/ai/package.json index 8af773d3d1..a3976952fd 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/ai", - "version": "0.44.1", + "version": "0.45.0", "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 3632488b99..5acda7209f 100644 --- a/packages/openai-base/CHANGELOG.md +++ b/packages/openai-base/CHANGELOG.md @@ -1,5 +1,14 @@ # @tanstack/openai-base +## 0.9.13 + +### Patch Changes + +- [#1132](https://github.com/TanStack/ai/pull/1132) [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b) - Timestamp native and fallback structured-output events when they are emitted so their lifecycle remains chronologically ordered. + +- Updated dependencies [[`d10dfe6`](https://github.com/TanStack/ai/commit/d10dfe6eca788ae52631d45e5599aa0c45e9ba37), [`eda82cc`](https://github.com/TanStack/ai/commit/eda82cc8a86923afd604a663d050c6edfa6b829b), [`c63319e`](https://github.com/TanStack/ai/commit/c63319e34a2ca2f1d56b90addf28784f7c3e13ad), [`b09e010`](https://github.com/TanStack/ai/commit/b09e010b32932c812e65b1e14f6faa2b0e6d5cb8), [`0fb8263`](https://github.com/TanStack/ai/commit/0fb826321c9ba7bd5d8ba0062be2a00b6178726d)]: + - @tanstack/ai@0.45.0 + ## 0.9.12 ### Patch Changes diff --git a/packages/openai-base/package.json b/packages/openai-base/package.json index 9326f11e2d..b96a7e5ff3 100644 --- a/packages/openai-base/package.json +++ b/packages/openai-base/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/openai-base", - "version": "0.9.12", + "version": "0.9.13", "description": "Shared OpenAI SDK base adapters for TanStack AI providers using Chat Completions and Responses APIs.", "author": "Tanner Linsley", "license": "MIT",