Skip to content

chore(deps): update ai sdk core and providers - #2364

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ai-sdk-core-and-providers
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ai-sdk-core-and-providers

Conversation

@renovate

@renovate renovate Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@ai-sdk/openai-compatible@2 (source) 2.0.90 → 2.0.91 age confidence
ai (source) 7.0.162 → 7.0.164 age confidence

Release Notes

vercel/ai (@​ai-sdk/openai-compatible@2)

v2.0.91

Compare Source

Patch Changes
  • 14c196a: Avoid empty structured-output answers from Baseten's DeepSeek V4 Pro 0813 when reasoning is enabled. Fall back to JSON prompt instructions while keeping reasoning and SDK output validation, and report the fallback through request transformation warnings.

  • 98eb47b: fix(openai,openai-compatible): surface refusal logprobs and openai-compatible refusals

    @ai-sdk/openai: Chat Completions responses that contain a refusal can return logprobs.refusal next to logprobs.content. The provider previously read only logprobs.content, so providerMetadata.openai.logprobs was empty or missing for refusals. Refusal logprobs are now included in emission order (content logprobs followed by refusal logprobs) in both generateText and streamText.

    Streaming logprobs are now collected across all chunks in streamText: previously only the logprobs of the last streamed chunk were reported. This applies to content logprobs as well, so providerMetadata.openai.logprobs now contains the logprobs of every streamed token instead of only the last chunk's tokens. Explicitly empty logprobs (logprobs: { content: [], refusal: null }) are reported as an empty array, as before.

    A refusal that arrives in the same streamed chunk as the finish_reason is now taken into account: such a response is reported with a content-filter finish reason instead of stop.

    @ai-sdk/openai-compatible: Chat Completions responses that carry message.refusal (non-streaming) or delta.refusal (streaming) were ignored, so providers such as OpenAI served through createOpenAICompatible lost the refusal text and reported an empty stop response. Refusals are now returned as text content after any content text, and a non-empty refusal with a stop finish reason is reported as a content-filter finish reason. This also applies when the refusal and the finish reason arrive in the same streamed chunk. Non-string refusals (for example refusal: false from servers that use booleans) are ignored instead of failing the response.

vercel/ai (ai)

v7.0.164

Compare Source

Patch Changes

v7.0.163

Compare Source

