diff --git a/.changeset/afraid-countries-crash.md b/.changeset/afraid-countries-crash.md new file mode 100644 index 000000000000..9f92c69f606d --- /dev/null +++ b/.changeset/afraid-countries-crash.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/elevenlabs': patch +--- + +fix(elevenlabs): use camelCase fileFormat in provider options diff --git a/.changeset/beige-drinks-punch.md b/.changeset/beige-drinks-punch.md new file mode 100644 index 000000000000..7b24f7cc26f5 --- /dev/null +++ b/.changeset/beige-drinks-punch.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat(ai): add provider and provider registry middleware functionality diff --git a/.changeset/beige-vans-care.md b/.changeset/beige-vans-care.md new file mode 100644 index 000000000000..b55e912320ac --- /dev/null +++ b/.changeset/beige-vans-care.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/mistral': patch +--- + +add Mistral Medium 3 model support diff --git a/.changeset/bright-chefs-lick.md b/.changeset/bright-chefs-lick.md new file mode 100644 index 000000000000..fdc96a65d00c --- /dev/null +++ b/.changeset/bright-chefs-lick.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +feat (provider/gateway): update model ids diff --git a/.changeset/bright-lies-explode.md b/.changeset/bright-lies-explode.md new file mode 100644 index 000000000000..bf60a32da13e --- /dev/null +++ b/.changeset/bright-lies-explode.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +feat (provider/gateway): Add OpenAI embedding support diff --git a/.changeset/clever-moles-arrive.md b/.changeset/clever-moles-arrive.md new file mode 100644 index 000000000000..1b98af09cdc5 --- /dev/null +++ b/.changeset/clever-moles-arrive.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): export InferUIMessageChunk type diff --git a/.changeset/clever-terms-lay.md b/.changeset/clever-terms-lay.md new file mode 100644 index 000000000000..eea1c2e20710 --- /dev/null +++ b/.changeset/clever-terms-lay.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat(cli): add ai command line interface diff --git a/.changeset/cuddly-parrots-float.md b/.changeset/cuddly-parrots-float.md new file mode 100644 index 000000000000..ee03e938f5b4 --- /dev/null +++ b/.changeset/cuddly-parrots-float.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/amazon-bedrock': patch +--- + +Add API key authentication support for Amazon Bedrock with Bearer token and automatic SigV4 fallback diff --git a/.changeset/cuddly-phones-smell.md b/.changeset/cuddly-phones-smell.md new file mode 100644 index 000000000000..0750452b4942 --- /dev/null +++ b/.changeset/cuddly-phones-smell.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +Allow destructuring output and errorText on `ToolUIPart` type diff --git a/.changeset/cuddly-tigers-confess.md b/.changeset/cuddly-tigers-confess.md new file mode 100644 index 000000000000..0d61014a2e95 --- /dev/null +++ b/.changeset/cuddly-tigers-confess.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +feat (provider/gateway): add grok-4 model id diff --git a/.changeset/curly-bats-build.md b/.changeset/curly-bats-build.md new file mode 100644 index 000000000000..1d408c7ff271 --- /dev/null +++ b/.changeset/curly-bats-build.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): support system parameter in Agent constructor diff --git a/.changeset/curvy-cats-kneel.md b/.changeset/curvy-cats-kneel.md new file mode 100644 index 000000000000..7dbdd5981688 --- /dev/null +++ b/.changeset/curvy-cats-kneel.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): add ignoreIncompleteToolCalls option to convertToModelMessages diff --git a/.changeset/cyan-insects-count.md b/.changeset/cyan-insects-count.md new file mode 100644 index 000000000000..aeb1a73ad961 --- /dev/null +++ b/.changeset/cyan-insects-count.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/google': patch +--- + +Expose raw usageMetadata returned from Google Generative AI in providerMetadata diff --git a/.changeset/cyan-rockets-beg.md b/.changeset/cyan-rockets-beg.md new file mode 100644 index 000000000000..a1613997e712 --- /dev/null +++ b/.changeset/cyan-rockets-beg.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ui): tool input can be undefined during input-streaming diff --git a/.changeset/dull-grapes-remember.md b/.changeset/dull-grapes-remember.md new file mode 100644 index 000000000000..bb1daa4aed40 --- /dev/null +++ b/.changeset/dull-grapes-remember.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/google-vertex': minor +--- + +Fixed global region for vertex provider diff --git a/.changeset/dull-rabbits-tie.md b/.changeset/dull-rabbits-tie.md new file mode 100644 index 000000000000..3b3a10253772 --- /dev/null +++ b/.changeset/dull-rabbits-tie.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +chore (ai): rename text and reasoning chunks in streamText fullstream diff --git a/.changeset/early-parrots-mix.md b/.changeset/early-parrots-mix.md new file mode 100644 index 000000000000..c461e118acc3 --- /dev/null +++ b/.changeset/early-parrots-mix.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/google': patch +--- + +Added Image Models to the Google Provider for Imagen 3 Support diff --git a/.changeset/eleven-ravens-brake.md b/.changeset/eleven-ravens-brake.md new file mode 100644 index 000000000000..4e0eb53161c0 --- /dev/null +++ b/.changeset/eleven-ravens-brake.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +Fix streaming and reconstruction of reasoning summary parts diff --git a/.changeset/empty-schools-cheer.md b/.changeset/empty-schools-cheer.md new file mode 100644 index 000000000000..291259938c24 --- /dev/null +++ b/.changeset/empty-schools-cheer.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/vercel': patch +--- + +feat (provider/vercel): update chat model ids and examples diff --git a/.changeset/famous-needles-fold.md b/.changeset/famous-needles-fold.md new file mode 100644 index 000000000000..fd6b69e9825f --- /dev/null +++ b/.changeset/famous-needles-fold.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): infer tool call types in the `onToolCall` callback diff --git a/.changeset/five-grapes-live.md b/.changeset/five-grapes-live.md new file mode 100644 index 000000000000..847f295e3225 --- /dev/null +++ b/.changeset/five-grapes-live.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): add readUIMessageStream helper diff --git a/.changeset/flat-ants-draw.md b/.changeset/flat-ants-draw.md new file mode 100644 index 000000000000..7755a466dc6f --- /dev/null +++ b/.changeset/flat-ants-draw.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): export mock image, speech, and transcription models diff --git a/.changeset/flat-falcons-happen.md b/.changeset/flat-falcons-happen.md new file mode 100644 index 000000000000..7852e6aff8d0 --- /dev/null +++ b/.changeset/flat-falcons-happen.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ui): resolvable header, body, credentials in http chat transport diff --git a/.changeset/fresh-dolphins-serve.md b/.changeset/fresh-dolphins-serve.md new file mode 100644 index 000000000000..567b05c3ebcd --- /dev/null +++ b/.changeset/fresh-dolphins-serve.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): validate ui stream data chunks diff --git a/.changeset/fresh-jeans-occur.md b/.changeset/fresh-jeans-occur.md new file mode 100644 index 000000000000..9e2318c9f8f0 --- /dev/null +++ b/.changeset/fresh-jeans-occur.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/react': patch +--- + +fix (ai/react): chat instance recreation in useChat diff --git a/.changeset/fuzzy-goats-mate.md b/.changeset/fuzzy-goats-mate.md new file mode 100644 index 000000000000..2dd4e86d806c --- /dev/null +++ b/.changeset/fuzzy-goats-mate.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): add experimental Agent abstraction diff --git a/.changeset/gentle-hairs-study.md b/.changeset/gentle-hairs-study.md new file mode 100644 index 000000000000..9ac56ee43c93 --- /dev/null +++ b/.changeset/gentle-hairs-study.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +feat (providers/gateway): include description and pricing info in model list diff --git a/.changeset/giant-eyes-relax.md b/.changeset/giant-eyes-relax.md new file mode 100644 index 000000000000..611ddb656cf9 --- /dev/null +++ b/.changeset/giant-eyes-relax.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ui): add sendAutomaticallyWhen to Chat diff --git a/.changeset/giant-ravens-reflect.md b/.changeset/giant-ravens-reflect.md new file mode 100644 index 000000000000..8999ff0ab0d1 --- /dev/null +++ b/.changeset/giant-ravens-reflect.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ui): inject generated response message id diff --git a/.changeset/gold-weeks-turn.md b/.changeset/gold-weeks-turn.md new file mode 100644 index 000000000000..fc789e2a8be2 --- /dev/null +++ b/.changeset/gold-weeks-turn.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/anthropic': patch +--- + +fix(provider/anthropic): correct Claude 4 model ID format diff --git a/.changeset/good-cycles-matter.md b/.changeset/good-cycles-matter.md new file mode 100644 index 000000000000..b78484ffc3ae --- /dev/null +++ b/.changeset/good-cycles-matter.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +Add missing file_search tool support to OpenAI Responses API diff --git a/.changeset/good-masks-itch.md b/.changeset/good-masks-itch.md new file mode 100644 index 000000000000..b21bf3bf97fd --- /dev/null +++ b/.changeset/good-masks-itch.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/anthropic': patch +--- + +feat(provider/anthropic): add disable parallel tool use option diff --git a/.changeset/good-steaks-serve.md b/.changeset/good-steaks-serve.md new file mode 100644 index 000000000000..53dd08089d5d --- /dev/null +++ b/.changeset/good-steaks-serve.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +selectTelemetryAttributes more robustness diff --git a/.changeset/good-trains-breathe.md b/.changeset/good-trains-breathe.md new file mode 100644 index 000000000000..6fa7564d1c07 --- /dev/null +++ b/.changeset/good-trains-breathe.md @@ -0,0 +1,21 @@ +--- +'@ai-sdk/google': patch +--- + +embed() now uses the single embeddings endpoint +No code updates are needed. + +This is to make sure that users are not ratelimited when using the batch endpoint, since many models have different limits for batch and single embeddings. + +Eg: Google has a limit of 150 RPM for batch requests, and 1500 RPM for single requests. + +Before, AI SDK would always use the batch endpoint, even for embed() calls, which led to ratelimits. + +This does not have any breaking functionality and is fully tested :) +if (values.length > 1) { +const batchResult = await this.doEmbedBatch({ +values, +options, +}); +return batchResult; +} diff --git a/.changeset/gorgeous-gifts-drop.md b/.changeset/gorgeous-gifts-drop.md new file mode 100644 index 000000000000..fa52c455c6e2 --- /dev/null +++ b/.changeset/gorgeous-gifts-drop.md @@ -0,0 +1,6 @@ +--- +'@ai-sdk/openai': patch +'ai': patch +--- + +fix (provider/openai): multi-step reasoning with text diff --git a/.changeset/grumpy-apples-cheat.md b/.changeset/grumpy-apples-cheat.md new file mode 100644 index 000000000000..3bfd45ae9894 --- /dev/null +++ b/.changeset/grumpy-apples-cheat.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ui): update Chat tool result submission diff --git a/.changeset/healthy-snakes-glow.md b/.changeset/healthy-snakes-glow.md new file mode 100644 index 000000000000..c4366e52b102 --- /dev/null +++ b/.changeset/healthy-snakes-glow.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/amazon-bedrock': patch +--- + +fix(amazon-bedrock): add structured output support for claude models diff --git a/.changeset/heavy-teachers-repeat.md b/.changeset/heavy-teachers-repeat.md new file mode 100644 index 000000000000..e65ba39131a7 --- /dev/null +++ b/.changeset/heavy-teachers-repeat.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +chore(ai): export AsyncIterableStream type from async-iterable-stream module diff --git a/.changeset/hip-paws-fly.md b/.changeset/hip-paws-fly.md new file mode 100644 index 000000000000..0915f49dd59a --- /dev/null +++ b/.changeset/hip-paws-fly.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/react': patch +--- + +fix message subscription out of sync when chat id changes after mount diff --git a/.changeset/hungry-nails-return.md b/.changeset/hungry-nails-return.md new file mode 100644 index 000000000000..0be4751b9499 --- /dev/null +++ b/.changeset/hungry-nails-return.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ai): handle errors in 2nd streamText doStream call diff --git a/.changeset/khaki-walls-train.md b/.changeset/khaki-walls-train.md new file mode 100644 index 000000000000..8955a492ac7f --- /dev/null +++ b/.changeset/khaki-walls-train.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/amazon-bedrock': patch +--- + +fix(amazon-bedrock): handle empty activeTools with tool conversation history diff --git a/.changeset/kind-icons-thank.md b/.changeset/kind-icons-thank.md new file mode 100644 index 000000000000..9afc5114afc9 --- /dev/null +++ b/.changeset/kind-icons-thank.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai-compatible': patch +--- + +allow any string as reasoningEffort diff --git a/.changeset/late-socks-flash.md b/.changeset/late-socks-flash.md new file mode 100644 index 000000000000..de18b860cff8 --- /dev/null +++ b/.changeset/late-socks-flash.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat: ai sdk cli documentation + adjusted default model diff --git a/.changeset/lazy-beans-marry.md b/.changeset/lazy-beans-marry.md new file mode 100644 index 000000000000..42d531775e5b --- /dev/null +++ b/.changeset/lazy-beans-marry.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +feat(openai): add file_search filters and update field names diff --git a/.changeset/lovely-boxes-scream.md b/.changeset/lovely-boxes-scream.md new file mode 100644 index 000000000000..7c24e64f085e --- /dev/null +++ b/.changeset/lovely-boxes-scream.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +fix(openai): update file_search fields to match API changes diff --git a/.changeset/many-jobs-explain.md b/.changeset/many-jobs-explain.md new file mode 100644 index 000000000000..6a44afe5cd45 --- /dev/null +++ b/.changeset/many-jobs-explain.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/codemod': patch +--- + +release AI SDK 5.0 codemods package diff --git a/.changeset/metal-masks-wonder.md b/.changeset/metal-masks-wonder.md new file mode 100644 index 000000000000..62ffb69cf072 --- /dev/null +++ b/.changeset/metal-masks-wonder.md @@ -0,0 +1,6 @@ +--- +'@ai-sdk/provider-utils': patch +'ai': patch +--- + +feat: allow zod 4.x as peer dependency diff --git a/.changeset/mighty-spies-warn.md b/.changeset/mighty-spies-warn.md new file mode 100644 index 000000000000..e837750161bf --- /dev/null +++ b/.changeset/mighty-spies-warn.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +Fix error thrown when emptying messages in onError or onFinish diff --git a/.changeset/modern-grapes-glow.md b/.changeset/modern-grapes-glow.md new file mode 100644 index 000000000000..7bcd08778c40 --- /dev/null +++ b/.changeset/modern-grapes-glow.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): export Chat callback types diff --git a/.changeset/modern-trains-reflect.md b/.changeset/modern-trains-reflect.md new file mode 100644 index 000000000000..7624a3b04058 --- /dev/null +++ b/.changeset/modern-trains-reflect.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/perplexity': major +--- + +feat(provider/perplexity): support image input diff --git a/.changeset/nasty-avocados-sort.md b/.changeset/nasty-avocados-sort.md new file mode 100644 index 000000000000..15d9925fb2bc --- /dev/null +++ b/.changeset/nasty-avocados-sort.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/angular': major +--- + +Add Angular support diff --git a/.changeset/nasty-cows-care.md b/.changeset/nasty-cows-care.md new file mode 100644 index 000000000000..bd9adab92e66 --- /dev/null +++ b/.changeset/nasty-cows-care.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai/core): add terminateOnError option to readUIMessageStream diff --git a/.changeset/nasty-eggs-learn.md b/.changeset/nasty-eggs-learn.md new file mode 100644 index 000000000000..fad61446a03b --- /dev/null +++ b/.changeset/nasty-eggs-learn.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/groq': patch +--- + +feat: add kimi k2 model via groq diff --git a/.changeset/nasty-queens-play.md b/.changeset/nasty-queens-play.md new file mode 100644 index 000000000000..0a5c0426f251 --- /dev/null +++ b/.changeset/nasty-queens-play.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/xai': patch +--- + +fix (provider/grok): filter duplicated reasoning chunks diff --git a/.changeset/neat-frogs-shop.md b/.changeset/neat-frogs-shop.md new file mode 100644 index 000000000000..a978b5da5e94 --- /dev/null +++ b/.changeset/neat-frogs-shop.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai-compatible': patch +--- + +Add (optional) includeUsage option to createOpenAICompatible diff --git a/.changeset/new-rats-fly.md b/.changeset/new-rats-fly.md new file mode 100644 index 000000000000..b7036723e447 --- /dev/null +++ b/.changeset/new-rats-fly.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +feat (provider/gateway): add qwen3 coder model id diff --git a/.changeset/nice-dogs-flow.md b/.changeset/nice-dogs-flow.md new file mode 100644 index 000000000000..cb9e0f4402c8 --- /dev/null +++ b/.changeset/nice-dogs-flow.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): step input message modification in prepareStep diff --git a/.changeset/nice-jars-film.md b/.changeset/nice-jars-film.md new file mode 100644 index 000000000000..3d497d32ec84 --- /dev/null +++ b/.changeset/nice-jars-film.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/codemod': patch +--- + +feat(codemods): added v4→v5 migration codemods diff --git a/.changeset/ninety-seahorses-fetch.md b/.changeset/ninety-seahorses-fetch.md new file mode 100644 index 000000000000..2661361d3659 --- /dev/null +++ b/.changeset/ninety-seahorses-fetch.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ui): add onData callback to Chat diff --git a/.changeset/old-yaks-pull.md b/.changeset/old-yaks-pull.md new file mode 100644 index 000000000000..e2386699e9a3 --- /dev/null +++ b/.changeset/old-yaks-pull.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/azure': patch +--- + +update: Azure OpenAI provider to v1 API format diff --git a/.changeset/orange-clocks-type.md b/.changeset/orange-clocks-type.md new file mode 100644 index 000000000000..1200f40359c8 --- /dev/null +++ b/.changeset/orange-clocks-type.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/google': patch +--- + +Add Gemini 2.5 Flash Lite GA diff --git a/.changeset/perfect-bottles-ring.md b/.changeset/perfect-bottles-ring.md new file mode 100644 index 000000000000..86ddd053cdc7 --- /dev/null +++ b/.changeset/perfect-bottles-ring.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +chore(ai): bundle dependencies in CLI binary diff --git a/.changeset/perfect-deers-work.md b/.changeset/perfect-deers-work.md new file mode 100644 index 000000000000..40bbdde50ef8 --- /dev/null +++ b/.changeset/perfect-deers-work.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +fix (provider/openai): correct default for chat model strict mode diff --git a/.changeset/poor-walls-arrive.md b/.changeset/poor-walls-arrive.md new file mode 100644 index 000000000000..07fa78d2d50c --- /dev/null +++ b/.changeset/poor-walls-arrive.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/xai': patch +--- + +feat (provider/xai): export XaiProviderOptions diff --git a/.changeset/pre.json b/.changeset/pre.json index 558bd73fd635..86ccddf34806 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -65,9 +65,12 @@ "analyze-downloads": "0.0.0", "eslint-config-vercel-ai": "0.0.0", "generate-llms-txt": "0.0.0", - "@vercel/ai-tsconfig": "0.0.0" + "@vercel/ai-tsconfig": "0.0.0", + "@example/angular": "0.0.0", + "@ai-sdk/angular": "0.2.1" }, "changesets": [ + "afraid-countries-crash", "afraid-moles-cross", "angry-crabs-develop", "angry-dragons-tan", @@ -75,13 +78,17 @@ "angry-plants-sin", "angry-poems-learn", "angry-timers-drive", + "beige-drinks-punch", "beige-ligers-kneel", "beige-penguins-greet", "beige-socks-stare", + "beige-vans-care", "big-impalas-grin", "big-panthers-judge", "brave-mails-taste", "brave-numbers-drive", + "bright-chefs-lick", + "bright-lies-explode", "bright-readers-breathe", "bright-turtles-give", "brown-eagles-tickle", @@ -103,6 +110,8 @@ "clever-coats-invite", "clever-games-report", "clever-mangos-tease", + "clever-moles-arrive", + "clever-terms-lay", "cold-bags-move", "cold-clocks-learn", "cool-buckets-shout", @@ -112,15 +121,25 @@ "cuddly-eels-perform", "cuddly-icons-kick", "cuddly-kangaroos-double", + "cuddly-parrots-float", + "cuddly-phones-smell", + "cuddly-tigers-confess", + "curly-bats-build", "curly-peaches-clap", + "curvy-cats-kneel", "curvy-lobsters-share", "curvy-sloths-impress", + "cyan-insects-count", + "cyan-rockets-beg", "cyan-scissors-applaud", "dirty-dolphins-march", "dirty-eggs-breathe", "dirty-mice-knock", "dull-candles-trade", + "dull-grapes-remember", "dull-points-mate", + "dull-rabbits-tie", + "early-parrots-mix", "eight-emus-push", "eight-months-sip", "eighty-flowers-design", @@ -129,9 +148,11 @@ "eighty-seals-search", "eleven-lobsters-rescue", "eleven-pets-clean", + "eleven-ravens-brake", "empty-fireants-learn", "empty-flowers-sniff", "empty-pets-jump", + "empty-schools-cheer", "empty-walls-rest", "fair-bikes-hear", "fair-cobras-tan", @@ -139,6 +160,7 @@ "fair-swans-kneel", "famous-eggs-camp", "famous-fans-provide", + "famous-needles-fold", "famous-peas-arrive", "famous-shrimps-fail", "famous-ties-train", @@ -149,13 +171,18 @@ "few-pianos-pay", "fifty-camels-visit", "fifty-shrimps-kick", + "five-grapes-live", "five-ravens-hammer", "fix-env-mutation", + "flat-ants-draw", + "flat-falcons-happen", "flat-plums-bake", "fluffy-pets-pump", "forty-kangaroos-pull", "four-gorillas-sell", + "fresh-dolphins-serve", "fresh-forks-punch", + "fresh-jeans-occur", "fresh-otters-chew", "fresh-swans-march", "friendly-otters-sneeze", @@ -163,15 +190,25 @@ "funny-mayflies-yawn", "fuzzy-actors-sneeze", "fuzzy-comics-listen", + "fuzzy-goats-mate", "fuzzy-lies-explain", "fuzzy-shoes-act", "gentle-gorillas-mate", + "gentle-hairs-study", "gentle-mayflies-call", "gentle-toys-smile", + "giant-eyes-relax", + "giant-ravens-reflect", "gold-planes-cheer", + "gold-weeks-turn", + "good-cycles-matter", + "good-masks-itch", + "good-steaks-serve", "good-students-sin", "good-swans-heal", + "good-trains-breathe", "gorgeous-carrots-reflect", + "gorgeous-gifts-drop", "great-hats-hide", "great-mangos-scream", "great-poets-attack", @@ -180,14 +217,18 @@ "green-grapes-rhyme", "green-olives-hope", "green-pots-collect", + "grumpy-apples-cheat", "happy-ads-happen", "happy-countries-dream", "happy-kangaroos-roll", "healthy-humans-burn", + "healthy-snakes-glow", "heavy-ducks-join", "heavy-ligers-lay", "heavy-pens-destroy", + "heavy-teachers-repeat", "hip-eagles-attend", + "hip-paws-fly", "hip-rocks-mix", "hot-colts-hear", "hot-singers-help", @@ -196,6 +237,7 @@ "hungry-frogs-eat", "hungry-frogs-raise", "hungry-hotels-hunt", + "hungry-nails-return", "hungry-pets-hear", "hungry-trains-compete", "hungry-zebras-applaud", @@ -207,10 +249,13 @@ "khaki-crabs-reply", "khaki-sheep-sparkle", "khaki-tomatoes-think", + "kind-icons-thank", "large-peas-eat", "large-ties-own", "late-brooms-suffer", "late-foxes-battle", + "late-socks-flash", + "lazy-beans-marry", "lazy-ducks-cheat", "lemon-actors-invite", "lemon-terms-hug", @@ -223,25 +268,39 @@ "little-tips-occur", "little-zebras-suffer", "long-dancers-wait", + "lovely-boxes-scream", "lovely-chicken-speak", "lovely-garlics-promise", "many-beans-exercise", + "many-jobs-explain", "many-toes-glow", "mean-files-talk", "mean-monkeys-sip", "mean-rice-deny", "metal-insects-tease", + "metal-masks-wonder", "mighty-rats-jog", + "mighty-spies-warn", + "modern-grapes-glow", "modern-kings-smoke", + "modern-trains-reflect", "moody-rings-remember", "moody-yaks-love", + "nasty-avocados-sort", + "nasty-cows-care", + "nasty-eggs-learn", "nasty-lobsters-shave", + "nasty-queens-play", "nasty-spiders-sparkle", "nasty-trains-beg", + "neat-frogs-shop", "neat-pillows-occur", "nervous-maps-fix", "new-pens-remain", + "new-rats-fly", "new-vans-obey", + "nice-dogs-flow", + "nice-jars-film", "nice-tips-walk", "nine-falcons-yell", "nine-jars-hammer", @@ -249,14 +308,19 @@ "nine-rivers-compete", "ninety-buses-bake", "ninety-cameras-wonder", + "ninety-seahorses-fetch", "odd-peaches-beam", "odd-tables-cross", "odd-vans-suffer", "old-moons-kiss", + "old-yaks-pull", "olive-candles-compare", "olive-ducks-carry", "olive-wombats-pretend", "orange-bags-stare", + "orange-clocks-type", + "perfect-bottles-ring", + "perfect-deers-work", "pink-deers-switch", "pink-mangos-tickle", "plenty-bears-run", @@ -265,9 +329,11 @@ "poor-bees-do", "poor-bobcats-sort", "poor-kids-lick", + "poor-walls-arrive", "popular-plums-begin", "pretty-bikes-appear", "pretty-doors-promise", + "pretty-houses-whisper", "pretty-jars-reflect", "pretty-plants-watch", "pretty-pugs-eat", @@ -276,27 +342,40 @@ "proud-dancers-doubt", "purple-dodos-burn", "purple-rocks-cover", + "quick-grapes-walk", "quick-toys-help", "quiet-glasses-double", + "quiet-peas-end", "rare-foxes-build", "rare-foxes-rest", + "rare-hairs-type", "real-apes-lick", + "real-bags-tickle", "real-fireants-smell", + "real-games-chew", + "real-kiwis-collect", + "red-berries-report", "red-frogs-cheer", "red-worms-help", "rich-days-call", "rich-frogs-walk", + "rotten-birds-promise", "rotten-boats-doubt", "rotten-peaches-doubt", "rotten-tomatoes-smoke", "rotten-walls-provide", "rude-badgers-roll", + "rude-beers-remain", "rude-bugs-run", + "rude-jobs-occur", "rude-rivers-hide", + "selfish-cups-provide", + "selfish-masks-jog", "selfish-rice-own", "selfish-wasps-applaud", "serious-clouds-cheer", "serious-numbers-teach", + "serious-ravens-stare", "serious-taxis-invent", "serious-trains-raise", "seven-beans-push", @@ -307,6 +386,8 @@ "seven-tools-type", "shaggy-experts-warn", "shaggy-singers-promise", + "shaggy-tips-crash", + "shaggy-toes-watch", "sharp-apes-tickle", "sharp-mangos-relate", "sharp-ties-kneel", @@ -315,14 +396,21 @@ "shiny-parents-know", "shy-hotels-allow", "shy-lamps-visit", + "shy-plants-serve", "silent-nails-taste", "silent-paws-decide", + "silly-brooms-thank", + "silver-laws-play", "silver-vans-march", "six-garlics-sin", "six-guests-sleep", "six-moose-know", "six-olives-rest", + "six-shrimps-attack", + "slimy-apples-film", "slimy-chefs-play", + "slimy-feet-fail", + "slimy-kangaroos-sort", "slow-donuts-study", "slow-laws-end", "slow-pants-buy", @@ -330,23 +418,32 @@ "slow-windows-ring", "small-deers-cover", "small-files-pump", + "small-flies-greet", "smart-keys-check", "smart-llamas-itch", + "smart-singers-remain", "smart-swans-drive", + "smooth-bikes-trade", "smooth-carpets-bathe", "smooth-mirrors-kneel", + "soft-forks-poke", "sour-bananas-remain", "sour-mails-cheer", + "sour-mails-clap", "sour-papayas-end", "sour-radios-boil", "sour-rockets-greet", + "sour-scissors-teach", + "sour-snails-admire", "sour-trains-remember", "spicy-bats-impress", "spicy-bears-kick", "spicy-mangos-brush", "spicy-shoes-matter", + "spotty-apples-call", "spotty-countries-appear", "spotty-dolls-divide", + "spotty-feet-share", "spotty-goats-confess", "spotty-swans-know", "stale-bats-prove", @@ -356,10 +453,14 @@ "strange-apricots-enjoy", "strange-camels-decide", "strange-flies-remember", + "strange-maps-compete", "strong-readers-notice", "strong-windows-wave", "stupid-pots-laugh", + "stupid-wasps-pump", + "sweet-flowers-smash", "sweet-lobsters-type", + "sweet-olives-rescue", "sweet-turtles-kiss", "swift-countries-applaud", "swift-geckos-joke", @@ -369,11 +470,15 @@ "tall-deers-obey", "tall-garlics-sit", "tall-rice-flash", + "tall-sheep-hammer", "tame-doors-hammer", "tasty-starfishes-swim", "ten-ligers-turn", "ten-masks-run", "ten-students-yell", + "ten-windows-serve", + "ten-zebras-speak", + "tender-ads-drop", "tender-buses-glow", "tender-comics-rescue", "tender-lizards-switch", @@ -383,11 +488,18 @@ "thick-parents-grab", "thin-items-knock", "thin-numbers-shave", + "thin-zoos-type", + "thirty-hornets-thank", + "three-fishes-applaud", "three-jars-fix", "three-pans-move", + "tidy-sheep-grin", "tiny-deers-kick", + "tiny-seals-flash", "tough-islands-sniff", + "tough-mirrors-peel", "tough-mugs-fail", + "tough-pugs-drive", "tough-suns-eat", "tough-suns-learn", "tricky-baboons-switch", @@ -419,15 +531,21 @@ "wet-trainers-vanish", "wicked-flowers-study", "wicked-snakes-march", + "wild-beans-help", "wild-candles-judge", "wild-cats-work", + "wild-hairs-hide", "wild-pugs-burn", + "wild-tables-enjoy", "wise-gorillas-act", + "wise-headers-respect", "witty-candles-pretend", "yellow-chefs-kick", "yellow-eels-sort", "yellow-ligers-brake", "young-dingos-march", - "young-dragons-run" + "young-dolls-yell", + "young-dragons-run", + "young-sheep-roll" ] } diff --git a/.changeset/pretty-houses-whisper.md b/.changeset/pretty-houses-whisper.md new file mode 100644 index 000000000000..66b52cbacfda --- /dev/null +++ b/.changeset/pretty-houses-whisper.md @@ -0,0 +1,6 @@ +--- +'@ai-sdk/provider-utils': patch +'@ai-sdk/svelte': patch +--- + +Add clear object function to StructuredObject diff --git a/.changeset/pretty-seals-type.md b/.changeset/pretty-seals-type.md new file mode 100644 index 000000000000..b33ecbee1ebb --- /dev/null +++ b/.changeset/pretty-seals-type.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/anthropic': patch +--- + +Add raw Anthropic usage information to provider metadata diff --git a/.changeset/quick-grapes-walk.md b/.changeset/quick-grapes-walk.md new file mode 100644 index 000000000000..b00718bf0d37 --- /dev/null +++ b/.changeset/quick-grapes-walk.md @@ -0,0 +1,6 @@ +--- +'@ai-sdk/openai': patch +'ai': patch +--- + +fix (provider/openai): multi-step reasoning with tool calls diff --git a/.changeset/quiet-peas-end.md b/.changeset/quiet-peas-end.md new file mode 100644 index 000000000000..99446cee803f --- /dev/null +++ b/.changeset/quiet-peas-end.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ui): transient data parts diff --git a/.changeset/rare-hairs-type.md b/.changeset/rare-hairs-type.md new file mode 100644 index 000000000000..57cd574dd986 --- /dev/null +++ b/.changeset/rare-hairs-type.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ui): tool part metadata support in ui messages diff --git a/.changeset/real-bags-tickle.md b/.changeset/real-bags-tickle.md new file mode 100644 index 000000000000..000d47cd6f6a --- /dev/null +++ b/.changeset/real-bags-tickle.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fixed date formatting for updated mcp protocol version diff --git a/.changeset/real-games-chew.md b/.changeset/real-games-chew.md new file mode 100644 index 000000000000..060f983be3eb --- /dev/null +++ b/.changeset/real-games-chew.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +feat (provider/gateway): update model ids to include vercel diff --git a/.changeset/real-kiwis-collect.md b/.changeset/real-kiwis-collect.md new file mode 100644 index 000000000000..5fe9e4486af4 --- /dev/null +++ b/.changeset/real-kiwis-collect.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix(ai-cli): fix bundling and improve authentication error handling diff --git a/.changeset/red-berries-report.md b/.changeset/red-berries-report.md new file mode 100644 index 000000000000..6637246a97ee --- /dev/null +++ b/.changeset/red-berries-report.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +feat (provider/openai): add support for encrypted_reasoning to responses api diff --git a/.changeset/rotten-birds-promise.md b/.changeset/rotten-birds-promise.md new file mode 100644 index 000000000000..4939c155b8a4 --- /dev/null +++ b/.changeset/rotten-birds-promise.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +update mcp protocol version diff --git a/.changeset/rude-beers-remain.md b/.changeset/rude-beers-remain.md new file mode 100644 index 000000000000..df256cf66734 --- /dev/null +++ b/.changeset/rude-beers-remain.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +Do not warn if empty text is the first part of a reasoning sequence diff --git a/.changeset/rude-jobs-occur.md b/.changeset/rude-jobs-occur.md new file mode 100644 index 000000000000..7c68452b994a --- /dev/null +++ b/.changeset/rude-jobs-occur.md @@ -0,0 +1,6 @@ +--- +'@ai-sdk/angular': patch +'@ai-sdk/react': patch +--- + +Add clear object function to React and Angular packages diff --git a/.changeset/selfish-cups-provide.md b/.changeset/selfish-cups-provide.md new file mode 100644 index 000000000000..b7eeb3b01d44 --- /dev/null +++ b/.changeset/selfish-cups-provide.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +fix (provider/openai): push first reasoning chunk in output item added event diff --git a/.changeset/selfish-masks-jog.md b/.changeset/selfish-masks-jog.md new file mode 100644 index 000000000000..80cdaa8cf339 --- /dev/null +++ b/.changeset/selfish-masks-jog.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +Expose provider metadata as an attribute on exported OTEL spans diff --git a/.changeset/serious-ravens-stare.md b/.changeset/serious-ravens-stare.md new file mode 100644 index 000000000000..3dfd8b66f474 --- /dev/null +++ b/.changeset/serious-ravens-stare.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat(ai): Record tool call errors on tool call spans recorded in `generateText` and `streamText`. diff --git a/.changeset/shaggy-tips-crash.md b/.changeset/shaggy-tips-crash.md new file mode 100644 index 000000000000..35e27dbd3bbf --- /dev/null +++ b/.changeset/shaggy-tips-crash.md @@ -0,0 +1,8 @@ +--- +'@ai-sdk/google': patch +--- + +feat (provider/google): Change to provider defined tools + +- Change the google search tool to be a provider defined tool +- Added new URL context tool as a provider defined tool diff --git a/.changeset/shaggy-toes-watch.md b/.changeset/shaggy-toes-watch.md new file mode 100644 index 000000000000..19f8336fe218 --- /dev/null +++ b/.changeset/shaggy-toes-watch.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/amazon-bedrock': patch +--- + +Fixes "Extra inputs are not permitted" error when using reasoning with Bedrock diff --git a/.changeset/shy-plants-serve.md b/.changeset/shy-plants-serve.md new file mode 100644 index 000000000000..72ff39635e39 --- /dev/null +++ b/.changeset/shy-plants-serve.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/anthropic': patch +--- + +feat(anthropic): add text_editor_20250429 tool for Claude 4 models diff --git a/.changeset/silly-brooms-thank.md b/.changeset/silly-brooms-thank.md new file mode 100644 index 000000000000..cd26a11b5de4 --- /dev/null +++ b/.changeset/silly-brooms-thank.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): add InferUITools helper diff --git a/.changeset/silver-laws-play.md b/.changeset/silver-laws-play.md new file mode 100644 index 000000000000..5c8331b8eeba --- /dev/null +++ b/.changeset/silver-laws-play.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ai): throw error for v1 models diff --git a/.changeset/six-shrimps-attack.md b/.changeset/six-shrimps-attack.md new file mode 100644 index 000000000000..085873b161ad --- /dev/null +++ b/.changeset/six-shrimps-attack.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/codemod': patch +--- + +fix(codemod): correct import-LanguageModelV2-from-provider-package direction and quote preservation diff --git a/.changeset/slimy-apples-film.md b/.changeset/slimy-apples-film.md new file mode 100644 index 000000000000..c0add8acff4a --- /dev/null +++ b/.changeset/slimy-apples-film.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/groq': patch +--- + +feat(provider/groq): add structured outputs support diff --git a/.changeset/slimy-feet-fail.md b/.changeset/slimy-feet-fail.md new file mode 100644 index 000000000000..cbc0ea5dcb96 --- /dev/null +++ b/.changeset/slimy-feet-fail.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +feat(provider/openai): add missing reasoning models to responses API diff --git a/.changeset/slimy-kangaroos-sort.md b/.changeset/slimy-kangaroos-sort.md new file mode 100644 index 000000000000..e4e6895b97bb --- /dev/null +++ b/.changeset/slimy-kangaroos-sort.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/xai': patch +--- + +feat (provider/xai): add grok-4 model id diff --git a/.changeset/small-flies-greet.md b/.changeset/small-flies-greet.md new file mode 100644 index 000000000000..b63d52860929 --- /dev/null +++ b/.changeset/small-flies-greet.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): make streamText toUIMessageStream async iterable diff --git a/.changeset/smart-singers-remain.md b/.changeset/smart-singers-remain.md new file mode 100644 index 000000000000..75fcbf2f3b32 --- /dev/null +++ b/.changeset/smart-singers-remain.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ui): text message metadata support in ui messages diff --git a/.changeset/smooth-bikes-trade.md b/.changeset/smooth-bikes-trade.md new file mode 100644 index 000000000000..f6037f76a43d --- /dev/null +++ b/.changeset/smooth-bikes-trade.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/anthropic': patch +--- + +fix (providers/anthropic): remove fine grained tool streaming beta diff --git a/.changeset/soft-forks-poke.md b/.changeset/soft-forks-poke.md new file mode 100644 index 000000000000..a3b2910cdbf5 --- /dev/null +++ b/.changeset/soft-forks-poke.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +chore (provider/openai): standardize on itemId in provider metadata diff --git a/.changeset/sour-mails-clap.md b/.changeset/sour-mails-clap.md new file mode 100644 index 000000000000..ceae54368301 --- /dev/null +++ b/.changeset/sour-mails-clap.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/provider-utils': patch +--- + +Adds support for async zod validators diff --git a/.changeset/sour-scissors-teach.md b/.changeset/sour-scissors-teach.md new file mode 100644 index 000000000000..dc6c765873e5 --- /dev/null +++ b/.changeset/sour-scissors-teach.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): add streamText onAbort callback diff --git a/.changeset/sour-snails-admire.md b/.changeset/sour-snails-admire.md new file mode 100644 index 000000000000..c9b4d86ea094 --- /dev/null +++ b/.changeset/sour-snails-admire.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +fix (provider/gateway): use zod v4 diff --git a/.changeset/spotty-apples-call.md b/.changeset/spotty-apples-call.md new file mode 100644 index 000000000000..911896c0d95c --- /dev/null +++ b/.changeset/spotty-apples-call.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix(ai): Unexpected reasoning-start event in extract reasoning middleware diff --git a/.changeset/spotty-feet-share.md b/.changeset/spotty-feet-share.md new file mode 100644 index 000000000000..d641eb3087dc --- /dev/null +++ b/.changeset/spotty-feet-share.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ai): use correct generateMessageId in streamText toUIMessageStream diff --git a/.changeset/strange-maps-compete.md b/.changeset/strange-maps-compete.md new file mode 100644 index 000000000000..aaed5da8f2c5 --- /dev/null +++ b/.changeset/strange-maps-compete.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +feat (provider/gateway): add devstral model id diff --git a/.changeset/stupid-wasps-pump.md b/.changeset/stupid-wasps-pump.md new file mode 100644 index 000000000000..b5de877dd14e --- /dev/null +++ b/.changeset/stupid-wasps-pump.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +feat (provider/gateway): Add AI Gateway provider options (ordering) diff --git a/.changeset/sweet-flowers-smash.md b/.changeset/sweet-flowers-smash.md new file mode 100644 index 000000000000..32c65c0ea79d --- /dev/null +++ b/.changeset/sweet-flowers-smash.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai': patch +--- + +fix (provider/openai): handle responses api errors diff --git a/.changeset/sweet-olives-rescue.md b/.changeset/sweet-olives-rescue.md new file mode 100644 index 000000000000..0afd35bf16c2 --- /dev/null +++ b/.changeset/sweet-olives-rescue.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai-compatible': patch +--- + +feat (provider/openai-compatible): allow providers that do not specify function type diff --git a/.changeset/swift-insects-think.md b/.changeset/swift-insects-think.md new file mode 100644 index 000000000000..7db194202f62 --- /dev/null +++ b/.changeset/swift-insects-think.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix(ai): add support for MCP protocol version 2025-06-18 diff --git a/.changeset/tall-sheep-hammer.md b/.changeset/tall-sheep-hammer.md new file mode 100644 index 000000000000..32a6f28abf76 --- /dev/null +++ b/.changeset/tall-sheep-hammer.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ui): call sendAutomaticallyWhen with updated messages diff --git a/.changeset/ten-windows-serve.md b/.changeset/ten-windows-serve.md new file mode 100644 index 000000000000..27e4710205b2 --- /dev/null +++ b/.changeset/ten-windows-serve.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ui): support tool names with dash diff --git a/.changeset/ten-zebras-speak.md b/.changeset/ten-zebras-speak.md new file mode 100644 index 000000000000..d7be0606ceae --- /dev/null +++ b/.changeset/ten-zebras-speak.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/codemod': patch +--- + +v5 - AI SDK 5.0 codemods package diff --git a/.changeset/tender-ads-drop.md b/.changeset/tender-ads-drop.md new file mode 100644 index 000000000000..b6f58c552a5d --- /dev/null +++ b/.changeset/tender-ads-drop.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ai): export SourceDocumentUIPart diff --git a/.changeset/thin-zoos-type.md b/.changeset/thin-zoos-type.md new file mode 100644 index 000000000000..bdde003c4728 --- /dev/null +++ b/.changeset/thin-zoos-type.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/react': patch +--- + +fix(react): stabilize setMessages in useChat diff --git a/.changeset/thirty-hornets-thank.md b/.changeset/thirty-hornets-thank.md new file mode 100644 index 000000000000..69d3ef336f2d --- /dev/null +++ b/.changeset/thirty-hornets-thank.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/google': patch +--- + +fix(google): grounding streaming sources diff --git a/.changeset/three-fishes-applaud.md b/.changeset/three-fishes-applaud.md new file mode 100644 index 000000000000..2956eee17821 --- /dev/null +++ b/.changeset/three-fishes-applaud.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/amazon-bedrock': patch +--- + +fix(provider/bedrock): include toolConfig when conversation contains tool content diff --git a/.changeset/tidy-sheep-grin.md b/.changeset/tidy-sheep-grin.md new file mode 100644 index 000000000000..00efe8eb73f8 --- /dev/null +++ b/.changeset/tidy-sheep-grin.md @@ -0,0 +1,39 @@ +--- +'@ai-sdk/openai-compatible': patch +'@ai-sdk/amazon-bedrock': patch +'@ai-sdk/provider-utils': patch +'@ai-sdk/google-vertex': patch +'@ai-sdk/assemblyai': patch +'@ai-sdk/elevenlabs': patch +'@ai-sdk/perplexity': patch +'@ai-sdk/togetherai': patch +'@ai-sdk/anthropic': patch +'@ai-sdk/deepinfra': patch +'@ai-sdk/fireworks': patch +'@ai-sdk/replicate': patch +'@ai-sdk/cerebras': patch +'@ai-sdk/deepgram': patch +'@ai-sdk/deepseek': patch +'@ai-sdk/angular': patch +'@ai-sdk/gateway': patch +'@ai-sdk/mistral': patch +'@ai-sdk/cohere': patch +'@ai-sdk/gladia': patch +'@ai-sdk/google': patch +'@ai-sdk/openai': patch +'@ai-sdk/svelte': patch +'@ai-sdk/vercel': patch +'@ai-sdk/azure': patch +'@ai-sdk/react': patch +'@ai-sdk/revai': patch +'@ai-sdk/groq': patch +'@ai-sdk/hume': patch +'@ai-sdk/lmnt': patch +'@ai-sdk/luma': patch +'@ai-sdk/fal': patch +'@ai-sdk/rsc': patch +'@ai-sdk/xai': patch +'ai': patch +--- + +fix: improve Zod compatibility diff --git a/.changeset/tiny-seals-flash.md b/.changeset/tiny-seals-flash.md new file mode 100644 index 000000000000..534f336fdf81 --- /dev/null +++ b/.changeset/tiny-seals-flash.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +feat (ui): allow asynchronous onFinish in createUIMessageStream diff --git a/.changeset/tough-mirrors-peel.md b/.changeset/tough-mirrors-peel.md new file mode 100644 index 000000000000..40a362be3d50 --- /dev/null +++ b/.changeset/tough-mirrors-peel.md @@ -0,0 +1,5 @@ +--- +'ai': patch +--- + +fix (ui): do not send changing assistant message ids when onFinish is provided diff --git a/.changeset/tough-pugs-drive.md b/.changeset/tough-pugs-drive.md new file mode 100644 index 000000000000..09d554f1e361 --- /dev/null +++ b/.changeset/tough-pugs-drive.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/gateway': patch +--- + +fix (provider/gateway): remove unnecessary 'x-' prefix on auth method header diff --git a/.changeset/wild-beans-help.md b/.changeset/wild-beans-help.md new file mode 100644 index 000000000000..11ce4611e0c3 --- /dev/null +++ b/.changeset/wild-beans-help.md @@ -0,0 +1,6 @@ +--- +'@ai-sdk/anthropic': patch +'ai': patch +--- + +feat (provider/anthropic): cache control for tools diff --git a/.changeset/wild-hairs-hide.md b/.changeset/wild-hairs-hide.md new file mode 100644 index 000000000000..9a33702fcdf7 --- /dev/null +++ b/.changeset/wild-hairs-hide.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/amazon-bedrock': patch +--- + +Add style parameter support for Amazon Bedrock Nova Canvas image generation diff --git a/.changeset/wild-tables-enjoy.md b/.changeset/wild-tables-enjoy.md new file mode 100644 index 000000000000..24aecce46bd8 --- /dev/null +++ b/.changeset/wild-tables-enjoy.md @@ -0,0 +1,6 @@ +--- +'@ai-sdk/provider-utils': patch +'ai': patch +--- + +feat (ai): add isAborted to onFinish callback for ui message streams diff --git a/.changeset/wise-headers-respect.md b/.changeset/wise-headers-respect.md new file mode 100644 index 000000000000..214cb6b414f9 --- /dev/null +++ b/.changeset/wise-headers-respect.md @@ -0,0 +1,7 @@ +--- +'ai': patch +--- + +feat: automatically respect rate limit headers in retry logic + +Added automatic support for respecting rate limit headers (`retry-after-ms` and `retry-after`) in the SDK's retry logic. When these headers are present and contain reasonable values (0-60 seconds), the retry mechanism will use the server-specified delay instead of exponential backoff. This matches the behavior of Anthropic and OpenAI client SDKs and improves rate limit handling without requiring any API changes. diff --git a/.changeset/young-dolls-yell.md b/.changeset/young-dolls-yell.md new file mode 100644 index 000000000000..27f316164886 --- /dev/null +++ b/.changeset/young-dolls-yell.md @@ -0,0 +1,5 @@ +--- +'ai': major +--- + +chore (ai): rename UIMessageStreamPart to UIMessageChunk diff --git a/.changeset/young-sheep-roll.md b/.changeset/young-sheep-roll.md new file mode 100644 index 000000000000..7717b14fd2c7 --- /dev/null +++ b/.changeset/young-sheep-roll.md @@ -0,0 +1,5 @@ +--- +'@ai-sdk/openai-compatible': patch +--- + +fix (provider/openai-incompatible): support empty tool calls diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2b5daebb9a97..a5c217d078fa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -79,22 +79,16 @@ We greatly appreciate your pull requests. Here are the steps to submit them: - **Please do not use minor or major changesets**, we'll let you know when you need to use a different changeset type than patch. - You don't need to select any of the `examples/*` packages, as they are not released. -3. **Commit Your Changes**: Ensure your commits are succinct and clear, detailing what modifications have been made and the reasons behind them. We don't require a specific commit message format, but please be descriptive. -4. **Fix prettier issues**: Run `pnpm prettier-fix` to fix any formatting issues in your code. -5. **Push the Changes to Your GitHub Repository**: After committing your changes, push them to your GitHub repository. -6. **Open a Pull Request**: Propose your changes for review. Furnish a lucid title and description of your contributions. Make sure to link any relevant issues your PR resolves. We use the following PR title format: +3. **Add a codemod**: If the change introduces a deprecation or a breaking change, add a codemod if possible. See [how to contribute codemods](contributing/codemods.md) +4. **Commit Your Changes**: Ensure your commits are succinct and clear, detailing what modifications have been made and the reasons behind them. We don't require a specific commit message format, but please be descriptive. +5. **Fix prettier issues**: Run `pnpm prettier-fix` to fix any formatting issues in your code. +6. **Push the Changes to Your GitHub Repository**: After committing your changes, push them to your GitHub repository. +7. **Open a Pull Request**: Propose your changes for review. Furnish a lucid title and description of your contributions. Make sure to link any relevant issues your PR resolves. We use the following PR title format: - `fix(package-name): description` or - `feat(package-name): description` or - `chore(package-name): description` etc. -7. **Respond to Feedback**: Stay receptive to and address any feedback or alteration requests from the project maintainers. - -### Fixing Prettier Issues - -> [!TIP] -> Run `pnpm prettier-fix` before opening a pull request. - -If you encounter any prettier issues, you can fix them by running `pnpm prettier-fix`. This command will automatically fix any formatting issues in your code. +8. **Respond to Feedback**: Stay receptive to and address any feedback or alteration requests from the project maintainers. Thank you for contributing to the AI SDK! Your efforts help us improve the project for everyone. diff --git a/content/docs/02-guides/01-rag-chatbot.mdx b/content/cookbook/00-guides/01-rag-chatbot.mdx similarity index 78% rename from content/docs/02-guides/01-rag-chatbot.mdx rename to content/cookbook/00-guides/01-rag-chatbot.mdx index 8c191b235bd1..9b640a29cc9d 100644 --- a/content/docs/02-guides/01-rag-chatbot.mdx +++ b/content/cookbook/00-guides/01-rag-chatbot.mdx @@ -1,11 +1,22 @@ --- -title: RAG Chatbot -description: Learn how to build a RAG Chatbot with the AI SDK and Next.js +title: RAG Agent +description: Learn how to build a RAG Agent with the AI SDK and Next.js +tags: + [ + 'rag', + 'chatbot', + 'next', + 'embeddings', + 'database', + 'retrieval', + 'memory', + 'agent', + ] --- -# RAG Chatbot Guide +# RAG Agent Guide -In this guide, you will learn how to build a retrieval-augmented generation (RAG) chatbot application. +In this guide, you will learn how to build a retrieval-augmented generation (RAG) agent.