aimodels 0.3.5 → 0.3.6
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/dist/index.d.mts +55 -5
- package/dist/index.d.ts +55 -5
- package/dist/index.js +589 -102
- package/dist/index.mjs +589 -102
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -75,7 +75,10 @@ var ModelCollection = class _ModelCollection extends Array {
|
|
|
75
75
|
withMinContext(tokens) {
|
|
76
76
|
return this.filter((model) => {
|
|
77
77
|
const context = model.context;
|
|
78
|
-
if (
|
|
78
|
+
if (context.type !== "token" && context.type !== "character") {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
if (context.total === null) {
|
|
79
82
|
return false;
|
|
80
83
|
}
|
|
81
84
|
return context.total >= tokens;
|
|
@@ -88,61 +91,74 @@ var openai_models_default = {
|
|
|
88
91
|
creator: "openai",
|
|
89
92
|
models: [
|
|
90
93
|
{
|
|
91
|
-
id: "
|
|
92
|
-
name: "
|
|
93
|
-
license: "
|
|
94
|
+
id: "gpt-4",
|
|
95
|
+
name: "GPT-4",
|
|
96
|
+
license: "proprietary",
|
|
94
97
|
providers: [
|
|
95
98
|
"openai",
|
|
96
|
-
"azure"
|
|
97
|
-
"groq"
|
|
99
|
+
"azure"
|
|
98
100
|
],
|
|
99
101
|
can: [
|
|
100
|
-
"
|
|
101
|
-
"text-
|
|
102
|
+
"chat",
|
|
103
|
+
"text-in",
|
|
104
|
+
"text-out",
|
|
105
|
+
"json-out",
|
|
106
|
+
"function-out"
|
|
102
107
|
],
|
|
103
108
|
context: {
|
|
104
|
-
|
|
105
|
-
|
|
109
|
+
type: "token",
|
|
110
|
+
total: 8192,
|
|
111
|
+
maxOutput: 4096
|
|
106
112
|
}
|
|
107
113
|
},
|
|
108
114
|
{
|
|
109
|
-
id: "
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
"sound-in",
|
|
119
|
-
"text-out"
|
|
120
|
-
],
|
|
121
|
-
context: {
|
|
122
|
-
total: null,
|
|
123
|
-
maxOutput: null
|
|
115
|
+
id: "gpt-4-turbo-preview",
|
|
116
|
+
extends: "gpt-4",
|
|
117
|
+
overrides: {
|
|
118
|
+
name: "GPT-4 Turbo",
|
|
119
|
+
context: {
|
|
120
|
+
type: "token",
|
|
121
|
+
total: 128e3,
|
|
122
|
+
maxOutput: 4096
|
|
123
|
+
}
|
|
124
124
|
}
|
|
125
125
|
},
|
|
126
126
|
{
|
|
127
|
-
id: "
|
|
128
|
-
name: "
|
|
127
|
+
id: "gpt-3.5-turbo",
|
|
128
|
+
name: "GPT-3.5 Turbo",
|
|
129
129
|
license: "proprietary",
|
|
130
130
|
providers: [
|
|
131
131
|
"openai",
|
|
132
132
|
"azure"
|
|
133
133
|
],
|
|
134
134
|
can: [
|
|
135
|
+
"chat",
|
|
135
136
|
"text-in",
|
|
136
|
-
"
|
|
137
|
+
"text-out",
|
|
138
|
+
"json-out",
|
|
139
|
+
"function-out"
|
|
137
140
|
],
|
|
138
141
|
context: {
|
|
139
|
-
|
|
140
|
-
|
|
142
|
+
type: "token",
|
|
143
|
+
total: 16385,
|
|
144
|
+
maxOutput: 4096
|
|
141
145
|
}
|
|
142
146
|
},
|
|
143
147
|
{
|
|
144
|
-
id: "
|
|
145
|
-
|
|
148
|
+
id: "gpt-3.5-turbo-16k",
|
|
149
|
+
extends: "gpt-3.5-turbo",
|
|
150
|
+
overrides: {
|
|
151
|
+
name: "GPT-3.5 Turbo 16K",
|
|
152
|
+
context: {
|
|
153
|
+
type: "token",
|
|
154
|
+
total: 16385,
|
|
155
|
+
maxOutput: 4096
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
id: "gpt-3.5-turbo-instruct",
|
|
161
|
+
name: "GPT-3.5 Turbo Instruct",
|
|
146
162
|
license: "proprietary",
|
|
147
163
|
providers: [
|
|
148
164
|
"openai",
|
|
@@ -150,11 +166,12 @@ var openai_models_default = {
|
|
|
150
166
|
],
|
|
151
167
|
can: [
|
|
152
168
|
"text-in",
|
|
153
|
-
"
|
|
169
|
+
"text-out"
|
|
154
170
|
],
|
|
155
171
|
context: {
|
|
156
|
-
|
|
157
|
-
|
|
172
|
+
type: "token",
|
|
173
|
+
total: 4096,
|
|
174
|
+
maxOutput: 4096
|
|
158
175
|
}
|
|
159
176
|
},
|
|
160
177
|
{
|
|
@@ -167,32 +184,184 @@ var openai_models_default = {
|
|
|
167
184
|
],
|
|
168
185
|
can: [
|
|
169
186
|
"chat",
|
|
187
|
+
"text-in",
|
|
188
|
+
"text-out",
|
|
170
189
|
"img-in",
|
|
171
190
|
"json-out",
|
|
172
191
|
"function-out"
|
|
173
192
|
],
|
|
174
193
|
context: {
|
|
194
|
+
type: "token",
|
|
175
195
|
total: 128e3,
|
|
176
196
|
maxOutput: 16384
|
|
177
197
|
}
|
|
178
198
|
},
|
|
199
|
+
{
|
|
200
|
+
id: "chatgpt-4o-latest",
|
|
201
|
+
extends: "gpt-4o",
|
|
202
|
+
overrides: {
|
|
203
|
+
name: "GPT-4o used in ChatGPT"
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
id: "gpt-4o-2024-11-20",
|
|
208
|
+
extends: "gpt-4o",
|
|
209
|
+
overrides: {
|
|
210
|
+
name: "GPT-4o (2024-11-20)"
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
id: "gpt-4o-2024-08-06",
|
|
215
|
+
extends: "gpt-4o",
|
|
216
|
+
overrides: {
|
|
217
|
+
name: "GPT-4o (2024-08-06)"
|
|
218
|
+
}
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
id: "gpt-4o-2024-05-13",
|
|
222
|
+
extends: "gpt-4o",
|
|
223
|
+
overrides: {
|
|
224
|
+
name: "GPT-4o (2024-05-13)",
|
|
225
|
+
context: {
|
|
226
|
+
type: "token",
|
|
227
|
+
total: 128e3,
|
|
228
|
+
maxOutput: 4096
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
},
|
|
179
232
|
{
|
|
180
233
|
id: "gpt-4o-mini",
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
234
|
+
extends: "gpt-4o",
|
|
235
|
+
overrides: {
|
|
236
|
+
name: "GPT-4o Mini",
|
|
237
|
+
context: {
|
|
238
|
+
type: "token",
|
|
239
|
+
total: 128e3,
|
|
240
|
+
maxOutput: 16384
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
id: "gpt-4o-audio-preview",
|
|
246
|
+
extends: "gpt-4o",
|
|
247
|
+
overrides: {
|
|
248
|
+
name: "GPT-4o Audio",
|
|
249
|
+
can: [
|
|
250
|
+
"chat",
|
|
251
|
+
"text-in",
|
|
252
|
+
"text-out",
|
|
253
|
+
"sound-in",
|
|
254
|
+
"json-out",
|
|
255
|
+
"function-out"
|
|
256
|
+
],
|
|
257
|
+
context: {
|
|
258
|
+
type: "token",
|
|
259
|
+
total: 128e3,
|
|
260
|
+
maxOutput: 16384
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
id: "gpt-4o-audio-preview-2024-12-17",
|
|
266
|
+
extends: "gpt-4o-audio-preview",
|
|
267
|
+
overrides: {
|
|
268
|
+
name: "GPT-4o Audio (2024-12-17)"
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
id: "gpt-4o-audio-preview-2024-10-01",
|
|
273
|
+
extends: "gpt-4o-audio-preview",
|
|
274
|
+
overrides: {
|
|
275
|
+
name: "GPT-4o Audio (2024-10-01)"
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
id: "gpt-4o-mini-audio-preview",
|
|
280
|
+
extends: "gpt-4o-mini",
|
|
281
|
+
overrides: {
|
|
282
|
+
name: "GPT-4o Mini Audio",
|
|
283
|
+
can: [
|
|
284
|
+
"chat",
|
|
285
|
+
"text-in",
|
|
286
|
+
"text-out",
|
|
287
|
+
"sound-in",
|
|
288
|
+
"sound-out",
|
|
289
|
+
"json-out",
|
|
290
|
+
"function-out"
|
|
291
|
+
],
|
|
292
|
+
context: {
|
|
293
|
+
type: "token",
|
|
294
|
+
total: 128e3,
|
|
295
|
+
maxOutput: 16384
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
id: "gpt-4o-mini-audio-preview-2024-12-17",
|
|
301
|
+
extends: "gpt-4o-mini-audio-preview",
|
|
302
|
+
overrides: {
|
|
303
|
+
name: "GPT-4o Mini Audio (2024-12-17)"
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
id: "gpt-4o-realtime-preview",
|
|
308
|
+
extends: "gpt-4o",
|
|
309
|
+
overrides: {
|
|
310
|
+
name: "GPT-4o Realtime",
|
|
311
|
+
can: [
|
|
312
|
+
"chat",
|
|
313
|
+
"text-in",
|
|
314
|
+
"text-out",
|
|
315
|
+
"sound-in",
|
|
316
|
+
"json-out",
|
|
317
|
+
"function-out"
|
|
318
|
+
],
|
|
319
|
+
context: {
|
|
320
|
+
type: "token",
|
|
321
|
+
total: 128e3,
|
|
322
|
+
maxOutput: 4096
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
{
|
|
327
|
+
id: "gpt-4o-realtime-preview-2024-12-17",
|
|
328
|
+
extends: "gpt-4o-realtime-preview",
|
|
329
|
+
overrides: {
|
|
330
|
+
name: "GPT-4o Realtime (2024-12-17)"
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
id: "gpt-4o-realtime-preview-2024-10-01",
|
|
335
|
+
extends: "gpt-4o-realtime-preview",
|
|
336
|
+
overrides: {
|
|
337
|
+
name: "GPT-4o Realtime (2024-10-01)"
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
id: "gpt-4o-mini-realtime-preview",
|
|
342
|
+
extends: "gpt-4o-mini",
|
|
343
|
+
overrides: {
|
|
344
|
+
name: "GPT-4o Mini Realtime",
|
|
345
|
+
can: [
|
|
346
|
+
"chat",
|
|
347
|
+
"text-in",
|
|
348
|
+
"text-out",
|
|
349
|
+
"sound-in",
|
|
350
|
+
"json-out",
|
|
351
|
+
"function-out"
|
|
352
|
+
],
|
|
353
|
+
context: {
|
|
354
|
+
type: "token",
|
|
355
|
+
total: 128e3,
|
|
356
|
+
maxOutput: 4096
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
id: "gpt-4o-mini-realtime-preview-2024-12-17",
|
|
362
|
+
extends: "gpt-4o-mini-realtime-preview",
|
|
363
|
+
overrides: {
|
|
364
|
+
name: "GPT-4o Mini Realtime (2024-12-17)"
|
|
196
365
|
}
|
|
197
366
|
},
|
|
198
367
|
{
|
|
@@ -205,19 +374,75 @@ var openai_models_default = {
|
|
|
205
374
|
],
|
|
206
375
|
can: [
|
|
207
376
|
"chat",
|
|
377
|
+
"text-in",
|
|
378
|
+
"text-out",
|
|
208
379
|
"img-in",
|
|
209
380
|
"json-out",
|
|
210
381
|
"function-out",
|
|
211
382
|
"reason"
|
|
212
383
|
],
|
|
213
384
|
context: {
|
|
385
|
+
type: "token",
|
|
214
386
|
total: 2e5,
|
|
215
387
|
maxOutput: 1e5
|
|
216
388
|
}
|
|
217
389
|
},
|
|
390
|
+
{
|
|
391
|
+
id: "o1-2024-12-17",
|
|
392
|
+
extends: "o1",
|
|
393
|
+
overrides: {
|
|
394
|
+
name: "OpenAI O1 (2024-12-17)"
|
|
395
|
+
}
|
|
396
|
+
},
|
|
218
397
|
{
|
|
219
398
|
id: "o1-mini",
|
|
220
|
-
|
|
399
|
+
extends: "o1",
|
|
400
|
+
overrides: {
|
|
401
|
+
name: "OpenAI O1 Mini",
|
|
402
|
+
can: [
|
|
403
|
+
"chat",
|
|
404
|
+
"text-in",
|
|
405
|
+
"text-out",
|
|
406
|
+
"json-out",
|
|
407
|
+
"function-out",
|
|
408
|
+
"reason"
|
|
409
|
+
],
|
|
410
|
+
context: {
|
|
411
|
+
type: "token",
|
|
412
|
+
total: 128e3,
|
|
413
|
+
maxOutput: 65536
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
id: "o1-mini-2024-09-12",
|
|
419
|
+
extends: "o1-mini",
|
|
420
|
+
overrides: {
|
|
421
|
+
name: "OpenAI O1 Mini (2024-09-12)"
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
id: "o1-preview",
|
|
426
|
+
extends: "o1",
|
|
427
|
+
overrides: {
|
|
428
|
+
name: "OpenAI O1 Preview",
|
|
429
|
+
context: {
|
|
430
|
+
type: "token",
|
|
431
|
+
total: 128e3,
|
|
432
|
+
maxOutput: 32768
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
{
|
|
437
|
+
id: "o1-preview-2024-09-12",
|
|
438
|
+
extends: "o1-preview",
|
|
439
|
+
overrides: {
|
|
440
|
+
name: "OpenAI O1 Preview (2024-09-12)"
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
id: "o3-mini",
|
|
445
|
+
name: "OpenAI O3 Mini",
|
|
221
446
|
license: "proprietary",
|
|
222
447
|
providers: [
|
|
223
448
|
"openai",
|
|
@@ -225,70 +450,89 @@ var openai_models_default = {
|
|
|
225
450
|
],
|
|
226
451
|
can: [
|
|
227
452
|
"chat",
|
|
453
|
+
"text-in",
|
|
454
|
+
"text-out",
|
|
228
455
|
"json-out",
|
|
229
456
|
"function-out",
|
|
230
457
|
"reason"
|
|
231
458
|
],
|
|
232
459
|
context: {
|
|
233
|
-
|
|
234
|
-
|
|
460
|
+
type: "token",
|
|
461
|
+
total: 2e5,
|
|
462
|
+
maxOutput: 1e5
|
|
235
463
|
}
|
|
236
464
|
},
|
|
237
465
|
{
|
|
238
|
-
id: "o3-mini",
|
|
239
|
-
|
|
466
|
+
id: "o3-mini-2025-01-31",
|
|
467
|
+
extends: "o3-mini",
|
|
468
|
+
overrides: {
|
|
469
|
+
name: "OpenAI O3 Mini (2025-01-31)"
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
id: "whisper-1",
|
|
474
|
+
name: "Whisper",
|
|
240
475
|
license: "proprietary",
|
|
241
476
|
providers: [
|
|
242
477
|
"openai",
|
|
243
478
|
"azure"
|
|
244
479
|
],
|
|
245
480
|
can: [
|
|
246
|
-
"
|
|
247
|
-
"
|
|
248
|
-
"function-out",
|
|
249
|
-
"reason"
|
|
481
|
+
"sound-in",
|
|
482
|
+
"text-out"
|
|
250
483
|
],
|
|
251
484
|
context: {
|
|
252
|
-
|
|
253
|
-
|
|
485
|
+
type: "audio-in",
|
|
486
|
+
total: null,
|
|
487
|
+
maxOutput: null
|
|
254
488
|
}
|
|
255
489
|
},
|
|
256
490
|
{
|
|
257
|
-
id: "
|
|
258
|
-
name: "
|
|
491
|
+
id: "tts-1",
|
|
492
|
+
name: "TTS-1",
|
|
259
493
|
license: "proprietary",
|
|
260
494
|
providers: [
|
|
261
495
|
"openai",
|
|
262
496
|
"azure"
|
|
263
497
|
],
|
|
264
498
|
can: [
|
|
265
|
-
"
|
|
266
|
-
"sound-
|
|
267
|
-
"json-out",
|
|
268
|
-
"function-out"
|
|
499
|
+
"text-in",
|
|
500
|
+
"sound-out"
|
|
269
501
|
],
|
|
270
502
|
context: {
|
|
271
|
-
|
|
272
|
-
|
|
503
|
+
type: "audio-out",
|
|
504
|
+
total: null,
|
|
505
|
+
maxOutput: null
|
|
273
506
|
}
|
|
274
507
|
},
|
|
275
508
|
{
|
|
276
|
-
id: "
|
|
277
|
-
|
|
509
|
+
id: "tts-1-hd",
|
|
510
|
+
extends: "tts-1",
|
|
511
|
+
overrides: {
|
|
512
|
+
name: "TTS-1 HD"
|
|
513
|
+
}
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
id: "dall-e-2",
|
|
517
|
+
name: "DALL-E 2",
|
|
278
518
|
license: "proprietary",
|
|
279
519
|
providers: [
|
|
280
520
|
"openai",
|
|
281
521
|
"azure"
|
|
282
522
|
],
|
|
283
523
|
can: [
|
|
284
|
-
"
|
|
285
|
-
"sound-in",
|
|
286
|
-
"json-out",
|
|
287
|
-
"function-out"
|
|
524
|
+
"img-out"
|
|
288
525
|
],
|
|
289
526
|
context: {
|
|
290
|
-
|
|
291
|
-
|
|
527
|
+
maxOutput: 1,
|
|
528
|
+
sizes: [
|
|
529
|
+
"256x256",
|
|
530
|
+
"512x512",
|
|
531
|
+
"1024x1024"
|
|
532
|
+
],
|
|
533
|
+
qualities: [
|
|
534
|
+
"standard"
|
|
535
|
+
]
|
|
292
536
|
}
|
|
293
537
|
},
|
|
294
538
|
{
|
|
@@ -300,6 +544,7 @@ var openai_models_default = {
|
|
|
300
544
|
"azure"
|
|
301
545
|
],
|
|
302
546
|
can: [
|
|
547
|
+
"text-in",
|
|
303
548
|
"img-out"
|
|
304
549
|
],
|
|
305
550
|
context: {
|
|
@@ -314,6 +559,69 @@ var openai_models_default = {
|
|
|
314
559
|
"hd"
|
|
315
560
|
]
|
|
316
561
|
}
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
id: "text-embedding-ada-002",
|
|
565
|
+
name: "Text Embedding Ada 002",
|
|
566
|
+
license: "proprietary",
|
|
567
|
+
providers: [
|
|
568
|
+
"openai",
|
|
569
|
+
"azure"
|
|
570
|
+
],
|
|
571
|
+
can: [
|
|
572
|
+
"text-in",
|
|
573
|
+
"vectors-out"
|
|
574
|
+
],
|
|
575
|
+
context: {
|
|
576
|
+
type: "embedding",
|
|
577
|
+
total: 8191,
|
|
578
|
+
unit: "tokens",
|
|
579
|
+
dimensions: 1536,
|
|
580
|
+
embeddingType: "text",
|
|
581
|
+
normalized: true
|
|
582
|
+
}
|
|
583
|
+
},
|
|
584
|
+
{
|
|
585
|
+
id: "text-embedding-3-small",
|
|
586
|
+
name: "Text Embedding 3 Small",
|
|
587
|
+
license: "proprietary",
|
|
588
|
+
providers: [
|
|
589
|
+
"openai",
|
|
590
|
+
"azure"
|
|
591
|
+
],
|
|
592
|
+
can: [
|
|
593
|
+
"text-in",
|
|
594
|
+
"vectors-out"
|
|
595
|
+
],
|
|
596
|
+
context: {
|
|
597
|
+
type: "embedding",
|
|
598
|
+
total: 8191,
|
|
599
|
+
unit: "tokens",
|
|
600
|
+
dimensions: 1536,
|
|
601
|
+
embeddingType: "text",
|
|
602
|
+
normalized: true
|
|
603
|
+
}
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
id: "text-embedding-3-large",
|
|
607
|
+
name: "Text Embedding 3 Large",
|
|
608
|
+
license: "proprietary",
|
|
609
|
+
providers: [
|
|
610
|
+
"openai",
|
|
611
|
+
"azure"
|
|
612
|
+
],
|
|
613
|
+
can: [
|
|
614
|
+
"text-in",
|
|
615
|
+
"vectors-out"
|
|
616
|
+
],
|
|
617
|
+
context: {
|
|
618
|
+
type: "embedding",
|
|
619
|
+
total: 8191,
|
|
620
|
+
unit: "tokens",
|
|
621
|
+
dimensions: 3072,
|
|
622
|
+
embeddingType: "text",
|
|
623
|
+
normalized: true
|
|
624
|
+
}
|
|
317
625
|
}
|
|
318
626
|
]
|
|
319
627
|
};
|
|
@@ -323,14 +631,10 @@ var anthropic_models_default = {
|
|
|
323
631
|
creator: "anthropic",
|
|
324
632
|
models: [
|
|
325
633
|
{
|
|
326
|
-
id: "claude-3-opus
|
|
634
|
+
id: "claude-3-opus",
|
|
327
635
|
name: "Claude 3 Opus",
|
|
328
636
|
license: "proprietary",
|
|
329
|
-
providers: [
|
|
330
|
-
"anthropic",
|
|
331
|
-
"aws",
|
|
332
|
-
"google"
|
|
333
|
-
],
|
|
637
|
+
providers: ["anthropic", "aws", "google"],
|
|
334
638
|
can: [
|
|
335
639
|
"chat",
|
|
336
640
|
"text-in",
|
|
@@ -340,6 +644,7 @@ var anthropic_models_default = {
|
|
|
340
644
|
"function-out"
|
|
341
645
|
],
|
|
342
646
|
context: {
|
|
647
|
+
type: "token",
|
|
343
648
|
total: 2e5,
|
|
344
649
|
maxOutput: 4096,
|
|
345
650
|
outputIsFixed: 1
|
|
@@ -347,14 +652,17 @@ var anthropic_models_default = {
|
|
|
347
652
|
aliases: ["claude-3-opus-latest"]
|
|
348
653
|
},
|
|
349
654
|
{
|
|
350
|
-
id: "claude-3-
|
|
655
|
+
id: "claude-3-opus-20240229",
|
|
656
|
+
extends: "claude-3-opus",
|
|
657
|
+
overrides: {
|
|
658
|
+
name: "Claude 3 Opus (2024-02-29)"
|
|
659
|
+
}
|
|
660
|
+
},
|
|
661
|
+
{
|
|
662
|
+
id: "claude-3-sonnet",
|
|
351
663
|
name: "Claude 3 Sonnet",
|
|
352
664
|
license: "proprietary",
|
|
353
|
-
providers: [
|
|
354
|
-
"anthropic",
|
|
355
|
-
"aws",
|
|
356
|
-
"google"
|
|
357
|
-
],
|
|
665
|
+
providers: ["anthropic", "aws", "google"],
|
|
358
666
|
can: [
|
|
359
667
|
"chat",
|
|
360
668
|
"text-in",
|
|
@@ -364,21 +672,52 @@ var anthropic_models_default = {
|
|
|
364
672
|
"function-out"
|
|
365
673
|
],
|
|
366
674
|
context: {
|
|
675
|
+
type: "token",
|
|
367
676
|
total: 2e5,
|
|
368
|
-
maxOutput:
|
|
677
|
+
maxOutput: 4096,
|
|
369
678
|
outputIsFixed: 1
|
|
370
679
|
},
|
|
371
680
|
aliases: ["claude-3-sonnet-latest"]
|
|
372
681
|
},
|
|
373
682
|
{
|
|
374
|
-
id: "claude-3-
|
|
683
|
+
id: "claude-3-sonnet-20240229",
|
|
684
|
+
extends: "claude-3-sonnet",
|
|
685
|
+
overrides: {
|
|
686
|
+
name: "Claude 3 Sonnet (2024-02-29)"
|
|
687
|
+
}
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
id: "claude-3-haiku",
|
|
375
691
|
name: "Claude 3 Haiku",
|
|
376
692
|
license: "proprietary",
|
|
377
|
-
providers: [
|
|
378
|
-
|
|
379
|
-
"
|
|
380
|
-
"
|
|
693
|
+
providers: ["anthropic", "aws", "google"],
|
|
694
|
+
can: [
|
|
695
|
+
"chat",
|
|
696
|
+
"text-in",
|
|
697
|
+
"text-out",
|
|
698
|
+
"img-in",
|
|
699
|
+
"json-out",
|
|
700
|
+
"function-out"
|
|
381
701
|
],
|
|
702
|
+
context: {
|
|
703
|
+
type: "token",
|
|
704
|
+
total: 2e5,
|
|
705
|
+
maxOutput: 4096,
|
|
706
|
+
outputIsFixed: 1
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
id: "claude-3-haiku-20240307",
|
|
711
|
+
extends: "claude-3-haiku",
|
|
712
|
+
overrides: {
|
|
713
|
+
name: "Claude 3 Haiku (2024-03-07)"
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
id: "claude-3-5-sonnet",
|
|
718
|
+
name: "Claude 3.5 Sonnet",
|
|
719
|
+
license: "proprietary",
|
|
720
|
+
providers: ["anthropic", "aws", "google"],
|
|
382
721
|
can: [
|
|
383
722
|
"chat",
|
|
384
723
|
"text-in",
|
|
@@ -388,9 +727,45 @@ var anthropic_models_default = {
|
|
|
388
727
|
"function-out"
|
|
389
728
|
],
|
|
390
729
|
context: {
|
|
730
|
+
type: "token",
|
|
391
731
|
total: 2e5,
|
|
392
732
|
maxOutput: 8192,
|
|
393
733
|
outputIsFixed: 1
|
|
734
|
+
},
|
|
735
|
+
aliases: ["claude-3-5-sonnet-latest"]
|
|
736
|
+
},
|
|
737
|
+
{
|
|
738
|
+
id: "claude-3-5-sonnet-20241022",
|
|
739
|
+
extends: "claude-3-5-sonnet",
|
|
740
|
+
overrides: {
|
|
741
|
+
name: "Claude 3.5 Sonnet (2024-10-22)"
|
|
742
|
+
}
|
|
743
|
+
},
|
|
744
|
+
{
|
|
745
|
+
id: "claude-3-5-haiku",
|
|
746
|
+
name: "Claude 3.5 Haiku",
|
|
747
|
+
license: "proprietary",
|
|
748
|
+
providers: ["anthropic", "aws", "google"],
|
|
749
|
+
can: [
|
|
750
|
+
"chat",
|
|
751
|
+
"text-in",
|
|
752
|
+
"text-out",
|
|
753
|
+
"json-out",
|
|
754
|
+
"function-out"
|
|
755
|
+
],
|
|
756
|
+
context: {
|
|
757
|
+
type: "token",
|
|
758
|
+
total: 2e5,
|
|
759
|
+
maxOutput: 8192,
|
|
760
|
+
outputIsFixed: 1
|
|
761
|
+
},
|
|
762
|
+
aliases: ["claude-3-5-haiku-latest"]
|
|
763
|
+
},
|
|
764
|
+
{
|
|
765
|
+
id: "claude-3-5-haiku-20241022",
|
|
766
|
+
extends: "claude-3-5-haiku",
|
|
767
|
+
overrides: {
|
|
768
|
+
name: "Claude 3.5 Haiku (2024-10-22)"
|
|
394
769
|
}
|
|
395
770
|
}
|
|
396
771
|
]
|
|
@@ -407,6 +782,7 @@ var meta_models_default = {
|
|
|
407
782
|
providers: ["groq"],
|
|
408
783
|
can: ["chat", "text-in", "text-out", "json-out", "function-out"],
|
|
409
784
|
context: {
|
|
785
|
+
type: "token",
|
|
410
786
|
total: 8192,
|
|
411
787
|
maxOutput: 4096
|
|
412
788
|
}
|
|
@@ -418,6 +794,7 @@ var meta_models_default = {
|
|
|
418
794
|
providers: ["groq"],
|
|
419
795
|
can: ["chat", "text-in", "text-out", "json-out", "function-out"],
|
|
420
796
|
context: {
|
|
797
|
+
type: "token",
|
|
421
798
|
total: 8192,
|
|
422
799
|
maxOutput: 4096
|
|
423
800
|
}
|
|
@@ -429,6 +806,7 @@ var meta_models_default = {
|
|
|
429
806
|
providers: ["groq"],
|
|
430
807
|
can: ["chat", "text-in", "text-out", "img-in"],
|
|
431
808
|
context: {
|
|
809
|
+
type: "token",
|
|
432
810
|
total: 4096,
|
|
433
811
|
maxOutput: 4096
|
|
434
812
|
}
|
|
@@ -440,6 +818,7 @@ var meta_models_default = {
|
|
|
440
818
|
providers: ["groq"],
|
|
441
819
|
can: ["chat", "text-in", "text-out", "img-in"],
|
|
442
820
|
context: {
|
|
821
|
+
type: "token",
|
|
443
822
|
total: 4096,
|
|
444
823
|
maxOutput: 4096
|
|
445
824
|
}
|
|
@@ -451,6 +830,7 @@ var meta_models_default = {
|
|
|
451
830
|
providers: ["groq"],
|
|
452
831
|
can: ["chat", "text-in", "text-out"],
|
|
453
832
|
context: {
|
|
833
|
+
type: "token",
|
|
454
834
|
total: 4096,
|
|
455
835
|
maxOutput: 4096
|
|
456
836
|
}
|
|
@@ -475,6 +855,7 @@ var mistral_models_default = {
|
|
|
475
855
|
"function-out"
|
|
476
856
|
],
|
|
477
857
|
context: {
|
|
858
|
+
type: "token",
|
|
478
859
|
total: 32768,
|
|
479
860
|
maxOutput: 4096
|
|
480
861
|
}
|
|
@@ -492,6 +873,7 @@ var mistral_models_default = {
|
|
|
492
873
|
"function-out"
|
|
493
874
|
],
|
|
494
875
|
context: {
|
|
876
|
+
type: "token",
|
|
495
877
|
total: 32768,
|
|
496
878
|
maxOutput: 4096
|
|
497
879
|
}
|
|
@@ -507,6 +889,7 @@ var mistral_models_default = {
|
|
|
507
889
|
"text-out"
|
|
508
890
|
],
|
|
509
891
|
context: {
|
|
892
|
+
type: "token",
|
|
510
893
|
total: 32768,
|
|
511
894
|
maxOutput: 4096
|
|
512
895
|
}
|
|
@@ -522,6 +905,7 @@ var mistral_models_default = {
|
|
|
522
905
|
"text-out"
|
|
523
906
|
],
|
|
524
907
|
context: {
|
|
908
|
+
type: "token",
|
|
525
909
|
total: 32768,
|
|
526
910
|
maxOutput: 4096
|
|
527
911
|
}
|
|
@@ -537,6 +921,7 @@ var mistral_models_default = {
|
|
|
537
921
|
"text-out"
|
|
538
922
|
],
|
|
539
923
|
context: {
|
|
924
|
+
type: "token",
|
|
540
925
|
total: 32768,
|
|
541
926
|
maxOutput: 4096
|
|
542
927
|
}
|
|
@@ -555,6 +940,7 @@ var google_models_default = {
|
|
|
555
940
|
providers: ["google"],
|
|
556
941
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in", "reason"],
|
|
557
942
|
context: {
|
|
943
|
+
type: "token",
|
|
558
944
|
total: 1048576,
|
|
559
945
|
maxOutput: 8192
|
|
560
946
|
},
|
|
@@ -567,6 +953,7 @@ var google_models_default = {
|
|
|
567
953
|
providers: ["google"],
|
|
568
954
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
|
|
569
955
|
context: {
|
|
956
|
+
type: "token",
|
|
570
957
|
total: 1048576,
|
|
571
958
|
maxOutput: 8192
|
|
572
959
|
},
|
|
@@ -579,6 +966,7 @@ var google_models_default = {
|
|
|
579
966
|
providers: ["google"],
|
|
580
967
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
|
|
581
968
|
context: {
|
|
969
|
+
type: "token",
|
|
582
970
|
total: 2097152,
|
|
583
971
|
maxOutput: 8192
|
|
584
972
|
}
|
|
@@ -590,6 +978,7 @@ var google_models_default = {
|
|
|
590
978
|
providers: ["google"],
|
|
591
979
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
|
|
592
980
|
context: {
|
|
981
|
+
type: "token",
|
|
593
982
|
total: 2097152,
|
|
594
983
|
maxOutput: 8192
|
|
595
984
|
}
|
|
@@ -601,6 +990,7 @@ var google_models_default = {
|
|
|
601
990
|
providers: ["google"],
|
|
602
991
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in", "reason"],
|
|
603
992
|
context: {
|
|
993
|
+
type: "token",
|
|
604
994
|
total: 2097152,
|
|
605
995
|
maxOutput: 8192
|
|
606
996
|
},
|
|
@@ -613,6 +1003,7 @@ var google_models_default = {
|
|
|
613
1003
|
providers: ["google"],
|
|
614
1004
|
can: ["text-in", "vectors-out"],
|
|
615
1005
|
context: {
|
|
1006
|
+
type: "token",
|
|
616
1007
|
total: 2048,
|
|
617
1008
|
maxOutput: 768
|
|
618
1009
|
}
|
|
@@ -624,6 +1015,7 @@ var google_models_default = {
|
|
|
624
1015
|
providers: ["google"],
|
|
625
1016
|
can: ["chat", "text-in", "text-out", "json-out", "function-out"],
|
|
626
1017
|
context: {
|
|
1018
|
+
type: "token",
|
|
627
1019
|
total: 8192,
|
|
628
1020
|
maxOutput: 4096
|
|
629
1021
|
}
|
|
@@ -635,6 +1027,7 @@ var google_models_default = {
|
|
|
635
1027
|
providers: ["google"],
|
|
636
1028
|
can: ["chat", "text-in", "text-out", "json-out", "function-out"],
|
|
637
1029
|
context: {
|
|
1030
|
+
type: "token",
|
|
638
1031
|
total: 8192,
|
|
639
1032
|
maxOutput: 4096
|
|
640
1033
|
}
|
|
@@ -659,6 +1052,7 @@ var deepseek_models_default = {
|
|
|
659
1052
|
"function-out"
|
|
660
1053
|
],
|
|
661
1054
|
context: {
|
|
1055
|
+
type: "token",
|
|
662
1056
|
total: 131072,
|
|
663
1057
|
maxOutput: 8192
|
|
664
1058
|
}
|
|
@@ -677,6 +1071,7 @@ var deepseek_models_default = {
|
|
|
677
1071
|
"reason"
|
|
678
1072
|
],
|
|
679
1073
|
context: {
|
|
1074
|
+
type: "token",
|
|
680
1075
|
total: 131072,
|
|
681
1076
|
maxOutput: 8192
|
|
682
1077
|
}
|
|
@@ -696,6 +1091,7 @@ var xai_models_default = {
|
|
|
696
1091
|
providers: ["xai"],
|
|
697
1092
|
can: ["chat", "text-in", "text-out", "img-in"],
|
|
698
1093
|
context: {
|
|
1094
|
+
type: "token",
|
|
699
1095
|
total: 32768,
|
|
700
1096
|
maxOutput: 4096
|
|
701
1097
|
},
|
|
@@ -709,6 +1105,7 @@ var xai_models_default = {
|
|
|
709
1105
|
providers: ["xai"],
|
|
710
1106
|
can: ["chat", "text-in", "text-out"],
|
|
711
1107
|
context: {
|
|
1108
|
+
type: "token",
|
|
712
1109
|
total: 131072,
|
|
713
1110
|
maxOutput: 4096
|
|
714
1111
|
},
|
|
@@ -722,6 +1119,7 @@ var xai_models_default = {
|
|
|
722
1119
|
providers: ["xai"],
|
|
723
1120
|
can: ["chat", "text-in", "text-out", "img-in"],
|
|
724
1121
|
context: {
|
|
1122
|
+
type: "token",
|
|
725
1123
|
total: 8192,
|
|
726
1124
|
maxOutput: 4096
|
|
727
1125
|
}
|
|
@@ -734,6 +1132,7 @@ var xai_models_default = {
|
|
|
734
1132
|
providers: ["xai"],
|
|
735
1133
|
can: ["chat", "text-in", "text-out"],
|
|
736
1134
|
context: {
|
|
1135
|
+
type: "token",
|
|
737
1136
|
total: 131072,
|
|
738
1137
|
maxOutput: 4096
|
|
739
1138
|
}
|
|
@@ -753,6 +1152,7 @@ var cohere_models_default = {
|
|
|
753
1152
|
providers: ["cohere"],
|
|
754
1153
|
can: ["chat", "text-in", "text-out", "reason", "function-out"],
|
|
755
1154
|
context: {
|
|
1155
|
+
type: "token",
|
|
756
1156
|
total: 128e3,
|
|
757
1157
|
maxOutput: 4096
|
|
758
1158
|
}
|
|
@@ -765,6 +1165,7 @@ var cohere_models_default = {
|
|
|
765
1165
|
providers: ["cohere", "bedrock", "azure", "oracle"],
|
|
766
1166
|
can: ["chat", "text-in", "text-out", "reason", "function-out"],
|
|
767
1167
|
context: {
|
|
1168
|
+
type: "token",
|
|
768
1169
|
total: 128e3,
|
|
769
1170
|
maxOutput: 4096
|
|
770
1171
|
},
|
|
@@ -778,6 +1179,7 @@ var cohere_models_default = {
|
|
|
778
1179
|
providers: ["cohere", "bedrock", "azure", "oracle"],
|
|
779
1180
|
can: ["chat", "text-in", "text-out", "reason", "function-out"],
|
|
780
1181
|
context: {
|
|
1182
|
+
type: "token",
|
|
781
1183
|
total: 128e3,
|
|
782
1184
|
maxOutput: 4096
|
|
783
1185
|
},
|
|
@@ -791,6 +1193,7 @@ var cohere_models_default = {
|
|
|
791
1193
|
providers: ["cohere", "bedrock", "oracle"],
|
|
792
1194
|
can: ["chat", "text-in", "text-out"],
|
|
793
1195
|
context: {
|
|
1196
|
+
type: "token",
|
|
794
1197
|
total: 4096,
|
|
795
1198
|
maxOutput: 4096
|
|
796
1199
|
}
|
|
@@ -803,6 +1206,7 @@ var cohere_models_default = {
|
|
|
803
1206
|
providers: ["cohere", "bedrock", "oracle"],
|
|
804
1207
|
can: ["chat", "text-in", "text-out"],
|
|
805
1208
|
context: {
|
|
1209
|
+
type: "token",
|
|
806
1210
|
total: 4096,
|
|
807
1211
|
maxOutput: 4096
|
|
808
1212
|
}
|
|
@@ -815,6 +1219,7 @@ var cohere_models_default = {
|
|
|
815
1219
|
providers: ["cohere", "bedrock", "azure", "oracle"],
|
|
816
1220
|
can: ["text-in", "img-in", "vectors-out"],
|
|
817
1221
|
context: {
|
|
1222
|
+
type: "token",
|
|
818
1223
|
total: 512,
|
|
819
1224
|
maxOutput: 1024
|
|
820
1225
|
}
|
|
@@ -827,6 +1232,7 @@ var cohere_models_default = {
|
|
|
827
1232
|
providers: ["cohere", "oracle"],
|
|
828
1233
|
can: ["text-in", "img-in", "vectors-out"],
|
|
829
1234
|
context: {
|
|
1235
|
+
type: "token",
|
|
830
1236
|
total: 512,
|
|
831
1237
|
maxOutput: 384
|
|
832
1238
|
}
|
|
@@ -839,6 +1245,7 @@ var cohere_models_default = {
|
|
|
839
1245
|
providers: ["cohere", "bedrock", "azure", "oracle"],
|
|
840
1246
|
can: ["text-in", "img-in", "vectors-out"],
|
|
841
1247
|
context: {
|
|
1248
|
+
type: "token",
|
|
842
1249
|
total: 512,
|
|
843
1250
|
maxOutput: 1024
|
|
844
1251
|
}
|
|
@@ -851,6 +1258,7 @@ var cohere_models_default = {
|
|
|
851
1258
|
providers: ["cohere", "oracle"],
|
|
852
1259
|
can: ["text-in", "img-in", "vectors-out"],
|
|
853
1260
|
context: {
|
|
1261
|
+
type: "token",
|
|
854
1262
|
total: 512,
|
|
855
1263
|
maxOutput: 384
|
|
856
1264
|
}
|
|
@@ -863,6 +1271,7 @@ var cohere_models_default = {
|
|
|
863
1271
|
providers: ["cohere", "bedrock", "azure"],
|
|
864
1272
|
can: ["text-in", "text-out"],
|
|
865
1273
|
context: {
|
|
1274
|
+
type: "token",
|
|
866
1275
|
total: 4096,
|
|
867
1276
|
maxOutput: null
|
|
868
1277
|
}
|
|
@@ -875,6 +1284,7 @@ var cohere_models_default = {
|
|
|
875
1284
|
providers: ["cohere", "azure"],
|
|
876
1285
|
can: ["text-in", "text-out"],
|
|
877
1286
|
context: {
|
|
1287
|
+
type: "token",
|
|
878
1288
|
total: 4096,
|
|
879
1289
|
maxOutput: null
|
|
880
1290
|
}
|
|
@@ -887,6 +1297,7 @@ var cohere_models_default = {
|
|
|
887
1297
|
providers: ["cohere", "azure"],
|
|
888
1298
|
can: ["text-in", "text-out"],
|
|
889
1299
|
context: {
|
|
1300
|
+
type: "token",
|
|
890
1301
|
total: 4096,
|
|
891
1302
|
maxOutput: null
|
|
892
1303
|
}
|
|
@@ -906,6 +1317,19 @@ function validateModel(raw) {
|
|
|
906
1317
|
throw new Error(`Model ${field} must be a string`);
|
|
907
1318
|
}
|
|
908
1319
|
}
|
|
1320
|
+
if (model.extends !== void 0 && typeof model.extends !== "string") {
|
|
1321
|
+
throw new Error("Model extends must be a string");
|
|
1322
|
+
}
|
|
1323
|
+
if (model.overrides !== void 0) {
|
|
1324
|
+
if (typeof model.overrides !== "object" || model.overrides === null) {
|
|
1325
|
+
throw new Error("Model overrides must be an object");
|
|
1326
|
+
}
|
|
1327
|
+
const validOverrideFields = ["name", "creator", "license", "providers", "can", "languages", "aliases", "context"];
|
|
1328
|
+
const invalidFields = Object.keys(model.overrides).filter((field) => !validOverrideFields.includes(field));
|
|
1329
|
+
if (invalidFields.length > 0) {
|
|
1330
|
+
throw new Error(`Invalid override fields: ${invalidFields.join(", ")}`);
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
909
1333
|
if (!Array.isArray(model.providers)) {
|
|
910
1334
|
throw new Error("Model providers must be an array");
|
|
911
1335
|
}
|
|
@@ -947,6 +1371,16 @@ function validateModel(raw) {
|
|
|
947
1371
|
if (typeof context.maxOutput !== "number") {
|
|
948
1372
|
throw new Error("Image model context.maxOutput must be a number");
|
|
949
1373
|
}
|
|
1374
|
+
} else if (context.type === "embedding") {
|
|
1375
|
+
if (typeof context.total !== "number") {
|
|
1376
|
+
throw new Error("Embedding model context.total must be a number");
|
|
1377
|
+
}
|
|
1378
|
+
if (typeof context.unit !== "string") {
|
|
1379
|
+
throw new Error("Embedding model context.unit must be a string");
|
|
1380
|
+
}
|
|
1381
|
+
if (typeof context.dimensions !== "number") {
|
|
1382
|
+
throw new Error("Embedding model context.dimensions must be a number");
|
|
1383
|
+
}
|
|
950
1384
|
} else {
|
|
951
1385
|
if (typeof context.total !== "number" && context.total !== null) {
|
|
952
1386
|
throw new Error("Token model context.total must be a number or null");
|
|
@@ -964,8 +1398,41 @@ function validateModel(raw) {
|
|
|
964
1398
|
can: model.can,
|
|
965
1399
|
context: model.context,
|
|
966
1400
|
...model.languages ? { languages: model.languages } : {},
|
|
967
|
-
...model.aliases ? { aliases: model.aliases } : {}
|
|
1401
|
+
...model.aliases ? { aliases: model.aliases } : {},
|
|
1402
|
+
...model.extends ? { extends: model.extends } : {},
|
|
1403
|
+
...model.overrides ? { overrides: model.overrides } : {}
|
|
1404
|
+
};
|
|
1405
|
+
}
|
|
1406
|
+
function resolveModel(model, allModels2, visited = /* @__PURE__ */ new Set()) {
|
|
1407
|
+
if (!model.extends) {
|
|
1408
|
+
return model;
|
|
1409
|
+
}
|
|
1410
|
+
if (visited.has(model.id)) {
|
|
1411
|
+
throw new Error(`Circular dependency detected for model ${model.id}`);
|
|
1412
|
+
}
|
|
1413
|
+
visited.add(model.id);
|
|
1414
|
+
const baseModel = allModels2[model.extends];
|
|
1415
|
+
if (!baseModel) {
|
|
1416
|
+
throw new Error(`Base model ${model.extends} not found for ${model.id}`);
|
|
1417
|
+
}
|
|
1418
|
+
const resolvedBase = resolveModel(baseModel, allModels2, visited);
|
|
1419
|
+
if (!model.overrides) {
|
|
1420
|
+
return {
|
|
1421
|
+
...resolvedBase,
|
|
1422
|
+
id: model.id,
|
|
1423
|
+
extends: model.extends
|
|
1424
|
+
};
|
|
1425
|
+
}
|
|
1426
|
+
const resolved = {
|
|
1427
|
+
...resolvedBase,
|
|
1428
|
+
...model.overrides,
|
|
1429
|
+
id: model.id,
|
|
1430
|
+
extends: model.extends
|
|
968
1431
|
};
|
|
1432
|
+
if (!resolved.name || !resolved.creator || !resolved.license || !resolved.providers || !resolved.can || !resolved.context) {
|
|
1433
|
+
throw new Error(`Missing required fields in resolved model ${model.id}`);
|
|
1434
|
+
}
|
|
1435
|
+
return resolved;
|
|
969
1436
|
}
|
|
970
1437
|
function buildAllModels() {
|
|
971
1438
|
const allModelData = [
|
|
@@ -979,12 +1446,29 @@ function buildAllModels() {
|
|
|
979
1446
|
cohere_models_default
|
|
980
1447
|
];
|
|
981
1448
|
const allModels2 = allModelData.flatMap(
|
|
982
|
-
(data) => data.models.map((model) =>
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
1449
|
+
(data) => data.models.map((model) => {
|
|
1450
|
+
if (typeof model.id !== "string") {
|
|
1451
|
+
throw new Error(`Model id must be a string`);
|
|
1452
|
+
}
|
|
1453
|
+
if (model.extends !== void 0 && typeof model.extends !== "string") {
|
|
1454
|
+
throw new Error("Model extends must be a string");
|
|
1455
|
+
}
|
|
1456
|
+
if (model.overrides !== void 0 && (typeof model.overrides !== "object" || model.overrides === null)) {
|
|
1457
|
+
throw new Error("Model overrides must be an object");
|
|
1458
|
+
}
|
|
1459
|
+
return {
|
|
1460
|
+
...model,
|
|
1461
|
+
creator: data.creator
|
|
1462
|
+
};
|
|
1463
|
+
})
|
|
1464
|
+
);
|
|
1465
|
+
const modelMap = Object.fromEntries(
|
|
1466
|
+
allModels2.map((model) => [model.id, model])
|
|
986
1467
|
);
|
|
987
|
-
|
|
1468
|
+
const resolvedModels = allModels2.map(
|
|
1469
|
+
(model) => resolveModel(model, modelMap)
|
|
1470
|
+
);
|
|
1471
|
+
return resolvedModels.map((model) => validateModel(model));
|
|
988
1472
|
}
|
|
989
1473
|
|
|
990
1474
|
// src/data/providers/openai-provider.json
|
|
@@ -1232,7 +1716,10 @@ var AIModels = class _AIModels extends ModelCollection {
|
|
|
1232
1716
|
}
|
|
1233
1717
|
/** Get all providers that can serve a specific model */
|
|
1234
1718
|
getProvidersForModel(modelId) {
|
|
1235
|
-
|
|
1719
|
+
let model = this.id(modelId);
|
|
1720
|
+
if (!model) {
|
|
1721
|
+
model = this.find((m) => m.aliases?.includes(modelId));
|
|
1722
|
+
}
|
|
1236
1723
|
if (!model) return [];
|
|
1237
1724
|
return providersData.providers.filter(
|
|
1238
1725
|
(p) => model.providers.includes(p.id)
|