What's Changed
- Sync Base Brance by @pushpak1300 in #898
- Sync 0.x by @pushpak1300 in #907
- Sync 0.x by @pushpak1300 in #916
- Sync 0.x by @pushpak1300 in #922
- Add withProviderOptions support to the image builder by @pushpak1300 in #899
- Add withProviderOptions support to the audio builder by @pushpak1300 in #900
- Add withProviderOptions support to the reranking builder by @pushpak1300 in #901
- Add an ai_sdk_extra_headers provider option for custom HTTP headers by @pushpak1300 in #904
- Add AG-UI protocol streaming by @pushpak1300 in #913
- Rename Agent User Interaction protocol by @pushpak1300 in #948
- Allow runtime tool overrides via withTools by @pushpak1300 in #956
- [1.x] Stop proxies buffering native streamed responses by @pascalbaljet in #960
- [1.x] Add a continueOrStart() shortcut by @pascalbaljet in #962
- [1.x] Report the conversation rows a turn wrote by @pascalbaljet in #961
- Scope continueLastConversation to the agent by @pushpak1300 in #972
- [1.x] Report the persisted message id on RUN_FINISHED by @pascalbaljet in #976
- [1.x] Report how a tool call ended on TOOL_CALL_RESULT by @pascalbaljet in #977
- Support hosted code execution as a provider tool by @pushpak1300 in #970
- Exclude cached tokens from the reported prompt token count on the Groq and OpenAI-compatible providers by @sulimanbenhalim in #909
- Accept every storable image type in OpenAI image edits by @saifulferoz in #893
- Fix Gemini file import operation handling by @drewmt in #821
- [1.x] Report the prompt's stored row on RUN_FINISHED by @pascalbaljet in #989
- [1.x] Report a step's text as one message, not one per content block by @pascalbaljet in #988
- [0.x] Combine streamed text by step rather than by message ID by @pascalbaljet in #987
- [1.x] Persist the reasoning a turn produced by @pascalbaljet in #975
- [1.x] Report why a resume was rejected on RUN_ERROR by @pascalbaljet in #978
- [0.x] Add conversation pagination by @pascalbaljet in #990
- [0.x] Persist the sources a streamed answer cited by @pascalbaljet in #991
- Simplify provider options and stream protocol plumbing by @pushpak1300 in #963
- Convert AG-UI run input into agent chat input by @pushpak1300 in #964
- [0.x] Expose the tool calls a paused conversation is waiting on by @pascalbaljet in #992
- [0.x] Expose whether a conversation belongs to a participant by @pascalbaljet in #993
- Add AG-UI approval interrupts and snapshot hydration to streams by @pushpak1300 in #965
- [1.x] Wrap each generation step in agent middleware by @pushpak1300 in #979
- [1.x] Thread request timeouts through reranking, image, and transcription by @pushpak1300 in #994
- Stream sub-agent activity by default by @gracjankubicki in #802
- Read Cohere Bedrock embeddings input token count from response header by @serpentblade in #914
- Read the cumulative usage reported on Anthropic message_delta by @goatrenterguy in #996
- Fix xAI and OpenRouter dropping filename for unnamed documents by @yognevoy in #1001
- Add OpenRouter reranking support by @ilogus in #999
- Unescape slashes when encoding structured MCP tool output by @yognevoy in #997
- feat: add audio input for OpenRouter by @davidafsoty in #998
- Make the AWS SDK an optional dependency of the Bedrock provider by @pushpak1300 in #1003
- [1.x] Store a user message before a provider is chosen by @pascalbaljet in #1005
- Replay earlier tool steps ahead of a paused step's provider blocks by @pushpak1300 in #995
- fix(anthropic): report thinking tokens in usage by @DGarbs51 in #1006
- Hoist every top level Gemini request field out of generationConfig by @pushpak1300 in #1015
- Use PHP_EOL for multi-line string assertion in test by @GeorgeBetts in #1016
- Add coverage for cached and reasoning tokens in xAI response usage by @dfinchenko in #1008
- Add coverage for the cache token counters on Anthropic responses by @dfinchenko in #1009
- Add support for inline document attachment for Mistral Provider by @GeorgeBetts in #1017
- [1.x] Return all generated images from xAI when
nis greater than one by @mssayari in #1019 - Populate response reasoning on non-streamed prompts by @pushpak1300 in #1020
- Report inclusive input and output tokens on the usage value object by @pushpak1300 in #1021
- Add TypeSafe AI classification by @pushpak1300 in #1010
- Remove the ai_sdk_extra_headers provider option by @pushpak1300 in #1026
- Preserve Gemini thought signatures across persisted tool conversations by @sulimanbenhalim in #837
- [1.x] Report usage on audio responses by @pushpak1300 in #1029
- [1.x] Report embeddings usage as a usage object by @pushpak1300 in #1028
- Retain OpenAI replay blocks regardless of the store setting by @pushpak1300 in #1034
- [1.x] Split text-only usage counts into a TextUsage subclass by @pushpak1300 in #1030
- [1.x] Report image token details on image responses by @pushpak1300 in #1024
- [1.x] Report the transcribed audio duration on transcription responses by @pushpak1300 in #1025
- [1.x] Report usage on reranking responses by @pushpak1300 in #1027
- Store conversation turns as steps by @pushpak1300 in #1035
- Replay provider reasoning state only within the open turn by @pushpak1300 in #1036
- Persist provider-hosted tool calls on each step by @pushpak1300 in #1032
- Add OpenRouter file gateway by @bram-pkg in #1043
- Resolve approval results without matching the paused turn's participant by @pushpak1300 in #1046
- Fold an approved resume into the turn it paused on by @pushpak1300 in #1045
- Add OpenRouter classification gateway by @pushpak1300 in #1044
- Replace the turn's approval timestamp with a message status column by @pushpak1300 in #1050
- Keep an OpenAI function call item id only beside its reasoning by @pushpak1300 in #1052
- Persist the steps a turn completed before it failed by @pushpak1300 in #1051
- Add a decide string macro for boolean classification by @pushpak1300 in #1049
- Move Gemini to the Interactions API by @pushpak1300 in #1056
- Default OpenAI to GPT-6 and Anthropic smartest to Opus 5.5 by @pushpak1300 in #1058
- Add the 1.0 upgrade guide by @pushpak1300 in #1002
New Contributors
- @pascalbaljet made their first contribution in #960
- @saifulferoz made their first contribution in #893
- @goatrenterguy made their first contribution in #996
- @yognevoy made their first contribution in #1001
- @ilogus made their first contribution in #999
- @davidafsoty made their first contribution in #998
- @GeorgeBetts made their first contribution in #1016
- @mssayari made their first contribution in #1019
- @bram-pkg made their first contribution in #1043
Full Changelog: v0.11.2...v1.0.0