@ai-sdk/openai 4.0.52 → 4.0.53

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.
@@ -101,13 +101,18 @@ declare class OpenAICompletionLanguageModel implements LanguageModelV4 {
101
101
  doStream(options: LanguageModelV4CallOptions): Promise<LanguageModelV4StreamResult>;
102
102
  }
103
103
 
104
+ type OpenAIHeaders = Record<string, string | undefined>;
105
+ type SerializedOpenAIConfig = Omit<Partial<OpenAIConfig>, 'headers'> & {
106
+ headers?: (() => OpenAIHeaders) | OpenAIHeaders;
107
+ };
104
108
  type OpenAIConfig = {
105
109
  provider: string;
110
+ baseURL?: string;
106
111
  url: (options: {
107
112
  modelId: string;
108
113
  path: string;
109
114
  }) => string;
110
- headers?: () => Record<string, string | undefined>;
115
+ headers?: () => OpenAIHeaders;
111
116
  fetch?: FetchFunction;
112
117
  webSocket?: WebSocketConstructor;
113
118
  generateId?: () => string;
@@ -121,6 +126,7 @@ type OpenAIConfig = {
121
126
  */
122
127
  fileIdPrefixes?: readonly string[];
123
128
  };
129
+ declare function prepareOpenAIConfigForWorkflowDeserialize(config: SerializedOpenAIConfig): OpenAIConfig;
124
130
 
125
131
  type OpenAIEmbeddingModelId = 'text-embedding-3-small' | 'text-embedding-3-large' | 'text-embedding-ada-002' | (string & {});
126
132
  declare const openaiEmbeddingModelOptions: _ai_sdk_provider_utils.LazySchema<{
@@ -1598,8 +1604,8 @@ declare class OpenAIResponsesLanguageModel implements LanguageModelV4 {
1598
1604
  config: _ai_sdk_provider.JSONObject;
1599
1605
  };
1600
1606
  static [WORKFLOW_DESERIALIZE](options: {
1601
- modelId: OpenAIResponsesModelId;
1602
- config: OpenAIConfig;
1607
+ modelId: string;
1608
+ config: Parameters<typeof prepareOpenAIConfigForWorkflowDeserialize>[0];
1603
1609
  }): OpenAIResponsesLanguageModel;
1604
1610
  constructor(modelId: OpenAIResponsesModelId, config: OpenAIConfig);
1605
1611
  readonly supportedUrls: Record<string, RegExp[]>;
@@ -3072,6 +3072,28 @@ import {
3072
3072
  WORKFLOW_SERIALIZE as WORKFLOW_SERIALIZE7
3073
3073
  } from "@ai-sdk/provider-utils";
3074
3074
 
3075
+ // src/openai-config.ts
3076
+ function prepareOpenAIConfigForWorkflowDeserialize(config) {
3077
+ if (config.provider == null) {
3078
+ throw new Error(
3079
+ "OpenAI model is missing provider after workflow deserialization."
3080
+ );
3081
+ }
3082
+ return {
3083
+ ...config,
3084
+ provider: config.provider,
3085
+ url: typeof config.url === "function" ? config.url : ({ path }) => {
3086
+ if (config.baseURL == null) {
3087
+ throw new Error(
3088
+ "OpenAI model is missing baseURL after workflow deserialization."
3089
+ );
3090
+ }
3091
+ return `${config.baseURL}${path}`;
3092
+ },
3093
+ headers: typeof config.headers === "function" ? config.headers : config.headers == null ? void 0 : () => config.headers
3094
+ };
3095
+ }
3096
+
3075
3097
  // src/responses/convert-openai-responses-usage.ts
3076
3098
  import { createNullLanguageModelUsage as createNullLanguageModelUsage3 } from "@ai-sdk/provider-utils";
3077
3099
  function convertOpenAIResponsesUsage(usage) {
@@ -6984,7 +7006,10 @@ var OpenAIResponsesLanguageModel = class _OpenAIResponsesLanguageModel {
6984
7006
  });
6985
7007
  }
6986
7008
  static [WORKFLOW_DESERIALIZE7](options) {
6987
- return new _OpenAIResponsesLanguageModel(options.modelId, options.config);
7009
+ return new _OpenAIResponsesLanguageModel(
7010
+ options.modelId,
7011
+ prepareOpenAIConfigForWorkflowDeserialize(options.config)
7012
+ );
6988
7013
  }
6989
7014
  get provider() {
6990
7015
  return this.config.provider;