@blockrun/clawrouter 0.12.250 → 0.12.251
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/dist/cli.js +910 -422
- package/dist/index.js +910 -422
- package/dist/router/index.js +910 -422
- package/docs/architecture.md +3 -3
- package/docs/configuration.md +6 -6
- package/docs/routing-profiles.md +26 -26
- package/package.json +2 -2
package/dist/router/index.js
CHANGED
|
@@ -503,14 +503,15 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
503
503
|
supportsVision: true
|
|
504
504
|
},
|
|
505
505
|
"anthropic/claude-haiku-4.5": {
|
|
506
|
+
// override: The public catalog's `categories` omit "vision" for this Anthropic model even though the gateway accepts image input for it (the prior hand-maintained snapshot had it, and Anthropic's model card lists it). Without this the vision filter would silently drop it — reported against the catalog; remove once the categories carry vision.
|
|
506
507
|
contextWindow: 2e5,
|
|
507
|
-
maxOutputTokens:
|
|
508
|
+
maxOutputTokens: 64e3,
|
|
508
509
|
supportsTools: true,
|
|
509
510
|
supportsVision: true
|
|
510
511
|
},
|
|
511
|
-
"anthropic/claude-opus-4.
|
|
512
|
-
contextWindow:
|
|
513
|
-
maxOutputTokens:
|
|
512
|
+
"anthropic/claude-opus-4.5": {
|
|
513
|
+
contextWindow: 2e5,
|
|
514
|
+
maxOutputTokens: 64e3,
|
|
514
515
|
supportsTools: true,
|
|
515
516
|
supportsVision: true
|
|
516
517
|
},
|
|
@@ -532,12 +533,19 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
532
533
|
supportsTools: true,
|
|
533
534
|
supportsVision: true
|
|
534
535
|
},
|
|
535
|
-
"anthropic/claude-sonnet-4.
|
|
536
|
+
"anthropic/claude-sonnet-4.5": {
|
|
536
537
|
contextWindow: 2e5,
|
|
537
538
|
maxOutputTokens: 64e3,
|
|
538
539
|
supportsTools: true,
|
|
539
540
|
supportsVision: true
|
|
540
541
|
},
|
|
542
|
+
"anthropic/claude-sonnet-4.6": {
|
|
543
|
+
// override: The public catalog's `categories` omit "vision" for this Anthropic model even though the gateway accepts image input for it (the prior hand-maintained snapshot had it, and Anthropic's model card lists it). Without this the vision filter would silently drop it — reported against the catalog; remove once the categories carry vision.
|
|
544
|
+
contextWindow: 1e6,
|
|
545
|
+
maxOutputTokens: 128e3,
|
|
546
|
+
supportsTools: true,
|
|
547
|
+
supportsVision: true
|
|
548
|
+
},
|
|
541
549
|
"anthropic/claude-sonnet-5": {
|
|
542
550
|
contextWindow: 1e6,
|
|
543
551
|
maxOutputTokens: 128e3,
|
|
@@ -545,14 +553,14 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
545
553
|
supportsVision: true
|
|
546
554
|
},
|
|
547
555
|
"deepseek/deepseek-chat": {
|
|
548
|
-
contextWindow:
|
|
549
|
-
maxOutputTokens:
|
|
556
|
+
contextWindow: 1048576,
|
|
557
|
+
maxOutputTokens: 65536,
|
|
550
558
|
supportsTools: true,
|
|
551
559
|
supportsVision: false
|
|
552
560
|
},
|
|
553
561
|
"deepseek/deepseek-reasoner": {
|
|
554
|
-
contextWindow:
|
|
555
|
-
maxOutputTokens:
|
|
562
|
+
contextWindow: 1048576,
|
|
563
|
+
maxOutputTokens: 65536,
|
|
556
564
|
supportsTools: true,
|
|
557
565
|
supportsVision: false
|
|
558
566
|
},
|
|
@@ -562,50 +570,38 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
562
570
|
supportsTools: true,
|
|
563
571
|
supportsVision: false
|
|
564
572
|
},
|
|
565
|
-
"free/deepseek-v4-flash": {
|
|
566
|
-
contextWindow: 1e6,
|
|
567
|
-
maxOutputTokens: 16384,
|
|
568
|
-
supportsTools: false,
|
|
569
|
-
supportsVision: false
|
|
570
|
-
},
|
|
571
|
-
"free/seed-oss-36b": {
|
|
572
|
-
contextWindow: 131072,
|
|
573
|
-
maxOutputTokens: 16384,
|
|
574
|
-
supportsTools: false,
|
|
575
|
-
supportsVision: false
|
|
576
|
-
},
|
|
577
573
|
"google/gemini-2.5-flash": {
|
|
578
|
-
contextWindow:
|
|
574
|
+
contextWindow: 1048576,
|
|
579
575
|
maxOutputTokens: 65536,
|
|
580
576
|
supportsTools: true,
|
|
581
577
|
supportsVision: true
|
|
582
578
|
},
|
|
583
579
|
"google/gemini-2.5-flash-lite": {
|
|
584
|
-
contextWindow:
|
|
580
|
+
contextWindow: 1048576,
|
|
585
581
|
maxOutputTokens: 65536,
|
|
586
582
|
supportsTools: true,
|
|
587
583
|
supportsVision: false
|
|
588
584
|
},
|
|
589
585
|
"google/gemini-2.5-pro": {
|
|
590
|
-
contextWindow:
|
|
586
|
+
contextWindow: 1048576,
|
|
591
587
|
maxOutputTokens: 65536,
|
|
592
588
|
supportsTools: true,
|
|
593
589
|
supportsVision: true
|
|
594
590
|
},
|
|
595
591
|
"google/gemini-3-flash-preview": {
|
|
596
|
-
contextWindow:
|
|
592
|
+
contextWindow: 1048576,
|
|
597
593
|
maxOutputTokens: 65536,
|
|
598
|
-
supportsTools:
|
|
594
|
+
supportsTools: true,
|
|
599
595
|
supportsVision: true
|
|
600
596
|
},
|
|
601
597
|
"google/gemini-3.1-flash-lite": {
|
|
602
|
-
contextWindow:
|
|
603
|
-
maxOutputTokens:
|
|
598
|
+
contextWindow: 1048576,
|
|
599
|
+
maxOutputTokens: 65536,
|
|
604
600
|
supportsTools: true,
|
|
605
601
|
supportsVision: false
|
|
606
602
|
},
|
|
607
603
|
"google/gemini-3.1-pro": {
|
|
608
|
-
contextWindow:
|
|
604
|
+
contextWindow: 1048576,
|
|
609
605
|
maxOutputTokens: 65536,
|
|
610
606
|
supportsTools: true,
|
|
611
607
|
supportsVision: true
|
|
@@ -616,23 +612,29 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
616
612
|
supportsTools: true,
|
|
617
613
|
supportsVision: true
|
|
618
614
|
},
|
|
619
|
-
"
|
|
620
|
-
contextWindow:
|
|
621
|
-
maxOutputTokens:
|
|
615
|
+
"google/gemini-3.5-flash-lite": {
|
|
616
|
+
contextWindow: 1048576,
|
|
617
|
+
maxOutputTokens: 65536,
|
|
622
618
|
supportsTools: true,
|
|
623
|
-
supportsVision:
|
|
619
|
+
supportsVision: false
|
|
624
620
|
},
|
|
625
|
-
"
|
|
626
|
-
contextWindow:
|
|
621
|
+
"google/gemini-3.6-flash": {
|
|
622
|
+
contextWindow: 1048576,
|
|
627
623
|
maxOutputTokens: 65536,
|
|
628
624
|
supportsTools: true,
|
|
629
625
|
supportsVision: true
|
|
630
626
|
},
|
|
631
|
-
"
|
|
632
|
-
contextWindow:
|
|
627
|
+
"minimax/minimax-m2.7": {
|
|
628
|
+
contextWindow: 204800,
|
|
629
|
+
maxOutputTokens: 16384,
|
|
630
|
+
supportsTools: true,
|
|
631
|
+
supportsVision: false
|
|
632
|
+
},
|
|
633
|
+
"minimax/minimax-m3": {
|
|
634
|
+
contextWindow: 1048576,
|
|
633
635
|
maxOutputTokens: 65536,
|
|
634
636
|
supportsTools: true,
|
|
635
|
-
supportsVision:
|
|
637
|
+
supportsVision: false
|
|
636
638
|
},
|
|
637
639
|
"moonshot/kimi-k3": {
|
|
638
640
|
contextWindow: 1048576,
|
|
@@ -640,6 +642,26 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
640
642
|
supportsTools: true,
|
|
641
643
|
supportsVision: true
|
|
642
644
|
},
|
|
645
|
+
"nvidia/mistral-nemotron": {
|
|
646
|
+
// supportsTools: gateway unavailable at probe time — fails closed
|
|
647
|
+
contextWindow: 131072,
|
|
648
|
+
maxOutputTokens: 16384,
|
|
649
|
+
supportsTools: false,
|
|
650
|
+
supportsVision: false
|
|
651
|
+
},
|
|
652
|
+
"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": {
|
|
653
|
+
contextWindow: 256e3,
|
|
654
|
+
maxOutputTokens: 16384,
|
|
655
|
+
supportsTools: false,
|
|
656
|
+
supportsVision: true
|
|
657
|
+
},
|
|
658
|
+
"nvidia/nemotron-nano-12b-v2-vl": {
|
|
659
|
+
// supportsTools: gateway unavailable at probe time — fails closed
|
|
660
|
+
contextWindow: 131072,
|
|
661
|
+
maxOutputTokens: 16384,
|
|
662
|
+
supportsTools: false,
|
|
663
|
+
supportsVision: true
|
|
664
|
+
},
|
|
643
665
|
"nvidia/nemotron-nano-9b-v2": {
|
|
644
666
|
contextWindow: 131072,
|
|
645
667
|
maxOutputTokens: 16384,
|
|
@@ -652,7 +674,31 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
652
674
|
supportsTools: false,
|
|
653
675
|
supportsVision: false
|
|
654
676
|
},
|
|
677
|
+
"openai/chat-latest": {
|
|
678
|
+
contextWindow: 128e3,
|
|
679
|
+
maxOutputTokens: 128e3,
|
|
680
|
+
supportsTools: true,
|
|
681
|
+
supportsVision: true
|
|
682
|
+
},
|
|
655
683
|
"openai/gpt-4.1": {
|
|
684
|
+
contextWindow: 128e3,
|
|
685
|
+
maxOutputTokens: 32768,
|
|
686
|
+
supportsTools: true,
|
|
687
|
+
supportsVision: true
|
|
688
|
+
},
|
|
689
|
+
"openai/gpt-4.1-mini": {
|
|
690
|
+
contextWindow: 128e3,
|
|
691
|
+
maxOutputTokens: 32768,
|
|
692
|
+
supportsTools: true,
|
|
693
|
+
supportsVision: false
|
|
694
|
+
},
|
|
695
|
+
"openai/gpt-4.1-nano": {
|
|
696
|
+
contextWindow: 128e3,
|
|
697
|
+
maxOutputTokens: 32768,
|
|
698
|
+
supportsTools: true,
|
|
699
|
+
supportsVision: false
|
|
700
|
+
},
|
|
701
|
+
"openai/gpt-4o": {
|
|
656
702
|
contextWindow: 128e3,
|
|
657
703
|
maxOutputTokens: 16384,
|
|
658
704
|
supportsTools: true,
|
|
@@ -666,17 +712,44 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
666
712
|
},
|
|
667
713
|
"openai/gpt-5-mini": {
|
|
668
714
|
contextWindow: 2e5,
|
|
669
|
-
maxOutputTokens:
|
|
715
|
+
maxOutputTokens: 128e3,
|
|
670
716
|
supportsTools: true,
|
|
671
717
|
supportsVision: false
|
|
672
718
|
},
|
|
719
|
+
"openai/gpt-5.2": {
|
|
720
|
+
contextWindow: 4e5,
|
|
721
|
+
maxOutputTokens: 128e3,
|
|
722
|
+
supportsTools: true,
|
|
723
|
+
supportsVision: true
|
|
724
|
+
},
|
|
725
|
+
"openai/gpt-5.2-pro": {
|
|
726
|
+
// supportsTools: not probed — fails closed
|
|
727
|
+
contextWindow: 4e5,
|
|
728
|
+
maxOutputTokens: 128e3,
|
|
729
|
+
supportsTools: false,
|
|
730
|
+
supportsVision: true
|
|
731
|
+
},
|
|
732
|
+
"openai/gpt-5.3": {
|
|
733
|
+
// supportsTools: gateway unavailable at probe time — fails closed
|
|
734
|
+
contextWindow: 128e3,
|
|
735
|
+
maxOutputTokens: 128e3,
|
|
736
|
+
supportsTools: false,
|
|
737
|
+
supportsVision: true
|
|
738
|
+
},
|
|
673
739
|
"openai/gpt-5.3-codex": {
|
|
740
|
+
// supportsTools: gateway unavailable at probe time — fails closed; override: 2026-08-29 probe: every request (6 plain + 3 tool attempts) returned a gateway 500, so the probe measured an incident, not the model. Codex's function calling is established by the 2026-07 Terminal-Bench / tau2 calibration trajectories in portfolio.ts. Hosts observing the 500s should drop it with RouterOptions.unavailableModels rather than this snapshot claiming the model cannot call tools.
|
|
674
741
|
contextWindow: 4e5,
|
|
675
742
|
maxOutputTokens: 128e3,
|
|
676
743
|
supportsTools: true,
|
|
677
744
|
supportsVision: false
|
|
678
745
|
},
|
|
679
746
|
"openai/gpt-5.4": {
|
|
747
|
+
contextWindow: 105e4,
|
|
748
|
+
maxOutputTokens: 128e3,
|
|
749
|
+
supportsTools: true,
|
|
750
|
+
supportsVision: true
|
|
751
|
+
},
|
|
752
|
+
"openai/gpt-5.4-mini": {
|
|
680
753
|
contextWindow: 4e5,
|
|
681
754
|
maxOutputTokens: 128e3,
|
|
682
755
|
supportsTools: true,
|
|
@@ -684,30 +757,92 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
684
757
|
},
|
|
685
758
|
"openai/gpt-5.4-nano": {
|
|
686
759
|
contextWindow: 105e4,
|
|
687
|
-
maxOutputTokens:
|
|
760
|
+
maxOutputTokens: 128e3,
|
|
688
761
|
supportsTools: true,
|
|
689
762
|
supportsVision: false
|
|
690
763
|
},
|
|
764
|
+
"openai/gpt-5.4-pro": {
|
|
765
|
+
// supportsTools: not probed — fails closed
|
|
766
|
+
contextWindow: 105e4,
|
|
767
|
+
maxOutputTokens: 128e3,
|
|
768
|
+
supportsTools: false,
|
|
769
|
+
supportsVision: true
|
|
770
|
+
},
|
|
691
771
|
"openai/gpt-5.5": {
|
|
692
772
|
contextWindow: 105e4,
|
|
693
773
|
maxOutputTokens: 128e3,
|
|
694
774
|
supportsTools: true,
|
|
695
775
|
supportsVision: true
|
|
696
776
|
},
|
|
777
|
+
"openai/gpt-5.5-pro": {
|
|
778
|
+
// supportsTools: not probed — fails closed
|
|
779
|
+
contextWindow: 105e4,
|
|
780
|
+
maxOutputTokens: 128e3,
|
|
781
|
+
supportsTools: false,
|
|
782
|
+
supportsVision: true
|
|
783
|
+
},
|
|
784
|
+
"openai/gpt-5.6-luna": {
|
|
785
|
+
contextWindow: 105e4,
|
|
786
|
+
maxOutputTokens: 128e3,
|
|
787
|
+
supportsTools: true,
|
|
788
|
+
supportsVision: true
|
|
789
|
+
},
|
|
790
|
+
"openai/gpt-5.6-luna-pro": {
|
|
791
|
+
contextWindow: 105e4,
|
|
792
|
+
maxOutputTokens: 128e3,
|
|
793
|
+
supportsTools: false,
|
|
794
|
+
supportsVision: true
|
|
795
|
+
},
|
|
796
|
+
"openai/gpt-5.6-sol": {
|
|
797
|
+
contextWindow: 105e4,
|
|
798
|
+
maxOutputTokens: 128e3,
|
|
799
|
+
supportsTools: true,
|
|
800
|
+
supportsVision: true
|
|
801
|
+
},
|
|
802
|
+
"openai/gpt-5.6-sol-pro": {
|
|
803
|
+
contextWindow: 105e4,
|
|
804
|
+
maxOutputTokens: 128e3,
|
|
805
|
+
supportsTools: true,
|
|
806
|
+
supportsVision: true
|
|
807
|
+
},
|
|
697
808
|
"openai/gpt-5.6-terra": {
|
|
698
809
|
contextWindow: 105e4,
|
|
699
810
|
maxOutputTokens: 128e3,
|
|
700
811
|
supportsTools: true,
|
|
701
812
|
supportsVision: true
|
|
702
813
|
},
|
|
814
|
+
"openai/gpt-5.6-terra-pro": {
|
|
815
|
+
contextWindow: 105e4,
|
|
816
|
+
maxOutputTokens: 128e3,
|
|
817
|
+
supportsTools: true,
|
|
818
|
+
supportsVision: true
|
|
819
|
+
},
|
|
820
|
+
"openai/o1": {
|
|
821
|
+
contextWindow: 2e5,
|
|
822
|
+
maxOutputTokens: 1e5,
|
|
823
|
+
supportsTools: true,
|
|
824
|
+
supportsVision: false
|
|
825
|
+
},
|
|
703
826
|
"openai/o3": {
|
|
704
827
|
contextWindow: 2e5,
|
|
705
828
|
maxOutputTokens: 1e5,
|
|
706
829
|
supportsTools: true,
|
|
707
830
|
supportsVision: false
|
|
708
831
|
},
|
|
832
|
+
"openai/o3-mini": {
|
|
833
|
+
contextWindow: 128e3,
|
|
834
|
+
maxOutputTokens: 1e5,
|
|
835
|
+
supportsTools: true,
|
|
836
|
+
supportsVision: false
|
|
837
|
+
},
|
|
709
838
|
"openai/o4-mini": {
|
|
710
839
|
contextWindow: 128e3,
|
|
840
|
+
maxOutputTokens: 1e5,
|
|
841
|
+
supportsTools: true,
|
|
842
|
+
supportsVision: false
|
|
843
|
+
},
|
|
844
|
+
"qwen/qwen3.7-flash": {
|
|
845
|
+
contextWindow: 1e6,
|
|
711
846
|
maxOutputTokens: 65536,
|
|
712
847
|
supportsTools: true,
|
|
713
848
|
supportsVision: false
|
|
@@ -718,47 +853,53 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
718
853
|
supportsTools: true,
|
|
719
854
|
supportsVision: false
|
|
720
855
|
},
|
|
721
|
-
"
|
|
722
|
-
contextWindow:
|
|
723
|
-
maxOutputTokens:
|
|
856
|
+
"qwen/qwen3.7-plus": {
|
|
857
|
+
contextWindow: 1e6,
|
|
858
|
+
maxOutputTokens: 131072,
|
|
724
859
|
supportsTools: true,
|
|
725
860
|
supportsVision: false
|
|
726
861
|
},
|
|
727
|
-
"
|
|
728
|
-
contextWindow:
|
|
729
|
-
maxOutputTokens:
|
|
862
|
+
"tencent/hy3": {
|
|
863
|
+
contextWindow: 262144,
|
|
864
|
+
maxOutputTokens: 128e3,
|
|
730
865
|
supportsTools: true,
|
|
731
866
|
supportsVision: false
|
|
732
867
|
},
|
|
733
|
-
"xai/grok-4
|
|
734
|
-
contextWindow:
|
|
868
|
+
"xai/grok-4.3": {
|
|
869
|
+
contextWindow: 1e6,
|
|
735
870
|
maxOutputTokens: 16384,
|
|
736
871
|
supportsTools: true,
|
|
737
|
-
supportsVision:
|
|
872
|
+
supportsVision: true
|
|
738
873
|
},
|
|
739
|
-
"xai/grok-4
|
|
740
|
-
contextWindow:
|
|
874
|
+
"xai/grok-4.5": {
|
|
875
|
+
contextWindow: 5e5,
|
|
741
876
|
maxOutputTokens: 16384,
|
|
742
877
|
supportsTools: true,
|
|
743
|
-
supportsVision:
|
|
878
|
+
supportsVision: true
|
|
744
879
|
},
|
|
745
|
-
"xai/grok-
|
|
746
|
-
contextWindow:
|
|
880
|
+
"xai/grok-build-0.1": {
|
|
881
|
+
contextWindow: 256e3,
|
|
747
882
|
maxOutputTokens: 16384,
|
|
748
883
|
supportsTools: true,
|
|
749
884
|
supportsVision: false
|
|
750
885
|
},
|
|
751
|
-
"
|
|
752
|
-
contextWindow:
|
|
753
|
-
maxOutputTokens:
|
|
886
|
+
"xiaomi/mimo-v2.5-pro": {
|
|
887
|
+
contextWindow: 1048576,
|
|
888
|
+
maxOutputTokens: 131072,
|
|
754
889
|
supportsTools: true,
|
|
755
890
|
supportsVision: false
|
|
756
891
|
},
|
|
757
|
-
"
|
|
758
|
-
contextWindow:
|
|
759
|
-
maxOutputTokens:
|
|
892
|
+
"zai/glm-5": {
|
|
893
|
+
contextWindow: 2e5,
|
|
894
|
+
maxOutputTokens: 128e3,
|
|
760
895
|
supportsTools: true,
|
|
761
|
-
supportsVision:
|
|
896
|
+
supportsVision: false
|
|
897
|
+
},
|
|
898
|
+
"zai/glm-5-turbo": {
|
|
899
|
+
contextWindow: 2e5,
|
|
900
|
+
maxOutputTokens: 128e3,
|
|
901
|
+
supportsTools: true,
|
|
902
|
+
supportsVision: false
|
|
762
903
|
},
|
|
763
904
|
"zai/glm-5.1": {
|
|
764
905
|
contextWindow: 2e5,
|
|
@@ -768,249 +909,549 @@ var DEFAULT_MODEL_CAPABILITIES = Object.freeze({
|
|
|
768
909
|
},
|
|
769
910
|
"zai/glm-5.2": {
|
|
770
911
|
contextWindow: 1e6,
|
|
771
|
-
maxOutputTokens:
|
|
912
|
+
maxOutputTokens: 131072,
|
|
772
913
|
supportsTools: true,
|
|
773
914
|
supportsVision: false
|
|
915
|
+
},
|
|
916
|
+
"zai/glm-5.3": {
|
|
917
|
+
contextWindow: 1e6,
|
|
918
|
+
maxOutputTokens: 131072,
|
|
919
|
+
supportsTools: true,
|
|
920
|
+
supportsVision: false
|
|
921
|
+
},
|
|
922
|
+
"zai/glm-5.3-flash": {
|
|
923
|
+
contextWindow: 1e6,
|
|
924
|
+
maxOutputTokens: 131072,
|
|
925
|
+
supportsTools: true,
|
|
926
|
+
supportsVision: true
|
|
774
927
|
}
|
|
775
928
|
});
|
|
776
929
|
var model_profiles_generated_default = {
|
|
777
|
-
"
|
|
778
|
-
measuredAt: "2026-
|
|
779
|
-
latencyMs:
|
|
780
|
-
p95LatencyMs:
|
|
781
|
-
outputTokensPerSecond:
|
|
930
|
+
"anthropic/claude-fable-5": {
|
|
931
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
932
|
+
latencyMs: 9298.5,
|
|
933
|
+
p95LatencyMs: 9873.4,
|
|
934
|
+
outputTokensPerSecond: 55.17,
|
|
782
935
|
errorRate: 0,
|
|
783
936
|
samples: 3
|
|
784
937
|
},
|
|
785
|
-
"
|
|
786
|
-
measuredAt: "2026-
|
|
787
|
-
latencyMs:
|
|
788
|
-
p95LatencyMs:
|
|
789
|
-
outputTokensPerSecond:
|
|
938
|
+
"anthropic/claude-haiku-4.5": {
|
|
939
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
940
|
+
latencyMs: 3157.4,
|
|
941
|
+
p95LatencyMs: 3170.7,
|
|
942
|
+
outputTokensPerSecond: 162.16,
|
|
790
943
|
errorRate: 0,
|
|
791
944
|
samples: 3
|
|
792
945
|
},
|
|
793
|
-
"
|
|
794
|
-
measuredAt: "2026-
|
|
795
|
-
latencyMs:
|
|
796
|
-
p95LatencyMs:
|
|
797
|
-
outputTokensPerSecond:
|
|
798
|
-
errorRate: 0
|
|
946
|
+
"anthropic/claude-opus-4.5": {
|
|
947
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
948
|
+
latencyMs: 6497.7,
|
|
949
|
+
p95LatencyMs: 6953.7,
|
|
950
|
+
outputTokensPerSecond: 78.99,
|
|
951
|
+
errorRate: 0,
|
|
799
952
|
samples: 3
|
|
800
953
|
},
|
|
801
|
-
"
|
|
802
|
-
measuredAt: "2026-
|
|
803
|
-
latencyMs:
|
|
804
|
-
p95LatencyMs:
|
|
805
|
-
outputTokensPerSecond:
|
|
954
|
+
"anthropic/claude-opus-4.7": {
|
|
955
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
956
|
+
latencyMs: 5316.5,
|
|
957
|
+
p95LatencyMs: 6121.5,
|
|
958
|
+
outputTokensPerSecond: 97.34,
|
|
806
959
|
errorRate: 0,
|
|
807
960
|
samples: 3
|
|
808
961
|
},
|
|
809
962
|
"anthropic/claude-opus-4.8": {
|
|
810
|
-
measuredAt: "2026-
|
|
811
|
-
latencyMs:
|
|
812
|
-
p95LatencyMs:
|
|
813
|
-
outputTokensPerSecond:
|
|
963
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
964
|
+
latencyMs: 6216.1,
|
|
965
|
+
p95LatencyMs: 6847.7,
|
|
966
|
+
outputTokensPerSecond: 82.81,
|
|
814
967
|
errorRate: 0,
|
|
815
968
|
samples: 3
|
|
816
969
|
},
|
|
817
|
-
"anthropic/claude-opus-
|
|
818
|
-
measuredAt: "2026-
|
|
819
|
-
latencyMs:
|
|
820
|
-
p95LatencyMs:
|
|
821
|
-
outputTokensPerSecond:
|
|
970
|
+
"anthropic/claude-opus-5": {
|
|
971
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
972
|
+
latencyMs: 7309,
|
|
973
|
+
p95LatencyMs: 7745.2,
|
|
974
|
+
outputTokensPerSecond: 70.17,
|
|
975
|
+
errorRate: 0,
|
|
976
|
+
samples: 3
|
|
977
|
+
},
|
|
978
|
+
"anthropic/claude-sonnet-4.5": {
|
|
979
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
980
|
+
latencyMs: 6330.4,
|
|
981
|
+
p95LatencyMs: 6631.6,
|
|
982
|
+
outputTokensPerSecond: 81.03,
|
|
822
983
|
errorRate: 0,
|
|
823
984
|
samples: 3
|
|
824
985
|
},
|
|
825
986
|
"anthropic/claude-sonnet-4.6": {
|
|
826
|
-
measuredAt: "2026-
|
|
827
|
-
latencyMs:
|
|
828
|
-
p95LatencyMs:
|
|
829
|
-
outputTokensPerSecond:
|
|
987
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
988
|
+
latencyMs: 6508,
|
|
989
|
+
p95LatencyMs: 6698.3,
|
|
990
|
+
outputTokensPerSecond: 78.6,
|
|
830
991
|
errorRate: 0,
|
|
831
992
|
samples: 3
|
|
832
993
|
},
|
|
833
|
-
"anthropic/claude-
|
|
834
|
-
measuredAt: "2026-
|
|
835
|
-
latencyMs:
|
|
836
|
-
p95LatencyMs:
|
|
837
|
-
outputTokensPerSecond:
|
|
994
|
+
"anthropic/claude-sonnet-5": {
|
|
995
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
996
|
+
latencyMs: 6165.4,
|
|
997
|
+
p95LatencyMs: 6582.9,
|
|
998
|
+
outputTokensPerSecond: 83.62,
|
|
838
999
|
errorRate: 0,
|
|
839
1000
|
samples: 3
|
|
840
1001
|
},
|
|
841
|
-
"
|
|
842
|
-
measuredAt: "2026-
|
|
843
|
-
latencyMs:
|
|
844
|
-
p95LatencyMs:
|
|
845
|
-
outputTokensPerSecond:
|
|
1002
|
+
"deepseek/deepseek-chat": {
|
|
1003
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1004
|
+
latencyMs: 4351.4,
|
|
1005
|
+
p95LatencyMs: 4543.7,
|
|
1006
|
+
outputTokensPerSecond: 117.78,
|
|
846
1007
|
errorRate: 0,
|
|
847
1008
|
samples: 3
|
|
848
1009
|
},
|
|
849
|
-
"
|
|
850
|
-
measuredAt: "2026-
|
|
851
|
-
latencyMs:
|
|
852
|
-
p95LatencyMs:
|
|
853
|
-
outputTokensPerSecond:
|
|
1010
|
+
"deepseek/deepseek-reasoner": {
|
|
1011
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1012
|
+
latencyMs: 5201.2,
|
|
1013
|
+
p95LatencyMs: 6079.6,
|
|
1014
|
+
outputTokensPerSecond: 99.77,
|
|
854
1015
|
errorRate: 0,
|
|
855
1016
|
samples: 3
|
|
856
1017
|
},
|
|
857
|
-
"
|
|
858
|
-
measuredAt: "2026-
|
|
859
|
-
latencyMs:
|
|
860
|
-
p95LatencyMs:
|
|
861
|
-
outputTokensPerSecond:
|
|
1018
|
+
"deepseek/deepseek-v4-pro": {
|
|
1019
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1020
|
+
latencyMs: 8781.2,
|
|
1021
|
+
p95LatencyMs: 9881.1,
|
|
1022
|
+
outputTokensPerSecond: 58.98,
|
|
862
1023
|
errorRate: 0,
|
|
863
1024
|
samples: 3
|
|
864
1025
|
},
|
|
865
1026
|
"google/gemini-2.5-flash": {
|
|
866
|
-
measuredAt: "2026-
|
|
867
|
-
latencyMs:
|
|
868
|
-
p95LatencyMs:
|
|
869
|
-
outputTokensPerSecond:
|
|
1027
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1028
|
+
latencyMs: 5416.4,
|
|
1029
|
+
p95LatencyMs: 6442.8,
|
|
1030
|
+
outputTokensPerSecond: 213.07,
|
|
870
1031
|
errorRate: 0,
|
|
871
1032
|
samples: 3
|
|
872
1033
|
},
|
|
873
|
-
"
|
|
874
|
-
measuredAt: "2026-
|
|
875
|
-
latencyMs:
|
|
876
|
-
p95LatencyMs:
|
|
877
|
-
outputTokensPerSecond:
|
|
1034
|
+
"google/gemini-2.5-flash-lite": {
|
|
1035
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1036
|
+
latencyMs: 5002.6,
|
|
1037
|
+
p95LatencyMs: 5780.3,
|
|
1038
|
+
outputTokensPerSecond: 408.43,
|
|
878
1039
|
errorRate: 0,
|
|
879
1040
|
samples: 3
|
|
880
1041
|
},
|
|
881
|
-
"
|
|
882
|
-
measuredAt: "2026-
|
|
883
|
-
latencyMs:
|
|
884
|
-
p95LatencyMs:
|
|
885
|
-
outputTokensPerSecond:
|
|
1042
|
+
"google/gemini-2.5-pro": {
|
|
1043
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1044
|
+
latencyMs: 28169.5,
|
|
1045
|
+
p95LatencyMs: 29491.4,
|
|
1046
|
+
outputTokensPerSecond: 147.3,
|
|
886
1047
|
errorRate: 0,
|
|
887
1048
|
samples: 3
|
|
888
1049
|
},
|
|
889
|
-
"
|
|
890
|
-
measuredAt: "2026-
|
|
891
|
-
latencyMs:
|
|
892
|
-
p95LatencyMs:
|
|
893
|
-
outputTokensPerSecond:
|
|
1050
|
+
"google/gemini-3-flash-preview": {
|
|
1051
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1052
|
+
latencyMs: 4717.1,
|
|
1053
|
+
p95LatencyMs: 5037.1,
|
|
1054
|
+
outputTokensPerSecond: 198.71,
|
|
894
1055
|
errorRate: 0,
|
|
895
1056
|
samples: 3
|
|
896
1057
|
},
|
|
897
|
-
"
|
|
898
|
-
measuredAt: "2026-
|
|
899
|
-
latencyMs:
|
|
900
|
-
p95LatencyMs:
|
|
901
|
-
outputTokensPerSecond:
|
|
1058
|
+
"google/gemini-3.1-flash-lite": {
|
|
1059
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1060
|
+
latencyMs: 2855.8,
|
|
1061
|
+
p95LatencyMs: 3172.7,
|
|
1062
|
+
outputTokensPerSecond: 286.91,
|
|
902
1063
|
errorRate: 0,
|
|
903
1064
|
samples: 3
|
|
904
1065
|
},
|
|
905
|
-
"
|
|
906
|
-
measuredAt: "2026-
|
|
907
|
-
latencyMs:
|
|
908
|
-
p95LatencyMs:
|
|
909
|
-
outputTokensPerSecond:
|
|
910
|
-
errorRate: 0
|
|
1066
|
+
"google/gemini-3.1-pro": {
|
|
1067
|
+
measuredAt: "2026-08-29T16:59:54Z",
|
|
1068
|
+
latencyMs: 24194.1,
|
|
1069
|
+
p95LatencyMs: 27269.6,
|
|
1070
|
+
outputTokensPerSecond: 109.47,
|
|
1071
|
+
errorRate: 0,
|
|
911
1072
|
samples: 3
|
|
912
1073
|
},
|
|
913
|
-
"
|
|
914
|
-
measuredAt: "2026-
|
|
915
|
-
latencyMs:
|
|
916
|
-
p95LatencyMs:
|
|
917
|
-
outputTokensPerSecond:
|
|
1074
|
+
"google/gemini-3.5-flash": {
|
|
1075
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1076
|
+
latencyMs: 5320.6,
|
|
1077
|
+
p95LatencyMs: 5429.8,
|
|
1078
|
+
outputTokensPerSecond: 226.21,
|
|
918
1079
|
errorRate: 0,
|
|
919
1080
|
samples: 3
|
|
920
1081
|
},
|
|
921
|
-
"
|
|
922
|
-
measuredAt: "2026-
|
|
923
|
-
latencyMs:
|
|
924
|
-
p95LatencyMs:
|
|
925
|
-
outputTokensPerSecond:
|
|
1082
|
+
"google/gemini-3.5-flash-lite": {
|
|
1083
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1084
|
+
latencyMs: 3515.8,
|
|
1085
|
+
p95LatencyMs: 4363.4,
|
|
1086
|
+
outputTokensPerSecond: 248.9,
|
|
926
1087
|
errorRate: 0,
|
|
927
1088
|
samples: 3
|
|
928
1089
|
},
|
|
929
|
-
"
|
|
930
|
-
measuredAt: "2026-
|
|
931
|
-
latencyMs:
|
|
932
|
-
p95LatencyMs:
|
|
933
|
-
outputTokensPerSecond:
|
|
934
|
-
errorRate: 0
|
|
1090
|
+
"google/gemini-3.6-flash": {
|
|
1091
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1092
|
+
latencyMs: 13020,
|
|
1093
|
+
p95LatencyMs: 15383.1,
|
|
1094
|
+
outputTokensPerSecond: 187.87,
|
|
1095
|
+
errorRate: 0,
|
|
935
1096
|
samples: 3
|
|
936
1097
|
},
|
|
937
|
-
"
|
|
938
|
-
measuredAt: "2026-
|
|
939
|
-
latencyMs:
|
|
940
|
-
p95LatencyMs:
|
|
941
|
-
outputTokensPerSecond:
|
|
1098
|
+
"minimax/minimax-m2.7": {
|
|
1099
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1100
|
+
latencyMs: 8761.1,
|
|
1101
|
+
p95LatencyMs: 10199.3,
|
|
1102
|
+
outputTokensPerSecond: 59.18,
|
|
942
1103
|
errorRate: 0,
|
|
943
1104
|
samples: 3
|
|
944
1105
|
},
|
|
945
1106
|
"minimax/minimax-m3": {
|
|
946
|
-
measuredAt: "2026-
|
|
947
|
-
latencyMs:
|
|
948
|
-
p95LatencyMs:
|
|
949
|
-
outputTokensPerSecond:
|
|
1107
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1108
|
+
latencyMs: 11101.9,
|
|
1109
|
+
p95LatencyMs: 26087.1,
|
|
1110
|
+
outputTokensPerSecond: 101.12,
|
|
950
1111
|
errorRate: 0,
|
|
951
1112
|
samples: 3
|
|
952
1113
|
},
|
|
953
|
-
"
|
|
954
|
-
measuredAt: "2026-
|
|
955
|
-
latencyMs:
|
|
956
|
-
p95LatencyMs:
|
|
957
|
-
outputTokensPerSecond:
|
|
1114
|
+
"moonshot/kimi-k3": {
|
|
1115
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1116
|
+
latencyMs: 24498.9,
|
|
1117
|
+
p95LatencyMs: 40365.3,
|
|
1118
|
+
outputTokensPerSecond: 25.11,
|
|
958
1119
|
errorRate: 0,
|
|
959
1120
|
samples: 3
|
|
960
1121
|
},
|
|
961
|
-
"
|
|
962
|
-
measuredAt: "2026-
|
|
963
|
-
latencyMs:
|
|
964
|
-
p95LatencyMs:
|
|
965
|
-
outputTokensPerSecond:
|
|
1122
|
+
"nvidia/mistral-nemotron": {
|
|
1123
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1124
|
+
latencyMs: 7349.6,
|
|
1125
|
+
p95LatencyMs: 9932.3,
|
|
1126
|
+
outputTokensPerSecond: 79.48,
|
|
1127
|
+
errorRate: 0.3333,
|
|
1128
|
+
samples: 3
|
|
1129
|
+
},
|
|
1130
|
+
"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": {
|
|
1131
|
+
measuredAt: "2026-08-29T16:59:54Z",
|
|
1132
|
+
latencyMs: 9324.6,
|
|
1133
|
+
p95LatencyMs: 12992,
|
|
1134
|
+
outputTokensPerSecond: 64.96,
|
|
1135
|
+
errorRate: 0.3333,
|
|
1136
|
+
samples: 3
|
|
1137
|
+
},
|
|
1138
|
+
"nvidia/nemotron-nano-12b-v2-vl": {
|
|
1139
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1140
|
+
latencyMs: 5846.9,
|
|
1141
|
+
p95LatencyMs: 5846.9,
|
|
1142
|
+
outputTokensPerSecond: 87.57,
|
|
1143
|
+
errorRate: 0.6667,
|
|
1144
|
+
samples: 3
|
|
1145
|
+
},
|
|
1146
|
+
"nvidia/nemotron-nano-9b-v2": {
|
|
1147
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1148
|
+
latencyMs: 5282.5,
|
|
1149
|
+
p95LatencyMs: 5282.5,
|
|
1150
|
+
outputTokensPerSecond: 96.92,
|
|
1151
|
+
errorRate: 0.6667,
|
|
1152
|
+
samples: 3
|
|
1153
|
+
},
|
|
1154
|
+
"nvidia/step-3.7-flash": {
|
|
1155
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1156
|
+
latencyMs: 4617.4,
|
|
1157
|
+
p95LatencyMs: 5237.4,
|
|
1158
|
+
outputTokensPerSecond: 112.92,
|
|
1159
|
+
errorRate: 0.3333,
|
|
1160
|
+
samples: 3
|
|
1161
|
+
},
|
|
1162
|
+
"openai/chat-latest": {
|
|
1163
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1164
|
+
latencyMs: 3690.9,
|
|
1165
|
+
p95LatencyMs: 4344,
|
|
1166
|
+
outputTokensPerSecond: 111.85,
|
|
966
1167
|
errorRate: 0,
|
|
967
1168
|
samples: 3
|
|
968
1169
|
},
|
|
969
|
-
"
|
|
970
|
-
measuredAt: "2026-
|
|
971
|
-
latencyMs:
|
|
972
|
-
p95LatencyMs:
|
|
973
|
-
outputTokensPerSecond:
|
|
1170
|
+
"openai/gpt-4.1": {
|
|
1171
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1172
|
+
latencyMs: 3527.9,
|
|
1173
|
+
p95LatencyMs: 3831.7,
|
|
1174
|
+
outputTokensPerSecond: 141.27,
|
|
1175
|
+
errorRate: 0,
|
|
1176
|
+
samples: 3
|
|
1177
|
+
},
|
|
1178
|
+
"openai/gpt-4.1-mini": {
|
|
1179
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1180
|
+
latencyMs: 4268.2,
|
|
1181
|
+
p95LatencyMs: 5101.5,
|
|
1182
|
+
outputTokensPerSecond: 103.42,
|
|
1183
|
+
errorRate: 0,
|
|
1184
|
+
samples: 3
|
|
1185
|
+
},
|
|
1186
|
+
"openai/gpt-4.1-nano": {
|
|
1187
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1188
|
+
latencyMs: 3088.3,
|
|
1189
|
+
p95LatencyMs: 3369.2,
|
|
1190
|
+
outputTokensPerSecond: 150.31,
|
|
1191
|
+
errorRate: 0,
|
|
1192
|
+
samples: 3
|
|
1193
|
+
},
|
|
1194
|
+
"openai/gpt-4o": {
|
|
1195
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1196
|
+
latencyMs: 2995.2,
|
|
1197
|
+
p95LatencyMs: 3174.2,
|
|
1198
|
+
outputTokensPerSecond: 171.32,
|
|
1199
|
+
errorRate: 0,
|
|
1200
|
+
samples: 3
|
|
1201
|
+
},
|
|
1202
|
+
"openai/gpt-4o-mini": {
|
|
1203
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1204
|
+
latencyMs: 4751.5,
|
|
1205
|
+
p95LatencyMs: 4930.4,
|
|
1206
|
+
outputTokensPerSecond: 107.84,
|
|
1207
|
+
errorRate: 0,
|
|
1208
|
+
samples: 3
|
|
1209
|
+
},
|
|
1210
|
+
"openai/gpt-5-mini": {
|
|
1211
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1212
|
+
latencyMs: 4558.1,
|
|
1213
|
+
p95LatencyMs: 5081.9,
|
|
1214
|
+
outputTokensPerSecond: 113.25,
|
|
1215
|
+
errorRate: 0,
|
|
1216
|
+
samples: 3
|
|
1217
|
+
},
|
|
1218
|
+
"openai/gpt-5.2": {
|
|
1219
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1220
|
+
latencyMs: 5436.6,
|
|
1221
|
+
p95LatencyMs: 5928.8,
|
|
1222
|
+
outputTokensPerSecond: 95.47,
|
|
1223
|
+
errorRate: 0,
|
|
1224
|
+
samples: 3
|
|
1225
|
+
},
|
|
1226
|
+
"openai/gpt-5.3-codex": {
|
|
1227
|
+
measuredAt: "2026-08-29T16:59:54Z",
|
|
1228
|
+
latencyMs: 15290.4,
|
|
1229
|
+
p95LatencyMs: 15290.4,
|
|
1230
|
+
outputTokensPerSecond: 33.49,
|
|
1231
|
+
errorRate: 0.6667,
|
|
1232
|
+
samples: 3
|
|
1233
|
+
},
|
|
1234
|
+
"openai/gpt-5.4": {
|
|
1235
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1236
|
+
latencyMs: 5596,
|
|
1237
|
+
p95LatencyMs: 5919.4,
|
|
1238
|
+
outputTokensPerSecond: 91.67,
|
|
1239
|
+
errorRate: 0,
|
|
1240
|
+
samples: 3
|
|
1241
|
+
},
|
|
1242
|
+
"openai/gpt-5.4-mini": {
|
|
1243
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1244
|
+
latencyMs: 3377.8,
|
|
1245
|
+
p95LatencyMs: 3646.8,
|
|
1246
|
+
outputTokensPerSecond: 138.08,
|
|
1247
|
+
errorRate: 0,
|
|
1248
|
+
samples: 3
|
|
1249
|
+
},
|
|
1250
|
+
"openai/gpt-5.4-nano": {
|
|
1251
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1252
|
+
latencyMs: 4040.4,
|
|
1253
|
+
p95LatencyMs: 4205.9,
|
|
1254
|
+
outputTokensPerSecond: 118.52,
|
|
1255
|
+
errorRate: 0,
|
|
1256
|
+
samples: 3
|
|
1257
|
+
},
|
|
1258
|
+
"openai/gpt-5.5": {
|
|
1259
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1260
|
+
latencyMs: 6367.8,
|
|
1261
|
+
p95LatencyMs: 7330.7,
|
|
1262
|
+
outputTokensPerSecond: 81.29,
|
|
1263
|
+
errorRate: 0,
|
|
1264
|
+
samples: 3
|
|
1265
|
+
},
|
|
1266
|
+
"openai/gpt-5.6-luna": {
|
|
1267
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1268
|
+
latencyMs: 6064.5,
|
|
1269
|
+
p95LatencyMs: 7347.3,
|
|
1270
|
+
outputTokensPerSecond: 87.93,
|
|
1271
|
+
errorRate: 0,
|
|
1272
|
+
samples: 3
|
|
1273
|
+
},
|
|
1274
|
+
"openai/gpt-5.6-luna-pro": {
|
|
1275
|
+
measuredAt: "2026-08-29T16:59:54Z",
|
|
1276
|
+
latencyMs: 13914.9,
|
|
1277
|
+
p95LatencyMs: 13914.9,
|
|
1278
|
+
outputTokensPerSecond: 36.79,
|
|
1279
|
+
errorRate: 0.6667,
|
|
1280
|
+
samples: 3
|
|
1281
|
+
},
|
|
1282
|
+
"openai/gpt-5.6-sol": {
|
|
1283
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1284
|
+
latencyMs: 7720.2,
|
|
1285
|
+
p95LatencyMs: 9108.2,
|
|
1286
|
+
outputTokensPerSecond: 67.47,
|
|
1287
|
+
errorRate: 0,
|
|
1288
|
+
samples: 3
|
|
1289
|
+
},
|
|
1290
|
+
"openai/gpt-5.6-sol-pro": {
|
|
1291
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1292
|
+
latencyMs: 11442.7,
|
|
1293
|
+
p95LatencyMs: 13363.1,
|
|
1294
|
+
outputTokensPerSecond: 148.75,
|
|
1295
|
+
errorRate: 0,
|
|
1296
|
+
samples: 3
|
|
1297
|
+
},
|
|
1298
|
+
"openai/gpt-5.6-terra": {
|
|
1299
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1300
|
+
latencyMs: 4941,
|
|
1301
|
+
p95LatencyMs: 5095.3,
|
|
1302
|
+
outputTokensPerSecond: 103.69,
|
|
1303
|
+
errorRate: 0,
|
|
1304
|
+
samples: 3
|
|
1305
|
+
},
|
|
1306
|
+
"openai/gpt-5.6-terra-pro": {
|
|
1307
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1308
|
+
latencyMs: 3574.1,
|
|
1309
|
+
p95LatencyMs: 4126.3,
|
|
1310
|
+
outputTokensPerSecond: 133.59,
|
|
1311
|
+
errorRate: 0,
|
|
1312
|
+
samples: 3
|
|
1313
|
+
},
|
|
1314
|
+
"openai/o1": {
|
|
1315
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1316
|
+
latencyMs: 4324.9,
|
|
1317
|
+
p95LatencyMs: 5838.1,
|
|
1318
|
+
outputTokensPerSecond: 125.86,
|
|
1319
|
+
errorRate: 0,
|
|
1320
|
+
samples: 3
|
|
1321
|
+
},
|
|
1322
|
+
"openai/o3": {
|
|
1323
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1324
|
+
latencyMs: 5463.4,
|
|
1325
|
+
p95LatencyMs: 5613.1,
|
|
1326
|
+
outputTokensPerSecond: 93.8,
|
|
1327
|
+
errorRate: 0,
|
|
1328
|
+
samples: 3
|
|
1329
|
+
},
|
|
1330
|
+
"openai/o3-mini": {
|
|
1331
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1332
|
+
latencyMs: 2912.7,
|
|
1333
|
+
p95LatencyMs: 3092.1,
|
|
1334
|
+
outputTokensPerSecond: 176.49,
|
|
1335
|
+
errorRate: 0,
|
|
1336
|
+
samples: 3
|
|
1337
|
+
},
|
|
1338
|
+
"openai/o4-mini": {
|
|
1339
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1340
|
+
latencyMs: 4958.7,
|
|
1341
|
+
p95LatencyMs: 5313,
|
|
1342
|
+
outputTokensPerSecond: 103.81,
|
|
1343
|
+
errorRate: 0,
|
|
1344
|
+
samples: 3
|
|
1345
|
+
},
|
|
1346
|
+
"qwen/qwen3.7-flash": {
|
|
1347
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1348
|
+
latencyMs: 3385.5,
|
|
1349
|
+
p95LatencyMs: 4042.7,
|
|
1350
|
+
outputTokensPerSecond: 153.94,
|
|
1351
|
+
errorRate: 0,
|
|
1352
|
+
samples: 3
|
|
1353
|
+
},
|
|
1354
|
+
"qwen/qwen3.7-max": {
|
|
1355
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1356
|
+
latencyMs: 9387.1,
|
|
1357
|
+
p95LatencyMs: 10490.2,
|
|
1358
|
+
outputTokensPerSecond: 54.92,
|
|
1359
|
+
errorRate: 0,
|
|
1360
|
+
samples: 3
|
|
1361
|
+
},
|
|
1362
|
+
"qwen/qwen3.7-plus": {
|
|
1363
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1364
|
+
latencyMs: 9766.6,
|
|
1365
|
+
p95LatencyMs: 9798.2,
|
|
1366
|
+
outputTokensPerSecond: 52.42,
|
|
1367
|
+
errorRate: 0,
|
|
1368
|
+
samples: 3
|
|
1369
|
+
},
|
|
1370
|
+
"tencent/hy3": {
|
|
1371
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1372
|
+
latencyMs: 6062.3,
|
|
1373
|
+
p95LatencyMs: 7070.2,
|
|
1374
|
+
outputTokensPerSecond: 87.3,
|
|
1375
|
+
errorRate: 0,
|
|
1376
|
+
samples: 3
|
|
1377
|
+
},
|
|
1378
|
+
"xai/grok-4.3": {
|
|
1379
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1380
|
+
latencyMs: 9467.7,
|
|
1381
|
+
p95LatencyMs: 10087.9,
|
|
1382
|
+
outputTokensPerSecond: 48.36,
|
|
1383
|
+
errorRate: 0,
|
|
1384
|
+
samples: 3
|
|
1385
|
+
},
|
|
1386
|
+
"xai/grok-4.5": {
|
|
1387
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1388
|
+
latencyMs: 13564.8,
|
|
1389
|
+
p95LatencyMs: 17351.9,
|
|
1390
|
+
outputTokensPerSecond: 60.71,
|
|
1391
|
+
errorRate: 0,
|
|
1392
|
+
samples: 3
|
|
1393
|
+
},
|
|
1394
|
+
"xai/grok-build-0.1": {
|
|
1395
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1396
|
+
latencyMs: 16394.8,
|
|
1397
|
+
p95LatencyMs: 18035.4,
|
|
1398
|
+
outputTokensPerSecond: 96.86,
|
|
1399
|
+
errorRate: 0,
|
|
1400
|
+
samples: 3
|
|
1401
|
+
},
|
|
1402
|
+
"xiaomi/mimo-v2.5-pro": {
|
|
1403
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1404
|
+
latencyMs: 12070.7,
|
|
1405
|
+
p95LatencyMs: 12386.8,
|
|
1406
|
+
outputTokensPerSecond: 42.44,
|
|
974
1407
|
errorRate: 0,
|
|
975
1408
|
samples: 3
|
|
976
1409
|
},
|
|
977
1410
|
"zai/glm-5": {
|
|
978
|
-
measuredAt: "2026-
|
|
979
|
-
latencyMs:
|
|
980
|
-
p95LatencyMs:
|
|
981
|
-
outputTokensPerSecond:
|
|
1411
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1412
|
+
latencyMs: 6839.7,
|
|
1413
|
+
p95LatencyMs: 7261.4,
|
|
1414
|
+
outputTokensPerSecond: 75.16,
|
|
982
1415
|
errorRate: 0,
|
|
983
1416
|
samples: 3
|
|
984
1417
|
},
|
|
985
|
-
"
|
|
986
|
-
measuredAt: "2026-
|
|
987
|
-
latencyMs:
|
|
988
|
-
p95LatencyMs:
|
|
989
|
-
outputTokensPerSecond:
|
|
1418
|
+
"zai/glm-5-turbo": {
|
|
1419
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1420
|
+
latencyMs: 55348.5,
|
|
1421
|
+
p95LatencyMs: 114086.6,
|
|
1422
|
+
outputTokensPerSecond: 14.64,
|
|
990
1423
|
errorRate: 0,
|
|
991
1424
|
samples: 3
|
|
992
1425
|
},
|
|
993
|
-
"
|
|
994
|
-
measuredAt: "2026-
|
|
995
|
-
latencyMs:
|
|
996
|
-
p95LatencyMs:
|
|
997
|
-
outputTokensPerSecond:
|
|
1426
|
+
"zai/glm-5.1": {
|
|
1427
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1428
|
+
latencyMs: 15658.4,
|
|
1429
|
+
p95LatencyMs: 17307.1,
|
|
1430
|
+
outputTokensPerSecond: 32.9,
|
|
1431
|
+
errorRate: 0,
|
|
1432
|
+
samples: 3
|
|
1433
|
+
},
|
|
1434
|
+
"zai/glm-5.2": {
|
|
1435
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1436
|
+
latencyMs: 10308.5,
|
|
1437
|
+
p95LatencyMs: 15127.6,
|
|
1438
|
+
outputTokensPerSecond: 54.87,
|
|
998
1439
|
errorRate: 0,
|
|
999
1440
|
samples: 3
|
|
1000
1441
|
},
|
|
1001
|
-
"
|
|
1002
|
-
measuredAt: "2026-
|
|
1003
|
-
latencyMs:
|
|
1004
|
-
p95LatencyMs:
|
|
1005
|
-
outputTokensPerSecond:
|
|
1442
|
+
"zai/glm-5.3": {
|
|
1443
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1444
|
+
latencyMs: 7272.4,
|
|
1445
|
+
p95LatencyMs: 7998.1,
|
|
1446
|
+
outputTokensPerSecond: 71.09,
|
|
1006
1447
|
errorRate: 0,
|
|
1007
1448
|
samples: 3
|
|
1008
1449
|
},
|
|
1009
|
-
"
|
|
1010
|
-
measuredAt: "2026-
|
|
1011
|
-
latencyMs:
|
|
1012
|
-
p95LatencyMs:
|
|
1013
|
-
outputTokensPerSecond:
|
|
1450
|
+
"zai/glm-5.3-flash": {
|
|
1451
|
+
measuredAt: "2026-08-29T16:51:33Z",
|
|
1452
|
+
latencyMs: 10545.3,
|
|
1453
|
+
p95LatencyMs: 11672.4,
|
|
1454
|
+
outputTokensPerSecond: 49.01,
|
|
1014
1455
|
errorRate: 0,
|
|
1015
1456
|
samples: 3
|
|
1016
1457
|
}
|
|
@@ -1024,11 +1465,6 @@ var HISTORICAL_MODEL_PROFILES = Object.freeze({
|
|
|
1024
1465
|
latencyMs: 2305,
|
|
1025
1466
|
outputTokensPerSecond: 140.6
|
|
1026
1467
|
},
|
|
1027
|
-
"anthropic/claude-opus-4.6": {
|
|
1028
|
-
measuredAt: "2026-03-16T13:50:48Z",
|
|
1029
|
-
latencyMs: 2139,
|
|
1030
|
-
outputTokensPerSecond: 119.7
|
|
1031
|
-
},
|
|
1032
1468
|
"anthropic/claude-sonnet-4.6": {
|
|
1033
1469
|
measuredAt: "2026-03-16T13:50:48Z",
|
|
1034
1470
|
latencyMs: 2110,
|
|
@@ -1062,11 +1498,6 @@ var HISTORICAL_MODEL_PROFILES = Object.freeze({
|
|
|
1062
1498
|
latencyMs: 1609,
|
|
1063
1499
|
outputTokensPerSecond: 167.2
|
|
1064
1500
|
},
|
|
1065
|
-
"moonshot/kimi-k2.5": {
|
|
1066
|
-
measuredAt: "2026-03-16T13:50:48Z",
|
|
1067
|
-
latencyMs: 1646,
|
|
1068
|
-
outputTokensPerSecond: 155.7
|
|
1069
|
-
},
|
|
1070
1501
|
"openai/gpt-4o-mini": {
|
|
1071
1502
|
measuredAt: "2026-03-16T13:50:48Z",
|
|
1072
1503
|
latencyMs: 2764,
|
|
@@ -1076,18 +1507,6 @@ var HISTORICAL_MODEL_PROFILES = Object.freeze({
|
|
|
1076
1507
|
measuredAt: "2026-03-16T13:50:48Z",
|
|
1077
1508
|
latencyMs: 7935,
|
|
1078
1509
|
outputTokensPerSecond: 32.3
|
|
1079
|
-
},
|
|
1080
|
-
"xai/grok-4-1-fast-non-reasoning": {
|
|
1081
|
-
measuredAt: "2026-03-16T13:50:48Z",
|
|
1082
|
-
latencyMs: 1244,
|
|
1083
|
-
outputTokensPerSecond: 205.8,
|
|
1084
|
-
intelligenceIndex: 41
|
|
1085
|
-
},
|
|
1086
|
-
"xai/grok-4-1-fast-reasoning": {
|
|
1087
|
-
measuredAt: "2026-03-16T13:50:48Z",
|
|
1088
|
-
latencyMs: 1454,
|
|
1089
|
-
outputTokensPerSecond: 176.2,
|
|
1090
|
-
intelligenceIndex: 41
|
|
1091
1510
|
}
|
|
1092
1511
|
});
|
|
1093
1512
|
function inferToolRequirement(prompt, _systemPrompt, toolChoice) {
|
|
@@ -1580,7 +1999,7 @@ function affinity(modelId, task, language = "other", agentDomain = "other", deep
|
|
|
1580
1999
|
match(["gpt-5.3-codex"], 1),
|
|
1581
2000
|
match(["claude-sonnet-4.6"], 0.94),
|
|
1582
2001
|
match(["glm-5.2"], 0.9),
|
|
1583
|
-
match(["
|
|
2002
|
+
match(["deepseek-v4-pro"], 0.86)
|
|
1584
2003
|
);
|
|
1585
2004
|
case "reasoning":
|
|
1586
2005
|
return Math.max(
|
|
@@ -1604,14 +2023,13 @@ function affinity(modelId, task, language = "other", agentDomain = "other", deep
|
|
|
1604
2023
|
base,
|
|
1605
2024
|
match(["gemini-3.5-flash"], 1),
|
|
1606
2025
|
match(["grok-4.5"], 0.93),
|
|
1607
|
-
match(["claude-sonnet-5", "deepseek-v4-pro", "kimi-k3"], 0.9)
|
|
1608
|
-
match(["kimi-k2.7"], 0.84)
|
|
2026
|
+
match(["claude-sonnet-5", "deepseek-v4-pro", "kimi-k3"], 0.9)
|
|
1609
2027
|
);
|
|
1610
2028
|
case "vision":
|
|
1611
2029
|
return Math.max(
|
|
1612
2030
|
base,
|
|
1613
2031
|
match(["gemini-3.1-pro"], 0.96),
|
|
1614
|
-
match(["qwen3.7-max", "claude-sonnet-4.6", "kimi-
|
|
2032
|
+
match(["qwen3.7-max", "claude-sonnet-4.6", "kimi-k3", "grok-4.3"], 0.9)
|
|
1615
2033
|
);
|
|
1616
2034
|
case "long_context":
|
|
1617
2035
|
return Math.max(
|
|
@@ -1623,17 +2041,18 @@ function affinity(modelId, task, language = "other", agentDomain = "other", deep
|
|
|
1623
2041
|
);
|
|
1624
2042
|
case "extraction": {
|
|
1625
2043
|
const kimiExtractionAffinity = language === "zh" ? 1 : 0.9;
|
|
2044
|
+
const otherExtractionAffinity = language === "zh" ? 0.88 : 0.9;
|
|
1626
2045
|
return Math.max(
|
|
1627
2046
|
base,
|
|
1628
|
-
match(["gemini-3.5-flash", "gemini-2.5-flash", "gpt-4o-mini"],
|
|
1629
|
-
match(["claude-sonnet-5", "claude-sonnet-4.6"],
|
|
1630
|
-
match(["kimi-k3"
|
|
2047
|
+
match(["gemini-3.5-flash", "gemini-2.5-flash", "gpt-4o-mini"], otherExtractionAffinity),
|
|
2048
|
+
match(["claude-sonnet-5", "claude-sonnet-4.6"], otherExtractionAffinity),
|
|
2049
|
+
match(["kimi-k3"], kimiExtractionAffinity)
|
|
1631
2050
|
);
|
|
1632
2051
|
}
|
|
1633
2052
|
default:
|
|
1634
2053
|
return Math.max(
|
|
1635
2054
|
base,
|
|
1636
|
-
match(["gemini-3.5-flash", "gemini-2.5-flash", "kimi-k3"
|
|
2055
|
+
match(["gemini-3.5-flash", "gemini-2.5-flash", "kimi-k3"], 0.86)
|
|
1637
2056
|
);
|
|
1638
2057
|
}
|
|
1639
2058
|
}
|
|
@@ -1692,6 +2111,9 @@ function evidenceCandidates(task) {
|
|
|
1692
2111
|
"deepseek/deepseek-v4-pro"
|
|
1693
2112
|
];
|
|
1694
2113
|
}
|
|
2114
|
+
if (task === "extraction") {
|
|
2115
|
+
return ["moonshot/kimi-k3", "google/gemini-3.5-flash", "anthropic/claude-sonnet-5"];
|
|
2116
|
+
}
|
|
1695
2117
|
if (task === "reasoning_math") {
|
|
1696
2118
|
return [
|
|
1697
2119
|
"google/gemini-3.5-flash",
|
|
@@ -1867,7 +2289,7 @@ var PortfolioStrategy = class {
|
|
|
1867
2289
|
}
|
|
1868
2290
|
};
|
|
1869
2291
|
var DEFAULT_ROUTING_CONFIG = {
|
|
1870
|
-
version: "3.
|
|
2292
|
+
version: "3.5",
|
|
1871
2293
|
strategy: "portfolio",
|
|
1872
2294
|
portfolio: {
|
|
1873
2295
|
auto: {
|
|
@@ -2921,95 +3343,129 @@ var DEFAULT_ROUTING_CONFIG = {
|
|
|
2921
3343
|
// Below this confidence → ambiguous (null tier)
|
|
2922
3344
|
confidenceThreshold: 0.7
|
|
2923
3345
|
},
|
|
3346
|
+
// ─── Tier chains ───
|
|
3347
|
+
//
|
|
3348
|
+
// Catalog refresh 2026-08-29 (V3.5). Every chain below names only models
|
|
3349
|
+
// the public catalog lists (GET https://blockrun.ai/api/v1/models). Ids the
|
|
3350
|
+
// gateway withholds (`hidden: true`) — kimi-k2.5/k2.6/k2.7, the grok-4-fast
|
|
3351
|
+
// and grok-4-1-fast pairs, grok-4-0709, claude-opus-4.6, gemini-3-pro-preview,
|
|
3352
|
+
// the whole `free/*` namespace — were removed everywhere, including fallback
|
|
3353
|
+
// rungs, so a routed model is always one a user can find on blockrun.ai/models.
|
|
3354
|
+
//
|
|
3355
|
+
// Primaries moved only where portfolio.ts already carries calibration
|
|
3356
|
+
// evidence for the successor (Sonnet 5 over Sonnet 4.6, GPT-5 Mini for
|
|
3357
|
+
// agentic MEDIUM, Gemini 3.5 Flash where Kimi K2.7 was). Newcomers with no
|
|
3358
|
+
// trajectory evidence yet (gemini-3.6-flash, glm-5.3, glm-5.3-flash,
|
|
3359
|
+
// gpt-5.6-luna, grok-4.3, minimax-m3, qwen3.7-plus) enter as fallback rungs;
|
|
3360
|
+
// promotion waits for a calibration run, because version recency is not a
|
|
3361
|
+
// quality signal.
|
|
3362
|
+
//
|
|
3363
|
+
// Latency figures in comments are the 2026-08-29 gateway probe
|
|
3364
|
+
// (model-profiles.generated.json); prices are the catalog list.
|
|
2924
3365
|
// Auto (balanced) tier configs - current default smart routing
|
|
2925
|
-
// Benchmark-tuned 2026-03-16: balancing quality (retention) + latency
|
|
2926
3366
|
tiers: {
|
|
2927
3367
|
SIMPLE: {
|
|
2928
3368
|
primary: "google/gemini-2.5-flash",
|
|
2929
|
-
//
|
|
3369
|
+
// $0.30/$2.50 — 60% retention (best) in the 2026-03 run; still the fastest quality answer
|
|
2930
3370
|
fallback: [
|
|
2931
3371
|
"google/gemini-3-flash-preview",
|
|
2932
|
-
//
|
|
3372
|
+
// $0.50/$3 — GPQA 5/6 in the 2026-07 calibration
|
|
3373
|
+
"google/gemini-3.5-flash-lite",
|
|
3374
|
+
// $0.30/$2.50, 1M ctx, thinking mode — same price as 2.5 Flash, newer generation
|
|
2933
3375
|
"deepseek/deepseek-chat",
|
|
2934
|
-
//
|
|
2935
|
-
"moonshot/kimi-k2.5",
|
|
2936
|
-
// 1,646ms, IQ 47, strong quality
|
|
3376
|
+
// $0.14/$0.28, 1M ctx
|
|
2937
3377
|
"google/gemini-3.1-flash-lite",
|
|
2938
|
-
// $0.25/$1.50, 1M
|
|
2939
|
-
"
|
|
2940
|
-
//
|
|
3378
|
+
// $0.25/$1.50, 1M ctx
|
|
3379
|
+
"openai/gpt-5.6-luna",
|
|
3380
|
+
// $0.20/$1.20, 1M ctx — GPT-5.6 cost tier (cut 2026-07-30)
|
|
2941
3381
|
"openai/gpt-5.4-nano",
|
|
2942
|
-
// $0.20/$1.25, 1M
|
|
2943
|
-
"
|
|
2944
|
-
//
|
|
3382
|
+
// $0.20/$1.25, 1M ctx
|
|
3383
|
+
"google/gemini-2.5-flash-lite",
|
|
3384
|
+
// $0.10/$0.40
|
|
2945
3385
|
"nvidia/step-3.7-flash"
|
|
2946
|
-
// FREE backstop —
|
|
3386
|
+
// FREE backstop — NVIDIA free tier (probed 2026-08-21)
|
|
2947
3387
|
]
|
|
2948
3388
|
},
|
|
2949
3389
|
MEDIUM: {
|
|
2950
|
-
|
|
2951
|
-
//
|
|
3390
|
+
// Was moonshot/kimi-k2.7 (hidden 2026-08). Gemini 3.5 Flash is the
|
|
3391
|
+
// calibrated successor: MGSM 5/5, GPQA 4/6, extraction band (portfolio.ts).
|
|
3392
|
+
primary: "google/gemini-3.5-flash",
|
|
3393
|
+
// $1.50/$9, 1M ctx, vision + tools
|
|
2952
3394
|
fallback: [
|
|
2953
|
-
"
|
|
2954
|
-
//
|
|
2955
|
-
"
|
|
2956
|
-
// $0.
|
|
3395
|
+
"google/gemini-3.6-flash",
|
|
3396
|
+
// $1.50/$7.50 — newest Flash, output 17% cheaper than 3.5; awaiting calibration
|
|
3397
|
+
"zai/glm-5.3-flash",
|
|
3398
|
+
// $0.15/$0.50, 1M ctx, vision + tools verified live 2026-08-27
|
|
3399
|
+
"openai/gpt-5.6-terra",
|
|
3400
|
+
// $2/$12, 1M ctx — GPT-5.6 balanced tier
|
|
2957
3401
|
"google/gemini-3-flash-preview",
|
|
2958
|
-
//
|
|
3402
|
+
// $0.50/$3
|
|
2959
3403
|
"deepseek/deepseek-chat",
|
|
2960
|
-
//
|
|
3404
|
+
// $0.14/$0.28
|
|
2961
3405
|
"google/gemini-2.5-flash",
|
|
2962
|
-
//
|
|
3406
|
+
// $0.30/$2.50
|
|
3407
|
+
"minimax/minimax-m3",
|
|
3408
|
+
// $0.30/$1.20, 1M ctx
|
|
2963
3409
|
"google/gemini-3.1-flash-lite",
|
|
2964
|
-
// $0.25/$1.50
|
|
2965
|
-
"
|
|
2966
|
-
//
|
|
2967
|
-
"
|
|
2968
|
-
//
|
|
2969
|
-
"xai/grok-3-mini"
|
|
2970
|
-
// 1,202ms, $0.30/$0.50
|
|
3410
|
+
// $0.25/$1.50
|
|
3411
|
+
"openai/gpt-5.6-luna",
|
|
3412
|
+
// $0.20/$1.20
|
|
3413
|
+
"google/gemini-2.5-flash-lite"
|
|
3414
|
+
// $0.10/$0.40
|
|
2971
3415
|
]
|
|
2972
3416
|
},
|
|
2973
3417
|
COMPLEX: {
|
|
2974
3418
|
primary: "google/gemini-3.1-pro",
|
|
2975
|
-
//
|
|
3419
|
+
// $2/$12 — proven long-context flagship (portfolio.ts long_context lead)
|
|
2976
3420
|
fallback: [
|
|
2977
|
-
"google/gemini-3-flash
|
|
2978
|
-
// 1
|
|
2979
|
-
"
|
|
2980
|
-
// 1
|
|
2981
|
-
"google/gemini-2.5-pro",
|
|
2982
|
-
// 1,294ms
|
|
3421
|
+
"google/gemini-3.6-flash",
|
|
3422
|
+
// $1.50/$7.50 — Pro-level quality at Flash price (Google's claim; uncalibrated here)
|
|
3423
|
+
"google/gemini-3.5-flash",
|
|
3424
|
+
// $1.50/$9 — calibrated
|
|
2983
3425
|
"anthropic/claude-sonnet-5",
|
|
2984
|
-
// near-Opus quality
|
|
3426
|
+
// $3/$15 — near-Opus quality, tau2 + Terminal-Bench calibrated
|
|
3427
|
+
"xai/grok-4.5",
|
|
3428
|
+
// $2.50/$9 — 503-resistant, independent infra (was grok-4-0709, now hidden)
|
|
3429
|
+
"google/gemini-2.5-pro",
|
|
3430
|
+
// $1.25/$10
|
|
2985
3431
|
"anthropic/claude-sonnet-4.6",
|
|
2986
|
-
//
|
|
2987
|
-
"deepseek/deepseek-chat",
|
|
2988
|
-
// 1,431ms, IQ 32
|
|
2989
|
-
"google/gemini-2.5-flash",
|
|
2990
|
-
// 1,238ms, IQ 20 — cheap last resort
|
|
3432
|
+
// $3/$15
|
|
2991
3433
|
"openai/gpt-5.6-terra",
|
|
2992
|
-
// GPT-5.6 balanced tier
|
|
3434
|
+
// $2/$12 — GPT-5.6 balanced tier (Sol excluded: #202)
|
|
2993
3435
|
"openai/gpt-5.5",
|
|
2994
|
-
//
|
|
2995
|
-
"openai/gpt-5.4"
|
|
2996
|
-
//
|
|
3436
|
+
// $5/$30 — prior OpenAI flagship
|
|
3437
|
+
"openai/gpt-5.4",
|
|
3438
|
+
// $2.50/$15 — previous flagship, benchmarked
|
|
3439
|
+
"zai/glm-5.3",
|
|
3440
|
+
// $1.40/$4.40, 1M ctx, always-on thinking — verified live 2026-08-19
|
|
3441
|
+
"moonshot/kimi-k3",
|
|
3442
|
+
// $3/$15, 1M ctx — Moonshot flagship (K2.7 successor)
|
|
3443
|
+
"deepseek/deepseek-v4-pro",
|
|
3444
|
+
// $0.435/$0.87 — strongest open-weight reasoner
|
|
3445
|
+
"deepseek/deepseek-chat",
|
|
3446
|
+
// $0.14/$0.28 — cheap last resort
|
|
3447
|
+
"google/gemini-2.5-flash"
|
|
3448
|
+
// $0.30/$2.50
|
|
2997
3449
|
]
|
|
2998
3450
|
},
|
|
2999
3451
|
REASONING: {
|
|
3000
|
-
|
|
3001
|
-
//
|
|
3452
|
+
// Was xai/grok-4-1-fast-reasoning ($0.20/$0.50, hidden 2026-08). DeepSeek
|
|
3453
|
+
// Reasoner is the cheapest listed reasoner at the same 1M context.
|
|
3454
|
+
primary: "deepseek/deepseek-reasoner",
|
|
3455
|
+
// $0.14/$0.28, 1M ctx
|
|
3002
3456
|
fallback: [
|
|
3003
|
-
"xai/grok-4-fast-reasoning",
|
|
3004
|
-
// 1,298ms, $0.20/$0.50
|
|
3005
|
-
"deepseek/deepseek-reasoner",
|
|
3006
|
-
// V4 Flash thinking ($0.20/$0.40, 1M ctx)
|
|
3007
3457
|
"deepseek/deepseek-v4-pro",
|
|
3008
|
-
//
|
|
3458
|
+
// $0.435/$0.87 — calibrated reasoning band 0.95
|
|
3459
|
+
"xai/grok-4.3",
|
|
3460
|
+
// $1.50/$4, 1M ctx — xAI reasoning model, vision
|
|
3461
|
+
"qwen/qwen3.7-plus",
|
|
3462
|
+
// $0.32/$1.28, 1M ctx — reasoning; needs a generous max_tokens (thinking is billed)
|
|
3463
|
+
"google/gemini-3.5-flash",
|
|
3464
|
+
// $1.50/$9 — MGSM 5/5
|
|
3009
3465
|
"openai/o4-mini",
|
|
3010
|
-
//
|
|
3466
|
+
// $1.10/$4.40
|
|
3011
3467
|
"openai/o3"
|
|
3012
|
-
// 2
|
|
3468
|
+
// $2/$8
|
|
3013
3469
|
]
|
|
3014
3470
|
}
|
|
3015
3471
|
},
|
|
@@ -3017,90 +3473,119 @@ var DEFAULT_ROUTING_CONFIG = {
|
|
|
3017
3473
|
ecoTiers: {
|
|
3018
3474
|
SIMPLE: {
|
|
3019
3475
|
primary: "nvidia/step-3.7-flash",
|
|
3020
|
-
// FREE
|
|
3476
|
+
// FREE — NVIDIA free tier flagship
|
|
3021
3477
|
fallback: [
|
|
3022
3478
|
"nvidia/nemotron-nano-9b-v2",
|
|
3023
|
-
// FREE — compact + fast
|
|
3024
|
-
//
|
|
3025
|
-
//
|
|
3026
|
-
//
|
|
3027
|
-
//
|
|
3028
|
-
"google/gemini-3.1-flash-lite",
|
|
3029
|
-
// $0.25/$1.50 — newest flash-lite
|
|
3030
|
-
"openai/gpt-5.4-nano",
|
|
3031
|
-
// $0.20/$1.25 — fast nano
|
|
3479
|
+
// FREE — compact + fast, high-volume light tasks
|
|
3480
|
+
// The free head keeps rotting with NVIDIA's hosting (deepseek-v4-flash
|
|
3481
|
+
// 410 2026-08-12, seed-oss-36b 410 2026-08-03, gpt-oss-120b/20b 400
|
|
3482
|
+
// 2026-08-21). Each retirement retargets the two free rungs to the
|
|
3483
|
+
// current free tier; the paid rungs below never move.
|
|
3032
3484
|
"google/gemini-2.5-flash-lite",
|
|
3033
|
-
// $0.10/$0.40
|
|
3034
|
-
"
|
|
3035
|
-
// $0.
|
|
3485
|
+
// $0.10/$0.40 — cheapest paid rung
|
|
3486
|
+
"zai/glm-5.3-flash",
|
|
3487
|
+
// $0.15/$0.50, 1M ctx, vision + tools
|
|
3488
|
+
"openai/gpt-5.6-luna",
|
|
3489
|
+
// $0.20/$1.20, 1M ctx
|
|
3490
|
+
"openai/gpt-5.4-nano",
|
|
3491
|
+
// $0.20/$1.25
|
|
3492
|
+
"google/gemini-3.1-flash-lite"
|
|
3493
|
+
// $0.25/$1.50
|
|
3036
3494
|
]
|
|
3037
3495
|
},
|
|
3038
3496
|
MEDIUM: {
|
|
3039
|
-
primary: "
|
|
3040
|
-
// $0.
|
|
3497
|
+
primary: "zai/glm-5.3-flash",
|
|
3498
|
+
// $0.15/$0.50, 1M ctx, vision + tools verified live — cheapest full-capability model
|
|
3041
3499
|
fallback: [
|
|
3500
|
+
"deepseek/deepseek-chat",
|
|
3501
|
+
// $0.14/$0.28
|
|
3502
|
+
"google/gemini-3.1-flash-lite",
|
|
3503
|
+
// $0.25/$1.50
|
|
3504
|
+
"openai/gpt-5.6-luna",
|
|
3505
|
+
// $0.20/$1.20
|
|
3042
3506
|
"openai/gpt-5.4-nano",
|
|
3043
3507
|
// $0.20/$1.25
|
|
3044
3508
|
"google/gemini-2.5-flash-lite",
|
|
3045
3509
|
// $0.10/$0.40
|
|
3046
|
-
"xai/grok-4-fast-non-reasoning",
|
|
3047
3510
|
"google/gemini-2.5-flash"
|
|
3511
|
+
// $0.30/$2.50
|
|
3048
3512
|
]
|
|
3049
3513
|
},
|
|
3050
3514
|
COMPLEX: {
|
|
3051
|
-
primary: "
|
|
3052
|
-
// $0.
|
|
3515
|
+
primary: "zai/glm-5.3-flash",
|
|
3516
|
+
// $0.15/$0.50, 1M ctx
|
|
3053
3517
|
fallback: [
|
|
3054
|
-
"
|
|
3055
|
-
|
|
3056
|
-
"
|
|
3057
|
-
|
|
3518
|
+
"deepseek/deepseek-chat",
|
|
3519
|
+
// $0.14/$0.28, 1M ctx
|
|
3520
|
+
"minimax/minimax-m3",
|
|
3521
|
+
// $0.30/$1.20, 1M ctx
|
|
3522
|
+
"deepseek/deepseek-v4-pro",
|
|
3523
|
+
// $0.435/$0.87
|
|
3524
|
+
"google/gemini-3.1-flash-lite",
|
|
3525
|
+
// $0.25/$1.50
|
|
3526
|
+
"google/gemini-2.5-flash"
|
|
3527
|
+
// $0.30/$2.50
|
|
3058
3528
|
]
|
|
3059
3529
|
},
|
|
3060
3530
|
REASONING: {
|
|
3061
|
-
primary: "
|
|
3062
|
-
// $0.
|
|
3531
|
+
primary: "deepseek/deepseek-reasoner",
|
|
3532
|
+
// $0.14/$0.28, 1M ctx — cheapest listed reasoner
|
|
3063
3533
|
fallback: [
|
|
3064
|
-
"
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3534
|
+
"deepseek/deepseek-v4-pro",
|
|
3535
|
+
// $0.435/$0.87
|
|
3536
|
+
"qwen/qwen3.7-plus",
|
|
3537
|
+
// $0.32/$1.28 — reasoning
|
|
3538
|
+
"minimax/minimax-m3",
|
|
3539
|
+
// $0.30/$1.20 — reasoning + coding
|
|
3540
|
+
"zai/glm-5.3-flash"
|
|
3541
|
+
// $0.15/$0.50 — reasoning tokens alongside content
|
|
3069
3542
|
]
|
|
3070
3543
|
}
|
|
3071
3544
|
},
|
|
3072
3545
|
// Premium tier configs - best quality (blockrun/premium)
|
|
3073
|
-
// codex=complex coding,
|
|
3546
|
+
// codex=complex coding, flash=simple coding, sonnet=reasoning/instructions, fable/opus=architecture/PM/audits
|
|
3074
3547
|
premiumTiers: {
|
|
3075
3548
|
SIMPLE: {
|
|
3076
|
-
|
|
3077
|
-
|
|
3549
|
+
// Was moonshot/kimi-k2.7 (hidden 2026-08).
|
|
3550
|
+
primary: "google/gemini-3.5-flash",
|
|
3551
|
+
// $1.50/$9, 1M ctx, vision + tools — calibrated
|
|
3078
3552
|
fallback: [
|
|
3079
|
-
"
|
|
3080
|
-
//
|
|
3081
|
-
"moonshot/kimi-k2.5",
|
|
3082
|
-
// $0.60/$3.00 - proven reliable backstop when Moonshot direct API falters
|
|
3083
|
-
"google/gemini-2.5-flash",
|
|
3084
|
-
// 60% retention, fast growth
|
|
3553
|
+
"google/gemini-3.6-flash",
|
|
3554
|
+
// $1.50/$7.50 — newest Flash
|
|
3085
3555
|
"anthropic/claude-haiku-4.5",
|
|
3086
|
-
|
|
3556
|
+
// $1/$5
|
|
3557
|
+
"zai/glm-5.3",
|
|
3558
|
+
// $1.40/$4.40, 1M ctx
|
|
3559
|
+
"google/gemini-2.5-flash",
|
|
3560
|
+
// $0.30/$2.50
|
|
3561
|
+
"google/gemini-3.5-flash-lite",
|
|
3562
|
+
// $0.30/$2.50
|
|
3087
3563
|
"deepseek/deepseek-chat"
|
|
3564
|
+
// $0.14/$0.28
|
|
3088
3565
|
]
|
|
3089
3566
|
},
|
|
3090
3567
|
MEDIUM: {
|
|
3091
3568
|
primary: "openai/gpt-5.3-codex",
|
|
3092
|
-
// $1.75/$14 - 400K context, 128K output
|
|
3569
|
+
// $1.75/$14 - 400K context, 128K output — code_edit/debug lead (portfolio.ts)
|
|
3093
3570
|
fallback: [
|
|
3094
|
-
"moonshot/kimi-k2.7",
|
|
3095
|
-
// Moonshot flagship
|
|
3096
|
-
"moonshot/kimi-k2.6",
|
|
3097
|
-
"moonshot/kimi-k2.5",
|
|
3098
|
-
"google/gemini-2.5-flash",
|
|
3099
|
-
// 60% retention, good coding capability
|
|
3100
|
-
"google/gemini-2.5-pro",
|
|
3101
|
-
"xai/grok-4-0709",
|
|
3102
3571
|
"anthropic/claude-sonnet-5",
|
|
3103
|
-
|
|
3572
|
+
// $3/$15 — code_agent band 0.98
|
|
3573
|
+
"moonshot/kimi-k3",
|
|
3574
|
+
// $3/$15, 1M ctx — Moonshot flagship
|
|
3575
|
+
"zai/glm-5.3",
|
|
3576
|
+
// $1.40/$4.40 — long-horizon coding
|
|
3577
|
+
"google/gemini-3.6-flash",
|
|
3578
|
+
// $1.50/$7.50
|
|
3579
|
+
"google/gemini-3.5-flash",
|
|
3580
|
+
// $1.50/$9
|
|
3581
|
+
"google/gemini-2.5-pro",
|
|
3582
|
+
// $1.25/$10
|
|
3583
|
+
"xai/grok-4.5",
|
|
3584
|
+
// $2.50/$9
|
|
3585
|
+
"anthropic/claude-sonnet-4.6",
|
|
3586
|
+
// $3/$15
|
|
3587
|
+
"openai/gpt-5.6-terra"
|
|
3588
|
+
// $2/$12
|
|
3104
3589
|
]
|
|
3105
3590
|
},
|
|
3106
3591
|
COMPLEX: {
|
|
@@ -3110,8 +3595,8 @@ var DEFAULT_ROUTING_CONFIG = {
|
|
|
3110
3595
|
// Best quality for complex tasks — Mythos-class flagship above Opus ($10/$50, 1M ctx, always-on thinking)
|
|
3111
3596
|
// Fallback chain de-Gemini'd 2026-04-22: when Anthropic 503s, Gemini is
|
|
3112
3597
|
// also prone to "high demand" 503s (correlated failure — everyone falls
|
|
3113
|
-
// back to Google at the same time). Prefer xAI
|
|
3114
|
-
// flagship → DeepSeek → NVIDIA free instead.
|
|
3598
|
+
// back to Google at the same time). Prefer in-family → xAI → Moonshot →
|
|
3599
|
+
// OpenAI flagship → Z.AI → DeepSeek → NVIDIA free instead.
|
|
3115
3600
|
fallback: [
|
|
3116
3601
|
"anthropic/claude-opus-5",
|
|
3117
3602
|
// in-family hot swap first (half the price, 1M ctx + adaptive thinking)
|
|
@@ -3119,52 +3604,54 @@ var DEFAULT_ROUTING_CONFIG = {
|
|
|
3119
3604
|
// in-family hot swap (identical cost to 5)
|
|
3120
3605
|
"anthropic/claude-opus-4.7",
|
|
3121
3606
|
// in-family hot swap (identical cost to 4.8)
|
|
3122
|
-
"anthropic/claude-opus-4.6",
|
|
3123
|
-
// in-family hot swap
|
|
3124
3607
|
"anthropic/claude-sonnet-5",
|
|
3125
3608
|
// Sonnet-tier drop-down, near-Opus quality
|
|
3126
3609
|
"anthropic/claude-sonnet-4.6",
|
|
3127
3610
|
"xai/grok-4.5",
|
|
3128
|
-
// xAI flagship — 503-resistant, direct-xAI SKU
|
|
3129
|
-
"
|
|
3130
|
-
// 503-resistant flagship
|
|
3131
|
-
"moonshot/kimi-k2.7",
|
|
3611
|
+
// xAI flagship — 503-resistant, direct-xAI SKU
|
|
3612
|
+
"moonshot/kimi-k3",
|
|
3132
3613
|
// Moonshot flagship, independent infra
|
|
3133
|
-
"moonshot/kimi-k2.6",
|
|
3134
|
-
"moonshot/kimi-k2.5",
|
|
3135
3614
|
"openai/gpt-5.6-terra",
|
|
3136
|
-
// GPT-5.6 balanced tier —
|
|
3615
|
+
// GPT-5.6 balanced tier — stable (Sol excluded: #202)
|
|
3137
3616
|
"openai/gpt-5.5",
|
|
3138
3617
|
// Prior OpenAI flagship — 1M+ ctx, native agent + computer use
|
|
3139
3618
|
"openai/gpt-5.4",
|
|
3140
3619
|
// Previous flagship (slow but stable, benchmarked at 6,213ms)
|
|
3141
3620
|
"openai/gpt-5.3-codex",
|
|
3621
|
+
"zai/glm-5.3",
|
|
3622
|
+
// Z.AI flagship, 1M ctx
|
|
3623
|
+
"deepseek/deepseek-v4-pro",
|
|
3624
|
+
// strongest open-weight reasoner
|
|
3142
3625
|
"deepseek/deepseek-chat",
|
|
3143
3626
|
// Cheap, reliable
|
|
3144
3627
|
"nvidia/step-3.7-flash"
|
|
3145
|
-
// NVIDIA free ultimate backstop
|
|
3628
|
+
// NVIDIA free ultimate backstop
|
|
3146
3629
|
]
|
|
3147
3630
|
},
|
|
3148
3631
|
REASONING: {
|
|
3149
|
-
|
|
3150
|
-
//
|
|
3632
|
+
// Sonnet 5 promoted over Sonnet 4.6 (same price; reasoning band 0.98 for both,
|
|
3633
|
+
// plus Sonnet 5's tau2/BrowseComp trajectory evidence).
|
|
3634
|
+
primary: "anthropic/claude-sonnet-5",
|
|
3635
|
+
// $3/$15, 1M ctx, adaptive thinking
|
|
3151
3636
|
fallback: [
|
|
3152
|
-
"anthropic/claude-sonnet-
|
|
3153
|
-
// in-family hot swap — same cost
|
|
3637
|
+
"anthropic/claude-sonnet-4.6",
|
|
3638
|
+
// in-family hot swap — same cost
|
|
3154
3639
|
"anthropic/claude-opus-5",
|
|
3155
3640
|
// Newest flagship Opus w/ adaptive thinking
|
|
3156
3641
|
"anthropic/claude-opus-4.8",
|
|
3157
3642
|
// Prior flagship Opus — identical cost to 5
|
|
3158
3643
|
"anthropic/claude-opus-4.7",
|
|
3159
3644
|
// Flagship Opus w/ adaptive thinking
|
|
3160
|
-
"
|
|
3161
|
-
//
|
|
3162
|
-
"
|
|
3163
|
-
//
|
|
3645
|
+
"xai/grok-4.5",
|
|
3646
|
+
// reasoning band 0.94
|
|
3647
|
+
"deepseek/deepseek-v4-pro",
|
|
3648
|
+
// reasoning band 0.95
|
|
3649
|
+
"xai/grok-4.3",
|
|
3650
|
+
// $1.50/$4 — xAI reasoning model
|
|
3164
3651
|
"openai/o4-mini",
|
|
3165
|
-
//
|
|
3652
|
+
// $1.10/$4.40
|
|
3166
3653
|
"openai/o3"
|
|
3167
|
-
// 2
|
|
3654
|
+
// $2/$8
|
|
3168
3655
|
]
|
|
3169
3656
|
}
|
|
3170
3657
|
},
|
|
@@ -3174,101 +3661,102 @@ var DEFAULT_ROUTING_CONFIG = {
|
|
|
3174
3661
|
primary: "openai/gpt-4o-mini",
|
|
3175
3662
|
// $0.15/$0.60 - best tool compliance at lowest cost
|
|
3176
3663
|
fallback: [
|
|
3177
|
-
"
|
|
3178
|
-
// 1
|
|
3664
|
+
"openai/gpt-5.6-luna",
|
|
3665
|
+
// $0.20/$1.20 — lightweight agentic tier of GPT-5.6
|
|
3666
|
+
"zai/glm-5.3-flash",
|
|
3667
|
+
// $0.15/$0.50 — tool calls verified live 2026-08-27
|
|
3179
3668
|
"anthropic/claude-haiku-4.5",
|
|
3180
|
-
//
|
|
3181
|
-
"
|
|
3182
|
-
//
|
|
3669
|
+
// $1/$5
|
|
3670
|
+
"google/gemini-2.5-flash"
|
|
3671
|
+
// $0.30/$2.50
|
|
3183
3672
|
]
|
|
3184
3673
|
},
|
|
3185
3674
|
MEDIUM: {
|
|
3186
|
-
|
|
3187
|
-
//
|
|
3675
|
+
// Was moonshot/kimi-k2.7 (hidden 2026-08). GPT-5 Mini carries the
|
|
3676
|
+
// Terminal-Bench and tau2 trajectory evidence in portfolio.ts.
|
|
3677
|
+
primary: "openai/gpt-5-mini",
|
|
3678
|
+
// $0.25/$2 — 4/7 Terminal-Bench, 5/6 tau2 airline
|
|
3188
3679
|
fallback: [
|
|
3189
|
-
"
|
|
3190
|
-
//
|
|
3191
|
-
"
|
|
3192
|
-
// $0.
|
|
3193
|
-
"
|
|
3194
|
-
//
|
|
3680
|
+
"google/gemini-3.5-flash",
|
|
3681
|
+
// $1.50/$9 — tool_agent band 0.88
|
|
3682
|
+
"zai/glm-5.3-flash",
|
|
3683
|
+
// $0.15/$0.50 — tools verified
|
|
3684
|
+
"openai/gpt-5.6-terra",
|
|
3685
|
+
// $2/$12
|
|
3195
3686
|
"openai/gpt-4o-mini",
|
|
3196
|
-
//
|
|
3687
|
+
// $0.15/$0.60 — reliable tool calling
|
|
3197
3688
|
"anthropic/claude-haiku-4.5",
|
|
3198
|
-
//
|
|
3199
|
-
"deepseek/deepseek-chat"
|
|
3200
|
-
//
|
|
3689
|
+
// $1/$5
|
|
3690
|
+
"deepseek/deepseek-chat",
|
|
3691
|
+
// $0.14/$0.28
|
|
3692
|
+
"moonshot/kimi-k3"
|
|
3693
|
+
// $3/$15 — tool_agent band 0.85
|
|
3201
3694
|
]
|
|
3202
3695
|
},
|
|
3203
3696
|
COMPLEX: {
|
|
3204
|
-
|
|
3205
|
-
//
|
|
3697
|
+
// Sonnet 5 promoted over Sonnet 4.6: tau2 airline + retail reward 1.0,
|
|
3698
|
+
// Terminal-Bench safety band lead (portfolio.ts).
|
|
3699
|
+
primary: "anthropic/claude-sonnet-5",
|
|
3700
|
+
// $3/$15 — best agentic quality per trajectory evidence
|
|
3206
3701
|
// Fallback chain de-Gemini'd 2026-04-22: Gemini's "high demand" 503s
|
|
3207
3702
|
// correlate with Anthropic outages (everyone falls back together).
|
|
3208
3703
|
// Prefer 503-resistant providers first.
|
|
3209
3704
|
fallback: [
|
|
3210
|
-
"anthropic/claude-sonnet-
|
|
3211
|
-
// in-family hot swap — same cost
|
|
3705
|
+
"anthropic/claude-sonnet-4.6",
|
|
3706
|
+
// in-family hot swap — same cost
|
|
3212
3707
|
"anthropic/claude-opus-5",
|
|
3213
3708
|
// Newest flagship Opus — in-family hot swap
|
|
3214
3709
|
"anthropic/claude-opus-4.8",
|
|
3215
3710
|
// Prior flagship Opus — identical cost to 5
|
|
3216
3711
|
"anthropic/claude-opus-4.7",
|
|
3217
3712
|
// Flagship Opus — in-family hot swap
|
|
3218
|
-
"
|
|
3219
|
-
//
|
|
3220
|
-
"
|
|
3221
|
-
//
|
|
3222
|
-
"moonshot/kimi-k2.7",
|
|
3223
|
-
// Moonshot flagship — strong tool use, independent infra
|
|
3224
|
-
"moonshot/kimi-k2.5",
|
|
3225
|
-
// cost-stability backstop
|
|
3713
|
+
"xai/grok-4.5",
|
|
3714
|
+
// xAI flagship — strong tool use, independent infra
|
|
3715
|
+
"moonshot/kimi-k3",
|
|
3716
|
+
// Moonshot flagship — independent infra
|
|
3226
3717
|
"openai/gpt-5.6-terra",
|
|
3227
|
-
// GPT-5.6 balanced tier —
|
|
3718
|
+
// GPT-5.6 balanced tier — stable (Sol excluded: #202)
|
|
3228
3719
|
"openai/gpt-5.5",
|
|
3229
3720
|
// Prior flagship — native agent + computer use (exactly the agentic-tier use case)
|
|
3230
3721
|
"openai/gpt-5.4",
|
|
3231
|
-
// Previous flagship —
|
|
3722
|
+
// Previous flagship — reliable
|
|
3723
|
+
"openai/gpt-5.3-codex",
|
|
3724
|
+
// code_agent lead
|
|
3725
|
+
"zai/glm-5.3",
|
|
3726
|
+
// long-horizon coding
|
|
3727
|
+
"deepseek/deepseek-v4-pro",
|
|
3728
|
+
// retail high-risk 3/3
|
|
3232
3729
|
"deepseek/deepseek-chat",
|
|
3233
|
-
//
|
|
3730
|
+
// cheap, reliable
|
|
3234
3731
|
"nvidia/step-3.7-flash"
|
|
3235
|
-
// NVIDIA free ultimate backstop
|
|
3732
|
+
// NVIDIA free ultimate backstop
|
|
3236
3733
|
]
|
|
3237
3734
|
},
|
|
3238
3735
|
REASONING: {
|
|
3239
|
-
primary: "anthropic/claude-sonnet-
|
|
3240
|
-
//
|
|
3736
|
+
primary: "anthropic/claude-sonnet-5",
|
|
3737
|
+
// $3/$15 — strong tool use + adaptive thinking
|
|
3241
3738
|
fallback: [
|
|
3242
|
-
"anthropic/claude-sonnet-
|
|
3243
|
-
// in-family hot swap — same cost
|
|
3739
|
+
"anthropic/claude-sonnet-4.6",
|
|
3740
|
+
// in-family hot swap — same cost
|
|
3244
3741
|
"anthropic/claude-opus-5",
|
|
3245
3742
|
// Newest flagship Opus w/ adaptive thinking
|
|
3246
3743
|
"anthropic/claude-opus-4.8",
|
|
3247
3744
|
// Prior flagship Opus — identical cost to 5
|
|
3248
3745
|
"anthropic/claude-opus-4.7",
|
|
3249
3746
|
// Flagship Opus w/ adaptive thinking
|
|
3250
|
-
"
|
|
3251
|
-
//
|
|
3252
|
-
"
|
|
3253
|
-
//
|
|
3747
|
+
"xai/grok-4.5",
|
|
3748
|
+
// reasoning band 0.94
|
|
3749
|
+
"deepseek/deepseek-v4-pro",
|
|
3750
|
+
// reasoning band 0.95
|
|
3254
3751
|
"deepseek/deepseek-reasoner"
|
|
3255
|
-
//
|
|
3752
|
+
// $0.14/$0.28
|
|
3256
3753
|
]
|
|
3257
3754
|
}
|
|
3258
3755
|
},
|
|
3259
|
-
// Time-windowed promotions — auto-applied when active, ignored when expired
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
startDate: "2026-04-01",
|
|
3264
|
-
endDate: "2026-05-01",
|
|
3265
|
-
tierOverrides: {
|
|
3266
|
-
SIMPLE: { primary: "zai/glm-5.1" }
|
|
3267
|
-
},
|
|
3268
|
-
profiles: ["auto"]
|
|
3269
|
-
// only auto profile — eco stays free, premium stays premium
|
|
3270
|
-
}
|
|
3271
|
-
],
|
|
3756
|
+
// Time-windowed promotions — auto-applied when active, ignored when expired.
|
|
3757
|
+
// The GLM-5.1 launch promo (2026-04-01 → 2026-05-01) was the last entry and
|
|
3758
|
+
// has expired; the list is kept empty so the mechanism stays wired.
|
|
3759
|
+
promotions: [],
|
|
3272
3760
|
overrides: {
|
|
3273
3761
|
maxTokensForceComplex: 1e5,
|
|
3274
3762
|
structuredOutputMinTier: "MEDIUM",
|