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.mjs
CHANGED
|
@@ -46,7 +46,10 @@ var ModelCollection = class _ModelCollection extends Array {
|
|
|
46
46
|
withMinContext(tokens) {
|
|
47
47
|
return this.filter((model) => {
|
|
48
48
|
const context = model.context;
|
|
49
|
-
if (
|
|
49
|
+
if (context.type !== "token" && context.type !== "character") {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
if (context.total === null) {
|
|
50
53
|
return false;
|
|
51
54
|
}
|
|
52
55
|
return context.total >= tokens;
|
|
@@ -59,61 +62,74 @@ var openai_models_default = {
|
|
|
59
62
|
creator: "openai",
|
|
60
63
|
models: [
|
|
61
64
|
{
|
|
62
|
-
id: "
|
|
63
|
-
name: "
|
|
64
|
-
license: "
|
|
65
|
+
id: "gpt-4",
|
|
66
|
+
name: "GPT-4",
|
|
67
|
+
license: "proprietary",
|
|
65
68
|
providers: [
|
|
66
69
|
"openai",
|
|
67
|
-
"azure"
|
|
68
|
-
"groq"
|
|
70
|
+
"azure"
|
|
69
71
|
],
|
|
70
72
|
can: [
|
|
71
|
-
"
|
|
72
|
-
"text-
|
|
73
|
+
"chat",
|
|
74
|
+
"text-in",
|
|
75
|
+
"text-out",
|
|
76
|
+
"json-out",
|
|
77
|
+
"function-out"
|
|
73
78
|
],
|
|
74
79
|
context: {
|
|
75
|
-
|
|
76
|
-
|
|
80
|
+
type: "token",
|
|
81
|
+
total: 8192,
|
|
82
|
+
maxOutput: 4096
|
|
77
83
|
}
|
|
78
84
|
},
|
|
79
85
|
{
|
|
80
|
-
id: "
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"sound-in",
|
|
90
|
-
"text-out"
|
|
91
|
-
],
|
|
92
|
-
context: {
|
|
93
|
-
total: null,
|
|
94
|
-
maxOutput: null
|
|
86
|
+
id: "gpt-4-turbo-preview",
|
|
87
|
+
extends: "gpt-4",
|
|
88
|
+
overrides: {
|
|
89
|
+
name: "GPT-4 Turbo",
|
|
90
|
+
context: {
|
|
91
|
+
type: "token",
|
|
92
|
+
total: 128e3,
|
|
93
|
+
maxOutput: 4096
|
|
94
|
+
}
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
97
|
{
|
|
98
|
-
id: "
|
|
99
|
-
name: "
|
|
98
|
+
id: "gpt-3.5-turbo",
|
|
99
|
+
name: "GPT-3.5 Turbo",
|
|
100
100
|
license: "proprietary",
|
|
101
101
|
providers: [
|
|
102
102
|
"openai",
|
|
103
103
|
"azure"
|
|
104
104
|
],
|
|
105
105
|
can: [
|
|
106
|
+
"chat",
|
|
106
107
|
"text-in",
|
|
107
|
-
"
|
|
108
|
+
"text-out",
|
|
109
|
+
"json-out",
|
|
110
|
+
"function-out"
|
|
108
111
|
],
|
|
109
112
|
context: {
|
|
110
|
-
|
|
111
|
-
|
|
113
|
+
type: "token",
|
|
114
|
+
total: 16385,
|
|
115
|
+
maxOutput: 4096
|
|
112
116
|
}
|
|
113
117
|
},
|
|
114
118
|
{
|
|
115
|
-
id: "
|
|
116
|
-
|
|
119
|
+
id: "gpt-3.5-turbo-16k",
|
|
120
|
+
extends: "gpt-3.5-turbo",
|
|
121
|
+
overrides: {
|
|
122
|
+
name: "GPT-3.5 Turbo 16K",
|
|
123
|
+
context: {
|
|
124
|
+
type: "token",
|
|
125
|
+
total: 16385,
|
|
126
|
+
maxOutput: 4096
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
id: "gpt-3.5-turbo-instruct",
|
|
132
|
+
name: "GPT-3.5 Turbo Instruct",
|
|
117
133
|
license: "proprietary",
|
|
118
134
|
providers: [
|
|
119
135
|
"openai",
|
|
@@ -121,11 +137,12 @@ var openai_models_default = {
|
|
|
121
137
|
],
|
|
122
138
|
can: [
|
|
123
139
|
"text-in",
|
|
124
|
-
"
|
|
140
|
+
"text-out"
|
|
125
141
|
],
|
|
126
142
|
context: {
|
|
127
|
-
|
|
128
|
-
|
|
143
|
+
type: "token",
|
|
144
|
+
total: 4096,
|
|
145
|
+
maxOutput: 4096
|
|
129
146
|
}
|
|
130
147
|
},
|
|
131
148
|
{
|
|
@@ -138,32 +155,184 @@ var openai_models_default = {
|
|
|
138
155
|
],
|
|
139
156
|
can: [
|
|
140
157
|
"chat",
|
|
158
|
+
"text-in",
|
|
159
|
+
"text-out",
|
|
141
160
|
"img-in",
|
|
142
161
|
"json-out",
|
|
143
162
|
"function-out"
|
|
144
163
|
],
|
|
145
164
|
context: {
|
|
165
|
+
type: "token",
|
|
146
166
|
total: 128e3,
|
|
147
167
|
maxOutput: 16384
|
|
148
168
|
}
|
|
149
169
|
},
|
|
170
|
+
{
|
|
171
|
+
id: "chatgpt-4o-latest",
|
|
172
|
+
extends: "gpt-4o",
|
|
173
|
+
overrides: {
|
|
174
|
+
name: "GPT-4o used in ChatGPT"
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
id: "gpt-4o-2024-11-20",
|
|
179
|
+
extends: "gpt-4o",
|
|
180
|
+
overrides: {
|
|
181
|
+
name: "GPT-4o (2024-11-20)"
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
id: "gpt-4o-2024-08-06",
|
|
186
|
+
extends: "gpt-4o",
|
|
187
|
+
overrides: {
|
|
188
|
+
name: "GPT-4o (2024-08-06)"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
id: "gpt-4o-2024-05-13",
|
|
193
|
+
extends: "gpt-4o",
|
|
194
|
+
overrides: {
|
|
195
|
+
name: "GPT-4o (2024-05-13)",
|
|
196
|
+
context: {
|
|
197
|
+
type: "token",
|
|
198
|
+
total: 128e3,
|
|
199
|
+
maxOutput: 4096
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
150
203
|
{
|
|
151
204
|
id: "gpt-4o-mini",
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
205
|
+
extends: "gpt-4o",
|
|
206
|
+
overrides: {
|
|
207
|
+
name: "GPT-4o Mini",
|
|
208
|
+
context: {
|
|
209
|
+
type: "token",
|
|
210
|
+
total: 128e3,
|
|
211
|
+
maxOutput: 16384
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
id: "gpt-4o-audio-preview",
|
|
217
|
+
extends: "gpt-4o",
|
|
218
|
+
overrides: {
|
|
219
|
+
name: "GPT-4o Audio",
|
|
220
|
+
can: [
|
|
221
|
+
"chat",
|
|
222
|
+
"text-in",
|
|
223
|
+
"text-out",
|
|
224
|
+
"sound-in",
|
|
225
|
+
"json-out",
|
|
226
|
+
"function-out"
|
|
227
|
+
],
|
|
228
|
+
context: {
|
|
229
|
+
type: "token",
|
|
230
|
+
total: 128e3,
|
|
231
|
+
maxOutput: 16384
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
id: "gpt-4o-audio-preview-2024-12-17",
|
|
237
|
+
extends: "gpt-4o-audio-preview",
|
|
238
|
+
overrides: {
|
|
239
|
+
name: "GPT-4o Audio (2024-12-17)"
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
id: "gpt-4o-audio-preview-2024-10-01",
|
|
244
|
+
extends: "gpt-4o-audio-preview",
|
|
245
|
+
overrides: {
|
|
246
|
+
name: "GPT-4o Audio (2024-10-01)"
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
id: "gpt-4o-mini-audio-preview",
|
|
251
|
+
extends: "gpt-4o-mini",
|
|
252
|
+
overrides: {
|
|
253
|
+
name: "GPT-4o Mini Audio",
|
|
254
|
+
can: [
|
|
255
|
+
"chat",
|
|
256
|
+
"text-in",
|
|
257
|
+
"text-out",
|
|
258
|
+
"sound-in",
|
|
259
|
+
"sound-out",
|
|
260
|
+
"json-out",
|
|
261
|
+
"function-out"
|
|
262
|
+
],
|
|
263
|
+
context: {
|
|
264
|
+
type: "token",
|
|
265
|
+
total: 128e3,
|
|
266
|
+
maxOutput: 16384
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
id: "gpt-4o-mini-audio-preview-2024-12-17",
|
|
272
|
+
extends: "gpt-4o-mini-audio-preview",
|
|
273
|
+
overrides: {
|
|
274
|
+
name: "GPT-4o Mini Audio (2024-12-17)"
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
id: "gpt-4o-realtime-preview",
|
|
279
|
+
extends: "gpt-4o",
|
|
280
|
+
overrides: {
|
|
281
|
+
name: "GPT-4o Realtime",
|
|
282
|
+
can: [
|
|
283
|
+
"chat",
|
|
284
|
+
"text-in",
|
|
285
|
+
"text-out",
|
|
286
|
+
"sound-in",
|
|
287
|
+
"json-out",
|
|
288
|
+
"function-out"
|
|
289
|
+
],
|
|
290
|
+
context: {
|
|
291
|
+
type: "token",
|
|
292
|
+
total: 128e3,
|
|
293
|
+
maxOutput: 4096
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
id: "gpt-4o-realtime-preview-2024-12-17",
|
|
299
|
+
extends: "gpt-4o-realtime-preview",
|
|
300
|
+
overrides: {
|
|
301
|
+
name: "GPT-4o Realtime (2024-12-17)"
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
id: "gpt-4o-realtime-preview-2024-10-01",
|
|
306
|
+
extends: "gpt-4o-realtime-preview",
|
|
307
|
+
overrides: {
|
|
308
|
+
name: "GPT-4o Realtime (2024-10-01)"
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
id: "gpt-4o-mini-realtime-preview",
|
|
313
|
+
extends: "gpt-4o-mini",
|
|
314
|
+
overrides: {
|
|
315
|
+
name: "GPT-4o Mini Realtime",
|
|
316
|
+
can: [
|
|
317
|
+
"chat",
|
|
318
|
+
"text-in",
|
|
319
|
+
"text-out",
|
|
320
|
+
"sound-in",
|
|
321
|
+
"json-out",
|
|
322
|
+
"function-out"
|
|
323
|
+
],
|
|
324
|
+
context: {
|
|
325
|
+
type: "token",
|
|
326
|
+
total: 128e3,
|
|
327
|
+
maxOutput: 4096
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
id: "gpt-4o-mini-realtime-preview-2024-12-17",
|
|
333
|
+
extends: "gpt-4o-mini-realtime-preview",
|
|
334
|
+
overrides: {
|
|
335
|
+
name: "GPT-4o Mini Realtime (2024-12-17)"
|
|
167
336
|
}
|
|
168
337
|
},
|
|
169
338
|
{
|
|
@@ -176,19 +345,75 @@ var openai_models_default = {
|
|
|
176
345
|
],
|
|
177
346
|
can: [
|
|
178
347
|
"chat",
|
|
348
|
+
"text-in",
|
|
349
|
+
"text-out",
|
|
179
350
|
"img-in",
|
|
180
351
|
"json-out",
|
|
181
352
|
"function-out",
|
|
182
353
|
"reason"
|
|
183
354
|
],
|
|
184
355
|
context: {
|
|
356
|
+
type: "token",
|
|
185
357
|
total: 2e5,
|
|
186
358
|
maxOutput: 1e5
|
|
187
359
|
}
|
|
188
360
|
},
|
|
361
|
+
{
|
|
362
|
+
id: "o1-2024-12-17",
|
|
363
|
+
extends: "o1",
|
|
364
|
+
overrides: {
|
|
365
|
+
name: "OpenAI O1 (2024-12-17)"
|
|
366
|
+
}
|
|
367
|
+
},
|
|
189
368
|
{
|
|
190
369
|
id: "o1-mini",
|
|
191
|
-
|
|
370
|
+
extends: "o1",
|
|
371
|
+
overrides: {
|
|
372
|
+
name: "OpenAI O1 Mini",
|
|
373
|
+
can: [
|
|
374
|
+
"chat",
|
|
375
|
+
"text-in",
|
|
376
|
+
"text-out",
|
|
377
|
+
"json-out",
|
|
378
|
+
"function-out",
|
|
379
|
+
"reason"
|
|
380
|
+
],
|
|
381
|
+
context: {
|
|
382
|
+
type: "token",
|
|
383
|
+
total: 128e3,
|
|
384
|
+
maxOutput: 65536
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
id: "o1-mini-2024-09-12",
|
|
390
|
+
extends: "o1-mini",
|
|
391
|
+
overrides: {
|
|
392
|
+
name: "OpenAI O1 Mini (2024-09-12)"
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
id: "o1-preview",
|
|
397
|
+
extends: "o1",
|
|
398
|
+
overrides: {
|
|
399
|
+
name: "OpenAI O1 Preview",
|
|
400
|
+
context: {
|
|
401
|
+
type: "token",
|
|
402
|
+
total: 128e3,
|
|
403
|
+
maxOutput: 32768
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
id: "o1-preview-2024-09-12",
|
|
409
|
+
extends: "o1-preview",
|
|
410
|
+
overrides: {
|
|
411
|
+
name: "OpenAI O1 Preview (2024-09-12)"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
id: "o3-mini",
|
|
416
|
+
name: "OpenAI O3 Mini",
|
|
192
417
|
license: "proprietary",
|
|
193
418
|
providers: [
|
|
194
419
|
"openai",
|
|
@@ -196,70 +421,89 @@ var openai_models_default = {
|
|
|
196
421
|
],
|
|
197
422
|
can: [
|
|
198
423
|
"chat",
|
|
424
|
+
"text-in",
|
|
425
|
+
"text-out",
|
|
199
426
|
"json-out",
|
|
200
427
|
"function-out",
|
|
201
428
|
"reason"
|
|
202
429
|
],
|
|
203
430
|
context: {
|
|
204
|
-
|
|
205
|
-
|
|
431
|
+
type: "token",
|
|
432
|
+
total: 2e5,
|
|
433
|
+
maxOutput: 1e5
|
|
206
434
|
}
|
|
207
435
|
},
|
|
208
436
|
{
|
|
209
|
-
id: "o3-mini",
|
|
210
|
-
|
|
437
|
+
id: "o3-mini-2025-01-31",
|
|
438
|
+
extends: "o3-mini",
|
|
439
|
+
overrides: {
|
|
440
|
+
name: "OpenAI O3 Mini (2025-01-31)"
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
id: "whisper-1",
|
|
445
|
+
name: "Whisper",
|
|
211
446
|
license: "proprietary",
|
|
212
447
|
providers: [
|
|
213
448
|
"openai",
|
|
214
449
|
"azure"
|
|
215
450
|
],
|
|
216
451
|
can: [
|
|
217
|
-
"
|
|
218
|
-
"
|
|
219
|
-
"function-out",
|
|
220
|
-
"reason"
|
|
452
|
+
"sound-in",
|
|
453
|
+
"text-out"
|
|
221
454
|
],
|
|
222
455
|
context: {
|
|
223
|
-
|
|
224
|
-
|
|
456
|
+
type: "audio-in",
|
|
457
|
+
total: null,
|
|
458
|
+
maxOutput: null
|
|
225
459
|
}
|
|
226
460
|
},
|
|
227
461
|
{
|
|
228
|
-
id: "
|
|
229
|
-
name: "
|
|
462
|
+
id: "tts-1",
|
|
463
|
+
name: "TTS-1",
|
|
230
464
|
license: "proprietary",
|
|
231
465
|
providers: [
|
|
232
466
|
"openai",
|
|
233
467
|
"azure"
|
|
234
468
|
],
|
|
235
469
|
can: [
|
|
236
|
-
"
|
|
237
|
-
"sound-
|
|
238
|
-
"json-out",
|
|
239
|
-
"function-out"
|
|
470
|
+
"text-in",
|
|
471
|
+
"sound-out"
|
|
240
472
|
],
|
|
241
473
|
context: {
|
|
242
|
-
|
|
243
|
-
|
|
474
|
+
type: "audio-out",
|
|
475
|
+
total: null,
|
|
476
|
+
maxOutput: null
|
|
244
477
|
}
|
|
245
478
|
},
|
|
246
479
|
{
|
|
247
|
-
id: "
|
|
248
|
-
|
|
480
|
+
id: "tts-1-hd",
|
|
481
|
+
extends: "tts-1",
|
|
482
|
+
overrides: {
|
|
483
|
+
name: "TTS-1 HD"
|
|
484
|
+
}
|
|
485
|
+
},
|
|
486
|
+
{
|
|
487
|
+
id: "dall-e-2",
|
|
488
|
+
name: "DALL-E 2",
|
|
249
489
|
license: "proprietary",
|
|
250
490
|
providers: [
|
|
251
491
|
"openai",
|
|
252
492
|
"azure"
|
|
253
493
|
],
|
|
254
494
|
can: [
|
|
255
|
-
"
|
|
256
|
-
"sound-in",
|
|
257
|
-
"json-out",
|
|
258
|
-
"function-out"
|
|
495
|
+
"img-out"
|
|
259
496
|
],
|
|
260
497
|
context: {
|
|
261
|
-
|
|
262
|
-
|
|
498
|
+
maxOutput: 1,
|
|
499
|
+
sizes: [
|
|
500
|
+
"256x256",
|
|
501
|
+
"512x512",
|
|
502
|
+
"1024x1024"
|
|
503
|
+
],
|
|
504
|
+
qualities: [
|
|
505
|
+
"standard"
|
|
506
|
+
]
|
|
263
507
|
}
|
|
264
508
|
},
|
|
265
509
|
{
|
|
@@ -271,6 +515,7 @@ var openai_models_default = {
|
|
|
271
515
|
"azure"
|
|
272
516
|
],
|
|
273
517
|
can: [
|
|
518
|
+
"text-in",
|
|
274
519
|
"img-out"
|
|
275
520
|
],
|
|
276
521
|
context: {
|
|
@@ -285,6 +530,69 @@ var openai_models_default = {
|
|
|
285
530
|
"hd"
|
|
286
531
|
]
|
|
287
532
|
}
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
id: "text-embedding-ada-002",
|
|
536
|
+
name: "Text Embedding Ada 002",
|
|
537
|
+
license: "proprietary",
|
|
538
|
+
providers: [
|
|
539
|
+
"openai",
|
|
540
|
+
"azure"
|
|
541
|
+
],
|
|
542
|
+
can: [
|
|
543
|
+
"text-in",
|
|
544
|
+
"vectors-out"
|
|
545
|
+
],
|
|
546
|
+
context: {
|
|
547
|
+
type: "embedding",
|
|
548
|
+
total: 8191,
|
|
549
|
+
unit: "tokens",
|
|
550
|
+
dimensions: 1536,
|
|
551
|
+
embeddingType: "text",
|
|
552
|
+
normalized: true
|
|
553
|
+
}
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
id: "text-embedding-3-small",
|
|
557
|
+
name: "Text Embedding 3 Small",
|
|
558
|
+
license: "proprietary",
|
|
559
|
+
providers: [
|
|
560
|
+
"openai",
|
|
561
|
+
"azure"
|
|
562
|
+
],
|
|
563
|
+
can: [
|
|
564
|
+
"text-in",
|
|
565
|
+
"vectors-out"
|
|
566
|
+
],
|
|
567
|
+
context: {
|
|
568
|
+
type: "embedding",
|
|
569
|
+
total: 8191,
|
|
570
|
+
unit: "tokens",
|
|
571
|
+
dimensions: 1536,
|
|
572
|
+
embeddingType: "text",
|
|
573
|
+
normalized: true
|
|
574
|
+
}
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
id: "text-embedding-3-large",
|
|
578
|
+
name: "Text Embedding 3 Large",
|
|
579
|
+
license: "proprietary",
|
|
580
|
+
providers: [
|
|
581
|
+
"openai",
|
|
582
|
+
"azure"
|
|
583
|
+
],
|
|
584
|
+
can: [
|
|
585
|
+
"text-in",
|
|
586
|
+
"vectors-out"
|
|
587
|
+
],
|
|
588
|
+
context: {
|
|
589
|
+
type: "embedding",
|
|
590
|
+
total: 8191,
|
|
591
|
+
unit: "tokens",
|
|
592
|
+
dimensions: 3072,
|
|
593
|
+
embeddingType: "text",
|
|
594
|
+
normalized: true
|
|
595
|
+
}
|
|
288
596
|
}
|
|
289
597
|
]
|
|
290
598
|
};
|
|
@@ -294,14 +602,10 @@ var anthropic_models_default = {
|
|
|
294
602
|
creator: "anthropic",
|
|
295
603
|
models: [
|
|
296
604
|
{
|
|
297
|
-
id: "claude-3-opus
|
|
605
|
+
id: "claude-3-opus",
|
|
298
606
|
name: "Claude 3 Opus",
|
|
299
607
|
license: "proprietary",
|
|
300
|
-
providers: [
|
|
301
|
-
"anthropic",
|
|
302
|
-
"aws",
|
|
303
|
-
"google"
|
|
304
|
-
],
|
|
608
|
+
providers: ["anthropic", "aws", "google"],
|
|
305
609
|
can: [
|
|
306
610
|
"chat",
|
|
307
611
|
"text-in",
|
|
@@ -311,6 +615,7 @@ var anthropic_models_default = {
|
|
|
311
615
|
"function-out"
|
|
312
616
|
],
|
|
313
617
|
context: {
|
|
618
|
+
type: "token",
|
|
314
619
|
total: 2e5,
|
|
315
620
|
maxOutput: 4096,
|
|
316
621
|
outputIsFixed: 1
|
|
@@ -318,14 +623,17 @@ var anthropic_models_default = {
|
|
|
318
623
|
aliases: ["claude-3-opus-latest"]
|
|
319
624
|
},
|
|
320
625
|
{
|
|
321
|
-
id: "claude-3-
|
|
626
|
+
id: "claude-3-opus-20240229",
|
|
627
|
+
extends: "claude-3-opus",
|
|
628
|
+
overrides: {
|
|
629
|
+
name: "Claude 3 Opus (2024-02-29)"
|
|
630
|
+
}
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
id: "claude-3-sonnet",
|
|
322
634
|
name: "Claude 3 Sonnet",
|
|
323
635
|
license: "proprietary",
|
|
324
|
-
providers: [
|
|
325
|
-
"anthropic",
|
|
326
|
-
"aws",
|
|
327
|
-
"google"
|
|
328
|
-
],
|
|
636
|
+
providers: ["anthropic", "aws", "google"],
|
|
329
637
|
can: [
|
|
330
638
|
"chat",
|
|
331
639
|
"text-in",
|
|
@@ -335,21 +643,52 @@ var anthropic_models_default = {
|
|
|
335
643
|
"function-out"
|
|
336
644
|
],
|
|
337
645
|
context: {
|
|
646
|
+
type: "token",
|
|
338
647
|
total: 2e5,
|
|
339
|
-
maxOutput:
|
|
648
|
+
maxOutput: 4096,
|
|
340
649
|
outputIsFixed: 1
|
|
341
650
|
},
|
|
342
651
|
aliases: ["claude-3-sonnet-latest"]
|
|
343
652
|
},
|
|
344
653
|
{
|
|
345
|
-
id: "claude-3-
|
|
654
|
+
id: "claude-3-sonnet-20240229",
|
|
655
|
+
extends: "claude-3-sonnet",
|
|
656
|
+
overrides: {
|
|
657
|
+
name: "Claude 3 Sonnet (2024-02-29)"
|
|
658
|
+
}
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
id: "claude-3-haiku",
|
|
346
662
|
name: "Claude 3 Haiku",
|
|
347
663
|
license: "proprietary",
|
|
348
|
-
providers: [
|
|
349
|
-
|
|
350
|
-
"
|
|
351
|
-
"
|
|
664
|
+
providers: ["anthropic", "aws", "google"],
|
|
665
|
+
can: [
|
|
666
|
+
"chat",
|
|
667
|
+
"text-in",
|
|
668
|
+
"text-out",
|
|
669
|
+
"img-in",
|
|
670
|
+
"json-out",
|
|
671
|
+
"function-out"
|
|
352
672
|
],
|
|
673
|
+
context: {
|
|
674
|
+
type: "token",
|
|
675
|
+
total: 2e5,
|
|
676
|
+
maxOutput: 4096,
|
|
677
|
+
outputIsFixed: 1
|
|
678
|
+
}
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
id: "claude-3-haiku-20240307",
|
|
682
|
+
extends: "claude-3-haiku",
|
|
683
|
+
overrides: {
|
|
684
|
+
name: "Claude 3 Haiku (2024-03-07)"
|
|
685
|
+
}
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
id: "claude-3-5-sonnet",
|
|
689
|
+
name: "Claude 3.5 Sonnet",
|
|
690
|
+
license: "proprietary",
|
|
691
|
+
providers: ["anthropic", "aws", "google"],
|
|
353
692
|
can: [
|
|
354
693
|
"chat",
|
|
355
694
|
"text-in",
|
|
@@ -359,9 +698,45 @@ var anthropic_models_default = {
|
|
|
359
698
|
"function-out"
|
|
360
699
|
],
|
|
361
700
|
context: {
|
|
701
|
+
type: "token",
|
|
362
702
|
total: 2e5,
|
|
363
703
|
maxOutput: 8192,
|
|
364
704
|
outputIsFixed: 1
|
|
705
|
+
},
|
|
706
|
+
aliases: ["claude-3-5-sonnet-latest"]
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
id: "claude-3-5-sonnet-20241022",
|
|
710
|
+
extends: "claude-3-5-sonnet",
|
|
711
|
+
overrides: {
|
|
712
|
+
name: "Claude 3.5 Sonnet (2024-10-22)"
|
|
713
|
+
}
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
id: "claude-3-5-haiku",
|
|
717
|
+
name: "Claude 3.5 Haiku",
|
|
718
|
+
license: "proprietary",
|
|
719
|
+
providers: ["anthropic", "aws", "google"],
|
|
720
|
+
can: [
|
|
721
|
+
"chat",
|
|
722
|
+
"text-in",
|
|
723
|
+
"text-out",
|
|
724
|
+
"json-out",
|
|
725
|
+
"function-out"
|
|
726
|
+
],
|
|
727
|
+
context: {
|
|
728
|
+
type: "token",
|
|
729
|
+
total: 2e5,
|
|
730
|
+
maxOutput: 8192,
|
|
731
|
+
outputIsFixed: 1
|
|
732
|
+
},
|
|
733
|
+
aliases: ["claude-3-5-haiku-latest"]
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
id: "claude-3-5-haiku-20241022",
|
|
737
|
+
extends: "claude-3-5-haiku",
|
|
738
|
+
overrides: {
|
|
739
|
+
name: "Claude 3.5 Haiku (2024-10-22)"
|
|
365
740
|
}
|
|
366
741
|
}
|
|
367
742
|
]
|
|
@@ -378,6 +753,7 @@ var meta_models_default = {
|
|
|
378
753
|
providers: ["groq"],
|
|
379
754
|
can: ["chat", "text-in", "text-out", "json-out", "function-out"],
|
|
380
755
|
context: {
|
|
756
|
+
type: "token",
|
|
381
757
|
total: 8192,
|
|
382
758
|
maxOutput: 4096
|
|
383
759
|
}
|
|
@@ -389,6 +765,7 @@ var meta_models_default = {
|
|
|
389
765
|
providers: ["groq"],
|
|
390
766
|
can: ["chat", "text-in", "text-out", "json-out", "function-out"],
|
|
391
767
|
context: {
|
|
768
|
+
type: "token",
|
|
392
769
|
total: 8192,
|
|
393
770
|
maxOutput: 4096
|
|
394
771
|
}
|
|
@@ -400,6 +777,7 @@ var meta_models_default = {
|
|
|
400
777
|
providers: ["groq"],
|
|
401
778
|
can: ["chat", "text-in", "text-out", "img-in"],
|
|
402
779
|
context: {
|
|
780
|
+
type: "token",
|
|
403
781
|
total: 4096,
|
|
404
782
|
maxOutput: 4096
|
|
405
783
|
}
|
|
@@ -411,6 +789,7 @@ var meta_models_default = {
|
|
|
411
789
|
providers: ["groq"],
|
|
412
790
|
can: ["chat", "text-in", "text-out", "img-in"],
|
|
413
791
|
context: {
|
|
792
|
+
type: "token",
|
|
414
793
|
total: 4096,
|
|
415
794
|
maxOutput: 4096
|
|
416
795
|
}
|
|
@@ -422,6 +801,7 @@ var meta_models_default = {
|
|
|
422
801
|
providers: ["groq"],
|
|
423
802
|
can: ["chat", "text-in", "text-out"],
|
|
424
803
|
context: {
|
|
804
|
+
type: "token",
|
|
425
805
|
total: 4096,
|
|
426
806
|
maxOutput: 4096
|
|
427
807
|
}
|
|
@@ -446,6 +826,7 @@ var mistral_models_default = {
|
|
|
446
826
|
"function-out"
|
|
447
827
|
],
|
|
448
828
|
context: {
|
|
829
|
+
type: "token",
|
|
449
830
|
total: 32768,
|
|
450
831
|
maxOutput: 4096
|
|
451
832
|
}
|
|
@@ -463,6 +844,7 @@ var mistral_models_default = {
|
|
|
463
844
|
"function-out"
|
|
464
845
|
],
|
|
465
846
|
context: {
|
|
847
|
+
type: "token",
|
|
466
848
|
total: 32768,
|
|
467
849
|
maxOutput: 4096
|
|
468
850
|
}
|
|
@@ -478,6 +860,7 @@ var mistral_models_default = {
|
|
|
478
860
|
"text-out"
|
|
479
861
|
],
|
|
480
862
|
context: {
|
|
863
|
+
type: "token",
|
|
481
864
|
total: 32768,
|
|
482
865
|
maxOutput: 4096
|
|
483
866
|
}
|
|
@@ -493,6 +876,7 @@ var mistral_models_default = {
|
|
|
493
876
|
"text-out"
|
|
494
877
|
],
|
|
495
878
|
context: {
|
|
879
|
+
type: "token",
|
|
496
880
|
total: 32768,
|
|
497
881
|
maxOutput: 4096
|
|
498
882
|
}
|
|
@@ -508,6 +892,7 @@ var mistral_models_default = {
|
|
|
508
892
|
"text-out"
|
|
509
893
|
],
|
|
510
894
|
context: {
|
|
895
|
+
type: "token",
|
|
511
896
|
total: 32768,
|
|
512
897
|
maxOutput: 4096
|
|
513
898
|
}
|
|
@@ -526,6 +911,7 @@ var google_models_default = {
|
|
|
526
911
|
providers: ["google"],
|
|
527
912
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in", "reason"],
|
|
528
913
|
context: {
|
|
914
|
+
type: "token",
|
|
529
915
|
total: 1048576,
|
|
530
916
|
maxOutput: 8192
|
|
531
917
|
},
|
|
@@ -538,6 +924,7 @@ var google_models_default = {
|
|
|
538
924
|
providers: ["google"],
|
|
539
925
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
|
|
540
926
|
context: {
|
|
927
|
+
type: "token",
|
|
541
928
|
total: 1048576,
|
|
542
929
|
maxOutput: 8192
|
|
543
930
|
},
|
|
@@ -550,6 +937,7 @@ var google_models_default = {
|
|
|
550
937
|
providers: ["google"],
|
|
551
938
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
|
|
552
939
|
context: {
|
|
940
|
+
type: "token",
|
|
553
941
|
total: 2097152,
|
|
554
942
|
maxOutput: 8192
|
|
555
943
|
}
|
|
@@ -561,6 +949,7 @@ var google_models_default = {
|
|
|
561
949
|
providers: ["google"],
|
|
562
950
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
|
|
563
951
|
context: {
|
|
952
|
+
type: "token",
|
|
564
953
|
total: 2097152,
|
|
565
954
|
maxOutput: 8192
|
|
566
955
|
}
|
|
@@ -572,6 +961,7 @@ var google_models_default = {
|
|
|
572
961
|
providers: ["google"],
|
|
573
962
|
can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in", "reason"],
|
|
574
963
|
context: {
|
|
964
|
+
type: "token",
|
|
575
965
|
total: 2097152,
|
|
576
966
|
maxOutput: 8192
|
|
577
967
|
},
|
|
@@ -584,6 +974,7 @@ var google_models_default = {
|
|
|
584
974
|
providers: ["google"],
|
|
585
975
|
can: ["text-in", "vectors-out"],
|
|
586
976
|
context: {
|
|
977
|
+
type: "token",
|
|
587
978
|
total: 2048,
|
|
588
979
|
maxOutput: 768
|
|
589
980
|
}
|
|
@@ -595,6 +986,7 @@ var google_models_default = {
|
|
|
595
986
|
providers: ["google"],
|
|
596
987
|
can: ["chat", "text-in", "text-out", "json-out", "function-out"],
|
|
597
988
|
context: {
|
|
989
|
+
type: "token",
|
|
598
990
|
total: 8192,
|
|
599
991
|
maxOutput: 4096
|
|
600
992
|
}
|
|
@@ -606,6 +998,7 @@ var google_models_default = {
|
|
|
606
998
|
providers: ["google"],
|
|
607
999
|
can: ["chat", "text-in", "text-out", "json-out", "function-out"],
|
|
608
1000
|
context: {
|
|
1001
|
+
type: "token",
|
|
609
1002
|
total: 8192,
|
|
610
1003
|
maxOutput: 4096
|
|
611
1004
|
}
|
|
@@ -630,6 +1023,7 @@ var deepseek_models_default = {
|
|
|
630
1023
|
"function-out"
|
|
631
1024
|
],
|
|
632
1025
|
context: {
|
|
1026
|
+
type: "token",
|
|
633
1027
|
total: 131072,
|
|
634
1028
|
maxOutput: 8192
|
|
635
1029
|
}
|
|
@@ -648,6 +1042,7 @@ var deepseek_models_default = {
|
|
|
648
1042
|
"reason"
|
|
649
1043
|
],
|
|
650
1044
|
context: {
|
|
1045
|
+
type: "token",
|
|
651
1046
|
total: 131072,
|
|
652
1047
|
maxOutput: 8192
|
|
653
1048
|
}
|
|
@@ -667,6 +1062,7 @@ var xai_models_default = {
|
|
|
667
1062
|
providers: ["xai"],
|
|
668
1063
|
can: ["chat", "text-in", "text-out", "img-in"],
|
|
669
1064
|
context: {
|
|
1065
|
+
type: "token",
|
|
670
1066
|
total: 32768,
|
|
671
1067
|
maxOutput: 4096
|
|
672
1068
|
},
|
|
@@ -680,6 +1076,7 @@ var xai_models_default = {
|
|
|
680
1076
|
providers: ["xai"],
|
|
681
1077
|
can: ["chat", "text-in", "text-out"],
|
|
682
1078
|
context: {
|
|
1079
|
+
type: "token",
|
|
683
1080
|
total: 131072,
|
|
684
1081
|
maxOutput: 4096
|
|
685
1082
|
},
|
|
@@ -693,6 +1090,7 @@ var xai_models_default = {
|
|
|
693
1090
|
providers: ["xai"],
|
|
694
1091
|
can: ["chat", "text-in", "text-out", "img-in"],
|
|
695
1092
|
context: {
|
|
1093
|
+
type: "token",
|
|
696
1094
|
total: 8192,
|
|
697
1095
|
maxOutput: 4096
|
|
698
1096
|
}
|
|
@@ -705,6 +1103,7 @@ var xai_models_default = {
|
|
|
705
1103
|
providers: ["xai"],
|
|
706
1104
|
can: ["chat", "text-in", "text-out"],
|
|
707
1105
|
context: {
|
|
1106
|
+
type: "token",
|
|
708
1107
|
total: 131072,
|
|
709
1108
|
maxOutput: 4096
|
|
710
1109
|
}
|
|
@@ -724,6 +1123,7 @@ var cohere_models_default = {
|
|
|
724
1123
|
providers: ["cohere"],
|
|
725
1124
|
can: ["chat", "text-in", "text-out", "reason", "function-out"],
|
|
726
1125
|
context: {
|
|
1126
|
+
type: "token",
|
|
727
1127
|
total: 128e3,
|
|
728
1128
|
maxOutput: 4096
|
|
729
1129
|
}
|
|
@@ -736,6 +1136,7 @@ var cohere_models_default = {
|
|
|
736
1136
|
providers: ["cohere", "bedrock", "azure", "oracle"],
|
|
737
1137
|
can: ["chat", "text-in", "text-out", "reason", "function-out"],
|
|
738
1138
|
context: {
|
|
1139
|
+
type: "token",
|
|
739
1140
|
total: 128e3,
|
|
740
1141
|
maxOutput: 4096
|
|
741
1142
|
},
|
|
@@ -749,6 +1150,7 @@ var cohere_models_default = {
|
|
|
749
1150
|
providers: ["cohere", "bedrock", "azure", "oracle"],
|
|
750
1151
|
can: ["chat", "text-in", "text-out", "reason", "function-out"],
|
|
751
1152
|
context: {
|
|
1153
|
+
type: "token",
|
|
752
1154
|
total: 128e3,
|
|
753
1155
|
maxOutput: 4096
|
|
754
1156
|
},
|
|
@@ -762,6 +1164,7 @@ var cohere_models_default = {
|
|
|
762
1164
|
providers: ["cohere", "bedrock", "oracle"],
|
|
763
1165
|
can: ["chat", "text-in", "text-out"],
|
|
764
1166
|
context: {
|
|
1167
|
+
type: "token",
|
|
765
1168
|
total: 4096,
|
|
766
1169
|
maxOutput: 4096
|
|
767
1170
|
}
|
|
@@ -774,6 +1177,7 @@ var cohere_models_default = {
|
|
|
774
1177
|
providers: ["cohere", "bedrock", "oracle"],
|
|
775
1178
|
can: ["chat", "text-in", "text-out"],
|
|
776
1179
|
context: {
|
|
1180
|
+
type: "token",
|
|
777
1181
|
total: 4096,
|
|
778
1182
|
maxOutput: 4096
|
|
779
1183
|
}
|
|
@@ -786,6 +1190,7 @@ var cohere_models_default = {
|
|
|
786
1190
|
providers: ["cohere", "bedrock", "azure", "oracle"],
|
|
787
1191
|
can: ["text-in", "img-in", "vectors-out"],
|
|
788
1192
|
context: {
|
|
1193
|
+
type: "token",
|
|
789
1194
|
total: 512,
|
|
790
1195
|
maxOutput: 1024
|
|
791
1196
|
}
|
|
@@ -798,6 +1203,7 @@ var cohere_models_default = {
|
|
|
798
1203
|
providers: ["cohere", "oracle"],
|
|
799
1204
|
can: ["text-in", "img-in", "vectors-out"],
|
|
800
1205
|
context: {
|
|
1206
|
+
type: "token",
|
|
801
1207
|
total: 512,
|
|
802
1208
|
maxOutput: 384
|
|
803
1209
|
}
|
|
@@ -810,6 +1216,7 @@ var cohere_models_default = {
|
|
|
810
1216
|
providers: ["cohere", "bedrock", "azure", "oracle"],
|
|
811
1217
|
can: ["text-in", "img-in", "vectors-out"],
|
|
812
1218
|
context: {
|
|
1219
|
+
type: "token",
|
|
813
1220
|
total: 512,
|
|
814
1221
|
maxOutput: 1024
|
|
815
1222
|
}
|
|
@@ -822,6 +1229,7 @@ var cohere_models_default = {
|
|
|
822
1229
|
providers: ["cohere", "oracle"],
|
|
823
1230
|
can: ["text-in", "img-in", "vectors-out"],
|
|
824
1231
|
context: {
|
|
1232
|
+
type: "token",
|
|
825
1233
|
total: 512,
|
|
826
1234
|
maxOutput: 384
|
|
827
1235
|
}
|
|
@@ -834,6 +1242,7 @@ var cohere_models_default = {
|
|
|
834
1242
|
providers: ["cohere", "bedrock", "azure"],
|
|
835
1243
|
can: ["text-in", "text-out"],
|
|
836
1244
|
context: {
|
|
1245
|
+
type: "token",
|
|
837
1246
|
total: 4096,
|
|
838
1247
|
maxOutput: null
|
|
839
1248
|
}
|
|
@@ -846,6 +1255,7 @@ var cohere_models_default = {
|
|
|
846
1255
|
providers: ["cohere", "azure"],
|
|
847
1256
|
can: ["text-in", "text-out"],
|
|
848
1257
|
context: {
|
|
1258
|
+
type: "token",
|
|
849
1259
|
total: 4096,
|
|
850
1260
|
maxOutput: null
|
|
851
1261
|
}
|
|
@@ -858,6 +1268,7 @@ var cohere_models_default = {
|
|
|
858
1268
|
providers: ["cohere", "azure"],
|
|
859
1269
|
can: ["text-in", "text-out"],
|
|
860
1270
|
context: {
|
|
1271
|
+
type: "token",
|
|
861
1272
|
total: 4096,
|
|
862
1273
|
maxOutput: null
|
|
863
1274
|
}
|
|
@@ -877,6 +1288,19 @@ function validateModel(raw) {
|
|
|
877
1288
|
throw new Error(`Model ${field} must be a string`);
|
|
878
1289
|
}
|
|
879
1290
|
}
|
|
1291
|
+
if (model.extends !== void 0 && typeof model.extends !== "string") {
|
|
1292
|
+
throw new Error("Model extends must be a string");
|
|
1293
|
+
}
|
|
1294
|
+
if (model.overrides !== void 0) {
|
|
1295
|
+
if (typeof model.overrides !== "object" || model.overrides === null) {
|
|
1296
|
+
throw new Error("Model overrides must be an object");
|
|
1297
|
+
}
|
|
1298
|
+
const validOverrideFields = ["name", "creator", "license", "providers", "can", "languages", "aliases", "context"];
|
|
1299
|
+
const invalidFields = Object.keys(model.overrides).filter((field) => !validOverrideFields.includes(field));
|
|
1300
|
+
if (invalidFields.length > 0) {
|
|
1301
|
+
throw new Error(`Invalid override fields: ${invalidFields.join(", ")}`);
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
880
1304
|
if (!Array.isArray(model.providers)) {
|
|
881
1305
|
throw new Error("Model providers must be an array");
|
|
882
1306
|
}
|
|
@@ -918,6 +1342,16 @@ function validateModel(raw) {
|
|
|
918
1342
|
if (typeof context.maxOutput !== "number") {
|
|
919
1343
|
throw new Error("Image model context.maxOutput must be a number");
|
|
920
1344
|
}
|
|
1345
|
+
} else if (context.type === "embedding") {
|
|
1346
|
+
if (typeof context.total !== "number") {
|
|
1347
|
+
throw new Error("Embedding model context.total must be a number");
|
|
1348
|
+
}
|
|
1349
|
+
if (typeof context.unit !== "string") {
|
|
1350
|
+
throw new Error("Embedding model context.unit must be a string");
|
|
1351
|
+
}
|
|
1352
|
+
if (typeof context.dimensions !== "number") {
|
|
1353
|
+
throw new Error("Embedding model context.dimensions must be a number");
|
|
1354
|
+
}
|
|
921
1355
|
} else {
|
|
922
1356
|
if (typeof context.total !== "number" && context.total !== null) {
|
|
923
1357
|
throw new Error("Token model context.total must be a number or null");
|
|
@@ -935,8 +1369,41 @@ function validateModel(raw) {
|
|
|
935
1369
|
can: model.can,
|
|
936
1370
|
context: model.context,
|
|
937
1371
|
...model.languages ? { languages: model.languages } : {},
|
|
938
|
-
...model.aliases ? { aliases: model.aliases } : {}
|
|
1372
|
+
...model.aliases ? { aliases: model.aliases } : {},
|
|
1373
|
+
...model.extends ? { extends: model.extends } : {},
|
|
1374
|
+
...model.overrides ? { overrides: model.overrides } : {}
|
|
1375
|
+
};
|
|
1376
|
+
}
|
|
1377
|
+
function resolveModel(model, allModels2, visited = /* @__PURE__ */ new Set()) {
|
|
1378
|
+
if (!model.extends) {
|
|
1379
|
+
return model;
|
|
1380
|
+
}
|
|
1381
|
+
if (visited.has(model.id)) {
|
|
1382
|
+
throw new Error(`Circular dependency detected for model ${model.id}`);
|
|
1383
|
+
}
|
|
1384
|
+
visited.add(model.id);
|
|
1385
|
+
const baseModel = allModels2[model.extends];
|
|
1386
|
+
if (!baseModel) {
|
|
1387
|
+
throw new Error(`Base model ${model.extends} not found for ${model.id}`);
|
|
1388
|
+
}
|
|
1389
|
+
const resolvedBase = resolveModel(baseModel, allModels2, visited);
|
|
1390
|
+
if (!model.overrides) {
|
|
1391
|
+
return {
|
|
1392
|
+
...resolvedBase,
|
|
1393
|
+
id: model.id,
|
|
1394
|
+
extends: model.extends
|
|
1395
|
+
};
|
|
1396
|
+
}
|
|
1397
|
+
const resolved = {
|
|
1398
|
+
...resolvedBase,
|
|
1399
|
+
...model.overrides,
|
|
1400
|
+
id: model.id,
|
|
1401
|
+
extends: model.extends
|
|
939
1402
|
};
|
|
1403
|
+
if (!resolved.name || !resolved.creator || !resolved.license || !resolved.providers || !resolved.can || !resolved.context) {
|
|
1404
|
+
throw new Error(`Missing required fields in resolved model ${model.id}`);
|
|
1405
|
+
}
|
|
1406
|
+
return resolved;
|
|
940
1407
|
}
|
|
941
1408
|
function buildAllModels() {
|
|
942
1409
|
const allModelData = [
|
|
@@ -950,12 +1417,29 @@ function buildAllModels() {
|
|
|
950
1417
|
cohere_models_default
|
|
951
1418
|
];
|
|
952
1419
|
const allModels2 = allModelData.flatMap(
|
|
953
|
-
(data) => data.models.map((model) =>
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
1420
|
+
(data) => data.models.map((model) => {
|
|
1421
|
+
if (typeof model.id !== "string") {
|
|
1422
|
+
throw new Error(`Model id must be a string`);
|
|
1423
|
+
}
|
|
1424
|
+
if (model.extends !== void 0 && typeof model.extends !== "string") {
|
|
1425
|
+
throw new Error("Model extends must be a string");
|
|
1426
|
+
}
|
|
1427
|
+
if (model.overrides !== void 0 && (typeof model.overrides !== "object" || model.overrides === null)) {
|
|
1428
|
+
throw new Error("Model overrides must be an object");
|
|
1429
|
+
}
|
|
1430
|
+
return {
|
|
1431
|
+
...model,
|
|
1432
|
+
creator: data.creator
|
|
1433
|
+
};
|
|
1434
|
+
})
|
|
1435
|
+
);
|
|
1436
|
+
const modelMap = Object.fromEntries(
|
|
1437
|
+
allModels2.map((model) => [model.id, model])
|
|
957
1438
|
);
|
|
958
|
-
|
|
1439
|
+
const resolvedModels = allModels2.map(
|
|
1440
|
+
(model) => resolveModel(model, modelMap)
|
|
1441
|
+
);
|
|
1442
|
+
return resolvedModels.map((model) => validateModel(model));
|
|
959
1443
|
}
|
|
960
1444
|
|
|
961
1445
|
// src/data/providers/openai-provider.json
|
|
@@ -1203,7 +1687,10 @@ var AIModels = class _AIModels extends ModelCollection {
|
|
|
1203
1687
|
}
|
|
1204
1688
|
/** Get all providers that can serve a specific model */
|
|
1205
1689
|
getProvidersForModel(modelId) {
|
|
1206
|
-
|
|
1690
|
+
let model = this.id(modelId);
|
|
1691
|
+
if (!model) {
|
|
1692
|
+
model = this.find((m) => m.aliases?.includes(modelId));
|
|
1693
|
+
}
|
|
1207
1694
|
if (!model) return [];
|
|
1208
1695
|
return providersData.providers.filter(
|
|
1209
1696
|
(p) => model.providers.includes(p.id)
|