@just-every/ensemble 0.2.161 → 0.2.162

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.
@@ -4,8 +4,12 @@ export const MODEL_CLASSES = {
4
4
  models: [
5
5
  'gpt-5-mini',
6
6
  'gemini-2.5-flash-preview-05-20',
7
- 'claude-3-5-haiku-latest',
7
+ 'gemini-2.5-flash',
8
+ 'gemini-3-pro',
9
+ 'claude-sonnet-4-5-20250514',
8
10
  'grok-3-mini',
11
+ 'grok-4-1-fast-non-reasoning',
12
+ 'grok-4-fast-non-reasoning',
9
13
  ],
10
14
  random: true,
11
15
  },
@@ -13,7 +17,8 @@ export const MODEL_CLASSES = {
13
17
  models: [
14
18
  'gpt-5-nano',
15
19
  'gemini-2.5-flash-lite-preview-06-17',
16
- 'claude-3-5-haiku-latest',
20
+ 'gemini-2.5-flash-lite',
21
+ 'claude-haiku-4-5-20250514',
17
22
  'grok-3-mini',
18
23
  'mistral/ministral-8b',
19
24
  'openai/gpt-oss-20b',
@@ -23,9 +28,14 @@ export const MODEL_CLASSES = {
23
28
  reasoning: {
24
29
  models: [
25
30
  'gpt-5-max',
31
+ 'gpt-5.1',
26
32
  'gemini-2.5-pro-preview-06-05',
27
- 'claude-opus-4-1-20250805-max',
33
+ 'gemini-2.5-pro',
34
+ 'gemini-3-pro',
35
+ 'claude-opus-4-1-20250805',
28
36
  'grok-4',
37
+ 'grok-4-1-fast-reasoning',
38
+ 'grok-4-fast-reasoning',
29
39
  'mistralai/magistral-medium-2506:thinking',
30
40
  'qwen3-235b-a22b-thinking-2507',
31
41
  ],
@@ -34,6 +44,7 @@ export const MODEL_CLASSES = {
34
44
  reasoning_mini: {
35
45
  models: [
36
46
  'gemini-2.5-flash-preview-05-20-medium',
47
+ 'gemini-2.5-flash',
37
48
  'grok-3-mini',
38
49
  'o3-low',
39
50
  'openai/gpt-oss-120b',
@@ -46,7 +57,7 @@ export const MODEL_CLASSES = {
46
57
  'gemini-2.5-pro-preview-06-05',
47
58
  'gemini-2.5-flash-preview-05-20-medium',
48
59
  'o3-medium',
49
- 'claude-sonnet-4-20250514-medium',
60
+ 'claude-sonnet-4-5-20250514',
50
61
  ],
51
62
  random: true,
52
63
  },
@@ -56,7 +67,7 @@ export const MODEL_CLASSES = {
56
67
  'gpt-5-mini',
57
68
  'gemini-2.5-pro-preview-06-05',
58
69
  'gemini-2.5-flash-preview-05-20-high',
59
- 'claude-sonnet-4-20250514-medium',
70
+ 'claude-sonnet-4-5-20250514',
60
71
  'grok-3-mini',
61
72
  ],
62
73
  random: true,
@@ -64,12 +75,15 @@ export const MODEL_CLASSES = {
64
75
  code: {
65
76
  models: [
66
77
  'gpt-5',
78
+ 'gpt-5.1-codex',
79
+ 'gpt-5.1-codex-mini',
67
80
  'o3-high',
68
81
  'gemini-2.5-pro-preview-06-05-medium',
69
82
  'gemini-2.5-flash-preview-05-20-max',
70
- 'claude-opus-4-1-20250805-medium',
71
- 'claude-sonnet-4-20250514-max',
83
+ 'claude-opus-4-1-20250805',
84
+ 'claude-sonnet-4-5-20250514',
72
85
  'grok-4-medium',
86
+ 'grok-4-1-fast-reasoning',
73
87
  'qwen3-coder',
74
88
  ],
75
89
  random: true,
@@ -93,8 +107,9 @@ export const MODEL_CLASSES = {
93
107
  'gpt-5',
94
108
  'o3-high',
95
109
  'gemini-2.5-pro-preview-06-05',
96
- 'claude-opus-4-1-20250805-low',
110
+ 'claude-opus-4-1-20250805',
97
111
  'grok-4',
112
+ 'grok-2-vision',
98
113
  ],
99
114
  random: true,
100
115
  },
@@ -104,7 +119,7 @@ export const MODEL_CLASSES = {
104
119
  'o3-low',
105
120
  'gemini-2.5-flash-lite-preview-06-17',
106
121
  'gemini-2.5-flash-preview-05-20',
107
- 'claude-sonnet-4-20250514-low',
122
+ 'claude-sonnet-4-5-20250514',
108
123
  ],
109
124
  random: true,
110
125
  },
@@ -123,9 +138,13 @@ export const MODEL_CLASSES = {
123
138
  'gpt-4.1-nano',
124
139
  'gpt-4.1-mini',
125
140
  'gemini-2.5-pro-preview-06-05',
141
+ 'gemini-2.5-pro',
142
+ 'gemini-3-pro',
126
143
  'gemini-2.5-flash-preview-05-20-medium',
127
144
  'gemini-2.5-flash-preview-05-20-low',
145
+ 'gemini-2.5-flash',
128
146
  'gemini-2.5-flash-lite-preview-06-17',
147
+ 'gemini-2.5-flash-lite',
129
148
  ],
130
149
  random: true,
131
150
  description: 'Models with very large context windows (near 1M tokens) for processing long documents',
@@ -134,6 +153,8 @@ export const MODEL_CLASSES = {
134
153
  models: [
135
154
  'gpt-image-1',
136
155
  'gemini-2.5-flash-image-preview',
156
+ 'gemini-2.5-flash-image',
157
+ 'gemini-3-pro-image-preview',
137
158
  'seedream-4',
138
159
  'luma-photon-1',
139
160
  'luma-photon-flash-1',
@@ -169,6 +190,7 @@ export const MODEL_CLASSES = {
169
190
  'eleven_flash_v2_5',
170
191
  'gemini-2.5-flash-preview-tts',
171
192
  'gemini-2.5-pro-preview-tts',
193
+ 'gemini-2.5-flash-native-audio-preview',
172
194
  ],
173
195
  description: 'Text-to-Speech models for voice generation',
174
196
  },
@@ -440,15 +462,152 @@ export const MODEL_REGISTRY = [
440
462
  description: 'Ministral 8B is a state-of-the-art language model optimized for on-device and edge computing. Designed for efficiency in knowledge-intensive tasks, commonsense reasoning, and function-calling.',
441
463
  },
442
464
  {
443
- id: 'grok-3',
444
- aliases: ['grok-3-2025-02-11'],
465
+ id: 'grok-4-1-fast-reasoning',
466
+ aliases: ['grok-4.1-fast-reasoning'],
467
+ provider: 'xai',
468
+ cost: {
469
+ input_per_million: {
470
+ threshold_tokens: 128_000,
471
+ price_below_threshold_per_million: 0.2,
472
+ price_above_threshold_per_million: 0.5,
473
+ },
474
+ output_per_million: {
475
+ threshold_tokens: 128_000,
476
+ price_below_threshold_per_million: 0.5,
477
+ price_above_threshold_per_million: 1.0,
478
+ },
479
+ cached_input_per_million: 0.05,
480
+ },
481
+ features: {
482
+ context_length: 2_000_000,
483
+ input_modality: ['text', 'image'],
484
+ output_modality: ['text'],
485
+ tool_use: true,
486
+ streaming: true,
487
+ json_output: true,
488
+ },
489
+ class: 'reasoning',
490
+ score: 88,
491
+ scores: {
492
+ monologue: 90,
493
+ code: 85,
494
+ reasoning: 88,
495
+ },
496
+ description: 'Grok 4.1 Fast with extended reasoning. 2M context, tiered pricing at 128k threshold.',
497
+ },
498
+ {
499
+ id: 'grok-4-1-fast-non-reasoning',
500
+ aliases: ['grok-4.1-fast-non-reasoning'],
501
+ provider: 'xai',
502
+ cost: {
503
+ input_per_million: {
504
+ threshold_tokens: 128_000,
505
+ price_below_threshold_per_million: 0.2,
506
+ price_above_threshold_per_million: 0.5,
507
+ },
508
+ output_per_million: {
509
+ threshold_tokens: 128_000,
510
+ price_below_threshold_per_million: 0.5,
511
+ price_above_threshold_per_million: 1.0,
512
+ },
513
+ cached_input_per_million: 0.05,
514
+ },
515
+ features: {
516
+ context_length: 2_000_000,
517
+ input_modality: ['text', 'image'],
518
+ output_modality: ['text'],
519
+ tool_use: true,
520
+ streaming: true,
521
+ json_output: true,
522
+ },
523
+ class: 'standard',
524
+ score: 85,
525
+ scores: {
526
+ monologue: 87,
527
+ code: 82,
528
+ reasoning: 80,
529
+ },
530
+ description: 'Grok 4.1 Fast without reasoning. 2M context, tiered pricing at 128k threshold.',
531
+ },
532
+ {
533
+ id: 'grok-4',
534
+ aliases: ['grok-4-2025-09-01'],
445
535
  provider: 'xai',
446
536
  cost: {
447
537
  input_per_million: 3.0,
448
538
  output_per_million: 15.0,
539
+ cached_input_per_million: 0.75,
449
540
  },
450
541
  features: {
451
- context_length: 131_072,
542
+ context_length: 256_000,
543
+ input_modality: ['text', 'image'],
544
+ output_modality: ['text'],
545
+ tool_use: true,
546
+ streaming: true,
547
+ json_output: true,
548
+ },
549
+ class: 'reasoning',
550
+ score: 90,
551
+ scores: {
552
+ monologue: 92,
553
+ code: 88,
554
+ reasoning: 85,
555
+ },
556
+ description: 'Grok-4 premium model with 256k context and vision capabilities.',
557
+ },
558
+ {
559
+ id: 'grok-4-fast-reasoning',
560
+ aliases: ['grok-4-fast-reasoning-2025-09-01'],
561
+ provider: 'xai',
562
+ cost: {
563
+ input_per_million: {
564
+ threshold_tokens: 128_000,
565
+ price_below_threshold_per_million: 0.2,
566
+ price_above_threshold_per_million: 0.5,
567
+ },
568
+ output_per_million: {
569
+ threshold_tokens: 128_000,
570
+ price_below_threshold_per_million: 0.5,
571
+ price_above_threshold_per_million: 1.0,
572
+ },
573
+ cached_input_per_million: 0.05,
574
+ },
575
+ features: {
576
+ context_length: 2_000_000,
577
+ input_modality: ['text', 'image'],
578
+ output_modality: ['text'],
579
+ tool_use: true,
580
+ streaming: true,
581
+ json_output: true,
582
+ },
583
+ class: 'reasoning',
584
+ score: 87,
585
+ scores: {
586
+ monologue: 89,
587
+ code: 84,
588
+ reasoning: 86,
589
+ },
590
+ description: 'Grok-4 Fast with reasoning (Sep 2025). 2M context, tiered pricing at 128k threshold.',
591
+ },
592
+ {
593
+ id: 'grok-4-fast-non-reasoning',
594
+ aliases: ['grok-4-fast-non-reasoning-2025-09-01'],
595
+ provider: 'xai',
596
+ cost: {
597
+ input_per_million: {
598
+ threshold_tokens: 128_000,
599
+ price_below_threshold_per_million: 0.2,
600
+ price_above_threshold_per_million: 0.5,
601
+ },
602
+ output_per_million: {
603
+ threshold_tokens: 128_000,
604
+ price_below_threshold_per_million: 0.5,
605
+ price_above_threshold_per_million: 1.0,
606
+ },
607
+ cached_input_per_million: 0.05,
608
+ },
609
+ features: {
610
+ context_length: 2_000_000,
452
611
  input_modality: ['text', 'image'],
453
612
  output_modality: ['text'],
454
613
  tool_use: true,
@@ -456,21 +615,21 @@ export const MODEL_REGISTRY = [
456
615
  json_output: true,
457
616
  },
458
617
  class: 'standard',
459
- score: 78,
618
+ score: 84,
460
619
  scores: {
461
- monologue: 80,
462
- code: 70,
463
- reasoning: 65,
620
+ monologue: 86,
621
+ code: 81,
622
+ reasoning: 79,
464
623
  },
465
- description: 'Flagship Grok-3 model for complex reasoning and generation',
624
+ description: 'Grok-4 Fast without reasoning (Sep 2025). 2M context, tiered pricing at 128k threshold.',
466
625
  },
467
626
  {
468
627
  id: 'grok-3',
469
- aliases: ['grok-3-2025-04-11'],
628
+ aliases: ['grok-3-2025-02-11'],
470
629
  provider: 'xai',
471
630
  cost: {
472
- input_per_million: 5.0,
473
- output_per_million: 25.0,
631
+ input_per_million: 3.0,
632
+ output_per_million: 15.0,
474
633
  },
475
634
  features: {
476
635
  context_length: 131_072,
@@ -487,7 +646,7 @@ export const MODEL_REGISTRY = [
487
646
  code: 70,
488
647
  reasoning: 65,
489
648
  },
490
- description: 'Same Grok-3 weights on premium infra for lower latency',
649
+ description: 'Grok-3 model with 131k context.',
491
650
  },
492
651
  {
493
652
  id: 'grok-3-mini',
@@ -512,11 +671,11 @@ export const MODEL_REGISTRY = [
512
671
  code: 55,
513
672
  reasoning: 50,
514
673
  },
515
- description: 'Lightweight Grok-3 Mini—budget model for logic tasks',
674
+ description: 'Grok-3 Mini—budget model with 131k context.',
516
675
  },
517
676
  {
518
- id: 'grok-3-mini',
519
- aliases: ['grok-3-mini-2025-04-11'],
677
+ id: 'grok-3-mini-accelerated',
678
+ aliases: ['grok-3-mini-accelerated-2025-04-11'],
520
679
  provider: 'xai',
521
680
  cost: {
522
681
  input_per_million: 0.6,
@@ -537,30 +696,57 @@ export const MODEL_REGISTRY = [
537
696
  code: 55,
538
697
  reasoning: 50,
539
698
  },
540
- description: 'Grok-3 Mini on accelerated hardware for latency-critical use',
699
+ description: 'Grok-3 Mini on accelerated hardware for lower latency.',
541
700
  },
542
701
  {
543
- id: 'grok-4',
544
- aliases: ['grok-4-2025-07-09'],
702
+ id: 'grok-2',
703
+ aliases: ['grok-2-text'],
545
704
  provider: 'xai',
546
705
  cost: {
547
- input_per_million: 10.0,
548
- output_per_million: 30.0,
706
+ input_per_million: 2.0,
707
+ output_per_million: 10.0,
549
708
  },
550
709
  features: {
551
- context_length: 131072,
710
+ context_length: 128_000,
711
+ input_modality: ['text'],
712
+ output_modality: ['text'],
713
+ tool_use: true,
714
+ streaming: true,
715
+ json_output: true,
716
+ },
717
+ class: 'standard',
718
+ score: 70,
719
+ scores: {
720
+ monologue: 72,
721
+ code: 65,
722
+ reasoning: 60,
723
+ },
724
+ description: 'Legacy Grok-2 text-only model.',
725
+ },
726
+ {
727
+ id: 'grok-2-vision',
728
+ aliases: ['grok-2-vision'],
729
+ provider: 'xai',
730
+ cost: {
731
+ input_per_million: 2.0,
732
+ output_per_million: 10.0,
733
+ },
734
+ features: {
735
+ context_length: 128_000,
552
736
  input_modality: ['text', 'image'],
553
737
  output_modality: ['text'],
554
738
  tool_use: true,
555
739
  streaming: true,
556
740
  json_output: true,
557
741
  },
742
+ class: 'vision',
743
+ score: 70,
558
744
  scores: {
559
- monologue: 85,
560
- code: 75,
561
- reasoning: 70,
745
+ monologue: 72,
746
+ code: 65,
747
+ reasoning: 60,
562
748
  },
563
- description: 'Most advanced Grok model with vision capabilities and complex reasoning',
749
+ description: 'Legacy Grok-2 model with vision capabilities.',
564
750
  },
565
751
  {
566
752
  id: 'gpt-4.1',
@@ -754,6 +940,89 @@ export const MODEL_REGISTRY = [
754
940
  },
755
941
  description: 'GPT-5 model used in ChatGPT',
756
942
  },
943
+ {
944
+ id: 'gpt-5.1',
945
+ aliases: ['gpt-5.1-chat-latest'],
946
+ provider: 'openai',
947
+ cost: {
948
+ input_per_million: 1.25,
949
+ output_per_million: 10.0,
950
+ cached_input_per_million: 0.125,
951
+ },
952
+ features: {
953
+ context_length: 256000,
954
+ input_modality: ['text', 'image', 'audio', 'video'],
955
+ output_modality: ['text', 'image', 'audio'],
956
+ tool_use: true,
957
+ streaming: true,
958
+ json_output: true,
959
+ },
960
+ class: 'reasoning',
961
+ score: 96,
962
+ description: 'GPT-5.1 flagship multimodal model (Instant/Thinking modes, pricing TBD).',
963
+ },
964
+ {
965
+ id: 'gpt-5.1-codex',
966
+ provider: 'openai',
967
+ cost: {
968
+ input_per_million: 1.25,
969
+ output_per_million: 10.0,
970
+ cached_input_per_million: 0.125,
971
+ },
972
+ features: {
973
+ context_length: 400000,
974
+ input_modality: ['text'],
975
+ output_modality: ['text'],
976
+ tool_use: true,
977
+ streaming: true,
978
+ json_output: true,
979
+ max_output_tokens: 128000,
980
+ },
981
+ class: 'code',
982
+ score: 92,
983
+ description: 'GPT-5.1 Codex — optimized for agentic coding tasks (400k/128k).',
984
+ },
985
+ {
986
+ id: 'gpt-5.1-codex-mini',
987
+ provider: 'openai',
988
+ cost: {
989
+ input_per_million: 0.25,
990
+ output_per_million: 2.0,
991
+ cached_input_per_million: 0.025,
992
+ },
993
+ features: {
994
+ context_length: 400000,
995
+ input_modality: ['text'],
996
+ output_modality: ['text'],
997
+ tool_use: true,
998
+ streaming: true,
999
+ json_output: true,
1000
+ max_output_tokens: 128000,
1001
+ },
1002
+ class: 'code',
1003
+ score: 86,
1004
+ description: 'GPT-5.1 Codex Mini — lightweight coding model with 400k context.',
1005
+ },
1006
+ {
1007
+ id: 'gpt-5.1-codex-max',
1008
+ provider: 'openai',
1009
+ cost: {
1010
+ input_per_million: 5.0,
1011
+ output_per_million: 15.0,
1012
+ },
1013
+ features: {
1014
+ context_length: 10_000_000,
1015
+ input_modality: ['text'],
1016
+ output_modality: ['text'],
1017
+ tool_use: true,
1018
+ streaming: true,
1019
+ json_output: true,
1020
+ max_output_tokens: 128000,
1021
+ },
1022
+ class: 'code',
1023
+ score: 95,
1024
+ description: 'GPT-5.1 Codex Max — multi-million context (IDE-only for now), pricing TBD.',
1025
+ },
757
1026
  {
758
1027
  id: 'gpt-4o',
759
1028
  aliases: ['gpt-4o-2024-08-06'],
@@ -983,8 +1252,8 @@ export const MODEL_REGISTRY = [
983
1252
  description: 'Model that can understand and control computer interfaces',
984
1253
  },
985
1254
  {
986
- id: 'claude-3-7-sonnet-latest',
987
- aliases: ['claude-3-7-sonnet'],
1255
+ id: 'claude-sonnet-4-5-20250514',
1256
+ aliases: ['claude-sonnet-4-5', 'claude-sonnet-4.5', 'claude-sonnet-latest'],
988
1257
  provider: 'anthropic',
989
1258
  cost: {
990
1259
  input_per_million: 3.0,
@@ -998,25 +1267,84 @@ export const MODEL_REGISTRY = [
998
1267
  tool_use: true,
999
1268
  streaming: true,
1000
1269
  json_output: true,
1270
+ reasoning_output: true,
1001
1271
  max_output_tokens: 64000,
1002
1272
  },
1003
1273
  class: 'reasoning',
1004
- score: 85,
1274
+ score: 88,
1005
1275
  scores: {
1006
- monologue: 83,
1007
- code: 77,
1008
- reasoning: 69,
1276
+ monologue: 86,
1277
+ code: 85,
1278
+ reasoning: 84,
1009
1279
  },
1010
- description: 'Latest Claude model with strong reasoning capabilities (extended thinking internal)',
1280
+ description: 'Claude Sonnet 4.5 - Latest general-purpose model with strong reasoning and text/image support',
1011
1281
  },
1012
1282
  {
1013
- id: 'claude-3-5-haiku-latest',
1014
- aliases: ['claude-3-5-haiku'],
1283
+ id: 'claude-sonnet-4-5-20250929',
1284
+ aliases: ['claude-sonnet-4-5-sep-2025', 'claude-sonnet-4.5-2025-09-29'],
1015
1285
  provider: 'anthropic',
1016
1286
  cost: {
1017
- input_per_million: 0.8,
1018
- output_per_million: 4.0,
1019
- cached_input_per_million: 0.08,
1287
+ input_per_million: {
1288
+ threshold_tokens: 200000,
1289
+ price_below_threshold_per_million: 3.0,
1290
+ price_above_threshold_per_million: 6.0,
1291
+ },
1292
+ output_per_million: {
1293
+ threshold_tokens: 200000,
1294
+ price_below_threshold_per_million: 15.0,
1295
+ price_above_threshold_per_million: 22.5,
1296
+ },
1297
+ cached_input_per_million: {
1298
+ threshold_tokens: 200000,
1299
+ price_below_threshold_per_million: 0.3,
1300
+ price_above_threshold_per_million: 0.6,
1301
+ },
1302
+ },
1303
+ features: {
1304
+ context_length: 200000,
1305
+ input_modality: ['text', 'image'],
1306
+ output_modality: ['text'],
1307
+ tool_use: true,
1308
+ streaming: true,
1309
+ json_output: true,
1310
+ reasoning_output: true,
1311
+ max_output_tokens: 64000,
1312
+ },
1313
+ class: 'reasoning',
1314
+ score: 88,
1315
+ description: 'Claude Sonnet 4.5 (Sep 2025 refresh) with tiered pricing at 200k tokens and vision support.',
1316
+ },
1317
+ {
1318
+ id: 'claude-sonnet-4-5-20250514-long-context',
1319
+ aliases: ['claude-sonnet-4-5-long', 'claude-sonnet-4.5-long'],
1320
+ provider: 'anthropic',
1321
+ cost: {
1322
+ input_per_million: 6.0,
1323
+ output_per_million: 22.5,
1324
+ cached_input_per_million: 0.6,
1325
+ },
1326
+ features: {
1327
+ context_length: 1_000_000,
1328
+ input_modality: ['text', 'image'],
1329
+ output_modality: ['text'],
1330
+ tool_use: true,
1331
+ streaming: true,
1332
+ json_output: true,
1333
+ reasoning_output: true,
1334
+ max_output_tokens: 64000,
1335
+ },
1336
+ class: 'reasoning',
1337
+ score: 88,
1338
+ description: 'Claude Sonnet 4.5 with 1M token context window - for long-context processing',
1339
+ },
1340
+ {
1341
+ id: 'claude-haiku-4-5-20250514',
1342
+ aliases: ['claude-haiku-4-5', 'claude-haiku-4.5', 'claude-haiku-latest'],
1343
+ provider: 'anthropic',
1344
+ cost: {
1345
+ input_per_million: 1.0,
1346
+ output_per_million: 5.0,
1347
+ cached_input_per_million: 0.1,
1020
1348
  },
1021
1349
  features: {
1022
1350
  context_length: 200000,
@@ -1028,21 +1356,22 @@ export const MODEL_REGISTRY = [
1028
1356
  max_output_tokens: 8192,
1029
1357
  },
1030
1358
  class: 'mini',
1031
- score: 70,
1359
+ score: 74,
1032
1360
  scores: {
1033
- monologue: 66,
1034
- code: 63,
1035
- reasoning: 55,
1361
+ monologue: 72,
1362
+ code: 71,
1363
+ reasoning: 70,
1036
1364
  },
1037
- description: 'Fast, cost-effective Claude model',
1365
+ description: 'Claude Haiku 4.5 - Fast, cost-effective model with text and image support',
1038
1366
  },
1039
1367
  {
1040
- id: 'claude-cli',
1368
+ id: 'claude-haiku-4-5-20251001',
1369
+ aliases: ['claude-haiku-4-5-oct-2025', 'claude-haiku-4.5-2025-10-01'],
1041
1370
  provider: 'anthropic',
1042
1371
  cost: {
1043
- input_per_million: 3.0,
1044
- output_per_million: 15.0,
1045
- cached_input_per_million: 0.3,
1372
+ input_per_million: 1.0,
1373
+ output_per_million: 5.0,
1374
+ cached_input_per_million: 0.1,
1046
1375
  },
1047
1376
  features: {
1048
1377
  context_length: 200000,
@@ -1051,18 +1380,19 @@ export const MODEL_REGISTRY = [
1051
1380
  tool_use: true,
1052
1381
  streaming: true,
1053
1382
  json_output: true,
1383
+ max_output_tokens: 8192,
1054
1384
  },
1055
- class: 'reasoning',
1056
- description: 'Claude accessed via CLI (likely uses latest Sonnet or Haiku model)',
1385
+ class: 'mini',
1386
+ score: 74,
1387
+ description: 'Claude Haiku 4.5 (Oct 2025 refresh) fast tier with vision support.',
1057
1388
  },
1058
1389
  {
1059
- id: 'claude-opus-4-1-20250805',
1060
- aliases: ['claude-opus-4', 'claude-opus-4-1', 'claude-4-opus', 'claude-opus-4-20250514'],
1390
+ id: 'claude-cli',
1061
1391
  provider: 'anthropic',
1062
1392
  cost: {
1063
- input_per_million: 15.0,
1064
- output_per_million: 75.0,
1065
- cached_input_per_million: 1.5,
1393
+ input_per_million: 3.0,
1394
+ output_per_million: 15.0,
1395
+ cached_input_per_million: 0.3,
1066
1396
  },
1067
1397
  features: {
1068
1398
  context_length: 200000,
@@ -1071,21 +1401,18 @@ export const MODEL_REGISTRY = [
1071
1401
  tool_use: true,
1072
1402
  streaming: true,
1073
1403
  json_output: true,
1074
- max_output_tokens: 32000,
1075
- reasoning_output: true,
1076
1404
  },
1077
1405
  class: 'reasoning',
1078
- score: 95,
1079
- description: 'Claude Opus 4 - Highest level of intelligence and capability with extended thinking',
1406
+ description: 'Claude accessed via CLI (likely uses latest Sonnet or Haiku model)',
1080
1407
  },
1081
1408
  {
1082
- id: 'claude-sonnet-4-20250514',
1083
- aliases: ['claude-sonnet-4', 'claude-4-sonnet'],
1409
+ id: 'claude-opus-4-1-20250805',
1410
+ aliases: ['claude-opus-4-1', 'claude-opus-4.1', 'claude-4-opus', 'claude-opus'],
1084
1411
  provider: 'anthropic',
1085
1412
  cost: {
1086
- input_per_million: 3.0,
1087
- output_per_million: 15.0,
1088
- cached_input_per_million: 0.3,
1413
+ input_per_million: 15.0,
1414
+ output_per_million: 75.0,
1415
+ cached_input_per_million: 1.5,
1089
1416
  },
1090
1417
  features: {
1091
1418
  context_length: 200000,
@@ -1094,28 +1421,26 @@ export const MODEL_REGISTRY = [
1094
1421
  tool_use: true,
1095
1422
  streaming: true,
1096
1423
  json_output: true,
1097
- max_output_tokens: 64000,
1098
1424
  reasoning_output: true,
1425
+ max_output_tokens: 32000,
1099
1426
  },
1100
1427
  class: 'reasoning',
1101
- score: 90,
1102
- description: 'Claude Sonnet 4 - High intelligence and balanced performance with extended thinking',
1428
+ score: 95,
1429
+ scores: {
1430
+ monologue: 94,
1431
+ code: 94,
1432
+ reasoning: 93,
1433
+ },
1434
+ description: 'Claude Opus 4.1 - Highest intelligence and capability with reasoning support',
1103
1435
  },
1104
1436
  {
1105
1437
  id: 'gemini-2.5-pro-preview-06-05',
1106
1438
  aliases: ['gemini-2.5-pro', 'gemini-2.5-pro-exp-03-25', 'gemini-2.5-pro-preview-05-06'],
1107
1439
  provider: 'google',
1108
1440
  cost: {
1109
- input_per_million: {
1110
- threshold_tokens: 200000,
1111
- price_below_threshold_per_million: 1.25,
1112
- price_above_threshold_per_million: 2.5,
1113
- },
1114
- output_per_million: {
1115
- threshold_tokens: 200000,
1116
- price_below_threshold_per_million: 10.0,
1117
- price_above_threshold_per_million: 15.0,
1118
- },
1441
+ input_per_million: 1.25,
1442
+ output_per_million: 10.0,
1443
+ cached_input_per_million: 0.13,
1119
1444
  },
1120
1445
  features: {
1121
1446
  context_length: 1048576,
@@ -1135,8 +1460,11 @@ export const MODEL_REGISTRY = [
1135
1460
  aliases: ['gemini-2.5-flash', 'gemini-2.5-flash-preview-04-17'],
1136
1461
  provider: 'google',
1137
1462
  cost: {
1138
- input_per_million: 0.3,
1139
- output_per_million: 2.5,
1463
+ input_per_million: {
1464
+ text: 1.0,
1465
+ audio: 0.0375,
1466
+ },
1467
+ output_per_million: 0.6,
1140
1468
  },
1141
1469
  features: {
1142
1470
  context_length: 1048576,
@@ -1161,8 +1489,8 @@ export const MODEL_REGISTRY = [
1161
1489
  aliases: ['gemini-2.5-flash-lite'],
1162
1490
  provider: 'google',
1163
1491
  cost: {
1164
- input_per_million: 0.1,
1165
- output_per_million: 0.4,
1492
+ input_per_million: 0.05,
1493
+ output_per_million: 0.2,
1166
1494
  },
1167
1495
  features: {
1168
1496
  context_length: 1000000,
@@ -1174,13 +1502,59 @@ export const MODEL_REGISTRY = [
1174
1502
  max_output_tokens: 64000,
1175
1503
  },
1176
1504
  class: 'reasoning_mini',
1177
- score: 75,
1505
+ score: 78,
1178
1506
  scores: {
1179
- monologue: 12,
1180
- code: 63,
1181
- reasoning: 78,
1507
+ monologue: 14,
1508
+ code: 65,
1509
+ reasoning: 75,
1182
1510
  },
1183
- description: 'Balanced multimodal model with large context, built for Agents.',
1511
+ description: 'Gemini 2.5 Flash Lite - cost-efficient multimodal model with 1M context.',
1512
+ },
1513
+ {
1514
+ id: 'gemini-3-pro-preview',
1515
+ aliases: ['gemini-3-pro', 'gemini-3-pro-preview-11-2025'],
1516
+ provider: 'google',
1517
+ cost: {
1518
+ input_per_million: {
1519
+ threshold_tokens: 200000,
1520
+ price_below_threshold_per_million: 2.0,
1521
+ price_above_threshold_per_million: 4.0,
1522
+ },
1523
+ output_per_million: {
1524
+ threshold_tokens: 200000,
1525
+ price_below_threshold_per_million: 12.0,
1526
+ price_above_threshold_per_million: 18.0,
1527
+ },
1528
+ },
1529
+ features: {
1530
+ context_length: 1_000_000,
1531
+ input_modality: ['text', 'image', 'video', 'audio'],
1532
+ output_modality: ['text', 'image', 'audio'],
1533
+ tool_use: true,
1534
+ streaming: true,
1535
+ json_output: true,
1536
+ max_output_tokens: 8192,
1537
+ },
1538
+ class: 'reasoning',
1539
+ score: 90,
1540
+ description: 'Gemini 3 Pro Preview - multimodal flagship (v1beta, tiered pricing at 200k tokens).',
1541
+ },
1542
+ {
1543
+ id: 'gemini-3-pro-image-preview',
1544
+ aliases: ['gemini-3-pro-image'],
1545
+ provider: 'google',
1546
+ cost: {
1547
+ per_image: 0.134,
1548
+ input_per_million: 2.0,
1549
+ output_per_million: 12.0,
1550
+ },
1551
+ features: {
1552
+ input_modality: ['text'],
1553
+ output_modality: ['image', 'text'],
1554
+ streaming: false,
1555
+ },
1556
+ class: 'image_generation',
1557
+ description: 'Gemini 3 Pro Image (preview) for text-to-image generation.',
1184
1558
  },
1185
1559
  {
1186
1560
  id: 'gemini-2.0-flash-lite',
@@ -1369,6 +1743,22 @@ export const MODEL_REGISTRY = [
1369
1743
  class: 'voice',
1370
1744
  description: "Gemini's advanced text-to-speech model with superior voice quality, expression control, and multi-speaker support for creating dynamic conversations.",
1371
1745
  },
1746
+ {
1747
+ id: 'gemini-2.5-flash-native-audio-preview',
1748
+ provider: 'google',
1749
+ cost: {
1750
+ input_per_million: 5.0,
1751
+ output_per_million: 0,
1752
+ },
1753
+ features: {
1754
+ input_modality: ['text'],
1755
+ output_modality: ['audio'],
1756
+ streaming: true,
1757
+ context_length: 32000,
1758
+ },
1759
+ class: 'voice',
1760
+ description: "Gemini's native audio preview model providing low-latency text-to-speech with built-in audio processing.",
1761
+ },
1372
1762
  {
1373
1763
  id: 'codex-mini-latest',
1374
1764
  provider: 'openai',