@ai-sdk/openai 4.0.26 → 4.0.27
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 +10 -0
- package/dist/index.js +18 -61
- package/dist/index.js.map +1 -1
- package/dist/internal/index.js +17 -60
- package/dist/internal/index.js.map +1 -1
- package/package.json +5 -5
- package/src/chat/convert-openai-chat-usage.ts +2 -14
- package/src/chat/get-response-metadata.ts +12 -8
- package/src/completion/convert-openai-completion-usage.ts +2 -14
- package/src/completion/get-response-metadata.ts +1 -15
- package/src/responses/convert-openai-responses-usage.ts +2 -14
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/openai",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.27",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -35,16 +35,16 @@
|
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@ai-sdk/provider
|
|
39
|
-
"@ai-sdk/provider": "
|
|
38
|
+
"@ai-sdk/provider": "4.0.4",
|
|
39
|
+
"@ai-sdk/provider-utils": "5.0.18"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "22.19.19",
|
|
43
43
|
"tsup": "^8.5.1",
|
|
44
44
|
"typescript": "5.8.3",
|
|
45
45
|
"zod": "3.25.76",
|
|
46
|
-
"@
|
|
47
|
-
"@ai-
|
|
46
|
+
"@ai-sdk/test-server": "2.0.1",
|
|
47
|
+
"@vercel/ai-tsconfig": "0.0.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"zod": "^3.25.76 || ^4.1.8"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LanguageModelV4Usage } from '@ai-sdk/provider';
|
|
2
|
+
import { createNullLanguageModelUsage } from '@ai-sdk/provider-utils';
|
|
2
3
|
|
|
3
4
|
export type OpenAIChatUsage = {
|
|
4
5
|
prompt_tokens?: number | null;
|
|
@@ -19,20 +20,7 @@ export function convertOpenAIChatUsage(
|
|
|
19
20
|
usage: OpenAIChatUsage | undefined | null,
|
|
20
21
|
): LanguageModelV4Usage {
|
|
21
22
|
if (usage == null) {
|
|
22
|
-
return
|
|
23
|
-
inputTokens: {
|
|
24
|
-
total: undefined,
|
|
25
|
-
noCache: undefined,
|
|
26
|
-
cacheRead: undefined,
|
|
27
|
-
cacheWrite: undefined,
|
|
28
|
-
},
|
|
29
|
-
outputTokens: {
|
|
30
|
-
total: undefined,
|
|
31
|
-
text: undefined,
|
|
32
|
-
reasoning: undefined,
|
|
33
|
-
},
|
|
34
|
-
raw: undefined,
|
|
35
|
-
};
|
|
23
|
+
return createNullLanguageModelUsage();
|
|
36
24
|
}
|
|
37
25
|
|
|
38
26
|
const promptTokens = usage.prompt_tokens ?? 0;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
+
import { createLanguageModelResponseMetadata } from '@ai-sdk/provider-utils';
|
|
2
|
+
|
|
1
3
|
export function getResponseMetadata({
|
|
2
4
|
id,
|
|
3
5
|
model,
|
|
4
6
|
created,
|
|
5
7
|
}: {
|
|
6
|
-
id?: string |
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
id?: string | null;
|
|
9
|
+
model?: string | null;
|
|
10
|
+
created?: number | null;
|
|
9
11
|
}) {
|
|
10
|
-
return {
|
|
11
|
-
id
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
return createLanguageModelResponseMetadata({
|
|
13
|
+
id,
|
|
14
|
+
model,
|
|
15
|
+
// Azure content-filter chunks use 0 as a placeholder timestamp. Preserve
|
|
16
|
+
// the previous OpenAI behavior so those chunks are not treated as metadata.
|
|
17
|
+
created: created || undefined,
|
|
18
|
+
});
|
|
15
19
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LanguageModelV4Usage } from '@ai-sdk/provider';
|
|
2
|
+
import { createNullLanguageModelUsage } from '@ai-sdk/provider-utils';
|
|
2
3
|
|
|
3
4
|
export type OpenAICompletionUsage = {
|
|
4
5
|
prompt_tokens?: number | null;
|
|
@@ -10,20 +11,7 @@ export function convertOpenAICompletionUsage(
|
|
|
10
11
|
usage: OpenAICompletionUsage | undefined | null,
|
|
11
12
|
): LanguageModelV4Usage {
|
|
12
13
|
if (usage == null) {
|
|
13
|
-
return
|
|
14
|
-
inputTokens: {
|
|
15
|
-
total: undefined,
|
|
16
|
-
noCache: undefined,
|
|
17
|
-
cacheRead: undefined,
|
|
18
|
-
cacheWrite: undefined,
|
|
19
|
-
},
|
|
20
|
-
outputTokens: {
|
|
21
|
-
total: undefined,
|
|
22
|
-
text: undefined,
|
|
23
|
-
reasoning: undefined,
|
|
24
|
-
},
|
|
25
|
-
raw: undefined,
|
|
26
|
-
};
|
|
14
|
+
return createNullLanguageModelUsage();
|
|
27
15
|
}
|
|
28
16
|
|
|
29
17
|
const promptTokens = usage.prompt_tokens ?? 0;
|
|
@@ -1,15 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
id,
|
|
3
|
-
model,
|
|
4
|
-
created,
|
|
5
|
-
}: {
|
|
6
|
-
id?: string | undefined | null;
|
|
7
|
-
created?: number | undefined | null;
|
|
8
|
-
model?: string | undefined | null;
|
|
9
|
-
}) {
|
|
10
|
-
return {
|
|
11
|
-
id: id ?? undefined,
|
|
12
|
-
modelId: model ?? undefined,
|
|
13
|
-
timestamp: created != null ? new Date(created * 1000) : undefined,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
1
|
+
export { createLanguageModelResponseMetadata as getResponseMetadata } from '@ai-sdk/provider-utils';
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LanguageModelV4Usage } from '@ai-sdk/provider';
|
|
2
|
+
import { createNullLanguageModelUsage } from '@ai-sdk/provider-utils';
|
|
2
3
|
|
|
3
4
|
export type OpenAIResponsesUsage = {
|
|
4
5
|
input_tokens: number;
|
|
@@ -19,20 +20,7 @@ export function convertOpenAIResponsesUsage(
|
|
|
19
20
|
usage: OpenAIResponsesUsage | undefined | null,
|
|
20
21
|
): LanguageModelV4Usage {
|
|
21
22
|
if (usage == null) {
|
|
22
|
-
return
|
|
23
|
-
inputTokens: {
|
|
24
|
-
total: undefined,
|
|
25
|
-
noCache: undefined,
|
|
26
|
-
cacheRead: undefined,
|
|
27
|
-
cacheWrite: undefined,
|
|
28
|
-
},
|
|
29
|
-
outputTokens: {
|
|
30
|
-
total: undefined,
|
|
31
|
-
text: undefined,
|
|
32
|
-
reasoning: undefined,
|
|
33
|
-
},
|
|
34
|
-
raw: undefined,
|
|
35
|
-
};
|
|
23
|
+
return createNullLanguageModelUsage();
|
|
36
24
|
}
|
|
37
25
|
|
|
38
26
|
const inputTokens = usage.input_tokens;
|