@ai-sdk/openai 4.0.96 → 4.0.98
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 +25 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99 -48
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +13 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +81 -40
- package/dist/internal/index.js.map +1 -1
- package/package.json +4 -3
- package/src/chat/openai-chat-language-model.ts +5 -3
- package/src/completion/openai-completion-language-model.ts +5 -3
- package/src/openai-config.ts +2 -0
- package/src/openai-decision-model.ts +21 -8
- package/src/responses/convert-to-openai-responses-input.ts +6 -0
- package/src/responses/openai-responses-api.ts +9 -0
- package/src/responses/openai-responses-language-model.ts +14 -3
- package/src/tool/shell.ts +6 -0
- package/src/transcription/openai-transcription-api.ts +1 -0
- package/src/transcription/openai-transcription-model.ts +29 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# @ai-sdk/openai
|
|
2
2
|
|
|
3
|
+
## 4.0.98
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0c2a9de: Add `maxOutputTokens` and `reasoning` to experimental decision calls and forward them to language-model-backed decisions. Language-model adapters keep reasoning disabled when omitted. Native decision providers warn when either setting is unsupported.
|
|
8
|
+
- 8b728ec: fix(openai): preserve detected language codes in transcription responses
|
|
9
|
+
- 3cb1dae: fix(openai): forward shell_call timeout_ms and max_output_length to the shell tool and round-trip max_output_length
|
|
10
|
+
- Updated dependencies [0c2a9de]
|
|
11
|
+
- Updated dependencies [200c47f]
|
|
12
|
+
- @ai-sdk/provider@4.0.31
|
|
13
|
+
- @ai-sdk/provider-utils@5.0.64
|
|
14
|
+
|
|
15
|
+
## 4.0.97
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- acbc819: Add an optional `modelId` setting to Azure OpenAI language-model factories for
|
|
20
|
+
accurate telemetry and capability detection with custom deployment names. Keep
|
|
21
|
+
the deployment ID for API routing and preserve existing behavior when the model
|
|
22
|
+
ID is omitted.
|
|
23
|
+
- 60cc252: feat(perplexity): add decisions api support
|
|
24
|
+
- Updated dependencies [60cc252]
|
|
25
|
+
- @ai-sdk/provider@4.0.30
|
|
26
|
+
- @ai-sdk/provider-utils@5.0.63
|
|
27
|
+
|
|
3
28
|
## 4.0.96
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ import { z } from "zod/v4";
|
|
|
5
5
|
type OpenAIHeaders = Record<string, string | undefined>;
|
|
6
6
|
type OpenAIConfig = {
|
|
7
7
|
provider: string;
|
|
8
|
+
/** Model ID sent to the API. Defaults to the model's reported ID. */
|
|
9
|
+
requestModelId?: string;
|
|
8
10
|
baseURL?: string;
|
|
9
11
|
url: (options: {
|
|
10
12
|
modelId: string;
|
|
@@ -559,6 +561,8 @@ declare const openaiResponsesChunkSchema: import("@ai-sdk/provider-utils").LazyS
|
|
|
559
561
|
status: "in_progress" | "completed" | "incomplete";
|
|
560
562
|
action: {
|
|
561
563
|
commands: string[];
|
|
564
|
+
timeout_ms?: number | null | undefined;
|
|
565
|
+
max_output_length?: number | null | undefined;
|
|
562
566
|
};
|
|
563
567
|
} | {
|
|
564
568
|
type: "compaction";
|
|
@@ -579,6 +583,7 @@ declare const openaiResponsesChunkSchema: import("@ai-sdk/provider-utils").LazyS
|
|
|
579
583
|
exit_code: number;
|
|
580
584
|
};
|
|
581
585
|
}[];
|
|
586
|
+
max_output_length?: number | null | undefined;
|
|
582
587
|
} | {
|
|
583
588
|
type: "tool_search_call";
|
|
584
589
|
id: string;
|
|
@@ -856,6 +861,8 @@ declare const openaiResponsesChunkSchema: import("@ai-sdk/provider-utils").LazyS
|
|
|
856
861
|
status: "in_progress" | "completed" | "incomplete";
|
|
857
862
|
action: {
|
|
858
863
|
commands: string[];
|
|
864
|
+
timeout_ms?: number | null | undefined;
|
|
865
|
+
max_output_length?: number | null | undefined;
|
|
859
866
|
};
|
|
860
867
|
} | {
|
|
861
868
|
type: "compaction";
|
|
@@ -876,6 +883,7 @@ declare const openaiResponsesChunkSchema: import("@ai-sdk/provider-utils").LazyS
|
|
|
876
883
|
exit_code: number;
|
|
877
884
|
};
|
|
878
885
|
}[];
|
|
886
|
+
max_output_length?: number | null | undefined;
|
|
879
887
|
} | {
|
|
880
888
|
type: "tool_search_call";
|
|
881
889
|
id: string;
|
|
@@ -1297,6 +1305,7 @@ declare const openaiTools: {
|
|
|
1297
1305
|
maxOutputLength?: number;
|
|
1298
1306
|
};
|
|
1299
1307
|
}, {
|
|
1308
|
+
maxOutputLength?: number;
|
|
1300
1309
|
output: Array<{
|
|
1301
1310
|
stdout: string;
|
|
1302
1311
|
stderr: string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["_$__tool_apply_patch0.ApplyPatchOperation","_$__tool_custom0.customToolFactory","_$_0.OpenAIComputerAction","_$_0.OpenAIComputerSafetyCheck","_$__responses_openai_responses_api0.OpenAIResponsesFileSearchToolComparisonFilter","_$__responses_openai_responses_api0.OpenAIResponsesFileSearchToolCompoundFilter","_$__tool_web_search0.webSearchToolFactory","RealtimeModelV4ClientSecretOptions","RealtimeModelV4ClientSecretResult","RealtimeModelV4ServerEvent","RealtimeModelV4ClientEvent","RealtimeModelV4SessionConfig","RealtimeModelV4","RealtimeModelV4SessionConfig","RealtimeModelV4ClientEvent","RealtimeModelV4","RealtimeModelV4","RealtimeFactoryV4","DecisionModelV4","SpeechTranslationModelV4","BatchV4","SpeechTranslationModelV4StreamOptions","SpeechTranslationModelV4"],"sources":["../src/openai-config.ts","../src/openai-decision-model.ts","../src/chat/openai-chat-language-model-options.ts","../src/completion/openai-completion-language-model-options.ts","../src/embedding/openai-embedding-model-options.ts","../src/image/openai-image-model-options.ts","../src/tool/apply-patch.ts","../src/tool/custom.ts","../src/responses/openai-responses-language-model-options.ts","../src/responses/openai-responses-api.ts","../src/tool/web-search.ts","../src/openai-tools.ts","../src/live/openai-realtime-model-live-options.ts","../src/realtime/openai-realtime-model.ts","../src/live/openai-realtime-model-live.ts","../src/realtime/openai-realtime-factory.ts","../src/speech/openai-speech-model-options.ts","../src/transcription/openai-transcription-model-options.ts","../src/speech-translation/openai-speech-translation-model-options.ts","../src/openai-provider.ts","../src/responses/openai-responses-prepare-tools.ts","../src/speech-translation/openai-speech-translation-model.ts","../src/files/openai-files-options.ts","../src/tool/computer.ts","../src/responses/openai-responses-provider-metadata.ts","../src/version.ts","../src/openai-decision-model-options.ts"],"mappings":";;;;KAKK,gBAAgB;KAMT;EACV;EACA;EACA,MAAM;IAAW;IAAiB;;EAClC,gBAAgB;EAChB,QAAQ;EACR,YAAY;EACZ;;;;;;;EAOA;;;;;;;EAOA;;;;;;;;;EASA;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["_$__tool_apply_patch0.ApplyPatchOperation","_$__tool_custom0.customToolFactory","_$_0.OpenAIComputerAction","_$_0.OpenAIComputerSafetyCheck","_$__responses_openai_responses_api0.OpenAIResponsesFileSearchToolComparisonFilter","_$__responses_openai_responses_api0.OpenAIResponsesFileSearchToolCompoundFilter","_$__tool_web_search0.webSearchToolFactory","RealtimeModelV4ClientSecretOptions","RealtimeModelV4ClientSecretResult","RealtimeModelV4ServerEvent","RealtimeModelV4ClientEvent","RealtimeModelV4SessionConfig","RealtimeModelV4","RealtimeModelV4SessionConfig","RealtimeModelV4ClientEvent","RealtimeModelV4","RealtimeModelV4","RealtimeFactoryV4","DecisionModelV4","SpeechTranslationModelV4","BatchV4","SpeechTranslationModelV4StreamOptions","SpeechTranslationModelV4"],"sources":["../src/openai-config.ts","../src/openai-decision-model.ts","../src/chat/openai-chat-language-model-options.ts","../src/completion/openai-completion-language-model-options.ts","../src/embedding/openai-embedding-model-options.ts","../src/image/openai-image-model-options.ts","../src/tool/apply-patch.ts","../src/tool/custom.ts","../src/responses/openai-responses-language-model-options.ts","../src/responses/openai-responses-api.ts","../src/tool/web-search.ts","../src/openai-tools.ts","../src/live/openai-realtime-model-live-options.ts","../src/realtime/openai-realtime-model.ts","../src/live/openai-realtime-model-live.ts","../src/realtime/openai-realtime-factory.ts","../src/speech/openai-speech-model-options.ts","../src/transcription/openai-transcription-model-options.ts","../src/speech-translation/openai-speech-translation-model-options.ts","../src/openai-provider.ts","../src/responses/openai-responses-prepare-tools.ts","../src/speech-translation/openai-speech-translation-model.ts","../src/files/openai-files-options.ts","../src/tool/computer.ts","../src/responses/openai-responses-provider-metadata.ts","../src/version.ts","../src/openai-decision-model-options.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -105,7 +105,7 @@ var DecisionOpenAIModel = class DecisionOpenAIModel {
|
|
|
105
105
|
doEvaluate(options) {
|
|
106
106
|
return this.doDecide(options);
|
|
107
107
|
}
|
|
108
|
-
async doDecide({ state, questions, headers, abortSignal, providerOptions }) {
|
|
108
|
+
async doDecide({ state, questions, maxOutputTokens, reasoning, headers, abortSignal, providerOptions }) {
|
|
109
109
|
const openaiOptions = await parseProviderOptions({
|
|
110
110
|
provider: "openai",
|
|
111
111
|
providerOptions,
|
|
@@ -151,7 +151,7 @@ var DecisionOpenAIModel = class DecisionOpenAIModel {
|
|
|
151
151
|
})
|
|
152
152
|
}],
|
|
153
153
|
questions: Object.entries(questions).map(([name, question]) => {
|
|
154
|
-
const instructions = toText(question.instructions);
|
|
154
|
+
const instructions = question.instructions == null ? question.instructions : toText(question.instructions);
|
|
155
155
|
switch (question.type) {
|
|
156
156
|
case "boolean": return {
|
|
157
157
|
type: "predicate",
|
|
@@ -160,7 +160,7 @@ var DecisionOpenAIModel = class DecisionOpenAIModel {
|
|
|
160
160
|
instructions,
|
|
161
161
|
question.criteria?.true == null ? void 0 : `Criteria for true:\n${toText(question.criteria.true)}`,
|
|
162
162
|
question.criteria?.false == null ? void 0 : `Criteria for false:\n${toText(question.criteria.false)}`
|
|
163
|
-
].filter((part) => part
|
|
163
|
+
].filter((part) => part != null).join("\n\n")
|
|
164
164
|
};
|
|
165
165
|
case "choice": return {
|
|
166
166
|
type: "choice",
|
|
@@ -230,10 +230,20 @@ var DecisionOpenAIModel = class DecisionOpenAIModel {
|
|
|
230
230
|
probabilityDecimals: 2,
|
|
231
231
|
scoreDecimals: 2
|
|
232
232
|
},
|
|
233
|
-
warnings:
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
233
|
+
warnings: [
|
|
234
|
+
...maxOutputTokens != null ? [{
|
|
235
|
+
type: "unsupported",
|
|
236
|
+
feature: "maxOutputTokens"
|
|
237
|
+
}] : [],
|
|
238
|
+
...reasoning != null ? [{
|
|
239
|
+
type: "unsupported",
|
|
240
|
+
feature: "reasoning"
|
|
241
|
+
}] : [],
|
|
242
|
+
...Object.keys(providerOptions?.openai ?? {}).filter((option) => option !== "safetyIdentifier").map((option) => ({
|
|
243
|
+
type: "unsupported",
|
|
244
|
+
feature: `providerOptions.openai.${option}`
|
|
245
|
+
}))
|
|
246
|
+
],
|
|
237
247
|
providerMetadata: { openai: {
|
|
238
248
|
...response.usage == null ? {} : { usage: response.usage },
|
|
239
249
|
confidence: Object.fromEntries(response.answers.flatMap((answer) => (answer.type === "choice" || answer.type === "score") && answer.confidence != null ? [[answer.name, answer.confidence]] : []))
|
|
@@ -1199,7 +1209,7 @@ var OpenAIChatLanguageModel = class OpenAIChatLanguageModel {
|
|
|
1199
1209
|
const normalizedResponseFormatSchema = responseFormat?.type === "json" && responseFormat.schema != null ? normalizeOpenAIJsonSchema(responseFormat.schema) : void 0;
|
|
1200
1210
|
if (normalizedResponseFormatSchema != null) warnings.push(...normalizedResponseFormatSchema.warnings);
|
|
1201
1211
|
const baseArgs = {
|
|
1202
|
-
model: this.modelId,
|
|
1212
|
+
model: this.config.requestModelId ?? this.modelId,
|
|
1203
1213
|
logit_bias: openaiOptions.logitBias,
|
|
1204
1214
|
logprobs: openaiOptions.logprobs === true || typeof openaiOptions.logprobs === "number" ? true : void 0,
|
|
1205
1215
|
top_logprobs: typeof openaiOptions.logprobs === "number" ? openaiOptions.logprobs : typeof openaiOptions.logprobs === "boolean" ? openaiOptions.logprobs ? 0 : void 0 : void 0,
|
|
@@ -1346,7 +1356,7 @@ var OpenAIChatLanguageModel = class OpenAIChatLanguageModel {
|
|
|
1346
1356
|
const { responseHeaders, value: response, rawValue: rawResponse } = await postJsonToApi({
|
|
1347
1357
|
url: this.config.url({
|
|
1348
1358
|
path: "/chat/completions",
|
|
1349
|
-
modelId: this.modelId
|
|
1359
|
+
modelId: this.config.requestModelId ?? this.modelId
|
|
1350
1360
|
}),
|
|
1351
1361
|
headers: combineHeaders(this.config.headers?.(), options.headers),
|
|
1352
1362
|
body,
|
|
@@ -1410,7 +1420,7 @@ var OpenAIChatLanguageModel = class OpenAIChatLanguageModel {
|
|
|
1410
1420
|
};
|
|
1411
1421
|
const url = this.config.url({
|
|
1412
1422
|
path: "/chat/completions",
|
|
1413
|
-
modelId: this.modelId
|
|
1423
|
+
modelId: this.config.requestModelId ?? this.modelId
|
|
1414
1424
|
});
|
|
1415
1425
|
const { responseHeaders, value: response } = await postJsonToApi({
|
|
1416
1426
|
url,
|
|
@@ -1766,7 +1776,7 @@ var OpenAICompletionLanguageModel = class OpenAICompletionLanguageModel {
|
|
|
1766
1776
|
const stop = [...stopSequences ?? [], ...userStopSequences ?? []];
|
|
1767
1777
|
return {
|
|
1768
1778
|
args: {
|
|
1769
|
-
model: this.modelId,
|
|
1779
|
+
model: this.config.requestModelId ?? this.modelId,
|
|
1770
1780
|
echo: openaiOptions.echo,
|
|
1771
1781
|
logit_bias: openaiOptions.logitBias,
|
|
1772
1782
|
logprobs: openaiOptions?.logprobs === true ? 0 : openaiOptions?.logprobs === false ? void 0 : openaiOptions?.logprobs,
|
|
@@ -1789,7 +1799,7 @@ var OpenAICompletionLanguageModel = class OpenAICompletionLanguageModel {
|
|
|
1789
1799
|
const { responseHeaders, value: response, rawValue: rawResponse } = await postJsonToApi({
|
|
1790
1800
|
url: this.config.url({
|
|
1791
1801
|
path: "/completions",
|
|
1792
|
-
modelId: this.modelId
|
|
1802
|
+
modelId: this.config.requestModelId ?? this.modelId
|
|
1793
1803
|
}),
|
|
1794
1804
|
headers: combineHeaders(this.config.headers?.(), options.headers),
|
|
1795
1805
|
body: args,
|
|
@@ -1830,7 +1840,7 @@ var OpenAICompletionLanguageModel = class OpenAICompletionLanguageModel {
|
|
|
1830
1840
|
};
|
|
1831
1841
|
const url = this.config.url({
|
|
1832
1842
|
path: "/completions",
|
|
1833
|
-
modelId: this.modelId
|
|
1843
|
+
modelId: this.config.requestModelId ?? this.modelId
|
|
1834
1844
|
});
|
|
1835
1845
|
const { responseHeaders, value: response } = await postJsonToApi({
|
|
1836
1846
|
url,
|
|
@@ -2823,14 +2833,17 @@ const shellInputSchema = lazySchema(() => zodSchema(z.object({ action: z.object(
|
|
|
2823
2833
|
timeoutMs: z.number().optional(),
|
|
2824
2834
|
maxOutputLength: z.number().optional()
|
|
2825
2835
|
}) })));
|
|
2826
|
-
const shellOutputSchema = lazySchema(() => zodSchema(z.object({
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2830
|
-
|
|
2831
|
-
|
|
2832
|
-
|
|
2833
|
-
|
|
2836
|
+
const shellOutputSchema = lazySchema(() => zodSchema(z.object({
|
|
2837
|
+
maxOutputLength: z.number().optional(),
|
|
2838
|
+
output: z.array(z.object({
|
|
2839
|
+
stdout: z.string(),
|
|
2840
|
+
stderr: z.string(),
|
|
2841
|
+
outcome: z.discriminatedUnion("type", [z.object({ type: z.literal("timeout") }), z.object({
|
|
2842
|
+
type: z.literal("exit"),
|
|
2843
|
+
exitCode: z.number()
|
|
2844
|
+
})])
|
|
2845
|
+
}))
|
|
2846
|
+
})));
|
|
2834
2847
|
const shellSkillsSchema = z.array(z.discriminatedUnion("type", [z.object({
|
|
2835
2848
|
type: z.literal("skillReference"),
|
|
2836
2849
|
providerReference: z.record(z.string(), z.string()),
|
|
@@ -3599,7 +3612,11 @@ const openaiResponsesChunkSchema = lazySchema(() => zodSchema(z.union([
|
|
|
3599
3612
|
"completed",
|
|
3600
3613
|
"incomplete"
|
|
3601
3614
|
]),
|
|
3602
|
-
action: z.object({
|
|
3615
|
+
action: z.object({
|
|
3616
|
+
commands: z.array(z.string()),
|
|
3617
|
+
timeout_ms: z.number().nullish(),
|
|
3618
|
+
max_output_length: z.number().nullish()
|
|
3619
|
+
})
|
|
3603
3620
|
}),
|
|
3604
3621
|
z.object({
|
|
3605
3622
|
type: z.literal("compaction"),
|
|
@@ -3615,6 +3632,7 @@ const openaiResponsesChunkSchema = lazySchema(() => zodSchema(z.union([
|
|
|
3615
3632
|
"completed",
|
|
3616
3633
|
"incomplete"
|
|
3617
3634
|
]),
|
|
3635
|
+
max_output_length: z.number().nullish(),
|
|
3618
3636
|
output: z.array(z.object({
|
|
3619
3637
|
stdout: z.string(),
|
|
3620
3638
|
stderr: z.string(),
|
|
@@ -3824,7 +3842,11 @@ const openaiResponsesChunkSchema = lazySchema(() => zodSchema(z.union([
|
|
|
3824
3842
|
"completed",
|
|
3825
3843
|
"incomplete"
|
|
3826
3844
|
]),
|
|
3827
|
-
action: z.object({
|
|
3845
|
+
action: z.object({
|
|
3846
|
+
commands: z.array(z.string()),
|
|
3847
|
+
timeout_ms: z.number().nullish(),
|
|
3848
|
+
max_output_length: z.number().nullish()
|
|
3849
|
+
})
|
|
3828
3850
|
}),
|
|
3829
3851
|
z.object({
|
|
3830
3852
|
type: z.literal("compaction"),
|
|
@@ -3840,6 +3862,7 @@ const openaiResponsesChunkSchema = lazySchema(() => zodSchema(z.union([
|
|
|
3840
3862
|
"completed",
|
|
3841
3863
|
"incomplete"
|
|
3842
3864
|
]),
|
|
3865
|
+
max_output_length: z.number().nullish(),
|
|
3843
3866
|
output: z.array(z.object({
|
|
3844
3867
|
stdout: z.string(),
|
|
3845
3868
|
stderr: z.string(),
|
|
@@ -4201,7 +4224,11 @@ const openaiResponsesResponseSchema = lazySchema(() => zodSchema(z.object({
|
|
|
4201
4224
|
"completed",
|
|
4202
4225
|
"incomplete"
|
|
4203
4226
|
]),
|
|
4204
|
-
action: z.object({
|
|
4227
|
+
action: z.object({
|
|
4228
|
+
commands: z.array(z.string()),
|
|
4229
|
+
timeout_ms: z.number().nullish(),
|
|
4230
|
+
max_output_length: z.number().nullish()
|
|
4231
|
+
})
|
|
4205
4232
|
}),
|
|
4206
4233
|
z.object({
|
|
4207
4234
|
type: z.literal("compaction"),
|
|
@@ -4217,6 +4244,7 @@ const openaiResponsesResponseSchema = lazySchema(() => zodSchema(z.object({
|
|
|
4217
4244
|
"completed",
|
|
4218
4245
|
"incomplete"
|
|
4219
4246
|
]),
|
|
4247
|
+
max_output_length: z.number().nullish(),
|
|
4220
4248
|
output: z.array(z.object({
|
|
4221
4249
|
stdout: z.string(),
|
|
4222
4250
|
stderr: z.string(),
|
|
@@ -5220,6 +5248,7 @@ async function convertToOpenAIResponsesInput({ prompt, toolNameMapping, systemMe
|
|
|
5220
5248
|
input.push({
|
|
5221
5249
|
type: "shell_call_output",
|
|
5222
5250
|
call_id: part.toolCallId,
|
|
5251
|
+
...parsedOutput.maxOutputLength != null && { max_output_length: parsedOutput.maxOutputLength },
|
|
5223
5252
|
output: parsedOutput.output.map((item) => ({
|
|
5224
5253
|
stdout: item.stdout,
|
|
5225
5254
|
stderr: item.stderr,
|
|
@@ -5426,6 +5455,7 @@ async function convertToOpenAIResponsesInput({ prompt, toolNameMapping, systemMe
|
|
|
5426
5455
|
input.push({
|
|
5427
5456
|
type: "shell_call_output",
|
|
5428
5457
|
call_id: part.toolCallId,
|
|
5458
|
+
...parsedOutput.maxOutputLength != null && { max_output_length: parsedOutput.maxOutputLength },
|
|
5429
5459
|
output: parsedOutput.output.map((item) => ({
|
|
5430
5460
|
stdout: item.stdout,
|
|
5431
5461
|
stderr: item.stderr,
|
|
@@ -6361,7 +6391,7 @@ var OpenAIResponsesLanguageModel = class OpenAIResponsesLanguageModel {
|
|
|
6361
6391
|
const store = openaiOptions?.store;
|
|
6362
6392
|
if (store === false && isReasoningModel) addInclude("reasoning.encrypted_content");
|
|
6363
6393
|
const baseArgs = {
|
|
6364
|
-
model: modelId,
|
|
6394
|
+
model: config.requestModelId ?? modelId,
|
|
6365
6395
|
input,
|
|
6366
6396
|
temperature,
|
|
6367
6397
|
top_p: topP,
|
|
@@ -6507,7 +6537,7 @@ var OpenAIResponsesLanguageModel = class OpenAIResponsesLanguageModel {
|
|
|
6507
6537
|
const { args: body, warnings, webSearchToolName, toolNameMapping, providerOptionsName, isShellProviderExecuted } = await this.getArgs(options);
|
|
6508
6538
|
const url = this.config.url({
|
|
6509
6539
|
path: "/responses",
|
|
6510
|
-
modelId: this.modelId
|
|
6540
|
+
modelId: this.config.requestModelId ?? this.modelId
|
|
6511
6541
|
});
|
|
6512
6542
|
const approvalRequestIdToDummyToolCallIdFromPrompt = extractApprovalRequestIdToToolCallIdMapping(options.prompt);
|
|
6513
6543
|
const { responseHeaders, value: response, rawValue: rawResponse } = await postJsonToApi({
|
|
@@ -6620,7 +6650,11 @@ var OpenAIResponsesLanguageModel = class OpenAIResponsesLanguageModel {
|
|
|
6620
6650
|
type: "tool-call",
|
|
6621
6651
|
toolCallId: part.call_id,
|
|
6622
6652
|
toolName: toolNameMapping.toCustomToolName("shell"),
|
|
6623
|
-
input: JSON.stringify({ action: {
|
|
6653
|
+
input: JSON.stringify({ action: {
|
|
6654
|
+
commands: part.action.commands,
|
|
6655
|
+
timeoutMs: part.action.timeout_ms ?? void 0,
|
|
6656
|
+
maxOutputLength: part.action.max_output_length ?? void 0
|
|
6657
|
+
} }),
|
|
6624
6658
|
...isShellProviderExecuted && { providerExecuted: true },
|
|
6625
6659
|
providerMetadata: { [providerOptionsName]: { itemId: part.id } }
|
|
6626
6660
|
});
|
|
@@ -6630,14 +6664,17 @@ var OpenAIResponsesLanguageModel = class OpenAIResponsesLanguageModel {
|
|
|
6630
6664
|
type: "tool-result",
|
|
6631
6665
|
toolCallId: part.call_id,
|
|
6632
6666
|
toolName: toolNameMapping.toCustomToolName("shell"),
|
|
6633
|
-
result: {
|
|
6634
|
-
|
|
6635
|
-
|
|
6636
|
-
|
|
6637
|
-
|
|
6638
|
-
|
|
6639
|
-
|
|
6640
|
-
|
|
6667
|
+
result: {
|
|
6668
|
+
...part.max_output_length != null && { maxOutputLength: part.max_output_length },
|
|
6669
|
+
output: part.output.map((item) => ({
|
|
6670
|
+
stdout: item.stdout,
|
|
6671
|
+
stderr: item.stderr,
|
|
6672
|
+
outcome: item.outcome.type === "exit" ? {
|
|
6673
|
+
type: "exit",
|
|
6674
|
+
exitCode: item.outcome.exit_code
|
|
6675
|
+
} : { type: "timeout" }
|
|
6676
|
+
}))
|
|
6677
|
+
}
|
|
6641
6678
|
});
|
|
6642
6679
|
break;
|
|
6643
6680
|
case "message":
|
|
@@ -6951,7 +6988,7 @@ var OpenAIResponsesLanguageModel = class OpenAIResponsesLanguageModel {
|
|
|
6951
6988
|
const { args: body, warnings, webSearchToolName, toolNameMapping, store, providerOptionsName, isShellProviderExecuted } = await this.getArgs(options);
|
|
6952
6989
|
const url = this.config.url({
|
|
6953
6990
|
path: "/responses",
|
|
6954
|
-
modelId: this.modelId
|
|
6991
|
+
modelId: this.config.requestModelId ?? this.modelId
|
|
6955
6992
|
});
|
|
6956
6993
|
const { responseHeaders, value: response } = await postJsonToApi({
|
|
6957
6994
|
url,
|
|
@@ -7605,7 +7642,11 @@ var OpenAIResponsesLanguageModel = class OpenAIResponsesLanguageModel {
|
|
|
7605
7642
|
type: "tool-call",
|
|
7606
7643
|
toolCallId: value.item.call_id,
|
|
7607
7644
|
toolName: toolNameMapping.toCustomToolName("shell"),
|
|
7608
|
-
input: JSON.stringify({ action: {
|
|
7645
|
+
input: JSON.stringify({ action: {
|
|
7646
|
+
commands: value.item.action.commands,
|
|
7647
|
+
timeoutMs: value.item.action.timeout_ms ?? void 0,
|
|
7648
|
+
maxOutputLength: value.item.action.max_output_length ?? void 0
|
|
7649
|
+
} }),
|
|
7609
7650
|
...isShellProviderExecuted && { providerExecuted: true },
|
|
7610
7651
|
providerMetadata: { [providerOptionsName]: { itemId: value.item.id } }
|
|
7611
7652
|
});
|
|
@@ -7613,14 +7654,17 @@ var OpenAIResponsesLanguageModel = class OpenAIResponsesLanguageModel {
|
|
|
7613
7654
|
type: "tool-result",
|
|
7614
7655
|
toolCallId: value.item.call_id,
|
|
7615
7656
|
toolName: toolNameMapping.toCustomToolName("shell"),
|
|
7616
|
-
result: {
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
|
|
7657
|
+
result: {
|
|
7658
|
+
...value.item.max_output_length != null && { maxOutputLength: value.item.max_output_length },
|
|
7659
|
+
output: value.item.output.map((item) => ({
|
|
7660
|
+
stdout: item.stdout,
|
|
7661
|
+
stderr: item.stderr,
|
|
7662
|
+
outcome: item.outcome.type === "exit" ? {
|
|
7663
|
+
type: "exit",
|
|
7664
|
+
exitCode: item.outcome.exit_code
|
|
7665
|
+
} : { type: "timeout" }
|
|
7666
|
+
}))
|
|
7667
|
+
}
|
|
7624
7668
|
});
|
|
7625
7669
|
else if (value.item.type === "reasoning") {
|
|
7626
7670
|
const itemId = resolveOutputItemId({
|
|
@@ -9441,6 +9485,7 @@ var OpenAISpeechModel = class OpenAISpeechModel {
|
|
|
9441
9485
|
const openaiTranscriptionResponseSchema = lazySchema(() => zodSchema(z.object({
|
|
9442
9486
|
text: z.string(),
|
|
9443
9487
|
language: z.string().nullish(),
|
|
9488
|
+
languages: z.array(z.object({ code: z.string() })).nullish(),
|
|
9444
9489
|
duration: z.number().nullish(),
|
|
9445
9490
|
words: z.array(z.object({
|
|
9446
9491
|
word: z.string(),
|
|
@@ -9599,6 +9644,9 @@ const languageMap = {
|
|
|
9599
9644
|
vietnamese: "vi",
|
|
9600
9645
|
welsh: "cy"
|
|
9601
9646
|
};
|
|
9647
|
+
function isLanguageCode(language) {
|
|
9648
|
+
return language != null && /^[a-z]{2}$/.test(language);
|
|
9649
|
+
}
|
|
9602
9650
|
var OpenAITranscriptionModel = class OpenAITranscriptionModel {
|
|
9603
9651
|
static [WORKFLOW_SERIALIZE](model) {
|
|
9604
9652
|
return serializeModelOptions({
|
|
@@ -9674,7 +9722,7 @@ var OpenAITranscriptionModel = class OpenAITranscriptionModel {
|
|
|
9674
9722
|
abortSignal: options.abortSignal,
|
|
9675
9723
|
fetch: this.config.fetch
|
|
9676
9724
|
});
|
|
9677
|
-
const language = response.language != null && response.language
|
|
9725
|
+
const language = (isLanguageCode(response.language) ? response.language : response.language != null && Object.prototype.hasOwnProperty.call(languageMap, response.language) ? languageMap[response.language] : void 0) ?? (response.languages?.length === 1 && isLanguageCode(response.languages[0].code) ? response.languages[0].code : void 0);
|
|
9678
9726
|
const diarizedSegments = response.segments?.flatMap((segment) => "speaker" in segment ? [{
|
|
9679
9727
|
text: segment.text,
|
|
9680
9728
|
startSecond: segment.start,
|
|
@@ -9702,7 +9750,10 @@ var OpenAITranscriptionModel = class OpenAITranscriptionModel {
|
|
|
9702
9750
|
headers: responseHeaders,
|
|
9703
9751
|
body: rawResponse
|
|
9704
9752
|
},
|
|
9705
|
-
...diarizedSegments != null && diarizedSegments.length > 0 && { providerMetadata: { openai: {
|
|
9753
|
+
...(diarizedSegments != null && diarizedSegments.length > 0 || response.languages != null) && { providerMetadata: { openai: {
|
|
9754
|
+
...diarizedSegments != null && diarizedSegments.length > 0 && { segments: diarizedSegments },
|
|
9755
|
+
...response.languages != null && { languages: response.languages }
|
|
9756
|
+
} } }
|
|
9706
9757
|
};
|
|
9707
9758
|
}
|
|
9708
9759
|
async doStream(options) {
|
|
@@ -10191,7 +10242,7 @@ var OpenAISkills = class {
|
|
|
10191
10242
|
};
|
|
10192
10243
|
//#endregion
|
|
10193
10244
|
//#region src/version.ts
|
|
10194
|
-
const VERSION = "4.0.
|
|
10245
|
+
const VERSION = "4.0.98";
|
|
10195
10246
|
//#endregion
|
|
10196
10247
|
//#region src/openai-provider.ts
|
|
10197
10248
|
/**
|