@just-every/ensemble 0.2.245 → 0.2.247

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 (31) hide show
  1. package/dist/cjs/data/model_data.cjs +218 -156
  2. package/dist/cjs/data/model_data.d.ts.map +1 -1
  3. package/dist/cjs/data/model_data.js.map +1 -1
  4. package/dist/cjs/model_providers/claude.cjs +8 -7
  5. package/dist/cjs/model_providers/claude.d.ts.map +1 -1
  6. package/dist/cjs/model_providers/claude.js.map +1 -1
  7. package/dist/cjs/model_providers/codex.cjs +660 -21
  8. package/dist/cjs/model_providers/codex.d.ts.map +1 -1
  9. package/dist/cjs/model_providers/codex.js.map +1 -1
  10. package/dist/cjs/model_providers/model_provider.cjs +11 -0
  11. package/dist/cjs/model_providers/model_provider.d.ts.map +1 -1
  12. package/dist/cjs/model_providers/model_provider.js.map +1 -1
  13. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  14. package/dist/cjs/types/types.d.ts +4 -0
  15. package/dist/cjs/types/types.d.ts.map +1 -1
  16. package/dist/data/model_data.d.ts.map +1 -1
  17. package/dist/data/model_data.js +218 -156
  18. package/dist/data/model_data.js.map +1 -1
  19. package/dist/model_providers/claude.d.ts.map +1 -1
  20. package/dist/model_providers/claude.js +8 -7
  21. package/dist/model_providers/claude.js.map +1 -1
  22. package/dist/model_providers/codex.d.ts.map +1 -1
  23. package/dist/model_providers/codex.js +628 -22
  24. package/dist/model_providers/codex.js.map +1 -1
  25. package/dist/model_providers/model_provider.d.ts.map +1 -1
  26. package/dist/model_providers/model_provider.js +12 -1
  27. package/dist/model_providers/model_provider.js.map +1 -1
  28. package/dist/tsconfig.tsbuildinfo +1 -1
  29. package/dist/types/types.d.ts +4 -0
  30. package/dist/types/types.d.ts.map +1 -1
  31. package/package.json +1 -1
