Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 0 additions & 30 deletions .changeset/thinking-blocks-per-step.md

This file was deleted.

13 changes: 13 additions & 0 deletions examples/ts-svelte-chat/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# ts-svelte-chat

## 0.1.39

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0
- @tanstack/ai-anthropic@0.8.4
- @tanstack/ai-client@0.9.0
- @tanstack/ai-gemini@0.10.1
- @tanstack/ai-ollama@0.6.11
- @tanstack/ai-openai@0.8.3
- @tanstack/ai-svelte@0.7.1

## 0.1.38

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/ts-svelte-chat/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "ts-svelte-chat",
"private": true,
"version": "0.1.38",
"version": "0.1.39",
"type": "module",
"scripts": {
"dev": "vite dev --port 3000",
Expand Down
14 changes: 14 additions & 0 deletions examples/ts-vue-chat/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# ts-vue-chat

## 0.1.39

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0
- @tanstack/ai-anthropic@0.8.4
- @tanstack/ai-client@0.9.0
- @tanstack/ai-gemini@0.10.1
- @tanstack/ai-ollama@0.6.11
- @tanstack/ai-openai@0.8.3
- @tanstack/ai-vue@0.7.1
- @tanstack/ai-vue-ui@0.1.32

## 0.1.38

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/ts-vue-chat/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ts-vue-chat",
"version": "0.1.38",
"version": "0.1.39",
"private": true,
"type": "module",
"scripts": {
Expand Down
7 changes: 7 additions & 0 deletions examples/vanilla-chat/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# vanilla-chat

## 0.0.36

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai-client@0.9.0

## 0.0.35

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/vanilla-chat/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "vanilla-chat",
"private": true,
"type": "module",
"version": "0.0.35",
"version": "0.0.36",
"scripts": {
"start": "vite --port 3001",
"dev": "vite --port 3001",
Expand Down
29 changes: 29 additions & 0 deletions packages/typescript/ai-anthropic/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# @tanstack/ai-anthropic

## 0.8.4

### Patch Changes

- **Fix thinking blocks getting merged across steps and lost on turn 2+ of Anthropic tool loops.** ([#391](https://github.com/TanStack/ai/pull/391))

Each thinking step emitted by the adapter now produces its own `ThinkingPart` on the `UIMessage` instead of being merged into a single part, and thinking content + Anthropic signatures are preserved in server-side message history so multi-turn tool flows with extended thinking work correctly.

This includes a public callback signature change: `StreamProcessorEvents.onThinkingUpdate` now receives `(messageId, stepId, content)` instead of `(messageId, content)`. `ChatClient` has been updated to handle the new `stepId` argument internally, but consumers implementing `StreamProcessorEvents` directly need to add the new parameter.

`@tanstack/ai`:
- `ThinkingPart` gains optional `stepId` and `signature` fields.
- `ModelMessage` gains an optional `thinking?: Array<{ content; signature? }>` field so prior thinking can be replayed in subsequent turns.
- `StepFinishedEvent` gains an optional `signature` field for provider-supplied thinking signatures.
- `StreamProcessor` tracks thinking per-step via `stepId` and keeps step ordering. `getState().thinking` / `getResult().thinking` concatenate step contents in order.
- The `onThinkingUpdate` callback on `StreamProcessorEvents` now receives `(messageId, stepId, content)` — consumers implementing it directly must add the `stepId` parameter.
- `TextEngine` accumulates thinking + signatures per iteration and includes them in assistant messages with tool calls so the next turn can replay them.

`@tanstack/ai-anthropic`:
- Captures `signature_delta` stream events and emits the final `STEP_FINISHED` with the signature on `content_block_stop`.
- Includes thinking blocks with signatures in `formatMessages` for multi-turn history.
- Passes `betas: ['interleaved-thinking-2025-05-14']` to the `beta.messages.create` call site when a thinking budget is configured. The beta flag is scoped to the streaming path only, so `structuredOutput` (which uses the non-beta `messages.create` endpoint) is unaffected.

`@tanstack/ai-client`:
- `ChatClient`'s internal `onThinkingUpdate` wiring is updated for the new `stepId` parameter.

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0

## 0.8.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-anthropic/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-anthropic",
"version": "0.8.3",
"version": "0.8.4",
"description": "Anthropic Claude adapter for TanStack AI",
"author": "",
"license": "MIT",
Expand Down
32 changes: 32 additions & 0 deletions packages/typescript/ai-client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
# @tanstack/ai-client

## 0.9.0

### Minor Changes

- **Fix thinking blocks getting merged across steps and lost on turn 2+ of Anthropic tool loops.** ([#391](https://github.com/TanStack/ai/pull/391))

Each thinking step emitted by the adapter now produces its own `ThinkingPart` on the `UIMessage` instead of being merged into a single part, and thinking content + Anthropic signatures are preserved in server-side message history so multi-turn tool flows with extended thinking work correctly.

This includes a public callback signature change: `StreamProcessorEvents.onThinkingUpdate` now receives `(messageId, stepId, content)` instead of `(messageId, content)`. `ChatClient` has been updated to handle the new `stepId` argument internally, but consumers implementing `StreamProcessorEvents` directly need to add the new parameter.

`@tanstack/ai`:
- `ThinkingPart` gains optional `stepId` and `signature` fields.
- `ModelMessage` gains an optional `thinking?: Array<{ content; signature? }>` field so prior thinking can be replayed in subsequent turns.
- `StepFinishedEvent` gains an optional `signature` field for provider-supplied thinking signatures.
- `StreamProcessor` tracks thinking per-step via `stepId` and keeps step ordering. `getState().thinking` / `getResult().thinking` concatenate step contents in order.
- The `onThinkingUpdate` callback on `StreamProcessorEvents` now receives `(messageId, stepId, content)` — consumers implementing it directly must add the `stepId` parameter.
- `TextEngine` accumulates thinking + signatures per iteration and includes them in assistant messages with tool calls so the next turn can replay them.

`@tanstack/ai-anthropic`:
- Captures `signature_delta` stream events and emits the final `STEP_FINISHED` with the signature on `content_block_stop`.
- Includes thinking blocks with signatures in `formatMessages` for multi-turn history.
- Passes `betas: ['interleaved-thinking-2025-05-14']` to the `beta.messages.create` call site when a thinking budget is configured. The beta flag is scoped to the streaming path only, so `structuredOutput` (which uses the non-beta `messages.create` endpoint) is unaffected.

`@tanstack/ai-client`:
- `ChatClient`'s internal `onThinkingUpdate` wiring is updated for the new `stepId` parameter.

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0
- @tanstack/ai-event-client@0.2.9

## 0.8.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-client",
"version": "0.8.0",
"version": "0.9.0",
"description": "Framework-agnostic headless client for TanStack AI",
"author": "",
"license": "MIT",
Expand Down
8 changes: 8 additions & 0 deletions packages/typescript/ai-code-mode-skills/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @tanstack/ai-code-mode-skills

## 0.1.9

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0
- @tanstack/ai-code-mode@0.1.9

## 0.1.8

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-code-mode-skills/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-code-mode-skills",
"version": "0.1.8",
"version": "0.1.9",
"description": "Persistent skill library for TanStack AI Code Mode - LLM-created reusable code snippets",
"author": "",
"license": "MIT",
Expand Down
7 changes: 7 additions & 0 deletions packages/typescript/ai-code-mode/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @tanstack/ai-code-mode

## 0.1.9

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0

## 0.1.8

### Patch Changes
Expand Down
15 changes: 15 additions & 0 deletions packages/typescript/ai-code-mode/models-eval/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# @tanstack/ai-code-mode-models-eval

## 0.0.13

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0
- @tanstack/ai-anthropic@0.8.4
- @tanstack/ai-code-mode@0.1.9
- @tanstack/ai-gemini@0.10.1
- @tanstack/ai-grok@0.7.1
- @tanstack/ai-groq@0.1.9
- @tanstack/ai-ollama@0.6.11
- @tanstack/ai-openai@0.8.3
- @tanstack/ai-isolate-node@0.1.9

## 0.0.12

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-code-mode/models-eval/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-code-mode-models-eval",
"version": "0.0.12",
"version": "0.0.13",
"private": true,
"type": "module",
"description": "Dev benchmark: local/cloud models vs code-mode database-demo gold (not published)",
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-code-mode/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-code-mode",
"version": "0.1.8",
"version": "0.1.9",
"description": "Code Mode for TanStack AI - LLM-driven code execution in secure sandboxes",
"author": "",
"license": "MIT",
Expand Down
8 changes: 8 additions & 0 deletions packages/typescript/ai-devtools/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @tanstack/ai-devtools-core

## 0.3.26

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0
- @tanstack/ai-event-client@0.2.9

## 0.3.25

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-devtools/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-devtools-core",
"version": "0.3.25",
"version": "0.3.26",
"description": "Core TanStack AI Devtools",
"author": "",
"license": "MIT",
Expand Down
8 changes: 8 additions & 0 deletions packages/typescript/ai-elevenlabs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# @tanstack/ai-elevenlabs

## 0.2.1

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0
- @tanstack/ai-client@0.9.0

## 0.2.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-elevenlabs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-elevenlabs",
"version": "0.2.0",
"version": "0.2.1",
"description": "ElevenLabs adapter for TanStack AI realtime voice",
"author": "",
"license": "MIT",
Expand Down
7 changes: 7 additions & 0 deletions packages/typescript/ai-event-client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @tanstack/ai-event-client

## 0.2.9

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0

## 0.2.8

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-event-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-event-client",
"version": "0.2.8",
"version": "0.2.9",
"description": "Event client for TanStack AI devtools integration",
"author": "",
"license": "MIT",
Expand Down
7 changes: 7 additions & 0 deletions packages/typescript/ai-fal/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @tanstack/ai-fal

## 0.7.1

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0

## 0.7.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-fal/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-fal",
"version": "0.7.0",
"version": "0.7.1",
"description": "fal.ai adapter for TanStack AI",
"author": "",
"license": "MIT",
Expand Down
7 changes: 7 additions & 0 deletions packages/typescript/ai-gemini/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @tanstack/ai-gemini

## 0.10.1

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0

## 0.10.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-gemini/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-gemini",
"version": "0.10.0",
"version": "0.10.1",
"description": "Google Gemini adapter for TanStack AI",
"author": "",
"license": "MIT",
Expand Down
7 changes: 7 additions & 0 deletions packages/typescript/ai-grok/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @tanstack/ai-grok

## 0.7.1

### Patch Changes

- Updated dependencies [[`b2d3cc1`](https://github.com/TanStack/ai/commit/b2d3cc131a31c54bd1e5841f958fbe333514e508)]:
- @tanstack/ai@0.15.0

## 0.7.0

### Minor Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/typescript/ai-grok/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tanstack/ai-grok",
"version": "0.7.0",
"version": "0.7.1",
"description": "Grok (xAI) adapter for TanStack AI",
"author": "",
"license": "MIT",
Expand Down
Loading