@ai-sdk/openai-compatible 1.0.58 → 1.0.59
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.mts +16 -15
- package/dist/index.d.ts +16 -15
- package/dist/index.js +132 -106
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +122 -82
- package/dist/index.mjs.map +1 -1
- package/dist/internal/index.d.mts +2 -2
- package/dist/internal/index.d.ts +2 -2
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @ai-sdk/openai-compatible
|
|
2
2
|
|
|
3
|
+
## 1.0.59
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 9944649: Defer validation schema construction until first use to reduce provider import time.
|
|
8
|
+
- Updated dependencies [d7b0ffa]
|
|
9
|
+
- Updated dependencies [4146790]
|
|
10
|
+
- @ai-sdk/provider-utils@3.0.42
|
|
11
|
+
|
|
3
12
|
## 1.0.58
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SharedV2ProviderMetadata, LanguageModelV2, LanguageModelV2Usage, EmbeddingModelV2, ImageModelV2, ProviderV2 } from '@ai-sdk/provider';
|
|
2
|
-
import
|
|
2
|
+
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
3
|
+
import { FetchFunction, InferSchema } from '@ai-sdk/provider-utils';
|
|
3
4
|
import { z, ZodType } from 'zod/v4';
|
|
4
5
|
|
|
5
6
|
type OpenAICompatibleChatModelId = string;
|
|
@@ -97,7 +98,7 @@ type OpenAICompatibleChatConfig = {
|
|
|
97
98
|
* Optional usage converter for OpenAI-compatible providers with different
|
|
98
99
|
* token accounting semantics.
|
|
99
100
|
*/
|
|
100
|
-
convertUsage?: (usage: z.infer<typeof openaiCompatibleTokenUsageSchema
|
|
101
|
+
convertUsage?: (usage: z.infer<ReturnType<typeof openaiCompatibleTokenUsageSchema>>) => LanguageModelV2Usage;
|
|
101
102
|
};
|
|
102
103
|
declare class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
|
|
103
104
|
readonly specificationVersion = "v2";
|
|
@@ -116,7 +117,7 @@ declare class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
|
|
|
116
117
|
doGenerate(options: Parameters<LanguageModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV2['doGenerate']>>>;
|
|
117
118
|
doStream(options: Parameters<LanguageModelV2['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV2['doStream']>>>;
|
|
118
119
|
}
|
|
119
|
-
declare const openaiCompatibleTokenUsageSchema: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
120
|
+
declare const openaiCompatibleTokenUsageSchema: () => z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
120
121
|
prompt_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
121
122
|
completion_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
122
123
|
total_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -131,13 +132,13 @@ declare const openaiCompatibleTokenUsageSchema: z.ZodOptional<z.ZodNullable<z.Zo
|
|
|
131
132
|
}, z.core.$strip>>>;
|
|
132
133
|
|
|
133
134
|
type OpenAICompatibleCompletionModelId = string;
|
|
134
|
-
declare const openaiCompatibleCompletionProviderOptions:
|
|
135
|
-
echo
|
|
136
|
-
logitBias
|
|
137
|
-
suffix
|
|
138
|
-
user
|
|
139
|
-
}
|
|
140
|
-
type OpenAICompatibleCompletionProviderOptions =
|
|
135
|
+
declare const openaiCompatibleCompletionProviderOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
136
|
+
echo?: boolean | undefined;
|
|
137
|
+
logitBias?: Record<string, number> | undefined;
|
|
138
|
+
suffix?: string | undefined;
|
|
139
|
+
user?: string | undefined;
|
|
140
|
+
}>;
|
|
141
|
+
type OpenAICompatibleCompletionProviderOptions = InferSchema<typeof openaiCompatibleCompletionProviderOptions>;
|
|
141
142
|
|
|
142
143
|
type OpenAICompatibleCompletionConfig = {
|
|
143
144
|
provider: string;
|
|
@@ -170,11 +171,11 @@ declare class OpenAICompatibleCompletionLanguageModel implements LanguageModelV2
|
|
|
170
171
|
}
|
|
171
172
|
|
|
172
173
|
type OpenAICompatibleEmbeddingModelId = string;
|
|
173
|
-
declare const openaiCompatibleEmbeddingProviderOptions:
|
|
174
|
-
dimensions
|
|
175
|
-
user
|
|
176
|
-
}
|
|
177
|
-
type OpenAICompatibleEmbeddingProviderOptions =
|
|
174
|
+
declare const openaiCompatibleEmbeddingProviderOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
175
|
+
dimensions?: number | undefined;
|
|
176
|
+
user?: string | undefined;
|
|
177
|
+
}>;
|
|
178
|
+
type OpenAICompatibleEmbeddingProviderOptions = InferSchema<typeof openaiCompatibleEmbeddingProviderOptions>;
|
|
178
179
|
|
|
179
180
|
type OpenAICompatibleEmbeddingConfig = {
|
|
180
181
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SharedV2ProviderMetadata, LanguageModelV2, LanguageModelV2Usage, EmbeddingModelV2, ImageModelV2, ProviderV2 } from '@ai-sdk/provider';
|
|
2
|
-
import
|
|
2
|
+
import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
|
|
3
|
+
import { FetchFunction, InferSchema } from '@ai-sdk/provider-utils';
|
|
3
4
|
import { z, ZodType } from 'zod/v4';
|
|
4
5
|
|
|
5
6
|
type OpenAICompatibleChatModelId = string;
|
|
@@ -97,7 +98,7 @@ type OpenAICompatibleChatConfig = {
|
|
|
97
98
|
* Optional usage converter for OpenAI-compatible providers with different
|
|
98
99
|
* token accounting semantics.
|
|
99
100
|
*/
|
|
100
|
-
convertUsage?: (usage: z.infer<typeof openaiCompatibleTokenUsageSchema
|
|
101
|
+
convertUsage?: (usage: z.infer<ReturnType<typeof openaiCompatibleTokenUsageSchema>>) => LanguageModelV2Usage;
|
|
101
102
|
};
|
|
102
103
|
declare class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
|
|
103
104
|
readonly specificationVersion = "v2";
|
|
@@ -116,7 +117,7 @@ declare class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
|
|
|
116
117
|
doGenerate(options: Parameters<LanguageModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV2['doGenerate']>>>;
|
|
117
118
|
doStream(options: Parameters<LanguageModelV2['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV2['doStream']>>>;
|
|
118
119
|
}
|
|
119
|
-
declare const openaiCompatibleTokenUsageSchema: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
120
|
+
declare const openaiCompatibleTokenUsageSchema: () => z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
120
121
|
prompt_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
121
122
|
completion_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
122
123
|
total_tokens: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
@@ -131,13 +132,13 @@ declare const openaiCompatibleTokenUsageSchema: z.ZodOptional<z.ZodNullable<z.Zo
|
|
|
131
132
|
}, z.core.$strip>>>;
|
|
132
133
|
|
|
133
134
|
type OpenAICompatibleCompletionModelId = string;
|
|
134
|
-
declare const openaiCompatibleCompletionProviderOptions:
|
|
135
|
-
echo
|
|
136
|
-
logitBias
|
|
137
|
-
suffix
|
|
138
|
-
user
|
|
139
|
-
}
|
|
140
|
-
type OpenAICompatibleCompletionProviderOptions =
|
|
135
|
+
declare const openaiCompatibleCompletionProviderOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
136
|
+
echo?: boolean | undefined;
|
|
137
|
+
logitBias?: Record<string, number> | undefined;
|
|
138
|
+
suffix?: string | undefined;
|
|
139
|
+
user?: string | undefined;
|
|
140
|
+
}>;
|
|
141
|
+
type OpenAICompatibleCompletionProviderOptions = InferSchema<typeof openaiCompatibleCompletionProviderOptions>;
|
|
141
142
|
|
|
142
143
|
type OpenAICompatibleCompletionConfig = {
|
|
143
144
|
provider: string;
|
|
@@ -170,11 +171,11 @@ declare class OpenAICompatibleCompletionLanguageModel implements LanguageModelV2
|
|
|
170
171
|
}
|
|
171
172
|
|
|
172
173
|
type OpenAICompatibleEmbeddingModelId = string;
|
|
173
|
-
declare const openaiCompatibleEmbeddingProviderOptions:
|
|
174
|
-
dimensions
|
|
175
|
-
user
|
|
176
|
-
}
|
|
177
|
-
type OpenAICompatibleEmbeddingProviderOptions =
|
|
174
|
+
declare const openaiCompatibleEmbeddingProviderOptions: _ai_sdk_provider_utils.LazySchema<{
|
|
175
|
+
dimensions?: number | undefined;
|
|
176
|
+
user?: string | undefined;
|
|
177
|
+
}>;
|
|
178
|
+
type OpenAICompatibleEmbeddingProviderOptions = InferSchema<typeof openaiCompatibleEmbeddingProviderOptions>;
|
|
178
179
|
|
|
179
180
|
type OpenAICompatibleEmbeddingConfig = {
|
|
180
181
|
/**
|
package/dist/index.js
CHANGED
|
@@ -659,7 +659,7 @@ var OpenAICompatibleChatLanguageModel = class {
|
|
|
659
659
|
};
|
|
660
660
|
}
|
|
661
661
|
};
|
|
662
|
-
var openaiCompatibleTokenUsageSchema = import_v43.z.object({
|
|
662
|
+
var openaiCompatibleTokenUsageSchema = () => import_v43.z.object({
|
|
663
663
|
prompt_tokens: import_v43.z.number().nullish(),
|
|
664
664
|
completion_tokens: import_v43.z.number().nullish(),
|
|
665
665
|
total_tokens: import_v43.z.number().nullish(),
|
|
@@ -682,32 +682,36 @@ function convertOpenAICompatibleChatUsage(usage) {
|
|
|
682
682
|
cachedInputTokens: (_g = (_f = usage == null ? void 0 : usage.prompt_tokens_details) == null ? void 0 : _f.cached_tokens) != null ? _g : void 0
|
|
683
683
|
};
|
|
684
684
|
}
|
|
685
|
-
var OpenAICompatibleChatResponseSchema =
|
|
686
|
-
|
|
687
|
-
created: import_v43.z.number().nullish(),
|
|
688
|
-
model: import_v43.z.string().nullish(),
|
|
689
|
-
choices: import_v43.z.array(
|
|
685
|
+
var OpenAICompatibleChatResponseSchema = (0, import_provider_utils2.lazySchema)(
|
|
686
|
+
() => (0, import_provider_utils2.zodSchema)(
|
|
690
687
|
import_v43.z.object({
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
688
|
+
id: import_v43.z.string().nullish(),
|
|
689
|
+
created: import_v43.z.number().nullish(),
|
|
690
|
+
model: import_v43.z.string().nullish(),
|
|
691
|
+
choices: import_v43.z.array(
|
|
692
|
+
import_v43.z.object({
|
|
693
|
+
message: import_v43.z.object({
|
|
694
|
+
role: import_v43.z.literal("assistant").nullish(),
|
|
695
|
+
content: import_v43.z.string().nullish(),
|
|
696
|
+
reasoning_content: import_v43.z.string().nullish(),
|
|
697
|
+
reasoning: import_v43.z.string().nullish(),
|
|
698
|
+
tool_calls: import_v43.z.array(
|
|
699
|
+
import_v43.z.object({
|
|
700
|
+
id: import_v43.z.string().nullish(),
|
|
701
|
+
function: import_v43.z.object({
|
|
702
|
+
name: import_v43.z.string(),
|
|
703
|
+
arguments: import_v43.z.string()
|
|
704
|
+
})
|
|
705
|
+
})
|
|
706
|
+
).nullish()
|
|
707
|
+
}),
|
|
708
|
+
finish_reason: import_v43.z.string().nullish()
|
|
709
|
+
})
|
|
710
|
+
),
|
|
711
|
+
usage: openaiCompatibleTokenUsageSchema()
|
|
707
712
|
})
|
|
708
|
-
)
|
|
709
|
-
|
|
710
|
-
});
|
|
713
|
+
)
|
|
714
|
+
);
|
|
711
715
|
var createOpenAICompatibleChatChunkSchema = (errorSchema) => import_v43.z.union([
|
|
712
716
|
import_v43.z.object({
|
|
713
717
|
id: import_v43.z.string().nullish(),
|
|
@@ -734,16 +738,16 @@ var createOpenAICompatibleChatChunkSchema = (errorSchema) => import_v43.z.union(
|
|
|
734
738
|
).nullish()
|
|
735
739
|
}).nullish(),
|
|
736
740
|
finish_reason: import_v43.z.string().nullish(),
|
|
737
|
-
usage: openaiCompatibleTokenUsageSchema
|
|
741
|
+
usage: openaiCompatibleTokenUsageSchema()
|
|
738
742
|
})
|
|
739
743
|
),
|
|
740
|
-
usage: openaiCompatibleTokenUsageSchema
|
|
744
|
+
usage: openaiCompatibleTokenUsageSchema()
|
|
741
745
|
}),
|
|
742
746
|
errorSchema
|
|
743
747
|
]);
|
|
744
748
|
|
|
745
749
|
// src/completion/openai-compatible-completion-language-model.ts
|
|
746
|
-
var
|
|
750
|
+
var import_provider_utils4 = require("@ai-sdk/provider-utils");
|
|
747
751
|
var import_v45 = require("zod/v4");
|
|
748
752
|
|
|
749
753
|
// src/completion/convert-to-openai-compatible-completion-prompt.ts
|
|
@@ -852,29 +856,34 @@ function mapOpenAICompatibleFinishReason2(finishReason) {
|
|
|
852
856
|
}
|
|
853
857
|
|
|
854
858
|
// src/completion/openai-compatible-completion-options.ts
|
|
859
|
+
var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
855
860
|
var import_v44 = require("zod/v4");
|
|
856
|
-
var openaiCompatibleCompletionProviderOptions =
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
861
|
+
var openaiCompatibleCompletionProviderOptions = (0, import_provider_utils3.lazySchema)(
|
|
862
|
+
() => (0, import_provider_utils3.zodSchema)(
|
|
863
|
+
import_v44.z.object({
|
|
864
|
+
/**
|
|
865
|
+
* Echo back the prompt in addition to the completion.
|
|
866
|
+
*/
|
|
867
|
+
echo: import_v44.z.boolean().optional(),
|
|
868
|
+
/**
|
|
869
|
+
* Modify the likelihood of specified tokens appearing in the completion.
|
|
870
|
+
*
|
|
871
|
+
* Accepts a JSON object that maps tokens (specified by their token ID in
|
|
872
|
+
* the GPT tokenizer) to an associated bias value from -100 to 100.
|
|
873
|
+
*/
|
|
874
|
+
logitBias: import_v44.z.record(import_v44.z.string(), import_v44.z.number()).optional(),
|
|
875
|
+
/**
|
|
876
|
+
* The suffix that comes after a completion of inserted text.
|
|
877
|
+
*/
|
|
878
|
+
suffix: import_v44.z.string().optional(),
|
|
879
|
+
/**
|
|
880
|
+
* A unique identifier representing your end-user, which can help providers to
|
|
881
|
+
* monitor and detect abuse.
|
|
882
|
+
*/
|
|
883
|
+
user: import_v44.z.string().optional()
|
|
884
|
+
})
|
|
885
|
+
)
|
|
886
|
+
);
|
|
878
887
|
|
|
879
888
|
// src/completion/openai-compatible-completion-language-model.ts
|
|
880
889
|
var OpenAICompatibleCompletionLanguageModel = class {
|
|
@@ -888,7 +897,7 @@ var OpenAICompatibleCompletionLanguageModel = class {
|
|
|
888
897
|
this.chunkSchema = createOpenAICompatibleCompletionChunkSchema(
|
|
889
898
|
errorStructure.errorSchema
|
|
890
899
|
);
|
|
891
|
-
this.failedResponseHandler = (0,
|
|
900
|
+
this.failedResponseHandler = (0, import_provider_utils4.createJsonErrorResponseHandler)(errorStructure);
|
|
892
901
|
}
|
|
893
902
|
get provider() {
|
|
894
903
|
return this.config.provider;
|
|
@@ -917,7 +926,7 @@ var OpenAICompatibleCompletionLanguageModel = class {
|
|
|
917
926
|
}) {
|
|
918
927
|
var _a;
|
|
919
928
|
const warnings = [];
|
|
920
|
-
const completionOptions = (_a = await (0,
|
|
929
|
+
const completionOptions = (_a = await (0, import_provider_utils4.parseProviderOptions)({
|
|
921
930
|
provider: this.providerOptionsName,
|
|
922
931
|
providerOptions,
|
|
923
932
|
schema: openaiCompatibleCompletionProviderOptions
|
|
@@ -972,15 +981,15 @@ var OpenAICompatibleCompletionLanguageModel = class {
|
|
|
972
981
|
responseHeaders,
|
|
973
982
|
value: response,
|
|
974
983
|
rawValue: rawResponse
|
|
975
|
-
} = await (0,
|
|
984
|
+
} = await (0, import_provider_utils4.postJsonToApi)({
|
|
976
985
|
url: this.config.url({
|
|
977
986
|
path: "/completions",
|
|
978
987
|
modelId: this.modelId
|
|
979
988
|
}),
|
|
980
|
-
headers: (0,
|
|
989
|
+
headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
|
|
981
990
|
body: args,
|
|
982
991
|
failedResponseHandler: this.failedResponseHandler,
|
|
983
|
-
successfulResponseHandler: (0,
|
|
992
|
+
successfulResponseHandler: (0, import_provider_utils4.createJsonResponseHandler)(
|
|
984
993
|
openaiCompatibleCompletionResponseSchema
|
|
985
994
|
),
|
|
986
995
|
abortSignal: options.abortSignal,
|
|
@@ -1016,15 +1025,15 @@ var OpenAICompatibleCompletionLanguageModel = class {
|
|
|
1016
1025
|
// only include stream_options when in strict compatibility mode:
|
|
1017
1026
|
stream_options: this.config.includeUsage ? { include_usage: true } : void 0
|
|
1018
1027
|
};
|
|
1019
|
-
const { responseHeaders, value: response } = await (0,
|
|
1028
|
+
const { responseHeaders, value: response } = await (0, import_provider_utils4.postJsonToApi)({
|
|
1020
1029
|
url: this.config.url({
|
|
1021
1030
|
path: "/completions",
|
|
1022
1031
|
modelId: this.modelId
|
|
1023
1032
|
}),
|
|
1024
|
-
headers: (0,
|
|
1033
|
+
headers: (0, import_provider_utils4.combineHeaders)(this.config.headers(), options.headers),
|
|
1025
1034
|
body,
|
|
1026
1035
|
failedResponseHandler: this.failedResponseHandler,
|
|
1027
|
-
successfulResponseHandler: (0,
|
|
1036
|
+
successfulResponseHandler: (0, import_provider_utils4.createEventSourceResponseHandler)(
|
|
1028
1037
|
this.chunkSchema
|
|
1029
1038
|
),
|
|
1030
1039
|
abortSignal: options.abortSignal,
|
|
@@ -1106,23 +1115,27 @@ var OpenAICompatibleCompletionLanguageModel = class {
|
|
|
1106
1115
|
};
|
|
1107
1116
|
}
|
|
1108
1117
|
};
|
|
1109
|
-
var usageSchema = import_v45.z.object({
|
|
1118
|
+
var usageSchema = () => import_v45.z.object({
|
|
1110
1119
|
prompt_tokens: import_v45.z.number(),
|
|
1111
1120
|
completion_tokens: import_v45.z.number(),
|
|
1112
1121
|
total_tokens: import_v45.z.number()
|
|
1113
1122
|
});
|
|
1114
|
-
var openaiCompatibleCompletionResponseSchema =
|
|
1115
|
-
|
|
1116
|
-
created: import_v45.z.number().nullish(),
|
|
1117
|
-
model: import_v45.z.string().nullish(),
|
|
1118
|
-
choices: import_v45.z.array(
|
|
1123
|
+
var openaiCompatibleCompletionResponseSchema = (0, import_provider_utils4.lazySchema)(
|
|
1124
|
+
() => (0, import_provider_utils4.zodSchema)(
|
|
1119
1125
|
import_v45.z.object({
|
|
1120
|
-
|
|
1121
|
-
|
|
1126
|
+
id: import_v45.z.string().nullish(),
|
|
1127
|
+
created: import_v45.z.number().nullish(),
|
|
1128
|
+
model: import_v45.z.string().nullish(),
|
|
1129
|
+
choices: import_v45.z.array(
|
|
1130
|
+
import_v45.z.object({
|
|
1131
|
+
text: import_v45.z.string(),
|
|
1132
|
+
finish_reason: import_v45.z.string()
|
|
1133
|
+
})
|
|
1134
|
+
),
|
|
1135
|
+
usage: usageSchema().nullish()
|
|
1122
1136
|
})
|
|
1123
|
-
)
|
|
1124
|
-
|
|
1125
|
-
});
|
|
1137
|
+
)
|
|
1138
|
+
);
|
|
1126
1139
|
var createOpenAICompatibleCompletionChunkSchema = (errorSchema) => import_v45.z.union([
|
|
1127
1140
|
import_v45.z.object({
|
|
1128
1141
|
id: import_v45.z.string().nullish(),
|
|
@@ -1135,30 +1148,35 @@ var createOpenAICompatibleCompletionChunkSchema = (errorSchema) => import_v45.z.
|
|
|
1135
1148
|
index: import_v45.z.number()
|
|
1136
1149
|
})
|
|
1137
1150
|
),
|
|
1138
|
-
usage: usageSchema.nullish()
|
|
1151
|
+
usage: usageSchema().nullish()
|
|
1139
1152
|
}),
|
|
1140
1153
|
errorSchema
|
|
1141
1154
|
]);
|
|
1142
1155
|
|
|
1143
1156
|
// src/embedding/openai-compatible-embedding-model.ts
|
|
1144
1157
|
var import_provider5 = require("@ai-sdk/provider");
|
|
1145
|
-
var
|
|
1158
|
+
var import_provider_utils6 = require("@ai-sdk/provider-utils");
|
|
1146
1159
|
var import_v47 = require("zod/v4");
|
|
1147
1160
|
|
|
1148
1161
|
// src/embedding/openai-compatible-embedding-options.ts
|
|
1162
|
+
var import_provider_utils5 = require("@ai-sdk/provider-utils");
|
|
1149
1163
|
var import_v46 = require("zod/v4");
|
|
1150
|
-
var openaiCompatibleEmbeddingProviderOptions =
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1164
|
+
var openaiCompatibleEmbeddingProviderOptions = (0, import_provider_utils5.lazySchema)(
|
|
1165
|
+
() => (0, import_provider_utils5.zodSchema)(
|
|
1166
|
+
import_v46.z.object({
|
|
1167
|
+
/**
|
|
1168
|
+
* The number of dimensions the resulting output embeddings should have.
|
|
1169
|
+
* Only supported in text-embedding-3 and later models.
|
|
1170
|
+
*/
|
|
1171
|
+
dimensions: import_v46.z.number().optional(),
|
|
1172
|
+
/**
|
|
1173
|
+
* A unique identifier representing your end-user, which can help providers to
|
|
1174
|
+
* monitor and detect abuse.
|
|
1175
|
+
*/
|
|
1176
|
+
user: import_v46.z.string().optional()
|
|
1177
|
+
})
|
|
1178
|
+
)
|
|
1179
|
+
);
|
|
1162
1180
|
|
|
1163
1181
|
// src/embedding/openai-compatible-embedding-model.ts
|
|
1164
1182
|
var OpenAICompatibleEmbeddingModel = class {
|
|
@@ -1189,12 +1207,12 @@ var OpenAICompatibleEmbeddingModel = class {
|
|
|
1189
1207
|
}) {
|
|
1190
1208
|
var _a, _b, _c;
|
|
1191
1209
|
const compatibleOptions = Object.assign(
|
|
1192
|
-
(_a = await (0,
|
|
1210
|
+
(_a = await (0, import_provider_utils6.parseProviderOptions)({
|
|
1193
1211
|
provider: "openai-compatible",
|
|
1194
1212
|
providerOptions,
|
|
1195
1213
|
schema: openaiCompatibleEmbeddingProviderOptions
|
|
1196
1214
|
})) != null ? _a : {},
|
|
1197
|
-
(_b = await (0,
|
|
1215
|
+
(_b = await (0, import_provider_utils6.parseProviderOptions)({
|
|
1198
1216
|
provider: this.providerOptionsName,
|
|
1199
1217
|
providerOptions,
|
|
1200
1218
|
schema: openaiCompatibleEmbeddingProviderOptions
|
|
@@ -1212,12 +1230,12 @@ var OpenAICompatibleEmbeddingModel = class {
|
|
|
1212
1230
|
responseHeaders,
|
|
1213
1231
|
value: response,
|
|
1214
1232
|
rawValue
|
|
1215
|
-
} = await (0,
|
|
1233
|
+
} = await (0, import_provider_utils6.postJsonToApi)({
|
|
1216
1234
|
url: this.config.url({
|
|
1217
1235
|
path: "/embeddings",
|
|
1218
1236
|
modelId: this.modelId
|
|
1219
1237
|
}),
|
|
1220
|
-
headers: (0,
|
|
1238
|
+
headers: (0, import_provider_utils6.combineHeaders)(this.config.headers(), headers),
|
|
1221
1239
|
body: {
|
|
1222
1240
|
model: this.modelId,
|
|
1223
1241
|
input: values,
|
|
@@ -1225,10 +1243,10 @@ var OpenAICompatibleEmbeddingModel = class {
|
|
|
1225
1243
|
dimensions: compatibleOptions.dimensions,
|
|
1226
1244
|
user: compatibleOptions.user
|
|
1227
1245
|
},
|
|
1228
|
-
failedResponseHandler: (0,
|
|
1246
|
+
failedResponseHandler: (0, import_provider_utils6.createJsonErrorResponseHandler)(
|
|
1229
1247
|
(_c = this.config.errorStructure) != null ? _c : defaultOpenAICompatibleErrorStructure
|
|
1230
1248
|
),
|
|
1231
|
-
successfulResponseHandler: (0,
|
|
1249
|
+
successfulResponseHandler: (0, import_provider_utils6.createJsonResponseHandler)(
|
|
1232
1250
|
openaiTextEmbeddingResponseSchema
|
|
1233
1251
|
),
|
|
1234
1252
|
abortSignal,
|
|
@@ -1242,14 +1260,18 @@ var OpenAICompatibleEmbeddingModel = class {
|
|
|
1242
1260
|
};
|
|
1243
1261
|
}
|
|
1244
1262
|
};
|
|
1245
|
-
var openaiTextEmbeddingResponseSchema =
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
})
|
|
1263
|
+
var openaiTextEmbeddingResponseSchema = (0, import_provider_utils6.lazySchema)(
|
|
1264
|
+
() => (0, import_provider_utils6.zodSchema)(
|
|
1265
|
+
import_v47.z.object({
|
|
1266
|
+
data: import_v47.z.array(import_v47.z.object({ embedding: import_v47.z.array(import_v47.z.number()) })),
|
|
1267
|
+
usage: import_v47.z.object({ prompt_tokens: import_v47.z.number() }).nullish(),
|
|
1268
|
+
providerMetadata: import_v47.z.record(import_v47.z.string(), import_v47.z.record(import_v47.z.string(), import_v47.z.any())).optional()
|
|
1269
|
+
})
|
|
1270
|
+
)
|
|
1271
|
+
);
|
|
1250
1272
|
|
|
1251
1273
|
// src/image/openai-compatible-image-model.ts
|
|
1252
|
-
var
|
|
1274
|
+
var import_provider_utils7 = require("@ai-sdk/provider-utils");
|
|
1253
1275
|
var import_v48 = require("zod/v4");
|
|
1254
1276
|
var OpenAICompatibleImageModel = class {
|
|
1255
1277
|
constructor(modelId, config) {
|
|
@@ -1290,12 +1312,12 @@ var OpenAICompatibleImageModel = class {
|
|
|
1290
1312
|
warnings.push({ type: "unsupported-setting", setting: "seed" });
|
|
1291
1313
|
}
|
|
1292
1314
|
const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();
|
|
1293
|
-
const { value: response, responseHeaders } = await (0,
|
|
1315
|
+
const { value: response, responseHeaders } = await (0, import_provider_utils7.postJsonToApi)({
|
|
1294
1316
|
url: this.config.url({
|
|
1295
1317
|
path: "/images/generations",
|
|
1296
1318
|
modelId: this.modelId
|
|
1297
1319
|
}),
|
|
1298
|
-
headers: (0,
|
|
1320
|
+
headers: (0, import_provider_utils7.combineHeaders)(this.config.headers(), headers),
|
|
1299
1321
|
body: {
|
|
1300
1322
|
model: this.modelId,
|
|
1301
1323
|
prompt,
|
|
@@ -1304,10 +1326,10 @@ var OpenAICompatibleImageModel = class {
|
|
|
1304
1326
|
...providerOptions[this.providerOptionsKey],
|
|
1305
1327
|
response_format: "b64_json"
|
|
1306
1328
|
},
|
|
1307
|
-
failedResponseHandler: (0,
|
|
1329
|
+
failedResponseHandler: (0, import_provider_utils7.createJsonErrorResponseHandler)(
|
|
1308
1330
|
(_d = this.config.errorStructure) != null ? _d : defaultOpenAICompatibleErrorStructure
|
|
1309
1331
|
),
|
|
1310
|
-
successfulResponseHandler: (0,
|
|
1332
|
+
successfulResponseHandler: (0, import_provider_utils7.createJsonResponseHandler)(
|
|
1311
1333
|
openaiCompatibleImageResponseSchema
|
|
1312
1334
|
),
|
|
1313
1335
|
abortSignal,
|
|
@@ -1324,25 +1346,29 @@ var OpenAICompatibleImageModel = class {
|
|
|
1324
1346
|
};
|
|
1325
1347
|
}
|
|
1326
1348
|
};
|
|
1327
|
-
var openaiCompatibleImageResponseSchema =
|
|
1328
|
-
|
|
1329
|
-
|
|
1349
|
+
var openaiCompatibleImageResponseSchema = (0, import_provider_utils7.lazySchema)(
|
|
1350
|
+
() => (0, import_provider_utils7.zodSchema)(
|
|
1351
|
+
import_v48.z.object({
|
|
1352
|
+
data: import_v48.z.array(import_v48.z.object({ b64_json: import_v48.z.string() }))
|
|
1353
|
+
})
|
|
1354
|
+
)
|
|
1355
|
+
);
|
|
1330
1356
|
|
|
1331
1357
|
// src/openai-compatible-provider.ts
|
|
1332
|
-
var
|
|
1358
|
+
var import_provider_utils8 = require("@ai-sdk/provider-utils");
|
|
1333
1359
|
|
|
1334
1360
|
// src/version.ts
|
|
1335
|
-
var VERSION = true ? "1.0.
|
|
1361
|
+
var VERSION = true ? "1.0.59" : "0.0.0-test";
|
|
1336
1362
|
|
|
1337
1363
|
// src/openai-compatible-provider.ts
|
|
1338
1364
|
function createOpenAICompatible(options) {
|
|
1339
|
-
const baseURL = (0,
|
|
1365
|
+
const baseURL = (0, import_provider_utils8.withoutTrailingSlash)(options.baseURL);
|
|
1340
1366
|
const providerName = options.name;
|
|
1341
1367
|
const headers = {
|
|
1342
1368
|
...options.apiKey && { Authorization: `Bearer ${options.apiKey}` },
|
|
1343
1369
|
...options.headers
|
|
1344
1370
|
};
|
|
1345
|
-
const getHeaders = () => (0,
|
|
1371
|
+
const getHeaders = () => (0, import_provider_utils8.withUserAgentSuffix)(headers, `ai-sdk/openai-compatible/${VERSION}`);
|
|
1346
1372
|
const getCommonModelConfig = (modelType) => ({
|
|
1347
1373
|
provider: `${providerName}.${modelType}`,
|
|
1348
1374
|
url: ({ path }) => {
|