🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@ai-sdk/openai-compatible

Package Overview
Dependencies
Maintainers
3
Versions
326
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ai-sdk/openai-compatible - npm Package Compare versions

Comparing version
3.0.0-canary.56
to
3.0.0
+64
-0
CHANGELOG.md
# @ai-sdk/openai-compatible
## 3.0.0
### 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.
- c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
- 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
- ab81968: fix(openai-compatible): buffer tool call deltas until function.name arrives
- 38fc777: Add AI Gateway hint to provider READMEs
- 74d520f: feat: migrate providers to support new top-level `reasoning` parameter
- e59c955: feat(vertex): add grok models to vertex provider
- 816ff67: fix(openai-compatible): honor camelCase providerOptions key in chat and completion models
- 9f1e1ba: fix: accept empty string `role` in streaming delta chunks from OpenAI-compatible providers
- 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.
- 9f0e36c: trigger release for all packages after provenance setup
- 58a2ad7: fix: more precise default message for tool execution denial
- 8f3e1da: chore(openai-compat): update v3 specs to v4
- f7295cb: revert incorrect fix https://github.com/vercel/ai/pull/13172
- 008271d: feat(openai-compatible): emit warning when using kebab-case instead of camelCase
- 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.
- 0c4c275: trigger initial canary release
- 6fd51c0: fix(provider): preserve error type prefix in getErrorMessage
- cd9c311: fix(openai, openai-compatible): only send null content for assistant messages with tool calls
- 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
- 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
- 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.
## 3.0.0-beta.58
### Patch Changes
- Updated dependencies [0416e3e]
- @ai-sdk/provider@4.0.0-beta.20
- @ai-sdk/provider-utils@5.0.0-beta.50
## 3.0.0-beta.57
### 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
## 3.0.0-canary.56

@@ -4,0 +68,0 @@

+1
-1

@@ -1787,3 +1787,3 @@ // src/chat/openai-compatible-chat-language-model.ts

// src/version.ts
var VERSION = true ? "3.0.0-canary.56" : "0.0.0-test";
var VERSION = true ? "3.0.0" : "0.0.0-test";

@@ -1790,0 +1790,0 @@ // src/openai-compatible-provider.ts

{
"name": "@ai-sdk/openai-compatible",
"version": "3.0.0-canary.56",
"version": "3.0.0",
"type": "module",

@@ -38,4 +38,4 @@ "license": "Apache-2.0",

"dependencies": {
"@ai-sdk/provider": "4.0.0-canary.18",
"@ai-sdk/provider-utils": "5.0.0-canary.48"
"@ai-sdk/provider": "4.0.0",
"@ai-sdk/provider-utils": "5.0.0"
},

@@ -47,4 +47,4 @@ "devDependencies": {

"zod": "3.25.76",
"@ai-sdk/test-server": "2.0.0-canary.6",
"@vercel/ai-tsconfig": "0.0.0"
"@vercel/ai-tsconfig": "0.0.0",
"@ai-sdk/test-server": "2.0.0"
},

@@ -51,0 +51,0 @@ "peerDependencies": {

Sorry, the diff of this file is too big to display