@ai-sdk/openai-compatible 0.2.14 → 1.0.0-alpha.10

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,66 +1,318 @@
1
1
  # @ai-sdk/openai-compatible
2
2
 
3
- ## 0.2.14
3
+ ## 1.0.0-alpha.10
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - Updated dependencies [d87b9d1]
8
- - @ai-sdk/provider-utils@2.2.8
7
+ - Updated dependencies [c4df419]
8
+ - @ai-sdk/provider@2.0.0-alpha.10
9
+ - @ai-sdk/provider-utils@3.0.0-alpha.10
9
10
 
10
- ## 0.2.13
11
+ ## 1.0.0-alpha.9
11
12
 
12
13
  ### Patch Changes
13
14
 
14
- - 23571c9: feat(providers/xai): add reasoningEffort provider option
15
+ - Updated dependencies [811dff3]
16
+ - @ai-sdk/provider@2.0.0-alpha.9
17
+ - @ai-sdk/provider-utils@3.0.0-alpha.9
15
18
 
16
- ## 0.2.12
19
+ ## 1.0.0-alpha.8
17
20
 
18
21
  ### Patch Changes
19
22
 
20
- - 13492fe: fix(providers/xai): return actual usage when streaming instead of NaN
23
+ - Updated dependencies [4fef487]
24
+ - Updated dependencies [9222aeb]
25
+ - @ai-sdk/provider-utils@3.0.0-alpha.8
26
+ - @ai-sdk/provider@2.0.0-alpha.8
21
27
 
22
- ## 0.2.11
28
+ ## 1.0.0-alpha.7
23
29
 
24
30
  ### Patch Changes
25
31
 
26
- - b5c9cd4: fix (provider/openai-compatible): change tool_call type schema to nullish
32
+ - Updated dependencies [5c56081]
33
+ - @ai-sdk/provider@2.0.0-alpha.7
34
+ - @ai-sdk/provider-utils@3.0.0-alpha.7
27
35
 
28
- ## 0.2.10
36
+ ## 1.0.0-alpha.6
29
37
 
30
38
  ### Patch Changes
31
39
 
32
- - Updated dependencies [beef951]
33
- - @ai-sdk/provider@1.1.3
34
- - @ai-sdk/provider-utils@2.2.7
40
+ - Updated dependencies [0d2c085]
41
+ - @ai-sdk/provider@2.0.0-alpha.6
42
+ - @ai-sdk/provider-utils@3.0.0-alpha.6
35
43
 
36
- ## 0.2.9
44
+ ## 1.0.0-alpha.4
37
45
 
38
46
  ### Patch Changes
39
47
 
40
- - 1bbc698: chore(openai-compatible): deprecate simulateStreaming
48
+ - Updated dependencies [dc714f3]
49
+ - @ai-sdk/provider@2.0.0-alpha.4
50
+ - @ai-sdk/provider-utils@3.0.0-alpha.4
41
51
 
42
- ## 0.2.8
52
+ ## 1.0.0-alpha.3
43
53
 
44
54
  ### Patch Changes
45
55
 
46
- - Updated dependencies [013faa8]
47
- - @ai-sdk/provider@1.1.2
48
- - @ai-sdk/provider-utils@2.2.6
56
+ - Updated dependencies [6b98118]
57
+ - @ai-sdk/provider@2.0.0-alpha.3
58
+ - @ai-sdk/provider-utils@3.0.0-alpha.3
49
59
 
50
- ## 0.2.7
60
+ ## 1.0.0-alpha.2
51
61
 
52
62
  ### Patch Changes
53
63
 
54
- - Updated dependencies [c21fa6d]
55
- - @ai-sdk/provider-utils@2.2.5
56
- - @ai-sdk/provider@1.1.1
64
+ - Updated dependencies [26535e0]
65
+ - @ai-sdk/provider@2.0.0-alpha.2
66
+ - @ai-sdk/provider-utils@3.0.0-alpha.2
57
67
 
58
- ## 0.2.6
68
+ ## 1.0.0-alpha.1
59
69
 
