chore(deps): update dependency @ai-sdk/openai-compatible to v3 - #1899
renovate[bot] wants to merge 1 commit into
Conversation
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Review statusThis PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging. Current step: Fix the failing required CI checks; awaiting-maintainer requires CI and automated review completion. Review-state labels are managed by this workflow; do not edit them manually. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This PR contains the following updates:
2.0.56→3.0.61Release Notes
vercel/ai (@ai-sdk/openai-compatible)
v3.0.61Compare Source
Patch Changes
8c65988]527a163]v3.0.60Compare Source
Patch Changes
ede5b89: chore: migrate package builds from tsup to tsdownede5b89]v3.0.59Compare Source
Patch Changes
c2511c1: fix: use standards-compliant User-Agent headerc2511c1]v3.0.58Compare Source
Patch Changes
e3605f6: Fix streamed tool calls with missing, blank, or repeated IDs.525efc5: feat(provider): advertise image model file and mask input supportUse confirmed model IDs for capability declarations so unrecognized model names
remain unknown. Include Together AI FLUX.2 Pro and Flex single-image editing, and
allow asynchronous capability lookups and middleware overrides to resolve to
unknown.
Advertise QuiverAI Arrow 2 and Arrow 2 Telos file-input support, and mark Together
AI Gemini image inputs unsupported by the current single-image request mapping.
Updated dependencies [
e3605f6]Updated dependencies [
525efc5]v3.0.57Compare Source
Patch Changes
af9597b]bc49f78]v3.0.55Compare Source
Patch Changes
fe07867]a4b0940]771e74b]v3.0.54Compare Source
Patch Changes
ffb0e76]v3.0.53Compare Source
Patch Changes
2973485]a4db5ea]2937ea2]v3.0.52Compare Source
Patch Changes
0455398]v3.0.51Compare Source
Patch Changes
215b25e]d4d96bf]a7dd893]3456e2c]c4e76de]v3.0.50Compare Source
Patch Changes
11b4c2d: fix(openai-compatible): extract streaming response metadata after placeholder chunks91c2128]2cd80b3]d06bb2a]123d71f]2fa5e0e]v3.0.49Compare Source
Patch Changes
5c0054d]39535af]v3.0.48Compare Source
Patch Changes
5ec21a6]7469a3b]813bb36]c43e4b7]v3.0.47Compare Source
Patch Changes
9942196]v3.0.46Compare Source
Patch Changes
ccb8952: fix(openai): return an AI SDK error for empty chat completion choices912fb01]v3.0.45Compare Source
Patch Changes
a4ba394]45099da]9e1d1b2]a495511]v3.0.44Compare Source
Patch Changes
e5a22f0: fix(openai-compatible): keep reasoning streams contiguous when deltas include empty tool call arraysv3.0.43Compare Source
Patch Changes
6bcc0f8]v3.0.42Compare Source
Patch Changes
5190b67]v3.0.41Compare Source
Patch Changes
23eb659: Support text and thinking parts in array-based chat completion content while ignoring unknown part types.aa45741]v3.0.40Compare Source
Patch Changes
90192f1]v3.0.39Compare Source
Patch Changes
3e125ba]v3.0.37Compare Source
Patch Changes
591d25b]v3.0.36Compare Source
Patch Changes
ece5bdb: fix: sendreasoning_effort: "none"when top-level reasoning is disabledv3.0.35Compare Source
Patch Changes
7dd9ec3: feat(openai-compatible): convert video file parts tovideo_urlcontent partsb74971f]v3.0.34Compare Source
Patch Changes
99989ba: feat(provider/openai-compatible): report image generation token usagev3.0.33Compare Source
Patch Changes
d68139c: fix(openai-compatible): report truncated chat streams as errorsv3.0.32Compare Source
Patch Changes
e6087c9: fix: handle empty string tool call IDs2f77de8: Preserve Gemini thought signatures for custom OpenAI-compatible provider namese6087c9]v3.0.31Patch Changes
86892f3: fix(openai-compatible): preserve unmapped usage fields inusage.rawusage.rawis specified as usage "in the shape that the provider returns",and the chat model already parsed the usage object loosely so that extra
top-level fields survived. The nested
prompt_tokens_detailsandcompletion_tokens_detailsobjects were still strict, so anything a providerreported inside them was dropped — which is where providers put their most
distinguishing detail. The existing "should preserve extra usage fields"
fixture was itself losing
audio_tokens,image_tokensandtext_tokensthis way.
Both nested objects are now parsed loosely, as is the completion model's usage
schema, which was strict throughout despite feeding the same
rawfield.Only
usage.rawchanges. The mapped token counts are unaffected.v3.0.30Patch Changes
7fbfc6d]v3.0.29Compare Source
Patch Changes
401a4ba]v3.0.28Compare Source
Patch Changes
83e6510: fix(provider/openai-compatible): clampoutputTokens.textat 0 when a provider reportscompletion_tokens_details.reasoning_tokensgreater thancompletion_tokens(observed with Baseten serving reasoning models that hit the length stop mid-reasoning). The text share of completion tokens can never be negative;totalandreasoningremain as reported by the provider.v3.0.27Compare Source
Patch Changes
ad6a650]81cd026]v3.0.26Compare Source
Patch Changes
1937bef]v3.0.25Compare Source
Patch Changes
3469d0c]v3.0.24Compare Source
Patch Changes
2b60826]v3.0.23Compare Source
Patch Changes
1bec07d: Fix streamed tool calls with non-zero, non-contiguous, reused, or missing indexes.1bec07d]v3.0.22Compare Source
Patch Changes
160ccdb]v3.0.21Compare Source
Patch Changes
79e133c]v3.0.20Compare Source
Patch Changes
5fc7da5: chore: centralize empty language model usage creation in provider utilities.93b2acd: chore: centralize response metadata conversion5fc7da5]93b2acd]v3.0.19Compare Source
Patch Changes
fa95504]v3.0.18Compare Source
Patch Changes
d8210b6]b192878]v3.0.17Compare Source
Patch Changes
1659cd5]6a5bdff]v3.0.16Compare Source
Patch Changes
0c464d9]c49380c]v3.0.15Compare Source
Patch Changes
1e2f324]v3.0.14Compare Source
Patch Changes
02ffdcb]76cb673]v3.0.13Compare Source
Patch Changes
8b52503: feat(openai-compatible): add an extensibleproviderOptionstype for image model requests and stop forcingresponse_formatv3.0.12Compare Source
Patch Changes
cd06458]v3.0.11Compare Source
Patch Changes
0b61267: Preserve structured error data from chat completion SSE streams.v3.0.10Compare Source
Patch Changes
31c7be8]v3.0.9Compare Source
Patch Changes
4be62c1]7805e4a]cd12954]v3.0.7Compare Source
Patch Changes
0f93c57]v3.0.6Compare Source
Patch Changes
ac306ed: FixStreamingToolCallTrackerfinalizing streaming tool calls on parsable partial JSON. Tool calls now only finalize during stream flush, restoring the behavior of #13137: a parsable argument buffer can still be the prefix of a longer argument string, so finalizing early could act on truncated tool inputs.ac306ed]v3.0.5Compare Source
Patch Changes
5c5c0f5: Add experimental streaming transcription support for transcription models, including OpenAIgpt-realtime-whisperand xAI WebSocket STT.5c5c0f5]v3.0.4Compare Source
Patch Changes
c6f5e62]v3.0.3Compare Source
Patch Changes
8c616f0]v3.0.2Compare Source
Patch Changes
0274f34]v3.0.1Compare Source
Patch Changes
6a436e3]v3.0.0Compare Source
Major Changes
ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only ("type": "module"). Consumers usingrequire()must switch to ESMimportsyntax.c29a26f: feat(provider): add support for provider references and uploading files as supported per provider8359612: Start v7 pre-release04e9009: chore: make provider implementations code patterns more consistent, including renaming certain exported symbolsFor all externally exported symbols that were renamed, the old names continue to work via deprecated aliases.
Patch Changes
ab81968: fix(openai-compatible): buffer tool call deltas until function.name arrives38fc777: Add AI Gateway hint to provider READMEs74d520f: feat: migrate providers to support new top-levelreasoningparametere59c955: feat(vertex): add grok models to vertex provider816ff67: fix(openai-compatible): honor camelCase providerOptions key in chat and completion models9f1e1ba: fix: accept empty stringrolein streaming delta chunks from OpenAI-compatible providers45b3d76: fix(security): prevent streaming tool calls from finalizing on parsable partial JSONStreaming tool call arguments were finalized using
isParsableJson()as a heuristic for completion. If partial accumulated JSON happened to be valid JSON before all chunks arrived, the tool call would be executed with incomplete arguments. Tool call finalization now only occurs inflush()after the stream is fully consumed.9f0e36c: trigger release for all packages after provenance setup58a2ad7: fix: more precise default message for tool execution denial8f3e1da: chore(openai-compat): update v3 specs to v4f7295cb: revert incorrect fix #13172008271d: feat(openai-compatible): emit warning when using kebab-case instead of camelCase7fc6bd6: Raise minimum supported Node.js version to 22. Supported versions: 22, 24, and 26.f807e45: Extract sharedStreamingToolCallTrackerclass into@ai-sdk/provider-utilsto deduplicate streaming tool call handling across OpenAI-compatible providers. Also adds missinggenerateId()fallback fortoolCallIdin Alibaba'sdoGeneratepath and ensures all providers finalize unfinished tool calls during stream flush.0c4c275: trigger initial canary release6fd51c0: fix(provider): preserve error type prefix in getErrorMessagecd9c311: fix(openai, openai-compatible): only send null content for assistant messages with tool calls9bd6512: feat(provider): change file part data property to be tagged with a type and remove the image part type258c093: chore: ensure consistent import handling and avoid import duplicates or cyclesb8396f0: trigger initial beta releasebfb756d: patch - send content: null instead of empty string for tool-only assistant messages90e2d8a: chore: fix unused vars not being flagged by our lint toolingb3976a2: Add workflow serialization support to all provider models.@ai-sdk/provider-utils: NewserializeModel()helper that extracts only serializable properties from a model instance, filtering out functions and objects containing functions. Third-party provider authors can use this to add workflow support to their own models.All providers:
headersis now optional in provider config types. This is non-breaking — existing code that passesheaderscontinues to work. Custom provider implementations that construct model configs manually can now omitheaders, which is useful when models are deserialized from a workflow step boundary where auth is provided separately.All provider model classes now include
WORKFLOW_SERIALIZEandWORKFLOW_DESERIALIZEstatic methods, enabling them to cross workflow step boundaries without serialization errors.v2.0.81Compare Source
Patch Changes
a9cea74]a9cea74]a9cea74]v2.0.80Compare Source
Patch Changes
29dc427: fix(provider-utils): preserve streamed tool calls with unreliable IDs and indices29dc427]v2.0.79Compare Source
Patch Changes
3983fea]v2.0.78Compare Source
Patch Changes
069a945]d1a36d2]f7f36d2]v2.0.77Compare Source
Patch Changes
da2e17b]v2.0.76Compare Source
Patch Changes
82e18b0]v2.0.75Compare Source
Patch Changes
f3c1980: fix(openai-compatible): keep reasoning streams contiguous when deltas include empty tool call arrays1336501: fix(openai): return an AI SDK error for empty chat completion choices1a4dbb1]v2.0.74Patch Changes
6d44462: Support text and thinking parts in array-based chat completion content while ignoring unknown part types.cc23556]v2.0.73Patch Changes
9a521b9]v2.0.72Compare Source
Patch Changes
5642849]v2.0.71Compare Source
Patch Changes
2d172fb]v2.0.70Compare Source
Patch Changes
c79dd10: fix(openai-compatible): report truncated chat streams as errorsv2.0.69Compare Source
Patch Changes
7440d89: fix(openai-compatible): preserve unmapped usage fields inusage.rawusage.rawis specified as usage "in the shape that the provider returns",and the chat model already parsed the usage object loosely so that extra
top-level fields survived. The nested
prompt_tokens_detailsandcompletion_tokens_detailsobjects were still strict, so anything a providerreported inside them was dropped — which is where providers put their most
distinguishing detail. The existing "should preserve extra usage fields"
fixture was itself losing
audio_tokens,image_tokensandtext_tokensthis way.
Both nested objects are now parsed loosely, as is the completion model's usage
schema, which was strict throughout despite feeding the same
rawfield.Only
usage.rawchanges. The mapped token counts are unaffected.v2.0.68Compare Source
Patch Changes
31205a4]v2.0.67Compare Source
Patch Changes
b2a4d5a]v2.0.66Compare Source
Patch Changes
de18066: fix(provider/openai-compatible): clampoutputTokens.textat 0 when a provider reportscompletion_tokens_details.reasoning_tokensgreater thancompletion_tokens(observed with Baseten serving reasoning models that hit the length stop mid-reasoning). The text share of completion tokens can never be negative;totalandreasoningremain as reported by the provider.2171d15]v2.0.65Compare Source
Patch Changes
dab0a08]v2.0.64Compare Source
Patch Changes
ee2bf30]v2.0.63Compare Source
Patch Changes
9ecdefe]v2.0.62Compare Source
Patch Changes
19093fd]v2.0.61Compare Source
Patch Changes
94fda5c: Preserve structured error data from chat completion SSE streams.v2.0.60Compare Source
Patch Changes
06fb54c]v2.0.59Compare Source
Patch Changes
e1af05f]v2.0.58Compare Source
Patch Changes
4d4e176: fix(openai-compatible): buffer tool call deltas until function.name arrivesbef93ae: fix(security): prevent streaming tool calls from finalizing on parsable partial JSONStreaming tool call arguments were finalized using
isParsableJson()as a heuristic for completion. If partial accumulated JSON happened to be valid JSON before all chunks arrived, the tool call would be executed with incomplete arguments. Tool call finalization now only occurs inflush()after the stream is fully consumed.327642b: fix: more precise default message for tool execution denialUpdated dependencies [
d559de9]v2.0.57Compare Source
Patch Changes
0952964]Configuration
📅 Schedule: (in timezone America/Los_Angeles)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.