@ai-sdk/openai 4.0.68 → 4.0.70

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 CHANGED
@@ -1,5 +1,27 @@
1
1
  # @ai-sdk/openai
2
2
 
3
+ ## 4.0.70
4
+
5
+ ### Patch Changes
6
+
7
+ - fd75cee: fix(openai): preserve provider file references in Responses tool results
8
+ - 1f5bb62: fix(openai): send assistant text as Responses easy input messages
9
+ - Updated dependencies [0455398]
10
+ - @ai-sdk/provider-utils@5.0.44
11
+
12
+ ## 4.0.69
13
+
14
+ ### Patch Changes
15
+
16
+ - d4d96bf: Add experimental Choice, Score, and Boolean evaluations through `openai.evaluationModel()` and a shared structured language-model evaluation adapter in `@ai-sdk/provider-utils/experimental-evaluation`. Preserve exact labels and metadata, validate score bounds, and return prompted Boolean P(true) estimates validated to be in [0, 1]. Boolean estimates are not guaranteed to be calibrated; application code chooses thresholds.
17
+ - Updated dependencies [215b25e]
18
+ - Updated dependencies [d4d96bf]
19
+ - Updated dependencies [a7dd893]
20
+ - Updated dependencies [3456e2c]
21
+ - Updated dependencies [c4e76de]
22
+ - @ai-sdk/provider-utils@5.0.43
23
+ - @ai-sdk/provider@4.0.17
24
+
3
25
  ## 4.0.68
4
26
 
5
27
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _ai_sdk_provider from '@ai-sdk/provider';
2
- import { JSONValue, Experimental_RealtimeModelV4, Experimental_RealtimeModelV4ClientSecretOptions, Experimental_RealtimeModelV4ClientSecretResult, Experimental_RealtimeModelV4ServerEvent, Experimental_RealtimeModelV4ClientEvent, Experimental_RealtimeModelV4SessionConfig, Experimental_RealtimeFactoryV4, ProviderV4, LanguageModelV4, EmbeddingModelV4, ImageModelV4, TranscriptionModelV4, Experimental_SpeechTranslationModelV4, SpeechModelV4, FilesV4, SkillsV4, Experimental_BatchV4, JSONObject, Experimental_SpeechTranslationModelV4StreamOptions } from '@ai-sdk/provider';
2
+ import { JSONValue, Experimental_RealtimeModelV4, Experimental_RealtimeModelV4ClientSecretOptions, Experimental_RealtimeModelV4ClientSecretResult, Experimental_RealtimeModelV4ServerEvent, Experimental_RealtimeModelV4ClientEvent, Experimental_RealtimeModelV4SessionConfig, Experimental_RealtimeFactoryV4, ProviderV4, LanguageModelV4, Experimental_EvaluationModelV4, EmbeddingModelV4, ImageModelV4, TranscriptionModelV4, Experimental_SpeechTranslationModelV4, SpeechModelV4, FilesV4, SkillsV4, Experimental_BatchV4, JSONObject, Experimental_SpeechTranslationModelV4StreamOptions } from '@ai-sdk/provider';
3
3
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
4
4
  import { InferSchema, FetchFunction, WebSocketConstructor, WORKFLOW_SERIALIZE, WORKFLOW_DESERIALIZE } from '@ai-sdk/provider-utils';
5
5
  import { z } from 'zod/v4';
@@ -1575,6 +1575,8 @@ type OpenAISpeechTranslationModelOptions = InferSchema<typeof openAISpeechTransl
1575
1575
 
1576
1576
  interface OpenAIProvider extends ProviderV4 {
1577
1577
  (modelId: OpenAIResponsesModelId): LanguageModelV4;
1578
+ /** Creates an experimental Choice/Score/Boolean evaluation model using the Responses API. */
1579
+ evaluationModel(modelId: OpenAIResponsesModelId): Experimental_EvaluationModelV4;
1578
1580
  /**
1579
1581
  * Creates an OpenAI model for text generation.
1580
1582
  */
package/dist/index.js CHANGED
@@ -6,6 +6,7 @@ import {
6
6
  withoutTrailingSlash,
7
7
  withUserAgentSuffix
8
8
  } from "@ai-sdk/provider-utils";
9
+ import { Experimental_EvaluationLanguageModel as EvaluationLanguageModel } from "@ai-sdk/provider-utils/experimental-evaluation";
9
10
 
10
11
  // src/chat/openai-chat-language-model.ts
11
12
  import {
@@ -4994,6 +4995,29 @@ async function convertFunctionToolResultOutput({
4994
4995
  case "file": {
4995
4996
  const topLevel = getTopLevelMediaType2(item.mediaType);
4996
4997
  const imageDetail = (_b = (_a3 = item.providerOptions) == null ? void 0 : _a3[providerOptionsName]) == null ? void 0 : _b.imageDetail;
4998
+ if (item.data.type === "reference") {
4999
+ const fileId = resolveProviderReference2({
5000
+ reference: item.data.reference,
5001
+ provider: providerOptionsName
5002
+ });
5003
+ if (topLevel === "image") {
5004
+ return {
5005
+ type: "input_image",
5006
+ file_id: fileId,
5007
+ detail: imageDetail,
5008
+ ...promptCacheBreakpoint2 != null && {
5009
+ prompt_cache_breakpoint: promptCacheBreakpoint2
5010
+ }
5011
+ };
5012
+ }
5013
+ return {
5014
+ type: "input_file",
5015
+ file_id: fileId,
5016
+ ...promptCacheBreakpoint2 != null && {
5017
+ prompt_cache_breakpoint: promptCacheBreakpoint2
5018
+ }
5019
+ };
5020
+ }
4997
5021
  if (item.data.type === "data") {
4998
5022
  const fullMediaType = resolveFullMediaType2({ part: item });
4999
5023
  if (topLevel === "image") {
@@ -5334,8 +5358,7 @@ async function convertToOpenAIResponsesInput({
5334
5358
  input.push({
5335
5359
  ...explicitMessageItemType && { type: "message" },
5336
5360
  role: "assistant",
5337
- content: [{ type: "output_text", text: part.text }],
5338
- id,
5361
+ content: part.text,
5339
5362
  ...phase != null && { phase }
5340
5363
  });
5341
5364
  break;
@@ -11944,7 +11967,7 @@ var OpenAISkills = class {
11944
11967
  };
11945
11968
 
11946
11969
  // src/version.ts
11947
- var VERSION = true ? "4.0.68" : "0.0.0-test";
11970
+ var VERSION = true ? "4.0.70" : "0.0.0-test";
11948
11971
 
11949
11972
  // src/openai-provider.ts
11950
11973
  function createOpenAI(options = {}) {
@@ -12066,6 +12089,10 @@ function createOpenAI(options = {}) {
12066
12089
  provider.chat = createChatModel;
12067
12090
  provider.completion = createCompletionModel;
12068
12091
  provider.responses = createResponsesModel;
12092
+ provider.evaluationModel = (modelId) => new EvaluationLanguageModel({
12093
+ model: createResponsesModel(modelId),
12094
+ provider: `${providerName}.evaluation`
12095
+ });
12069
12096
  provider.embedding = createEmbeddingModel;
12070
12097
  provider.embeddingModel = createEmbeddingModel;
12071
12098
  provider.textEmbedding = createEmbeddingModel;