@ai-sdk/openai 4.0.90 → 4.0.91
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 +11 -0
- package/dist/index.js +18 -7
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +1 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +10 -4
- package/dist/internal/index.js.map +1 -1
- package/docs/03-openai.mdx +16 -0
- package/package.json +3 -3
- package/src/embedding/openai-embedding-model.ts +2 -1
- package/src/openai-batch.ts +3 -1
- package/src/openai-decision-model.ts +2 -0
- package/src/responses/openai-responses-language-model.ts +7 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @ai-sdk/openai
|
|
2
2
|
|
|
3
|
+
## 4.0.91
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5cf13d2: feat: map the top level embedding dimensions to provider settings
|
|
8
|
+
- 72e9d38: feat(openai): send image detail in decisions
|
|
9
|
+
- fb933f9: Report failed and incomplete web searches as tool errors instead of successful tool results in OpenAI Responses API calls and batch results.
|
|
10
|
+
- Updated dependencies [4dbc902]
|
|
11
|
+
- @ai-sdk/provider@4.0.26
|
|
12
|
+
- @ai-sdk/provider-utils@5.0.58
|
|
13
|
+
|
|
3
14
|
## 4.0.90
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -142,9 +142,11 @@ var DecisionOpenAIModel = class DecisionOpenAIModel {
|
|
|
142
142
|
"image/webp",
|
|
143
143
|
"image/gif"
|
|
144
144
|
].includes(mediaType ?? "")) throw new UnsupportedFunctionalityError({ functionality: `OpenAI decision image media type: ${part.mediaType}` });
|
|
145
|
+
const detail = part.providerOptions?.openai?.imageDetail;
|
|
145
146
|
return {
|
|
146
147
|
type: "input_image",
|
|
147
|
-
image_url: `data:${mediaType};base64,${typeof part.data.data === "string" ? part.data.data : convertUint8ArrayToBase64(part.data.data)}
|
|
148
|
+
image_url: `data:${mediaType};base64,${typeof part.data.data === "string" ? part.data.data : convertUint8ArrayToBase64(part.data.data)}`,
|
|
149
|
+
...detail != null && { detail }
|
|
148
150
|
};
|
|
149
151
|
})
|
|
150
152
|
}],
|
|
@@ -1978,7 +1980,7 @@ var OpenAIEmbeddingModel = class OpenAIEmbeddingModel {
|
|
|
1978
1980
|
this.modelId = modelId;
|
|
1979
1981
|
this.config = config;
|
|
1980
1982
|
}
|
|
1981
|
-
async doEmbed({ values, headers, abortSignal, providerOptions }) {
|
|
1983
|
+
async doEmbed({ values, dimensions, headers, abortSignal, providerOptions }) {
|
|
1982
1984
|
if (values.length > this.maxEmbeddingsPerCall) throw new TooManyEmbeddingValuesForCallError({
|
|
1983
1985
|
provider: this.provider,
|
|
1984
1986
|
modelId: this.modelId,
|
|
@@ -2000,7 +2002,7 @@ var OpenAIEmbeddingModel = class OpenAIEmbeddingModel {
|
|
|
2000
2002
|
model: this.modelId,
|
|
2001
2003
|
input: values,
|
|
2002
2004
|
encoding_format: "float",
|
|
2003
|
-
dimensions: openaiOptions.dimensions,
|
|
2005
|
+
dimensions: openaiOptions.dimensions ?? dimensions,
|
|
2004
2006
|
user: openaiOptions.user
|
|
2005
2007
|
},
|
|
2006
2008
|
failedResponseHandler: openaiFailedResponseHandler,
|
|
@@ -6656,7 +6658,10 @@ var OpenAIResponsesLanguageModel = class OpenAIResponsesLanguageModel {
|
|
|
6656
6658
|
type: "tool-result",
|
|
6657
6659
|
toolCallId: part.id,
|
|
6658
6660
|
toolName: toolNameMapping.toCustomToolName(webSearchToolName ?? "web_search"),
|
|
6659
|
-
|
|
6661
|
+
...part.status === "failed" || part.status === "incomplete" ? {
|
|
6662
|
+
isError: true,
|
|
6663
|
+
result: { status: part.status }
|
|
6664
|
+
} : { result: mapWebSearchOutput(part.action) }
|
|
6660
6665
|
});
|
|
6661
6666
|
break;
|
|
6662
6667
|
case "mcp_call": {
|
|
@@ -7236,7 +7241,10 @@ var OpenAIResponsesLanguageModel = class OpenAIResponsesLanguageModel {
|
|
|
7236
7241
|
type: "tool-result",
|
|
7237
7242
|
toolCallId: value.item.id,
|
|
7238
7243
|
toolName: toolNameMapping.toCustomToolName(webSearchToolName ?? "web_search"),
|
|
7239
|
-
|
|
7244
|
+
...value.item.status === "failed" || value.item.status === "incomplete" ? {
|
|
7245
|
+
isError: true,
|
|
7246
|
+
result: { status: value.item.status }
|
|
7247
|
+
} : { result: mapWebSearchOutput(value.item.action) }
|
|
7240
7248
|
});
|
|
7241
7249
|
} else if (value.item.type === "computer_call") {
|
|
7242
7250
|
ongoingToolCalls[value.output_index] = void 0;
|
|
@@ -8369,7 +8377,10 @@ async function convertOpenAIBatchResult(body) {
|
|
|
8369
8377
|
type: "tool-result",
|
|
8370
8378
|
toolCallId: part.id,
|
|
8371
8379
|
toolName: "web_search",
|
|
8372
|
-
|
|
8380
|
+
...part.status === "failed" || part.status === "incomplete" ? {
|
|
8381
|
+
isError: true,
|
|
8382
|
+
result: { status: part.status }
|
|
8383
|
+
} : { result: mapWebSearchOutput(part.action) },
|
|
8373
8384
|
dynamic: true
|
|
8374
8385
|
});
|
|
8375
8386
|
break;
|
|
@@ -10075,7 +10086,7 @@ var OpenAISkills = class {
|
|
|
10075
10086
|
};
|
|
10076
10087
|
//#endregion
|
|
10077
10088
|
//#region src/version.ts
|
|
10078
|
-
const VERSION = "4.0.
|
|
10089
|
+
const VERSION = "4.0.91";
|
|
10079
10090
|
//#endregion
|
|
10080
10091
|
//#region src/openai-provider.ts
|
|
10081
10092
|
/**
|