ai.matey.utils 0.2.1 → 0.4.0

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/dist/cjs/embeddings.js +153 -0
  3. package/dist/cjs/embeddings.js.map +1 -0
  4. package/dist/cjs/index.js +9 -0
  5. package/dist/cjs/index.js.map +1 -1
  6. package/dist/cjs/model-cache.js +2 -5
  7. package/dist/cjs/model-cache.js.map +1 -1
  8. package/dist/cjs/model-registry-data.js +725 -0
  9. package/dist/cjs/model-registry-data.js.map +1 -0
  10. package/dist/cjs/model-registry.js +175 -0
  11. package/dist/cjs/model-registry.js.map +1 -0
  12. package/dist/cjs/streaming.js +61 -1
  13. package/dist/cjs/streaming.js.map +1 -1
  14. package/dist/cjs/structured-output.js +17 -5
  15. package/dist/cjs/structured-output.js.map +1 -1
  16. package/dist/cjs/tools.js +218 -0
  17. package/dist/cjs/tools.js.map +1 -0
  18. package/dist/esm/embeddings.js +145 -0
  19. package/dist/esm/embeddings.js.map +1 -0
  20. package/dist/esm/index.js +7 -0
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/model-cache.js +2 -5
  23. package/dist/esm/model-cache.js.map +1 -1
  24. package/dist/esm/model-registry-data.js +722 -0
  25. package/dist/esm/model-registry-data.js.map +1 -0
  26. package/dist/esm/model-registry.js +162 -0
  27. package/dist/esm/model-registry.js.map +1 -0
  28. package/dist/esm/streaming.js +61 -1
  29. package/dist/esm/streaming.js.map +1 -1
  30. package/dist/esm/structured-output.js +17 -5
  31. package/dist/esm/structured-output.js.map +1 -1
  32. package/dist/esm/tools.js +211 -0
  33. package/dist/esm/tools.js.map +1 -0
  34. package/dist/types/embeddings.d.ts +80 -0
  35. package/dist/types/embeddings.d.ts.map +1 -0
  36. package/dist/types/index.d.ts +4 -0
  37. package/dist/types/index.d.ts.map +1 -1
  38. package/dist/types/model-cache.d.ts.map +1 -1
  39. package/dist/types/model-registry-data.d.ts +23 -0
  40. package/dist/types/model-registry-data.d.ts.map +1 -0
  41. package/dist/types/model-registry.d.ts +80 -0
  42. package/dist/types/model-registry.d.ts.map +1 -0
  43. package/dist/types/streaming.d.ts +18 -0
  44. package/dist/types/streaming.d.ts.map +1 -1
  45. package/dist/types/structured-output.d.ts.map +1 -1
  46. package/dist/types/tools.d.ts +70 -0
  47. package/dist/types/tools.d.ts.map +1 -0
  48. package/package.json +1 -1
