@x12i/ai-profiles 1.6.0 → 1.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +96 -28
  2. package/dist/buildCatalogFromOpenRouterApi.d.ts.map +1 -1
  3. package/dist/buildCatalogFromOpenRouterApi.js +2 -1
  4. package/dist/buildCatalogFromOpenRouterApi.js.map +1 -1
  5. package/dist/buildModelsRegistry.d.ts +2 -0
  6. package/dist/buildModelsRegistry.d.ts.map +1 -1
  7. package/dist/buildModelsRegistry.js +5 -5
  8. package/dist/buildModelsRegistry.js.map +1 -1
  9. package/dist/buildResolvedProfile.d.ts +2 -1
  10. package/dist/buildResolvedProfile.d.ts.map +1 -1
  11. package/dist/buildResolvedProfile.js +18 -2
  12. package/dist/buildResolvedProfile.js.map +1 -1
  13. package/dist/catalogEnrichment.d.ts.map +1 -1
  14. package/dist/catalogEnrichment.js +13 -6
  15. package/dist/catalogEnrichment.js.map +1 -1
  16. package/dist/constants.d.ts +2 -0
  17. package/dist/constants.d.ts.map +1 -1
  18. package/dist/constants.js +8 -0
  19. package/dist/constants.js.map +1 -1
  20. package/dist/costPolicy.d.ts +7 -0
  21. package/dist/costPolicy.d.ts.map +1 -0
  22. package/dist/costPolicy.js +81 -0
  23. package/dist/costPolicy.js.map +1 -0
  24. package/dist/data/models-catalog.json +324 -1465
  25. package/dist/data/models-profiles.json +354 -420
  26. package/dist/data/models-profiles.schema.json +38 -11
  27. package/dist/data/models-registry.json +142 -841
  28. package/dist/data/profiles-shortcuts.json +49 -23
  29. package/dist/errors.d.ts +1 -1
  30. package/dist/errors.d.ts.map +1 -1
  31. package/dist/errors.js.map +1 -1
  32. package/dist/index.d.ts +8 -2
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +7 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/modalityPolicy.d.ts +37 -0
  37. package/dist/modalityPolicy.d.ts.map +1 -0
  38. package/dist/modalityPolicy.js +200 -0
  39. package/dist/modalityPolicy.js.map +1 -0
  40. package/dist/modelIdentity.d.ts.map +1 -1
  41. package/dist/modelIdentity.js +9 -1
  42. package/dist/modelIdentity.js.map +1 -1
  43. package/dist/modelsCatalog.d.ts.map +1 -1
  44. package/dist/modelsCatalog.js +1 -0
  45. package/dist/modelsCatalog.js.map +1 -1
  46. package/dist/openRouterSlugPolicy.d.ts +20 -0
  47. package/dist/openRouterSlugPolicy.d.ts.map +1 -0
  48. package/dist/openRouterSlugPolicy.js +66 -0
  49. package/dist/openRouterSlugPolicy.js.map +1 -0
  50. package/dist/profileCatalogSupplement.d.ts.map +1 -1
  51. package/dist/profileCatalogSupplement.js +35 -44
  52. package/dist/profileCatalogSupplement.js.map +1 -1
  53. package/dist/profileRegistryV2.d.ts +8 -8
  54. package/dist/profileRegistryV2.d.ts.map +1 -1
  55. package/dist/profileRegistryV2.js +12 -70
  56. package/dist/profileRegistryV2.js.map +1 -1
  57. package/dist/profileRegistryV3.d.ts +3 -0
  58. package/dist/profileRegistryV3.d.ts.map +1 -1
  59. package/dist/profileRegistryV3.js +113 -103
  60. package/dist/profileRegistryV3.js.map +1 -1
  61. package/dist/resolveAIProfile.d.ts +1 -1
  62. package/dist/resolveAIProfile.d.ts.map +1 -1
  63. package/dist/resolveAIProfile.js +28 -4
  64. package/dist/resolveAIProfile.js.map +1 -1
  65. package/dist/resolveCatalogListing.d.ts +10 -0
  66. package/dist/resolveCatalogListing.d.ts.map +1 -0
  67. package/dist/resolveCatalogListing.js +59 -0
  68. package/dist/resolveCatalogListing.js.map +1 -0
  69. package/dist/resolveModelIdentity.d.ts.map +1 -1
  70. package/dist/resolveModelIdentity.js +1 -0
  71. package/dist/resolveModelIdentity.js.map +1 -1
  72. package/dist/resolveModelRouting.d.ts +2 -2
  73. package/dist/resolveModelRouting.d.ts.map +1 -1
  74. package/dist/resolveModelRouting.js +3 -3
  75. package/dist/resolveModelRouting.js.map +1 -1
  76. package/dist/types.d.ts +78 -10
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/validateProfileCatalogLinkage.d.ts +8 -0
  79. package/dist/validateProfileCatalogLinkage.d.ts.map +1 -0
  80. package/dist/validateProfileCatalogLinkage.js +212 -0
  81. package/dist/validateProfileCatalogLinkage.js.map +1 -0
  82. package/dist/validateProfileModalityCoverage.d.ts +9 -0
  83. package/dist/validateProfileModalityCoverage.d.ts.map +1 -0
  84. package/dist/validateProfileModalityCoverage.js +52 -0
  85. package/dist/validateProfileModalityCoverage.js.map +1 -0
  86. package/dist/validateProfileTransportPolicy.d.ts +8 -0
  87. package/dist/validateProfileTransportPolicy.d.ts.map +1 -0
  88. package/dist/validateProfileTransportPolicy.js +69 -0
  89. package/dist/validateProfileTransportPolicy.js.map +1 -0
  90. package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
  91. package/dist/validation/validateModelsProfilesJson.js +11 -7
  92. package/dist/validation/validateModelsProfilesJson.js.map +1 -1
  93. package/dist/vendorModelId.d.ts +4 -0
  94. package/dist/vendorModelId.d.ts.map +1 -0
  95. package/dist/vendorModelId.js +14 -0
  96. package/dist/vendorModelId.js.map +1 -0
  97. package/dist/vendorPolicy.d.ts.map +1 -1
  98. package/dist/vendorPolicy.js +1 -0
  99. package/dist/vendorPolicy.js.map +1 -1
  100. package/package.json +5 -4
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "schema": "x12i.ai-profiles.models-registry",
3
3
  "version": "3.0.0",
