@ai-sdk/openai-compatible 3.0.74 → 3.0.75

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,14 @@
1
1
  # @ai-sdk/openai-compatible
2
2
 
3
+ ## 3.0.75
4
+
5
+ ### Patch Changes
6
+
7
+ - e619655: Defer construction of provider validation schemas until first use to reduce package import time.
8
+ - Updated dependencies [b089ce8]
9
+ - Updated dependencies [39a776b]
10
+ - @ai-sdk/provider-utils@5.0.65
11
+
3
12
  ## 3.0.74
4
13
 
5
14
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EmbeddingModelV4, ImageModelV4, LanguageModelV4, LanguageModelV4CallOptions, LanguageModelV4GenerateResult, LanguageModelV4StreamResult, LanguageModelV4Usage, ProviderV4, SharedV4ProviderMetadata, SharedV4Warning } from "@ai-sdk/provider";
2
- import { FetchFunction, WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE } from "@ai-sdk/provider-utils";
2
+ import { FetchFunction, InferSchema, WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE } from "@ai-sdk/provider-utils";
3
3
  import { ZodType, z } from "zod/v4";
4
4
  //#region src/openai-compatible-error.d.ts
5
5
  declare const openaiCompatibleErrorDataSchema: z.ZodObject<{
@@ -106,7 +106,7 @@ type OpenAICompatibleChatConfig = {
106
106
  * Optional usage converter for OpenAI-compatible providers with different
107
107
  * token accounting semantics.
108
108
  */
109
- convertUsage?: (usage: z.infer<typeof openaiCompatibleTokenUsageSchema>) => LanguageModelV4Usage;
109
+ convertUsage?: (usage: z.infer<ReturnType<typeof openaiCompatibleTokenUsageSchema>>) => LanguageModelV4Usage;
110
110
  };
111
111
  export declare class OpenAICompatibleChatLanguageModel implements LanguageModelV4 {
112
112
  readonly specificationVersion = "v4";
@@ -133,7 +133,7 @@ export declare class OpenAICompatibleChatLanguageModel implements LanguageModelV
133
133
  doGenerate(options: LanguageModelV4CallOptions): Promise<LanguageModelV4GenerateResult>;
134
134
  doStream(options: LanguageModelV4CallOptions): Promise<LanguageModelV4StreamResult>;
135
135
  }
136
- declare const openaiCompatibleTokenUsageSchema: z.ZodOptional<z.ZodNullable<z.ZodObject<{
136
+ declare const openaiCompatibleTokenUsageSchema: () => z.ZodOptional<z.ZodNullable<z.ZodObject<{
137
137
  prompt_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
138
138
  completion_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
139
139
  total_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -149,13 +149,13 @@ declare const openaiCompatibleTokenUsageSchema: z.ZodOptional<z.ZodNullable<z.Zo
149
149
  //#endregion
150
150
  //#region src/completion/openai-compatible-completion-language-model-options.d.ts
151
151
  type OpenAICompatibleCompletionModelId = string;
152
- declare const openaiCompatibleLanguageModelCompletionOptions: z.ZodObject<{
153
- echo: z.ZodOptional<z.ZodBoolean>;
154
- logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
155
- suffix: z.ZodOptional<z.ZodString>;
156
- user: z.ZodOptional<z.ZodString>;
157
- }, z.core.$strip>;
158
- type OpenAICompatibleLanguageModelCompletionOptions = z.infer<typeof openaiCompatibleLanguageModelCompletionOptions>;
152
+ declare const openaiCompatibleLanguageModelCompletionOptions: import("@ai-sdk/provider-utils").LazySchema<{
153
+ echo?: boolean | undefined;
154
+ logitBias?: Record<string, number> | undefined;
155
+ suffix?: string | undefined;
156
+ user?: string | undefined;
157
+ }>;
158
+ type OpenAICompatibleLanguageModelCompletionOptions = InferSchema<typeof openaiCompatibleLanguageModelCompletionOptions>;
159
159
  //#endregion
160
160
  //#region src/completion/openai-compatible-completion-language-model.d.ts
161
161
  type OpenAICompatibleCompletionConfig = {
@@ -198,11 +198,11 @@ export declare class OpenAICompatibleCompletionLanguageModel implements Language
198
198
  //#endregion
199
199
  //#region src/embedding/openai-compatible-embedding-model-options.d.ts
200
200
  type OpenAICompatibleEmbeddingModelId = string;
201
- declare const openaiCompatibleEmbeddingModelOptions: z.ZodObject<{
202
- dimensions: z.ZodOptional<z.ZodNumber>;
203
- user: z.ZodOptional<z.ZodString>;
204
- }, z.core.$strip>;
205
- type OpenAICompatibleEmbeddingModelOptions = z.infer<typeof openaiCompatibleEmbeddingModelOptions>;
201
+ declare const openaiCompatibleEmbeddingModelOptions: import("@ai-sdk/provider-utils").LazySchema<{
202
+ dimensions?: number | undefined;
203
+ user?: string | undefined;
204
+ }>;
205
+ type OpenAICompatibleEmbeddingModelOptions = InferSchema<typeof openaiCompatibleEmbeddingModelOptions>;
206
206
  //#endregion
207
207
  //#region src/embedding/openai-compatible-embedding-model.d.ts
208
208
  type OpenAICompatibleEmbeddingConfig = {
@@ -292,37 +292,15 @@ export declare class OpenAICompatibleImageModel implements ImageModelV4 {
292
292
  *
293
293
  * Additional provider-specific options are passed through to the API.
294
294
  */
295
- declare const openaiCompatibleImageModelOptions: z.ZodObject<{
296
- /**
297
- * Dimensions of the generated image.
298
- *
299
- * Supported values depend on the provider and model.
300
- */
301
- size: z.ZodOptional<z.ZodString>;
302
- /**
303
- * Quality of the generated image.
304
- *
305
- * Supported values depend on the provider and model.
306
- */
307
- quality: z.ZodOptional<z.ZodString>;
308
- /**
309
- * File format of the generated image.
310
- *
311
- * Supported values depend on the provider and model.
312
- */
313
- output_format: z.ZodOptional<z.ZodString>;
314
- /**
315
- * Compression level for JPEG and WebP images.
316
- */
317
- output_compression: z.ZodOptional<z.ZodNumber>;
318
- /**
319
- * Background behavior for the generated image.
320
- *
321
- * Supported values depend on the provider and model.
322
- */
323
- background: z.ZodOptional<z.ZodString>;
324
- }, z.core.$loose>;
325
- type OpenAICompatibleImageModelOptions = z.infer<typeof openaiCompatibleImageModelOptions>;
295
+ declare const openaiCompatibleImageModelOptions: import("@ai-sdk/provider-utils").LazySchema<{
296
+ [x: string]: unknown;
297
+ size?: string | undefined;
298
+ quality?: string | undefined;
299
+ output_format?: string | undefined;
300
+ output_compression?: number | undefined;
301
+ background?: string | undefined;
302
+ }>;
303
+ type OpenAICompatibleImageModelOptions = InferSchema<typeof openaiCompatibleImageModelOptions>;
326
304
  //#endregion
327
305
  //#region src/openai-compatible-provider.d.ts
328
306
  interface OpenAICompatibleProvider<CHAT_MODEL_IDS extends string = string, COMPLETION_MODEL_IDS extends string = string, EMBEDDING_MODEL_IDS extends string = string, IMAGE_MODEL_IDS extends string = string> extends ProviderV4 {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/openai-compatible-error.ts","../src/chat/openai-compatible-chat-language-model-options.ts","../src/chat/openai-compatible-metadata-extractor.ts","../src/chat/openai-compatible-chat-language-model.ts","../src/completion/openai-compatible-completion-language-model-options.ts","../src/completion/openai-compatible-completion-language-model.ts","../src/embedding/openai-compatible-embedding-model-options.ts","../src/embedding/openai-compatible-embedding-model.ts","../src/image/openai-compatible-image-settings.ts","../src/image/openai-compatible-image-model.ts","../src/image/openai-compatible-image-model-options.ts","../src/openai-compatible-provider.ts","../src/version.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/openai-compatible-error.ts","../src/chat/openai-compatible-chat-language-model-options.ts","../src/chat/openai-compatible-metadata-extractor.ts","../src/chat/openai-compatible-chat-language-model.ts","../src/completion/openai-compatible-completion-language-model-options.ts","../src/completion/openai-compatible-completion-language-model.ts","../src/embedding/openai-compatible-embedding-model-options.ts","../src/embedding/openai-compatible-embedding-model.ts","../src/image/openai-compatible-image-settings.ts","../src/image/openai-compatible-image-model.ts","../src/image/openai-compatible-image-model-options.ts","../src/openai-compatible-provider.ts","../src/version.ts"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { InvalidPromptError, InvalidResponseDataError, TooManyEmbeddingValuesForCallError, UnsupportedFunctionalityError } from "@ai-sdk/provider";
2
- import { StreamingToolCallTracker, WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE, combineHeaders, convertBase64ToUint8Array, convertToBase64, convertToFormData, createBinaryResponseHandler, createEventSourceResponseHandler, createJsonErrorResponseHandler, createJsonResponseHandler, createLanguageModelResponseMetadata, createLanguageModelResponseMetadata as getResponseMetadata, createNullLanguageModelUsage, createStatusCodeErrorResponseHandler, downloadBlob, generateId, getFromApi, getTopLevelMediaType, isCustomReasoning, parseProviderOptions, postFormDataToApi, postJsonToApi, resolveFullMediaType, resolveProviderReference, serializeModelOptions, withUserAgentSuffix, withoutTrailingSlash } from "@ai-sdk/provider-utils";
2
+ import { StreamingToolCallTracker, WORKFLOW_DESERIALIZE, WORKFLOW_SERIALIZE, combineHeaders, convertBase64ToUint8Array, convertToBase64, convertToFormData, createBinaryResponseHandler, createEventSourceResponseHandler, createJsonErrorResponseHandler, createJsonResponseHandler, createLanguageModelResponseMetadata, createLanguageModelResponseMetadata as getResponseMetadata, createNullLanguageModelUsage, createStatusCodeErrorResponseHandler, downloadBlob, generateId, getFromApi, getTopLevelMediaType, isCustomReasoning, lazySchema, parseProviderOptions, postFormDataToApi, postJsonToApi, resolveFullMediaType, resolveProviderReference, serializeModelOptions, withUserAgentSuffix, withoutTrailingSlash, zodSchema } from "@ai-sdk/provider-utils";
3
3
  import { z } from "zod/v4";
4
4
  //#region src/utils/to-camel-case.ts
5
5
  function toCamelCase(str) {
@@ -751,7 +751,7 @@ var OpenAICompatibleChatLanguageModel = class OpenAICompatibleChatLanguageModel
751
751
  };
752
752
  }
753
753
  };
754
- const openaiCompatibleTokenUsageSchema = z.looseObject({
754
+ const openaiCompatibleTokenUsageSchema = () => z.looseObject({
755
755
  prompt_tokens: z.number().nullish(),
756
756
  completion_tokens: z.number().nullish(),
757
757
  total_tokens: z.number().nullish(),
@@ -762,7 +762,7 @@ const openaiCompatibleTokenUsageSchema = z.looseObject({
762
762
  rejected_prediction_tokens: z.number().nullish()
763
763
  }).nullish()
764
764
  }).nullish();
765
- const openAICompatibleContentSchema = z.union([z.string(), z.array(z.looseObject({ type: z.string() }))]).nullish();
765
+ const openAICompatibleContentSchema = () => z.union([z.string(), z.array(z.looseObject({ type: z.string() }))]).nullish();
766
766
  function convertOpenAICompatibleContent(content) {
767
767
  if (content == null) return [];
768
768
  if (typeof content === "string") return content.length > 0 ? [{
@@ -784,14 +784,14 @@ function convertOpenAICompatibleContent(content) {
784
784
  }
785
785
  return result;
786
786
  }
787
- const OpenAICompatibleChatResponseSchema = z.looseObject({
787
+ const OpenAICompatibleChatResponseSchema = lazySchema(() => zodSchema(z.looseObject({
788
788
  id: z.string().nullish(),
789
789
  created: z.number().nullish(),
790
790
  model: z.string().nullish(),
791
791
  choices: z.array(z.object({
792
792
  message: z.object({
793
793
  role: z.literal("assistant").nullish(),
794
- content: openAICompatibleContentSchema,
794
+ content: openAICompatibleContentSchema(),
795
795
  reasoning_content: z.string().nullish(),
796
796
  reasoning: z.string().nullish(),
797
797
  tool_calls: z.array(z.object({
@@ -805,16 +805,16 @@ const OpenAICompatibleChatResponseSchema = z.looseObject({
805
805
  }),
806
806
  finish_reason: z.string().nullish()
807
807
  })),
808
- usage: openaiCompatibleTokenUsageSchema
809
- });
810
- const chunkBaseSchema = z.looseObject({
808
+ usage: openaiCompatibleTokenUsageSchema()
809
+ })));
810
+ const chunkBaseSchema = () => z.looseObject({
811
811
  id: z.string().nullish(),
812
812
  created: z.number().nullish(),
813
813
  model: z.string().nullish(),
814
814
  choices: z.array(z.object({
815
815
  delta: z.object({
816
816
  role: z.enum(["assistant", ""]).nullish(),
817
- content: openAICompatibleContentSchema,
817
+ content: openAICompatibleContentSchema(),
818
818
  reasoning_content: z.string().nullish(),
819
819
  reasoning: z.string().nullish(),
820
820
  tool_calls: z.array(z.object({
@@ -829,9 +829,9 @@ const chunkBaseSchema = z.looseObject({
829
829
  }).nullish(),
830
830
  finish_reason: z.string().nullish()
831
831
  })),
832
- usage: openaiCompatibleTokenUsageSchema
832
+ usage: openaiCompatibleTokenUsageSchema()
833
833
  });
834
- const createOpenAICompatibleChatChunkSchema = (errorSchema) => z.union([chunkBaseSchema, errorSchema]);
834
+ const createOpenAICompatibleChatChunkSchema = (errorSchema) => z.union([chunkBaseSchema(), errorSchema]);
835
835
  //#endregion
836
836
  //#region src/completion/convert-openai-compatible-completion-usage.ts
837
837
  function convertOpenAICompatibleCompletionUsage(usage) {
@@ -908,7 +908,7 @@ function mapOpenAICompatibleFinishReason(finishReason) {
908
908
  }
909
909
  //#endregion
910
910
  //#region src/completion/openai-compatible-completion-language-model-options.ts
911
- const openaiCompatibleLanguageModelCompletionOptions = z.object({
911
+ const openaiCompatibleLanguageModelCompletionOptions = lazySchema(() => zodSchema(z.object({
912
912
  /**
913
913
  * Echo back the prompt in addition to the completion.
914
914
  */
@@ -929,7 +929,7 @@ const openaiCompatibleLanguageModelCompletionOptions = z.object({
929
929
  * monitor and detect abuse.
930
930
  */
931
931
  user: z.string().optional()
932
- });
932
+ })));
933
933
  //#endregion
934
934
  //#region src/completion/openai-compatible-completion-language-model.ts
935
935
  var OpenAICompatibleCompletionLanguageModel = class OpenAICompatibleCompletionLanguageModel {
@@ -1152,12 +1152,12 @@ var OpenAICompatibleCompletionLanguageModel = class OpenAICompatibleCompletionLa
1152
1152
  };
1153
1153
  }
1154
1154
  };
1155
- const usageSchema = z.looseObject({
1155
+ const usageSchema = () => z.looseObject({
1156
1156
  prompt_tokens: z.number(),
1157
1157
  completion_tokens: z.number(),
1158
1158
  total_tokens: z.number()
1159
1159
  });
1160
- const openaiCompatibleCompletionResponseSchema = z.object({
1160
+ const openaiCompatibleCompletionResponseSchema = lazySchema(() => zodSchema(z.object({
1161
1161
  id: z.string().nullish(),
1162
1162
  created: z.number().nullish(),
1163
1163
  model: z.string().nullish(),
@@ -1165,8 +1165,8 @@ const openaiCompatibleCompletionResponseSchema = z.object({
1165
1165
  text: z.string(),
1166
1166
  finish_reason: z.string()
1167
1167
  })),
1168
- usage: usageSchema.nullish()
1169
- });
1168
+ usage: usageSchema().nullish()
1169
+ })));
1170
1170
  const createOpenAICompatibleCompletionChunkSchema = (errorSchema) => z.union([z.object({
1171
1171
  id: z.string().nullish(),
1172
1172
  created: z.number().nullish(),
@@ -1176,11 +1176,11 @@ const createOpenAICompatibleCompletionChunkSchema = (errorSchema) => z.union([z.
1176
1176
  finish_reason: z.string().nullish(),
1177
1177
  index: z.number()
1178
1178
  })),
1179
- usage: usageSchema.nullish()
1179
+ usage: usageSchema().nullish()
1180
1180
  }), errorSchema]);
1181
1181
  //#endregion
1182
1182
  //#region src/embedding/openai-compatible-embedding-model-options.ts
1183
- const openaiCompatibleEmbeddingModelOptions = z.object({
1183
+ const openaiCompatibleEmbeddingModelOptions = lazySchema(() => zodSchema(z.object({
1184
1184
  /**
1185
1185
  * The number of dimensions the resulting output embeddings should have.
1186
1186
  * Only supported in text-embedding-3 and later models.
@@ -1191,7 +1191,7 @@ const openaiCompatibleEmbeddingModelOptions = z.object({
1191
1191
  * monitor and detect abuse.
1192
1192
  */
1193
1193
  user: z.string().optional()
1194
- });
1194
+ })));
1195
1195
  //#endregion
1196
1196
  //#region src/embedding/openai-compatible-embedding-model.ts
1197
1197
  var OpenAICompatibleEmbeddingModel = class OpenAICompatibleEmbeddingModel {
@@ -1283,11 +1283,11 @@ var OpenAICompatibleEmbeddingModel = class OpenAICompatibleEmbeddingModel {
1283
1283
  };
1284
1284
  }
1285
1285
  };
1286
- const openaiTextEmbeddingResponseSchema = z.object({
1286
+ const openaiTextEmbeddingResponseSchema = lazySchema(() => zodSchema(z.object({
1287
1287
  data: z.array(z.object({ embedding: z.array(z.number()) })),
1288
1288
  usage: z.object({ prompt_tokens: z.number() }).nullish(),
1289
1289
  providerMetadata: z.record(z.string(), z.record(z.string(), z.any())).optional()
1290
- });
1290
+ })));
1291
1291
  //#endregion
1292
1292
  //#region src/image/openai-compatible-image-model.ts
1293
1293
  var OpenAICompatibleImageModel = class OpenAICompatibleImageModel {
@@ -1440,7 +1440,7 @@ function mapImageUsage(usage) {
1440
1440
  totalTokens: usage.total_tokens ?? void 0
1441
1441
  };
1442
1442
  }
1443
- const openaiCompatibleImageResponseSchema = z.object({
1443
+ const openaiCompatibleImageResponseSchema = lazySchema(() => zodSchema(z.object({
1444
1444
  data: z.array(z.object({
1445
1445
  b64_json: z.string().nullish(),
1446
1446
  url: z.string().nullish()
@@ -1450,7 +1450,7 @@ const openaiCompatibleImageResponseSchema = z.object({
1450
1450
  output_tokens: z.number().nullish(),
1451
1451
  total_tokens: z.number().nullish()
1452
1452
  }).nullish()
1453
- });
1453
+ })));
1454
1454
  async function fileToBlob(file) {
1455
1455
  if (file.type === "url") return downloadBlob(file.url);
1456
1456
  const data = file.data instanceof Uint8Array ? file.data : convertBase64ToUint8Array(file.data);
@@ -1458,7 +1458,7 @@ async function fileToBlob(file) {
1458
1458
  }
1459
1459
  //#endregion
1460
1460
  //#region src/version.ts
1461
- const VERSION = "3.0.74";
1461
+ const VERSION = "3.0.75";
1462
1462
  //#endregion
1463
1463
  //#region src/openai-compatible-provider.ts
1464
1464
  /**