@blockrun/clawrouter 0.12.249 → 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.
@@ -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: 8192,
508
+ maxOutputTokens: 64e3,
508
509
  supportsTools: true,
509
510
  supportsVision: true
510
511
  },
511
- "anthropic/claude-opus-4.6": {
512
- contextWindow: 1e6,
513
- maxOutputTokens: 128e3,
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.6": {
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: 1e6,
549
- maxOutputTokens: 8192,
556
+ contextWindow: 1048576,
557
+ maxOutputTokens: 65536,
550
558
  supportsTools: true,
551
559
  supportsVision: false
552
560
  },
553
561
  "deepseek/deepseek-reasoner": {
554
- contextWindow: 1e6,
555
- maxOutputTokens: 8192,
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: 1e6,
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: 1e6,
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: 105e4,
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: 1e6,
592
+ contextWindow: 1048576,
597
593
  maxOutputTokens: 65536,
598
- supportsTools: false,
594
+ supportsTools: true,
599
595
  supportsVision: true
600
596
  },
601
597
  "google/gemini-3.1-flash-lite": {
602
- contextWindow: 1e6,
603
- maxOutputTokens: 8192,
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: 105e4,
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
- "moonshot/kimi-k2.5": {
620
- contextWindow: 262144,
621
- maxOutputTokens: 16384,
615
+ "google/gemini-3.5-flash-lite": {
616
+ contextWindow: 1048576,
617
+ maxOutputTokens: 65536,
622
618
  supportsTools: true,
623
- supportsVision: true
619
+ supportsVision: false
624
620
  },
625
- "moonshot/kimi-k2.6": {
626
- contextWindow: 262144,
621
+ "google/gemini-3.6-flash": {
622
+ contextWindow: 1048576,
627
623
  maxOutputTokens: 65536,
628
624
  supportsTools: true,
629
625
  supportsVision: true
630
626
  },
631
- "moonshot/kimi-k2.7": {
632
- contextWindow: 262144,
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: true
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: 65536,
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: 32768,
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
- "xai/grok-3-mini": {
722
- contextWindow: 131072,
723
- maxOutputTokens: 16384,
856
+ "qwen/qwen3.7-plus": {
857
+ contextWindow: 1e6,
858
+ maxOutputTokens: 131072,
724
859
  supportsTools: true,
725
860
  supportsVision: false
726
861
  },
727
- "xai/grok-4-0709": {
728
- contextWindow: 131072,
729
- maxOutputTokens: 16384,
862
+ "tencent/hy3": {
863
+ contextWindow: 262144,
864
+ maxOutputTokens: 128e3,
730
865
  supportsTools: true,
731
866
  supportsVision: false
732
867
  },
733
- "xai/grok-4-1-fast-non-reasoning": {
734
- contextWindow: 131072,
868
+ "xai/grok-4.3": {
869
+ contextWindow: 1e6,
735
870
  maxOutputTokens: 16384,
736
871
  supportsTools: true,
737
- supportsVision: false
872
+ supportsVision: true
738
873
  },
739
- "xai/grok-4-1-fast-reasoning": {
740
- contextWindow: 131072,
874
+ "xai/grok-4.5": {
875
+ contextWindow: 5e5,
741
876
  maxOutputTokens: 16384,
742
877
  supportsTools: true,
743
- supportsVision: false
878
+ supportsVision: true
744
879
  },
745
- "xai/grok-4-fast-non-reasoning": {
746
- contextWindow: 131072,
880
+ "xai/grok-build-0.1": {
881
+ contextWindow: 256e3,
747
882
  maxOutputTokens: 16384,
748
883
  supportsTools: true,
749
884
  supportsVision: false
750
885
  },
751
- "xai/grok-4-fast-reasoning": {
752
- contextWindow: 131072,
753
- maxOutputTokens: 16384,
886
+ "xiaomi/mimo-v2.5-pro": {
887
+ contextWindow: 1048576,
888
+ maxOutputTokens: 131072,
754
889
  supportsTools: true,
755
890
  supportsVision: false
756
891
  },
757
- "xai/grok-4.5": {
758
- contextWindow: 5e5,
759
- maxOutputTokens: 16384,
892
+ "zai/glm-5": {
893
+ contextWindow: 2e5,
894
+ maxOutputTokens: 128e3,
760
895
  supportsTools: true,
761
- supportsVision: true
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: 262144,
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
- "openai/gpt-5.5": {
778
- measuredAt: "2026-07-21T10:21:31Z",
779
- latencyMs: 6243.1,
780
- p95LatencyMs: 9865,
781
- outputTokensPerSecond: 12.53,
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
- "openai/gpt-5.4-pro": {
786
- measuredAt: "2026-07-21T10:21:31Z",
787
- latencyMs: 13015.5,
788
- p95LatencyMs: 23976.4,
789
- outputTokensPerSecond: 6.42,
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
- "openai/gpt-5.4-mini": {
794
- measuredAt: "2026-07-21T10:21:31Z",
795
- latencyMs: 5550,
796
- p95LatencyMs: 6595.7,
797
- outputTokensPerSecond: 11.96,
798
- errorRate: 0.3333,
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
- "openai/gpt-5.3-codex": {
802
- measuredAt: "2026-07-21T10:21:31Z",
803
- latencyMs: 4617.1,
804
- p95LatencyMs: 5800.7,
805
- outputTokensPerSecond: 12.48,
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-07-21T10:21:31Z",
811
- latencyMs: 3915.1,
812
- p95LatencyMs: 6130.8,
813
- outputTokensPerSecond: 16.33,
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-4.6": {
818
- measuredAt: "2026-07-21T10:21:31Z",
819
- latencyMs: 3765.5,
820
- p95LatencyMs: 4257.2,
821
- outputTokensPerSecond: 14.18,
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-07-21T10:21:31Z",
827
- latencyMs: 3860.6,
828
- p95LatencyMs: 5093.5,
829
- outputTokensPerSecond: 13.85,
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-haiku-4.5": {
834
- measuredAt: "2026-07-21T10:21:31Z",
835
- latencyMs: 2734.9,
836
- p95LatencyMs: 3181.6,
837
- outputTokensPerSecond: 19.58,
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
- "google/gemini-3.1-pro": {
842
- measuredAt: "2026-07-21T10:21:31Z",
843
- latencyMs: 13935.7,
844
- p95LatencyMs: 26675.3,
845
- outputTokensPerSecond: 77.47,
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
- "google/gemini-3.5-flash": {
850
- measuredAt: "2026-07-21T10:21:31Z",
851
- latencyMs: 4608.7,
852
- p95LatencyMs: 8420.9,
853
- outputTokensPerSecond: 57.88,
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
- "google/gemini-3.1-flash-lite": {
858
- measuredAt: "2026-07-21T10:21:31Z",
859
- latencyMs: 4619.7,
860
- p95LatencyMs: 9927.1,
861
- outputTokensPerSecond: 42.01,
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-07-21T10:21:31Z",
867
- latencyMs: 5506.9,
868
- p95LatencyMs: 11462.5,
869
- outputTokensPerSecond: 65.19,
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
- "deepseek/deepseek-v4-pro": {
874
- measuredAt: "2026-07-21T10:21:31Z",
875
- latencyMs: 6044.8,
876
- p95LatencyMs: 10782.3,
877
- outputTokensPerSecond: 22.47,
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
- "deepseek/deepseek-reasoner": {
882
- measuredAt: "2026-07-21T10:21:31Z",
883
- latencyMs: 4111.9,
884
- p95LatencyMs: 5305.7,
885
- outputTokensPerSecond: 16.46,
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
- "deepseek/deepseek-chat": {
890
- measuredAt: "2026-07-21T10:21:31Z",
891
- latencyMs: 2648.6,
892
- p95LatencyMs: 3524.1,
893
- outputTokensPerSecond: 16.73,
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
- "moonshot/kimi-k2.7": {
898
- measuredAt: "2026-07-21T10:21:31Z",
899
- latencyMs: 4295.4,
900
- p95LatencyMs: 6153.8,
901
- outputTokensPerSecond: 18.54,
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
- "qwen/qwen3.7-max": {
906
- measuredAt: "2026-07-21T10:21:31Z",
907
- latencyMs: 30729.4,
908
- p95LatencyMs: 39622,
909
- outputTokensPerSecond: 36.89,
910
- errorRate: 0.3333,
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
- "xai/grok-4.3": {
914
- measuredAt: "2026-07-21T10:21:31Z",
915
- latencyMs: 6946.1,
916
- p95LatencyMs: 9495.4,
917
- outputTokensPerSecond: 65.3,
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
- "xai/grok-4.20-reasoning": {
922
- measuredAt: "2026-07-21T10:21:31Z",
923
- latencyMs: 3472.4,
924
- p95LatencyMs: 5332.4,
925
- outputTokensPerSecond: 13.27,
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
- "xai/grok-4.20-non-reasoning": {
930
- measuredAt: "2026-07-21T10:21:31Z",
931
- latencyMs: 5174.4,
932
- p95LatencyMs: 6081.7,
933
- outputTokensPerSecond: 10.21,
934
- errorRate: 0.3333,
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
- "xai/grok-4-1-fast-reasoning": {
938
- measuredAt: "2026-07-21T10:21:31Z",
939
- latencyMs: 13148.2,
940
- p95LatencyMs: 19104.2,
941
- outputTokensPerSecond: 4.28,
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-07-21T10:21:31Z",
947
- latencyMs: 3385,
948
- p95LatencyMs: 4247.2,
949
- outputTokensPerSecond: 15.16,
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
- "minimax/minimax-m2.7": {
954
- measuredAt: "2026-07-21T10:21:31Z",
955
- latencyMs: 4596.7,
956
- p95LatencyMs: 6884.6,
957
- outputTokensPerSecond: 17.03,
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
- "zai/glm-5.2": {
962
- measuredAt: "2026-07-21T10:21:31Z",
963
- latencyMs: 4406.3,
964
- p95LatencyMs: 6139.7,
965
- outputTokensPerSecond: 10.41,
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
- "zai/glm-5.1": {
970
- measuredAt: "2026-07-21T10:21:31Z",
971
- latencyMs: 7775.4,
972
- p95LatencyMs: 9182.1,
973
- outputTokensPerSecond: 6.08,
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-07-21T10:21:31Z",
979
- latencyMs: 4159.4,
980
- p95LatencyMs: 4992.7,
981
- outputTokensPerSecond: 10.28,
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
- "free/qwen3-coder-480b": {
986
- measuredAt: "2026-07-21T10:21:31Z",
987
- latencyMs: 2063.9,
988
- p95LatencyMs: 3646.3,
989
- outputTokensPerSecond: 39.8,
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
- "free/mistral-large-3-675b": {
994
- measuredAt: "2026-07-21T10:21:31Z",
995
- latencyMs: 3147.5,
996
- p95LatencyMs: 5555.3,
997
- outputTokensPerSecond: 27.76,
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
- "free/nemotron-3-nano-omni-30b-a3b-reasoning": {
1002
- measuredAt: "2026-07-21T10:21:31Z",
1003
- latencyMs: 6508.4,
1004
- p95LatencyMs: 14252.7,
1005
- outputTokensPerSecond: 68.26,
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
- "free/glm-4.7": {
1010
- measuredAt: "2026-07-21T10:21:31Z",
1011
- latencyMs: 2014.8,
1012
- p95LatencyMs: 3039.9,
1013
- outputTokensPerSecond: 39.92,
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(["kimi-k2.7", "deepseek-v4-pro"], 0.86)
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-k2.7", "grok-4.3"], 0.9)
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"], 0.9),
1629
- match(["claude-sonnet-5", "claude-sonnet-4.6"], 0.9),
1630
- match(["kimi-k3", "kimi-k2.7"], kimiExtractionAffinity)
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", "kimi-k2.7"], 0.86)
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.4",
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
- // 1,238ms, IQ 20, 60% retention (best) — fast AND quality
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
- // 1,398ms, IQ 46 — smarter fallback
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
- // V4 Flash chat ($0.20/$0.40, 1M ctx) — repriced 2026-04-24
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 context — newest flash-lite
2939
- "google/gemini-2.5-flash-lite",
2940
- // 1,353ms, $0.10/$0.40
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 context
2943
- "xai/grok-4-fast-non-reasoning",
2944
- // 1,143ms, $0.20/$0.50 — fast fallback
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 — new NVIDIA free tier (gpt-oss-120b now 400s; probed 2026-08-21)
3386
+ // FREE backstop — NVIDIA free tier (probed 2026-08-21)
2947
3387
  ]
2948
3388
  },
2949
3389
  MEDIUM: {
2950
- primary: "moonshot/kimi-k2.7",
2951
- // $0.95/$4.00, 256K ctx, multi-modal + reasoning — Moonshot flagship; promoted from K2.6 (2026-06-14) after BlockRun added K2.7 + hid K2.6. Same price as K2.6.
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
- "moonshot/kimi-k2.6",
2954
- // identical-cost in-family hot swap (K2.6 still routable)
2955
- "moonshot/kimi-k2.5",
2956
- // $0.60/$3.00 — graceful-degradation backstop
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
- // 1,398ms, IQ 46 — nearly same IQ, faster + cheaper
3402
+ // $0.50/$3
2959
3403
  "deepseek/deepseek-chat",
2960
- // 1,431ms, IQ 32, 41% retention
3404
+ // $0.14/$0.28
2961
3405
  "google/gemini-2.5-flash",
2962
- // 1,238ms, 60% retention
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, 1M context
2965
- "google/gemini-2.5-flash-lite",
2966
- // 1,353ms, $0.10/$0.40
2967
- "xai/grok-4-1-fast-non-reasoning",
2968
- // 1,244ms, fast fallback
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
- // 1,609ms, IQ 57 — fast flagship quality
3419
+ // $2/$12 — proven long-context flagship (portfolio.ts long_context lead)
2976
3420
  fallback: [
2977
- "google/gemini-3-flash-preview",
2978
- // 1,398ms, IQ 46 — fast + smart
2979
- "xai/grok-4-0709",
2980
- // 1,348ms, IQ 41
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 at Sonnet cost, 1M ctx
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
- // 2,110ms, IQ 52 — quality fallback
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 — newest generation, stable (Sol excluded: #202)
3434
+ // $2/$12 — GPT-5.6 balanced tier (Sol excluded: #202)
2993
3435
  "openai/gpt-5.5",
2994
- // Prior OpenAI flagship — 1M+ ctx, native agent + computer use; benchmark TBD
2995
- "openai/gpt-5.4"
2996
- // 6,213ms, IQ 57 — previous flagship, benchmarked
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
- primary: "xai/grok-4-1-fast-reasoning",
3001
- // 1,454ms, $0.20/$0.50
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
- // V4 Pro flagship ($0.50/$1.00 promo through 2026-05-31, list $2/$4) — strongest open-weight reasoner
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
- // 2,328ms ($1.10/$4.40)
3466
+ // $1.10/$4.40
3011
3467
  "openai/o3"
3012
- // 2,862ms
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! $0.00/$0.00 — new NVIDIA free tier flagship
3476
+ // FREE — NVIDIA free tier flagship
3021
3477
  fallback: [
3022
3478
  "nvidia/nemotron-nano-9b-v2",
3023
- // FREE — compact + fast (~0.7s), high-volume light tasks
3024
- // This head keeps rotting with NVIDIA's free hosting: deepseek-v4-flash
3025
- // (410, 2026-08-12), seed-oss-36b (410, 2026-08-03), then gpt-oss-120b/20b
3026
- // (400 Unknown model, probed 2026-08-21). Each retirement retargets the
3027
- // two free rungs to the current free tier; the paid rungs below never move.
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
- "xai/grok-4-fast-non-reasoning"
3035
- // $0.20/$0.50
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: "google/gemini-3.1-flash-lite",
3040
- // $0.25/$1.50 — newest flash-lite
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: "google/gemini-3.1-flash-lite",
3052
- // $0.25/$1.50
3515
+ primary: "zai/glm-5.3-flash",
3516
+ // $0.15/$0.50, 1M ctx
3053
3517
  fallback: [
3054
- "google/gemini-2.5-flash-lite",
3055
- "xai/grok-4-0709",
3056
- "google/gemini-2.5-flash",
3057
- "deepseek/deepseek-chat"
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: "xai/grok-4-1-fast-reasoning",
3062
- // $0.20/$0.50
3531
+ primary: "deepseek/deepseek-reasoner",
3532
+ // $0.14/$0.28, 1M ctx — cheapest listed reasoner
3063
3533
  fallback: [
3064
- "xai/grok-4-fast-reasoning",
3065
- "deepseek/deepseek-reasoner",
3066
- // V4 Flash thinking — $0.20/$0.40
3067
- "deepseek/deepseek-v4-pro"
3068
- // V4 Pro flagship — $0.50/$1.00 promo, post-promo $2/$4
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, kimi=simple coding, sonnet=reasoning/instructions, opus=architecture/PM/audits
3546
+ // codex=complex coding, flash=simple coding, sonnet=reasoning/instructions, fable/opus=architecture/PM/audits
3074
3547
  premiumTiers: {
3075
3548
  SIMPLE: {
3076
- primary: "moonshot/kimi-k2.7",
3077
- // $0.95/$4.00 - Moonshot flagship (256K ctx, multi-modal + reasoning); promoted from K2.6 (2026-06-14), same price
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
- "moonshot/kimi-k2.6",
3080
- // identical-cost in-family hot swap (K2.6 still routable)
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
- "google/gemini-2.5-flash-lite",
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, replaces 5.2
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
- "anthropic/claude-sonnet-4.6"
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 Grok → Moonshot → OpenAI
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 (added 2026-07-14)
3129
- "xai/grok-4-0709",
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 — newest generation, stable (Sol excluded: #202)
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 (was gpt-oss-120b; 400s since ~2026-08)
3628
+ // NVIDIA free ultimate backstop
3146
3629
  ]
3147
3630
  },
3148
3631
  REASONING: {
3149
- primary: "anthropic/claude-sonnet-4.6",
3150
- // 2,110ms, $3/$15 - best for reasoning/instructions
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-5",
3153
- // in-family hot swap — same cost, adaptive thinking, 1M ctx
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
- "anthropic/claude-opus-4.6",
3161
- // 2,139ms
3162
- "xai/grok-4-1-fast-reasoning",
3163
- // 1,454ms, cheap fast reasoning
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
- // 2,328ms ($1.10/$4.40)
3652
+ // $1.10/$4.40
3166
3653
  "openai/o3"
3167
- // 2,862ms
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
- "moonshot/kimi-k2.5",
3178
- // 1,646ms, strong tool use quality
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
- // 2,305ms
3181
- "xai/grok-4-1-fast-non-reasoning"
3182
- // 1,244ms, fast fallback
3669
+ // $1/$5
3670
+ "google/gemini-2.5-flash"
3671
+ // $0.30/$2.50
3183
3672
  ]
3184
3673
  },
3185
3674
  MEDIUM: {
3186
- primary: "moonshot/kimi-k2.7",
3187
- // $0.95/$4.00 — Moonshot flagship, strong tool use; promoted from K2.6 (2026-06-14) after BlockRun added K2.7 + hid K2.6. Same price.
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
- "moonshot/kimi-k2.6",
3190
- // identical-cost in-family hot swap (K2.6 still routable)
3191
- "moonshot/kimi-k2.5",
3192
- // $0.60/$3.00 — graceful-degradation backstop
3193
- "xai/grok-4-1-fast-non-reasoning",
3194
- // 1,244ms, fast fallback
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
- // 2,764ms, reliable tool calling
3687
+ // $0.15/$0.60 — reliable tool calling
3197
3688
  "anthropic/claude-haiku-4.5",
3198
- // 2,305ms
3199
- "deepseek/deepseek-chat"
3200
- // 1,431ms
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
- primary: "anthropic/claude-sonnet-4.6",
3205
- // 2,110ms — best agentic quality
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-5",
3211
- // in-family hot swap — same cost, near-Opus agentic quality
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
- "anthropic/claude-opus-4.6",
3219
- // 2,139ms
3220
- "xai/grok-4-0709",
3221
- // 1,348ms — strong tool use, independent infra
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 — newest generation, stable (Sol excluded: #202)
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 — 6,213ms, reliable
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
- // 1,431ms — cheap, reliable
3730
+ // cheap, reliable
3234
3731
  "nvidia/step-3.7-flash"
3235
- // NVIDIA free ultimate backstop (was gpt-oss-120b; 400s since ~2026-08)
3732
+ // NVIDIA free ultimate backstop
3236
3733
  ]
3237
3734
  },
3238
3735
  REASONING: {
3239
- primary: "anthropic/claude-sonnet-4.6",
3240
- // 2,110ms — strong tool use + reasoning
3736
+ primary: "anthropic/claude-sonnet-5",
3737
+ // $3/$15 — strong tool use + adaptive thinking
3241
3738
  fallback: [
3242
- "anthropic/claude-sonnet-5",
3243
- // in-family hot swap — same cost, adaptive thinking
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
- "anthropic/claude-opus-4.6",
3251
- // 2,139ms
3252
- "xai/grok-4-1-fast-reasoning",
3253
- // 1,454ms
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
- // 1,454ms
3752
+ // $0.14/$0.28
3256
3753
  ]
3257
3754
  }
3258
3755
  },
3259
- // Time-windowed promotions — auto-applied when active, ignored when expired
3260
- promotions: [
3261
- {
3262
- name: "GLM-5.1 Launch Promo ($0.001 flat)",
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",