4
- "generatedAt": "2026-05-29T21:04:08.855Z",
4
+ "generatedAt": "2026-05-30T21:56:08.869Z",
5
5
  "inputs": {
6
6
  "openRouterCatalog": {
7
7
  "schema": "x12i.ai-profiles.models-catalog",
8
- "version": "0.1.0",
9
- "generatedAt": "2026-05-29T20:38:18.882Z",
10
- "modelCount": 48
8
+ "version": "1.0.0",
9
+ "generatedAt": "2026-05-30T21:55:55.643Z",
10
+ "modelCount": 23
11
11
  },
12
12
  "modelsProfiles": {
13
13
  "version": "3.0.0",
14
14
  "generatedAt": "2026-05-29T00:00:00.000Z",
15
- "choiceCount": 49
15
+ "choiceCount": 53
16
16
  }
17
17
  },
18
18
  "models": {
@@ -36,6 +36,7 @@
36
36
  "linkage": {
37
37
  "status": "matched",
38
38
  "openRouterCatalogId": "google/gemini-2.5-flash-lite",
39
+ "canonicalSlug": "google/gemini-2.5-flash-lite",
39
40
  "matchMethod": "anthropicVersionNormalize"
40
41
  },
41
42
  "usage": {
@@ -46,7 +47,7 @@
46
47
  },
47
48
  {
48
49
  "profile": "cheap",
49
- "choice": "cost_floor"
50
+ "choice": "google_floor"
50
51
  },
51
52
  {
52
53
  "profile": "extraction",
@@ -85,11 +86,11 @@
85
86
  "profileChoices": [
86
87
  {
87
88
  "profile": "cheap",
88
- "choice": "safer_provider"
89
+ "choice": "anthropic_cheap"
89
90
  },
90
91
  {
91
92
  "profile": "fast",
92
- "choice": "quality_fast"
93
+ "choice": "anthropic_fast"
93
94
  },
94
95
  {
95
96
  "profile": "summarization",
@@ -97,7 +98,7 @@
97
98
  },
98
99
  {
99
100
  "profile": "extraction",
100
- "choice": "quality_extraction"
101
+ "choice": "anthropic_extraction"
101
102
  },
102
103
  {
103
104
  "profile": "routing",
@@ -133,7 +134,47 @@
133
134
  "profileChoices": [
134
135
  {
135
136
  "profile": "cheap",
136
- "choice": "absolute_floor"
137
+ "choice": "deepseek_cheap"
138
+ }
139
+ ]
140
+ }
141
+ },
142
+ "vendor:minimax:minimax-m2.5": {
143
+ "registryKey": "vendor:minimax:minimax-m2.5",
144
+ "kind": "linked",
145
+ "vendor": {
146
+ "provider": "minimax",
147
+ "modelId": "minimax-m2.5"
148
+ },
149
+ "invocation": {
150
+ "direct": {
151
+ "provider": "minimax",
152
+ "modelId": "minimax-m2.5"
153
+ },
154
+ "openrouter": {
155
+ "provider": "openrouter",
156
+ "modelId": "minimax/minimax-m2.5"
157
+ }
158
+ },
159
+ "linkage": {
160
+ "status": "matched",
161
+ "openRouterCatalogId": "minimax/minimax-m2.5",
162
+ "canonicalSlug": "minimax/minimax-m2.5-20260211",
163
+ "matchMethod": "anthropicVersionNormalize"
164
+ },
165
+ "usage": {
166
+ "profileChoices": [
167
+ {
168
+ "profile": "cheap",
169
+ "choice": "minimax_cheap"
170
+ },
171
+ {
172
+ "profile": "balanced",
173
+ "choice": "minimax_balanced"
174
+ },
175
+ {
176
+ "profile": "coding",
177
+ "choice": "minimax_coding"
137
178
  }
138
179
  ]
139
180
  }
@@ -158,6 +199,7 @@
158
199
  "linkage": {
159
200
  "status": "matched",
160
201
  "openRouterCatalogId": "openai/gpt-4o-mini",
202
+ "canonicalSlug": "openai/gpt-4o-mini",
161
203
  "matchMethod": "providerPrefixed"
162
204
  },
163
205
  "usage": {
@@ -200,11 +242,11 @@
200
242
  "profileChoices": [
201
243
  {
202
244
  "profile": "fast",
203
- "choice": "cheaper_fast"
245
+ "choice": "google_fast"
204
246
  },
205
247
  {
206
248
  "profile": "json",
207
- "choice": "cheap_json"
249
+ "choice": "google_json"
208
250
  },
209
251
  {
210
252
  "profile": "content",
@@ -245,6 +287,38 @@
245
287
  ]
246
288
  }
247
289
  },
290
+ "vendor:minimax:minimax-m2": {
291
+ "registryKey": "vendor:minimax:minimax-m2",
292
+ "kind": "linked",
293
+ "vendor": {
294
+ "provider": "minimax",
295
+ "modelId": "minimax-m2"
296
+ },
297
+ "invocation": {
298
+ "direct": {
299
+ "provider": "minimax",
300
+ "modelId": "minimax-m2"
301
+ },
302
+ "openrouter": {
303
+ "provider": "openrouter",
304
+ "modelId": "minimax/minimax-m2"
305
+ }
306
+ },
307
+ "linkage": {
308
+ "status": "matched",
309
+ "openRouterCatalogId": "minimax/minimax-m2",
310
+ "canonicalSlug": "minimax/minimax-m2",
311
+ "matchMethod": "providerPrefixed"
312
+ },
313
+ "usage": {
314
+ "profileChoices": [
315
+ {
316
+ "profile": "fast",
317
+ "choice": "minimax_fast"
318
+ }
319
+ ]
320
+ }
321
+ },
248
322
  "vendor:openai:gpt-4.1": {
249
323
  "registryKey": "vendor:openai:gpt-4.1",
250
324
  "kind": "linked",
@@ -265,6 +339,7 @@
265
339
  "linkage": {
266
340
  "status": "matched",
267
341
  "openRouterCatalogId": "openai/gpt-4.1",
342
+ "canonicalSlug": "openai/gpt-4.1-2025-04-14",
268
343
  "matchMethod": "anthropicVersionNormalize"
269
344
  },
270
345
  "usage": {
@@ -310,15 +385,15 @@
310
385
  "profileChoices": [
311
386
  {
312
387
  "profile": "balanced",
313
- "choice": "reasoning_balanced"
388
+ "choice": "anthropic_balanced"
314
389
  },
315
390
  {
316
391
  "profile": "pro",
317
- "choice": "cost_pro"
392
+ "choice": "anthropic_pro"
318
393
  },
319
394
  {
320
395
  "profile": "json",
321
- "choice": "quality_json"
396
+ "choice": "anthropic_json"
322
397
  },
323
398
  {
324
399
  "profile": "vision",
@@ -354,23 +429,27 @@
354
429
  "profileChoices": [
355
430
  {
356
431
  "profile": "balanced",
357
- "choice": "cost_balanced"
432
+ "choice": "google_balanced"
358
433
  },
359
434
  {
360
435
  "profile": "deep",
361
- "choice": "long_context_deep"
436
+ "choice": "google_deep"
362
437
  },
363
438
  {
364
439
  "profile": "agentic",
365
- "choice": "cheap_agentic"
440
+ "choice": "google_agentic"
366
441
  },
367
442
  {
368
443
  "profile": "research",
369
- "choice": "long_context_research"
444
+ "choice": "google_research"
370
445
  },
371
446
  {
372
447
  "profile": "cyber",
373
448
  "choice": "log_analysis"
449
+ },
450
+ {
451
+ "profile": "summarization",
452
+ "choice": "mega_context"
374
453
  }
375
454
  ]
376
455
  }
@@ -446,6 +525,7 @@
446
525
  "linkage": {
447
526
  "status": "matched",
448
527
  "openRouterCatalogId": "openai/gpt-5.4",
528
+ "canonicalSlug": "openai/gpt-5.4-20260305",
449
529
  "matchMethod": "anthropicVersionNormalize"
450
530
  },
451
531
  "usage": {
@@ -525,6 +605,42 @@
525
605
  ]
526
606
  }
527
607
  },
608
+ "vendor:minimax:minimax-m2.7": {
609
+ "registryKey": "vendor:minimax:minimax-m2.7",
610
+ "kind": "linked",
611
+ "vendor": {
612
+ "provider": "minimax",
613
+ "modelId": "minimax-m2.7"
614
+ },
615
+ "invocation": {
616
+ "direct": {
617
+ "provider": "minimax",
618
+ "modelId": "minimax-m2.7"
619
+ },
620
+ "openrouter": {
621
+ "provider": "openrouter",
622
+ "modelId": "minimax/minimax-m2.7"
623
+ }
624
+ },
625
+ "linkage": {
626
+ "status": "matched",
627
+ "openRouterCatalogId": "minimax/minimax-m2.7",
628
+ "canonicalSlug": "minimax/minimax-m2.7-20260318",
629
+ "matchMethod": "anthropicVersionNormalize"
630
+ },
631
+ "usage": {
632
+ "profileChoices": [
633
+ {
634
+ "profile": "deep",
635
+ "choice": "minimax_deep"
636
+ },
637
+ {
638
+ "profile": "agentic",
639
+ "choice": "minimax_agentic"
640
+ }
641
+ ]
642
+ }
643
+ },
528
644
  "vendor:openai:gpt-5.5": {
529
645
  "registryKey": "vendor:openai:gpt-5.5",
530
646
  "kind": "linked",
@@ -556,7 +672,7 @@
556
672
  },
557
673
  {
558
674
  "profile": "research",
559
- "choice": "premium_research"
675
+ "choice": "openai_research"
560
676
  },
561
677
  {
562
678
  "profile": "cyber",
@@ -600,91 +716,6 @@
600
716
  ]
601
717
  }
602
718
  },
603
- "vendor:google:gemini-2.5-pro": {
604
- "registryKey": "vendor:google:gemini-2.5-pro",
605
- "kind": "linked",
606
- "vendor": {
607
- "provider": "google",
608
- "modelId": "gemini-2.5-pro"
609
- },
610
- "invocation": {
611
- "direct": {
612
- "provider": "google",
613
- "modelId": "gemini-2.5-pro"
614
- },
615
- "openrouter": {
616
- "provider": "openrouter",
617
- "modelId": "google/gemini-2.5-pro"
618
- }
619
- },
620
- "linkage": {
621
- "status": "matched",
622
- "openRouterCatalogId": "google/gemini-2.5-pro",
623
- "matchMethod": "anthropicVersionNormalize"
624
- },
625
- "usage": {
626
- "profileChoices": [
627
- {
628
- "profile": "summarization",
629
- "choice": "mega_context"
630
- }
631
- ]
632
- }
633
- },
634
- "vendor:together:meta-llama/llama-3.3-70b-instruct-turbo": {
635
- "registryKey": "vendor:together:meta-llama/llama-3.3-70b-instruct-turbo",
636
- "kind": "linked",
637
- "vendor": {
638
- "provider": "together",
639
- "modelId": "meta-llama/Llama-3.3-70B-Instruct-Turbo"
640
- },
641
- "invocation": {
642
- "direct": {
643
- "provider": "together",
644
- "modelId": "meta-llama/Llama-3.3-70B-Instruct-Turbo"
645
- },
646
- "openrouter": null
647
- },
648
- "linkage": {
649
- "status": "skipped",
650
- "exemptReason": "vendor-direct"
651
- },
652
- "usage": {
653
- "profileChoices": [
654
- {
655
- "profile": "open_weights",
656
- "choice": "default"
657
- }
658
- ]
659
- }
660
- },
661
- "vendor:together:qwen/qwen3-235b-a22b-instruct-2507-tput": {
662
- "registryKey": "vendor:together:qwen/qwen3-235b-a22b-instruct-2507-tput",
663
- "kind": "linked",
664
- "vendor": {
665
- "provider": "together",
666
- "modelId": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput"
667
- },
668
- "invocation": {
669
- "direct": {
670
- "provider": "together",
671
- "modelId": "Qwen/Qwen3-235B-A22B-Instruct-2507-tput"
672
- },
673
- "openrouter": null
674
- },
675
- "linkage": {
676
- "status": "skipped",
677
- "exemptReason": "vendor-direct"
678
- },
679
- "usage": {
680
- "profileChoices": [
681
- {
682
- "profile": "open_weights",
683
- "choice": "multilingual_code"
684
- }
685
- ]
686
- }
687
- },
688
719
  "vendor:local:funcx:llama-cpp:gguf": {
689
720
  "registryKey": "vendor:local:funcx:llama-cpp:gguf",
690
721
  "kind": "local-only",
@@ -712,8 +743,8 @@
712
743
  ]
713
744
  }
714
745
  },
