@ai-sdk/openai
Version:
The **[OpenAI provider](https://ai-sdk.dev/providers/ai-sdk-providers/openai)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model support for the OpenAI chat and completion APIs and embedding model support for the OpenAI embeddings API.
1,744 lines (1,115 loc) • 101 kB
Markdown
# @ai-sdk/openai
## 4.0.11
### Patch Changes
- b2b1bb9: feat(provider/openai): add GPT-5.6 reasoning and prompt cache controls
## 4.0.10
### Patch Changes
- fdb6d5d: feat(provider/openai,provider/gateway): add gpt-5.6 model ids
- Updated dependencies [0f93c57]
- @ai-sdk/provider@4.0.3
- @ai-sdk/provider-utils@5.0.7
## 4.0.9
### Patch Changes
- ac306ed: Fix `StreamingToolCallTracker` finalizing 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.
- Updated dependencies [ac306ed]
- @ai-sdk/provider-utils@5.0.6
## 4.0.8
### Patch Changes
- b51ed36: Send inline image file parts in OpenAI chat requests as data URLs instead of bare base64 strings.
## 4.0.7
### Patch Changes
- 5c5c0f5: Add experimental streaming transcription support for transcription models, including OpenAI `gpt-realtime-whisper` and xAI WebSocket STT.
- Updated dependencies [5c5c0f5]
- @ai-sdk/provider@4.0.2
- @ai-sdk/provider-utils@5.0.5
## 4.0.6
### Patch Changes
- Updated dependencies [c6f5e62]
- @ai-sdk/provider-utils@5.0.4
## 4.0.5
### Patch Changes
- Updated dependencies [8c616f0]
- @ai-sdk/provider-utils@5.0.3
## 4.0.4
### Patch Changes
- Updated dependencies [0274f34]
- @ai-sdk/provider@4.0.1
- @ai-sdk/provider-utils@5.0.2
## 4.0.3
### Patch Changes
- 1ead90c: Return a helpful error when the Responses stream parser receives Chat Completions chunks.
## 4.0.2
### Patch Changes
- Updated dependencies [6a436e3]
- @ai-sdk/provider-utils@5.0.1
## 4.0.1
### Patch Changes
- 9507724: feat(openai): add support for web_search_call.results include option
## 4.0.0
### Major Changes
- 34bd95d: feat(ai): add support for uploading provider skills using the provider references abstraction
- ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
- c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
- 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
- 61753c3: ### `@ai-sdk/openai`: remove redundant `name` argument from `openai.tools.customTool()`
`openai.tools.customTool()` no longer accepts a `name` field. the tool name is now derived from the sdk tool key (the object key in the `tools` object).
migration: remove the `name` property from `customTool()` calls. the object key is now used as the tool name sent to the openai api.
before:
```ts
tools: {
write_sql: openai.tools.customTool({
name: 'write_sql',
description: '...',
}),
}
```
after:
```ts
tools: {
write_sql: openai.tools.customTool({
description: '...',
}),
}
```
### `@ai-sdk/provider-utils`: `createToolNameMapping()` no longer accepts the `resolveProviderToolName` parameter
before: tool name can be set dynamically
```ts
const toolNameMapping = createToolNameMapping({
tools,
providerToolNames: {
"openai.code_interpreter": "code_interpreter",
"openai.file_search": "file_search",
"openai.image_generation": "image_generation",
"openai.local_shell": "local_shell",
"openai.shell": "shell",
"openai.web_search": "web_search",
"openai.web_search_preview": "web_search_preview",
"openai.mcp": "mcp",
"openai.apply_patch": "apply_patch",
},
resolveProviderToolName: (tool) =>
tool.id === "openai.custom"
? (tool.args as { name?: string }).name
: undefined,
});
```
after: tool name is static based on `tools` keys
```
const toolNameMapping = createToolNameMapping({
tools,
providerToolNames: {
'openai.code_interpreter': 'code_interpreter',
'openai.file_search': 'file_search',
'openai.image_generation': 'image_generation',
'openai.local_shell': 'local_shell',
'openai.shell': 'shell',
'openai.web_search': 'web_search',
'openai.web_search_preview': 'web_search_preview',
'openai.mcp': 'mcp',
'openai.apply_patch': 'apply_patch',
}
});
```
- 8359612: Start v7 pre-release
- 04e9009: chore: make provider implementations code patterns more consistent, including renaming certain exported symbols
For all externally exported symbols that were renamed, the old names continue to work via deprecated aliases.
### Patch Changes
- 29e6ac6: feat: add allowedTools provider option for OpenAI Responses
- 38fc777: Add AI Gateway hint to provider READMEs
- a71d345: fix(provider/openai): drop reasoning parts without encrypted content when store: false
- 7afaece: feat(provider/openai): add GPT-5.4 model support
- 365da1a: Add `gpt-5.4-mini`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano`, and `gpt-5.4-nano-2026-03-17` models.
- 1772a63: Default OpenAI Responses reasoning summaries to detailed when reasoning effort is enabled.
- 83f9d04: feat(openai): upgrade v3 specs to v4
- 45b3d76: fix(security): prevent streaming tool calls from finalizing on parsable partial JSON
Streaming 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 in `flush()` after the stream is fully consumed.
- bf837fe: feat(provider/gateway): add speech and transcription model support
- d6c79e3: feat(openai): add GPT-5.5 chat model IDs
- e776fc7: feat(provider/azure):web search tool in the Azure OpenAI Responses API.
- 817a1a6: fix(openai): support file-url parts in tool output content
- 1f509d4: fix(ai): force template check on 'kind' param
- 0c4ac8a: fix(openai): default undefined tool-call input to empty object before serializing tool arguments
- 9f0e36c: trigger release for all packages after provenance setup
- 58a2ad7: fix: more precise default message for tool execution denial
- 6a5800e: feat(openai): add namespaces for tool definitions
- ae7f932: fix(openai): throw retryable errors for OpenAI stream failures before output starts
- 2c4767d: feat(openai): add orchestration token usage details to Responses API usage
- bada0f3: feat(openai): preserve `namespace` on function_call output items
- cd3de8b: feat(openai): forward `web_search_call.action.queries` from Responses API
- 94eba1b: fix(openai): round-trip `namespace` on function_call input items
When `tool_search` dispatches a deferred tool, the resulting `function_call` carries a `namespace` field identifying which deferred-tool group the model picked. `#14789` preserved this on the read side (`providerMetadata.openai.namespace`), but the write side still serialized `function_call` input items without `namespace`. Multi-step / multi-turn conversations then failed with `Missing namespace for function_call '<name>'. ... Round-trip the model's function_call item with its namespace field included.`
`convert-to-openai-responses-input.ts` now reads `namespace` from `providerOptions.openai.namespace` (or `providerMetadata.openai.namespace`) on `tool-call` parts and includes it on the serialized `function_call` item, mirroring how `itemId` is round-tripped.
- 7bbc194: feat(provider/openai): forward imageDetail providerOptions on tool-result image content
- 156cdf0: feat(openai): add new tool search tool
- f7295cb: revert incorrect fix https://github.com/vercel/ai/pull/13172
- 9ea40e0: chore(provider/openai): add type for image model options for type-safe processing
- 7fc6bd6: Raise minimum supported Node.js version to 22. Supported versions: 22, 24, and 26.
- f807e45: Extract shared `StreamingToolCallTracker` class into `@ai-sdk/provider-utils` to deduplicate streaming tool call handling across OpenAI-compatible providers. Also adds missing `generateId()` fallback for `toolCallId` in Alibaba's `doGenerate` path and ensures all providers finalize unfinished tool calls during stream flush.
- d9a1e9a: feat(openai): add server side compaction for openai
- 0c4c275: trigger initial canary release
- ac18f89: feat(provider/openai): add `gpt-5.3-chat-latest`
- 6fd51c0: fix(provider): preserve error type prefix in getErrorMessage
- cd9c311: fix(openai, openai-compatible): only send null content for assistant messages with tool calls
- e6376c2: fix(openai): preserve raw finish reason for failed responses stream events
Handle `response.failed` chunks in Responses API streaming so `finishReason.raw` is preserved from `incomplete_details.reason` (e.g. `max_output_tokens`), and map failed-without-reason cases to unified `error` instead of `other`.
- ce769dd: feat(provider): add experimental Realtime API support for voice conversations
Adds first-class support for realtime (speech-to-speech) APIs:
- `Experimental_RealtimeModelV4` spec in `@ai-sdk/provider` with normalized event types and factory
- OpenAI, Google, and xAI realtime provider implementations
- `openai.experimental_realtime()` / `google.experimental_realtime()` / `xai.experimental_realtime()` work in both server and browser
- `.getToken()` static method on each provider for server-side ephemeral token creation
- `experimental_getRealtimeToolDefinitions` helper for provider session tool definitions
- `experimental_useRealtime` hook in `@ai-sdk/react` returning `UIMessage[]` (aligned with `useChat`), with `onToolCall` and `addToolOutput` for client-driven tool execution
- `inputAudioTranscription` session config for showing transcribed user audio messages when supported by the provider
- e311194: feat(ai): allow passing provider instance to `uploadFile` and `uploadSkill` as shorthand
- 9bd6512: feat(provider): change file part data property to be tagged with a type and remove the image part type
- 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
- 685cec7: feat(openai): add opt-in pass-through for unsupported file media types
- 61bcdb5: fix(provider/openai): send client-executed tool calls as full function_call items in the Responses API so they pair with their function_call_output by call_id
- 5463d0d: feat(provider): align tool result output content file part types with top-level message file part types
- b8396f0: trigger initial beta release
- bfb756d: patch - send content: null instead of empty string for tool-only assistant messages
- 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
- 17b5597: fix(openai): skip passing reasoning items when using previous response id
- b3976a2: Add workflow serialization support to all provider models.
**`@ai-sdk/provider-utils`:** New `serializeModel()` 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:** `headers` is now optional in provider config types. This is non-breaking — existing code that passes `headers` continues to work. Custom provider implementations that construct model configs manually can now omit `headers`, which is useful when models are deserialized from a workflow step boundary where auth is provided separately.
All provider model classes now include `WORKFLOW_SERIALIZE` and `WORKFLOW_DESERIALIZE` static methods, enabling them to cross workflow step boundaries without serialization errors.
- ff5eba1: feat: roll `image-*` tool output types into their equivalent `file-*` types
- f9acbc0: feat(provider/openai): add gpt-image-2 model support
## 4.0.0-beta.77
### Patch Changes
- Updated dependencies [0416e3e]
- @ai-sdk/provider@4.0.0-beta.20
- @ai-sdk/provider-utils@5.0.0-beta.50
## 4.0.0-beta.76
### Patch Changes
- 2c4767d: feat(openai): add orchestration token usage details to Responses API usage
## 4.0.0-beta.75
### Patch Changes
- 1772a63: Default OpenAI Responses reasoning summaries to detailed when reasoning effort is enabled.
## 4.0.0-beta.74
### Patch Changes
- b8396f0: trigger initial beta release
- Updated dependencies [b8396f0]
- @ai-sdk/provider-utils@5.0.0-beta.49
- @ai-sdk/provider@4.0.0-beta.19
## 4.0.0-canary.73
### Patch Changes
- Updated dependencies [aeda373]
- Updated dependencies [375fdd7]
- Updated dependencies [b4507d5]
- @ai-sdk/provider-utils@5.0.0-canary.48
## 4.0.0-canary.72
### Patch Changes
- Updated dependencies [bae5e2b]
- @ai-sdk/provider-utils@5.0.0-canary.47
## 4.0.0-canary.71
### Patch Changes
- ae7f932: fix(openai): throw retryable errors for OpenAI stream failures before output starts
## 4.0.0-canary.70
### Patch Changes
- 6a5800e: feat(openai): add namespaces for tool definitions
## 4.0.0-canary.69
### Patch Changes
- ce769dd: feat(provider): add experimental Realtime API support for voice conversations
Adds first-class support for realtime (speech-to-speech) APIs:
- `Experimental_RealtimeModelV4` spec in `@ai-sdk/provider` with normalized event types and factory
- OpenAI, Google, and xAI realtime provider implementations
- `openai.experimental_realtime()` / `google.experimental_realtime()` / `xai.experimental_realtime()` work in both server and browser
- `.getToken()` static method on each provider for server-side ephemeral token creation
- `experimental_getRealtimeToolDefinitions` helper for provider session tool definitions
- `experimental_useRealtime` hook in `@ai-sdk/react` returning `UIMessage[]` (aligned with `useChat`), with `onToolCall` and `addToolOutput` for client-driven tool execution
- `inputAudioTranscription` session config for showing transcribed user audio messages when supported by the provider
- Updated dependencies [ce769dd]
- @ai-sdk/provider@4.0.0-canary.18
- @ai-sdk/provider-utils@5.0.0-canary.46
## 4.0.0-canary.68
### Patch Changes
- 94eba1b: fix(openai): round-trip `namespace` on function_call input items
When `tool_search` dispatches a deferred tool, the resulting `function_call` carries a `namespace` field identifying which deferred-tool group the model picked. `#14789` preserved this on the read side (`providerMetadata.openai.namespace`), but the write side still serialized `function_call` input items without `namespace`. Multi-step / multi-turn conversations then failed with `Missing namespace for function_call '<name>'. ... Round-trip the model's function_call item with its namespace field included.`
`convert-to-openai-responses-input.ts` now reads `namespace` from `providerOptions.openai.namespace` (or `providerMetadata.openai.namespace`) on `tool-call` parts and includes it on the serialized `function_call` item, mirroring how `itemId` is round-tripped.
## 4.0.0-canary.67
### Patch Changes
- 61bcdb5: fix(provider/openai): send client-executed tool calls as full function_call items in the Responses API so they pair with their function_call_output by call_id
- Updated dependencies [ee798eb]
- Updated dependencies [daf6637]
- @ai-sdk/provider-utils@5.0.0-canary.45
## 4.0.0-canary.66
### Patch Changes
- e776fc7: feat(provider/azure):web search tool in the Azure OpenAI Responses API.
## 4.0.0-canary.65
### Patch Changes
- cd3de8b: feat(openai): forward `web_search_call.action.queries` from Responses API
## 4.0.0-canary.64
### Patch Changes
- Updated dependencies [6c93e36]
- Updated dependencies [f617ac2]
- @ai-sdk/provider-utils@5.0.0-canary.44
## 4.0.0-canary.63
### Patch Changes
- 17b5597: fix(openai): skip passing reasoning items when using previous response id
## 4.0.0-canary.62
### Patch Changes
- bf837fe: feat(provider/gateway): add speech and transcription model support
## 4.0.0-canary.61
### Patch Changes
- 7fc6bd6: Raise minimum supported Node.js version to 22. Supported versions: 22, 24, and 26.
- Updated dependencies [7fc6bd6]
- @ai-sdk/provider-utils@5.0.0-canary.43
- @ai-sdk/provider@4.0.0-canary.17
## 4.0.0-canary.60
### Patch Changes
- Updated dependencies [a6617c5]
- @ai-sdk/provider-utils@5.0.0-canary.42
## 4.0.0-canary.59
### Patch Changes
- 685cec7: feat(openai): add opt-in pass-through for unsupported file media types
## 4.0.0-canary.58
### Patch Changes
- Updated dependencies [28dfa06]
- Updated dependencies [e93fa91]
- @ai-sdk/provider-utils@5.0.0-canary.41
## 4.0.0-canary.57
### Patch Changes
- Updated dependencies [a7de9c9]
- @ai-sdk/provider-utils@5.0.0-canary.40
## 4.0.0-canary.56
### Patch Changes
- Updated dependencies [105f95b]
- @ai-sdk/provider-utils@5.0.0-canary.39
## 4.0.0-canary.55
### Patch Changes
- Updated dependencies [ca446f8]
- @ai-sdk/provider-utils@5.0.0-canary.38
## 4.0.0-canary.54
### Patch Changes
- Updated dependencies [d848405]
- @ai-sdk/provider-utils@5.0.0-canary.37
## 4.0.0-canary.53
### Patch Changes
- Updated dependencies [ca39020]
- @ai-sdk/provider-utils@5.0.0-canary.36
## 4.0.0-canary.52
### Patch Changes
- Updated dependencies [f634bac]
- @ai-sdk/provider-utils@5.0.0-canary.35
## 4.0.0-canary.51
### Patch Changes
- Updated dependencies [69254e0]
- Updated dependencies [3015fc3]
- @ai-sdk/provider-utils@5.0.0-canary.34
## 4.0.0-canary.50
### Patch Changes
- 29e6ac6: feat: add allowedTools provider option for OpenAI Responses
## 4.0.0-canary.49
### Patch Changes
- 7bbc194: feat(provider/openai): forward imageDetail providerOptions on tool-result image content
- Updated dependencies [2427d88]
- @ai-sdk/provider-utils@5.0.0-canary.33
## 4.0.0-canary.48
### Patch Changes
- d6c79e3: feat(openai): add GPT-5.5 chat model IDs
## 4.0.0-canary.47
### Patch Changes
- 5463d0d: feat(provider): align tool result output content file part types with top-level message file part types
- Updated dependencies [5463d0d]
- @ai-sdk/provider-utils@5.0.0-canary.32
- @ai-sdk/provider@4.0.0-canary.16
## 4.0.0-canary.46
### Patch Changes
- cd9c311: fix(openai, openai-compatible): only send null content for assistant messages with tool calls
## 4.0.0-canary.45
### Patch Changes
- 0c4c275: trigger initial canary release
- Updated dependencies [0c4c275]
- @ai-sdk/provider-utils@5.0.0-canary.31
- @ai-sdk/provider@4.0.0-canary.15
## 4.0.0-beta.44
### Patch Changes
- bada0f3: feat(openai): preserve `namespace` on function_call output items
## 4.0.0-beta.43
### Patch Changes
- 9ea40e0: chore(provider/openai): add type for image model options for type-safe processing
## 4.0.0-beta.42
### Major Changes
- 04e9009: chore: make provider implementations code patterns more consistent, including renaming certain exported symbols
For all externally exported symbols that were renamed, the old names continue to work via deprecated aliases.
### Patch Changes
- Updated dependencies [08d2129]
- @ai-sdk/provider-utils@5.0.0-beta.30
## 4.0.0-beta.41
### Patch Changes
- 9bd6512: feat(provider): change file part data property to be tagged with a type and remove the image part type
- 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
- Updated dependencies [9bd6512]
- Updated dependencies [258c093]
- Updated dependencies [b6783da]
- @ai-sdk/provider-utils@5.0.0-beta.29
- @ai-sdk/provider@4.0.0-beta.14
## 4.0.0-beta.40
### Patch Changes
- 9f0e36c: trigger release for all packages after provenance setup
- Updated dependencies [9f0e36c]
- @ai-sdk/provider@4.0.0-beta.13
- @ai-sdk/provider-utils@5.0.0-beta.28
## 4.0.0-beta.39
### Patch Changes
- 58a2ad7: fix: more precise default message for tool execution denial
- f9acbc0: feat(provider/openai): add gpt-image-2 model support
- Updated dependencies [785fe16]
- Updated dependencies [67df0a0]
- Updated dependencies [befb78c]
- Updated dependencies [0458559]
- Updated dependencies [5852c0a]
- Updated dependencies [fc92055]
- @ai-sdk/provider-utils@5.0.0-beta.27
## 4.0.0-beta.38
### Patch Changes
- bfb756d: patch - send content: null instead of empty string for tool-only assistant messages
- Updated dependencies [2e98477]
- @ai-sdk/provider-utils@5.0.0-beta.26
## 4.0.0-beta.37
### Patch Changes
- Updated dependencies [eea8d98]
- @ai-sdk/provider-utils@5.0.0-beta.25
## 4.0.0-beta.36
### Patch Changes
- f807e45: Extract shared `StreamingToolCallTracker` class into `@ai-sdk/provider-utils` to deduplicate streaming tool call handling across OpenAI-compatible providers. Also adds missing `generateId()` fallback for `toolCallId` in Alibaba's `doGenerate` path and ensures all providers finalize unfinished tool calls during stream flush.
- Updated dependencies [f807e45]
- @ai-sdk/provider-utils@5.0.0-beta.24
## 4.0.0-beta.35
### Patch Changes
- Updated dependencies [350ea38]
- @ai-sdk/provider-utils@5.0.0-beta.23
## 4.0.0-beta.34
### Patch Changes
- Updated dependencies [083947b]
- @ai-sdk/provider-utils@5.0.0-beta.22
## 4.0.0-beta.33
### Patch Changes
- Updated dependencies [add1126]
- @ai-sdk/provider-utils@5.0.0-beta.21
## 4.0.0-beta.32
### Patch Changes
- 0c4ac8a: fix(openai): default undefined tool-call input to empty object before serializing tool arguments
## 4.0.0-beta.31
### Patch Changes
- b3976a2: Add workflow serialization support to all provider models.
**`@ai-sdk/provider-utils`:** New `serializeModel()` 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:** `headers` is now optional in provider config types. This is non-breaking — existing code that passes `headers` continues to work. Custom provider implementations that construct model configs manually can now omit `headers`, which is useful when models are deserialized from a workflow step boundary where auth is provided separately.
All provider model classes now include `WORKFLOW_SERIALIZE` and `WORKFLOW_DESERIALIZE` static methods, enabling them to cross workflow step boundaries without serialization errors.
- ff5eba1: feat: roll `image-*` tool output types into their equivalent `file-*` types
- Updated dependencies [b3976a2]
- Updated dependencies [ff5eba1]
- @ai-sdk/provider-utils@5.0.0-beta.20
- @ai-sdk/provider@4.0.0-beta.12
## 4.0.0-beta.30
### Major Changes
- ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
### Patch Changes
- Updated dependencies [ef992f8]
- @ai-sdk/provider@4.0.0-beta.11
- @ai-sdk/provider-utils@5.0.0-beta.19
## 4.0.0-beta.29
### Patch Changes
- 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
- Updated dependencies [90e2d8a]
- @ai-sdk/provider-utils@5.0.0-beta.18
## 4.0.0-beta.28
### Patch Changes
- Updated dependencies [3ae1786]
- @ai-sdk/provider-utils@5.0.0-beta.17
## 4.0.0-beta.27
### Patch Changes
- Updated dependencies [176466a]
- @ai-sdk/provider@4.0.0-beta.10
- @ai-sdk/provider-utils@5.0.0-beta.16
## 4.0.0-beta.26
### Patch Changes
- e311194: feat(ai): allow passing provider instance to `uploadFile` and `uploadSkill` as shorthand
- Updated dependencies [e311194]
- @ai-sdk/provider@4.0.0-beta.9
- @ai-sdk/provider-utils@5.0.0-beta.15
## 4.0.0-beta.25
### Patch Changes
- 34bd95d: feat(ai): add support for uploading provider skills using the provider references abstraction
- Updated dependencies [34bd95d]
- Updated dependencies [008271d]
- @ai-sdk/provider@4.0.0-beta.8
- @ai-sdk/provider-utils@5.0.0-beta.14
## 4.0.0-beta.24
### Patch Changes
- Updated dependencies [b0c2869]
- Updated dependencies [7e26e81]
- @ai-sdk/provider-utils@5.0.0-beta.13
## 4.0.0-beta.23
### Patch Changes
- Updated dependencies [46d1149]
- @ai-sdk/provider-utils@5.0.0-beta.12
## 4.0.0-beta.22
### Patch Changes
- 6fd51c0: fix(provider): preserve error type prefix in getErrorMessage
- Updated dependencies [6fd51c0]
- @ai-sdk/provider-utils@5.0.0-beta.11
- @ai-sdk/provider@4.0.0-beta.7
## 4.0.0-beta.21
### Patch Changes
- c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
- Updated dependencies [c29a26f]
- @ai-sdk/provider-utils@5.0.0-beta.10
- @ai-sdk/provider@4.0.0-beta.6
## 4.0.0-beta.20
### Patch Changes
- 38fc777: Add AI Gateway hint to provider READMEs
## 4.0.0-beta.19
### Patch Changes
- Updated dependencies [2e17091]
- @ai-sdk/provider-utils@5.0.0-beta.9
## 4.0.0-beta.18
### Patch Changes
- Updated dependencies [986c6fd]
- Updated dependencies [493295c]
- @ai-sdk/provider-utils@5.0.0-beta.8
## 4.0.0-beta.17
### Patch Changes
- 817a1a6: fix(openai): support file-url parts in tool output content
## 4.0.0-beta.16
### Patch Changes
- 1f509d4: fix(ai): force template check on 'kind' param
- Updated dependencies [1f509d4]
- @ai-sdk/provider-utils@5.0.0-beta.7
- @ai-sdk/provider@4.0.0-beta.5
## 4.0.0-beta.15
### Patch Changes
- 365da1a: Add `gpt-5.4-mini`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano`, and `gpt-5.4-nano-2026-03-17` models.
## 4.0.0-beta.14
### Patch Changes
- e6376c2: fix(openai): preserve raw finish reason for failed responses stream events
Handle `response.failed` chunks in Responses API streaming so `finishReason.raw` is preserved from `incomplete_details.reason` (e.g. `max_output_tokens`), and map failed-without-reason cases to unified `error` instead of `other`.
## 4.0.0-beta.13
### Patch Changes
- 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in `generateText` and `streamText`
- Updated dependencies [3887c70]
- @ai-sdk/provider-utils@5.0.0-beta.6
- @ai-sdk/provider@4.0.0-beta.4
## 4.0.0-beta.12
### Patch Changes
- d9a1e9a: feat(openai): add server side compaction for openai
## 4.0.0-beta.11
### Patch Changes
- Updated dependencies [776b617]
- @ai-sdk/provider-utils@5.0.0-beta.5
- @ai-sdk/provider@4.0.0-beta.3
## 4.0.0-beta.10
### Major Changes
- 61753c3: ### `@ai-sdk/openai`: remove redundant `name` argument from `openai.tools.customTool()`
`openai.tools.customTool()` no longer accepts a `name` field. the tool name is now derived from the sdk tool key (the object key in the `tools` object).
migration: remove the `name` property from `customTool()` calls. the object key is now used as the tool name sent to the openai api.
before:
```ts
tools: {
write_sql: openai.tools.customTool({
name: 'write_sql',
description: '...',
}),
}
```
after:
```ts
tools: {
write_sql: openai.tools.customTool({
description: '...',
}),
}
```
### `@ai-sdk/provider-utils`: `createToolNameMapping()` no longer accepts the `resolveProviderToolName` parameter
before: tool name can be set dynamically
```ts
const toolNameMapping = createToolNameMapping({
tools,
providerToolNames: {
"openai.code_interpreter": "code_interpreter",
"openai.file_search": "file_search",
"openai.image_generation": "image_generation",
"openai.local_shell": "local_shell",
"openai.shell": "shell",
"openai.web_search": "web_search",
"openai.web_search_preview": "web_search_preview",
"openai.mcp": "mcp",
"openai.apply_patch": "apply_patch",
},
resolveProviderToolName: (tool) =>
tool.id === "openai.custom"
? (tool.args as { name?: string }).name
: undefined,
});
```
after: tool name is static based on `tools` keys
```
const toolNameMapping = createToolNameMapping({
tools,
providerToolNames: {
'openai.code_interpreter': 'code_interpreter',
'openai.file_search': 'file_search',
'openai.image_generation': 'image_generation',
'openai.local_shell': 'local_shell',
'openai.shell': 'shell',
'openai.web_search': 'web_search',
'openai.web_search_preview': 'web_search_preview',
'openai.mcp': 'mcp',
'openai.apply_patch': 'apply_patch',
}
});
```
### Patch Changes
- Updated dependencies [61753c3]
- @ai-sdk/provider-utils@5.0.0-beta.4
## 4.0.0-beta.9
### Patch Changes
- 156cdf0: feat(openai): add new tool search tool
## 4.0.0-beta.8
### Patch Changes
- Updated dependencies [f7d4f01]
- @ai-sdk/provider-utils@5.0.0-beta.3
- @ai-sdk/provider@4.0.0-beta.2
## 4.0.0-beta.7
### Patch Changes
- Updated dependencies [5c2a5a2]
- @ai-sdk/provider@4.0.0-beta.1
- @ai-sdk/provider-utils@5.0.0-beta.2
## 4.0.0-beta.6
### Patch Changes
- 83f9d04: feat(openai): upgrade v3 specs to v4
## 4.0.0-beta.5
### Patch Changes
- ac18f89: feat(provider/openai): add `gpt-5.3-chat-latest`
## 4.0.0-beta.4
### Patch Changes
- a71d345: fix(provider/openai): drop reasoning parts without encrypted content when store: false
## 4.0.0-beta.3
### Patch Changes
- 45b3d76: fix(security): prevent streaming tool calls from finalizing on parsable partial JSON
Streaming 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 in `flush()` after the stream is fully consumed.
- f7295cb: revert incorrect fix https://github.com/vercel/ai/pull/13172
## 4.0.0-beta.2
### Patch Changes
- Updated dependencies [531251e]
- @ai-sdk/provider-utils@5.0.0-beta.1
## 4.0.0-beta.1
### Patch Changes
- 7afaece: feat(provider/openai): add GPT-5.4 model support
## 4.0.0-beta.0
### Major Changes
- 8359612: Start v7 pre-release
### Patch Changes
- Updated dependencies [8359612]
- @ai-sdk/provider@4.0.0-beta.0
- @ai-sdk/provider-utils@5.0.0-beta.0
## 3.0.41
### Patch Changes
- Updated dependencies [ad4cfc2]
- @ai-sdk/provider-utils@4.0.19
## 3.0.40
### Patch Changes
- Updated dependencies [824b295]
- @ai-sdk/provider-utils@4.0.18
## 3.0.39
### Patch Changes
- Updated dependencies [08336f1]
- @ai-sdk/provider-utils@4.0.17
## 3.0.38
### Patch Changes
- 64a8fae: chore: remove obsolete model IDs for Anthropic, Google, OpenAI, xAI
## 3.0.37
### Patch Changes
- 58bc42d: feat(provider/openai): support custom tools with alias mapping
- Updated dependencies [58bc42d]
- @ai-sdk/provider-utils@4.0.16
## 3.0.36
### Patch Changes
- 53bdfa5: fix(openai): allow null/undefined type in streaming tool call deltas
Azure AI Foundry and Mistral deployed on Azure omit the `type` field in
streaming tool_calls deltas. The chat stream parser now accepts a missing
`type` field (treating it as `"function"`) instead of throwing
`InvalidResponseDataError: Expected 'function' type.`
Fixes #12770
## 3.0.35
### Patch Changes
- 5e18272: fix(openai): include reasoning parts without itemId when encrypted_content is present
When `providerOptions.openai.itemId` is absent on a reasoning content part,
the converter now uses `encrypted_content` as a fallback instead of silently
skipping the part with a warning. The OpenAI Responses API accepts reasoning
items without an `id` when `encrypted_content` is supplied, enabling
multi-turn reasoning even when item IDs are stripped from provider options.
Also makes the `id` field optional on the `OpenAIResponsesReasoning` type to
reflect that the API does not require it.
Fixes #12853
## 3.0.34
### Patch Changes
- 66a374c: Support `phase` parameter on Responses API message items. The `phase` field (`'commentary'` or `'final_answer'`) is returned by models like `gpt-5.3-codex` on assistant message output items and must be preserved when sending follow-up requests. The phase value is available in `providerMetadata.openai.phase` on text parts and is automatically included on assistant messages sent back to the API.
## 3.0.33
### Patch Changes
- 624e651: Added missing model IDs to OpenAIChatModelId, OpenAIResponsesModelId, OpenAIImageModelId, OpenAISpeechModelId, OpenAITranscriptionModelId, and OpenAICompletionModelId types for better autocomplete support.
## 3.0.32
### Patch Changes
- 0c9395b: feat(provider/openai): add `gpt-5.3-codex`
## 3.0.31
### Patch Changes
- d5f7312: fix(openai): change web search tool action to be optional
## 3.0.30
### Patch Changes
- ff12133: feat(provider/openai): support native skills and hosted shell
## 3.0.29
### Patch Changes
- e2ee705: feat: differentiate text vs image input tokens
## 3.0.28
### Patch Changes
- Updated dependencies [4024a3a]
- @ai-sdk/provider-utils@4.0.15
## 3.0.27
### Patch Changes
- 99fbed8: feat: normalize provider specific model options type names and ensure they are exported
## 3.0.26
### Patch Changes
- Updated dependencies [7168375]
- @ai-sdk/provider@3.0.8
- @ai-sdk/provider-utils@4.0.14
## 3.0.25
### Patch Changes
- Updated dependencies [53f6731]
- @ai-sdk/provider@3.0.7
- @ai-sdk/provider-utils@4.0.13
## 3.0.24
### Patch Changes
- Updated dependencies [96936e5]
- @ai-sdk/provider-utils@4.0.12
## 3.0.23
### Patch Changes
- Updated dependencies [2810850]
- @ai-sdk/provider-utils@4.0.11
- @ai-sdk/provider@3.0.6
## 3.0.22
### Patch Changes
- 1524271: chore: add skill information to README files
## 3.0.21
### Patch Changes
- 2c70b90: chore: update provider docs
## 3.0.20
### Patch Changes
- Updated dependencies [462ad00]
- @ai-sdk/provider-utils@4.0.10
## 3.0.19
### Patch Changes
- 04c89b1: Provide Responses API providerMetadata types at the message / reasoning level.
- Export the following types for use in client code:
- `OpenaiResponsesProviderMetadata`
- `OpenaiResponsesReasoningProviderMetadata`
- `AzureResponsesProviderMetadata`
- `AzureResponsesReasoningProviderMetadata`
## 3.0.18
### Patch Changes
- 4de5a1d: chore: excluded tests from src folder in npm package
- Updated dependencies [4de5a1d]
- @ai-sdk/provider@3.0.5
- @ai-sdk/provider-utils@4.0.9
## 3.0.17
### Patch Changes
- 4218f86: fix(openai): preserve tool id for apply patch tool
## 3.0.16
### Patch Changes
- 2b8369d: chore: add docs to package dist
## 3.0.15
### Patch Changes
- 8dc54db: chore: add src folders to package bundle
## 3.0.14
### Patch Changes
- d21d016: feat(openai): add o4-mini model to OpenAIChatModelId type
## 3.0.13
### Patch Changes
- 000fa96: fix(openai): filter duplicate items when passing conversationID
## 3.0.12
### Patch Changes
- Updated dependencies [5c090e7]
- @ai-sdk/provider@3.0.4
- @ai-sdk/provider-utils@4.0.8
## 3.0.11
### Patch Changes
- Updated dependencies [46f46e4]
- @ai-sdk/provider-utils@4.0.7
## 3.0.10
### Patch Changes
- Updated dependencies [1b11dcb]
- @ai-sdk/provider-utils@4.0.6
- @ai-sdk/provider@3.0.3
## 3.0.9
### Patch Changes
- Updated dependencies [34d1c8a]
- @ai-sdk/provider-utils@4.0.5
## 3.0.8
### Patch Changes
- 330bd92: Fix Responses `code_interpreter` annotations and add typed providerMetadata
- Align Responses API `code_interpreter` annotation types with the official spec.
- Add tests to ensure the overlapping parts of the Zod schemas used by `doGenerate` and `doStream` stay in sync.
- Export the following types for use in client code:
- `OpenaiResponsesTextProviderMetadata`
- `OpenaiResponsesSourceDocumentProviderMetadata`
- `AzureResponsesTextProviderMetadata`
- `AzureResponsesSourceDocumentProviderMetadata`
## 3.0.7
### Patch Changes
- 89202fb: fix(openai/azure): passing response_format correctly
## 3.0.6
### Patch Changes
- dc87517: Fix handling of `image-url` tool result content type in OpenAI Responses API conversion
## 3.0.5
### Patch Changes
- Updated dependencies [d937c8f]
- @ai-sdk/provider@3.0.2
- @ai-sdk/provider-utils@4.0.4
## 3.0.4
### Patch Changes
- Updated dependencies [0b429d4]
- @ai-sdk/provider-utils@4.0.3
## 3.0.3
### Patch Changes
- 55cd1a4: fix(azure): allow 'azure' as a key for providerOptions
## 3.0.2
### Patch Changes
- 863d34f: fix: trigger release to update `@latest`
- Updated dependencies [863d34f]
- @ai-sdk/provider@3.0.1
- @ai-sdk/provider-utils@4.0.2
## 3.0.1
### Patch Changes
- 29264a3: feat: add MCP tool approval
- Updated dependencies [29264a3]
- @ai-sdk/provider-utils@4.0.1
## 3.0.0
### Major Changes
- dee8b05: ai SDK 6 beta
### Minor Changes
- 78928cb: release: start 5.1 beta
### Patch Changes
- 0c3b58b: fix(provider): add specificationVersion to ProviderV3
- 4920119: fix the "incomplete_details" key from nullable to nullish for openai compatibility
- 0adc679: feat(provider): shared spec v3
- 92c6241: feat(openai): additional settings for file search tool
- 88fc415: feat(openai): add the new provider 'apply_patch' tool
- 817e601: fix(openai); fix url_citation schema in chat api
- dae2185: fix(openai): extract meta data from first chunk that contains any
- 046aa3b: feat(provider): speech model v3 spec
- f1277fe: feat(provider/openai): send assistant text and tool call parts as reference ids when store: true
- 8d9e8ad: chore(provider): remove generics from EmbeddingModelV3
Before
```ts
model.textEmbeddingModel("my-model-id");
```
After
```ts
model.embeddingModel("my-model-id");
```
- 60f4775: fix: remove code for unsuported o1-mini and o1-preview models
- 9a51b92: support OPENAI_BASE_URL env
- d64ece9: enables image_generation capabilities in the Azure provider through the Responses API.
- 2625a04: feat(openai); update spec for mcp approval
- 2e86082: feat(provider/openai): `OpenAIChatLanguageModelOptions` type
```ts
import { openai, type OpenAIChatLanguageModelOptions } from "@ai-sdk/openai";
import { generateText } from "ai";
await generateText({
model: openai.chat("gpt-4o"),
prompt: "Invent a new holiday and describe its traditions.",
providerOptions: {
openai: {
user: "user-123",
} satisfies OpenAIChatLanguageModelOptions,
},
});
```
- 0877683: feat(provider/openai): support conversations api
- d0f1baf: feat(openai): Add support for 'promptCacheRetention: 24h' for gpt5.1 series
- 831b6cc: feat(openai): adding provider mcp tool for openai
- 95f65c2: chore: use import \* from zod/v4
- edc5548: feat(provider/openai): automatically add reasoning.encrypted_content include when store = false
- 954c356: feat(openai): allow custom names for provider-defined tools
- 544d4e8: chore(specification): rename v3 provider defined tool to provider tool
- 77f2b20: enables code_interpreter and file_search capabilities in the Azure provider through the Responses API
- 0c4822d: feat: `EmbeddingModelV3`
- 73d9883: chore(openai): enable strict json by default
- d2039d7: feat(provider/openai): add GPT 5.1 Codex Max to OpenAI Responses model IDs list
- 88edc28: feat (provider/openai): include more image generation response metadata
- e8109d3: feat: tool execution approval
- ed329cb: feat: `Provider-V3`
- 3bd2689: feat: extended token usage
- 1cad0ab: feat: add provider version to user-agent header
- e85fa2f: feat(openai): add sources in web-search actions
- 423ba08: Set the annotations from the Responses API to doStream
- 401f561: fix(provider/openai): fix web search tool input types
- 4122d2a: feat(provider/openai): add gpt-5-codex model id
- 0153bfa: fix(openai): fix parameter exclusion logic
- 8dac895: feat: `LanguageModelV3`
- 304222e: Add streaming support for apply_patch partial diffs.
- 23f132b: fix: error schema for Responses API
- 1d0de66: refactoring(provider/openai): simplify code
- 000e87b: fix(provider/openai): add providerExecuted flag to tool start chunks
- 2c0a758: chore(openai): add JSDoc to responses options
- 1b982e6: feat(openai): preserve file_id when converting file citations
- b82987c: feat(openai): support openai code-interpreter annotations
- 457318b: chore(provider,ai): switch to SharedV3Warning and unified warnings
- b681d7d: feat: expose usage tokens for 'generateImage' function
- 79b4e46: feat(openai): add 'gpt-5.1' modelID
- 3997a42: feat(provider/openai): local shell tool
- 348fd10: fix(openai): treat unknown models as reasoning
- 9061dc0: feat: image editing
- fe49278: feat(provider/openai): only send item references for reasoning when store: true
- cb4d238: The built in Code Interpreter tool input code is streamed in `tool-input-<start/delta/end>` chunks.
- 357cfd7: feat(provider/openai): add new model IDs `gpt-image-1-mini`, `gpt-5-pro`, `gpt-5-pro-2025-10-06`
- 38a4035: added support for external_web_access parameter on web_search tool
- 40d5419: feat(openai): add `o3-deep-research` and `o4-mini-deep-research` models
- 366f50b: chore(provider): add deprecated textEmbeddingModel and textEmbedding aliases
- 2b0caef: feat(provider/openai): preview image generation results
- b60d2e2: fix(openai): allow open_page action type url to be nullish
- fd47df5: fix(openai): revised_prompt sometimes returns null, causing errors
- 4616b86: chore: update zod peer depenedency version
- 7756857: fix(provider/openai): add truncation parameter support for Responses API
- cad6445: feat(openai); adding OpenAI's new shell tool
- 64aa48f: Azure OpenAI enabled web-search-preview
- 0b9fdd5: fix(provider/openai): end reasoning parts earlier
- 61c52dc: feat (provider/openai): add gpt-image-1.5 model support
- ef739fa: fix(openai): refactor apply-patch tool
- 3220329: fix openai responses input: process all provider tool outputs (shell/apply_patch) so parallel tool results aren’t dropped and apply_patch outputs are forwarded.
- d270a5d: chore(openai): update tests for apply-patch tool to use snapshots
- f18ef7f: feat(openai): add gpt-5.2 models
- 21e20c0: feat(provider): transcription model v3 spec
- 522f6b8: feat: `ImageModelV3`
- 484aa93: Add 'default' as service tier
- 88574c1: Change `isReasoningModel` detection from blocklist to allowlist and add override option
- 68c6187: feat(provider/openai): support file and image tool results
- 3794514: feat: flexible tool output content support
- cbf52cd: feat: expose raw finish reason
- 10c1322: fix: moved dependency `@ai-sdk/test-server` to devDependencies
- 5648ec0: Add GPT-5.2 support for non-reasoning parameters (temperature, topP, logProbs) when reasoningEffort is none.
- 78f813e: fix(openai): allow temperature etc setting when reasoning effort is none for gpt-5.1
- 40dc7fa: fix(openai): change find action type to find_in_page action type
- 0273b74: fix(openai): add support for sources type 'api'
- 5bf101a: feat(provider/openai): add support for OpenAI xhigh reasoning effort
- 1bd7d32: feat: tool-specific strict mode
- d86b52f: distinguish between OpenAI and Azure in Responses API providerMetadata
- 95f65c2: chore: load zod schemas lazily
- 59561f8: fix(openai); fix url_citation schema in chat api
- Updated dependencies
- @ai-sdk/provider@3.0.0
- @ai-sdk/provider-utils@4.0.0
## 3.0.0-beta.112
### Patch Changes
- Updated dependencies [475189e]
- @ai-sdk/provider@3.0.0-beta.32
- @ai-sdk/provider-utils@4.0.0-beta.59
## 3.0.0-beta.111
### Patch Changes
- 304222e: Add streaming support for apply_patch partial diffs.
## 3.0.0-beta.110
### Patch Changes
- 2625a04: feat(openai); update spec for mcp approval
- Updated dependencies [2625a04]
- @ai-sdk/provider@3.0.0-beta.31
- @ai-sdk/provider-utils@4.0.0-beta.58
## 3.0.0-beta.109
### Patch Changes
- cbf52cd: feat: expose raw finish reason
- Updated dependencies [cbf52cd]
- @ai-sdk/provider@3.0.0-beta.30
- @ai-sdk/provider-utils@4.0.0-beta.57
## 3.0.0-beta.108
### Patch Changes
- Updated dependencies [9549c9e]
- @ai-sdk/provider@3.0.0-beta.29
- @ai-sdk/provider-utils@4.0.0-beta.56
## 3.0.0-beta.107
### Patch Changes
- Updated dependencies [50b70d6]
- @ai-sdk/provider-utils@4.0.0-beta.55
## 3.0.0-beta.106
### Patch Changes
- 9061dc0: feat: image editing
- Updated dependencies [9061dc0]
- @ai-sdk/provider-utils@4.0.0-beta.54
- @ai-sdk/provider@3.0.0-beta.28
## 3.0.0-beta.105
### Patch Changes
- 88574c1: Change `isReasoningModel` detection from blocklist to allowlist and add override option
## 3.0.0-beta.104
### Patch Changes
- 61c52dc: feat (provider/openai): add gpt-image-1.5 model support
## 3.0.0-beta.103
### Patch Changes
- 366f50b: chore(provider): add deprecated textEmbeddingModel and textEmbedding aliases
- Updated dependencies [366f50b]
- @ai-sdk/provider@3.0.0-beta.27
- @ai-sdk/provider-utils@4.0.0-beta.53
## 3.0.0-beta.102
### Patch Changes
- Updated dependencies [763d04a]
- @ai-sdk/provider-utils@4.0.0-beta.52
## 3.0.0-beta.101
### Patch Changes
- 3220329: fix openai responses input: process all provider tool outputs (shell/apply_patch) so parallel tool results aren’t dropped and apply_patch outputs are forwarded.
- 5648ec0: Add GPT-5.2 support for non-reasoning parameters (temperature, topP, logProbs) when reasoningEffort is none.
## 3.0.0-beta.100
### Patch Changes
- Updated dependencies [c1efac4]
- @ai-sdk/provider-utils@4.0.0-beta.51
## 3.0.0-beta.99
### Patch Changes
- Updated dependencies [32223c8]
- @ai-sdk/provider-utils@4.0.0-beta.50
## 3.0.0-beta.98
### Patch Changes
- Updated dependencies [83e5744]
- @ai-sdk/provider-utils@4.0.0-beta.49
## 3.0.0-beta.97
### Patch Changes
- Updated dependencies [960ec8f]
- @ai-sdk/provider-utils@4.0.0-beta.48
## 3.0.0-beta.96
### Patch Changes
- 817e601: fix(openai); fix url_citation schema in chat api
- 59561f8: fix(openai); fix url_citation schema in chat api
## 3.0.0-beta.95
### Patch Changes
- 40dc7fa: fix(openai): change find action type to find_in_page action type
## 3.0.0-beta.94
### Patch Changes
- f18ef7f: feat(openai): add gpt-5.2 models
## 3.0.0-beta.93
### Patch Changes
- d2039d7: feat(provider/openai): add GPT 5.1 Codex Max to OpenAI Responses model IDs list
## 3.0.0-beta.92
### Patch Changes
- 5bf101a: feat(provider/openai): add support for OpenAI xhigh reasoning effort
## 3.0.0-beta.91
### Patch Changes
- Updated dependencies [e9e157f]
- @ai-sdk/provider-utils@4.0.0-beta.47
## 3.0.0-beta.90
### Patch Changes
- Updated dependencies [81e29ab]
- @ai-sdk/provider-utils@4.0.0-beta.46
## 3.0.0-beta.89
### Patch Changes
- 3bd2689: feat: extended token usage
- Updated dependencies [3bd2689]
- @ai-sdk/provider@3.0.0-beta.26
- @ai-sdk/provider-utils@4.0.0-beta.45
## 3.0.0-beta.88
### Patch Changes
- 92c6241: feat(openai): additional settings for file search tool
## 3.0.0-beta.87
### Patch Changes
- Updated dependencies [53f3368]
- @ai-sdk/provider@3.0.0-beta.25
- @ai-sdk/provider-utils@4.0.0-beta.44
## 3.0.0-beta.86
### Patch Changes
- 0153bfa: fix(openai): fix parameter exclusion logic
## 3.0.0-beta.85
### Patch Changes
- 78f813e: fix(openai): allow temperature etc setting when reasoning effort is none for gpt-5.1
## 3.0.0-beta.84
### Patch Changes
- Updated dependencies [dce03c4]
- @ai-sdk/provider-utils@4.0.0-beta.43
- @ai-sdk/provider@3.0.0-beta.24
## 3.0.0-beta.83
### Patch Changes
- ef739fa: fix(openai): refactor apply-patch tool
## 3.0.0-beta.82
### Patch Changes
- Updated dependencies [3ed5519]
- @ai-sdk/provider-utils@4.0.0-beta.42
## 3.0.0-beta.81
### Patch Changes
- cad6445: feat(openai); adding OpenAI's new shell tool
## 3.0.0-beta.80
### Patch Changes
- b60d2e2: fix(openai): allow open_page action type url to be nullish
## 3.0.0-beta.79
### Patch Changes
- 1bd7d32: feat: tool-specific strict mode
- Updated dependencies [1bd7d32]
- @ai-sdk/provider-utils@4.0.0-beta.41
- @ai-sdk/provider@3.0.0-beta.23
## 3.0.0-beta.78
### Patch Changes
- 2c0a758: chore(openai): add JSDoc to responses options
## 3.0.0-beta.77
### Patch Changes
- d270a5d: chore(openai): update tests for apply-patch tool to use snapshots
## 3.0.0-beta.76
### Patch Changes
- 88edc28: feat (provider/openai): include more image generation response metadata
## 3.0.0-beta.75
### Patch Changes
- 73d9883: chore(openai): enable strict json by default
## 3.0.0-beta.74
### Patch Changes
- 88fc415: feat(openai): add the new provider 'apply_patch' tool
## 3.0.0-beta.73
### Patch Changes
- 544d4e8: chore(specification): rename v3 provider defined tool to provider tool
- Updated dependencies [544d4e8]
- @ai-sdk/provider-utils@4.0.0-beta.40
- @ai-sdk/provider@3.0.0-beta.22
## 3.0.0-beta.72
### Patch Changes
- 954c356: feat(openai): allow custom names for provider-defined tools
- Updated dependencies [954c356]
- @ai-sdk/provider-utils@4.0.0-beta.39
- @ai-sdk/provider@3.0.0-beta.21
## 3.0.0-beta.71
### Patch Changes
- Updated dependencies [03849b0]
- @ai-sdk/provider-utils@4.0.0-beta.38
## 3.0.0-beta.70
### Patch Changes
- 457318b: chore(provider,ai): switch to SharedV3Warning and unified warnings
- Updated dependencies [457318b]
- @ai-sdk/provider@3.0.0-beta.20
- @ai-sdk/provider-utils@4.0.0-beta.37
## 3.0.0-beta.69
### Patch Changes
- 1d0de66: refactoring(provider/openai): simplify code
## 3.0.0-beta.68
### Patch Changes
- 8d9e8ad: chore(provider): remove generics from EmbeddingModelV3
Before
```ts
model.textEmbeddingModel("my-model-id");
```
After
```ts
model.embeddingModel("my-model-id");
```
- Updated dependencies [8d9e8ad]
- @ai-sdk/provider@3.0.0-beta.19
- @ai-sdk/provider-utils@4.0.0-beta.36
## 3.0.0-beta.67
### Patch Changes
- Updated dependencies [10d819b]
- @ai-sdk/provider@3.0.0-beta.18
- @ai-sdk/provider-utils@4.0.0-beta.35
## 3.0.0-beta.66
### Patch Changes
- d86b52f: distinguish between OpenAI and Azure in Responses API providerMetadata
## 3.0.0-beta.65
### Patch Changes
- 38a4035: added support for external_web_access parameter on web_search tool
## 3.0.0-beta.64
### Patch Changes
- Updated dependencies [db913bd]
- @ai-sdk/provider@3.0.0-beta.17
- @ai-sdk/provider-utils@4.0.0-beta.34
## 3.0.0-beta.63
### Patch Changes
- 423ba08: Set the annotations from the