@yanlinglabs/winter-provider-catalog 0.0.20 → 0.0.23

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.
@@ -28,7 +28,7 @@
28
28
  },
29
29
  {
30
30
  "name": "opus",
31
- "canonicalModelId": "claude-opus-5",
31
+ "canonicalModelId": "claude-opus-5.5",
32
32
  "description": "very capable on complex, multi-step engineering; the demanding-work default.",
33
33
  "reason": "Second: near the top on capability at a lower price.",
34
34
  "basis": "winter-curated",
@@ -68,7 +68,7 @@
68
68
  "matchers": [
69
69
  {
70
70
  "pattern": "^deepseek",
71
- "note": "unanchored tail on purpose: the lineup ships as `deepseek-v4-pro` and as `deepseek-reasoner`-style ids alike"
71
+ "note": "unanchored tail on purpose: the lineup ships as `deepseek-v4-pro` and `deepseek-flash`; legacy aliases remain provider-local rather than becoming separate canonical models"
72
72
  }
73
73
  ],
74
74
  "slots": [
@@ -83,7 +83,7 @@
83
83
  },
84
84
  {
85
85
  "name": "flash",
86
- "canonicalModelId": "deepseek-v4-flash",
86
+ "canonicalModelId": "deepseek-flash",
87
87
  "description": "the fast, cheap implementer of the same lineup.",
88
88
  "reason": "Second: cost and speed.",
89
89
  "basis": "winter-curated",
@@ -94,13 +94,61 @@
94
94
  "status": "candidate",
95
95
  "citation": "spec:WS-13c §9"
96
96
  },
97
+ {
98
+ "id": "ernie",
99
+ "displayName": "ERNIE",
100
+ "vendor": "Baidu",
101
+ "vendorProviders": [
102
+ "baidu",
103
+ "qianfan",
104
+ "qianfan-anthropic"
105
+ ],
106
+ "matchers": [
107
+ {
108
+ "pattern": "^ernie-",
109
+ "note": "Baidu's ERNIE ids retain the same vendor prefix across Baidu AI Cloud and Qianfan"
110
+ }
111
+ ],
112
+ "slots": [
113
+ {
114
+ "name": "5.1",
115
+ "canonicalModelId": "ernie-5.1",
116
+ "description": "the current ERNIE general model.",
117
+ "reason": "First: current flagship generation.",
118
+ "basis": "winter-curated",
119
+ "citation": "Baidu Qianfan model and pricing documentation, retrieved 2026-09-19",
120
+ "status": "candidate"
121
+ },
122
+ {
123
+ "name": "5.0",
124
+ "canonicalModelId": "ernie-5.0",
125
+ "description": "the ERNIE 5.0 general model.",
126
+ "reason": "Second: previous current generation.",
127
+ "basis": "winter-curated",
128
+ "citation": "Baidu Qianfan model and pricing documentation, retrieved 2026-09-19",
129
+ "status": "candidate"
130
+ },
131
+ {
132
+ "name": "x1.1",
133
+ "canonicalModelId": "ernie-x1.1",
134
+ "description": "the ERNIE deep-thinking model line.",
135
+ "reason": "Third: reasoning-oriented alternative.",
136
+ "basis": "winter-curated",
137
+ "citation": "Baidu Qianfan model and pricing documentation, retrieved 2026-09-19",
138
+ "status": "candidate"
139
+ }
140
+ ],
141
+ "status": "candidate",
142
+ "citation": "https://cloud.baidu.com/doc/qianfan-docs/s/Jm8r1826a — Baidu's current Qianfan pricing table (retrieved 2026-09-19)"
143
+ },
97
144
  {
98
145
  "id": "gemini",
99
146
  "displayName": "Gemini",
100
147
  "vendor": "Google",
101
148
  "vendorProviders": [
102
149
  "google",
103
- "vertex"
150
+ "vertex",
151
+ "google-openai"
104
152
  ],
105
153
  "$comment": "The family §9 uses to make D26's point: position is NOT a strength claim. Flash is documented as the stronger model and Pro still leads the list, because the user's framing is that Pro is described by what it is GOOD AT rather than by rank.",
106
154
  "matchers": [
@@ -146,6 +194,7 @@
146
194
  "displayName": "Gemma",
147
195
  "vendor": "Google",
148
196
  "vendorProviders": [
197
+ "google",
149
198
  "vertex"
150
199
  ],
151
200
  "matchers": [
@@ -174,7 +223,9 @@
174
223
  "vendor": "Z.AI",
175
224
  "vendorProviders": [
176
225
  "zai",
177
- "zai-anthropic"
226
+ "zai-anthropic",
227
+ "zhipu",
228
+ "zhipu-anthropic"
178
229
  ],
179
230
  "matchers": [
180
231
  {
@@ -232,7 +283,7 @@
232
283
  },
233
284
  {
234
285
  "name": "sol",
235
- "canonicalModelId": "gpt-5.6-sol",
286
+ "canonicalModelId": "gpt-6-sol",
236
287
  "description": "a highly capable model for VERY complex novelty tasks; already overkill for most work.",
237
288
  "reason": "Second: the ceiling before Astra.",
238
289
  "basis": "user-ruling",
@@ -250,7 +301,7 @@
250
301
  },
251
302
  {
252
303
  "name": "luna",
253
- "canonicalModelId": "gpt-5.6-luna",
304
+ "canonicalModelId": "gpt-6-luna",
254
305
  "description": "not far from Terra on implementation capability, and probably the best cheap implementer on the market.",
255
306
  "reason": "Fourth: cost.",
256
307
  "basis": "user-ruling",
@@ -341,7 +392,13 @@
341
392
  "vendor": "Moonshot AI",
342
393
  "vendorProviders": [
343
394
  "kimi-coding",
344
- "moonshot"
395
+ "moonshot",
396
+ "kimi-coding-openai",
397
+ "kimi-coding-intl",
398
+ "kimi-coding-intl-openai",
399
+ "moonshot-anthropic",
400
+ "moonshot-cn",
401
+ "moonshot-cn-anthropic"
345
402
  ],
346
403
  "$comment": "The coding plan spells its ids differently from the platform (`k3`, not `kimi-k3`), which is what the per-row `canonicalModelId` override in overlay/models.json exists for — without it `kimi-coding/k3` would be its own canonical model and the `k3` slot would not see it. VENDORPROVIDERS DIVERGE FROM §9's PRINTED LIST, deliberately (controller ruling R-6c-15, fix r1): §9 prints `moonshot, kimi-coding`, but §4 step 3-i requires a configured SUBSCRIPTION row before a token row of the same vendor, and in this catalog `kimi-coding` is `pricingBasis: subscription` while `moonshot` is `token` — kimi was the only family where the two disagreed (`gpt` and `grok` already put the subscription first). §9 is amended by the controller; a §9<->overlay diff must read this row as the ruling, not as drift.",
347
404
  "matchers": [
@@ -391,8 +448,8 @@
391
448
  ],
392
449
  "matchers": [
393
450
  {
394
- "pattern": "^llama-",
395
- "note": "after the normaliser strips the `meta-llama/` namespace"
451
+ "pattern": "^llama-(?!.*nemotron)",
452
+ "note": "after the normaliser strips the `meta-llama/` namespace; NVIDIA's Llama-Nemotron derivatives belong to the dedicated Nemotron family"
396
453
  }
397
454
  ],
398
455
  "slots": [
@@ -424,7 +481,11 @@
424
481
  "vendor": "MiniMax",
425
482
  "vendorProviders": [
426
483
  "minimax",
427
- "minimax-anthropic"
484
+ "minimax-anthropic",
485
+ "minimax-token-plan",
486
+ "minimax-token-plan-anthropic",
487
+ "minimax-cn",
488
+ "minimax-cn-anthropic"
428
489
  ],
429
490
  "matchers": [
430
491
  {
@@ -464,6 +525,42 @@
464
525
  "status": "candidate",
465
526
  "citation": "spec:WS-13c §9"
466
527
  },
528
+ {
529
+ "id": "nemotron",
530
+ "displayName": "Nemotron",
531
+ "vendor": "NVIDIA",
532
+ "vendorProviders": [
533
+ "nvidia"
534
+ ],
535
+ "matchers": [
536
+ {
537
+ "pattern": "^(?:nvidia-)?nemotron-|^llama-.*nemotron|^mistral-.*nemotron",
538
+ "note": "covers NVIDIA's named Nemotron line, including Llama- and Mistral-derived Nemotron releases after provider namespaces are stripped"
539
+ }
540
+ ],
541
+ "slots": [
542
+ {
543
+ "name": "ultra",
544
+ "canonicalModelId": "nemotron-3-ultra-550b-a55b",
545
+ "description": "the largest current Nemotron model in the catalog.",
546
+ "reason": "First: capability tier.",
547
+ "basis": "winter-curated",
548
+ "citation": "NVIDIA NIM model catalog, retrieved 2026-09-19",
549
+ "status": "candidate"
550
+ },
551
+ {
552
+ "name": "super",
553
+ "canonicalModelId": "nemotron-3-super-120b-a12b",
554
+ "description": "the smaller current Nemotron general model.",
555
+ "reason": "Second: lower-cost general alternative.",
556
+ "basis": "winter-curated",
557
+ "citation": "NVIDIA NIM model catalog, retrieved 2026-09-19",
558
+ "status": "candidate"
559
+ }
560
+ ],
561
+ "status": "candidate",
562
+ "citation": "https://build.nvidia.com/models — NVIDIA's hosted model catalog (retrieved 2026-09-19)"
563
+ },
467
564
  {
468
565
  "id": "mistral",
469
566
  "displayName": "Mistral",
@@ -473,8 +570,8 @@
473
570
  ],
474
571
  "matchers": [
475
572
  {
476
- "pattern": "^mistral-|^codestral|^devstral|^magistral|^ministral|^pixtral",
477
- "note": "the vendor ships one lineup under several `-stral` names; all of them are Mistral models"
573
+ "pattern": "^mistral-(?!.*nemotron)|^codestral|^devstral|^magistral|^ministral|^pixtral",
574
+ "note": "the vendor ships one lineup under several `-stral` names; NVIDIA's Mistral-Nemotron derivative is assigned to the dedicated Nemotron family"
478
575
  }
479
576
  ],
480
577
  "slots": [
@@ -496,15 +593,6 @@
496
593
  "citation": "spec:WS-13c §9",
497
594
  "status": "candidate"
498
595
  },
499
- {
500
- "name": "devstral",
501
- "canonicalModelId": "devstral-latest",
502
- "description": "the agentic-coding model.",
503
- "reason": "Third: implementation.",
504
- "basis": "winter-curated",
505
- "citation": "spec:WS-13c §9",
506
- "status": "candidate"
507
- },
508
596
  {
509
597
  "name": "small",
510
598
  "canonicalModelId": "mistral-small-latest",
@@ -557,7 +645,16 @@
557
645
  "vendor": "Alibaba",
558
646
  "vendorProviders": [
559
647
  "qwen-cloud",
560
- "alibaba"
648
+ "qwen-cloud-token-plan",
649
+ "alibaba",
650
+ "alibaba-cn",
651
+ "alibaba-anthropic",
652
+ "alibaba-cn-anthropic",
653
+ "qwen-token-plan-anthropic",
654
+ "qwen-coding",
655
+ "qwen-coding-anthropic",
656
+ "qwen-coding-cn",
657
+ "qwen-coding-cn-anthropic"
561
658
  ],
562
659
  "matchers": [
563
660
  {
@@ -596,6 +693,216 @@
596
693
  ],
597
694
  "status": "candidate",
598
695
  "citation": "spec:WS-13c §9"
696
+ },
697
+ {
698
+ "id": "muse",
699
+ "displayName": "Muse",
700
+ "vendor": "Meta",
701
+ "vendorProviders": [
702
+ "meta",
703
+ "meta-anthropic"
704
+ ],
705
+ "matchers": [
706
+ {
707
+ "pattern": "^muse-",
708
+ "note": "Meta Superintelligence Labs' Muse line on the Meta Model API (`muse-spark-1.3`)"
709
+ }
710
+ ],
711
+ "slots": [
712
+ {
713
+ "name": "spark",
714
+ "canonicalModelId": "muse-spark-1.3",
715
+ "description": "Meta's current Muse Spark model.",
716
+ "reason": "First: the standard tier of the newest Spark release.",
717
+ "basis": "winter-curated",
718
+ "citation": "spec:WS-13c §9",
719
+ "status": "candidate"
720
+ },
721
+ {
722
+ "name": "contributor",
723
+ "canonicalModelId": "muse-spark-1.3-contributor",
724
+ "description": "Muse Spark 1.3 on Meta's Contributor tier: much cheaper, but Meta may train on your prompts and completions.",
725
+ "reason": "Second: cost, traded against data sharing.",
726
+ "basis": "winter-curated",
727
+ "citation": "spec:WS-13c §9",
728
+ "status": "candidate"
729
+ }
730
+ ],
731
+ "status": "candidate",
732
+ "citation": "spec:WS-13c §9"
733
+ },
734
+ {
735
+ "id": "mimo",
736
+ "displayName": "MiMo",
737
+ "vendor": "Xiaomi",
738
+ "vendorProviders": [
739
+ "xiaomi-token-plan",
740
+ "xiaomi",
741
+ "xiaomi-token-plan-anthropic",
742
+ "xiaomi-anthropic",
743
+ "xiaomi-token-plan-cn",
744
+ "xiaomi-token-plan-cn-anthropic",
745
+ "xiaomi-token-plan-eu",
746
+ "xiaomi-token-plan-eu-anthropic"
747
+ ],
748
+ "matchers": [
749
+ {
750
+ "pattern": "^mimo-",
751
+ "note": "Xiaomi MiMo (`mimo-v2.6-pro`); a reseller's `xiaomimimo/` namespace is not stripped, so those rows stay in `other`"
752
+ }
753
+ ],
754
+ "slots": [
755
+ {
756
+ "name": "pro",
757
+ "canonicalModelId": "mimo-v2.6-pro",
758
+ "description": "the strongest MiMo.",
759
+ "reason": "First: strength.",
760
+ "basis": "winter-curated",
761
+ "citation": "spec:WS-13c §9",
762
+ "status": "candidate"
763
+ },
764
+ {
765
+ "name": "flash",
766
+ "canonicalModelId": "mimo-v2.6-flash",
767
+ "description": "the fast, cheaper MiMo.",
768
+ "reason": "Second: cost and speed.",
769
+ "basis": "winter-curated",
770
+ "citation": "spec:WS-13c §9",
771
+ "status": "candidate"
772
+ }
773
+ ],
774
+ "status": "candidate",
775
+ "citation": "spec:WS-13c §9"
776
+ },
777
+ {
778
+ "id": "command",
779
+ "displayName": "Command",
780
+ "vendor": "Cohere",
781
+ "vendorProviders": [
782
+ "cohere"
783
+ ],
784
+ "matchers": [
785
+ {
786
+ "pattern": "^command-",
787
+ "note": "Cohere Command (`command-a-plus-05-2026`, `command-r-08-2024`)"
788
+ }
789
+ ],
790
+ "slots": [
791
+ {
792
+ "name": "a-plus",
793
+ "canonicalModelId": "command-a-plus-05-2026",
794
+ "description": "Cohere's flagship Command model.",
795
+ "reason": "First: strength.",
796
+ "basis": "winter-curated",
797
+ "citation": "spec:WS-13c §9",
798
+ "status": "candidate"
799
+ },
800
+ {
801
+ "name": "reasoning",
802
+ "canonicalModelId": "command-a-reasoning-08-2025",
803
+ "description": "Command A tuned for reasoning.",
804
+ "reason": "Second: reasoning depth.",
805
+ "basis": "winter-curated",
806
+ "citation": "spec:WS-13c §9",
807
+ "status": "candidate"
808
+ },
809
+ {
810
+ "name": "a",
811
+ "canonicalModelId": "command-a-03-2025",
812
+ "description": "the previous Command A generation.",
813
+ "reason": "Third: the established model.",
814
+ "basis": "winter-curated",
815
+ "citation": "spec:WS-13c §9",
816
+ "status": "candidate"
817
+ }
818
+ ],
819
+ "status": "candidate",
820
+ "citation": "spec:WS-13c §9"
821
+ },
822
+ {
823
+ "id": "hunyuan",
824
+ "displayName": "Hunyuan",
825
+ "vendor": "Tencent",
826
+ "vendorProviders": [
827
+ "tencent-tokenhub",
828
+ "tencent-tokenhub-intl",
829
+ "tencent-tokenhub-anthropic",
830
+ "tencent-tokenhub-intl-anthropic",
831
+ "tencent"
832
+ ],
833
+ "matchers": [
834
+ {
835
+ "pattern": "^(?:hunyuan-|hy[0-9])",
836
+ "note": "Tencent Hunyuan: legacy `hunyuan-*` ids and the TokenHub Hy line (`hy3`, `hy4-preview`); `hy-mt*`/`hy-role` are not matched"
837
+ }
838
+ ],
839
+ "slots": [
840
+ {
841
+ "name": "hy4",
842
+ "canonicalModelId": "hy4-preview",
843
+ "description": "Tencent's newest Hunyuan (preview).",
844
+ "reason": "First: strength.",
845
+ "basis": "winter-curated",
846
+ "citation": "spec:WS-13c §9",
847
+ "status": "candidate"
848
+ },
849
+ {
850
+ "name": "hy3",
851
+ "canonicalModelId": "hy3",
852
+ "description": "the current generally available Hunyuan.",
853
+ "reason": "Second: the stable model.",
854
+ "basis": "winter-curated",
855
+ "citation": "spec:WS-13c §9",
856
+ "status": "candidate"
857
+ }
858
+ ],
859
+ "status": "candidate",
860
+ "citation": "spec:WS-13c §9"
861
+ },
862
+ {
863
+ "id": "nova",
864
+ "displayName": "Amazon Nova",
865
+ "vendor": "Amazon",
866
+ "vendorProviders": [
867
+ "bedrock"
868
+ ],
869
+ "matchers": [
870
+ {
871
+ "pattern": "^(?:amazon\\.)?nova-",
872
+ "note": "Bedrock ids keep the `amazon.` vendor prefix after the region/`-v1:0` strip (`amazon.nova-pro`); `amazon.` is not in BEDROCK_PREFIXES, so the matcher allows it"
873
+ }
874
+ ],
875
+ "slots": [
876
+ {
877
+ "name": "nova-2-lite",
878
+ "canonicalModelId": "amazon.nova-2-lite",
879
+ "description": "Amazon's Nova 2 Lite reasoning model.",
880
+ "reason": "First: the current generation.",
881
+ "basis": "winter-curated",
882
+ "citation": "spec:WS-13c §9",
883
+ "status": "candidate"
884
+ },
885
+ {
886
+ "name": "pro",
887
+ "canonicalModelId": "amazon.nova-pro",
888
+ "description": "the first-generation Nova Pro.",
889
+ "reason": "Second: the larger first-generation model.",
890
+ "basis": "winter-curated",
891
+ "citation": "spec:WS-13c §9",
892
+ "status": "candidate"
893
+ },
894
+ {
895
+ "name": "micro",
896
+ "canonicalModelId": "amazon.nova-micro",
897
+ "description": "the smallest, text-only Nova.",
898
+ "reason": "Third: speed and cost.",
899
+ "basis": "winter-curated",
900
+ "citation": "spec:WS-13c §9",
901
+ "status": "candidate"
902
+ }
903
+ ],
904
+ "status": "candidate",
905
+ "citation": "spec:WS-13c §9"
599
906
  }
600
907
  ]
601
908
  }