@ai-sdk/openai 1.3.22 → 1.3.24
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 +12 -0
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +36 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +38 -6
- package/dist/index.mjs.map +1 -1
- package/internal/dist/index.d.mts +2 -2
- package/internal/dist/index.d.ts +2 -2
- package/internal/dist/index.js +36 -6
- package/internal/dist/index.js.map +1 -1
- package/internal/dist/index.mjs +38 -6
- package/internal/dist/index.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import { LanguageModelV1, EmbeddingModelV1, ImageModelV1, TranscriptionModelV1Ca
|
|
|
2
2
|
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
|
-
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o1-mini' | 'o1-mini-2024-09-12' | 'o1-preview' | 'o1-preview-2024-09-12' | '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-10-01' | 'gpt-4o-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-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | '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' | (string & {});
|
|
5
|
+
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o1-mini' | 'o1-mini-2024-09-12' | 'o1-preview' | 'o1-preview-2024-09-12' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-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-audio-preview' | 'gpt-4o-audio-preview-2024-10-01' | 'gpt-4o-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-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | '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' | (string & {});
|
|
6
6
|
interface OpenAIChatSettings {
|
|
7
7
|
/**
|
|
8
8
|
Modify the likelihood of specified tokens appearing in the completion.
|
|
@@ -338,7 +338,7 @@ declare class OpenAISpeechModel implements SpeechModelV1 {
|
|
|
338
338
|
doGenerate(options: Parameters<SpeechModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<SpeechModelV1['doGenerate']>>>;
|
|
339
339
|
}
|
|
340
340
|
|
|
341
|
-
type OpenAIResponsesModelId = 'o1' | 'o1-2024-12-17' | 'o1-mini' | 'o1-mini-2024-09-12' | 'o1-preview' | 'o1-preview-2024-09-12' | '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-10-01' | 'gpt-4o-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-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | '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' | (string & {});
|
|
341
|
+
type OpenAIResponsesModelId = 'o1' | 'o1-2024-12-17' | 'o1-mini' | 'o1-mini-2024-09-12' | 'o1-preview' | 'o1-preview-2024-09-12' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-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-audio-preview' | 'gpt-4o-audio-preview-2024-10-01' | 'gpt-4o-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-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | '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' | (string & {});
|
|
342
342
|
|
|
343
343
|
declare class OpenAIResponsesLanguageModel implements LanguageModelV1 {
|
|
344
344
|
readonly specificationVersion = "v1";
|
package/internal/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { LanguageModelV1, EmbeddingModelV1, ImageModelV1, TranscriptionModelV1Ca
|
|
|
2
2
|
import { FetchFunction } from '@ai-sdk/provider-utils';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
|
-
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o1-mini' | 'o1-mini-2024-09-12' | 'o1-preview' | 'o1-preview-2024-09-12' | '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-10-01' | 'gpt-4o-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-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | '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' | (string & {});
|
|
5
|
+
type OpenAIChatModelId = 'o1' | 'o1-2024-12-17' | 'o1-mini' | 'o1-mini-2024-09-12' | 'o1-preview' | 'o1-preview-2024-09-12' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-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-audio-preview' | 'gpt-4o-audio-preview-2024-10-01' | 'gpt-4o-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-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | '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' | (string & {});
|
|
6
6
|
interface OpenAIChatSettings {
|
|
7
7
|
/**
|
|
8
8
|
Modify the likelihood of specified tokens appearing in the completion.
|
|
@@ -338,7 +338,7 @@ declare class OpenAISpeechModel implements SpeechModelV1 {
|
|
|
338
338
|
doGenerate(options: Parameters<SpeechModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<SpeechModelV1['doGenerate']>>>;
|
|
339
339
|
}
|
|
340
340
|
|
|
341
|
-
type OpenAIResponsesModelId = 'o1' | 'o1-2024-12-17' | 'o1-mini' | 'o1-mini-2024-09-12' | 'o1-preview' | 'o1-preview-2024-09-12' | '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-10-01' | 'gpt-4o-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-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | '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' | (string & {});
|
|
341
|
+
type OpenAIResponsesModelId = 'o1' | 'o1-2024-12-17' | 'o1-mini' | 'o1-mini-2024-09-12' | 'o1-preview' | 'o1-preview-2024-09-12' | 'o3-mini' | 'o3-mini-2025-01-31' | 'o3' | 'o3-2025-04-16' | 'o4-mini' | 'o4-mini-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-audio-preview' | 'gpt-4o-audio-preview-2024-10-01' | 'gpt-4o-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-4o-mini' | 'gpt-4o-mini-2024-07-18' | 'gpt-4-turbo' | 'gpt-4-turbo-2024-04-09' | 'gpt-4-turbo-preview' | 'gpt-4-0125-preview' | 'gpt-4-1106-preview' | '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' | (string & {});
|
|
342
342
|
|
|
343
343
|
declare class OpenAIResponsesLanguageModel implements LanguageModelV1 {
|
|
344
344
|
readonly specificationVersion = "v1";
|
package/internal/dist/index.js
CHANGED
|
@@ -1057,7 +1057,7 @@ var openaiChatChunkSchema = import_zod2.z.union([
|
|
|
1057
1057
|
openaiErrorDataSchema
|
|
1058
1058
|
]);
|
|
1059
1059
|
function isReasoningModel(modelId) {
|
|
1060
|
-
return modelId.startsWith("o");
|
|
1060
|
+
return modelId.startsWith("o") || modelId.startsWith("gpt-5");
|
|
1061
1061
|
}
|
|
1062
1062
|
function isAudioModel(modelId) {
|
|
1063
1063
|
return modelId.startsWith("gpt-4o-audio-preview");
|
|
@@ -1897,6 +1897,7 @@ var OpenAISpeechModel = class {
|
|
|
1897
1897
|
};
|
|
1898
1898
|
|
|
1899
1899
|
// src/responses/openai-responses-language-model.ts
|
|
1900
|
+
var import_provider9 = require("@ai-sdk/provider");
|
|
1900
1901
|
var import_provider_utils10 = require("@ai-sdk/provider-utils");
|
|
1901
1902
|
var import_zod8 = require("zod");
|
|
1902
1903
|
|
|
@@ -2309,15 +2310,16 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2309
2310
|
async doGenerate(options) {
|
|
2310
2311
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
2311
2312
|
const { args: body, warnings } = this.getArgs(options);
|
|
2313
|
+
const url = this.config.url({
|
|
2314
|
+
path: "/responses",
|
|
2315
|
+
modelId: this.modelId
|
|
2316
|
+
});
|
|
2312
2317
|
const {
|
|
2313
2318
|
responseHeaders,
|
|
2314
2319
|
value: response,
|
|
2315
2320
|
rawValue: rawResponse
|
|
2316
2321
|
} = await (0, import_provider_utils10.postJsonToApi)({
|
|
2317
|
-
url
|
|
2318
|
-
path: "/responses",
|
|
2319
|
-
modelId: this.modelId
|
|
2320
|
-
}),
|
|
2322
|
+
url,
|
|
2321
2323
|
headers: (0, import_provider_utils10.combineHeaders)(this.config.headers(), options.headers),
|
|
2322
2324
|
body,
|
|
2323
2325
|
failedResponseHandler: openaiFailedResponseHandler,
|
|
@@ -2325,6 +2327,10 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2325
2327
|
import_zod8.z.object({
|
|
2326
2328
|
id: import_zod8.z.string(),
|
|
2327
2329
|
created_at: import_zod8.z.number(),
|
|
2330
|
+
error: import_zod8.z.object({
|
|
2331
|
+
message: import_zod8.z.string(),
|
|
2332
|
+
code: import_zod8.z.string()
|
|
2333
|
+
}).nullish(),
|
|
2328
2334
|
model: import_zod8.z.string(),
|
|
2329
2335
|
output: import_zod8.z.array(
|
|
2330
2336
|
import_zod8.z.discriminatedUnion("type", [
|
|
@@ -2377,6 +2383,17 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2377
2383
|
abortSignal: options.abortSignal,
|
|
2378
2384
|
fetch: this.config.fetch
|
|
2379
2385
|
});
|
|
2386
|
+
if (response.error) {
|
|
2387
|
+
throw new import_provider9.APICallError({
|
|
2388
|
+
message: response.error.message,
|
|
2389
|
+
url,
|
|
2390
|
+
requestBodyValues: body,
|
|
2391
|
+
statusCode: 400,
|
|
2392
|
+
responseHeaders,
|
|
2393
|
+
responseBody: rawResponse,
|
|
2394
|
+
isRetryable: false
|
|
2395
|
+
});
|
|
2396
|
+
}
|
|
2380
2397
|
const outputTextElements = response.output.filter((output) => output.type === "message").flatMap((output) => output.content).filter((content) => content.type === "output_text");
|
|
2381
2398
|
const toolCalls = response.output.filter((output) => output.type === "function_call").map((output) => ({
|
|
2382
2399
|
toolCallType: "function",
|
|
@@ -2548,6 +2565,8 @@ var OpenAIResponsesLanguageModel = class {
|
|
|
2548
2565
|
title: value.annotation.title
|
|
2549
2566
|
}
|
|
2550
2567
|
});
|
|
2568
|
+
} else if (isErrorChunk(value)) {
|
|
2569
|
+
controller.enqueue({ type: "error", error: value });
|
|
2551
2570
|
}
|
|
2552
2571
|
},
|
|
2553
2572
|
flush(controller) {
|
|
@@ -2657,6 +2676,13 @@ var responseReasoningSummaryTextDeltaSchema = import_zod8.z.object({
|
|
|
2657
2676
|
summary_index: import_zod8.z.number(),
|
|
2658
2677
|
delta: import_zod8.z.string()
|
|
2659
2678
|
});
|
|
2679
|
+
var errorChunkSchema = import_zod8.z.object({
|
|
2680
|
+
type: import_zod8.z.literal("error"),
|
|
2681
|
+
code: import_zod8.z.string(),
|
|
2682
|
+
message: import_zod8.z.string(),
|
|
2683
|
+
param: import_zod8.z.string().nullish(),
|
|
2684
|
+
sequence_number: import_zod8.z.number()
|
|
2685
|
+
});
|
|
2660
2686
|
var openaiResponsesChunkSchema = import_zod8.z.union([
|
|
2661
2687
|
textDeltaChunkSchema,
|
|
2662
2688
|
responseFinishedChunkSchema,
|
|
@@ -2666,6 +2692,7 @@ var openaiResponsesChunkSchema = import_zod8.z.union([
|
|
|
2666
2692
|
responseOutputItemAddedSchema,
|
|
2667
2693
|
responseAnnotationAddedSchema,
|
|
2668
2694
|
responseReasoningSummaryTextDeltaSchema,
|
|
2695
|
+
errorChunkSchema,
|
|
2669
2696
|
import_zod8.z.object({ type: import_zod8.z.string() }).passthrough()
|
|
2670
2697
|
// fallback for unknown chunks
|
|
2671
2698
|
]);
|
|
@@ -2693,8 +2720,11 @@ function isResponseAnnotationAddedChunk(chunk) {
|
|
|
2693
2720
|
function isResponseReasoningSummaryTextDeltaChunk(chunk) {
|
|
2694
2721
|
return chunk.type === "response.reasoning_summary_text.delta";
|
|
2695
2722
|
}
|
|
2723
|
+
function isErrorChunk(chunk) {
|
|
2724
|
+
return chunk.type === "error";
|
|
2725
|
+
}
|
|
2696
2726
|
function getResponsesModelConfig(modelId) {
|
|
2697
|
-
if (modelId.startsWith("o")) {
|
|
2727
|
+
if (modelId.startsWith("o") || modelId.startsWith("gpt-5")) {
|
|
2698
2728
|
if (modelId.startsWith("o1-mini") || modelId.startsWith("o1-preview")) {
|
|
2699
2729
|
return {
|
|
2700
2730
|
isReasoningModel: true,
|