@x12i/ai-profiles 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +150 -44
- package/dist/buildCatalogFromOpenRouterApi.d.ts.map +1 -1
- package/dist/buildCatalogFromOpenRouterApi.js +2 -2
- package/dist/buildCatalogFromOpenRouterApi.js.map +1 -1
- package/dist/buildResolvedProfile.d.ts.map +1 -1
- package/dist/buildResolvedProfile.js +7 -0
- package/dist/buildResolvedProfile.js.map +1 -1
- package/dist/costTiers.d.ts +4 -0
- package/dist/costTiers.d.ts.map +1 -0
- package/dist/costTiers.js +20 -0
- package/dist/costTiers.js.map +1 -0
- package/dist/data/models-catalog.json +10 -10
- package/dist/data/models-profiles.bak.json +2336 -0
- package/dist/data/models-profiles.json +202 -18
- package/dist/data/models-profiles.schema.json +29 -0
- package/dist/data/profiles-shortcuts.json +86 -34
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/isKnownProfileChoice.d.ts +6 -0
- package/dist/isKnownProfileChoice.d.ts.map +1 -0
- package/dist/isKnownProfileChoice.js +11 -0
- package/dist/isKnownProfileChoice.js.map +1 -0
- package/dist/listAIProfileChoices.d.ts +6 -0
- package/dist/listAIProfileChoices.d.ts.map +1 -0
- package/dist/listAIProfileChoices.js +50 -0
- package/dist/listAIProfileChoices.js.map +1 -0
- package/dist/listAIProfiles.d.ts.map +1 -1
- package/dist/listAIProfiles.js +23 -0
- package/dist/listAIProfiles.js.map +1 -1
- package/dist/modalityPolicy.d.ts +4 -1
- package/dist/modalityPolicy.d.ts.map +1 -1
- package/dist/modalityPolicy.js +82 -3
- package/dist/modalityPolicy.js.map +1 -1
- package/dist/modelInputFallback.d.ts.map +1 -1
- package/dist/modelInputFallback.js +12 -2
- package/dist/modelInputFallback.js.map +1 -1
- package/dist/modelsCatalog.d.ts +5 -0
- package/dist/modelsCatalog.d.ts.map +1 -1
- package/dist/modelsCatalog.js +32 -2
- package/dist/modelsCatalog.js.map +1 -1
- package/dist/profileChoiceKey.d.ts +35 -0
- package/dist/profileChoiceKey.d.ts.map +1 -0
- package/dist/profileChoiceKey.js +81 -0
- package/dist/profileChoiceKey.js.map +1 -0
- package/dist/profileDiscoveryMatch.d.ts +15 -0
- package/dist/profileDiscoveryMatch.d.ts.map +1 -0
- package/dist/profileDiscoveryMatch.js +17 -0
- package/dist/profileDiscoveryMatch.js.map +1 -0
- package/dist/resolveAIProfile.d.ts +4 -5
- package/dist/resolveAIProfile.d.ts.map +1 -1
- package/dist/resolveAIProfile.js +57 -82
- package/dist/resolveAIProfile.js.map +1 -1
- package/dist/resolveAIProfileByTags.d.ts +2 -2
- package/dist/resolveAIProfileByTags.d.ts.map +1 -1
- package/dist/resolveAIProfileByTags.js +28 -10
- package/dist/resolveAIProfileByTags.js.map +1 -1
- package/dist/resolveAIProfileWithCostAlternatives.d.ts +17 -0
- package/dist/resolveAIProfileWithCostAlternatives.d.ts.map +1 -0
- package/dist/resolveAIProfileWithCostAlternatives.js +129 -0
- package/dist/resolveAIProfileWithCostAlternatives.js.map +1 -0
- package/dist/resolveCatalogModel.d.ts +7 -0
- package/dist/resolveCatalogModel.d.ts.map +1 -0
- package/dist/resolveCatalogModel.js +34 -0
- package/dist/resolveCatalogModel.js.map +1 -0
- package/dist/resolveSecondaryModel.d.ts +6 -0
- package/dist/resolveSecondaryModel.d.ts.map +1 -0
- package/dist/resolveSecondaryModel.js +91 -0
- package/dist/resolveSecondaryModel.js.map +1 -0
- package/dist/secondaryModel.d.ts +37 -0
- package/dist/secondaryModel.d.ts.map +1 -0
- package/dist/secondaryModel.js +160 -0
- package/dist/secondaryModel.js.map +1 -0
- package/dist/types.d.ts +145 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/validateProfileCatalogLinkage.d.ts.map +1 -1
- package/dist/validateProfileCatalogLinkage.js +2 -1
- package/dist/validateProfileCatalogLinkage.js.map +1 -1
- package/dist/validation/validateModelsProfilesJson.d.ts.map +1 -1
- package/dist/validation/validateModelsProfilesJson.js +73 -9
- package/dist/validation/validateModelsProfilesJson.js.map +1 -1
- package/dist/vendorPolicy.d.ts.map +1 -1
- package/dist/vendorPolicy.js +1 -6
- package/dist/vendorPolicy.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"schema": "x12i.ai-profiles.model-registry.v3",
|
|
3
3
|
"registryId": "models-profiles",
|
|
4
4
|
"generatedAt": "2026-05-29T00:00:00.000Z",
|
|
5
|
-
"lastVerifiedAt": "2026-06-
|
|
5
|
+
"lastVerifiedAt": "2026-06-02T00:00:00Z",
|
|
6
6
|
"version": "4.0.0",
|
|
7
7
|
"currency": "USD",
|
|
8
8
|
"pricingUnit": "1M_tokens",
|
|
@@ -19,7 +19,10 @@
|
|
|
19
19
|
"outputModalities": "Required output media types for profile intent (text, image, audio, video, file).",
|
|
20
20
|
"choiceModalities": "Optional per-choice modality override when catalog linkage is missing.",
|
|
21
21
|
"profileTags": "Short discovery tags (2–4 chars). Vendor affinity: ds, ggl, xai, mmx, ant, oai. (profile, tag-set) pairs are unique.",
|
|
22
|
+
"profileChoiceKey": "Canonical model lookup key is profile/choice (e.g. cheap/default). Object keys must match profile and choice fields. Aliases are discovery-only.",
|
|
22
23
|
"catalogLane": "Required OpenRouter browser lane per profile. resolveAIProfile requires options.catalogLane matching the profile lane.",
|
|
24
|
+
"secondary": "Optional companion model per choice (review, escalation, verification). Resolved via resolveSecondaryModel; not a failover replacement.",
|
|
25
|
+
"fallbackChoiceOrder": "Replacement order when constraints exclude the primary choice (cost cap, vendor trim). Independent of secondary.",
|
|
23
26
|
"volRouting": "Volume agent profile (vol): Flash default, Pro for hard/final. Model SKUs are never profile aliases."
|
|
24
27
|
},
|
|
25
28
|
"sourceCatalog": {
|
|
@@ -99,7 +102,12 @@
|
|
|
99
102
|
"openrouter:catalog"
|
|
100
103
|
]
|
|
101
104
|
},
|
|
102
|
-
"modelStatus": "verified"
|
|
105
|
+
"modelStatus": "verified",
|
|
106
|
+
"secondary": {
|
|
107
|
+
"kind": "choice",
|
|
108
|
+
"choice": "anthropic_cheap",
|
|
109
|
+
"reason": "Stronger instruction-following pass when cheap default quality is insufficient."
|
|
110
|
+
}
|
|
103
111
|
},
|
|
104
112
|
"google_floor": {
|
|
105
113
|
"choice": "google_floor",
|
|
@@ -213,6 +221,134 @@
|
|
|
213
221
|
},
|
|
214
222
|
"catalogLane": "text"
|
|
215
223
|
},
|
|
224
|
+
"value": {
|
|
225
|
+
"profile": "value",
|
|
226
|
+
"displayName": "Value",
|
|
227
|
+
"description": "Cheap but powerful: prioritize strong reasoning per dollar when you want higher capability without flagship pricing.",
|
|
228
|
+
"category": "cost",
|
|
229
|
+
"tags": ["eco", "rsn", "cod", "anl", "ds"],
|
|
230
|
+
"aliases": ["cheap-power", "power-cheap", "value", "cheap-strong"],
|
|
231
|
+
"defaultChoice": "default",
|
|
232
|
+
"choices": {
|
|
233
|
+
"default": {
|
|
234
|
+
"choice": "default",
|
|
235
|
+
"displayName": "Value Default (DeepSeek Pro)",
|
|
236
|
+
"description": "Recommended cheap-but-strong model choice.",
|
|
237
|
+
"provider": "deepseek",
|
|
238
|
+
"modelId": "deepseek-v4-pro",
|
|
239
|
+
"runtime": {
|
|
240
|
+
"instructionTier": "reasoning",
|
|
241
|
+
"backend": "openrouter",
|
|
242
|
+
"reasoningEffort": "high",
|
|
243
|
+
"toolPolicy": "none",
|
|
244
|
+
"outputMode": "text"
|
|
245
|
+
},
|
|
246
|
+
"reason": "Strong reasoning-per-dollar alternative when cheap is desired but quality matters."
|
|
247
|
+
},
|
|
248
|
+
"deepseek_flash": {
|
|
249
|
+
"choice": "deepseek_flash",
|
|
250
|
+
"displayName": "Value Fast (DeepSeek Flash)",
|
|
251
|
+
"description": "Cheaper and faster, but still strong for many tasks.",
|
|
252
|
+
"provider": "deepseek",
|
|
253
|
+
"modelId": "deepseek-v4-flash",
|
|
254
|
+
"runtime": {
|
|
255
|
+
"instructionTier": "default",
|
|
256
|
+
"backend": "openrouter",
|
|
257
|
+
"reasoningEffort": "medium",
|
|
258
|
+
"toolPolicy": "none",
|
|
259
|
+
"outputMode": "text"
|
|
260
|
+
},
|
|
261
|
+
"reason": "Use when you want the DeepSeek family but need a cheaper/faster option."
|
|
262
|
+
},
|
|
263
|
+
"google_value": {
|
|
264
|
+
"choice": "google_value",
|
|
265
|
+
"displayName": "Value Long-Context",
|
|
266
|
+
"description": "Long-context alternative for heavy reading.",
|
|
267
|
+
"provider": "google",
|
|
268
|
+
"modelId": "gemini-3.5-flash",
|
|
269
|
+
"runtime": {
|
|
270
|
+
"instructionTier": "default",
|
|
271
|
+
"backend": "openrouter",
|
|
272
|
+
"reasoningEffort": "medium",
|
|
273
|
+
"toolPolicy": "none",
|
|
274
|
+
"outputMode": "text"
|
|
275
|
+
},
|
|
276
|
+
"reason": "Good alternative when input size and context length matter more than maximum reasoning."
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"fallbackChoiceOrder": ["default", "deepseek_flash", "google_value"],
|
|
280
|
+
"requiredCapabilities": {
|
|
281
|
+
"reasoning": "medium",
|
|
282
|
+
"coding": true,
|
|
283
|
+
"cost": "low",
|
|
284
|
+
"inputModalities": ["text"],
|
|
285
|
+
"outputModalities": ["text"]
|
|
286
|
+
},
|
|
287
|
+
"catalogLane": "text"
|
|
288
|
+
},
|
|
289
|
+
"testing": {
|
|
290
|
+
"profile": "testing",
|
|
291
|
+
"displayName": "Testing",
|
|
292
|
+
"description": "Cheap default profile for smoke tests, demos, and deterministic integration checks.",
|
|
293
|
+
"category": "cost",
|
|
294
|
+
"tags": ["eco", "wf", "bat", "tri"],
|
|
295
|
+
"aliases": ["test", "testing", "smoke", "smoke-test"],
|
|
296
|
+
"defaultChoice": "default",
|
|
297
|
+
"choices": {
|
|
298
|
+
"default": {
|
|
299
|
+
"choice": "default",
|
|
300
|
+
"displayName": "Testing Default",
|
|
301
|
+
"description": "Stable, cheap baseline model for tests.",
|
|
302
|
+
"provider": "google",
|
|
303
|
+
"modelId": "gemini-2.5-flash-lite",
|
|
304
|
+
"runtime": {
|
|
305
|
+
"instructionTier": "default",
|
|
306
|
+
"backend": "openrouter",
|
|
307
|
+
"reasoningEffort": "minimal",
|
|
308
|
+
"toolPolicy": "none",
|
|
309
|
+
"outputMode": "text"
|
|
310
|
+
},
|
|
311
|
+
"reason": "Cheap enough to use in CI-like flows and manual smoke tests."
|
|
312
|
+
},
|
|
313
|
+
"floor": {
|
|
314
|
+
"choice": "floor",
|
|
315
|
+
"displayName": "Testing Floor (same SKU)",
|
|
316
|
+
"description": "Explicit cost-floor choice for tests (intentionally same model).",
|
|
317
|
+
"provider": "google",
|
|
318
|
+
"modelId": "gemini-2.5-flash-lite",
|
|
319
|
+
"runtime": {
|
|
320
|
+
"reasoningEffort": "minimal",
|
|
321
|
+
"executionMode": "batch",
|
|
322
|
+
"toolPolicy": "none",
|
|
323
|
+
"outputMode": "text"
|
|
324
|
+
},
|
|
325
|
+
"reason": "Same catalog model as default, but labeled separately for easy selection in test matrices."
|
|
326
|
+
},
|
|
327
|
+
"deepseek_test": {
|
|
328
|
+
"choice": "deepseek_test",
|
|
329
|
+
"displayName": "Testing DeepSeek",
|
|
330
|
+
"description": "Alternate vendor for testing provider fallbacks.",
|
|
331
|
+
"provider": "deepseek",
|
|
332
|
+
"modelId": "deepseek-v4-flash",
|
|
333
|
+
"runtime": {
|
|
334
|
+
"instructionTier": "default",
|
|
335
|
+
"backend": "openrouter",
|
|
336
|
+
"reasoningEffort": "low",
|
|
337
|
+
"toolPolicy": "none",
|
|
338
|
+
"outputMode": "text"
|
|
339
|
+
},
|
|
340
|
+
"reason": "Useful to test non-Google routing and vendor trimming while staying inexpensive."
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
"fallbackChoiceOrder": ["default", "floor", "deepseek_test"],
|
|
344
|
+
"requiredCapabilities": {
|
|
345
|
+
"cost": "low",
|
|
346
|
+
"reasoning": "minimal",
|
|
347
|
+
"inputModalities": ["text"],
|
|
348
|
+
"outputModalities": ["text"]
|
|
349
|
+
},
|
|
350
|
+
"catalogLane": "text"
|
|
351
|
+
},
|
|
216
352
|
"fast": {
|
|
217
353
|
"profile": "fast",
|
|
218
354
|
"displayName": "Fast",
|
|
@@ -406,7 +542,12 @@
|
|
|
406
542
|
"openrouter:catalog"
|
|
407
543
|
]
|
|
408
544
|
},
|
|
409
|
-
"modelStatus": "verified"
|
|
545
|
+
"modelStatus": "verified",
|
|
546
|
+
"secondary": {
|
|
547
|
+
"kind": "choice",
|
|
548
|
+
"choice": "anthropic_balanced",
|
|
549
|
+
"reason": "Higher-quality reviewer when balanced default needs a second opinion."
|
|
550
|
+
}
|
|
410
551
|
},
|
|
411
552
|
"anthropic_balanced": {
|
|
412
553
|
"choice": "anthropic_balanced",
|
|
@@ -427,7 +568,7 @@
|
|
|
427
568
|
"openrouter:catalog"
|
|
428
569
|
]
|
|
429
570
|
},
|
|
430
|
-
"modelStatus": "
|
|
571
|
+
"modelStatus": "verified"
|
|
431
572
|
},
|
|
432
573
|
"google_balanced": {
|
|
433
574
|
"choice": "google_balanced",
|
|
@@ -523,7 +664,7 @@
|
|
|
523
664
|
"displayName": "Deep Default",
|
|
524
665
|
"description": "Recommended high-reasoning model.",
|
|
525
666
|
"provider": "anthropic",
|
|
526
|
-
"modelId": "claude-sonnet-4-
|
|
667
|
+
"modelId": "claude-sonnet-4-6",
|
|
527
668
|
"runtime": {
|
|
528
669
|
"instructionTier": "reasoning",
|
|
529
670
|
"backend": "openrouter",
|
|
@@ -533,13 +674,18 @@
|
|
|
533
674
|
},
|
|
534
675
|
"reason": "Strong default for architecture, planning, code review, analysis, and complex workflows.",
|
|
535
676
|
"verification": {
|
|
536
|
-
|
|
677
|
+
"lastVerifiedAt": "2026-06-02T00:00:00Z",
|
|
537
678
|
"sourceRefs": [
|
|
538
679
|
"vendor:anthropic",
|
|
539
680
|
"openrouter:catalog"
|
|
540
681
|
]
|
|
541
682
|
},
|
|
542
|
-
"modelStatus": "verified"
|
|
683
|
+
"modelStatus": "verified",
|
|
684
|
+
"secondary": {
|
|
685
|
+
"kind": "choice",
|
|
686
|
+
"choice": "deepseek_pro",
|
|
687
|
+
"reason": "Alternate flagship reasoning tier for verification and escalation."
|
|
688
|
+
}
|
|
543
689
|
},
|
|
544
690
|
"openai_deep": {
|
|
545
691
|
"choice": "openai_deep",
|
|
@@ -560,7 +706,7 @@
|
|
|
560
706
|
"openrouter:catalog"
|
|
561
707
|
]
|
|
562
708
|
},
|
|
563
|
-
"modelStatus": "
|
|
709
|
+
"modelStatus": "verified"
|
|
564
710
|
},
|
|
565
711
|
"google_deep": {
|
|
566
712
|
"choice": "google_deep",
|
|
@@ -628,7 +774,7 @@
|
|
|
628
774
|
"openrouter:catalog"
|
|
629
775
|
]
|
|
630
776
|
},
|
|
631
|
-
"modelStatus": "
|
|
777
|
+
"modelStatus": "verified"
|
|
632
778
|
},
|
|
633
779
|
"minimax_deep": {
|
|
634
780
|
"choice": "minimax_deep",
|
|
@@ -739,7 +885,7 @@
|
|
|
739
885
|
"openrouter:catalog"
|
|
740
886
|
]
|
|
741
887
|
},
|
|
742
|
-
"modelStatus": "
|
|
888
|
+
"modelStatus": "verified"
|
|
743
889
|
},
|
|
744
890
|
"anthropic_pro": {
|
|
745
891
|
"choice": "anthropic_pro",
|
|
@@ -760,7 +906,7 @@
|
|
|
760
906
|
"openrouter:catalog"
|
|
761
907
|
]
|
|
762
908
|
},
|
|
763
|
-
"modelStatus": "
|
|
909
|
+
"modelStatus": "verified"
|
|
764
910
|
}
|
|
765
911
|
},
|
|
766
912
|
"fallbackChoiceOrder": [
|
|
@@ -827,7 +973,12 @@
|
|
|
827
973
|
"openrouter:catalog"
|
|
828
974
|
]
|
|
829
975
|
},
|
|
830
|
-
"modelStatus": "verified"
|
|
976
|
+
"modelStatus": "verified",
|
|
977
|
+
"secondary": {
|
|
978
|
+
"kind": "choice",
|
|
979
|
+
"choice": "anthropic_json",
|
|
980
|
+
"reason": "Higher-quality structured-output reviewer for complex extraction."
|
|
981
|
+
}
|
|
831
982
|
},
|
|
832
983
|
"google_json": {
|
|
833
984
|
"choice": "google_json",
|
|
@@ -871,7 +1022,7 @@
|
|
|
871
1022
|
"openrouter:catalog"
|
|
872
1023
|
]
|
|
873
1024
|
},
|
|
874
|
-
"modelStatus": "
|
|
1025
|
+
"modelStatus": "verified"
|
|
875
1026
|
},
|
|
876
1027
|
"deepseek_json": {
|
|
877
1028
|
"choice": "deepseek_json",
|
|
@@ -943,7 +1094,7 @@
|
|
|
943
1094
|
"displayName": "Agentic Default",
|
|
944
1095
|
"description": "Recommended model for agentic execution.",
|
|
945
1096
|
"provider": "anthropic",
|
|
946
|
-
"modelId": "claude-sonnet-4-
|
|
1097
|
+
"modelId": "claude-sonnet-4-6",
|
|
947
1098
|
"runtime": {
|
|
948
1099
|
"instructionTier": "default",
|
|
949
1100
|
"backend": "openrouter",
|
|
@@ -953,12 +1104,40 @@
|
|
|
953
1104
|
},
|
|
954
1105
|
"reason": "Strong default for multi-step planning, tool use, and agent workflows.",
|
|
955
1106
|
"verification": {
|
|
956
|
-
|
|
1107
|
+
"lastVerifiedAt": "2026-06-02T00:00:00Z",
|
|
957
1108
|
"sourceRefs": [
|
|
958
1109
|
"vendor:anthropic",
|
|
959
1110
|
"openrouter:catalog"
|
|
960
1111
|
]
|
|
961
1112
|
},
|
|
1113
|
+
"modelStatus": "verified",
|
|
1114
|
+
"secondary": {
|
|
1115
|
+
"kind": "choice",
|
|
1116
|
+
"choice": "openai_agentic",
|
|
1117
|
+
"reason": "Cross-vendor reviewer for agentic tool-use workflows."
|
|
1118
|
+
}
|
|
1119
|
+
},
|
|
1120
|
+
"deepseek_agentic": {
|
|
1121
|
+
"choice": "deepseek_agentic",
|
|
1122
|
+
"displayName": "DeepSeek V4 Agentic",
|
|
1123
|
+
"description": "Agentic fallback using DeepSeek's reasoning and tool capabilities.",
|
|
1124
|
+
"provider": "deepseek",
|
|
1125
|
+
"modelId": "deepseek-v4-pro",
|
|
1126
|
+
"runtime": {
|
|
1127
|
+
"instructionTier": "reasoning",
|
|
1128
|
+
"backend": "openrouter",
|
|
1129
|
+
"reasoningEffort": "high",
|
|
1130
|
+
"toolPolicy": "write-with-approval",
|
|
1131
|
+
"outputMode": "text"
|
|
1132
|
+
},
|
|
1133
|
+
"reason": "Use when cost or vendor trimming excludes Anthropic or OpenAI for agentic tool use.",
|
|
1134
|
+
"verification": {
|
|
1135
|
+
"lastVerifiedAt": "2026-06-02T00:00:00Z",
|
|
1136
|
+
"sourceRefs": [
|
|
1137
|
+
"vendor:deepseek",
|
|
1138
|
+
"openrouter:catalog"
|
|
1139
|
+
]
|
|
1140
|
+
},
|
|
962
1141
|
"modelStatus": "verified"
|
|
963
1142
|
},
|
|
964
1143
|
"openai_agentic": {
|
|
@@ -980,7 +1159,7 @@
|
|
|
980
1159
|
"openrouter:catalog"
|
|
981
1160
|
]
|
|
982
1161
|
},
|
|
983
|
-
"modelStatus": "
|
|
1162
|
+
"modelStatus": "verified"
|
|
984
1163
|
},
|
|
985
1164
|
"google_agentic": {
|
|
986
1165
|
"choice": "google_agentic",
|
|
@@ -1407,7 +1586,7 @@
|
|
|
1407
1586
|
"openrouter:catalog"
|
|
1408
1587
|
]
|
|
1409
1588
|
},
|
|
1410
|
-
"modelStatus": "
|
|
1589
|
+
"modelStatus": "verified"
|
|
1411
1590
|
}
|
|
1412
1591
|
},
|
|
1413
1592
|
"fallbackChoiceOrder": [
|
|
@@ -1486,7 +1665,7 @@
|
|
|
1486
1665
|
"openrouter:catalog"
|
|
1487
1666
|
]
|
|
1488
1667
|
},
|
|
1489
|
-
"modelStatus": "
|
|
1668
|
+
"modelStatus": "verified"
|
|
1490
1669
|
}
|
|
1491
1670
|
},
|
|
1492
1671
|
"fallbackChoiceOrder": [
|
|
@@ -1997,6 +2176,11 @@
|
|
|
1997
2176
|
"openrouter:catalog",
|
|
1998
2177
|
"vendor:deepseek-api-docs"
|
|
1999
2178
|
]
|
|
2179
|
+
},
|
|
2180
|
+
"secondary": {
|
|
2181
|
+
"kind": "choice",
|
|
2182
|
+
"choice": "pro",
|
|
2183
|
+
"reason": "Escalation to Pro when Flash default is insufficient for agent steps."
|
|
2000
2184
|
}
|
|
2001
2185
|
},
|
|
2002
2186
|
"flash": {
|
|
@@ -88,6 +88,7 @@
|
|
|
88
88
|
"enum": ["proprietary", "openWeightsHosted", "selfHosted"]
|
|
89
89
|
},
|
|
90
90
|
"fallbackChoiceOrder": { "type": "array", "items": { "type": "string" } },
|
|
91
|
+
"defaultSecondaryChoice": { "type": "string" },
|
|
91
92
|
"aliases": { "type": "array", "items": { "type": "string" } },
|
|
92
93
|
"tags": {
|
|
93
94
|
"type": "array",
|
|
@@ -193,15 +194,43 @@
|
|
|
193
194
|
}
|
|
194
195
|
}
|
|
195
196
|
},
|
|
197
|
+
"secondaryRef": {
|
|
198
|
+
"type": "object",
|
|
199
|
+
"required": ["kind"],
|
|
200
|
+
"properties": {
|
|
201
|
+
"kind": { "enum": ["choice", "model"] },
|
|
202
|
+
"choice": { "type": "string" },
|
|
203
|
+
"provider": { "type": "string" },
|
|
204
|
+
"modelId": { "type": "string" },
|
|
205
|
+
"reason": { "type": "string" },
|
|
206
|
+
"runtime": {
|
|
207
|
+
"type": "object",
|
|
208
|
+
"additionalProperties": true
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
"allOf": [
|
|
212
|
+
{
|
|
213
|
+
"if": { "properties": { "kind": { "const": "choice" } } },
|
|
214
|
+
"then": { "required": ["choice"] }
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"if": { "properties": { "kind": { "const": "model" } } },
|
|
218
|
+
"then": { "required": ["provider", "modelId"] }
|
|
219
|
+
}
|
|
220
|
+
]
|
|
221
|
+
},
|
|
196
222
|
"choice": {
|
|
197
223
|
"type": "object",
|
|
198
224
|
"required": ["choice", "displayName", "description", "provider", "modelId"],
|
|
199
225
|
"properties": {
|
|
200
226
|
"choice": { "type": "string" },
|
|
227
|
+
"displayName": { "type": "string" },
|
|
228
|
+
"description": { "type": "string" },
|
|
201
229
|
"provider": { "type": "string" },
|
|
202
230
|
"modelId": { "type": "string" },
|
|
203
231
|
"modelStatus": { "enum": ["verified", "predicted"] },
|
|
204
232
|
"modalities": { "$ref": "#/$defs/modalityContract" },
|
|
233
|
+
"secondary": { "$ref": "#/$defs/secondaryRef" },
|
|
205
234
|
"deploymentType": {
|
|
206
235
|
"enum": ["proprietary", "openWeightsHosted", "selfHosted"]
|
|
207
236
|
}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "x12i.ai-profiles.shortcuts",
|
|
3
|
-
"version": "
|
|
4
|
-
"generatedAt": "2026-06-
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"generatedAt": "2026-06-02T13:39:41.774Z",
|
|
5
5
|
"shortcuts": {
|
|
6
6
|
"economy": {
|
|
7
|
-
"profile": "cheap"
|
|
7
|
+
"profile": "cheap",
|
|
8
|
+
"choice": "default"
|
|
8
9
|
},
|
|
9
10
|
"budget": {
|
|
10
|
-
"profile": "cheap"
|
|
11
|
+
"profile": "cheap",
|
|
12
|
+
"choice": "default"
|
|
11
13
|
},
|
|
12
14
|
"low-cost": {
|
|
13
|
-
"profile": "cheap"
|
|
15
|
+
"profile": "cheap",
|
|
16
|
+
"choice": "default"
|
|
14
17
|
},
|
|
15
18
|
"cheapest": {
|
|
16
19
|
"profile": "cheap",
|
|
@@ -20,31 +23,57 @@
|
|
|
20
23
|
"profile": "cheap",
|
|
21
24
|
"choice": "anthropic_cheap"
|
|
22
25
|
},
|
|
26
|
+
"cheap-power": {
|
|
27
|
+
"profile": "value",
|
|
28
|
+
"choice": "default"
|
|
29
|
+
},
|
|
30
|
+
"value": {
|
|
31
|
+
"profile": "value",
|
|
32
|
+
"choice": "default"
|
|
33
|
+
},
|
|
34
|
+
"test": {
|
|
35
|
+
"profile": "testing",
|
|
36
|
+
"choice": "default"
|
|
37
|
+
},
|
|
38
|
+
"testing": {
|
|
39
|
+
"profile": "testing",
|
|
40
|
+
"choice": "default"
|
|
41
|
+
},
|
|
42
|
+
"smoke-test": {
|
|
43
|
+
"profile": "testing",
|
|
44
|
+
"choice": "default"
|
|
45
|
+
},
|
|
23
46
|
"instant": {
|
|
24
|
-
"profile": "fast"
|
|
47
|
+
"profile": "fast",
|
|
48
|
+
"choice": "default"
|
|
25
49
|
},
|
|
26
50
|
"quick": {
|
|
27
|
-
"profile": "fast"
|
|
51
|
+
"profile": "fast",
|
|
52
|
+
"choice": "default"
|
|
28
53
|
},
|
|
29
54
|
"fast-cheap": {
|
|
30
55
|
"profile": "fast",
|
|
31
56
|
"choice": "google_fast"
|
|
32
57
|
},
|
|
33
58
|
"default": {
|
|
34
|
-
"profile": "balanced"
|
|
59
|
+
"profile": "balanced",
|
|
60
|
+
"choice": "default"
|
|
35
61
|
},
|
|
36
62
|
"standard": {
|
|
37
|
-
"profile": "balanced"
|
|
63
|
+
"profile": "balanced",
|
|
64
|
+
"choice": "default"
|
|
38
65
|
},
|
|
39
66
|
"normal": {
|
|
40
67
|
"profile": "balanced",
|
|
41
68
|
"choice": "default"
|
|
42
69
|
},
|
|
43
70
|
"thinking": {
|
|
44
|
-
"profile": "deep"
|
|
71
|
+
"profile": "deep",
|
|
72
|
+
"choice": "default"
|
|
45
73
|
},
|
|
46
74
|
"high-reasoning": {
|
|
47
|
-
"profile": "deep"
|
|
75
|
+
"profile": "deep",
|
|
76
|
+
"choice": "default"
|
|
48
77
|
},
|
|
49
78
|
"long-context": {
|
|
50
79
|
"profile": "deep",
|
|
@@ -55,50 +84,60 @@
|
|
|
55
84
|
"choice": "default"
|
|
56
85
|
},
|
|
57
86
|
"premium": {
|
|
58
|
-
"profile": "pro"
|
|
87
|
+
"profile": "pro",
|
|
88
|
+
"choice": "default"
|
|
59
89
|
},
|
|
60
90
|
"best": {
|
|
61
|
-
"profile": "pro"
|
|
91
|
+
"profile": "pro",
|
|
92
|
+
"choice": "default"
|
|
62
93
|
},
|
|
63
94
|
"strong": {
|
|
64
95
|
"profile": "pro",
|
|
65
96
|
"choice": "default"
|
|
66
97
|
},
|
|
67
98
|
"schema": {
|
|
68
|
-
"profile": "json"
|
|
99
|
+
"profile": "json",
|
|
100
|
+
"choice": "default"
|
|
69
101
|
},
|
|
70
102
|
"strict-json": {
|
|
71
|
-
"profile": "json"
|
|
103
|
+
"profile": "json",
|
|
104
|
+
"choice": "default"
|
|
72
105
|
},
|
|
73
106
|
"cheap-json": {
|
|
74
107
|
"profile": "json",
|
|
75
108
|
"choice": "google_json"
|
|
76
109
|
},
|
|
77
110
|
"agent": {
|
|
78
|
-
"profile": "agentic"
|
|
111
|
+
"profile": "agentic",
|
|
112
|
+
"choice": "default"
|
|
79
113
|
},
|
|
80
114
|
"tools": {
|
|
81
|
-
"profile": "agentic"
|
|
115
|
+
"profile": "agentic",
|
|
116
|
+
"choice": "default"
|
|
82
117
|
},
|
|
83
118
|
"cheap-agent": {
|
|
84
119
|
"profile": "agentic",
|
|
85
120
|
"choice": "google_agentic"
|
|
86
121
|
},
|
|
87
122
|
"web-research": {
|
|
88
|
-
"profile": "research"
|
|
123
|
+
"profile": "research",
|
|
124
|
+
"choice": "default"
|
|
89
125
|
},
|
|
90
126
|
"source-review": {
|
|
91
|
-
"profile": "research"
|
|
127
|
+
"profile": "research",
|
|
128
|
+
"choice": "default"
|
|
92
129
|
},
|
|
93
130
|
"premium-research": {
|
|
94
131
|
"profile": "research",
|
|
95
132
|
"choice": "openai_research"
|
|
96
133
|
},
|
|
97
134
|
"offline": {
|
|
98
|
-
"profile": "local"
|
|
135
|
+
"profile": "local",
|
|
136
|
+
"choice": "llama_cpp_gguf"
|
|
99
137
|
},
|
|
100
138
|
"on-device": {
|
|
101
|
-
"profile": "local"
|
|
139
|
+
"profile": "local",
|
|
140
|
+
"choice": "llama_cpp_gguf"
|
|
102
141
|
},
|
|
103
142
|
"cpu": {
|
|
104
143
|
"profile": "local",
|
|
@@ -109,10 +148,12 @@
|
|
|
109
148
|
"choice": "llama_cpp_gguf"
|
|
110
149
|
},
|
|
111
150
|
"threat-intel": {
|
|
112
|
-
"profile": "cyber"
|
|
151
|
+
"profile": "cyber",
|
|
152
|
+
"choice": "default"
|
|
113
153
|
},
|
|
114
154
|
"security": {
|
|
115
|
-
"profile": "cyber"
|
|
155
|
+
"profile": "cyber",
|
|
156
|
+
"choice": "default"
|
|
116
157
|
},
|
|
117
158
|
"audit": {
|
|
118
159
|
"profile": "cyber",
|
|
@@ -123,10 +164,12 @@
|
|
|
123
164
|
"choice": "log_analysis"
|
|
124
165
|
},
|
|
125
166
|
"writing": {
|
|
126
|
-
"profile": "content"
|
|
167
|
+
"profile": "content",
|
|
168
|
+
"choice": "default"
|
|
127
169
|
},
|
|
128
170
|
"copy": {
|
|
129
|
-
"profile": "content"
|
|
171
|
+
"profile": "content",
|
|
172
|
+
"choice": "default"
|
|
130
173
|
},
|
|
131
174
|
"pseo": {
|
|
132
175
|
"profile": "content",
|
|
@@ -149,7 +192,8 @@
|
|
|
149
192
|
"choice": "mega_context"
|
|
150
193
|
},
|
|
151
194
|
"image": {
|
|
152
|
-
"profile": "vision"
|
|
195
|
+
"profile": "vision",
|
|
196
|
+
"choice": "default"
|
|
153
197
|
},
|
|
154
198
|
"ocr": {
|
|
155
199
|
"profile": "vision",
|
|
@@ -160,25 +204,32 @@
|
|
|
160
204
|
"choice": "deepseek_cheap"
|
|
161
205
|
},
|
|
162
206
|
"coding": {
|
|
163
|
-
"profile": "coding"
|
|
207
|
+
"profile": "coding",
|
|
208
|
+
"choice": "default"
|
|
164
209
|
},
|
|
165
210
|
"dev": {
|
|
166
|
-
"profile": "coding"
|
|
211
|
+
"profile": "coding",
|
|
212
|
+
"choice": "default"
|
|
167
213
|
},
|
|
168
214
|
"extraction": {
|
|
169
|
-
"profile": "extraction"
|
|
215
|
+
"profile": "extraction",
|
|
216
|
+
"choice": "default"
|
|
170
217
|
},
|
|
171
218
|
"extract": {
|
|
172
|
-
"profile": "extraction"
|
|
219
|
+
"profile": "extraction",
|
|
220
|
+
"choice": "default"
|
|
173
221
|
},
|
|
174
222
|
"routing": {
|
|
175
|
-
"profile": "routing"
|
|
223
|
+
"profile": "routing",
|
|
224
|
+
"choice": "default"
|
|
176
225
|
},
|
|
177
226
|
"route": {
|
|
178
|
-
"profile": "routing"
|
|
227
|
+
"profile": "routing",
|
|
228
|
+
"choice": "default"
|
|
179
229
|
},
|
|
180
230
|
"cyber-analysis": {
|
|
181
|
-
"profile": "cyber"
|
|
231
|
+
"profile": "cyber",
|
|
232
|
+
"choice": "default"
|
|
182
233
|
},
|
|
183
234
|
"cyber-default": {
|
|
184
235
|
"profile": "cyber",
|
|
@@ -197,7 +248,8 @@
|
|
|
197
248
|
"choice": "deepseek_pro"
|
|
198
249
|
},
|
|
199
250
|
"volume-agent": {
|
|
200
|
-
"profile": "vol"
|
|
251
|
+
"profile": "vol",
|
|
252
|
+
"choice": "default"
|
|
201
253
|
},
|
|
202
254
|
"agent-volume": {
|
|
203
255
|
"profile": "vol",
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type AIProfilesErrorCode = "UNKNOWN_PROFILE" | "UNKNOWN_SHORTCUT" | "UNKNOWN_CHOICE" | "NO_ALLOWED_VENDOR" | "NO_MODALITY_MATCH" | "NO_COST_CAP_MATCH" | "NO_OPENROUTER_CATALOG" | "CATALOG_LANE_MISMATCH" | "MISSING_CATALOG_LANE" | "REMOTE_FETCH_FAILED" | "REMOTE_JSON_INVALID" | "BUNDLED_JSON_INVALID" | "REGISTRY_SCHEMA_UNSUPPORTED" | "REGISTRY_VALIDATION_FAILED";
|
|
1
|
+
export type AIProfilesErrorCode = "UNKNOWN_PROFILE" | "UNKNOWN_PROFILE_CHOICE" | "UNKNOWN_MODEL" | "CHOICE_SUBSTITUTED" | "UNKNOWN_SHORTCUT" | "UNKNOWN_CHOICE" | "UNKNOWN_SECONDARY_CHOICE" | "SECONDARY_CYCLE" | "NO_ALLOWED_VENDOR" | "NO_MODALITY_MATCH" | "NO_COST_CAP_MATCH" | "NO_OPENROUTER_CATALOG" | "CATALOG_LANE_MISMATCH" | "MISSING_CATALOG_LANE" | "REMOTE_FETCH_FAILED" | "REMOTE_JSON_INVALID" | "BUNDLED_JSON_INVALID" | "REGISTRY_SCHEMA_UNSUPPORTED" | "REGISTRY_VALIDATION_FAILED";
|
|
2
2
|
export declare class AIProfilesError extends Error {
|
|
3
3
|
code: AIProfilesErrorCode;
|
|
4
4
|
details?: Record<string, unknown> | undefined;
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,kBAAkB,GAClB,gBAAgB,GAChB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,6BAA6B,GAC7B,4BAA4B,CAAC;AAEjC,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,IAAI,EAAE,mBAAmB;IAEzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,mBAAmB,EAChC,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAK3C"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,wBAAwB,GACxB,eAAe,GACf,oBAAoB,GACpB,kBAAkB,GAClB,gBAAgB,GAChB,0BAA0B,GAC1B,iBAAiB,GACjB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,GACvB,uBAAuB,GACvB,sBAAsB,GACtB,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,6BAA6B,GAC7B,4BAA4B,CAAC;AAEjC,qBAAa,eAAgB,SAAQ,KAAK;IAE/B,IAAI,EAAE,mBAAmB;IAEzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFjC,IAAI,EAAE,mBAAmB,EAChC,OAAO,EAAE,MAAM,EACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAK3C"}
|