@ai-sdk/openai-compatible 2.0.68 → 2.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -4
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +2 -2
- package/dist/internal/index.d.ts +2 -2
- package/package.json +1 -1
- package/src/chat/openai-compatible-chat-language-model.ts +3 -2
- package/src/completion/openai-compatible-completion-language-model.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @ai-sdk/openai-compatible
|
|
2
2
|
|
|
3
|
+
## 2.0.69
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 7440d89: fix(openai-compatible): preserve unmapped usage fields in `usage.raw`
|
|
8
|
+
|
|
9
|
+
`usage.raw` is specified as usage "in the shape that the provider returns",
|
|
10
|
+
and the chat model already parsed the usage object loosely so that extra
|
|
11
|
+
top-level fields survived. The nested `prompt_tokens_details` and
|
|
12
|
+
`completion_tokens_details` objects were still strict, so anything a provider
|
|
13
|
+
reported inside them was dropped — which is where providers put their most
|
|
14
|
+
distinguishing detail. The existing "should preserve extra usage fields"
|
|
15
|
+
fixture was itself losing `audio_tokens`, `image_tokens` and `text_tokens`
|
|
16
|
+
this way.
|
|
17
|
+
|
|
18
|
+
Both nested objects are now parsed loosely, as is the completion model's usage
|
|
19
|
+
schema, which was strict throughout despite feeding the same `raw` field.
|
|
20
|
+
|
|
21
|
+
Only `usage.raw` changes. The mapped token counts are unaffected.
|
|
22
|
+
|
|
3
23
|
## 2.0.68
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -123,12 +123,12 @@ declare const openaiCompatibleTokenUsageSchema: z.ZodOptional<z.ZodNullable<z.Zo
|
|
|
123
123
|
total_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
124
124
|
prompt_tokens_details: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
125
125
|
cached_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
126
|
-
}, z.core.$
|
|
126
|
+
}, z.core.$loose>>>;
|
|
127
127
|
completion_tokens_details: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
128
128
|
reasoning_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
129
129
|
accepted_prediction_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
130
130
|
rejected_prediction_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
131
|
-
}, z.core.$
|
|
131
|
+
}, z.core.$loose>>>;
|
|
132
132
|
}, z.core.$loose>>>;
|
|
133
133
|
|
|
134
134
|
type OpenAICompatibleCompletionModelId = string;
|
package/dist/index.d.ts
CHANGED
|
@@ -123,12 +123,12 @@ declare const openaiCompatibleTokenUsageSchema: z.ZodOptional<z.ZodNullable<z.Zo
|
|
|
123
123
|
total_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
124
124
|
prompt_tokens_details: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
125
125
|
cached_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
126
|
-
}, z.core.$
|
|
126
|
+
}, z.core.$loose>>>;
|
|
127
127
|
completion_tokens_details: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
128
128
|
reasoning_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
129
129
|
accepted_prediction_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
130
130
|
rejected_prediction_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
131
|
-
}, z.core.$
|
|
131
|
+
}, z.core.$loose>>>;
|
|
132
132
|
}, z.core.$loose>>>;
|
|
133
133
|
|
|
134
134
|
type OpenAICompatibleCompletionModelId = string;
|
package/dist/index.js
CHANGED
|
@@ -942,10 +942,10 @@ var openaiCompatibleTokenUsageSchema = import_v43.z.looseObject({
|
|
|
942
942
|
prompt_tokens: import_v43.z.number().nullish(),
|
|
943
943
|
completion_tokens: import_v43.z.number().nullish(),
|
|
944
944
|
total_tokens: import_v43.z.number().nullish(),
|
|
945
|
-
prompt_tokens_details: import_v43.z.
|
|
945
|
+
prompt_tokens_details: import_v43.z.looseObject({
|
|
946
946
|
cached_tokens: import_v43.z.number().nullish()
|
|
947
947
|
}).nullish(),
|
|
948
|
-
completion_tokens_details: import_v43.z.
|
|
948
|
+
completion_tokens_details: import_v43.z.looseObject({
|
|
949
949
|
reasoning_tokens: import_v43.z.number().nullish(),
|
|
950
950
|
accepted_prediction_tokens: import_v43.z.number().nullish(),
|
|
951
951
|
rejected_prediction_tokens: import_v43.z.number().nullish()
|
|
@@ -1426,7 +1426,7 @@ var OpenAICompatibleCompletionLanguageModel = class {
|
|
|
1426
1426
|
};
|
|
1427
1427
|
}
|
|
1428
1428
|
};
|
|
1429
|
-
var usageSchema = import_v45.z.
|
|
1429
|
+
var usageSchema = import_v45.z.looseObject({
|
|
1430
1430
|
prompt_tokens: import_v45.z.number(),
|
|
1431
1431
|
completion_tokens: import_v45.z.number(),
|
|
1432
1432
|
total_tokens: import_v45.z.number()
|
|
@@ -1718,7 +1718,7 @@ async function fileToBlob(file) {
|
|
|
1718
1718
|
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
1719
1719
|
|
|
1720
1720
|
// src/version.ts
|
|
1721
|
-
var VERSION = true ? "2.0.
|
|
1721
|
+
var VERSION = true ? "2.0.69" : "0.0.0-test";
|
|
1722
1722
|
|
|
1723
1723
|
// src/openai-compatible-provider.ts
|
|
1724
1724
|
function createOpenAICompatible(options) {
|