60
70
  ### Patch Changes
61
71
 
62
- - Updated dependencies [2c19b9a]
63
- - @ai-sdk/provider-utils@2.2.4
72
+ - Updated dependencies [3f2f00c]
73
+ - @ai-sdk/provider@2.0.0-alpha.1
74
+ - @ai-sdk/provider-utils@3.0.0-alpha.1
75
+
76
+ ## 1.0.0-canary.19
77
+
78
+ ### Patch Changes
79
+
80
+ - Updated dependencies [faf8446]
81
+ - @ai-sdk/provider-utils@3.0.0-canary.19
82
+
83
+ ## 1.0.0-canary.18
84
+
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies [40acf9b]
88
+ - @ai-sdk/provider-utils@3.0.0-canary.18
89
+
90
+ ## 1.0.0-canary.17
91
+
92
+ ### Major Changes
93
+
94
+ - 516be5b: ### Move Image Model Settings into generate options
95
+
96
+ Image Models no longer have settings. Instead, `maxImagesPerCall` can be passed directly to `generateImage()`. All other image settings can be passed to `providerOptions[provider]`.
97
+
98
+ Before
99
+
100
+ ```js
101
+ await generateImage({
102
+ model: luma.image('photon-flash-1', {
103
+ maxImagesPerCall: 5,
104
+ pollIntervalMillis: 500,
105
+ }),
106
+ prompt,
107
+ n: 10,
108
+ });
109
+ ```
110
+
111
+ After
112
+
113
+ ```js
114
+ await generateImage({
115
+ model: luma.image('photon-flash-1'),
116
+ prompt,
117
+ n: 10,
118
+ maxImagesPerCall: 5,
119
+ providerOptions: {
120
+ luma: { pollIntervalMillis: 5 },
121
+ },
122
+ });
123
+ ```
124
+
125
+ Pull Request: https://github.com/vercel/ai/pull/6180
126
+
127
+ ### Patch Changes
128
+
129
+ - Updated dependencies [ea7a7c9]
130
+ - @ai-sdk/provider-utils@3.0.0-canary.17
131
+
132
+ ## 1.0.0-canary.16
133
+
134
+ ### Patch Changes
135
+
136
+ - Updated dependencies [87b828f]
137
+ - @ai-sdk/provider-utils@3.0.0-canary.16
138
+
139
+ ## 1.0.0-canary.15
140
+
141
+ ### Patch Changes
142
+
143
+ - Updated dependencies [a571d6e]
144
+ - Updated dependencies [a8c8bd5]
145
+ - Updated dependencies [7979f7f]
146
+ - Updated dependencies [41fa418]
147
+ - @ai-sdk/provider-utils@3.0.0-canary.15
148
+ - @ai-sdk/provider@2.0.0-canary.14
149
+
150
+ ## 1.0.0-canary.14
151
+
152
+ ### Patch Changes
153
+
154
+ - Updated dependencies [957b739]
155
+ - Updated dependencies [9bd5ab5]
156
+ - @ai-sdk/provider-utils@3.0.0-canary.14
157
+ - @ai-sdk/provider@2.0.0-canary.13
158
+
159
+ ## 1.0.0-canary.13
160
+
161
+ ### Patch Changes
162
+
163
+ - d9209ca: fix (image-model): `specificationVersion: v1` -> `v2`
164
+ - Updated dependencies [7b3ae3f]
165
+ - Updated dependencies [0ff02bb]
166
+ - @ai-sdk/provider@2.0.0-canary.12
167
+ - @ai-sdk/provider-utils@3.0.0-canary.13
168
+
169
+ ## 1.0.0-canary.12
170
+
171
+ ### Patch Changes
172
+
173
+ - Updated dependencies [9bf7291]
174
+ - Updated dependencies [4617fab]
175
+ - Updated dependencies [e030615]
176
+ - @ai-sdk/provider@2.0.0-canary.11
177
+ - @ai-sdk/provider-utils@3.0.0-canary.12
178
+
179
+ ## 1.0.0-canary.11
180
+
181
+ ### Patch Changes
182
+
183
+ - db72adc: chore(providers/openai): update completion model to use providerOptions
184
+ - 42e32b0: feat(providers/xai): add reasoningEffort provider option
185
+ - 66962ed: fix(packages): export node10 compatible types
186
+ - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2`
187
+ - Updated dependencies [66962ed]
188
+ - Updated dependencies [9301f86]
189
+ - Updated dependencies [a3f768e]
190
+ - @ai-sdk/provider-utils@3.0.0-canary.11
191
+ - @ai-sdk/provider@2.0.0-canary.10
192
+
193
+ ## 1.0.0-canary.10
194
+
195
+ ### Patch Changes
196
+
197
+ - cf8280e: fix(providers/xai): return actual usage when streaming instead of NaN
198
+ - Updated dependencies [e86be6f]
199
+ - @ai-sdk/provider@2.0.0-canary.9
200
+ - @ai-sdk/provider-utils@3.0.0-canary.10
201
+
202
+ ## 1.0.0-canary.9
203
+
204
+ ### Patch Changes
205
+
206
+ - Updated dependencies [95857aa]
207
+ - Updated dependencies [7ea4132]
208
+ - @ai-sdk/provider@2.0.0-canary.8
209
+ - @ai-sdk/provider-utils@3.0.0-canary.9
210
+
211
+ ## 1.0.0-canary.8
212
+
213
+ ### Patch Changes
214
+
215
+ - b9a6121: fix (provider/openai-compatible): change tool_call type schema to nullish
216
+ - Updated dependencies [5d142ab]
217
+ - Updated dependencies [b6b43c7]
218
+ - Updated dependencies [8aa9e20]
219
+ - Updated dependencies [3795467]
220
+ - @ai-sdk/provider-utils@3.0.0-canary.8
221
+ - @ai-sdk/provider@2.0.0-canary.7
222
+
223
+ ## 1.0.0-canary.7
224
+
225
+ ### Patch Changes
226
+
227
+ - fa49207: feat(providers/openai-compatible): convert to providerOptions
228
+ - 26735b5: chore(embedding-model): add v2 interface
229
+ - 443d8ec: feat(embedding-model-v2): add response body field
230
+ - fd65bc6: chore(embedding-model-v2): rename rawResponse to response
231
+ - Updated dependencies [26735b5]
232
+ - Updated dependencies [443d8ec]
233
+ - Updated dependencies [14c9410]
234
+ - Updated dependencies [d9c98f4]
235
+ - Updated dependencies [c4a2fec]
236
+ - Updated dependencies [0054544]
237
+ - Updated dependencies [9e9c809]
238
+ - Updated dependencies [32831c6]
239
+ - Updated dependencies [d0f9495]
240
+ - Updated dependencies [fd65bc6]
241
+ - Updated dependencies [393138b]
242
+ - Updated dependencies [7182d14]
243
+ - @ai-sdk/provider@2.0.0-canary.6
244
+ - @ai-sdk/provider-utils@3.0.0-canary.7
245
+
246
+ ## 1.0.0-canary.6
247
+
248
+ ### Patch Changes
249
+
250
+ - 6db02c9: chore(openai-compatible): remove simulateStreaming
251
+ - Updated dependencies [411e483]
252
+ - Updated dependencies [79457bd]
253
+ - Updated dependencies [ad80501]
254
+ - Updated dependencies [1766ede]
255
+ - Updated dependencies [f10304b]
256
+ - @ai-sdk/provider@2.0.0-canary.5
257
+ - @ai-sdk/provider-utils@3.0.0-canary.6
258
+
259
+ ## 1.0.0-canary.5
260
+
261
+ ### Patch Changes
262
+
263
+ - Updated dependencies [6f6bb89]
264
+ - @ai-sdk/provider@2.0.0-canary.4
265
+ - @ai-sdk/provider-utils@3.0.0-canary.5
266
+
267
+ ## 1.0.0-canary.4
268
+
269
+ ### Patch Changes
270
+
271
+ - Updated dependencies [d1a1aa1]
272
+ - @ai-sdk/provider@2.0.0-canary.3
273
+ - @ai-sdk/provider-utils@3.0.0-canary.4
274
+
275
+ ## 1.0.0-canary.3
276
+
277
+ ### Patch Changes
278
+
279
+ - Updated dependencies [a166433]
280
+ - Updated dependencies [abf9a79]
281
+ - Updated dependencies [9f95b35]
282
+ - Updated dependencies [0a87932]
283
+ - Updated dependencies [6dc848c]
284
+ - @ai-sdk/provider-utils@3.0.0-canary.3
285
+ - @ai-sdk/provider@2.0.0-canary.2
286
+
287
+ ## 1.0.0-canary.2
288
+
289
+ ### Patch Changes
290
+
291
+ - Updated dependencies [c57e248]
292
+ - Updated dependencies [33f4a6a]
293
+ - @ai-sdk/provider@2.0.0-canary.1
294
+ - @ai-sdk/provider-utils@3.0.0-canary.2
295
+
296
+ ## 1.0.0-canary.1
297
+
298
+ ### Patch Changes
299
+
300
+ - Updated dependencies [060370c]
301
+ - Updated dependencies [0c0c0b3]
302
+ - Updated dependencies [63d791d]
303
+ - @ai-sdk/provider-utils@3.0.0-canary.1
304
+
305
+ ## 1.0.0-canary.0
306
+
307
+ ### Major Changes
308
+
309
+ - d5f588f: AI SDK 5
310
+
311
+ ### Patch Changes
312
+
313
+ - Updated dependencies [d5f588f]
314
+ - @ai-sdk/provider-utils@3.0.0-canary.0
315
+ - @ai-sdk/provider@2.0.0-canary.0
64
316
 
65
317
  ## 0.2.5
66
318
 
package/dist/index.d.mts CHANGED
@@ -1,23 +1,26 @@
1
- import { LanguageModelV1ProviderMetadata, LanguageModelV1, LanguageModelV1ObjectGenerationMode, EmbeddingModelV1, ImageModelV1, ProviderV1 } from '@ai-sdk/provider';
1
+ import { SharedV2ProviderMetadata, LanguageModelV2, EmbeddingModelV2, ImageModelV2, ProviderV2 } from '@ai-sdk/provider';
2
2
  import { FetchFunction } from '@ai-sdk/provider-utils';
3
- import { ZodSchema, z } from 'zod';
3
+ import { z, ZodSchema } from 'zod';
4
4
 
5
5
  type OpenAICompatibleChatModelId = string;
6
- interface OpenAICompatibleChatSettings {
6
+ declare const openaiCompatibleProviderOptions: z.ZodObject<{
7
7
  /**
8
- A unique identifier representing your end-user, which can help the provider to
9
- monitor and detect abuse.
10
- */
11
- user?: string;
8
+ * A unique identifier representing your end-user, which can help the provider to
9
+ * monitor and detect abuse.
10
+ */
11
+ user: z.ZodOptional<z.ZodString>;
12
12
  /**
13
- Simulates streaming by using a normal generate call and returning it as a stream.
14
- Enable this if the model that you are using does not support streaming.
15
-
16
- Defaults to `false`.
17
- @deprecated Use `simulateStreamingMiddleware` instead.
13
+ * Reasoning effort for reasoning models. Defaults to `medium`.
18
14
  */
19
- simulateStreaming?: boolean;
20
- }
15
+ reasoningEffort: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ user?: string | undefined;
18
+ reasoningEffort?: "low" | "medium" | "high" | undefined;
19
+ }, {
20
+ user?: string | undefined;
21
+ reasoningEffort?: "low" | "medium" | "high" | undefined;
22
+ }>;
23
+ type OpenAICompatibleProviderOptions = z.infer<typeof openaiCompatibleProviderOptions>;
21
24
 
22
25
  declare const openaiCompatibleErrorDataSchema: z.ZodObject<{
23
26
  error: z.ZodObject<{
@@ -74,7 +77,7 @@ type MetadataExtractor = {
74
77
  */
75
78
  extractMetadata: ({ parsedBody, }: {
76
79
  parsedBody: unknown;
77
- }) => LanguageModelV1ProviderMetadata | undefined;
80
+ }) => Promise<SharedV2ProviderMetadata | undefined>;
78
81
  /**
79
82
  * Creates an extractor for handling streaming responses. The returned object provides
80
83
  * methods to process individual chunks and build the final metadata from the accumulated
@@ -97,7 +100,7 @@ type MetadataExtractor = {
97
100
  * @returns Provider-specific metadata or undefined if no metadata is available.
98
101
  * The metadata should be under a key indicating the provider id.
99
102
  */
100
- buildMetadata(): LanguageModelV1ProviderMetadata | undefined;
103
+ buildMetadata(): SharedV2ProviderMetadata | undefined;
101
104
  };
102
105
  };
103
106
 
@@ -113,64 +116,64 @@ type OpenAICompatibleChatConfig = {
113
116
  errorStructure?: ProviderErrorStructure<any>;
114
117
  metadataExtractor?: MetadataExtractor;
115
118
  /**
116
- Default object generation mode that should be used with this model when
117
- no mode is specified. Should be the mode with the best results for this
118
- model. `undefined` can be specified if object generation is not supported.
119
- */
120
- defaultObjectGenerationMode?: LanguageModelV1ObjectGenerationMode;
121
- /**
122
119
  * Whether the model supports structured outputs.
123
120
  */
124
121
  supportsStructuredOutputs?: boolean;
122
+ /**
123
+ * The supported URLs for the model.
124
+ */
125
+ supportedUrls?: () => LanguageModelV2['supportedUrls'];
125
126
  };
126
- declare class OpenAICompatibleChatLanguageModel implements LanguageModelV1 {
127
- readonly specificationVersion = "v1";
127
+ declare class OpenAICompatibleChatLanguageModel implements LanguageModelV2 {
128
+ readonly specificationVersion = "v2";
128
129
  readonly supportsStructuredOutputs: boolean;
129
130
  readonly modelId: OpenAICompatibleChatModelId;
130
- readonly settings: OpenAICompatibleChatSettings;
131
131
  private readonly config;
132
132
  private readonly failedResponseHandler;
133
133
  private readonly chunkSchema;
134
- constructor(modelId: OpenAICompatibleChatModelId, settings: OpenAICompatibleChatSettings, config: OpenAICompatibleChatConfig);
135
- get defaultObjectGenerationMode(): 'json' | 'tool' | undefined;
134
+ constructor(modelId: OpenAICompatibleChatModelId, config: OpenAICompatibleChatConfig);
136
135
  get provider(): string;
137
136
  private get providerOptionsName();
137
+ get supportedUrls(): Record<string, RegExp[]> | PromiseLike<Record<string, RegExp[]>>;
138
138
  private getArgs;
139
- doGenerate(options: Parameters<LanguageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
140
- doStream(options: Parameters<LanguageModelV1['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
139
+ doGenerate(options: Parameters<LanguageModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV2['doGenerate']>>>;
140
+ doStream(options: Parameters<LanguageModelV2['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV2['doStream']>>>;
141
141
  }
142
142
 
143
143
  type OpenAICompatibleCompletionModelId = string;
144
- interface OpenAICompatibleCompletionSettings {
144
+ declare const openaiCompatibleCompletionProviderOptions: z.ZodObject<{
145
145
  /**
146
- Echo back the prompt in addition to the completion.
146
+ * Echo back the prompt in addition to the completion.
147
147
  */
148
- echo?: boolean;
148
+ echo: z.ZodOptional<z.ZodBoolean>;
149
149
  /**
150
- Modify the likelihood of specified tokens appearing in the completion.
151
-
152
- Accepts a JSON object that maps tokens (specified by their token ID in
153
- the GPT tokenizer) to an associated bias value from -100 to 100. You
154
- can use this tokenizer tool to convert text to token IDs. Mathematically,
155
- the bias is added to the logits generated by the model prior to sampling.
156
- The exact effect will vary per model, but values between -1 and 1 should
157
- decrease or increase likelihood of selection; values like -100 or 100
158
- should result in a ban or exclusive selection of the relevant token.
159
-
160
- As an example, you can pass {"50256": -100} to prevent the <|endoftext|>
161
- token from being generated.
150
+ * Modify the likelihood of specified tokens appearing in the completion.
151
+ *
152
+ * Accepts a JSON object that maps tokens (specified by their token ID in
153
+ * the GPT tokenizer) to an associated bias value from -100 to 100.
162
154
  */
163
- logitBias?: Record<number, number>;
155
+ logitBias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
164
156
  /**
165
- The suffix that comes after a completion of inserted text.
157
+ * The suffix that comes after a completion of inserted text.
166
158
  */
167
- suffix?: string;
159
+ suffix: z.ZodOptional<z.ZodString>;
168
160
  /**
169
- A unique identifier representing your end-user, which can help OpenAI to
170
- monitor and detect abuse. Learn more.
161
+ * A unique identifier representing your end-user, which can help providers to
162
+ * monitor and detect abuse.
171
163
  */
172
- user?: string;
173
- }
164
+ user: z.ZodOptional<z.ZodString>;
165
+ }, "strip", z.ZodTypeAny, {
166
+ user?: string | undefined;
167
+ echo?: boolean | undefined;
168
+ logitBias?: Record<string, number> | undefined;
169
+ suffix?: string | undefined;
170
+ }, {
171
+ user?: string | undefined;
172
+ echo?: boolean | undefined;
173
+ logitBias?: Record<string, number> | undefined;
174
+ suffix?: string | undefined;
175
+ }>;
176
+ type OpenAICompatibleCompletionProviderOptions = z.infer<typeof openaiCompatibleCompletionProviderOptions>;
174
177
 
175
178
  type OpenAICompatibleCompletionConfig = {
176
179
  provider: string;
@@ -182,36 +185,46 @@ type OpenAICompatibleCompletionConfig = {
182
185
  }) => string;
183
186
  fetch?: FetchFunction;
184
187
  errorStructure?: ProviderErrorStructure<any>;
188
+ /**
189
+ * The supported URLs for the model.
190
+ */
191
+ supportedUrls?: () => LanguageModelV2['supportedUrls'];
185
192
  };
186
- declare class OpenAICompatibleCompletionLanguageModel implements LanguageModelV1 {
187
- readonly specificationVersion = "v1";
188
- readonly defaultObjectGenerationMode: undefined;
193
+ declare class OpenAICompatibleCompletionLanguageModel implements LanguageModelV2 {
194
+ readonly specificationVersion = "v2";
189
195
  readonly modelId: OpenAICompatibleCompletionModelId;
190
- readonly settings: OpenAICompatibleCompletionSettings;
191
196
  private readonly config;
192
197
  private readonly failedResponseHandler;
193
198
  private readonly chunkSchema;
194
- constructor(modelId: OpenAICompatibleCompletionModelId, settings: OpenAICompatibleCompletionSettings, config: OpenAICompatibleCompletionConfig);
199
+ constructor(modelId: OpenAICompatibleCompletionModelId, config: OpenAICompatibleCompletionConfig);
195
200
  get provider(): string;
196
201
  private get providerOptionsName();
202
+ get supportedUrls(): Record<string, RegExp[]> | PromiseLike<Record<string, RegExp[]>>;
197
203
  private getArgs;
198
- doGenerate(options: Parameters<LanguageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
199
- doStream(options: Parameters<LanguageModelV1['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
204
+ doGenerate(options: Parameters<LanguageModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV2['doGenerate']>>>;
205
+ doStream(options: Parameters<LanguageModelV2['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV2['doStream']>>>;
200
206
  }
201
207
 
202
208
  type OpenAICompatibleEmbeddingModelId = string;
203
- interface OpenAICompatibleEmbeddingSettings {
209
+ declare const openaiCompatibleEmbeddingProviderOptions: z.ZodObject<{
204
210
  /**
205
- The number of dimensions the resulting output embeddings should have.
206
- Only supported in text-embedding-3 and later models.
211
+ * The number of dimensions the resulting output embeddings should have.
212
+ * Only supported in text-embedding-3 and later models.
207
213
  */
208
- dimensions?: number;
214
+ dimensions: z.ZodOptional<z.ZodNumber>;
209
215
  /**
210
- A unique identifier representing your end-user, which can help OpenAI to
211
- monitor and detect abuse. Learn more.
212
- */
213
- user?: string;
214
- }
216
+ * A unique identifier representing your end-user, which can help providers to
217
+ * monitor and detect abuse.
218
+ */
219
+ user: z.ZodOptional<z.ZodString>;
220
+ }, "strip", z.ZodTypeAny, {
221
+ user?: string | undefined;
222
+ dimensions?: number | undefined;
223
+ }, {
224
+ user?: string | undefined;
225
+ dimensions?: number | undefined;
226
+ }>;
227
+ type OpenAICompatibleEmbeddingProviderOptions = z.infer<typeof openaiCompatibleEmbeddingProviderOptions>;
215
228
 
216
229
  type OpenAICompatibleEmbeddingConfig = {
217
230
  /**
@@ -231,30 +244,19 @@ type OpenAICompatibleEmbeddingConfig = {
231
244
  fetch?: FetchFunction;
232
245
  errorStructure?: ProviderErrorStructure<any>;
233
246
  };
234
- declare class OpenAICompatibleEmbeddingModel implements EmbeddingModelV1<string> {
235
- readonly specificationVersion = "v1";
247
+ declare class OpenAICompatibleEmbeddingModel implements EmbeddingModelV2<string> {
248
+ readonly specificationVersion = "v2";
236
249
  readonly modelId: OpenAICompatibleEmbeddingModelId;
237
250
  private readonly config;
238
- private readonly settings;
239
251
  get provider(): string;
240
252
  get maxEmbeddingsPerCall(): number;
241
253
  get supportsParallelCalls(): boolean;
242
- constructor(modelId: OpenAICompatibleEmbeddingModelId, settings: OpenAICompatibleEmbeddingSettings, config: OpenAICompatibleEmbeddingConfig);
243
- doEmbed({ values, headers, abortSignal, }: Parameters<EmbeddingModelV1<string>['doEmbed']>[0]): Promise<Awaited<ReturnType<EmbeddingModelV1<string>['doEmbed']>>>;
254
+ constructor(modelId: OpenAICompatibleEmbeddingModelId, config: OpenAICompatibleEmbeddingConfig);
255
+ private get providerOptionsName();
256
+ doEmbed({ values, headers, abortSignal, providerOptions, }: Parameters<EmbeddingModelV2<string>['doEmbed']>[0]): Promise<Awaited<ReturnType<EmbeddingModelV2<string>['doEmbed']>>>;
244
257
  }
245
258
 
246
259
  type OpenAICompatibleImageModelId = string;
247
- interface OpenAICompatibleImageSettings {
248
- /**
249
- A unique identifier representing your end-user, which can help the provider to
250
- monitor and detect abuse.
251
- */
252
- user?: string;
253
- /**
254
- * The maximum number of images to generate.
255
- */
256
- maxImagesPerCall?: number;
257
- }
258
260
 
259
261
  type OpenAICompatibleImageModelConfig = {
260
262
  provider: string;
@@ -269,24 +271,23 @@ type OpenAICompatibleImageModelConfig = {
269
271
  currentDate?: () => Date;
270
272
  };
271
273
  };
272
- declare class OpenAICompatibleImageModel implements ImageModelV1 {
274
+ declare class OpenAICompatibleImageModel implements ImageModelV2 {
273
275
  readonly modelId: OpenAICompatibleImageModelId;
274
- private readonly settings;
275
276
  private readonly config;
276
- readonly specificationVersion = "v1";
277
- get maxImagesPerCall(): number;
277
+ readonly specificationVersion = "v2";
278
+ readonly maxImagesPerCall = 10;
278
279
  get provider(): string;
279
- constructor(modelId: OpenAICompatibleImageModelId, settings: OpenAICompatibleImageSettings, config: OpenAICompatibleImageModelConfig);
280
- doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV1['doGenerate']>>>;
280
+ constructor(modelId: OpenAICompatibleImageModelId, config: OpenAICompatibleImageModelConfig);
281
+ doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV2['doGenerate']>>>;
281
282
  }
282
283
 
283
- 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 Omit<ProviderV1, 'imageModel'> {
284
- (modelId: CHAT_MODEL_IDS, settings?: OpenAICompatibleChatSettings): LanguageModelV1;
285
- languageModel(modelId: CHAT_MODEL_IDS, settings?: OpenAICompatibleChatSettings): LanguageModelV1;
286
- chatModel(modelId: CHAT_MODEL_IDS, settings?: OpenAICompatibleChatSettings): LanguageModelV1;
287
- completionModel(modelId: COMPLETION_MODEL_IDS, settings?: OpenAICompatibleCompletionSettings): LanguageModelV1;
288
- textEmbeddingModel(modelId: EMBEDDING_MODEL_IDS, settings?: OpenAICompatibleEmbeddingSettings): EmbeddingModelV1<string>;
289
- imageModel(modelId: IMAGE_MODEL_IDS, settings?: OpenAICompatibleImageSettings): ImageModelV1;
284
+ 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 Omit<ProviderV2, 'imageModel'> {
285
+ (modelId: CHAT_MODEL_IDS): LanguageModelV2;
286
+ languageModel(modelId: CHAT_MODEL_IDS): LanguageModelV2;
287
+ chatModel(modelId: CHAT_MODEL_IDS): LanguageModelV2;
288
+ completionModel(modelId: COMPLETION_MODEL_IDS): LanguageModelV2;
289
+ textEmbeddingModel(modelId: EMBEDDING_MODEL_IDS): EmbeddingModelV2<string>;
290
+ imageModel(modelId: IMAGE_MODEL_IDS): ImageModelV2;
290
291
  }
291
292
  interface OpenAICompatibleProviderSettings {
292
293
  /**
@@ -323,4 +324,4 @@ Create an OpenAICompatible provider instance.
323
324
  */
324
325
  declare function createOpenAICompatible<CHAT_MODEL_IDS extends string, COMPLETION_MODEL_IDS extends string, EMBEDDING_MODEL_IDS extends string, IMAGE_MODEL_IDS extends string>(options: OpenAICompatibleProviderSettings): OpenAICompatibleProvider<CHAT_MODEL_IDS, COMPLETION_MODEL_IDS, EMBEDDING_MODEL_IDS, IMAGE_MODEL_IDS>;
325
326
 
326
- export { type MetadataExtractor, OpenAICompatibleChatLanguageModel, type OpenAICompatibleChatSettings, OpenAICompatibleCompletionLanguageModel, type OpenAICompatibleCompletionSettings, OpenAICompatibleEmbeddingModel, type OpenAICompatibleEmbeddingSettings, type OpenAICompatibleErrorData, OpenAICompatibleImageModel, type OpenAICompatibleImageSettings, type OpenAICompatibleProvider, type OpenAICompatibleProviderSettings, type ProviderErrorStructure, createOpenAICompatible };
327
+ export { type MetadataExtractor, OpenAICompatibleChatLanguageModel, type OpenAICompatibleChatModelId, OpenAICompatibleCompletionLanguageModel, type OpenAICompatibleCompletionModelId, type OpenAICompatibleCompletionProviderOptions, OpenAICompatibleEmbeddingModel, type OpenAICompatibleEmbeddingModelId, type OpenAICompatibleEmbeddingProviderOptions, type OpenAICompatibleErrorData, OpenAICompatibleImageModel, type OpenAICompatibleProvider, type OpenAICompatibleProviderOptions, type OpenAICompatibleProviderSettings, type ProviderErrorStructure, createOpenAICompatible };