@@ -35,7 +35,7 @@ exports.MODEL_CLASSES = {
35
35
  models: [
36
36
  'gpt-5.5-pro',
37
37
  'gemini-3.1-pro-preview',
38
- 'claude-opus-4-7',
38
+ 'claude-opus-4-8',
39
39
  'grok-4.3',
40
40
  ],
41
41
  random: true,
@@ -62,7 +62,7 @@ exports.MODEL_CLASSES = {
62
62
  models: [
63
63
  'gpt-5.5',
64
64
  'gemini-3.1-pro-preview',
65
- 'claude-opus-4-7',
65
+ 'claude-opus-4-8',
66
66
  'grok-4.3',
67
67
  ],
68
68
  random: true,
@@ -71,7 +71,7 @@ exports.MODEL_CLASSES = {
71
71
  models: [
72
72
  'gpt-5.3-codex',
73
73
  'gemini-3.1-pro-preview',
74
- 'claude-opus-4-7',
74
+ 'claude-opus-4-8',
75
75
  'grok-4.3',
76
76
  'qwen3-coder',
77
77
  ],
@@ -99,7 +99,7 @@ exports.MODEL_CLASSES = {
99
99
  models: [
100
100
  'gpt-5.5',
101
101
  'gemini-3.1-pro-preview',
102
- 'claude-opus-4-7',
102
+ 'claude-opus-4-8',
103
103
  'grok-4.3',
104
104
  ],
105
105
  random: true,
@@ -124,7 +124,7 @@ exports.MODEL_CLASSES = {
124
124
  models: [
125
125
  'gpt-5.5',
126
126
  'gemini-3.1-pro-preview',
127
- 'claude-opus-4-7',
127
+ 'claude-opus-4-8',
128
128
  'grok-4.3',
129
129
  ],
130
130
  random: true,
@@ -403,7 +403,7 @@ exports.MODEL_REGISTRY = [
403
403
  id: 'meta-llama/llama-4-maverick',
404
404
  provider: 'openrouter',
405
405
  cost: {
406
- input_per_million: 0.18,
406
+ input_per_million: 0.15,
407
407
  output_per_million: 0.6,
408
408
  },
409
409
  features: {
@@ -413,6 +413,7 @@ exports.MODEL_REGISTRY = [
413
413
  tool_use: true,
414
414
  streaming: true,
415
415
  json_output: true,
416
+ max_output_tokens: 16384,
416
417
  },
417
418
  class: 'standard',
418
419
  score: 78,
@@ -431,12 +432,13 @@ exports.MODEL_REGISTRY = [
431
432
  output_per_million: 0.3,
432
433
  },
433
434
  features: {
434
- context_length: 327680,
435
- input_modality: ['text'],
435
+ context_length: 10000000,
436
+ input_modality: ['text', 'image'],
436
437
  output_modality: ['text'],
437
438
  tool_use: true,
438
439
  streaming: true,
439
440
  json_output: true,
441
+ max_output_tokens: 16384,
440
442
  },
441
443
  class: 'mini',
442
444
  score: 65,
@@ -446,16 +448,17 @@ exports.MODEL_REGISTRY = [
446
448
  id: 'qwen/qwen3-235b-a22b',
447
449
  provider: 'openrouter',
448
450
  cost: {
449
- input_per_million: 0.1,
450
- output_per_million: 0.1,
451
+ input_per_million: 0.455,
452
+ output_per_million: 1.82,
451
453
  },
452
454
  features: {
453
- context_length: 40960,
455
+ context_length: 131072,
454
456
  input_modality: ['text'],
455
457
  output_modality: ['text'],
456
458
  tool_use: true,
457
459
  streaming: true,
458
460
  json_output: true,
461
+ max_output_tokens: 8192,
459
462
  },
460
463
  class: 'reasoning',
461
464
  score: 83,
@@ -466,30 +469,6 @@ exports.MODEL_REGISTRY = [
466
469
  },
467
470
  description: 'Qwen3-235B-A22B is a 235B parameter mixture-of-experts (MoE) model developed by Qwen, activating 22B parameters per forward pass.',
468
471
  },
469
- {
470
- id: 'qwen/qwen-max',
471
- provider: 'openrouter',
472
- cost: {
473
- input_per_million: 1.6,
474
- output_per_million: 6.4,
475
- },
476
- features: {
477
- context_length: 131072,
478
- input_modality: ['text', 'image'],
479
- output_modality: ['text'],
480
- tool_use: true,
481
- streaming: true,
482
- json_output: true,
483
- },
484
- class: 'reasoning',
485
- score: 80,
486
- scores: {
487
- monologue: 73,
488
- code: 61,
489
- reasoning: 57,
490
- },
491
- description: 'Qwen-Max, based on Qwen2.5, provides the best inference performance among Qwen models, especially for complex multi-step tasks.',
492
- },
493
472
  {
494
473
  id: 'qwen/qwen3.5-397b-a17b',
495
474
  aliases: ['qwen3.5-397b-a17b'],
@@ -505,7 +484,7 @@ exports.MODEL_REGISTRY = [
505
484
  tool_use: true,
506
485
  streaming: true,
507
486
  json_output: true,
508
- max_output_tokens: 81920,
487
+ max_output_tokens: 65536,
509
488
  reasoning_output: true,
510
489
  },
511
490
  class: 'reasoning',
@@ -518,41 +497,41 @@ exports.MODEL_REGISTRY = [
518
497
  description: 'Qwen3.5-397B-A17B is a vision-language 397B MoE model with a native 262k-context window, multimodal input support, and strong reasoning.',
519
498
  },
520
499
  {
521
- id: 'mistral/ministral-8b',
522
- provider: 'openrouter',
500
+ id: 'grok-4.3',
501
+ provider: 'xai',
523
502
  cost: {
524
- input_per_million: 0.1,
525
- output_per_million: 0.1,
503
+ input_per_million: 1.25,
504
+ output_per_million: 2.5,
526
505
  },
527
506
  features: {
528
- context_length: 131072,
529
- input_modality: ['text'],
507
+ context_length: 1_000_000,
508
+ input_modality: ['text', 'image'],
530
509
  output_modality: ['text'],
531
510
  tool_use: true,
532
511
  streaming: true,
533
512
  json_output: true,
534
513
  },
535
- class: 'standard',
536
- score: 55,
537
- 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.',
514
+ class: 'reasoning',
515
+ description: "Grok 4.3, xAI's latest recommended reasoning model with 1M context, multimodal input, streaming, tools, structured output, and low/medium/high reasoning effort.",
538
516
  },
539
517
  {
540
- id: 'grok-4.3',
518
+ id: 'grok-build-0.1',
519
+ aliases: ['grok-build', 'grok-build-latest'],
541
520
  provider: 'xai',
542
521
  cost: {
543
- input_per_million: 1.25,
544
- output_per_million: 2.5,
522
+ input_per_million: 1.0,
523
+ output_per_million: 2.0,
545
524
  },
546
525
  features: {
547
- context_length: 1_000_000,
526
+ context_length: 256000,
548
527
  input_modality: ['text', 'image'],
549
528
  output_modality: ['text'],
550
529
  tool_use: true,
551
530
  streaming: true,
552
531
  json_output: true,
553
532
  },
554
- class: 'reasoning',
555
- description: "Grok 4.3, xAI's latest recommended reasoning model with 1M context, multimodal input, streaming, tools, structured output, and low/medium/high reasoning effort.",
533
+ class: 'code',
534
+ description: "Grok Build 0.1, xAI's fast coding model trained for agentic coding workflows with 256k context and text/image input.",
556
535
  },
557
536
  {
558
537
  id: 'grok-4-1-fast-reasoning',
@@ -1374,6 +1353,48 @@ exports.MODEL_REGISTRY = [
1374
1353
  score: 91,
1375
1354
  description: 'ChatGPT-optimized GPT-5.1 chat model (128k/16k).',
1376
1355
  },
1356
+ {
1357
+ id: 'codex-gpt-5.5',
1358
+ aliases: ['codex-gpt-5.5-2026-04-23'],
1359
+ provider: 'codex',
1360
+ cost: {
1361
+ input_per_million: {
1362
+ threshold_tokens: 272000,
1363
+ price_below_threshold_per_million: 5.0,
1364
+ price_above_threshold_per_million: 10.0,
1365
+ tier_basis: 'input_tokens',
1366
+ },
1367
+ cached_input_per_million: {
1368
+ threshold_tokens: 272000,
1369
+ price_below_threshold_per_million: 0.5,
1370
+ price_above_threshold_per_million: 1.0,
1371
+ tier_basis: 'input_tokens',
1372
+ },
1373
+ output_per_million: {
1374
+ threshold_tokens: 272000,
1375
+ price_below_threshold_per_million: 30.0,
1376
+ price_above_threshold_per_million: 45.0,
1377
+ tier_basis: 'input_tokens',
1378
+ },
1379
+ },
1380
+ features: {
1381
+ context_length: 1050000,
1382
+ max_output_tokens: 128000,
1383
+ input_modality: ['text', 'image'],
1384
+ output_modality: ['text'],
1385
+ tool_use: true,
1386
+ streaming: false,
1387
+ json_output: true,
1388
+ },
1389
+ class: 'code',
1390
+ score: 99,
1391
+ scores: {
1392
+ monologue: 99,
1393
+ code: 99,
1394
+ reasoning: 98,
1395
+ },
1396
+ description: 'Codex CLI GPT-5.5 text model for agentic coding, visual repair, and tool-mediated workflows.',
1397
+ },
1377
1398
  {
1378
1399
  id: 'gpt-5-codex',
1379
1400
  aliases: ['gpt-5-codex-2025-09-15'],
@@ -1779,7 +1800,7 @@ exports.MODEL_REGISTRY = [
1779
1800
  },
1780
1801
  {
1781
1802
  id: 'claude-sonnet-4-6',
1782
- aliases: ['claude-sonnet-4-6', 'claude-sonnet-4.6', 'claude-sonnet-latest'],
1803
+ aliases: ['claude-sonnet-4-6', 'claude-sonnet-4.6', 'claude-sonnet-latest', 'sonnet-4-6', 'sonnet-4.6'],
1783
1804
  provider: 'anthropic',
1784
1805
  cost: {
1785
1806
  input_per_million: 3.0,
@@ -1978,7 +1999,7 @@ exports.MODEL_REGISTRY = [
1978
1999
  },
1979
2000
  {
1980
2001
  id: 'claude-opus-4-7',
1981
- aliases: ['claude-opus-4-7', 'claude-opus-4.7', 'claude-opus', 'claude-opus-latest', 'claude-4.7-opus'],
2002
+ aliases: ['claude-opus-4-7', 'claude-opus-4.7', 'claude-4.7-opus'],
1982
2003
  provider: 'anthropic',
1983
2004
  cost: {
1984
2005
  input_per_million: 5.0,
@@ -1998,6 +2019,36 @@ exports.MODEL_REGISTRY = [
1998
2019
  class: 'reasoning',
1999
2020
  description: 'Claude Opus 4.7 - Frontier Opus model for complex reasoning, agentic coding, and high-resolution vision.',
2000
2021
  },
2022
+ {
2023
+ id: 'claude-opus-4-8',
2024
+ aliases: [
2025
+ 'claude-opus-4-8',
2026
+ 'claude-opus-4.8',
2027
+ 'claude-opus',
2028
+ 'claude-opus-latest',
2029
+ 'claude-4.8-opus',
2030
+ 'opus-4-8',
2031
+ 'opus-4.8',
2032
+ ],
2033
+ provider: 'anthropic',
2034
+ cost: {
2035
+ input_per_million: 5.0,
2036
+ output_per_million: 25.0,
2037
+ cached_input_per_million: 0.5,
2038
+ },
2039
+ features: {
2040
+ context_length: 1_000_000,
2041
+ input_modality: ['text', 'image'],
2042
+ output_modality: ['text'],
2043
+ tool_use: true,
2044
+ streaming: true,
2045
+ json_output: true,
2046
+ reasoning_output: true,
2047
+ max_output_tokens: 128000,
2048
+ },
2049
+ class: 'reasoning',
2050
+ description: 'Claude Opus 4.8 - Frontier Opus model for complex reasoning, agentic coding, and high-resolution vision.',
2051
+ },
2001
2052
  {
2002
2053
  id: 'gemini-2.5-pro-preview-06-05',
2003
2054
  aliases: ['gemini-2.5-pro', 'gemini-2.5-pro-exp-03-25', 'gemini-2.5-pro-preview-05-06'],
@@ -2067,7 +2118,8 @@ exports.MODEL_REGISTRY = [
2067
2118
  description: 'Gemini 3.5 Flash - fast multimodal reasoning model with 1M context and native thinking levels.',
2068
2119
  },
2069
2120
  {
2070
- id: 'gemini-3.1-flash-lite-preview',
2121
+ id: 'gemini-3.1-flash-lite',
2122
+ aliases: ['gemini-3.1-flash-lite-preview'],
2071
2123
  provider: 'google',
2072
2124
  cost: {
2073
2125
  input_per_million: {
@@ -2076,6 +2128,7 @@ exports.MODEL_REGISTRY = [
2076
2128
  video: 0.25,
2077
2129
  audio: 0.5,
2078
2130
  },
2131
+ cached_input_per_million: 0.025,
2079
2132
  output_per_million: 1.5,
2080
2133
  },
2081
2134
  features: {
@@ -2089,7 +2142,7 @@ exports.MODEL_REGISTRY = [
2089
2142
  },
2090
2143
  class: 'reasoning_mini',
2091
2144
  score: 82,
2092
- description: 'Gemini 3.1 Flash Lite Preview - cost-efficient multimodal model with 1M context window.',
2145
+ description: 'Gemini 3.1 Flash Lite - stable cost-efficient multimodal model with 1M context window; preview ID remains supported as an alias.',
2093
2146
  },
2094
2147
  {
2095
2148
  id: 'gemini-2.5-flash',
@@ -2537,7 +2590,7 @@ exports.MODEL_REGISTRY = [
2537
2590
  output_per_million: 1.0,
2538
2591
  },
2539
2592
  features: {
2540
- context_length: 32768,
2593
+ context_length: 127072,
2541
2594
  input_modality: ['text'],
2542
2595
  output_modality: ['text'],
2543
2596
  tool_use: true,
@@ -2555,34 +2608,17 @@ exports.MODEL_REGISTRY = [
2555
2608
  output_per_million: 15.0,
2556
2609
  },
2557
2610
  features: {
2558
- context_length: 32768,
2611
+ context_length: 200000,
2559
2612
  input_modality: ['text'],
2560
2613
  output_modality: ['text'],
2561
2614
  tool_use: true,
2562
2615
  streaming: true,
2563
2616
  json_output: true,
2617
+ max_output_tokens: 8000,
2564
2618
  },
2565
2619
  class: 'standard',
2566
2620
  description: 'Advanced search model optimized for complex queries and deeper content understanding.',
2567
2621
  },
2568
- {
2569
- id: 'perplexity/sonar-reasoning',
2570
- provider: 'openrouter',
2571
- cost: {
2572
- input_per_million: 1.0,
2573
- output_per_million: 5.0,
2574
- },
2575
- features: {
2576
- context_length: 32768,
2577
- input_modality: ['text'],
2578
- output_modality: ['text'],
2579
- tool_use: true,
2580
- streaming: true,
2581
- json_output: true,
2582
- },
2583
- class: 'reasoning_mini',
2584
- description: 'Quick problem-solving and reasoning model, ideal for evaluating complex queries.',
2585
- },
2586
2622
  {
2587
2623
  id: 'perplexity/sonar-reasoning-pro',
2588
2624
  provider: 'openrouter',
@@ -2591,7 +2627,7 @@ exports.MODEL_REGISTRY = [
2591
2627
  output_per_million: 8.0,
2592
2628
  },
2593
2629
  features: {
2594
- context_length: 32768,
2630
+ context_length: 128000,
2595
2631
  input_modality: ['text'],
2596
2632
  output_modality: ['text'],
2597
2633
  tool_use: true,
@@ -2609,7 +2645,7 @@ exports.MODEL_REGISTRY = [
2609
2645
  output_per_million: 8.0,
2610
2646
  },
2611
2647
  features: {
2612
- context_length: 32768,
2648
+ context_length: 128000,
2613
2649
  input_modality: ['text'],
2614
2650
  output_modality: ['text'],
2615
2651
  tool_use: true,
@@ -2619,45 +2655,6 @@ exports.MODEL_REGISTRY = [
2619
2655
  class: 'standard',
2620
2656
  description: 'Best suited for exhaustive research, generating detailed reports and in-depth insights.',
2621
2657
  },
2622
- {
2623
- id: 'mistralai/magistral-small-2506',
2624
- provider: 'openrouter',
2625
- cost: {
2626
- input_per_million: 0.5,
2627
- output_per_million: 1.5,
2628
- },
2629
- features: {
2630
- context_length: 40000,
2631
- input_modality: ['text'],
2632
- output_modality: ['text'],
2633
- tool_use: true,
2634
- streaming: true,
2635
- json_output: true,
2636
- },
2637
- class: 'reasoning_mini',
2638
- score: 72,
2639
- description: 'Magistral Small is a 24B parameter instruction-tuned model based on Mistral-Small-3.1 (2503), enhanced through supervised fine-tuning on traces from Magistral Medium and further refined via reinforcement learning. It is optimized for reasoning and supports a wide multilingual range, including over 20 languages.',
2640
- },
2641
- {
2642
- id: 'mistralai/magistral-medium-2506:thinking',
2643
- provider: 'openrouter',
2644
- cost: {
2645
- input_per_million: 2.0,
2646
- output_per_million: 5.0,
2647
- },
2648
- features: {
2649
- context_length: 40960,
2650
- input_modality: ['text'],
2651
- output_modality: ['text'],
2652
- tool_use: true,
2653
- streaming: true,
2654
- json_output: true,
2655
- reasoning_output: true,
2656
- },
2657
- class: 'reasoning',
2658
- score: 80,
2659
- description: "Magistral is Mistral's first reasoning model. It is ideal for general purpose use requiring longer thought processing and better accuracy than with non-reasoning LLMs. From legal research and financial forecasting to software development and creative storytelling — this model solves multi-step challenges where transparency and precision are critical.",
2660
- },
2661
2658
  {
2662
2659
  id: 'test-model',
2663
2660
  provider: 'test',
@@ -3053,8 +3050,8 @@ exports.MODEL_REGISTRY = [
3053
3050
  provider: 'openrouter',
3054
3051
  openrouter_id: 'openai/gpt-oss-120b',
3055
3052
  cost: {
3056
- input_per_million: 0.1,
3057
- output_per_million: 0.5,
3053
+ input_per_million: 0.039,
3054
+ output_per_million: 0.18,
3058
3055
  },
3059
3056
  features: {
3060
3057
  context_length: 131072,
@@ -3063,7 +3060,6 @@ exports.MODEL_REGISTRY = [
3063
3060
  tool_use: true,
3064
3061
  streaming: true,
3065
3062
  json_output: true,
3066
- max_output_tokens: 100000,
3067
3063
  reasoning_output: true,
3068
3064
  },
3069
3065
  class: 'reasoning',
@@ -3076,8 +3072,8 @@ exports.MODEL_REGISTRY = [
3076
3072
  provider: 'openrouter',
3077
3073
  openrouter_id: 'openai/gpt-oss-20b',
3078
3074
  cost: {
3079
- input_per_million: 0.05,
3080
- output_per_million: 0.2,
3075
+ input_per_million: 0.029,
3076
+ output_per_million: 0.14,
3081
3077
  },
3082
3078
  features: {
3083
3079
  context_length: 131072,
@@ -3086,12 +3082,34 @@ exports.MODEL_REGISTRY = [
3086
3082
  tool_use: true,
3087
3083
  streaming: true,
3088
3084
  json_output: true,
3089
- max_output_tokens: 100000,
3090
3085
  },
3091
3086
  class: 'standard',
3092
3087
  score: 82,
3093
3088
  description: 'GPT OSS 20B - MoE model with 3.6B active params, optimized for consumer hardware',
3094
3089
  },
3090
+ {
3091
+ id: 'qwen/qwen3.7-max',
3092
+ aliases: ['Qwen3.7 Max', 'qwen3.7-max', 'qwen-3.7-max'],
3093
+ provider: 'openrouter',
3094
+ openrouter_id: 'qwen/qwen3.7-max',
3095
+ cost: {
3096
+ input_per_million: 1.25,
3097
+ cached_input_per_million: 0.25,
3098
+ output_per_million: 3.75,
3099
+ },
3100
+ features: {
3101
+ context_length: 1000000,
3102
+ input_modality: ['text'],
3103
+ output_modality: ['text'],
3104
+ tool_use: true,
3105
+ streaming: true,
3106
+ json_output: true,
3107
+ max_output_tokens: 65536,
3108
+ reasoning_output: true,
3109
+ },
3110
+ class: 'code',
3111
+ description: 'Qwen3.7 Max via OpenRouter. Flagship Qwen 3.7 model for agent-centric coding, productivity, and long-horizon autonomous execution.',
3112
+ },
3095
3113
  {
3096
3114
  id: 'qwen/qwen3.6-plus',
3097
3115
  aliases: ['Qwen 3.6', 'Qwen3.6', 'qwen3.6', 'qwen-3.6', 'qwen3.6-plus', 'qwen-3.6-plus'],
@@ -3120,9 +3138,8 @@ exports.MODEL_REGISTRY = [
3120
3138
  provider: 'openrouter',
3121
3139
  openrouter_id: 'qwen/qwen3.6-flash',
3122
3140
  cost: {
3123
- input_per_million: 0.25,
3124
- cached_input_per_million: 0.3125,
3125
- output_per_million: 1.5,
3141
+ input_per_million: 0.1875,
3142
+ output_per_million: 1.125,
3126
3143
  },
3127
3144
  features: {
3128
3145
  context_length: 1000000,
@@ -3143,9 +3160,8 @@ exports.MODEL_REGISTRY = [
3143
3160
  provider: 'openrouter',
3144
3161
  openrouter_id: 'qwen/qwen3.6-35b-a3b',
3145
3162
  cost: {
3146
- input_per_million: 0.1612,
3147
- cached_input_per_million: 0.1612,
3148
- output_per_million: 0.96525,
3163
+ input_per_million: 0.14,
3164
+ output_per_million: 1.0,
3149
3165
  },
3150
3166
  features: {
3151
3167
  context_length: 262144,
@@ -3154,7 +3170,7 @@ exports.MODEL_REGISTRY = [
3154
3170
  tool_use: true,
3155
3171
  streaming: true,
3156
3172
  json_output: true,
3157
- max_output_tokens: 65536,
3173
+ max_output_tokens: 262140,
3158
3174
  reasoning_output: true,
3159
3175
  },
3160
3176
  class: 'reasoning',
@@ -3189,7 +3205,7 @@ exports.MODEL_REGISTRY = [
3189
3205
  provider: 'openrouter',
3190
3206
  openrouter_id: 'qwen/qwen3.6-27b',
3191
3207
  cost: {
3192
- input_per_million: 0.32,
3208
+ input_per_million: 0.29,
3193
3209
  output_per_million: 3.2,
3194
3210
  },
3195
3211
  features: {
@@ -3199,7 +3215,7 @@ exports.MODEL_REGISTRY = [
3199
3215
  tool_use: true,
3200
3216
  streaming: true,
3201
3217
  json_output: true,
3202
- max_output_tokens: 81920,
3218
+ max_output_tokens: 262140,
3203
3219
  reasoning_output: true,
3204
3220
  },
3205
3221
  class: 'reasoning',
@@ -3211,8 +3227,9 @@ exports.MODEL_REGISTRY = [
3211
3227
  provider: 'openrouter',
3212
3228
  openrouter_id: 'qwen/qwen3-235b-a22b-thinking-2507',
3213
3229
  cost: {
3214
- input_per_million: 0.078,
3215
- output_per_million: 0.312,
3230
+ input_per_million: 0.1,
3231
+ cached_input_per_million: 0.1,
3232
+ output_per_million: 0.1,
3216
3233
  },
3217
3234
  features: {
3218
3235
  context_length: 262144,
@@ -3221,7 +3238,7 @@ exports.MODEL_REGISTRY = [
3221
3238
  tool_use: true,
3222
3239
  streaming: true,
3223
3240
  json_output: true,
3224
- max_output_tokens: 81920,
3241
+ max_output_tokens: 262144,
3225
3242
  reasoning_output: true,
3226
3243
  },
3227
3244
  class: 'reasoning',
@@ -3234,17 +3251,17 @@ exports.MODEL_REGISTRY = [
3234
3251
  provider: 'openrouter',
3235
3252
  openrouter_id: 'qwen/qwen3-coder',
3236
3253
  cost: {
3237
- input_per_million: 0.2,
3238
- output_per_million: 0.8,
3254
+ input_per_million: 0.22,
3255
+ output_per_million: 1.8,
3239
3256
  },
3240
3257
  features: {
3241
- context_length: 262144,
3258
+ context_length: 1048576,
3242
3259
  input_modality: ['text'],
3243
3260
  output_modality: ['text'],
3244
3261
  tool_use: true,
3245
3262
  streaming: true,
3246
3263
  json_output: true,
3247
- max_output_tokens: 100000,
3264
+ max_output_tokens: 65536,
3248
3265
  },
3249
3266
  class: 'code',
3250
3267
  score: 90,
@@ -3256,9 +3273,9 @@ exports.MODEL_REGISTRY = [
3256
3273
  provider: 'openrouter',
3257
3274
  openrouter_id: 'z-ai/glm-5.1',
3258
3275
  cost: {
3259
- input_per_million: 1.05,
3260
- output_per_million: 3.5,
3261
- cached_input_per_million: 0.525,
3276
+ input_per_million: 0.98,
3277
+ output_per_million: 3.08,
3278
+ cached_input_per_million: 0.182,
3262
3279
  },
3263
3280
  features: {
3264
3281
  context_length: 202752,
@@ -3267,7 +3284,6 @@ exports.MODEL_REGISTRY = [
3267
3284
  tool_use: true,
3268
3285
  streaming: true,
3269
3286
  json_output: true,
3270
- max_output_tokens: 65535,
3271
3287
  reasoning_output: true,
3272
3288
  },
3273
3289
  class: 'reasoning',
@@ -3301,11 +3317,57 @@ exports.MODEL_REGISTRY = [
3301
3317
  aliases: ['DeepSeek-V4-Flash', 'deepseek-v4-flash'],
3302
3318
  provider: 'openrouter',
3303
3319
  openrouter_id: 'deepseek/deepseek-v4-flash',
3320
+ cost: {
3321
+ input_per_million: 0.0983,
3322
+ cached_input_per_million: 0.0197,
3323
+ output_per_million: 0.1966,
3324
+ },
3325
+ features: {
3326
+ context_length: 1048576,
3327
+ input_modality: ['text'],
3328
+ output_modality: ['text'],
3329
+ tool_use: true,
3330
+ streaming: true,
3331
+ json_output: true,
3332
+ max_output_tokens: 131072,
3333
+ reasoning_output: true,
3334
+ },
3335
+ class: 'reasoning',
3336
+ description: 'DeepSeek V4 Flash via OpenRouter. Efficiency-optimized 284B-parameter MoE model with 13B active parameters and 1M context.',
3337
+ },
3338
+ {
3339
+ id: 'xiaomi/mimo-v2.5',
3340
+ aliases: ['MiMo-V2.5', 'mimo-v2.5', 'mimo-v2-5'],
3341
+ provider: 'openrouter',
3342
+ openrouter_id: 'xiaomi/mimo-v2.5',
3304
3343
  cost: {
3305
3344
  input_per_million: 0.14,
3306
3345
  cached_input_per_million: 0.0028,
3307
3346
  output_per_million: 0.28,
3308
3347
  },
3348
+ features: {
3349
+ context_length: 1048576,
3350
+ input_modality: ['text', 'audio', 'image', 'video'],
3351
+ output_modality: ['text'],
3352
+ tool_use: true,
3353
+ streaming: true,
3354
+ json_output: true,
3355
+ max_output_tokens: 131072,
3356
+ reasoning_output: true,
3357
+ },
3358
+ class: 'reasoning',
3359
+ description: 'Xiaomi MiMo V2.5 via OpenRouter. Native omnimodal 1M-context model for agentic workflows, multimodal perception, and cost-efficient reasoning.',
3360
+ },
3361
+ {
3362
+ id: 'xiaomi/mimo-v2.5-pro',
3363
+ aliases: ['MiMo-V2.5-Pro', 'mimo-v2.5-pro', 'mimo-v2-5-pro'],
3364
+ provider: 'openrouter',
3365
+ openrouter_id: 'xiaomi/mimo-v2.5-pro',
3366
+ cost: {
3367
+ input_per_million: 0.435,
3368
+ cached_input_per_million: 0.0036,
3369
+ output_per_million: 0.87,
3370
+ },
3309
3371
  features: {
3310
3372
  context_length: 1048576,
3311
3373
  input_modality: ['text'],
@@ -3313,11 +3375,11 @@ exports.MODEL_REGISTRY = [
3313
3375
  tool_use: true,
3314
3376
  streaming: true,
3315
3377
  json_output: true,
3316
- max_output_tokens: 384000,
3378
+ max_output_tokens: 131072,
3317
3379
  reasoning_output: true,
3318
3380
  },
3319
3381
  class: 'reasoning',
3320
- description: 'DeepSeek V4 Flash via OpenRouter. Efficiency-optimized 284B-parameter MoE model with 13B active parameters and 1M context.',
3382
+ description: 'Xiaomi MiMo V2.5 Pro via OpenRouter. Flagship 1M-context model for agentic coding, complex software engineering, and long-horizon tasks.',
3321
3383
  },
3322
3384
  {
3323
3385
  id: 'tencent/hy3-preview',
@@ -3325,9 +3387,9 @@ exports.MODEL_REGISTRY = [
3325
3387
  provider: 'openrouter',
3326
3388
  openrouter_id: 'tencent/hy3-preview',
3327
3389
  cost: {
3328
- input_per_million: 0.066,
3329
- cached_input_per_million: 0.029,
3330
- output_per_million: 0.26,
3390
+ input_per_million: 0.063,
3391
+ cached_input_per_million: 0.021,
3392
+ output_per_million: 0.21,
3331
3393
  },
3332
3394
  features: {
3333
3395
  context_length: 262144,
@@ -3336,7 +3398,6 @@ exports.MODEL_REGISTRY = [
3336
3398
  tool_use: true,
3337
3399
  streaming: true,
3338
3400
  json_output: false,
3339
- max_output_tokens: 262144,
3340
3401
  reasoning_output: true,
3341
3402
  },
3342
3403
  class: 'reasoning',
@@ -3347,9 +3408,9 @@ exports.MODEL_REGISTRY = [
3347
3408
  aliases: ['kimi-k2.5', 'kimi-k2-5'],
3348
3409
  provider: 'openrouter',
3349
3410
  cost: {
3350
- input_per_million: 0.45,
3351
- output_per_million: 2.2,
3352
- cached_input_per_million: 0.225,
3411
+ input_per_million: 0.4,
3412
+ output_per_million: 1.9,
3413
+ cached_input_per_million: 0.09,
3353
3414
  },
3354
3415
  features: {
3355
3416
  context_length: 262144,
@@ -3358,6 +3419,7 @@ exports.MODEL_REGISTRY = [
3358
3419
  tool_use: true,
3359
3420
  streaming: true,
3360
3421
  json_output: true,
3422
+ max_output_tokens: 262144,
3361
3423
  },
3362
3424
  class: 'reasoning',
3363
3425
  score: 86,
@@ -3369,18 +3431,18 @@ exports.MODEL_REGISTRY = [
3369
3431
  provider: 'openrouter',
3370
3432
  openrouter_id: 'moonshotai/kimi-k2.6',
3371
3433
  cost: {
3372
- input_per_million: 0.74,
3373
- output_per_million: 3.49,
3374
- cached_input_per_million: 0.14,
3434
+ input_per_million: 0.684,
3435
+ output_per_million: 3.42,
3436
+ cached_input_per_million: 0.144,
3375
3437
  },
3376
3438
  features: {
3377
- context_length: 262142,
3439
+ context_length: 262144,
3378
3440
  input_modality: ['text', 'image'],
3379
3441
  output_modality: ['text'],
3380
3442
  tool_use: true,
3381
3443
  streaming: true,
3382
3444
  json_output: true,
3383
- max_output_tokens: 262142,
3445
+ max_output_tokens: 262144,
3384
3446
  reasoning_output: true,
3385
3447
  },
3386
3448
  class: 'reasoning',