715
- "vendor:local:xenova/distilbart-cnn-6-6": {
716
- "registryKey": "vendor:local:xenova/distilbart-cnn-6-6",
746
+ "vendor:local:xenova/distilbart-cnn-6.6": {
747
+ "registryKey": "vendor:local:xenova/distilbart-cnn-6.6",
717
748
  "kind": "local-only",
718
749
  "vendor": {
719
750
  "provider": "local",
@@ -759,749 +790,18 @@
759
790
  "linkage": {
760
791
  "status": "matched",
761
792
  "openRouterCatalogId": "deepseek/deepseek-chat",
793
+ "canonicalSlug": "deepseek/deepseek-chat-v3",
762
794
  "matchMethod": "providerPrefixed"
763
795
  },
764
796
  "usage": {
765
797
  "profileChoices": [
766
798
  {
767
799
  "profile": "coding",
768
- "choice": "cost_coding"
800
+ "choice": "deepseek_coding"
769
801
  }
770
802
  ]
771
803
  }
772
804
  },
773
- "or:qwen:qwen3.7-max": {
774
- "registryKey": "or:qwen:qwen3.7-max",
775
- "kind": "openrouter-only",
776
- "vendor": {
777
- "provider": "custom",
778
- "modelId": "qwen3.7-max",
779
- "vendorNamespace": "qwen"
780
- },
781
- "invocation": {
782
- "direct": {
783
- "provider": "custom",
784
- "modelId": "qwen3.7-max",
785
- "vendorNamespace": "qwen"
786
- },
787
- "openrouter": {
788
- "provider": "openrouter",
789
- "modelId": "qwen/qwen3.7-max"
790
- }
791
- },
792
- "linkage": {
793
- "status": "matched",
794
- "openRouterCatalogId": "qwen/qwen3.7-max",
795
- "canonicalSlug": "qwen/qwen3.7-max-20260520"
796
- },
797
- "usage": {
798
- "profileChoices": []
799
- }
800
- },
801
- "or:anthropic:claude-opus-4.7-fast": {
802
- "registryKey": "or:anthropic:claude-opus-4.7-fast",
803
- "kind": "openrouter-only",
804
- "vendor": {
805
- "provider": "anthropic",
806
- "modelId": "claude-opus-4.7-fast"
807
- },
808
- "invocation": {
809
- "direct": {
810
- "provider": "anthropic",
811
- "modelId": "claude-opus-4.7-fast"
812
- },
813
- "openrouter": {
814
- "provider": "openrouter",
815
- "modelId": "anthropic/claude-opus-4.7-fast"
816
- }
817
- },
818
- "linkage": {
819
- "status": "matched",
820
- "openRouterCatalogId": "anthropic/claude-opus-4.7-fast",
821
- "canonicalSlug": "anthropic/claude-4.7-opus-fast-20260512"
822
- },
823
- "usage": {
824
- "profileChoices": []
825
- }
826
- },
827
- "or:perceptron:perceptron-mk1": {
828
- "registryKey": "or:perceptron:perceptron-mk1",
829
- "kind": "openrouter-only",
830
- "vendor": {
831
- "provider": "custom",
832
- "modelId": "perceptron-mk1",
833
- "vendorNamespace": "perceptron"
834
- },
835
- "invocation": {
836
- "direct": {
837
- "provider": "custom",
838
- "modelId": "perceptron-mk1",
839
- "vendorNamespace": "perceptron"
840
- },
841
- "openrouter": {
842
- "provider": "openrouter",
843
- "modelId": "perceptron/perceptron-mk1"
844
- }
845
- },
846
- "linkage": {
847
- "status": "matched",
848
- "openRouterCatalogId": "perceptron/perceptron-mk1",
849
- "canonicalSlug": "perceptron/perceptron-mk1-20260512"
850
- },
851
- "usage": {
852
- "profileChoices": []
853
- }
854
- },
855
- "or:inclusionai:ring-2.6-1t": {
856
- "registryKey": "or:inclusionai:ring-2.6-1t",
857
- "kind": "openrouter-only",
858
- "vendor": {
859
- "provider": "custom",
860
- "modelId": "ring-2.6-1t",
861
- "vendorNamespace": "ring"
862
- },
863
- "invocation": {
864
- "direct": {
865
- "provider": "custom",
866
- "modelId": "ring-2.6-1t",
867
- "vendorNamespace": "ring"
868
- },
869
- "openrouter": {
870
- "provider": "openrouter",
871
- "modelId": "inclusionai/ring-2.6-1t"
872
- }
873
- },
874
- "linkage": {
875
- "status": "matched",
876
- "openRouterCatalogId": "inclusionai/ring-2.6-1t",
877
- "canonicalSlug": "inclusionai/ring-2.6-1t-20260508"
878
- },
879
- "usage": {
880
- "profileChoices": []
881
- }
882
- },
883
- "or:openai:gpt-chat-latest": {
884
- "registryKey": "or:openai:gpt-chat-latest",
885
- "kind": "openrouter-only",
886
- "vendor": {
887
- "provider": "openai",
888
- "modelId": "gpt-chat-latest"
889
- },
890
- "invocation": {
891
- "direct": {
892
- "provider": "openai",
893
- "modelId": "gpt-chat-latest"
894
- },
895
- "openrouter": {
896
- "provider": "openrouter",
897
- "modelId": "openai/gpt-chat-latest"
898
- }
899
- },
900
- "linkage": {
901
- "status": "matched",
902
- "openRouterCatalogId": "openai/gpt-chat-latest",
903
- "canonicalSlug": "openai/gpt-chat-latest-20260505"
904
- },
905
- "usage": {
906
- "profileChoices": []
907
- }
908
- },
909
- "or:ibm-granite:granite-4.1-8b": {
910
- "registryKey": "or:ibm-granite:granite-4.1-8b",
911
- "kind": "openrouter-only",
912
- "vendor": {
913
- "provider": "custom",
914
- "modelId": "granite-4.1-8b",
915
- "vendorNamespace": "granite"
916
- },
917
- "invocation": {
918
- "direct": {
919
- "provider": "custom",
920
- "modelId": "granite-4.1-8b",
921
- "vendorNamespace": "granite"
922
- },
923
- "openrouter": {
924
- "provider": "openrouter",
925
- "modelId": "ibm-granite/granite-4.1-8b"
926
- }
927
- },
928
- "linkage": {
929
- "status": "matched",
930
- "openRouterCatalogId": "ibm-granite/granite-4.1-8b",
931
- "canonicalSlug": "ibm-granite/granite-4.1-8b-20260429"
932
- },
933
- "usage": {
934
- "profileChoices": []
935
- }
936
- },
937
- "or:mistralai:mistral-medium-3-5": {
938
- "registryKey": "or:mistralai:mistral-medium-3-5",
939
- "kind": "openrouter-only",
940
- "vendor": {
941
- "provider": "custom",
942
- "modelId": "mistral-medium-3-5",
943
- "vendorNamespace": "mistral"
944
- },
945
- "invocation": {
946
- "direct": {
947
- "provider": "custom",
948
- "modelId": "mistral-medium-3-5",
949
- "vendorNamespace": "mistral"
950
- },
951
- "openrouter": {
952
- "provider": "openrouter",
953
- "modelId": "mistralai/mistral-medium-3-5"
954
- }
955
- },
956
- "linkage": {
957
- "status": "matched",
958
- "openRouterCatalogId": "mistralai/mistral-medium-3-5",
959
- "canonicalSlug": "mistralai/mistral-medium-3.5-20260430"
960
- },
961
- "usage": {
962
- "profileChoices": []
963
- }
964
- },
965
- "or:openrouter:owl-alpha": {
966
- "registryKey": "or:openrouter:owl-alpha",
967
- "kind": "openrouter-only",
968
- "vendor": {
969
- "provider": "openrouter",
970
- "modelId": "owl-alpha"
971
- },
972
- "invocation": {
973
- "direct": {
974
- "provider": "openrouter",
975
- "modelId": "owl-alpha"
976
- },
977
- "openrouter": {
978
- "provider": "openrouter",
979
- "modelId": "openrouter/owl-alpha"
980
- }
981
- },
982
- "linkage": {
983
- "status": "matched",
984
- "openRouterCatalogId": "openrouter/owl-alpha",
985
- "canonicalSlug": "openrouter/owl-alpha"
986
- },
987
- "usage": {
988
- "profileChoices": []
989
- }
990
- },
991
- "or:~anthropic:claude-haiku-latest": {
992
- "registryKey": "or:~anthropic:claude-haiku-latest",
993
- "kind": "openrouter-only",
994
- "vendor": {
995
- "provider": "anthropic",
996
- "modelId": "claude-haiku-latest"
997
- },
998
- "invocation": {
999
- "direct": {
1000
- "provider": "anthropic",
1001
- "modelId": "claude-haiku-latest"
1002
- },
1003
- "openrouter": {
1004
- "provider": "openrouter",
1005
- "modelId": "~anthropic/claude-haiku-latest"
1006
- }
1007
- },
1008
- "linkage": {
1009
- "status": "matched",
1010
- "openRouterCatalogId": "~anthropic/claude-haiku-latest",
1011
- "canonicalSlug": "~anthropic/claude-haiku-latest"
1012
- },
1013
- "usage": {
1014
- "profileChoices": []
1015
- }
1016
- },
1017
- "or:~openai:gpt-mini-latest": {
1018
- "registryKey": "or:~openai:gpt-mini-latest",
1019
- "kind": "openrouter-only",
1020
- "vendor": {
1021
- "provider": "openai",
1022
- "modelId": "gpt-mini-latest"
1023
- },
1024
- "invocation": {
1025
- "direct": {
1026
- "provider": "openai",
1027
- "modelId": "gpt-mini-latest"
1028
- },
1029
- "openrouter": {
1030
- "provider": "openrouter",
1031
- "modelId": "~openai/gpt-mini-latest"
1032
- }
1033
- },
1034
- "linkage": {
1035
- "status": "matched",
1036
- "openRouterCatalogId": "~openai/gpt-mini-latest",
1037
- "canonicalSlug": "~openai/gpt-mini-latest"
1038
- },
1039
- "usage": {
1040
- "profileChoices": []
1041
- }
1042
- },
1043
- "or:~google:gemini-pro-latest": {
1044
- "registryKey": "or:~google:gemini-pro-latest",
1045
- "kind": "openrouter-only",
1046
- "vendor": {
1047
- "provider": "google",
1048
- "modelId": "gemini-pro-latest"
1049
- },
1050
- "invocation": {
1051
- "direct": {
1052
- "provider": "google",
1053
- "modelId": "gemini-pro-latest"
1054
- },
1055
- "openrouter": {
1056
- "provider": "openrouter",
1057
- "modelId": "~google/gemini-pro-latest"
1058
- }
1059
- },
1060
- "linkage": {
1061
- "status": "matched",
1062
- "openRouterCatalogId": "~google/gemini-pro-latest",
1063
- "canonicalSlug": "~google/gemini-pro-latest"
1064
- },
1065
- "usage": {
1066
- "profileChoices": []
1067
- }
1068
- },
1069
- "or:~moonshotai:kimi-latest": {
1070
- "registryKey": "or:~moonshotai:kimi-latest",
1071
- "kind": "openrouter-only",
1072
- "vendor": {
1073
- "provider": "custom",
1074
- "modelId": "kimi-latest",
1075
- "vendorNamespace": "kimi-router"
1076
- },
1077
- "invocation": {
1078
- "direct": {
1079
- "provider": "custom",
1080
- "modelId": "kimi-latest",
1081
- "vendorNamespace": "kimi-router"
1082
- },
1083
- "openrouter": {
1084
- "provider": "openrouter",
1085
- "modelId": "~moonshotai/kimi-latest"
1086
- }
1087
- },
1088
- "linkage": {
1089
- "status": "matched",
1090
- "openRouterCatalogId": "~moonshotai/kimi-latest",
1091
- "canonicalSlug": "~moonshotai/kimi-latest"
1092
- },
1093
- "usage": {
1094
- "profileChoices": []
1095
- }
1096
- },
1097
- "or:~google:gemini-flash-latest": {
1098
- "registryKey": "or:~google:gemini-flash-latest",
1099
- "kind": "openrouter-only",
1100
- "vendor": {
1101
- "provider": "google",
1102
- "modelId": "gemini-flash-latest"
1103
- },
1104
- "invocation": {
1105
- "direct": {
1106
- "provider": "google",
1107
- "modelId": "gemini-flash-latest"
1108
- },
1109
- "openrouter": {
1110
- "provider": "openrouter",
1111
- "modelId": "~google/gemini-flash-latest"
1112
- }
1113
- },
1114
- "linkage": {
1115
- "status": "matched",
1116
- "openRouterCatalogId": "~google/gemini-flash-latest",
1117
- "canonicalSlug": "~google/gemini-flash-latest"
1118
- },
1119
- "usage": {
1120
- "profileChoices": []
1121
- }
1122
- },
1123
- "or:~anthropic:claude-sonnet-latest": {
1124
- "registryKey": "or:~anthropic:claude-sonnet-latest",
1125
- "kind": "openrouter-only",
1126
- "vendor": {
1127
- "provider": "anthropic",
1128
- "modelId": "claude-sonnet-latest"
1129
- },
1130
- "invocation": {
1131
- "direct": {
1132
- "provider": "anthropic",
1133
- "modelId": "claude-sonnet-latest"
1134
- },
1135
- "openrouter": {
1136
- "provider": "openrouter",
1137
- "modelId": "~anthropic/claude-sonnet-latest"
1138
- }
1139
- },
1140
- "linkage": {
1141
- "status": "matched",
1142
- "openRouterCatalogId": "~anthropic/claude-sonnet-latest",
1143
- "canonicalSlug": "~anthropic/claude-sonnet-latest"
1144
- },
1145
- "usage": {
1146
- "profileChoices": []
1147
- }
1148
- },
1149
- "or:~openai:gpt-latest": {
1150
- "registryKey": "or:~openai:gpt-latest",
1151
- "kind": "openrouter-only",
1152
- "vendor": {
1153
- "provider": "openai",
1154
- "modelId": "gpt-latest"
1155
- },
1156
- "invocation": {
1157
- "direct": {
1158
- "provider": "openai",
1159
- "modelId": "gpt-latest"
1160
- },
1161
- "openrouter": {
1162
- "provider": "openrouter",
1163
- "modelId": "~openai/gpt-latest"
1164
- }
1165
- },
1166
- "linkage": {
1167
- "status": "matched",
1168
- "openRouterCatalogId": "~openai/gpt-latest",
1169
- "canonicalSlug": "~openai/gpt-latest"
1170
- },
1171
- "usage": {
1172
- "profileChoices": []
1173
- }
1174
- },
1175
- "or:qwen:qwen3.5-plus-20260420": {
1176
- "registryKey": "or:qwen:qwen3.5-plus-20260420",
1177
- "kind": "openrouter-only",
1178
- "vendor": {
1179
- "provider": "custom",
1180
- "modelId": "qwen3.5-plus-20260420",
1181
- "vendorNamespace": "qwen"
1182
- },
1183
- "invocation": {
1184
- "direct": {
1185
- "provider": "custom",
1186
- "modelId": "qwen3.5-plus-20260420",
1187
- "vendorNamespace": "qwen"
1188
- },
1189
- "openrouter": {
1190
- "provider": "openrouter",
1191
- "modelId": "qwen/qwen3.5-plus-20260420"
1192
- }
1193
- },
1194
- "linkage": {
1195
- "status": "matched",
1196
- "openRouterCatalogId": "qwen/qwen3.5-plus-20260420",
1197
- "canonicalSlug": "qwen/qwen3.5-plus-20260420"
1198
- },
1199
- "usage": {
1200
- "profileChoices": []
1201
- }
1202
- },
1203
- "or:qwen:qwen3.6-flash": {
1204
- "registryKey": "or:qwen:qwen3.6-flash",
1205
- "kind": "openrouter-only",
1206
- "vendor": {
1207
- "provider": "custom",
1208
- "modelId": "qwen3.6-flash",
1209
- "vendorNamespace": "qwen"
1210
- },
1211
- "invocation": {
1212
- "direct": {
1213
- "provider": "custom",
1214
- "modelId": "qwen3.6-flash",
1215
- "vendorNamespace": "qwen"
1216
- },
1217
- "openrouter": {
1218
- "provider": "openrouter",
1219
- "modelId": "qwen/qwen3.6-flash"
1220
- }
1221
- },
1222
- "linkage": {
1223
- "status": "matched",
1224
- "openRouterCatalogId": "qwen/qwen3.6-flash",
1225
- "canonicalSlug": "qwen/qwen3.6-flash"
1226
- },
1227
- "usage": {
1228
- "profileChoices": []
1229
- }
1230
- },
1231
- "or:qwen:qwen3.6-35b-a3b": {
1232
- "registryKey": "or:qwen:qwen3.6-35b-a3b",
1233
- "kind": "openrouter-only",
1234
- "vendor": {
1235
- "provider": "custom",
1236
- "modelId": "qwen3.6-35b-a3b",
1237
- "vendorNamespace": "qwen"
1238
- },
1239
- "invocation": {
1240
- "direct": {
1241
- "provider": "custom",
1242
- "modelId": "qwen3.6-35b-a3b",
1243
- "vendorNamespace": "qwen"
1244
- },
1245
- "openrouter": {
1246
- "provider": "openrouter",
1247
- "modelId": "qwen/qwen3.6-35b-a3b"
1248
- }
1249
- },
1250
- "linkage": {
1251
- "status": "matched",
1252
- "openRouterCatalogId": "qwen/qwen3.6-35b-a3b",
1253
- "canonicalSlug": "qwen/qwen3.6-35b-a3b-20260415"
1254
- },
1255
- "usage": {
1256
- "profileChoices": []
1257
- }
1258
- },
1259
- "or:qwen:qwen3.6-max-preview": {
1260
- "registryKey": "or:qwen:qwen3.6-max-preview",
1261
- "kind": "openrouter-only",
1262
- "vendor": {
1263
- "provider": "custom",
1264
- "modelId": "qwen3.6-max-preview",
1265
- "vendorNamespace": "qwen"
1266
- },
1267
- "invocation": {
1268
- "direct": {
1269
- "provider": "custom",
1270
- "modelId": "qwen3.6-max-preview",
1271
- "vendorNamespace": "qwen"
1272
- },
1273
- "openrouter": {
1274
- "provider": "openrouter",
1275
- "modelId": "qwen/qwen3.6-max-preview"
1276
- }
1277
- },
1278
- "linkage": {
1279
- "status": "matched",
1280
- "openRouterCatalogId": "qwen/qwen3.6-max-preview",
1281
- "canonicalSlug": "qwen/qwen3.6-max-preview-20260420"
1282
- },
1283
- "usage": {
1284
- "profileChoices": []
1285
- }
1286
- },
1287
- "or:qwen:qwen3.6-27b": {
1288
- "registryKey": "or:qwen:qwen3.6-27b",
1289
- "kind": "openrouter-only",
1290
- "vendor": {
1291
- "provider": "custom",
1292
- "modelId": "qwen3.6-27b",
1293
- "vendorNamespace": "qwen"
1294
- },
1295
- "invocation": {
1296
- "direct": {
1297
- "provider": "custom",
1298
- "modelId": "qwen3.6-27b",
1299
- "vendorNamespace": "qwen"
1300
- },
1301
- "openrouter": {
1302
- "provider": "openrouter",
1303
- "modelId": "qwen/qwen3.6-27b"
1304
- }
1305
- },
1306
- "linkage": {
1307
- "status": "matched",
1308
- "openRouterCatalogId": "qwen/qwen3.6-27b",
1309
- "canonicalSlug": "qwen/qwen3.6-27b-20260422"
1310
- },
1311
- "usage": {
1312
- "profileChoices": []
1313
- }
1314
- },
1315
- "or:openai:gpt-5.5-pro": {
1316
- "registryKey": "or:openai:gpt-5.5-pro",
1317
- "kind": "openrouter-only",
1318
- "vendor": {
1319
- "provider": "openai",
1320
- "modelId": "gpt-5.5-pro"
1321
- },
1322
- "invocation": {
1323
- "direct": {
1324
- "provider": "openai",
1325
- "modelId": "gpt-5.5-pro"
1326
- },
1327
- "openrouter": {
1328
- "provider": "openrouter",
1329
- "modelId": "openai/gpt-5.5-pro"
1330
- }
1331
- },
1332
- "linkage": {
1333
- "status": "matched",
1334
- "openRouterCatalogId": "openai/gpt-5.5-pro",
1335
- "canonicalSlug": "openai/gpt-5.5-pro-20260423"
1336
- },
1337
- "usage": {
1338
- "profileChoices": []
1339
- }
1340
- },
1341
- "or:deepseek:deepseek-v4-flash:free": {
1342
- "registryKey": "or:deepseek:deepseek-v4-flash:free",
1343
- "kind": "openrouter-only",
1344
- "vendor": {
1345
- "provider": "deepseek",
1346
- "modelId": "deepseek-v4-flash:free"
1347
- },
1348
- "invocation": {
1349
- "direct": {
1350
- "provider": "deepseek",
1351
- "modelId": "deepseek-v4-flash:free"
1352
- },
1353
- "openrouter": {
1354
- "provider": "openrouter",
1355
- "modelId": "deepseek/deepseek-v4-flash:free"
1356
- }
1357
- },
1358
- "linkage": {
1359
- "status": "matched",
1360
- "openRouterCatalogId": "deepseek/deepseek-v4-flash:free",
1361
- "canonicalSlug": "deepseek/deepseek-v4-flash-20260423"
1362
- },
1363
- "usage": {
1364
- "profileChoices": []
1365
- }
1366
- },
1367
- "or:inclusionai:ling-2.6-1t": {
1368
- "registryKey": "or:inclusionai:ling-2.6-1t",
1369
- "kind": "openrouter-only",
1370
- "vendor": {
1371
- "provider": "custom",
1372
- "modelId": "ling-2.6-1t",
1373
- "vendorNamespace": "ling"
1374
- },
1375
- "invocation": {
1376
- "direct": {
1377
- "provider": "custom",
1378
- "modelId": "ling-2.6-1t",
1379
- "vendorNamespace": "ling"
1380
- },
1381
- "openrouter": {
1382
- "provider": "openrouter",
1383
- "modelId": "inclusionai/ling-2.6-1t"
1384
- }
1385
- },
1386
- "linkage": {
1387
- "status": "matched",
1388
- "openRouterCatalogId": "inclusionai/ling-2.6-1t",
1389
- "canonicalSlug": "inclusionai/ling-2.6-1t-20260423"
1390
- },
1391
- "usage": {
1392
- "profileChoices": []
1393
- }
1394
- },
1395
- "or:tencent:hy3-preview": {
1396
- "registryKey": "or:tencent:hy3-preview",
1397
- "kind": "openrouter-only",
1398
- "vendor": {
1399
- "provider": "custom",
1400
- "modelId": "hy3-preview",
1401
- "vendorNamespace": "hy3"
1402
- },
1403
- "invocation": {
1404
- "direct": {
1405
- "provider": "custom",
1406
- "modelId": "hy3-preview",
1407
- "vendorNamespace": "hy3"
1408
- },
1409
- "openrouter": {
1410
- "provider": "openrouter",
1411
- "modelId": "tencent/hy3-preview"
1412
- }
1413
- },
1414
- "linkage": {
1415
- "status": "matched",
1416
- "openRouterCatalogId": "tencent/hy3-preview",
1417
- "canonicalSlug": "tencent/hy3-preview-20260421"
1418
- },
1419
- "usage": {
1420
- "profileChoices": []
1421
- }
1422
- },
1423
- "or:xiaomi:mimo-v2.5-pro": {
1424
- "registryKey": "or:xiaomi:mimo-v2.5-pro",
1425
- "kind": "openrouter-only",
1426
- "vendor": {
1427
- "provider": "custom",
1428
- "modelId": "mimo-v2.5-pro",
1429
- "vendorNamespace": "mimo"
1430
- },
1431
- "invocation": {
1432
- "direct": {
1433
- "provider": "custom",
1434
- "modelId": "mimo-v2.5-pro",
1435
- "vendorNamespace": "mimo"
1436
- },
1437
- "openrouter": {
1438
- "provider": "openrouter",
1439
- "modelId": "xiaomi/mimo-v2.5-pro"
1440
- }
1441
- },
1442
- "linkage": {
1443
- "status": "matched",
1444
- "openRouterCatalogId": "xiaomi/mimo-v2.5-pro",
1445
- "canonicalSlug": "xiaomi/mimo-v2.5-pro-20260422"
1446
- },
1447
- "usage": {
1448
- "profileChoices": []
1449
- }
1450
- },
1451
- "or:xiaomi:mimo-v2.5": {
1452
- "registryKey": "or:xiaomi:mimo-v2.5",
1453
- "kind": "openrouter-only",
1454
- "vendor": {
1455
- "provider": "custom",
1456
- "modelId": "mimo-v2.5",
1457
- "vendorNamespace": "mimo"
1458
- },
1459
- "invocation": {
1460
- "direct": {
1461
- "provider": "custom",
1462
- "modelId": "mimo-v2.5",
1463
- "vendorNamespace": "mimo"
1464
- },
1465
- "openrouter": {
1466
- "provider": "openrouter",
1467
- "modelId": "xiaomi/mimo-v2.5"
1468
- }
1469
- },
1470
- "linkage": {
1471
- "status": "matched",
1472
- "openRouterCatalogId": "xiaomi/mimo-v2.5",
1473
- "canonicalSlug": "xiaomi/mimo-v2.5-20260422"
1474
- },
1475
- "usage": {
1476
- "profileChoices": []
1477
- }
1478
- },
1479
- "or:openai:gpt-5.4-image-2": {
1480
- "registryKey": "or:openai:gpt-5.4-image-2",
1481
- "kind": "openrouter-only",
1482
- "vendor": {
1483
- "provider": "openai",
1484
- "modelId": "gpt-5.4-image-2"
1485
- },
1486
- "invocation": {
1487
- "direct": {
1488
- "provider": "openai",
1489
- "modelId": "gpt-5.4-image-2"
1490
- },
1491
- "openrouter": {
1492
- "provider": "openrouter",
1493
- "modelId": "openai/gpt-5.4-image-2"
1494
- }
1495
- },
1496
- "linkage": {
1497
- "status": "matched",
1498
- "openRouterCatalogId": "openai/gpt-5.4-image-2",
1499
- "canonicalSlug": "openai/gpt-5.4-image-2-20260421"
1500
- },
1501
- "usage": {
1502
- "profileChoices": []
1503
- }
1504
- },
1505
805
  "or:openai:gpt-5.4-mini": {
1506
806
  "registryKey": "or:openai:gpt-5.4-mini",
1507
807
  "kind": "openrouter-only",
@@ -1521,7 +821,8 @@
1521
821
  },
1522
822
  "linkage": {
1523
823
  "status": "matched",
1524
- "openRouterCatalogId": "openai/gpt-5.4-mini"
824
+ "openRouterCatalogId": "openai/gpt-5.4-mini",
825
+ "canonicalSlug": "openai/gpt-5.4-mini-20260317"
1525
826
  },
1526
827
  "usage": {
1527
828
  "profileChoices": []