agents@0.19.0
cloudflare/agentsagents@0.19.0Jul 23, 2026by github-actions[bot]
AI Summary
Introduces dual support for AI SDK v6 and v7, allowing consumers to adopt the newer version without forcing an upgrade, while normalizing divergences at the boundary.
Key Highlights
- Dual support for AI SDK v6 and v7
- Normalization of tool execution events and telemetry
- Known limitations regarding workers-ai-provider and chat peer dependencies
New Features
- Support for AI SDK v6 and v7
Full Release Notes
### Minor Changes
- [#1922](https://github.com/cloudflare/agents/pull/1922) [`cb4c1c7`](https://github.com/cloudflare/agents/commit/cb4c1c722d5a556ce68228d8e60f9c1df604ef81) Thanks [@cjol](https://github.com/cjol)! - Support both AI SDK v6 and v7.
The `ai` peer range is `ai@^6 || ^7` (and `@ai-sdk/react` is `@^3 || ^4`) across
`agents`, `@cloudflare/ai-chat`, `@cloudflare/codemode`, and `@cloudflare/think`.
Consumers can adopt AI SDK v7 or stay on v6 — no forced AI SDK upgrade when
bumping these packages.
Only the current implementations are covered. New optimisations and APIs made
available by AI SDK v7 (broader result-shape audits, stream helper migrations,
etc.) are intentionally out of scope.
How dual-version support works — `@cloudflare/think` calls the AI SDK through the
option names present in both majors (v7 keeps the v6 names as aliases), and
normalizes the genuine divergences at the boundary:
- Uses `stepCountIs`, `system`, `experimental_telemetry`, `onStepFinish`, and
`experimental_onToolCallFinish` (in v7 this alias resolves to
`onToolExecutionEnd` and fires once).
- The tool-execution-finished event is normalized across majors: v6's
`{ success, output, error, durationMs, stepNumber }` and v7's
`{ toolOutput, toolExecutionMs }` collapse to one `ToolCallResultContext`.
`stepNumber` is `undefined` under v7 (the v7 event no longer provides it).
- The UI message stream is built via the result's `toUIMessageStream()` method
(present in both majors); the standalone `toUIMessageStream({ stream })`
helper and `result.stream` are v7-only.
- The workspace read tool emits `{ type: "file-data", data, mediaType, filename }`
model output, accepted by both majors (v7's newer `{ type: "file", data: {
type: "data", data } }` shape does not exist in v6).
Public API notes:
- `@cloudflare/think` keeps `system`, `onStepFinish`, and `experimental_telemetry`
where callers already use them, and also accepts `TurnConfig.telemetry`
(forwarded ahead of `experimental_telemetry` when present).
- `@cloudflare/ai-chat` updates the `AIChatAgent.onChatMessage` callback type
from `StreamTextOnFinishCallback` to `GenerateTextOnFinishCallback`.
Verified against both `ai@6` and `ai@7`: `@cloudflare/think` type-checks with
zero errors and its full workers test suite passes under each major.
Known limitations:
- `workers-ai-provider` (Think's default model provider) is fixed at v4 for AI
SDK v7. Consumers on `ai@6` who rely on Think's built-in default model may hit
a provider-version mismatch; passing their own `LanguageModel` avoids this.
- `chat@4.31.0` currently declares an `ai@^6` peer and does not yet advertise
v7 support; tracked separately.
- CI should exercise both an `ai@6` and an `ai@7` resolution to guard the matrix.
### Patch Changes
- Updated dependencies \[[`cb4c1c7`](https://github.com/cloudflare/agents/commit/cb4c1c722d5a556ce68228d8e60f9c1df604ef81)]:
- @cloudflare/codemode@0.5.0