@ai-sdk/openai 2.0.10 → 2.0.11
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 +18 -0
- package/dist/index.d.mts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.js +108 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +108 -11
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +15 -3
- package/dist/internal/index.d.ts +15 -3
- package/dist/internal/index.js +106 -10
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +106 -10
- package/dist/internal/index.mjs.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @ai-sdk/openai
|
|
2
2
|
|
|
3
|
+
## 2.0.11
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 097b452: feat(openai, azure): add configurable file ID prefixes for Responses API
|
|
8
|
+
|
|
9
|
+
- Added `fileIdPrefixes` option to OpenAI Responses API configuration
|
|
10
|
+
- Azure OpenAI now supports `assistant-` prefixed file IDs (replacing previous `file-` prefix support)
|
|
11
|
+
- OpenAI maintains backward compatibility with default `file-` prefix
|
|
12
|
+
- File ID detection is disabled when `fileIdPrefixes` is undefined, gracefully falling back to base64 processing
|
|
13
|
+
|
|
14
|
+
- 87cf954: feat(provider/openai): add support for prompt_cache_key
|
|
15
|
+
- a3d98a9: feat(provider/openai): add support for safety_identifier
|
|
16
|
+
- 110d167: fix(openai): add missing file_search_call handlers in responses streaming
|
|
17
|
+
- 8d3c747: chore(openai): remove deprecated GPT-4.5-preview models and improve autocomplete control
|
|
18
|
+
- Updated dependencies [38ac190]
|
|
19
|
+
- @ai-sdk/provider-utils@3.0.2
|
|
20
|
+
|
|
3
21
|
## 2.0.10
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -3,7 +3,7 @@ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
|
3
3
|
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
import { z } from 'zod/v4';
|
|
5
5
|
|
|
6
|
-
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | '
|
|
6
|
+
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'gpt-4.1' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4' | 'gpt-4-0613' | 'gpt-4.5-preview' | 'gpt-4.5-preview-2025-02-27' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'chatgpt-4o-latest' | 'gpt-5' | 'gpt-5-2025-08-07' | 'gpt-5-mini' | 'gpt-5-mini-2025-08-07' | 'gpt-5-nano' | 'gpt-5-nano-2025-08-07' | 'gpt-5-chat-latest' | (string & {});
|
|
7
7
|
|
|
8
8
|
type OpenAICompletionModelId = 'gpt-3.5-turbo-instruct' | (string & {});
|
|
9
9
|
|
|
@@ -46,8 +46,7 @@ declare const openaiTools: {
|
|
|
46
46
|
}>;
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
type OpenAIResponsesModelId = (typeof openaiResponsesModelIds)[number] | (string & {});
|
|
49
|
+
type OpenAIResponsesModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'gpt-5' | 'gpt-5-2025-08-07' | 'gpt-5-mini' | 'gpt-5-mini-2025-08-07' | 'gpt-5-nano' | 'gpt-5-nano-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-4.1' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4' | 'gpt-4-0613' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'chatgpt-4o-latest' | (string & {});
|
|
51
50
|
|
|
52
51
|
type OpenAISpeechModelId = 'tts-1' | 'tts-1-hd' | 'gpt-4o-mini-tts' | (string & {});
|
|
53
52
|
|
|
@@ -168,6 +167,8 @@ declare const openaiResponsesProviderOptionsSchema: z.ZodObject<{
|
|
|
168
167
|
medium: "medium";
|
|
169
168
|
high: "high";
|
|
170
169
|
}>>>;
|
|
170
|
+
promptCacheKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
171
|
+
safetyIdentifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
171
172
|
}, z.core.$strip>;
|
|
172
173
|
type OpenAIResponsesProviderOptions = z.infer<typeof openaiResponsesProviderOptionsSchema>;
|
|
173
174
|
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
|
3
3
|
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
import { z } from 'zod/v4';
|
|
5
5
|
|
|
6
|
-
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | '
|
|
6
|
+
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'gpt-4.1' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4' | 'gpt-4-0613' | 'gpt-4.5-preview' | 'gpt-4.5-preview-2025-02-27' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'chatgpt-4o-latest' | 'gpt-5' | 'gpt-5-2025-08-07' | 'gpt-5-mini' | 'gpt-5-mini-2025-08-07' | 'gpt-5-nano' | 'gpt-5-nano-2025-08-07' | 'gpt-5-chat-latest' | (string & {});
|
|
7
7
|
|
|
8
8
|
type OpenAICompletionModelId = 'gpt-3.5-turbo-instruct' | (string & {});
|
|
9
9
|
|
|
@@ -46,8 +46,7 @@ declare const openaiTools: {
|
|
|
46
46
|
}>;
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
type OpenAIResponsesModelId = (typeof openaiResponsesModelIds)[number] | (string & {});
|
|
49
|
+
type OpenAIResponsesModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'gpt-5' | 'gpt-5-2025-08-07' | 'gpt-5-mini' | 'gpt-5-mini-2025-08-07' | 'gpt-5-nano' | 'gpt-5-nano-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-4.1' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4o' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4' | 'gpt-4-0613' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'chatgpt-4o-latest' | (string & {});
|
|
51
50
|
|
|
52
51
|
type OpenAISpeechModelId = 'tts-1' | 'tts-1-hd' | 'gpt-4o-mini-tts' | (string & {});
|
|
53
52
|
|
|
@@ -168,6 +167,8 @@ declare const openaiResponsesProviderOptionsSchema: z.ZodObject<{
|
|
|
168
167
|
medium: "medium";
|
|
169
168
|
high: "high";
|
|
170
169
|
}>>>;
|
|
170
|
+
promptCacheKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
171
|
+
safetyIdentifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
171
172
|
}, z.core.$strip>;
|
|
172
173
|
type OpenAIResponsesProviderOptions = z.infer<typeof openaiResponsesProviderOptionsSchema>;
|
|
173
174
|
|
package/dist/index.js
CHANGED
|
@@ -334,7 +334,20 @@ var openaiProviderOptions = import_v42.z.object({
|
|
|
334
334
|
* Controls the verbosity of the model's responses.
|
|
335
335
|
* Lower values will result in more concise responses, while higher values will result in more verbose responses.
|
|
336
336
|
*/
|
|
337
|
-
textVerbosity: import_v42.z.enum(["low", "medium", "high"]).optional()
|
|
337
|
+
textVerbosity: import_v42.z.enum(["low", "medium", "high"]).optional(),
|
|
338
|
+
/**
|
|
339
|
+
* A cache key for prompt caching. Allows manual control over prompt caching behavior.
|
|
340
|
+
* Useful for improving cache hit rates and working around automatic caching issues.
|
|
341
|
+
*/
|
|
342
|
+
promptCacheKey: import_v42.z.string().optional(),
|
|
343
|
+
/**
|
|
344
|
+
* A stable identifier used to help detect users of your application
|
|
345
|
+
* that may be violating OpenAI's usage policies. The IDs should be a
|
|
346
|
+
* string that uniquely identifies each user. We recommend hashing their
|
|
347
|
+
* username or email address, in order to avoid sending us any identifying
|
|
348
|
+
* information.
|
|
349
|
+
*/
|
|
350
|
+
safetyIdentifier: import_v42.z.string().optional()
|
|
338
351
|
});
|
|
339
352
|
|
|
340
353
|
// src/chat/openai-chat-prepare-tools.ts
|
|
@@ -605,6 +618,8 @@ var OpenAIChatLanguageModel = class {
|
|
|
605
618
|
prediction: openaiOptions.prediction,
|
|
606
619
|
reasoning_effort: openaiOptions.reasoningEffort,
|
|
607
620
|
service_tier: openaiOptions.serviceTier,
|
|
621
|
+
prompt_cache_key: openaiOptions.promptCacheKey,
|
|
622
|
+
safety_identifier: openaiOptions.safetyIdentifier,
|
|
608
623
|
// messages:
|
|
609
624
|
messages
|
|
610
625
|
};
|
|
@@ -1811,9 +1826,14 @@ var import_provider6 = require("@ai-sdk/provider");
|
|
|
1811
1826
|
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
1812
1827
|
var import_v412 = require("zod/v4");
|
|
1813
1828
|
var import_provider_utils11 = require("@ai-sdk/provider-utils");
|
|
1829
|
+
function isFileId(data, prefixes) {
|
|
1830
|
+
if (!prefixes) return false;
|
|
1831
|
+
return prefixes.some((prefix) => data.startsWith(prefix));
|
|
1832
|
+
}
|
|
1814
1833
|
async function convertToOpenAIResponsesMessages({
|
|
1815
1834
|
prompt,
|
|
1816
|
-
systemMessageMode
|
|
1835
|
+
systemMessageMode,
|
|
1836
|
+
fileIdPrefixes
|
|
1817
1837
|
}) {
|
|
1818
1838
|
var _a, _b, _c, _d, _e, _f;
|
|
1819
1839
|
const messages = [];
|
|
@@ -1860,7 +1880,7 @@ async function convertToOpenAIResponsesMessages({
|
|
|
1860
1880
|
const mediaType = part.mediaType === "image/*" ? "image/jpeg" : part.mediaType;
|
|
1861
1881
|
return {
|
|
1862
1882
|
type: "input_image",
|
|
1863
|
-
...part.data instanceof URL ? { image_url: part.data.toString() } : typeof part.data === "string" && part.data
|
|
1883
|
+
...part.data instanceof URL ? { image_url: part.data.toString() } : typeof part.data === "string" && isFileId(part.data, fileIdPrefixes) ? { file_id: part.data } : {
|
|
1864
1884
|
image_url: `data:${mediaType};base64,${(0, import_provider_utils11.convertToBase64)(part.data)}`
|
|
1865
1885
|
},
|
|
1866
1886
|
detail: (_b2 = (_a2 = part.providerOptions) == null ? void 0 : _a2.openai) == null ? void 0 : _b2.imageDetail
|
|
@@ -1873,7 +1893,7 @@ async function convertToOpenAIResponsesMessages({
|
|
|
1873
1893
|
}
|
|
1874
1894
|
return {
|
|
1875
1895
|
type: "input_file",
|
|
1876
|
-
...typeof part.data === "string" && part.data
|
|
1896
|
+
...typeof part.data === "string" && isFileId(part.data, fileIdPrefixes) ? { file_id: part.data } : {
|
|
1877
1897
|
filename: (_c2 = part.filename) != null ? _c2 : `part-${index}.pdf`,
|
|
1878
1898
|
file_data: `data:application/pdf;base64,${(0, import_provider_utils11.convertToBase64)(part.data)}`
|
|
1879
1899
|
}
|
|
@@ -2160,7 +2180,8 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2160
2180
|
}
|
|
2161
2181
|
const { messages, warnings: messageWarnings } = await convertToOpenAIResponsesMessages({
|
|
2162
2182
|
prompt,
|
|
2163
|
-
systemMessageMode: modelConfig.systemMessageMode
|
|
2183
|
+
systemMessageMode: modelConfig.systemMessageMode,
|
|
2184
|
+
fileIdPrefixes: this.config.fileIdPrefixes
|
|
2164
2185
|
});
|
|
2165
2186
|
warnings.push(...messageWarnings);
|
|
2166
2187
|
const openaiOptions = await (0, import_provider_utils12.parseProviderOptions)({
|
|
@@ -2200,6 +2221,8 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2200
2221
|
instructions: openaiOptions == null ? void 0 : openaiOptions.instructions,
|
|
2201
2222
|
service_tier: openaiOptions == null ? void 0 : openaiOptions.serviceTier,
|
|
2202
2223
|
include: openaiOptions == null ? void 0 : openaiOptions.include,
|
|
2224
|
+
prompt_cache_key: openaiOptions == null ? void 0 : openaiOptions.promptCacheKey,
|
|
2225
|
+
safety_identifier: openaiOptions == null ? void 0 : openaiOptions.safetyIdentifier,
|
|
2203
2226
|
// model-specific settings:
|
|
2204
2227
|
...modelConfig.isReasoningModel && ((openaiOptions == null ? void 0 : openaiOptions.reasoningEffort) != null || (openaiOptions == null ? void 0 : openaiOptions.reasoningSummary) != null) && {
|
|
2205
2228
|
reasoning: {
|
|
@@ -2349,7 +2372,18 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2349
2372
|
import_v413.z.object({
|
|
2350
2373
|
type: import_v413.z.literal("file_search_call"),
|
|
2351
2374
|
id: import_v413.z.string(),
|
|
2352
|
-
status: import_v413.z.string().optional()
|
|
2375
|
+
status: import_v413.z.string().optional(),
|
|
2376
|
+
queries: import_v413.z.array(import_v413.z.string()).nullish(),
|
|
2377
|
+
results: import_v413.z.array(
|
|
2378
|
+
import_v413.z.object({
|
|
2379
|
+
attributes: import_v413.z.object({
|
|
2380
|
+
file_id: import_v413.z.string(),
|
|
2381
|
+
filename: import_v413.z.string(),
|
|
2382
|
+
score: import_v413.z.number(),
|
|
2383
|
+
text: import_v413.z.string()
|
|
2384
|
+
})
|
|
2385
|
+
})
|
|
2386
|
+
).nullish()
|
|
2353
2387
|
}),
|
|
2354
2388
|
import_v413.z.object({
|
|
2355
2389
|
type: import_v413.z.literal("reasoning"),
|
|
@@ -2491,7 +2525,9 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2491
2525
|
toolName: "file_search",
|
|
2492
2526
|
result: {
|
|
2493
2527
|
type: "file_search_tool_result",
|
|
2494
|
-
status: part.status || "completed"
|
|
2528
|
+
status: part.status || "completed",
|
|
2529
|
+
...part.queries && { queries: part.queries },
|
|
2530
|
+
...part.results && { results: part.results }
|
|
2495
2531
|
},
|
|
2496
2532
|
providerExecuted: true
|
|
2497
2533
|
});
|
|
@@ -2606,6 +2642,16 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2606
2642
|
id: value.item.id,
|
|
2607
2643
|
toolName: "computer_use"
|
|
2608
2644
|
});
|
|
2645
|
+
} else if (value.item.type === "file_search_call") {
|
|
2646
|
+
ongoingToolCalls[value.output_index] = {
|
|
2647
|
+
toolName: "file_search",
|
|
2648
|
+
toolCallId: value.item.id
|
|
2649
|
+
};
|
|
2650
|
+
controller.enqueue({
|
|
2651
|
+
type: "tool-input-start",
|
|
2652
|
+
id: value.item.id,
|
|
2653
|
+
toolName: "file_search"
|
|
2654
|
+
});
|
|
2609
2655
|
} else if (value.item.type === "message") {
|
|
2610
2656
|
controller.enqueue({
|
|
2611
2657
|
type: "text-start",
|
|
@@ -2699,6 +2745,32 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2699
2745
|
},
|
|
2700
2746
|
providerExecuted: true
|
|
2701
2747
|
});
|
|
2748
|
+
} else if (value.item.type === "file_search_call") {
|
|
2749
|
+
ongoingToolCalls[value.output_index] = void 0;
|
|
2750
|
+
hasToolCalls = true;
|
|
2751
|
+
controller.enqueue({
|
|
2752
|
+
type: "tool-input-end",
|
|
2753
|
+
id: value.item.id
|
|
2754
|
+
});
|
|
2755
|
+
controller.enqueue({
|
|
2756
|
+
type: "tool-call",
|
|
2757
|
+
toolCallId: value.item.id,
|
|
2758
|
+
toolName: "file_search",
|
|
2759
|
+
input: "",
|
|
2760
|
+
providerExecuted: true
|
|
2761
|
+
});
|
|
2762
|
+
controller.enqueue({
|
|
2763
|
+
type: "tool-result",
|
|
2764
|
+
toolCallId: value.item.id,
|
|
2765
|
+
toolName: "file_search",
|
|
2766
|
+
result: {
|
|
2767
|
+
type: "file_search_tool_result",
|
|
2768
|
+
status: value.item.status || "completed",
|
|
2769
|
+
...value.item.queries && { queries: value.item.queries },
|
|
2770
|
+
...value.item.results && { results: value.item.results }
|
|
2771
|
+
},
|
|
2772
|
+
providerExecuted: true
|
|
2773
|
+
});
|
|
2702
2774
|
} else if (value.item.type === "message") {
|
|
2703
2775
|
controller.enqueue({
|
|
2704
2776
|
type: "text-end",
|
|
@@ -2877,7 +2949,18 @@ var responseOutputItemAddedSchema = import_v413.z.object({
|
|
|
2877
2949
|
import_v413.z.object({
|
|
2878
2950
|
type: import_v413.z.literal("file_search_call"),
|
|
2879
2951
|
id: import_v413.z.string(),
|
|
2880
|
-
status: import_v413.z.string()
|
|
2952
|
+
status: import_v413.z.string(),
|
|
2953
|
+
queries: import_v413.z.array(import_v413.z.string()).nullish(),
|
|
2954
|
+
results: import_v413.z.array(
|
|
2955
|
+
import_v413.z.object({
|
|
2956
|
+
attributes: import_v413.z.object({
|
|
2957
|
+
file_id: import_v413.z.string(),
|
|
2958
|
+
filename: import_v413.z.string(),
|
|
2959
|
+
score: import_v413.z.number(),
|
|
2960
|
+
text: import_v413.z.string()
|
|
2961
|
+
})
|
|
2962
|
+
})
|
|
2963
|
+
).optional()
|
|
2881
2964
|
})
|
|
2882
2965
|
])
|
|
2883
2966
|
});
|
|
@@ -2915,7 +2998,18 @@ var responseOutputItemDoneSchema = import_v413.z.object({
|
|
|
2915
2998
|
import_v413.z.object({
|
|
2916
2999
|
type: import_v413.z.literal("file_search_call"),
|
|
2917
3000
|
id: import_v413.z.string(),
|
|
2918
|
-
status: import_v413.z.literal("completed")
|
|
3001
|
+
status: import_v413.z.literal("completed"),
|
|
3002
|
+
queries: import_v413.z.array(import_v413.z.string()).nullish(),
|
|
3003
|
+
results: import_v413.z.array(
|
|
3004
|
+
import_v413.z.object({
|
|
3005
|
+
attributes: import_v413.z.object({
|
|
3006
|
+
file_id: import_v413.z.string(),
|
|
3007
|
+
filename: import_v413.z.string(),
|
|
3008
|
+
score: import_v413.z.number(),
|
|
3009
|
+
text: import_v413.z.string()
|
|
3010
|
+
})
|
|
3011
|
+
})
|
|
3012
|
+
).nullish()
|
|
2919
3013
|
})
|
|
2920
3014
|
])
|
|
2921
3015
|
});
|
|
@@ -3033,7 +3127,9 @@ var openaiResponsesProviderOptionsSchema = import_v413.z.object({
|
|
|
3033
3127
|
reasoningSummary: import_v413.z.string().nullish(),
|
|
3034
3128
|
serviceTier: import_v413.z.enum(["auto", "flex", "priority"]).nullish(),
|
|
3035
3129
|
include: import_v413.z.array(import_v413.z.enum(["reasoning.encrypted_content", "file_search_call.results"])).nullish(),
|
|
3036
|
-
textVerbosity: import_v413.z.enum(["low", "medium", "high"]).nullish()
|
|
3130
|
+
textVerbosity: import_v413.z.enum(["low", "medium", "high"]).nullish(),
|
|
3131
|
+
promptCacheKey: import_v413.z.string().nullish(),
|
|
3132
|
+
safetyIdentifier: import_v413.z.string().nullish()
|
|
3037
3133
|
});
|
|
3038
3134
|
|
|
3039
3135
|
// src/speech/openai-speech-model.ts
|
|
@@ -3396,7 +3492,8 @@ function createOpenAI(options = {}) {
|
|
|
3396
3492
|
provider: `${providerName}.responses`,
|
|
3397
3493
|
url: ({ path }) => `${baseURL}${path}`,
|
|
3398
3494
|
headers: getHeaders,
|
|
3399
|
-
fetch: options.fetch
|
|
3495
|
+
fetch: options.fetch,
|
|
3496
|
+
fileIdPrefixes: ["file-"]
|
|
3400
3497
|
});
|
|
3401
3498
|
};
|
|
3402
3499
|
const provider = function(modelId) {
|