Patch Changes
  • 5d18351: fix(ai): detect downloaded audio types from bytes when servers return a generic or non-audio content type such as application/octet-stream

  • 8da48db: Respect recordInputs and recordOutputs when delivering telemetry events to integrations and the ai:telemetry channel. Filter nested content and omit raw span results when content recording is disabled, while preserving application results.

  • fd7e8a7: Preserve the order of text and complete function calls in streamed Google responses, including standalone thought signatures on empty text or reasoning parts.

    Keep provider metadata on empty text parts when converting results to response messages so it can be passed back in subsequent requests.

    Omit foreign-provider empty signature text when replaying history through Anthropic or Bedrock, preserving Bedrock’s existing native reasoning-history handling.

  • 36802d4: Support native URL transcription with an optional provider capability, keeping existing file-generation contracts unchanged. Groq sends HTTP(S) audio URLs through its url parameter without downloading and re-uploading them, avoiding the attachment upload limit. Supplying a custom download function retains local download behavior.

    For telemetry integrations, TranscriptionEndEvent.audio.byteLength and audio.mediaType can now be undefined when a provider fetches the audio URL natively. Check for missing values before using them as a number or string. Downloaded and inline audio continue to report their metadata; streaming transcription metadata is unchanged.

    Strip media fragments before sending URLs to Groq. If Groq rejects a redirect, fall back to the existing secure local downloader and file upload rather than failing previously working URL inputs. Other provider errors are preserved.

  • 933dae3: fix (ai): download deprecated file-url and image-url tool result content

    Tool result content parts that use the deprecated file-url and image-url
    types were converted to file parts with { type: 'url' } data, but they were
    never passed to the download function. When the model does not support the URL,
    the provider received a bare URL instead of the file contents, even though the
    replacement file part with { type: 'url' } data was downloaded and inlined.

    Downloaded legacy URL parts now use the same media type normalization as file
    parts, resolving generic types from the response header or image bytes.
    Legacy base64 data URLs also normalize to inline data with the media type from
    their data URL, matching replacement file parts.

  • e0143b0: feat(ai): support provider-owned realtime transports

    Add an optional createTransport interface and provider connection capability.

  • 934100c: Report the actual OpenAI Chat HTTP endpoint (also used by Azure Chat and Bedrock Mantle Chat) through optional request metadata and model-call end events. Record its host and port on OpenTelemetry chat spans without exposing URL credentials, paths, queries, or fragments. Expose only the sanitized HTTP origin in text and object generation results and step/finish callbacks. Providers that do not report an endpoint leave these attributes unset.

  • c389374: fix(ai): infer union output types when passing a union of schemas to Output.object and Output.array

    Previously, passing a schema whose type is a union of schemas (e.g. a schema selected from a map at runtime) failed to type-check because the output type was inferred from the first union member only. The output type is now inferred as the union of the schemas' output types.

  • 892af4d: feat (ai): re-export realtime server-connection and usage types

    Adds Experimental_RealtimeServerConnection, Experimental_RealtimeSessionIntent, and Experimental_RealtimeUsage aliases for the new experimental RealtimeModelV4 server-side spec types.

  • 1a1da8d: stream steering messages to the ui and keep them in converted messages

  • 41465fd: Expose optional transcription word timings separately from segments and accept shared timestampGranularities. Explicit provider timing settings take precedence. OpenAI now sends timestamp_granularities only with verbose_json and warns when a requested timing is unavailable or excluded.

  • 9754014: Add typed streaming heartbeat parts. Anthropic emits them only with includePings: true (disabled by default), without requiring raw chunks. Core forwards pings through stream retries without storing them as generated content or sending them to UI message streams. Consumers with exhaustive stream-part switches must handle the new ping union variant when upgrading, even when the opt-in is disabled. Typed pings do not flush partial words during stream smoothing.

  • 2e44144: Represent videos delivered directly to caller-managed storage with an explicit uploaded outcome. Video generation reports uploadedVideos without downloading or synthesizing video bytes; access video only when videos is nonempty.

  • Updated dependencies [722d4a9]

  • Updated dependencies [acea2b5]

  • Updated dependencies [89aff56]

  • Updated dependencies [41465fd]

  • Updated dependencies [2e44144]

  • Updated dependencies [36802d4]

  • Updated dependencies [ef2dfb5]

  • Updated dependencies [e0143b0]

  • Updated dependencies [934100c]

  • Updated dependencies [892af4d]

  • Updated dependencies [892af4d]

  • Updated dependencies [89aff56]

  • Updated dependencies [32acf43]

  • Updated dependencies [41465fd]

  • Updated dependencies [9754014]

  • Updated dependencies [4bb73b0]

  • Updated dependencies [2e44144]


Configuration

📅 Schedule: (in timezone America/Los_Angeles)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@coderabbitai

coderabbitai Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one): 1

  • coderabbit-review-active

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

Share

@github-actions

github-actions Bot commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Review status

This PR was opened by an automated account. A human maintainer must verify the change intent, provenance, and validation before merging.

Current step: Awaiting fresh human maintainer or CODEOWNER approval.

Review-state labels are managed by this workflow; do not edit them manually. community-approved is managed the same way — do not add or remove it manually. It signals a fresh community code approval for the current head as an advisory priority only; maintainer review is still required.

@codecov

codecov Bot commented Nov 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@github-actions github-actions Bot added the awaiting-maintainer CodeRabbit approved; waiting for a human maintainer label Nov 8, 2026
@renovate
renovate Bot force-pushed the renovate/ai-sdk-core-and-providers branch from 2a56f68 to d7fa1bf Compare November 9, 2026 22:13
@renovate renovate Bot changed the title chore(deps): update dependency ai to v7.0.163 chore(deps): update dependency ai to v7.0.164 Nov 9, 2026
@github-actions github-actions Bot added awaiting-maintainer CodeRabbit approved; waiting for a human maintainer and removed awaiting-maintainer CodeRabbit approved; waiting for a human maintainer labels Nov 9, 2026
@renovate
renovate Bot force-pushed the renovate/ai-sdk-core-and-providers branch from d7fa1bf to 16f3ef8 Compare November 9, 2026 23:19
@renovate renovate Bot changed the title chore(deps): update dependency ai to v7.0.164 chore(deps): update ai sdk core and providers Nov 9, 2026
@github-actions github-actions Bot removed the awaiting-maintainer CodeRabbit approved; waiting for a human maintainer label Nov 9, 2026
@renovate
renovate Bot force-pushed the renovate/ai-sdk-core-and-providers branch from 16f3ef8 to 8b5dcb6 Compare November 9, 2026 23:35
@github-actions github-actions Bot added the awaiting-maintainer CodeRabbit approved; waiting for a human maintainer label Nov 10, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting-maintainer CodeRabbit approved; waiting for a human maintainer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants