@tianmucreations/jeeves 0.2.1 → 0.3.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 (55) hide show
  1. package/README.md +79 -18
  2. package/bin/jeeves +8 -1
  3. package/dist/agent/auto-ids.js +66 -0
  4. package/dist/agent/auto.js +178 -0
  5. package/dist/agent/context.js +55 -13
  6. package/dist/agent/errors.js +83 -22
  7. package/dist/agent/expert-chat.js +33 -0
  8. package/dist/agent/housekeeping.js +55 -0
  9. package/dist/agent/loop.js +168 -12
  10. package/dist/agent/permissions.js +167 -0
  11. package/dist/agent/research-gate.js +267 -0
  12. package/dist/agent/review.js +135 -0
  13. package/dist/agent/spending.js +73 -0
  14. package/dist/agent/systemPrompt.js +112 -0
  15. package/dist/app.js +25 -10
  16. package/dist/checkpoints/index.js +103 -0
  17. package/dist/checkpoints/store.js +239 -0
  18. package/dist/commands/address.js +5 -0
  19. package/dist/commands/clear.js +2 -0
  20. package/dist/commands/help.js +7 -4
  21. package/dist/commands/keys.js +1 -1
  22. package/dist/commands/verbose.js +1 -1
  23. package/dist/components/AddressPrompt.js +31 -0
  24. package/dist/components/Footer.js +74 -102
  25. package/dist/components/Input.js +76 -25
  26. package/dist/components/KeysManager.js +65 -20
  27. package/dist/components/ModelPicker.js +348 -75
  28. package/dist/components/ProjectPicker.js +4 -1
  29. package/dist/components/Transcript.js +29 -14
  30. package/dist/components/input-layout.js +34 -0
  31. package/dist/components/transcript-layout.js +13 -17
  32. package/dist/index.js +25 -7
  33. package/dist/ink/AlternateScreen.js +33 -16
  34. package/dist/ink/cursor.js +18 -0
  35. package/dist/ink/mouse.js +48 -0
  36. package/dist/keys/store.js +2 -1
  37. package/dist/models/registry.js +18 -2
  38. package/dist/platform/config.js +63 -7
  39. package/dist/providers/catalogue.js +293 -0
  40. package/dist/providers/direct-services.js +65 -0
  41. package/dist/providers/direct.js +145 -0
  42. package/dist/providers/index.js +123 -13
  43. package/dist/providers/models-snapshot.js +1037 -0
  44. package/dist/providers/ollama.js +21 -4
  45. package/dist/providers/openrouter.js +39 -4
  46. package/dist/providers/step-control.js +28 -0
  47. package/dist/providers/zai.js +31 -11
  48. package/dist/state/session.js +90 -36
  49. package/dist/state/today-spend.js +26 -0
  50. package/dist/tools/index.js +118 -10
  51. package/dist/tools/runBash.js +58 -11
  52. package/dist/tools/web/htmlToText.js +32 -0
  53. package/dist/tools/web/openrouterChat.js +31 -0
  54. package/dist/tools/web/research.js +191 -0
  55. package/package.json +32 -6
@@ -0,0 +1,1037 @@
1
+ export const MODELS_SNAPSHOT = {
2
+ "anthropic": [
3
+ {
4
+ "id": "claude-sonnet-4-6",
5
+ "name": "Claude Sonnet 4.6",
6
+ "released": "2026-02-17",
7
+ "context": 1000000,
8
+ "cost": {
9
+ "input": 3,
10
+ "output": 15,
11
+ "cacheRead": 0.3,
12
+ "cacheWrite": 3.75
13
+ }
14
+ },
15
+ {
16
+ "id": "claude-opus-5",
17
+ "name": "Claude Opus 5",
18
+ "released": "2026-07-24",
19
+ "context": 1000000,
20
+ "cost": {
21
+ "input": 5,
22
+ "output": 25,
23
+ "cacheRead": 0.5,
24
+ "cacheWrite": 6.25
25
+ }
26
+ },
27
+ {
28
+ "id": "claude-opus-4-5",
29
+ "name": "Claude Opus 4.5 (latest)",
30
+ "released": "2025-11-24",
31
+ "context": 200000,
32
+ "cost": {
33
+ "input": 5,
34
+ "output": 25,
35
+ "cacheRead": 0.5,
36
+ "cacheWrite": 6.25
37
+ }
38
+ },
39
+ {
40
+ "id": "claude-fable-5-1",
41
+ "name": "Claude Fable 5.1",
42
+ "released": "2026-09-01",
43
+ "context": 1000000,
44
+ "cost": {
45
+ "input": 10,
46
+ "output": 50,
47
+ "cacheRead": 0.25,
48
+ "cacheWrite": 12.5
49
+ }
50
+ },
51
+ {
52
+ "id": "claude-opus-4-6",
53
+ "name": "Claude Opus 4.6",
54
+ "released": "2026-02-04",
55
+ "context": 1000000,
56
+ "cost": {
57
+ "input": 5,
58
+ "output": 25,
59
+ "cacheRead": 0.5,
60
+ "cacheWrite": 6.25
61
+ }
62
+ },
63
+ {
64
+ "id": "claude-sonnet-4-5-20250929",
65
+ "name": "Claude Sonnet 4.5",
66
+ "released": "2025-09-29",
67
+ "context": 1000000,
68
+ "cost": {
69
+ "input": 3,
70
+ "output": 15,
71
+ "cacheRead": 0.3,
72
+ "cacheWrite": 3.75
73
+ }
74
+ },
75
+ {
76
+ "id": "claude-opus-4-7",
77
+ "name": "Claude Opus 4.7",
78
+ "released": "2026-04-14",
79
+ "context": 1000000,
80
+ "cost": {
81
+ "input": 5,
82
+ "output": 25,
83
+ "cacheRead": 0.5,
84
+ "cacheWrite": 6.25
85
+ }
86
+ },
87
+ {
88
+ "id": "claude-haiku-4-5-20251001",
89
+ "name": "Claude Haiku 4.5",
90
+ "released": "2025-10-15",
91
+ "context": 200000,
92
+ "cost": {
93
+ "input": 1,
94
+ "output": 5,
95
+ "cacheRead": 0.1,
96
+ "cacheWrite": 1.25
97
+ }
98
+ },
99
+ {
100
+ "id": "claude-fable-5",
101
+ "name": "Claude Fable 5",
102
+ "released": "2026-06-07",
103
+ "context": 1000000,
104
+ "cost": {
105
+ "input": 10,
106
+ "output": 50,
107
+ "cacheRead": 1,
108
+ "cacheWrite": 12.5
109
+ }
110
+ },
111
+ {
112
+ "id": "claude-haiku-4-5",
113
+ "name": "Claude Haiku 4.5 (latest)",
114
+ "released": "2025-10-15",
115
+ "context": 200000,
116
+ "cost": {
117
+ "input": 1,
118
+ "output": 5,
119
+ "cacheRead": 0.1,
120
+ "cacheWrite": 1.25
121
+ }
122
+ },
123
+ {
124
+ "id": "claude-sonnet-4-5",
125
+ "name": "Claude Sonnet 4.5 (latest)",
126
+ "released": "2025-09-29",
127
+ "context": 1000000,
128
+ "cost": {
129
+ "input": 3,
130
+ "output": 15,
131
+ "cacheRead": 0.3,
132
+ "cacheWrite": 3.75
133
+ }
134
+ },
135
+ {
136
+ "id": "claude-opus-4-8",
137
+ "name": "Claude Opus 4.8",
138
+ "released": "2026-05-28",
139
+ "context": 1000000,
140
+ "cost": {
141
+ "input": 5,
142
+ "output": 25,
143
+ "cacheRead": 0.5,
144
+ "cacheWrite": 6.25
145
+ }
146
+ },
147
+ {
148
+ "id": "claude-sonnet-5",
149
+ "name": "Claude Sonnet 5",
150
+ "released": "2026-06-29",
151
+ "context": 1000000,
152
+ "cost": {
153
+ "input": 2,
154
+ "output": 10,
155
+ "cacheRead": 0.2,
156
+ "cacheWrite": 2.5
157
+ }
158
+ },
159
+ {
160
+ "id": "claude-opus-4-5-20251101",
161
+ "name": "Claude Opus 4.5",
162
+ "released": "2025-11-24",
163
+ "context": 200000,
164
+ "cost": {
165
+ "input": 5,
166
+ "output": 25,
167
+ "cacheRead": 0.5,
168
+ "cacheWrite": 6.25
169
+ }
170
+ }
171
+ ],
172
+ "openai": [
173
+ {
174
+ "id": "gpt-5-nano",
175
+ "name": "GPT-5 Nano",
176
+ "released": "2025-08-07",
177
+ "context": 400000,
178
+ "cost": {
179
+ "input": 0.05,
180
+ "output": 0.4,
181
+ "cacheRead": 0.005
182
+ }
183
+ },
184
+ {
185
+ "id": "gpt-5-pro",
186
+ "name": "GPT-5 Pro",
187
+ "released": "2025-10-06",
188
+ "context": 400000,
189
+ "cost": {
190
+ "input": 15,
191
+ "output": 120
192
+ }
193
+ },
194
+ {
195
+ "id": "gpt-5.6-sol",
196
+ "name": "GPT-5.6 Sol",
197
+ "released": "2026-07-09",
198
+ "context": 1050000,
199
+ "cost": {
200
+ "input": 4,
201
+ "output": 20,
202
+ "cacheRead": 0.4,
203
+ "cacheWrite": 5
204
+ }
205
+ },
206
+ {
207
+ "id": "gpt-4o-2024-08-06",
208
+ "name": "GPT-4o (2024-08-06)",
209
+ "released": "2024-08-06",
210
+ "context": 128000,
211
+ "cost": {
212
+ "input": 2.5,
213
+ "output": 10,
214
+ "cacheRead": 1.25
215
+ }
216
+ },
217
+ {
218
+ "id": "gpt-6-astra",
219
+ "name": "GPT-6 Astra",
220
+ "released": "2026-09-04",
221
+ "context": 1050000,
222
+ "cost": {
223
+ "input": 10,
224
+ "output": 50,
225
+ "cacheRead": 1,
226
+ "cacheWrite": 12.5
227
+ }
228
+ },
229
+ {
230
+ "id": "gpt-5.2-pro",
231
+ "name": "GPT-5.2 Pro",
232
+ "released": "2025-12-11",
233
+ "context": 400000,
234
+ "cost": {
235
+ "input": 21,
236
+ "output": 168
237
+ }
238
+ },
239
+ {
240
+ "id": "gpt-5.3-codex-spark",
241
+ "name": "GPT-5.3 Codex Spark",
242
+ "released": "2026-02-05",
243
+ "context": 128000,
244
+ "cost": {
245
+ "input": 1.75,
246
+ "output": 14,
247
+ "cacheRead": 0.175
248
+ }
249
+ },
250
+ {
251
+ "id": "gpt-4.1-mini",
252
+ "name": "GPT-4.1 mini",
253
+ "released": "2025-04-14",
254
+ "context": 1047576,
255
+ "cost": {
256
+ "input": 0.4,
257
+ "output": 1.6,
258
+ "cacheRead": 0.1
259
+ }
260
+ },
261
+ {
262
+ "id": "gpt-5.4",
263
+ "name": "GPT-5.4",
264
+ "released": "2026-03-05",
265
+ "context": 1050000,
266
+ "cost": {
267
+ "input": 2.5,
268
+ "output": 15,
269
+ "cacheRead": 0.25
270
+ }
271
+ },
272
+ {
273
+ "id": "gpt-5.1",
274
+ "name": "GPT-5.1",
275
+ "released": "2025-11-13",
276
+ "context": 400000,
277
+ "cost": {
278
+ "input": 1.25,
279
+ "output": 10,
280
+ "cacheRead": 0.125
281
+ }
282
+ },
283
+ {
284
+ "id": "gpt-4o",
285
+ "name": "GPT-4o",
286
+ "released": "2024-05-13",
287
+ "context": 128000,
288
+ "cost": {
289
+ "input": 2.5,
290
+ "output": 10,
291
+ "cacheRead": 1.25
292
+ }
293
+ },
294
+ {
295
+ "id": "gpt-5.6-luna",
296
+ "name": "GPT-5.6 Luna",
297
+ "released": "2026-07-09",
298
+ "context": 1050000,
299
+ "cost": {
300
+ "input": 0.2,
301
+ "output": 1.2,
302
+ "cacheRead": 0.02,
303
+ "cacheWrite": 0.25
304
+ }
305
+ },
306
+ {
307
+ "id": "gpt-5.3-codex",
308
+ "name": "GPT-5.3 Codex",
309
+ "released": "2026-02-05",
310
+ "context": 400000,
311
+ "cost": {
312
+ "input": 1.75,
313
+ "output": 14,
314
+ "cacheRead": 0.175
315
+ }
316
+ },
317
+ {
318
+ "id": "gpt-4o-mini",
319
+ "name": "GPT-4o mini",
320
+ "released": "2024-07-18",
321
+ "context": 128000,
322
+ "cost": {
323
+ "input": 0.15,
324
+ "output": 0.6,
325
+ "cacheRead": 0.075
326
+ }
327
+ },
328
+ {
329
+ "id": "gpt-4.1",
330
+ "name": "GPT-4.1",
331
+ "released": "2025-04-14",
332
+ "context": 1047576,
333
+ "cost": {
334
+ "input": 2,
335
+ "output": 8,
336
+ "cacheRead": 0.5
337
+ }
338
+ },
339
+ {
340
+ "id": "gpt-5.4-nano",
341
+ "name": "GPT-5.4 nano",
342
+ "released": "2026-03-17",
343
+ "context": 400000,
344
+ "cost": {
345
+ "input": 0.2,
346
+ "output": 1.25,
347
+ "cacheRead": 0.02
348
+ }
349
+ },
350
+ {
351
+ "id": "gpt-5.5-pro",
352
+ "name": "GPT-5.5 Pro",
353
+ "released": "2026-04-23",
354
+ "context": 1050000,
355
+ "cost": {
356
+ "input": 30,
357
+ "output": 180
358
+ }
359
+ },
360
+ {
361
+ "id": "gpt-5.4-mini",
362
+ "name": "GPT-5.4 mini",
363
+ "released": "2026-03-17",
364
+ "context": 400000,
365
+ "cost": {
366
+ "input": 0.75,
367
+ "output": 4.5,
368
+ "cacheRead": 0.075
369
+ }
370
+ },
371
+ {
372
+ "id": "gpt-5.6",
373
+ "name": "GPT-5.6",
374
+ "released": "2026-07-09",
375
+ "context": 1050000,
376
+ "cost": {
377
+ "input": 4,
378
+ "output": 20,
379
+ "cacheRead": 0.4,
380
+ "cacheWrite": 5
381
+ }
382
+ },
383
+ {
384
+ "id": "gpt-5-mini",
385
+ "name": "GPT-5 Mini",
386
+ "released": "2025-08-07",
387
+ "context": 400000,
388
+ "cost": {
389
+ "input": 0.25,
390
+ "output": 2,
391
+ "cacheRead": 0.025
392
+ }
393
+ },
394
+ {
395
+ "id": "gpt-5.4-pro",
396
+ "name": "GPT-5.4 Pro",
397
+ "released": "2026-03-05",
398
+ "context": 1050000,
399
+ "cost": {
400
+ "input": 30,
401
+ "output": 180
402
+ }
403
+ },
404
+ {
405
+ "id": "gpt-5.6-terra",
406
+ "name": "GPT-5.6 Terra",
407
+ "released": "2026-07-09",
408
+ "context": 1050000,
409
+ "cost": {
410
+ "input": 2,
411
+ "output": 12,
412
+ "cacheRead": 0.2,
413
+ "cacheWrite": 2.5
414
+ }
415
+ },
416
+ {
417
+ "id": "gpt-5.2",
418
+ "name": "GPT-5.2",
419
+ "released": "2025-12-11",
420
+ "context": 400000,
421
+ "cost": {
422
+ "input": 1.75,
423
+ "output": 14,
424
+ "cacheRead": 0.175
425
+ }
426
+ },
427
+ {
428
+ "id": "gpt-5",
429
+ "name": "GPT-5",
430
+ "released": "2025-08-07",
431
+ "context": 400000,
432
+ "cost": {
433
+ "input": 1.25,
434
+ "output": 10,
435
+ "cacheRead": 0.125
436
+ }
437
+ },
438
+ {
439
+ "id": "o3",
440
+ "name": "o3",
441
+ "released": "2025-04-16",
442
+ "context": 200000,
443
+ "cost": {
444
+ "input": 2,
445
+ "output": 8,
446
+ "cacheRead": 0.5
447
+ }
448
+ },
449
+ {
450
+ "id": "o3-pro",
451
+ "name": "o3-pro",
452
+ "released": "2025-06-10",
453
+ "context": 200000,
454
+ "cost": {
455
+ "input": 20,
456
+ "output": 80
457
+ }
458
+ },
459
+ {
460
+ "id": "gpt-5.5",
461
+ "name": "GPT-5.5",
462
+ "released": "2026-04-23",
463
+ "context": 1050000,
464
+ "cost": {
465
+ "input": 5,
466
+ "output": 30,
467
+ "cacheRead": 0.5
468
+ }
469
+ },
470
+ {
471
+ "id": "gpt-4o-2024-11-20",
472
+ "name": "GPT-4o (2024-11-20)",
473
+ "released": "2024-11-20",
474
+ "context": 128000,
475
+ "cost": {
476
+ "input": 2.5,
477
+ "output": 10,
478
+ "cacheRead": 1.25
479
+ }
480
+ }
481
+ ],
482
+ "google": [
483
+ {
484
+ "id": "gemma-4-26b-a4b-it",
485
+ "name": "Gemma 4 26B A4B IT",
486
+ "released": "2026-04-02",
487
+ "context": 262144
488
+ },
489
+ {
490
+ "id": "gemini-3.1-pro-preview-customtools",
491
+ "name": "Gemini 3.1 Pro Preview Custom Tools",
492
+ "released": "2026-02-19",
493
+ "context": 1048576,
494
+ "cost": {
495
+ "input": 2,
496
+ "output": 12,
497
+ "cacheRead": 0.2
498
+ }
499
+ },
500
+ {
501
+ "id": "gemini-3.1-pro-preview",
502
+ "name": "Gemini 3.1 Pro Preview",
503
+ "released": "2026-02-19",
504
+ "context": 1048576,
505
+ "cost": {
506
+ "input": 2,
507
+ "output": 12,
508
+ "cacheRead": 0.2
509
+ }
510
+ },
511
+ {
512
+ "id": "gemini-2.5-flash-lite",
513
+ "name": "Gemini 2.5 Flash-Lite",
514
+ "released": "2025-06-17",
515
+ "context": 1048576,
516
+ "cost": {
517
+ "input": 0.1,
518
+ "output": 0.4,
519
+ "cacheRead": 0.01
520
+ }
521
+ },
522
+ {
523
+ "id": "gemini-2.5-computer-use-preview-10-2025",
524
+ "name": "Gemini 2.5 Computer Use Preview 10-2025",
525
+ "released": "2025-10-07",
526
+ "context": 131072,
527
+ "cost": {
528
+ "input": 1.25,
529
+ "output": 10
530
+ }
531
+ },
532
+ {
533
+ "id": "gemini-3.6-flash",
534
+ "name": "Gemini 3.6 Flash",
535
+ "released": "2026-07-21",
536
+ "context": 1048576,
537
+ "cost": {
538
+ "input": 0.75,
539
+ "output": 3.75,
540
+ "cacheRead": 0.075
541
+ }
542
+ },
543
+ {
544
+ "id": "gemini-3.1-flash-lite",
545
+ "name": "Gemini 3.1 Flash Lite",
546
+ "released": "2026-05-07",
547
+ "context": 1048576,
548
+ "cost": {
549
+ "input": 0.25,
550
+ "output": 1.5,
551
+ "cacheRead": 0.025
552
+ }
553
+ },
554
+ {
555
+ "id": "gemini-3.5-flash",
556
+ "name": "Gemini 3.5 Flash",
557
+ "released": "2026-05-19",
558
+ "context": 1048576,
559
+ "cost": {
560
+ "input": 1.5,
561
+ "output": 9,
562
+ "cacheRead": 0.15
563
+ }
564
+ },
565
+ {
566
+ "id": "gemini-3.5-flash-lite",
567
+ "name": "Gemini 3.5 Flash Lite",
568
+ "released": "2026-07-21",
569
+ "context": 1048576,
570
+ "cost": {
571
+ "input": 0.3,
572
+ "output": 2.5,
573
+ "cacheRead": 0.03
574
+ }
575
+ },
576
+ {
577
+ "id": "gemini-flash-lite-latest",
578
+ "name": "Gemini Flash-Lite Latest",
579
+ "released": "2026-07-21",
580
+ "context": 1048576,
581
+ "cost": {
582
+ "input": 0.3,
583
+ "output": 2.5,
584
+ "cacheRead": 0.03
585
+ }
586
+ },
587
+ {
588
+ "id": "gemma-4-31b-it",
589
+ "name": "Gemma 4 31B IT",
590
+ "released": "2026-04-02",
591
+ "context": 262144
592
+ },
593
+ {
594
+ "id": "gemini-3-flash-preview",
595
+ "name": "Gemini 3 Flash Preview",
596
+ "released": "2025-12-17",
597
+ "context": 1048576,
598
+ "cost": {
599
+ "input": 0.5,
600
+ "output": 3,
601
+ "cacheRead": 0.05
602
+ }
603
+ },
604
+ {
605
+ "id": "gemini-3.8-flash",
606
+ "name": "Gemini 3.8 Flash",
607
+ "released": "2026-09-02",
608
+ "context": 1048576,
609
+ "cost": {
610
+ "input": 0.75,
611
+ "output": 3.75,
612
+ "cacheRead": 0.075
613
+ }
614
+ },
615
+ {
616
+ "id": "gemini-3.7-flash",
617
+ "name": "Gemini 3.7 Flash",
618
+ "released": "2026-08-13",
619
+ "context": 1048576,
620
+ "cost": {
621
+ "input": 0.75,
622
+ "output": 3.75,
623
+ "cacheRead": 0.075
624
+ }
625
+ },
626
+ {
627
+ "id": "gemini-2.5-pro",
628
+ "name": "Gemini 2.5 Pro",
629
+ "released": "2025-06-17",
630
+ "context": 1048576,
631
+ "cost": {
632
+ "input": 1.25,
633
+ "output": 10,
634
+ "cacheRead": 0.125
635
+ }
636
+ },
637
+ {
638
+ "id": "gemini-flash-latest",
639
+ "name": "Gemini Flash Latest",
640
+ "released": "2026-08-13",
641
+ "context": 1048576,
642
+ "cost": {
643
+ "input": 0.75,
644
+ "output": 3.75,
645
+ "cacheRead": 0.075
646
+ }
647
+ },
648
+ {
649
+ "id": "gemini-2.5-flash",
650
+ "name": "Gemini 2.5 Flash",
651
+ "released": "2025-06-17",
652
+ "context": 1048576,
653
+ "cost": {
654
+ "input": 0.3,
655
+ "output": 2.5,
656
+ "cacheRead": 0.03
657
+ }
658
+ }
659
+ ],
660
+ "xai": [
661
+ {
662
+ "id": "grok-4.3",
663
+ "name": "Grok 4.3",
664
+ "released": "2026-04-17",
665
+ "context": 1000000,
666
+ "cost": {
667
+ "input": 1.25,
668
+ "output": 2.5,
669
+ "cacheRead": 0.2
670
+ }
671
+ },
672
+ {
673
+ "id": "grok-4.20-0309-reasoning",
674
+ "name": "Grok 4.20 (Reasoning)",
675
+ "released": "2026-03-09",
676
+ "context": 1000000,
677
+ "cost": {
678
+ "input": 1.25,
679
+ "output": 2.5,
680
+ "cacheRead": 0.2
681
+ }
682
+ },
683
+ {
684
+ "id": "grok-4.5",
685
+ "name": "Grok 4.5",
686
+ "released": "2026-07-08",
687
+ "context": 500000,
688
+ "cost": {
689
+ "input": 2,
690
+ "output": 6,
691
+ "cacheRead": 0.3
692
+ }
693
+ },
694
+ {
695
+ "id": "grok-build-0.1",
696
+ "name": "Grok Build 0.1",
697
+ "released": "2026-04-16",
698
+ "context": 256000,
699
+ "cost": {
700
+ "input": 1,
701
+ "output": 2,
702
+ "cacheRead": 0.2
703
+ }
704
+ },
705
+ {
706
+ "id": "grok-4.6",
707
+ "name": "Grok 4.6",
708
+ "released": "2026-08-12",
709
+ "context": 500000,
710
+ "cost": {
711
+ "input": 2,
712
+ "output": 6,
713
+ "cacheRead": 0.5
714
+ }
715
+ },
716
+ {
717
+ "id": "grok-4.20-0309-non-reasoning",
718
+ "name": "Grok 4.20 (Non-Reasoning)",
719
+ "released": "2026-03-09",
720
+ "context": 1000000,
721
+ "cost": {
722
+ "input": 1.25,
723
+ "output": 2.5,
724
+ "cacheRead": 0.2
725
+ }
726
+ }
727
+ ],
728
+ "mistral": [
729
+ {
730
+ "id": "pixtral-12b",
731
+ "name": "Pixtral 12B",
732
+ "released": "2024-09-01",
733
+ "context": 128000,
734
+ "cost": {
735
+ "input": 0.15,
736
+ "output": 0.15
737
+ }
738
+ },
739
+ {
740
+ "id": "mistral-small-2506",
741
+ "name": "Mistral Small 3.2",
742
+ "released": "2025-06-20",
743
+ "context": 128000,
744
+ "cost": {
745
+ "input": 0.1,
746
+ "output": 0.3
747
+ }
748
+ },
749
+ {
750
+ "id": "magistral-small",
751
+ "name": "Magistral Small",
752
+ "released": "2025-03-17",
753
+ "context": 128000,
754
+ "cost": {
755
+ "input": 0.5,
756
+ "output": 1.5
757
+ }
758
+ },
759
+ {
760
+ "id": "magistral-medium-latest",
761
+ "name": "Magistral Medium (latest)",
762
+ "released": "2025-03-17",
763
+ "context": 128000,
764
+ "cost": {
765
+ "input": 2,
766
+ "output": 5
767
+ }
768
+ },
769
+ {
770
+ "id": "zai-glm-5-3",
771
+ "name": "GLM-5.3",
772
+ "released": "2026-08-14",
773
+ "context": 1000000,
774
+ "cost": {
775
+ "input": 1.4,
776
+ "output": 4.4,
777
+ "cacheRead": 0.14
778
+ }
779
+ },
780
+ {
781
+ "id": "open-mixtral-8x22b",
782
+ "name": "Mixtral 8x22B",
783
+ "released": "2024-04-17",
784
+ "context": 64000,
785
+ "cost": {
786
+ "input": 2,
787
+ "output": 6
788
+ }
789
+ },
790
+ {
791
+ "id": "open-mixtral-8x7b",
792
+ "name": "Mixtral 8x7B",
793
+ "released": "2023-12-11",
794
+ "context": 32000,
795
+ "cost": {
796
+ "input": 0.7,
797
+ "output": 0.7
798
+ }
799
+ },
800
+ {
801
+ "id": "mistral-medium-latest",
802
+ "name": "Mistral Medium (latest)",
803
+ "released": "2026-04-29",
804
+ "context": 262144,
805
+ "cost": {
806
+ "input": 1.5,
807
+ "output": 7.5
808
+ }
809
+ },
810
+ {
811
+ "id": "mistral-medium-2604",
812
+ "name": "Mistral Medium 3.5",
813
+ "released": "2026-04-29",
814
+ "context": 262144,
815
+ "cost": {
816
+ "input": 1.5,
817
+ "output": 7.5
818
+ }
819
+ },
820
+ {
821
+ "id": "mistral-large-2512",
822
+ "name": "Mistral Large 3",
823
+ "released": "2024-11-01",
824
+ "context": 262144,
825
+ "cost": {
826
+ "input": 0.5,
827
+ "output": 1.5
828
+ }
829
+ },
830
+ {
831
+ "id": "voxtral-small-latest",
832
+ "name": "Voxtral Small (latest)",
833
+ "released": "2025-07-15",
834
+ "context": 32000,
835
+ "cost": {
836
+ "input": 0.1,
837
+ "output": 0.3
838
+ }
839
+ },
840
+ {
841
+ "id": "ministral-8b-latest",
842
+ "name": "Ministral 8B (latest)",
843
+ "released": "2024-10-01",
844
+ "context": 128000,
845
+ "cost": {
846
+ "input": 0.1,
847
+ "output": 0.1
848
+ }
849
+ },
850
+ {
851
+ "id": "mistral-nemo",
852
+ "name": "Mistral Nemo",
853
+ "released": "2024-07-01",
854
+ "context": 128000,
855
+ "cost": {
856
+ "input": 0.15,
857
+ "output": 0.15
858
+ }
859
+ },
860
+ {
861
+ "id": "mistral-small-latest",
862
+ "name": "Mistral Small (latest)",
863
+ "released": "2026-03-16",
864
+ "context": 256000,
865
+ "cost": {
866
+ "input": 0.15,
867
+ "output": 0.6
868
+ }
869
+ },
870
+ {
871
+ "id": "mistral-large-latest",
872
+ "name": "Mistral Large (latest)",
873
+ "released": "2024-11-01",
874
+ "context": 262144,
875
+ "cost": {
876
+ "input": 0.5,
877
+ "output": 1.5
878
+ }
879
+ },
880
+ {
881
+ "id": "mistral-large-2411",
882
+ "name": "Mistral Large 2.1",
883
+ "released": "2024-11-18",
884
+ "context": 131072,
885
+ "cost": {
886
+ "input": 2,
887
+ "output": 6
888
+ }
889
+ },
890
+ {
891
+ "id": "zai-glm-5-2",
892
+ "name": "GLM-5.2",
893
+ "released": "2026-06-13",
894
+ "context": 1000000,
895
+ "cost": {
896
+ "input": 1.4,
897
+ "output": 4.4,
898
+ "cacheRead": 0.14
899
+ }
900
+ },
901
+ {
902
+ "id": "mistral-small-2603",
903
+ "name": "Mistral Small 4",
904
+ "released": "2026-03-16",
905
+ "context": 256000,
906
+ "cost": {
907
+ "input": 0.15,
908
+ "output": 0.6
909
+ }
910
+ },
911
+ {
912
+ "id": "mistral-medium-2505",
913
+ "name": "Mistral Medium 3",
914
+ "released": "2025-05-07",
915
+ "context": 131072,
916
+ "cost": {
917
+ "input": 0.4,
918
+ "output": 2
919
+ }
920
+ },
921
+ {
922
+ "id": "codestral-latest",
923
+ "name": "Codestral (latest)",
924
+ "released": "2024-05-29",
925
+ "context": 256000,
926
+ "cost": {
927
+ "input": 0.3,
928
+ "output": 0.9
929
+ }
930
+ },
931
+ {
932
+ "id": "ministral-3b-latest",
933
+ "name": "Ministral 3B (latest)",
934
+ "released": "2024-10-01",
935
+ "context": 128000,
936
+ "cost": {
937
+ "input": 0.04,
938
+ "output": 0.04
939
+ }
940
+ },
941
+ {
942
+ "id": "mistral-medium-2508",
943
+ "name": "Mistral Medium 3.1",
944
+ "released": "2025-08-12",
945
+ "context": 262144,
946
+ "cost": {
947
+ "input": 0.4,
948
+ "output": 2
949
+ }
950
+ },
951
+ {
952
+ "id": "pixtral-large-latest",
953
+ "name": "Pixtral Large (latest)",
954
+ "released": "2024-11-01",
955
+ "context": 128000,
956
+ "cost": {
957
+ "input": 2,
958
+ "output": 6
959
+ }
960
+ }
961
+ ],
962
+ "groq": [
963
+ {
964
+ "id": "llama-3.1-8b-instant",
965
+ "name": "Llama 3.1 8B",
966
+ "released": "2024-07-23",
967
+ "context": 131072,
968
+ "cost": {
969
+ "input": 0.05,
970
+ "output": 0.08
971
+ }
972
+ },
973
+ {
974
+ "id": "llama-3.3-70b-versatile",
975
+ "name": "Llama 3.3 70B",
976
+ "released": "2024-12-06",
977
+ "context": 131072,
978
+ "cost": {
979
+ "input": 0.59,
980
+ "output": 0.79
981
+ }
982
+ },
983
+ {
984
+ "id": "qwen/qwen3.8-27b",
985
+ "name": "Qwen3.8 27B",
986
+ "released": "2026-08-14",
987
+ "context": 131042,
988
+ "cost": {
989
+ "input": 0.8,
990
+ "output": 4
991
+ }
992
+ },
993
+ {
994
+ "id": "qwen/qwen3.6-27b",
995
+ "name": "Qwen3.6 27B",
996
+ "released": "2026-04-22",
997
+ "context": 131072,
998
+ "cost": {
999
+ "input": 0.6,
1000
+ "output": 3,
1001
+ "cacheRead": 0.3
1002
+ }
1003
+ },
1004
+ {
1005
+ "id": "openai/gpt-oss-20b",
1006
+ "name": "GPT OSS 20B",
1007
+ "released": "2025-08-05",
1008
+ "context": 131072,
1009
+ "cost": {
1010
+ "input": 0.075,
1011
+ "output": 0.3,
1012
+ "cacheRead": 0.0375
1013
+ }
1014
+ },
1015
+ {
1016
+ "id": "openai/gpt-oss-safeguard-20b",
1017
+ "name": "Safety GPT OSS 20B",
1018
+ "released": "2025-10-29",
1019
+ "context": 131072,
1020
+ "cost": {
1021
+ "input": 0.075,
1022
+ "output": 0.3
1023
+ }
1024
+ },
1025
+ {
1026
+ "id": "openai/gpt-oss-120b",
1027
+ "name": "GPT OSS 120B",
1028
+ "released": "2025-08-05",
1029
+ "context": 131072,
1030
+ "cost": {
1031
+ "input": 0.15,
1032
+ "output": 0.6,
1033
+ "cacheRead": 0.075
1034
+ }
1035
+ }
1036
+ ]
1037
+ };