@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 +9 -0
- package/dist/index.d.ts +24 -46
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -25
- package/dist/index.js.map +1 -1
- package/dist/internal/index.d.ts +2 -2
- package/dist/internal/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/chat/openai-compatible-chat-language-model.ts +126 -114
- package/src/completion/openai-compatible-completion-language-model-options.ts +32 -23
- package/src/completion/openai-compatible-completion-language-model.ts +22 -15
- package/src/embedding/openai-compatible-embedding-model-options.ts +22 -13
- package/src/embedding/openai-compatible-embedding-model.ts +13 -7
- package/src/image/openai-compatible-image-model-options.ts +40 -31
- package/src/image/openai-compatible-image-model.ts +27 -20
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
|
|
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:
|
|
153
|
-
echo
|
|
154
|
-
logitBias
|
|
155
|
-
suffix
|
|
156
|
-
user
|
|
157
|
-
}
|
|
158
|
-
type 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:
|
|
202
|
-
dimensions
|
|
203
|
-
user
|
|
204
|
-
}
|
|
205
|
-
type 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:
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
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 {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":";;;;cACa,iCAA+B,EAAA;;;;;;;GAW1C,EAAA,KAAA;KAEU,4BAA4B,EAAE,aACjC;KAGG,uBAAuB;EACjC,aAAa,QAAQ;EACrB,iBAAiB,OAAO;EACxB,eAAe,UAAU,UAAU,QAAQ;;;;KCnBjC;cAEC,0CAAwC,EAAA;;;;;GAyBnD,EAAA,KAAA;KAEU,2CAA2C,EAAE,aAChD;;;;;;;;KCzBG;;;;;;;;;EASV,oBACE;IAEA;QACI,QAAQ;;;;;;;;EASd;;;;;;;IAOE,aAAa;;;;;;;;IASb,iBAAiB;;;;;
|
|
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.
|
|
1461
|
+
const VERSION = "3.0.75";
|
|
1462
1462
|
//#endregion
|
|
1463
1463
|
//#region src/openai-compatible-provider.ts
|
|
1464
1464
|
/**
|