@@ -0,0 +1,725 @@
1
+ "use strict";
2
+ /**
3
+ * Model Registry Seed Data
4
+ *
5
+ * The built-in model database consumed by the model registry
6
+ * (see ./model-registry.ts). Pricing is USD per 1M tokens.
7
+ *
8
+ * UPDATING THIS FILE
9
+ * - This file is intentionally the only place in the monorepo where model
10
+ * metadata is hardcoded. Everything else (pricing helpers, capability
11
+ * inference, cost tracking, token counting) derives from it.
12
+ * - Add new models at the top of their provider section; mark superseded
13
+ * models `deprecated: true` instead of deleting them (cost tracking for
14
+ * historical usage still needs their prices).
15
+ * - Users can add or correct models at runtime with `registerModels()`,
16
+ * so an out-of-date seed never blocks anyone.
17
+ *
18
+ * Data last refreshed: 2026-07-04 (verified against provider pricing pages).
19
+ *
20
+ * @module
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.MODEL_REGISTRY_SEED = void 0;
24
+ exports.MODEL_REGISTRY_SEED = [
25
+ // ==========================================================================
26
+ // OpenAI
27
+ // ==========================================================================
28
+ {
29
+ id: 'gpt-5.1',
30
+ provider: 'openai',
31
+ family: 'gpt-5',
32
+ releaseDate: '2025-11-12',
33
+ contextWindow: 400000,
34
+ maxOutputTokens: 128000,
35
+ pricing: { inputPer1M: 1.25, outputPer1M: 10.0, cachedInputPer1M: 0.125 },
36
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
37
+ latency: { p50: 1400, p95: 3200 },
38
+ qualityScore: 98,
39
+ },
40
+ {
41
+ id: 'gpt-5',
42
+ provider: 'openai',
43
+ family: 'gpt-5',
44
+ releaseDate: '2025-08-07',
45
+ contextWindow: 400000,
46
+ maxOutputTokens: 128000,
47
+ pricing: { inputPer1M: 1.25, outputPer1M: 10.0, cachedInputPer1M: 0.125 },
48
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
49
+ latency: { p50: 1500, p95: 3400 },
50
+ qualityScore: 97,
51
+ },
52
+ {
53
+ id: 'gpt-5-mini',
54
+ provider: 'openai',
55
+ family: 'gpt-5',
56
+ releaseDate: '2025-08-07',
57
+ contextWindow: 400000,
58
+ maxOutputTokens: 128000,
59
+ pricing: { inputPer1M: 0.25, outputPer1M: 2.0, cachedInputPer1M: 0.025 },
60
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
61
+ latency: { p50: 800, p95: 1800 },
62
+ qualityScore: 88,
63
+ },
64
+ {
65
+ id: 'gpt-5-nano',
66
+ provider: 'openai',
67
+ family: 'gpt-5',
68
+ releaseDate: '2025-08-07',
69
+ contextWindow: 400000,
70
+ maxOutputTokens: 128000,
71
+ pricing: { inputPer1M: 0.05, outputPer1M: 0.4, cachedInputPer1M: 0.005 },
72
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
73
+ latency: { p50: 500, p95: 1100 },
74
+ qualityScore: 78,
75
+ },
76
+ {
77
+ id: 'gpt-4.1',
78
+ provider: 'openai',
79
+ family: 'gpt-4',
80
+ releaseDate: '2025-04-14',
81
+ contextWindow: 1047576,
82
+ maxOutputTokens: 32768,
83
+ pricing: { inputPer1M: 2.0, outputPer1M: 8.0, cachedInputPer1M: 0.5 },
84
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
85
+ latency: { p50: 1300, p95: 2800 },
86
+ qualityScore: 94,
87
+ },
88
+ {
89
+ id: 'gpt-4.1-mini',
90
+ provider: 'openai',
91
+ family: 'gpt-4',
92
+ releaseDate: '2025-04-14',
93
+ contextWindow: 1047576,
94
+ maxOutputTokens: 32768,
95
+ pricing: { inputPer1M: 0.4, outputPer1M: 1.6, cachedInputPer1M: 0.1 },
96
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
97
+ latency: { p50: 700, p95: 1500 },
98
+ qualityScore: 85,
99
+ },
100
+ {
101
+ id: 'o3',
102
+ provider: 'openai',
103
+ family: 'o-series',
104
+ releaseDate: '2025-04-16',
105
+ contextWindow: 200000,
106
+ maxOutputTokens: 100000,
107
+ pricing: { inputPer1M: 2.0, outputPer1M: 8.0, cachedInputPer1M: 0.5 },
108
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
109
+ latency: { p50: 4000, p95: 12000 },
110
+ qualityScore: 96,
111
+ },
112
+ {
113
+ id: 'o4-mini',
114
+ provider: 'openai',
115
+ family: 'o-series',
116
+ releaseDate: '2025-04-16',
117
+ contextWindow: 200000,
118
+ maxOutputTokens: 100000,
119
+ pricing: { inputPer1M: 1.1, outputPer1M: 4.4, cachedInputPer1M: 0.275 },
120
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
121
+ latency: { p50: 2500, p95: 7000 },
122
+ qualityScore: 91,
123
+ },
124
+ {
125
+ id: 'gpt-4o',
126
+ provider: 'openai',
127
+ family: 'gpt-4',
128
+ releaseDate: '2024-05-13',
129
+ deprecated: true,
130
+ contextWindow: 128000,
131
+ maxOutputTokens: 4096,
132
+ pricing: { inputPer1M: 5.0, outputPer1M: 15.0 },
133
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
134
+ latency: { p50: 1200, p95: 2500 },
135
+ qualityScore: 96,
136
+ },
137
+ {
138
+ id: 'gpt-4o-mini',
139
+ provider: 'openai',
140
+ family: 'gpt-4',
141
+ releaseDate: '2024-07-18',
142
+ deprecated: true,
143
+ contextWindow: 128000,
144
+ maxOutputTokens: 16384,
145
+ pricing: { inputPer1M: 0.15, outputPer1M: 0.6 },
146
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
147
+ latency: { p50: 600, p95: 1200 },
148
+ qualityScore: 80,
149
+ },
150
+ {
151
+ id: 'gpt-4-turbo',
152
+ provider: 'openai',
153
+ family: 'gpt-4',
154
+ releaseDate: '2024-04-09',
155
+ deprecated: true,
156
+ contextWindow: 128000,
157
+ maxOutputTokens: 4096,
158
+ pricing: { inputPer1M: 10.0, outputPer1M: 30.0 },
159
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
160
+ latency: { p50: 1800, p95: 3500 },
161
+ qualityScore: 95,
162
+ },
163
+ {
164
+ id: 'gpt-4-turbo-preview',
165
+ provider: 'openai',
166
+ family: 'gpt-4',
167
+ releaseDate: '2024-01-25',
168
+ deprecated: true,
169
+ contextWindow: 128000,
170
+ maxOutputTokens: 4096,
171
+ pricing: { inputPer1M: 10.0, outputPer1M: 30.0 },
172
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
173
+ latency: { p50: 1800, p95: 3500 },
174
+ qualityScore: 94,
175
+ },
176
+ {
177
+ id: 'gpt-4',
178
+ provider: 'openai',
179
+ family: 'gpt-4',
180
+ releaseDate: '2023-03-14',
181
+ deprecated: true,
182
+ contextWindow: 8192,
183
+ maxOutputTokens: 4096,
184
+ pricing: { inputPer1M: 30.0, outputPer1M: 60.0 },
185
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
186
+ latency: { p50: 2000, p95: 4000 },
187
+ qualityScore: 95,
188
+ },
189
+ {
190
+ id: 'gpt-3.5-turbo',
191
+ provider: 'openai',
192
+ family: 'gpt-3.5',
193
+ releaseDate: '2023-03-01',
194
+ deprecated: true,
195
+ contextWindow: 16385,
196
+ maxOutputTokens: 4096,
197
+ pricing: { inputPer1M: 0.5, outputPer1M: 1.5 },
198
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
199
+ latency: { p50: 800, p95: 1500 },
200
+ qualityScore: 75,
201
+ },
202
+ {
203
+ id: 'text-embedding-3-small',
204
+ provider: 'openai',
205
+ family: 'text-embedding-3',
206
+ kind: 'embedding',
207
+ releaseDate: '2024-01-25',
208
+ contextWindow: 8191,
209
+ pricing: { inputPer1M: 0.02, outputPer1M: 0 },
210
+ embeddingDimensions: 1536,
211
+ },
212
+ {
213
+ id: 'text-embedding-3-large',
214
+ provider: 'openai',
215
+ family: 'text-embedding-3',
216
+ kind: 'embedding',
217
+ releaseDate: '2024-01-25',
218
+ contextWindow: 8191,
219
+ pricing: { inputPer1M: 0.13, outputPer1M: 0 },
220
+ embeddingDimensions: 3072,
221
+ },
222
+ // ==========================================================================
223
+ // Anthropic
224
+ // ==========================================================================
225
+ {
226
+ id: 'claude-sonnet-5',
227
+ provider: 'anthropic',
228
+ family: 'claude-5',
229
+ releaseDate: '2026-06-30',
230
+ contextWindow: 1000000,
231
+ maxOutputTokens: 128000,
232
+ // Standard pricing; introductory $2/$10 applies through 2026-08-31
233
+ pricing: { inputPer1M: 3.0, outputPer1M: 15.0, cachedInputPer1M: 0.3 },
234
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
235
+ latency: { p50: 1400, p95: 2900 },
236
+ qualityScore: 98,
237
+ },
238
+ {
239
+ id: 'claude-opus-4-5-20251101',
240
+ provider: 'anthropic',
241
+ family: 'claude-4',
242
+ aliases: ['claude-opus-4-5', 'claude-opus-4.5'],
243
+ releaseDate: '2025-11-24',
244
+ contextWindow: 200000,
245
+ maxOutputTokens: 64000,
246
+ pricing: { inputPer1M: 5.0, outputPer1M: 25.0, cachedInputPer1M: 0.5 },
247
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
248
+ latency: { p50: 2000, p95: 4500 },
249
+ qualityScore: 99,
250
+ },
251
+ {
252
+ id: 'claude-sonnet-4-5-20250929',
253
+ provider: 'anthropic',
254
+ family: 'claude-4',
255
+ aliases: ['claude-sonnet-4-5', 'claude-sonnet-4.5'],
256
+ releaseDate: '2025-09-29',
257
+ contextWindow: 200000,
258
+ maxOutputTokens: 64000,
259
+ pricing: { inputPer1M: 3.0, outputPer1M: 15.0, cachedInputPer1M: 0.3 },
260
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
261
+ latency: { p50: 1500, p95: 3000 },
262
+ qualityScore: 97,
263
+ },
264
+ {
265
+ id: 'claude-haiku-4-5-20251001',
266
+ provider: 'anthropic',
267
+ family: 'claude-4',
268
+ aliases: ['claude-haiku-4-5', 'claude-haiku-4.5'],
269
+ releaseDate: '2025-10-01',
270
+ contextWindow: 200000,
271
+ maxOutputTokens: 64000,
272
+ pricing: { inputPer1M: 1.0, outputPer1M: 5.0, cachedInputPer1M: 0.1 },
273
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
274
+ latency: { p50: 600, p95: 1300 },
275
+ qualityScore: 90,
276
+ },
277
+ {
278
+ id: 'claude-opus-4-1-20250805',
279
+ provider: 'anthropic',
280
+ family: 'claude-4',
281
+ aliases: ['claude-opus-4-1', 'claude-opus-4.1'],
282
+ releaseDate: '2025-08-05',
283
+ deprecated: true,
284
+ contextWindow: 200000,
285
+ maxOutputTokens: 32000,
286
+ pricing: { inputPer1M: 15.0, outputPer1M: 75.0, cachedInputPer1M: 1.5 },
287
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
288
+ latency: { p50: 2400, p95: 5000 },
289
+ qualityScore: 98,
290
+ },
291
+ {
292
+ id: 'claude-sonnet-4-20250514',
293
+ provider: 'anthropic',
294
+ family: 'claude-4',
295
+ aliases: ['claude-sonnet-4'],
296
+ releaseDate: '2025-05-14',
297
+ deprecated: true,
298
+ contextWindow: 200000,
299
+ maxOutputTokens: 64000,
300
+ pricing: { inputPer1M: 3.0, outputPer1M: 15.0, cachedInputPer1M: 0.3 },
301
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
302
+ latency: { p50: 1500, p95: 3100 },
303
+ qualityScore: 95,
304
+ },
305
+ {
306
+ id: 'claude-3-5-sonnet-20241022',
307
+ provider: 'anthropic',
308
+ family: 'claude-3',
309
+ aliases: ['claude-3-5-sonnet'],
310
+ releaseDate: '2024-10-22',
311
+ deprecated: true,
312
+ contextWindow: 200000,
313
+ maxOutputTokens: 8192,
314
+ pricing: { inputPer1M: 3.0, outputPer1M: 15.0 },
315
+ capabilities: { streaming: true, vision: true, tools: true, json: false },
316
+ latency: { p50: 1500, p95: 3000 },
317
+ qualityScore: 97,
318
+ },
319
+ {
320
+ id: 'claude-3-5-haiku-20241022',
321
+ provider: 'anthropic',
322
+ family: 'claude-3',
323
+ aliases: ['claude-3-5-haiku'],
324
+ releaseDate: '2024-10-22',
325
+ deprecated: true,
326
+ contextWindow: 200000,
327
+ maxOutputTokens: 8192,
328
+ pricing: { inputPer1M: 1.0, outputPer1M: 5.0 },
329
+ capabilities: { streaming: true, vision: false, tools: true, json: false },
330
+ latency: { p50: 500, p95: 1000 },
331
+ qualityScore: 82,
332
+ },
333
+ {
334
+ id: 'claude-3-opus-20240229',
335
+ provider: 'anthropic',
336
+ family: 'claude-3',
337
+ aliases: ['claude-3-opus'],
338
+ releaseDate: '2024-02-29',
339
+ deprecated: true,
340
+ contextWindow: 200000,
341
+ maxOutputTokens: 4096,
342
+ pricing: { inputPer1M: 15.0, outputPer1M: 75.0 },
343
+ capabilities: { streaming: true, vision: true, tools: true, json: false },
344
+ latency: { p50: 2200, p95: 4500 },
345
+ qualityScore: 96,
346
+ },
347
+ {
348
+ id: 'claude-3-sonnet-20240229',
349
+ provider: 'anthropic',
350
+ family: 'claude-3',
351
+ aliases: ['claude-3-sonnet'],
352
+ releaseDate: '2024-02-29',
353
+ deprecated: true,
354
+ contextWindow: 200000,
355
+ maxOutputTokens: 4096,
356
+ pricing: { inputPer1M: 3.0, outputPer1M: 15.0 },
357
+ capabilities: { streaming: true, vision: true, tools: true, json: false },
358
+ latency: { p50: 1600, p95: 3200 },
359
+ qualityScore: 92,
360
+ },
361
+ {
362
+ id: 'claude-3-haiku-20240307',
363
+ provider: 'anthropic',
364
+ family: 'claude-3',
365
+ aliases: ['claude-3-haiku'],
366
+ releaseDate: '2024-03-07',
367
+ deprecated: true,
368
+ contextWindow: 200000,
369
+ maxOutputTokens: 4096,
370
+ pricing: { inputPer1M: 0.25, outputPer1M: 1.25 },
371
+ capabilities: { streaming: true, vision: true, tools: true, json: false },
372
+ latency: { p50: 400, p95: 800 },
373
+ qualityScore: 78,
374
+ },
375
+ // ==========================================================================
376
+ // Google Gemini
377
+ // ==========================================================================
378
+ {
379
+ id: 'gemini-3.5-flash',
380
+ provider: 'gemini',
381
+ family: 'gemini-3',
382
+ releaseDate: '2026-06-17',
383
+ contextWindow: 1048576,
384
+ maxOutputTokens: 65536,
385
+ pricing: { inputPer1M: 1.5, outputPer1M: 9.0, cachedInputPer1M: 0.15 },
386
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
387
+ latency: { p50: 900, p95: 2000 },
388
+ qualityScore: 94,
389
+ },
390
+ {
391
+ id: 'gemini-3.1-pro-preview',
392
+ provider: 'gemini',
393
+ family: 'gemini-3',
394
+ aliases: ['gemini-3.1-pro'],
395
+ releaseDate: '2026-03-01',
396
+ contextWindow: 1048576,
397
+ maxOutputTokens: 65536,
398
+ // Base tier; input doubles and output rises ~50% above 200K tokens
399
+ pricing: { inputPer1M: 2.0, outputPer1M: 12.0 },
400
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
401
+ latency: { p50: 1500, p95: 3300 },
402
+ qualityScore: 97,
403
+ },
404
+ {
405
+ id: 'gemini-3-pro',
406
+ provider: 'gemini',
407
+ family: 'gemini-3',
408
+ releaseDate: '2025-11-18',
409
+ contextWindow: 1000000,
410
+ maxOutputTokens: 65536,
411
+ pricing: { inputPer1M: 2.0, outputPer1M: 12.0 },
412
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
413
+ latency: { p50: 1600, p95: 3500 },
414
+ qualityScore: 98,
415
+ },
416
+ {
417
+ id: 'gemini-2.5-pro',
418
+ provider: 'gemini',
419
+ family: 'gemini-2.5',
420
+ releaseDate: '2025-06-17',
421
+ contextWindow: 1048576,
422
+ maxOutputTokens: 65536,
423
+ pricing: { inputPer1M: 1.25, outputPer1M: 10.0 },
424
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
425
+ latency: { p50: 1500, p95: 3200 },
426
+ qualityScore: 96,
427
+ },
428
+ {
429
+ id: 'gemini-2.5-flash',
430
+ provider: 'gemini',
431
+ family: 'gemini-2.5',
432
+ releaseDate: '2025-06-17',
433
+ contextWindow: 1048576,
434
+ maxOutputTokens: 65536,
435
+ pricing: { inputPer1M: 0.3, outputPer1M: 2.5 },
436
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
437
+ latency: { p50: 700, p95: 1500 },
438
+ qualityScore: 89,
439
+ },
440
+ {
441
+ id: 'gemini-2.5-flash-lite',
442
+ provider: 'gemini',
443
+ family: 'gemini-2.5',
444
+ releaseDate: '2025-07-22',
445
+ contextWindow: 1048576,
446
+ maxOutputTokens: 65536,
447
+ pricing: { inputPer1M: 0.1, outputPer1M: 0.4 },
448
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
449
+ latency: { p50: 400, p95: 900 },
450
+ qualityScore: 80,
451
+ },
452
+ {
453
+ id: 'gemini-2.0-flash',
454
+ provider: 'gemini',
455
+ family: 'gemini-2.0',
456
+ releaseDate: '2025-01-30',
457
+ deprecated: true,
458
+ contextWindow: 1048576,
459
+ maxOutputTokens: 8192,
460
+ pricing: { inputPer1M: 0.1, outputPer1M: 0.4 },
461
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
462
+ latency: { p50: 500, p95: 1100 },
463
+ qualityScore: 84,
464
+ },
465
+ {
466
+ id: 'gemini-1.5-pro',
467
+ provider: 'gemini',
468
+ family: 'gemini-1.5',
469
+ releaseDate: '2024-02-15',
470
+ deprecated: true,
471
+ contextWindow: 1000000,
472
+ maxOutputTokens: 8192,
473
+ pricing: { inputPer1M: 1.25, outputPer1M: 5.0 },
474
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
475
+ latency: { p50: 1400, p95: 2800 },
476
+ qualityScore: 93,
477
+ },
478
+ {
479
+ id: 'gemini-1.5-flash',
480
+ provider: 'gemini',
481
+ family: 'gemini-1.5',
482
+ releaseDate: '2024-05-14',
483
+ deprecated: true,
484
+ contextWindow: 1000000,
485
+ maxOutputTokens: 8192,
486
+ pricing: { inputPer1M: 0.075, outputPer1M: 0.3 },
487
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
488
+ latency: { p50: 600, p95: 1200 },
489
+ qualityScore: 80,
490
+ },
491
+ {
492
+ id: 'gemini-1.5-flash-8b',
493
+ provider: 'gemini',
494
+ family: 'gemini-1.5',
495
+ releaseDate: '2024-10-03',
496
+ deprecated: true,
497
+ contextWindow: 1000000,
498
+ maxOutputTokens: 8192,
499
+ pricing: { inputPer1M: 0.0375, outputPer1M: 0.15 },
500
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
501
+ latency: { p50: 400, p95: 800 },
502
+ qualityScore: 70,
503
+ },
504
+ {
505
+ id: 'gemini-embedding-001',
506
+ provider: 'gemini',
507
+ family: 'gemini-embedding',
508
+ kind: 'embedding',
509
+ releaseDate: '2025-07-01',
510
+ contextWindow: 2048,
511
+ pricing: { inputPer1M: 0.15, outputPer1M: 0 },
512
+ embeddingDimensions: 3072,
513
+ },
514
+ // ==========================================================================
515
+ // Mistral AI
516
+ // ==========================================================================
517
+ {
518
+ id: 'mistral-large-2411',
519
+ provider: 'mistral',
520
+ family: 'mistral',
521
+ aliases: ['mistral-large-latest'],
522
+ releaseDate: '2024-11-18',
523
+ contextWindow: 128000,
524
+ maxOutputTokens: 4096,
525
+ pricing: { inputPer1M: 2.0, outputPer1M: 6.0 },
526
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
527
+ latency: { p50: 1300, p95: 2600 },
528
+ qualityScore: 90,
529
+ },
530
+ {
531
+ id: 'mistral-medium-2505',
532
+ provider: 'mistral',
533
+ family: 'mistral',
534
+ aliases: ['mistral-medium-latest'],
535
+ releaseDate: '2025-05-07',
536
+ contextWindow: 128000,
537
+ maxOutputTokens: 8192,
538
+ pricing: { inputPer1M: 0.4, outputPer1M: 2.0 },
539
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
540
+ latency: { p50: 1100, p95: 2200 },
541
+ qualityScore: 88,
542
+ },
543
+ {
544
+ id: 'mistral-small-2501',
545
+ provider: 'mistral',
546
+ family: 'mistral',
547
+ aliases: ['mistral-small-latest'],
548
+ releaseDate: '2025-01-13',
549
+ contextWindow: 32000,
550
+ maxOutputTokens: 4096,
551
+ pricing: { inputPer1M: 0.1, outputPer1M: 0.3 },
552
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
553
+ latency: { p50: 700, p95: 1400 },
554
+ qualityScore: 80,
555
+ },
556
+ {
557
+ id: 'codestral-2501',
558
+ provider: 'mistral',
559
+ family: 'codestral',
560
+ aliases: ['codestral-latest'],
561
+ releaseDate: '2025-01-13',
562
+ contextWindow: 262144,
563
+ maxOutputTokens: 8192,
564
+ pricing: { inputPer1M: 0.3, outputPer1M: 0.9 },
565
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
566
+ latency: { p50: 700, p95: 1400 },
567
+ qualityScore: 86,
568
+ },
569
+ {
570
+ id: 'mistral-embed',
571
+ provider: 'mistral',
572
+ family: 'mistral-embed',
573
+ kind: 'embedding',
574
+ releaseDate: '2023-12-11',
575
+ contextWindow: 8192,
576
+ pricing: { inputPer1M: 0.1, outputPer1M: 0 },
577
+ embeddingDimensions: 1024,
578
+ },
579
+ // ==========================================================================
580
+ // DeepSeek
581
+ // ==========================================================================
582
+ {
583
+ id: 'deepseek-v4-flash',
584
+ provider: 'deepseek',
585
+ family: 'deepseek-v4',
586
+ releaseDate: '2026-04-24',
587
+ contextWindow: 1000000,
588
+ maxOutputTokens: 384000,
589
+ pricing: { inputPer1M: 0.14, outputPer1M: 0.28, cachedInputPer1M: 0.003 },
590
+ // Vision (OpenAI-style image_url) with the V4 generation
591
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
592
+ latency: { p50: 700, p95: 1500 },
593
+ qualityScore: 90,
594
+ },
595
+ {
596
+ id: 'deepseek-v4-pro',
597
+ provider: 'deepseek',
598
+ family: 'deepseek-v4',
599
+ releaseDate: '2026-04-24',
600
+ contextWindow: 1000000,
601
+ maxOutputTokens: 384000,
602
+ pricing: { inputPer1M: 0.435, outputPer1M: 0.87, cachedInputPer1M: 0.004 },
603
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
604
+ latency: { p50: 1600, p95: 3800 },
605
+ qualityScore: 95,
606
+ },
607
+ {
608
+ id: 'deepseek-chat',
609
+ provider: 'deepseek',
610
+ family: 'deepseek',
611
+ releaseDate: '2024-12-26',
612
+ // Retired by DeepSeek on 2026-07-24; kept for historical cost tracking
613
+ deprecated: true,
614
+ contextWindow: 64000,
615
+ maxOutputTokens: 8192,
616
+ pricing: { inputPer1M: 0.27, outputPer1M: 1.1, cachedInputPer1M: 0.07 },
617
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
618
+ latency: { p50: 900, p95: 1800 },
619
+ qualityScore: 88,
620
+ },
621
+ {
622
+ id: 'deepseek-reasoner',
623
+ provider: 'deepseek',
624
+ family: 'deepseek',
625
+ releaseDate: '2025-01-20',
626
+ // Retired by DeepSeek on 2026-07-24; kept for historical cost tracking
627
+ deprecated: true,
628
+ contextWindow: 64000,
629
+ maxOutputTokens: 65536,
630
+ pricing: { inputPer1M: 0.55, outputPer1M: 2.19, cachedInputPer1M: 0.14 },
631
+ capabilities: { streaming: true, vision: false, tools: false, json: true },
632
+ latency: { p50: 4000, p95: 12000 },
633
+ qualityScore: 93,
634
+ },
635
+ {
636
+ id: 'deepseek-coder',
637
+ provider: 'deepseek',
638
+ family: 'deepseek',
639
+ releaseDate: '2024-01-01',
640
+ deprecated: true,
641
+ contextWindow: 64000,
642
+ maxOutputTokens: 4096,
643
+ pricing: { inputPer1M: 0.14, outputPer1M: 0.28 },
644
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
645
+ latency: { p50: 900, p95: 1800 },
646
+ qualityScore: 88,
647
+ },
648
+ // ==========================================================================
649
+ // xAI
650
+ // ==========================================================================
651
+ {
652
+ id: 'grok-4.3',
653
+ provider: 'xai',
654
+ family: 'grok',
655
+ releaseDate: '2026-06-15',
656
+ contextWindow: 1000000,
657
+ maxOutputTokens: 32768,
658
+ pricing: { inputPer1M: 1.25, outputPer1M: 2.5 },
659
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
660
+ latency: { p50: 1400, p95: 3200 },
661
+ qualityScore: 96,
662
+ },
663
+ {
664
+ id: 'grok-4.20-0309-reasoning',
665
+ provider: 'xai',
666
+ family: 'grok',
667
+ aliases: ['grok-4.20', 'grok-4.20-0309-non-reasoning', 'grok-4.20-multi-agent-0309'],
668
+ releaseDate: '2026-03-09',
669
+ contextWindow: 1000000,
670
+ maxOutputTokens: 32768,
671
+ pricing: { inputPer1M: 1.25, outputPer1M: 2.5 },
672
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
673
+ latency: { p50: 1800, p95: 4200 },
674
+ qualityScore: 94,
675
+ },
676
+ {
677
+ id: 'grok-build-0.1',
678
+ provider: 'xai',
679
+ family: 'grok-build',
680
+ releaseDate: '2026-06-01',
681
+ contextWindow: 256000,
682
+ maxOutputTokens: 32768,
683
+ pricing: { inputPer1M: 1.0, outputPer1M: 2.0 },
684
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
685
+ latency: { p50: 600, p95: 1400 },
686
+ qualityScore: 90,
687
+ },
688
+ {
689
+ id: 'grok-4',
690
+ provider: 'xai',
691
+ family: 'grok',
692
+ releaseDate: '2025-07-09',
693
+ contextWindow: 256000,
694
+ maxOutputTokens: 32768,
695
+ pricing: { inputPer1M: 3.0, outputPer1M: 15.0, cachedInputPer1M: 0.75 },
696
+ capabilities: { streaming: true, vision: true, tools: true, json: true },
697
+ latency: { p50: 2000, p95: 5000 },
698
+ qualityScore: 95,
699
+ },
700
+ {
701
+ id: 'grok-3',
702
+ provider: 'xai',
703
+ family: 'grok',
704
+ releaseDate: '2025-02-19',
705
+ contextWindow: 131072,
706
+ maxOutputTokens: 16384,
707
+ pricing: { inputPer1M: 3.0, outputPer1M: 15.0 },
708
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
709
+ latency: { p50: 1800, p95: 4200 },
710
+ qualityScore: 92,
711
+ },
712
+ {
713
+ id: 'grok-3-mini',
714
+ provider: 'xai',
715
+ family: 'grok',
716
+ releaseDate: '2025-02-19',
717
+ contextWindow: 131072,
718
+ maxOutputTokens: 16384,
719
+ pricing: { inputPer1M: 0.3, outputPer1M: 0.5 },
720
+ capabilities: { streaming: true, vision: false, tools: true, json: true },
721
+ latency: { p50: 900, p95: 2000 },
722
+ qualityScore: 84,
723
+ },
724
+ ];
725
+ //# sourceMappingURL=model-registry-data.js.map