@ai-sdk/openai 4.0.9 → 4.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 +15 -0
- package/dist/index.d.ts +22 -3
- package/dist/index.js +330 -76
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +16 -3
- package/dist/internal/index.js +329 -75
- package/dist/internal/index.js.map +1 -1
- package/docs/03-openai.mdx +123 -87
- package/package.json +3 -3
- package/src/chat/convert-openai-chat-usage.ts +5 -2
- package/src/chat/convert-to-openai-chat-messages.ts +114 -7
- package/src/chat/openai-chat-api.ts +2 -0
- package/src/chat/openai-chat-language-model-options.ts +20 -2
- package/src/chat/openai-chat-language-model.ts +1 -0
- package/src/chat/openai-chat-prompt.ts +8 -4
- package/src/openai-language-model-capabilities.ts +2 -1
- package/src/responses/convert-openai-responses-usage.ts +5 -2
- package/src/responses/convert-to-openai-responses-input.ts +123 -6
- package/src/responses/openai-responses-api.ts +77 -11
- package/src/responses/openai-responses-language-model-options.ts +40 -7
- package/src/responses/openai-responses-language-model.ts +37 -1
- package/src/responses/openai-responses-provider-metadata.ts +1 -0
|
@@ -367,6 +367,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
|
367
367
|
service_tier: openaiOptions?.serviceTier,
|
|
368
368
|
include,
|
|
369
369
|
prompt_cache_key: openaiOptions?.promptCacheKey,
|
|
370
|
+
prompt_cache_options: openaiOptions?.promptCacheOptions,
|
|
370
371
|
prompt_cache_retention: openaiOptions?.promptCacheRetention,
|
|
371
372
|
safety_identifier: openaiOptions?.safetyIdentifier,
|
|
372
373
|
top_logprobs: topLogprobs,
|
|
@@ -383,7 +384,9 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
|
383
384
|
// model-specific settings:
|
|
384
385
|
...(isReasoningModel &&
|
|
385
386
|
(resolvedReasoningEffort != null ||
|
|
386
|
-
resolvedReasoningSummary != null
|
|
387
|
+
resolvedReasoningSummary != null ||
|
|
388
|
+
openaiOptions?.reasoningMode != null ||
|
|
389
|
+
openaiOptions?.reasoningContext != null) && {
|
|
387
390
|
reasoning: {
|
|
388
391
|
...(resolvedReasoningEffort != null && {
|
|
389
392
|
effort: resolvedReasoningEffort,
|
|
@@ -391,6 +394,12 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
|
391
394
|
...(resolvedReasoningSummary != null && {
|
|
392
395
|
summary: resolvedReasoningSummary,
|
|
393
396
|
}),
|
|
397
|
+
...(openaiOptions?.reasoningMode != null && {
|
|
398
|
+
mode: openaiOptions.reasoningMode,
|
|
399
|
+
}),
|
|
400
|
+
...(openaiOptions?.reasoningContext != null && {
|
|
401
|
+
context: openaiOptions.reasoningContext,
|
|
402
|
+
}),
|
|
394
403
|
},
|
|
395
404
|
}),
|
|
396
405
|
};
|
|
@@ -440,6 +449,22 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
|
440
449
|
details: 'reasoningSummary is not supported for non-reasoning models',
|
|
441
450
|
});
|
|
442
451
|
}
|
|
452
|
+
|
|
453
|
+
if (openaiOptions?.reasoningMode != null) {
|
|
454
|
+
warnings.push({
|
|
455
|
+
type: 'unsupported',
|
|
456
|
+
feature: 'reasoningMode',
|
|
457
|
+
details: 'reasoningMode is not supported for non-reasoning models',
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
if (openaiOptions?.reasoningContext != null) {
|
|
462
|
+
warnings.push({
|
|
463
|
+
type: 'unsupported',
|
|
464
|
+
feature: 'reasoningContext',
|
|
465
|
+
details: 'reasoningContext is not supported for non-reasoning models',
|
|
466
|
+
});
|
|
467
|
+
}
|
|
443
468
|
}
|
|
444
469
|
|
|
445
470
|
// Validate flex processing support
|
|
@@ -1046,6 +1071,9 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
|
1046
1071
|
...(typeof response.service_tier === 'string'
|
|
1047
1072
|
? { serviceTier: response.service_tier }
|
|
1048
1073
|
: {}),
|
|
1074
|
+
...(response.reasoning?.context != null
|
|
1075
|
+
? { reasoningContext: response.reasoning.context }
|
|
1076
|
+
: {}),
|
|
1049
1077
|
} satisfies ResponsesProviderMetadata,
|
|
1050
1078
|
};
|
|
1051
1079
|
|
|
@@ -1179,6 +1207,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
|
1179
1207
|
> = {};
|
|
1180
1208
|
|
|
1181
1209
|
let serviceTier: string | undefined;
|
|
1210
|
+
let reasoningContext: ResponsesProviderMetadata['reasoningContext'];
|
|
1182
1211
|
const hostedToolSearchCallIds: string[] = [];
|
|
1183
1212
|
let encounteredStreamError = false;
|
|
1184
1213
|
|
|
@@ -2109,6 +2138,9 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
|
2109
2138
|
if (typeof value.response.service_tier === 'string') {
|
|
2110
2139
|
serviceTier = value.response.service_tier;
|
|
2111
2140
|
}
|
|
2141
|
+
if (value.response.reasoning?.context != null) {
|
|
2142
|
+
reasoningContext = value.response.reasoning.context;
|
|
2143
|
+
}
|
|
2112
2144
|
} else if (isResponseFailedChunk(value)) {
|
|
2113
2145
|
const incompleteReason =
|
|
2114
2146
|
value.response.incomplete_details?.reason;
|
|
@@ -2122,6 +2154,9 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
|
2122
2154
|
raw: incompleteReason ?? 'error',
|
|
2123
2155
|
};
|
|
2124
2156
|
usage = value.response.usage ?? undefined;
|
|
2157
|
+
if (value.response.reasoning?.context != null) {
|
|
2158
|
+
reasoningContext = value.response.reasoning.context;
|
|
2159
|
+
}
|
|
2125
2160
|
|
|
2126
2161
|
if (!encounteredStreamError && value.response.error != null) {
|
|
2127
2162
|
encounteredStreamError = true;
|
|
@@ -2219,6 +2254,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV4 {
|
|
|
2219
2254
|
responseId: responseId,
|
|
2220
2255
|
...(logprobs.length > 0 ? { logprobs } : {}),
|
|
2221
2256
|
...(serviceTier !== undefined ? { serviceTier } : {}),
|
|
2257
|
+
...(reasoningContext !== undefined ? { reasoningContext } : {}),
|
|
2222
2258
|
} satisfies ResponsesProviderMetadata,
|
|
2223
2259
|
};
|
|
2224
2260
|
|