@ai-sdk/openai 4.0.0-beta.13 → 4.0.0-beta.16
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 +23 -0
- package/dist/index.d.mts +24 -2
- package/dist/index.d.ts +24 -2
- package/dist/index.js +44 -10
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +44 -10
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +24 -2
- package/dist/internal/index.d.ts +24 -2
- package/dist/internal/index.js +43 -9
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/index.mjs +43 -9
- package/dist/internal/index.mjs.map +1 -1
- package/docs/03-openai.mdx +2 -0
- package/package.json +3 -3
- package/src/chat/openai-chat-options.ts +4 -0
- package/src/openai-language-model-capabilities.ts +2 -2
- package/src/responses/convert-to-openai-responses-input.ts +1 -1
- package/src/responses/openai-responses-api.ts +25 -0
- package/src/responses/openai-responses-language-model.ts +21 -2
- package/src/responses/openai-responses-options.ts +8 -0
|
@@ -2,7 +2,7 @@ import { LanguageModelV4, LanguageModelV4CallOptions, LanguageModelV4GenerateRes
|
|
|
2
2
|
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
3
3
|
import { InferSchema, FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
|
|
5
|
-
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-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-audio-preview' | 'gpt-4o-audio-preview-2024-12-17' | 'gpt-4o-audio-preview-2025-06-03' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini-audio-preview' | 'gpt-4o-mini-audio-preview-2024-12-17' | 'gpt-4o-search-preview' | 'gpt-4o-search-preview-2025-03-11' | 'gpt-4o-mini-search-preview' | 'gpt-4o-mini-search-preview-2025-03-11' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo-16k' | '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-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.3-chat-latest' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | (string & {});
|
|
5
|
+
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-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-audio-preview' | 'gpt-4o-audio-preview-2024-12-17' | 'gpt-4o-audio-preview-2025-06-03' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini-audio-preview' | 'gpt-4o-mini-audio-preview-2024-12-17' | 'gpt-4o-search-preview' | 'gpt-4o-search-preview-2025-03-11' | 'gpt-4o-mini-search-preview' | 'gpt-4o-mini-search-preview-2025-03-11' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo-16k' | '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-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.3-chat-latest' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-mini' | 'gpt-5.4-mini-2026-03-17' | 'gpt-5.4-nano' | 'gpt-5.4-nano-2026-03-17' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | (string & {});
|
|
6
6
|
declare const openaiLanguageModelChatOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
7
7
|
logitBias?: Record<number, number> | undefined;
|
|
8
8
|
logprobs?: number | boolean | undefined;
|
|
@@ -188,7 +188,7 @@ declare class OpenAISpeechModel implements SpeechModelV4 {
|
|
|
188
188
|
doGenerate(options: Parameters<SpeechModelV4['doGenerate']>[0]): Promise<Awaited<ReturnType<SpeechModelV4['doGenerate']>>>;
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
type OpenAIResponsesModelId = 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.1-codex-mini' | 'gpt-5.1-codex' | 'gpt-5.1-codex-max' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.2-codex' | 'gpt-5.3-chat-latest' | 'gpt-5.3-codex' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | 'gpt-5-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-5-mini-2025-08-07' | 'gpt-5-mini' | 'gpt-5-nano-2025-08-07' | 'gpt-5-nano' | 'gpt-5-pro-2025-10-06' | 'gpt-5-pro' | 'gpt-5' | 'o1-2024-12-17' | 'o1' | 'o3-2025-04-16' | 'o3-mini-2025-01-31' | 'o3-mini' | 'o3' | 'o4-mini' | 'o4-mini-2025-04-16' | (string & {});
|
|
191
|
+
type OpenAIResponsesModelId = 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.1-codex-mini' | 'gpt-5.1-codex' | 'gpt-5.1-codex-max' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.2-codex' | 'gpt-5.3-chat-latest' | 'gpt-5.3-codex' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-mini' | 'gpt-5.4-mini-2026-03-17' | 'gpt-5.4-nano' | 'gpt-5.4-nano-2026-03-17' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | 'gpt-5-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-5-mini-2025-08-07' | 'gpt-5-mini' | 'gpt-5-nano-2025-08-07' | 'gpt-5-nano' | 'gpt-5-pro-2025-10-06' | 'gpt-5-pro' | 'gpt-5' | 'o1-2024-12-17' | 'o1' | 'o3-2025-04-16' | 'o3-mini-2025-01-31' | 'o3-mini' | 'o3' | 'o4-mini' | 'o4-mini-2025-04-16' | (string & {});
|
|
192
192
|
|
|
193
193
|
declare class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
194
194
|
readonly specificationVersion = "v4";
|
|
@@ -265,6 +265,28 @@ declare const openaiResponsesChunkSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
265
265
|
} | null | undefined;
|
|
266
266
|
service_tier?: string | null | undefined;
|
|
267
267
|
};
|
|
268
|
+
} | {
|
|
269
|
+
type: "response.failed";
|
|
270
|
+
response: {
|
|
271
|
+
error?: {
|
|
272
|
+
message: string;
|
|
273
|
+
code?: string | null | undefined;
|
|
274
|
+
} | null | undefined;
|
|
275
|
+
incomplete_details?: {
|
|
276
|
+
reason: string;
|
|
277
|
+
} | null | undefined;
|
|
278
|
+
usage?: {
|
|
279
|
+
input_tokens: number;
|
|
280
|
+
output_tokens: number;
|
|
281
|
+
input_tokens_details?: {
|
|
282
|
+
cached_tokens?: number | null | undefined;
|
|
283
|
+
} | null | undefined;
|
|
284
|
+
output_tokens_details?: {
|
|
285
|
+
reasoning_tokens?: number | null | undefined;
|
|
286
|
+
} | null | undefined;
|
|
287
|
+
} | null | undefined;
|
|
288
|
+
service_tier?: string | null | undefined;
|
|
289
|
+
};
|
|
268
290
|
} | {
|
|
269
291
|
type: "response.created";
|
|
270
292
|
response: {
|
package/dist/internal/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { LanguageModelV4, LanguageModelV4CallOptions, LanguageModelV4GenerateRes
|
|
|
2
2
|
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
3
3
|
import { InferSchema, FetchFunction } from '@ai-sdk/provider-utils';
|
|
4
4
|
|
|
5
|
-
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-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-audio-preview' | 'gpt-4o-audio-preview-2024-12-17' | 'gpt-4o-audio-preview-2025-06-03' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini-audio-preview' | 'gpt-4o-mini-audio-preview-2024-12-17' | 'gpt-4o-search-preview' | 'gpt-4o-search-preview-2025-03-11' | 'gpt-4o-mini-search-preview' | 'gpt-4o-mini-search-preview-2025-03-11' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo-16k' | '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-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.3-chat-latest' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | (string & {});
|
|
5
|
+
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-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-audio-preview' | 'gpt-4o-audio-preview-2024-12-17' | 'gpt-4o-audio-preview-2025-06-03' | 'gpt-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini-audio-preview' | 'gpt-4o-mini-audio-preview-2024-12-17' | 'gpt-4o-search-preview' | 'gpt-4o-search-preview-2025-03-11' | 'gpt-4o-mini-search-preview' | 'gpt-4o-mini-search-preview-2025-03-11' | 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo-16k' | '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-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.3-chat-latest' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-mini' | 'gpt-5.4-mini-2026-03-17' | 'gpt-5.4-nano' | 'gpt-5.4-nano-2026-03-17' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | (string & {});
|
|
6
6
|
declare const openaiLanguageModelChatOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
7
7
|
logitBias?: Record<number, number> | undefined;
|
|
8
8
|
logprobs?: number | boolean | undefined;
|
|
@@ -188,7 +188,7 @@ declare class OpenAISpeechModel implements SpeechModelV4 {
|
|
|
188
188
|
doGenerate(options: Parameters<SpeechModelV4['doGenerate']>[0]): Promise<Awaited<ReturnType<SpeechModelV4['doGenerate']>>>;
|
|
189
189
|
}
|
|
190
190
|
|
|
191
|
-
type OpenAIResponsesModelId = 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.1-codex-mini' | 'gpt-5.1-codex' | 'gpt-5.1-codex-max' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.2-codex' | 'gpt-5.3-chat-latest' | 'gpt-5.3-codex' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | 'gpt-5-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-5-mini-2025-08-07' | 'gpt-5-mini' | 'gpt-5-nano-2025-08-07' | 'gpt-5-nano' | 'gpt-5-pro-2025-10-06' | 'gpt-5-pro' | 'gpt-5' | 'o1-2024-12-17' | 'o1' | 'o3-2025-04-16' | 'o3-mini-2025-01-31' | 'o3-mini' | 'o3' | 'o4-mini' | 'o4-mini-2025-04-16' | (string & {});
|
|
191
|
+
type OpenAIResponsesModelId = 'gpt-3.5-turbo-0125' | 'gpt-3.5-turbo-1106' | 'gpt-3.5-turbo' | 'gpt-4.1-2025-04-14' | 'gpt-4.1-mini-2025-04-14' | 'gpt-4.1-mini' | 'gpt-4.1-nano-2025-04-14' | 'gpt-4.1-nano' | 'gpt-4.1' | 'gpt-4o-2024-05-13' | 'gpt-4o-2024-08-06' | 'gpt-4o-2024-11-20' | 'gpt-4o-mini-2024-07-18' | 'gpt-4o-mini' | 'gpt-4o' | 'gpt-5.1' | 'gpt-5.1-2025-11-13' | 'gpt-5.1-chat-latest' | 'gpt-5.1-codex-mini' | 'gpt-5.1-codex' | 'gpt-5.1-codex-max' | 'gpt-5.2' | 'gpt-5.2-2025-12-11' | 'gpt-5.2-chat-latest' | 'gpt-5.2-pro' | 'gpt-5.2-pro-2025-12-11' | 'gpt-5.2-codex' | 'gpt-5.3-chat-latest' | 'gpt-5.3-codex' | 'gpt-5.4' | 'gpt-5.4-2026-03-05' | 'gpt-5.4-mini' | 'gpt-5.4-mini-2026-03-17' | 'gpt-5.4-nano' | 'gpt-5.4-nano-2026-03-17' | 'gpt-5.4-pro' | 'gpt-5.4-pro-2026-03-05' | 'gpt-5-2025-08-07' | 'gpt-5-chat-latest' | 'gpt-5-codex' | 'gpt-5-mini-2025-08-07' | 'gpt-5-mini' | 'gpt-5-nano-2025-08-07' | 'gpt-5-nano' | 'gpt-5-pro-2025-10-06' | 'gpt-5-pro' | 'gpt-5' | 'o1-2024-12-17' | 'o1' | 'o3-2025-04-16' | 'o3-mini-2025-01-31' | 'o3-mini' | 'o3' | 'o4-mini' | 'o4-mini-2025-04-16' | (string & {});
|
|
192
192
|
|
|
193
193
|
declare class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
194
194
|
readonly specificationVersion = "v4";
|
|
@@ -265,6 +265,28 @@ declare const openaiResponsesChunkSchema: _ai_sdk_provider_utils.LazySchema<{
|
|
|
265
265
|
} | null | undefined;
|
|
266
266
|
service_tier?: string | null | undefined;
|
|
267
267
|
};
|
|
268
|
+
} | {
|
|
269
|
+
type: "response.failed";
|
|
270
|
+
response: {
|
|
271
|
+
error?: {
|
|
272
|
+
message: string;
|
|
273
|
+
code?: string | null | undefined;
|
|
274
|
+
} | null | undefined;
|
|
275
|
+
incomplete_details?: {
|
|
276
|
+
reason: string;
|
|
277
|
+
} | null | undefined;
|
|
278
|
+
usage?: {
|
|
279
|
+
input_tokens: number;
|
|
280
|
+
output_tokens: number;
|
|
281
|
+
input_tokens_details?: {
|
|
282
|
+
cached_tokens?: number | null | undefined;
|
|
283
|
+
} | null | undefined;
|
|
284
|
+
output_tokens_details?: {
|
|
285
|
+
reasoning_tokens?: number | null | undefined;
|
|
286
|
+
} | null | undefined;
|
|
287
|
+
} | null | undefined;
|
|
288
|
+
service_tier?: string | null | undefined;
|
|
289
|
+
};
|
|
268
290
|
} | {
|
|
269
291
|
type: "response.created";
|
|
270
292
|
response: {
|
package/dist/internal/index.js
CHANGED
|
@@ -82,7 +82,7 @@ var openaiFailedResponseHandler = (0, import_provider_utils.createJsonErrorRespo
|
|
|
82
82
|
// src/openai-language-model-capabilities.ts
|
|
83
83
|
function getOpenAILanguageModelCapabilities(modelId) {
|
|
84
84
|
const supportsFlexProcessing = modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
|
|
85
|
-
const supportsPriorityProcessing = modelId.startsWith("gpt-4") || modelId.startsWith("gpt-5
|
|
85
|
+
const supportsPriorityProcessing = modelId.startsWith("gpt-4") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-nano") && !modelId.startsWith("gpt-5-chat") && !modelId.startsWith("gpt-5.4-nano") || modelId.startsWith("o3") || modelId.startsWith("o4-mini");
|
|
86
86
|
const isReasoningModel = modelId.startsWith("o1") || modelId.startsWith("o3") || modelId.startsWith("o4-mini") || modelId.startsWith("gpt-5") && !modelId.startsWith("gpt-5-chat");
|
|
87
87
|
const supportsNonReasoningParameters = modelId.startsWith("gpt-5.1") || modelId.startsWith("gpt-5.2") || modelId.startsWith("gpt-5.3") || modelId.startsWith("gpt-5.4");
|
|
88
88
|
const systemMessageMode = isReasoningModel ? "developer" : "system";
|
|
@@ -2950,7 +2950,7 @@ async function convertToOpenAIResponsesInput({
|
|
|
2950
2950
|
break;
|
|
2951
2951
|
}
|
|
2952
2952
|
case "custom": {
|
|
2953
|
-
if (part.kind === "openai
|
|
2953
|
+
if (part.kind === "openai.compaction") {
|
|
2954
2954
|
const providerOpts = (_n = part.providerOptions) == null ? void 0 : _n[providerOptionsName];
|
|
2955
2955
|
const id = providerOpts == null ? void 0 : providerOpts.itemId;
|
|
2956
2956
|
if (hasConversation && id != null) {
|
|
@@ -3265,6 +3265,23 @@ var openaiResponsesChunkSchema = (0, import_provider_utils24.lazySchema)(
|
|
|
3265
3265
|
service_tier: import_v417.z.string().nullish()
|
|
3266
3266
|
})
|
|
3267
3267
|
}),
|
|
3268
|
+
import_v417.z.object({
|
|
3269
|
+
type: import_v417.z.literal("response.failed"),
|
|
3270
|
+
response: import_v417.z.object({
|
|
3271
|
+
error: import_v417.z.object({
|
|
3272
|
+
code: import_v417.z.string().nullish(),
|
|
3273
|
+
message: import_v417.z.string()
|
|
3274
|
+
}).nullish(),
|
|
3275
|
+
incomplete_details: import_v417.z.object({ reason: import_v417.z.string() }).nullish(),
|
|
3276
|
+
usage: import_v417.z.object({
|
|
3277
|
+
input_tokens: import_v417.z.number(),
|
|
3278
|
+
input_tokens_details: import_v417.z.object({ cached_tokens: import_v417.z.number().nullish() }).nullish(),
|
|
3279
|
+
output_tokens: import_v417.z.number(),
|
|
3280
|
+
output_tokens_details: import_v417.z.object({ reasoning_tokens: import_v417.z.number().nullish() }).nullish()
|
|
3281
|
+
}).nullish(),
|
|
3282
|
+
service_tier: import_v417.z.string().nullish()
|
|
3283
|
+
})
|
|
3284
|
+
}),
|
|
3268
3285
|
import_v417.z.object({
|
|
3269
3286
|
type: import_v417.z.literal("response.created"),
|
|
3270
3287
|
response: import_v417.z.object({
|
|
@@ -4097,6 +4114,10 @@ var openaiResponsesReasoningModelIds = [
|
|
|
4097
4114
|
"gpt-5.3-codex",
|
|
4098
4115
|
"gpt-5.4",
|
|
4099
4116
|
"gpt-5.4-2026-03-05",
|
|
4117
|
+
"gpt-5.4-mini",
|
|
4118
|
+
"gpt-5.4-mini-2026-03-17",
|
|
4119
|
+
"gpt-5.4-nano",
|
|
4120
|
+
"gpt-5.4-nano-2026-03-17",
|
|
4100
4121
|
"gpt-5.4-pro",
|
|
4101
4122
|
"gpt-5.4-pro-2026-03-05"
|
|
4102
4123
|
];
|
|
@@ -5605,7 +5626,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
5605
5626
|
case "compaction": {
|
|
5606
5627
|
content.push({
|
|
5607
5628
|
type: "custom",
|
|
5608
|
-
kind: "openai
|
|
5629
|
+
kind: "openai.compaction",
|
|
5609
5630
|
providerMetadata: {
|
|
5610
5631
|
[providerOptionsName]: {
|
|
5611
5632
|
type: "compaction",
|
|
@@ -5699,7 +5720,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
5699
5720
|
controller.enqueue({ type: "stream-start", warnings });
|
|
5700
5721
|
},
|
|
5701
5722
|
transform(chunk, controller) {
|
|
5702
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J;
|
|
5723
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C, _D, _E, _F, _G, _H, _I, _J, _K, _L;
|
|
5703
5724
|
if (options.includeRawChunks) {
|
|
5704
5725
|
controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
|
|
5705
5726
|
}
|
|
@@ -6248,7 +6269,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
6248
6269
|
} else if (value.item.type === "compaction") {
|
|
6249
6270
|
controller.enqueue({
|
|
6250
6271
|
type: "custom",
|
|
6251
|
-
kind: "openai
|
|
6272
|
+
kind: "openai.compaction",
|
|
6252
6273
|
providerMetadata: {
|
|
6253
6274
|
[providerOptionsName]: {
|
|
6254
6275
|
type: "compaction",
|
|
@@ -6436,13 +6457,23 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
6436
6457
|
if (typeof value.response.service_tier === "string") {
|
|
6437
6458
|
serviceTier = value.response.service_tier;
|
|
6438
6459
|
}
|
|
6460
|
+
} else if (isResponseFailedChunk(value)) {
|
|
6461
|
+
const incompleteReason = (_y = value.response.incomplete_details) == null ? void 0 : _y.reason;
|
|
6462
|
+
finishReason = {
|
|
6463
|
+
unified: incompleteReason ? mapOpenAIResponseFinishReason({
|
|
6464
|
+
finishReason: incompleteReason,
|
|
6465
|
+
hasFunctionCall
|
|
6466
|
+
}) : "error",
|
|
6467
|
+
raw: incompleteReason != null ? incompleteReason : "error"
|
|
6468
|
+
};
|
|
6469
|
+
usage = (_z = value.response.usage) != null ? _z : void 0;
|
|
6439
6470
|
} else if (isResponseAnnotationAddedChunk(value)) {
|
|
6440
6471
|
ongoingAnnotations.push(value.annotation);
|
|
6441
6472
|
if (value.annotation.type === "url_citation") {
|
|
6442
6473
|
controller.enqueue({
|
|
6443
6474
|
type: "source",
|
|
6444
6475
|
sourceType: "url",
|
|
6445
|
-
id: (
|
|
6476
|
+
id: (_C = (_B = (_A = self.config).generateId) == null ? void 0 : _B.call(_A)) != null ? _C : (0, import_provider_utils34.generateId)(),
|
|
6446
6477
|
url: value.annotation.url,
|
|
6447
6478
|
title: value.annotation.title
|
|
6448
6479
|
});
|
|
@@ -6450,7 +6481,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
6450
6481
|
controller.enqueue({
|
|
6451
6482
|
type: "source",
|
|
6452
6483
|
sourceType: "document",
|
|
6453
|
-
id: (
|
|
6484
|
+
id: (_F = (_E = (_D = self.config).generateId) == null ? void 0 : _E.call(_D)) != null ? _F : (0, import_provider_utils34.generateId)(),
|
|
6454
6485
|
mediaType: "text/plain",
|
|
6455
6486
|
title: value.annotation.filename,
|
|
6456
6487
|
filename: value.annotation.filename,
|
|
@@ -6466,7 +6497,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
6466
6497
|
controller.enqueue({
|
|
6467
6498
|
type: "source",
|
|
6468
6499
|
sourceType: "document",
|
|
6469
|
-
id: (
|
|
6500
|
+
id: (_I = (_H = (_G = self.config).generateId) == null ? void 0 : _H.call(_G)) != null ? _I : (0, import_provider_utils34.generateId)(),
|
|
6470
6501
|
mediaType: "text/plain",
|
|
6471
6502
|
title: value.annotation.filename,
|
|
6472
6503
|
filename: value.annotation.filename,
|
|
@@ -6482,7 +6513,7 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
6482
6513
|
controller.enqueue({
|
|
6483
6514
|
type: "source",
|
|
6484
6515
|
sourceType: "document",
|
|
6485
|
-
id: (
|
|
6516
|
+
id: (_L = (_K = (_J = self.config).generateId) == null ? void 0 : _K.call(_J)) != null ? _L : (0, import_provider_utils34.generateId)(),
|
|
6486
6517
|
mediaType: "application/octet-stream",
|
|
6487
6518
|
title: value.annotation.file_id,
|
|
6488
6519
|
filename: value.annotation.file_id,
|
|
@@ -6530,6 +6561,9 @@ function isResponseOutputItemDoneChunk(chunk) {
|
|
|
6530
6561
|
function isResponseFinishedChunk(chunk) {
|
|
6531
6562
|
return chunk.type === "response.completed" || chunk.type === "response.incomplete";
|
|
6532
6563
|
}
|
|
6564
|
+
function isResponseFailedChunk(chunk) {
|
|
6565
|
+
return chunk.type === "response.failed";
|
|
6566
|
+
}
|
|
6533
6567
|
function isResponseCreatedChunk(chunk) {
|
|
6534
6568
|
return chunk.type === "response.created";
|
|
6535
6569
|
}
|