@ai-sdk/openai 4.0.3 → 4.0.5

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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # @ai-sdk/openai
2
2
 
3
+ ## 4.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [8c616f0]
8
+ - @ai-sdk/provider-utils@5.0.3
9
+
10
+ ## 4.0.4
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [0274f34]
15
+ - @ai-sdk/provider@4.0.1
16
+ - @ai-sdk/provider-utils@5.0.2
17
+
3
18
  ## 4.0.3
4
19
 
5
20
  ### Patch Changes
package/dist/index.js CHANGED
@@ -7993,7 +7993,7 @@ var OpenAISkills = class {
7993
7993
  };
7994
7994
 
7995
7995
  // src/version.ts
7996
- var VERSION = true ? "4.0.3" : "0.0.0-test";
7996
+ var VERSION = true ? "4.0.5" : "0.0.0-test";
7997
7997
 
7998
7998
  // src/openai-provider.ts
7999
7999
  function createOpenAI(options = {}) {
@@ -1863,13 +1863,13 @@ They support additional settings and response metadata:
1863
1863
  - You can use `providerOptions` to set
1864
1864
  - the `reasoningEffort` option (or alternatively the `reasoningEffort` model setting), which determines the amount of reasoning the model performs.
1865
1865
 
1866
- - You can use response `providerMetadata` to access the number of reasoning tokens that the model generated.
1866
+ - You can use the response `usage` to access the number of reasoning tokens that the model generated via `usage.outputTokenDetails.reasoningTokens`.
1867
1867
 
1868
1868
  ```ts highlight="4,7-11,17"
1869
1869
  import { openai, type OpenAILanguageModelChatOptions } from '@ai-sdk/openai';
1870
1870
  import { generateText } from 'ai';
1871
1871
 
1872
- const { text, usage, providerMetadata } = await generateText({
1872
+ const { text, usage } = await generateText({
1873
1873
  model: openai.chat('gpt-5'),
1874
1874
  prompt: 'Invent a new holiday and describe its traditions.',
1875
1875
  providerOptions: {
@@ -1880,10 +1880,7 @@ const { text, usage, providerMetadata } = await generateText({
1880
1880
  });
1881
1881
 
1882
1882
  console.log(text);
1883
- console.log('Usage:', {
1884
- ...usage,
1885
- reasoningTokens: providerMetadata?.openai?.reasoningTokens,
1886
- });
1883
+ console.log('Reasoning tokens:', usage.outputTokenDetails.reasoningTokens);
1887
1884
  ```
1888
1885
 
1889
1886
  <Note>
@@ -2215,7 +2212,7 @@ including `gpt-4o` and `gpt-4o-mini`.
2215
2212
 
2216
2213
  - Prompt caching is automatically enabled for these models, when the prompt is 1024 tokens or longer. It does
2217
2214
  not need to be explicitly enabled.
2218
- - You can use response `providerMetadata` to access the number of prompt tokens that were a cache hit.
2215
+ - You can use the response `usage` to access the number of prompt tokens that were a cache hit via `usage.inputTokenDetails.cacheReadTokens`.
2219
2216
  - Note that caching behavior is dependent on load on OpenAI's infrastructure. Prompt prefixes generally remain in the
2220
2217
  cache following 5-10 minutes of inactivity before they are evicted, but during off-peak periods they may persist for up
2221
2218
  to an hour.
@@ -2224,15 +2221,12 @@ including `gpt-4o` and `gpt-4o-mini`.
2224
2221
  import { openai } from '@ai-sdk/openai';
2225
2222
  import { generateText } from 'ai';
2226
2223
 
2227
- const { text, usage, providerMetadata } = await generateText({
2224
+ const { text, usage } = await generateText({
2228
2225
  model: openai.chat('gpt-4o-mini'),
2229
2226
  prompt: `A 1024-token or longer prompt...`,
2230
2227
  });
2231
2228
 
2232
- console.log(`usage:`, {
2233
- ...usage,
2234
- cachedPromptTokens: providerMetadata?.openai?.cachedPromptTokens,
2235
- });
2229
+ console.log('Cached tokens:', usage.inputTokenDetails.cacheReadTokens);
2236
2230
  ```
2237
2231
 
2238
2232
  To improve cache hit rates, you can manually control caching using the `promptCacheKey` option:
@@ -2241,7 +2235,7 @@ To improve cache hit rates, you can manually control caching using the `promptCa
2241
2235
  import { openai, type OpenAILanguageModelChatOptions } from '@ai-sdk/openai';
2242
2236
  import { generateText } from 'ai';
2243
2237
 
2244
- const { text, usage, providerMetadata } = await generateText({
2238
+ const { text, usage } = await generateText({
2245
2239
  model: openai.chat('gpt-5'),
2246
2240
  prompt: `A 1024-token or longer prompt...`,
2247
2241
  providerOptions: {
@@ -2251,10 +2245,7 @@ const { text, usage, providerMetadata } = await generateText({
2251
2245
  },
2252
2246
  });
2253
2247
 
2254
- console.log(`usage:`, {
2255
- ...usage,
2256
- cachedPromptTokens: providerMetadata?.openai?.cachedPromptTokens,
2257
- });
2248
+ console.log('Cached tokens:', usage.inputTokenDetails.cacheReadTokens);
2258
2249
  ```
2259
2250
 
2260
2251
  For GPT-5.1 models, you can enable extended prompt caching that keeps cached prefixes active for up to 24 hours:
@@ -2263,7 +2254,7 @@ For GPT-5.1 models, you can enable extended prompt caching that keeps cached pre
2263
2254
  import { openai, type OpenAILanguageModelChatOptions } from '@ai-sdk/openai';
2264
2255
  import { generateText } from 'ai';
2265
2256
 
2266
- const { text, usage, providerMetadata } = await generateText({
2257
+ const { text, usage } = await generateText({
2267
2258
  model: openai.chat('gpt-5.1'),
2268
2259
  prompt: `A 1024-token or longer prompt...`,
2269
2260
  providerOptions: {
@@ -2274,10 +2265,7 @@ const { text, usage, providerMetadata } = await generateText({
2274
2265
  },
2275
2266
  });
2276
2267
 
2277
- console.log(`usage:`, {
2278
- ...usage,
2279
- cachedPromptTokens: providerMetadata?.openai?.cachedPromptTokens,
2280
- });
2268
+ console.log('Cached tokens:', usage.inputTokenDetails.cacheReadTokens);
2281
2269
  ```
2282
2270
 
2283
2271
  #### Audio Input
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/openai",
3
- "version": "4.0.3",
3
+ "version": "4.0.5",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -35,8 +35,8 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@ai-sdk/provider": "4.0.0",
39
- "@ai-sdk/provider-utils": "5.0.1"
38
+ "@ai-sdk/provider": "4.0.1",
39
+ "@ai-sdk/provider-utils": "5.0.3"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "22.19.19",