@llmgateway/models 1.167.1 → 1.169.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/dist/models.d.ts CHANGED
@@ -2,6 +2,7 @@ import type { providers } from "./providers.js";
2
2
  export type Provider = (typeof providers)[number]["id"];
3
3
  export type Model = (typeof models)[number]["id"];
4
4
  export type Price = string;
5
+ export type ReasoningEffort = "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
5
6
  export interface PricingTier {
6
7
  name: string;
7
8
  upToTokens: number;
@@ -73,6 +74,7 @@ export interface ProviderModelMapping {
73
74
  reasoningOutput?: "omit";
74
75
  reasoningMaxTokens?: boolean;
75
76
  reasoningMode?: "enabled" | "adaptive";
77
+ reasoningEfforts?: ReasoningEffort[];
76
78
  tools?: boolean;
77
79
  parallelToolCalls?: boolean;
78
80
  jsonOutput?: boolean;
@@ -431,6 +433,7 @@ export declare const models: [{
431
433
  readonly streaming: true;
432
434
  readonly vision: true;
433
435
  readonly reasoning: true;
436
+ readonly reasoningEfforts: ["low", "medium", "high"];
434
437
  readonly tools: false;
435
438
  readonly jsonOutputSchema: true;
436
439
  readonly jsonOutput: true;
@@ -447,6 +450,7 @@ export declare const models: [{
447
450
  readonly streaming: true;
448
451
  readonly vision: true;
449
452
  readonly reasoning: true;
453
+ readonly reasoningEfforts: ["low", "medium", "high"];
450
454
  readonly tools: false;
451
455
  readonly jsonOutputSchema: true;
452
456
  readonly jsonOutput: true;
@@ -666,6 +670,7 @@ export declare const models: [{
666
670
  readonly vision: true;
667
671
  readonly tools: true;
668
672
  readonly reasoning: true;
673
+ readonly reasoningEfforts: ["low", "medium", "high"];
669
674
  readonly jsonOutputSchema: true;
670
675
  readonly jsonOutput: true;
671
676
  readonly supportedParameters: ["reasoning_effort", "response_format"];
@@ -683,6 +688,7 @@ export declare const models: [{
683
688
  readonly vision: true;
684
689
  readonly tools: true;
685
690
  readonly reasoning: true;
691
+ readonly reasoningEfforts: ["low", "medium", "high"];
686
692
  readonly jsonOutputSchema: true;
687
693
  readonly jsonOutput: true;
688
694
  }];
@@ -853,6 +859,7 @@ export declare const models: [{
853
859
  readonly contextSize: 400000;
854
860
  readonly maxOutput: 128000;
855
861
  readonly reasoning: true;
862
+ readonly reasoningEfforts: ["minimal", "low", "medium", "high"];
856
863
  readonly streaming: true;
857
864
  readonly vision: true;
858
865
  readonly tools: true;
@@ -875,6 +882,7 @@ export declare const models: [{
875
882
  readonly contextSize: 400000;
876
883
  readonly maxOutput: 128000;
877
884
  readonly reasoning: true;
885
+ readonly reasoningEfforts: ["minimal", "low", "medium", "high"];
878
886
  readonly supportsResponsesApi: true;
879
887
  readonly streaming: true;
880
888
  readonly vision: true;
@@ -900,6 +908,7 @@ export declare const models: [{
900
908
  readonly contextSize: 400000;
901
909
  readonly maxOutput: 128000;
902
910
  readonly reasoning: true;
911
+ readonly reasoningEfforts: ["minimal", "low", "medium", "high"];
903
912
  readonly streaming: true;
904
913
  readonly vision: true;
905
914
  readonly tools: true;
@@ -922,6 +931,7 @@ export declare const models: [{
922
931
  readonly contextSize: 400000;
923
932
  readonly maxOutput: 128000;
924
933
  readonly reasoning: true;
934
+ readonly reasoningEfforts: ["minimal", "low", "medium", "high"];
925
935
  readonly supportsResponsesApi: true;
926
936
  readonly streaming: true;
927
937
  readonly vision: true;
@@ -947,6 +957,7 @@ export declare const models: [{
947
957
  readonly contextSize: 400000;
948
958
  readonly maxOutput: 128000;
949
959
  readonly reasoning: true;
960
+ readonly reasoningEfforts: ["minimal", "low", "medium", "high"];
950
961
  readonly streaming: true;
951
962
  readonly vision: false;
952
963
  readonly tools: true;
@@ -969,6 +980,7 @@ export declare const models: [{
969
980
  readonly contextSize: 400000;
970
981
  readonly maxOutput: 128000;
971
982
  readonly reasoning: true;
983
+ readonly reasoningEfforts: ["minimal", "low", "medium", "high"];
972
984
  readonly supportsResponsesApi: true;
973
985
  readonly streaming: true;
974
986
  readonly vision: false;
@@ -1020,6 +1032,7 @@ export declare const models: [{
1020
1032
  readonly webSearch: true;
1021
1033
  readonly webSearchPrice: "0.01";
1022
1034
  readonly reasoning: true;
1035
+ readonly reasoningEfforts: ["none", "low", "medium", "high"];
1023
1036
  readonly reasoningOutput: "omit";
1024
1037
  readonly supportsResponsesApi: true;
1025
1038
  readonly jsonOutputSchema: true;
@@ -1040,6 +1053,7 @@ export declare const models: [{
1040
1053
  readonly vision: true;
1041
1054
  readonly tools: true;
1042
1055
  readonly reasoning: true;
1056
+ readonly reasoningEfforts: ["none", "low", "medium", "high"];
1043
1057
  readonly supportsResponsesApi: true;
1044
1058
  readonly jsonOutputSchema: true;
1045
1059
  readonly supportedParameters: ["temperature", "top_p", "frequency_penalty", "presence_penalty", "response_format"];
@@ -1063,6 +1077,7 @@ export declare const models: [{
1063
1077
  readonly maxOutput: 272000;
1064
1078
  readonly streaming: true;
1065
1079
  readonly reasoning: true;
1080
+ readonly reasoningEfforts: ["high"];
1066
1081
  readonly reasoningOutput: "omit";
1067
1082
  readonly vision: true;
1068
1083
  readonly tools: true;
@@ -1178,6 +1193,7 @@ export declare const models: [{
1178
1193
  readonly webSearch: true;
1179
1194
  readonly webSearchPrice: "0.01";
1180
1195
  readonly reasoning: true;
1196
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1181
1197
  readonly reasoningOutput: "omit";
1182
1198
  readonly supportsResponsesApi: true;
1183
1199
  readonly jsonOutputSchema: true;
@@ -1198,6 +1214,7 @@ export declare const models: [{
1198
1214
  readonly vision: true;
1199
1215
  readonly tools: true;
1200
1216
  readonly reasoning: true;
1217
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1201
1218
  readonly reasoningOutput: "omit";
1202
1219
  readonly supportsResponsesApi: true;
1203
1220
  readonly jsonOutputSchema: true;
@@ -1220,6 +1237,7 @@ export declare const models: [{
1220
1237
  readonly maxOutput: 272000;
1221
1238
  readonly streaming: true;
1222
1239
  readonly reasoning: true;
1240
+ readonly reasoningEfforts: ["medium", "high", "xhigh"];
1223
1241
  readonly reasoningOutput: "omit";
1224
1242
  readonly vision: true;
1225
1243
  readonly tools: true;
@@ -1240,6 +1258,7 @@ export declare const models: [{
1240
1258
  readonly maxOutput: 272000;
1241
1259
  readonly streaming: true;
1242
1260
  readonly reasoning: true;
1261
+ readonly reasoningEfforts: ["medium", "high", "xhigh"];
1243
1262
  readonly vision: true;
1244
1263
  readonly tools: true;
1245
1264
  readonly supportsResponsesApi: true;
@@ -1318,6 +1337,7 @@ export declare const models: [{
1318
1337
  readonly webSearch: true;
1319
1338
  readonly webSearchPrice: "0.01";
1320
1339
  readonly reasoning: true;
1340
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1321
1341
  readonly reasoningOutput: "omit";
1322
1342
  readonly supportsResponsesApi: true;
1323
1343
  readonly jsonOutputSchema: true;
@@ -1340,6 +1360,7 @@ export declare const models: [{
1340
1360
  readonly webSearch: true;
1341
1361
  readonly webSearchPrice: "0.01";
1342
1362
  readonly reasoning: true;
1363
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1343
1364
  readonly reasoningOutput: "omit";
1344
1365
  readonly supportsResponsesApi: true;
1345
1366
  readonly jsonOutputSchema: true;
@@ -1364,6 +1385,7 @@ export declare const models: [{
1364
1385
  readonly maxOutput: 128000;
1365
1386
  readonly streaming: true;
1366
1387
  readonly reasoning: true;
1388
+ readonly reasoningEfforts: ["medium", "high", "xhigh"];
1367
1389
  readonly reasoningOutput: "omit";
1368
1390
  readonly vision: true;
1369
1391
  readonly tools: true;
@@ -1384,6 +1406,7 @@ export declare const models: [{
1384
1406
  readonly maxOutput: 128000;
1385
1407
  readonly streaming: true;
1386
1408
  readonly reasoning: true;
1409
+ readonly reasoningEfforts: ["medium", "high", "xhigh"];
1387
1410
  readonly reasoningOutput: "omit";
1388
1411
  readonly vision: true;
1389
1412
  readonly tools: true;
@@ -1418,6 +1441,7 @@ export declare const models: [{
1418
1441
  readonly webSearch: true;
1419
1442
  readonly webSearchPrice: "0.01";
1420
1443
  readonly reasoning: true;
1444
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1421
1445
  readonly reasoningOutput: "omit";
1422
1446
  readonly supportsResponsesApi: true;
1423
1447
  readonly jsonOutputSchema: true;
@@ -1439,6 +1463,7 @@ export declare const models: [{
1439
1463
  readonly webSearch: true;
1440
1464
  readonly webSearchPrice: "0.01";
1441
1465
  readonly reasoning: true;
1466
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1442
1467
  readonly reasoningOutput: "omit";
1443
1468
  readonly supportsResponsesApi: true;
1444
1469
  readonly jsonOutputSchema: true;
@@ -1466,6 +1491,7 @@ export declare const models: [{
1466
1491
  readonly webSearch: true;
1467
1492
  readonly webSearchPrice: "0.01";
1468
1493
  readonly reasoning: true;
1494
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1469
1495
  readonly reasoningOutput: "omit";
1470
1496
  readonly supportsResponsesApi: true;
1471
1497
  readonly jsonOutputSchema: true;
@@ -1487,6 +1513,7 @@ export declare const models: [{
1487
1513
  readonly webSearch: true;
1488
1514
  readonly webSearchPrice: "0.01";
1489
1515
  readonly reasoning: true;
1516
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1490
1517
  readonly reasoningOutput: "omit";
1491
1518
  readonly supportsResponsesApi: true;
1492
1519
  readonly jsonOutputSchema: true;
@@ -1514,6 +1541,7 @@ export declare const models: [{
1514
1541
  readonly webSearch: true;
1515
1542
  readonly webSearchPrice: "0.01";
1516
1543
  readonly reasoning: true;
1544
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1517
1545
  readonly reasoningOutput: "omit";
1518
1546
  readonly supportsResponsesApi: true;
1519
1547
  readonly jsonOutputSchema: true;
@@ -1536,6 +1564,7 @@ export declare const models: [{
1536
1564
  readonly webSearch: true;
1537
1565
  readonly webSearchPrice: "0.01";
1538
1566
  readonly reasoning: true;
1567
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh"];
1539
1568
  readonly reasoningOutput: "omit";
1540
1569
  readonly supportsResponsesApi: true;
1541
1570
  readonly jsonOutputSchema: true;
@@ -1560,6 +1589,7 @@ export declare const models: [{
1560
1589
  readonly maxOutput: 128000;
1561
1590
  readonly streaming: true;
1562
1591
  readonly reasoning: true;
1592
+ readonly reasoningEfforts: ["medium", "high", "xhigh"];
1563
1593
  readonly reasoningOutput: "omit";
1564
1594
  readonly vision: true;
1565
1595
  readonly tools: true;
@@ -1611,6 +1641,7 @@ export declare const models: [{
1611
1641
  readonly webSearch: true;
1612
1642
  readonly webSearchPrice: "0.01";
1613
1643
  readonly reasoning: true;
1644
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh", "max"];
1614
1645
  readonly reasoningOutput: "omit";
1615
1646
  readonly verbosity: true;
1616
1647
  readonly supportsResponsesApi: true;
@@ -1659,6 +1690,7 @@ export declare const models: [{
1659
1690
  readonly webSearch: true;
1660
1691
  readonly webSearchPrice: "0.01";
1661
1692
  readonly reasoning: true;
1693
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh", "max"];
1662
1694
  readonly reasoningOutput: "omit";
1663
1695
  readonly verbosity: true;
1664
1696
  readonly supportsResponsesApi: true;
@@ -1707,6 +1739,7 @@ export declare const models: [{
1707
1739
  readonly webSearch: true;
1708
1740
  readonly webSearchPrice: "0.01";
1709
1741
  readonly reasoning: true;
1742
+ readonly reasoningEfforts: ["none", "low", "medium", "high", "xhigh", "max"];
1710
1743
  readonly reasoningOutput: "omit";
1711
1744
  readonly verbosity: true;
1712
1745
  readonly supportsResponsesApi: true;
@@ -1731,6 +1764,7 @@ export declare const models: [{
1731
1764
  readonly maxOutput: 128000;
1732
1765
  readonly streaming: true;
1733
1766
  readonly reasoning: true;
1767
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh"];
1734
1768
  readonly reasoningOutput: "omit";
1735
1769
  readonly vision: true;
1736
1770
  readonly tools: true;
@@ -1751,6 +1785,7 @@ export declare const models: [{
1751
1785
  readonly maxOutput: 128000;
1752
1786
  readonly streaming: true;
1753
1787
  readonly reasoning: true;
1788
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh"];
1754
1789
  readonly vision: true;
1755
1790
  readonly tools: true;
1756
1791
  readonly supportsResponsesApi: true;
@@ -1778,6 +1813,7 @@ export declare const models: [{
1778
1813
  readonly maxOutput: 128000;
1779
1814
  readonly streaming: true;
1780
1815
  readonly reasoning: true;
1816
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh"];
1781
1817
  readonly reasoningOutput: "omit";
1782
1818
  readonly vision: true;
1783
1819
  readonly tools: true;
@@ -1799,6 +1835,7 @@ export declare const models: [{
1799
1835
  readonly maxOutput: 128000;
1800
1836
  readonly streaming: true;
1801
1837
  readonly reasoning: true;
1838
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh"];
1802
1839
  readonly vision: true;
1803
1840
  readonly tools: true;
1804
1841
  readonly supportsResponsesApi: true;
@@ -2143,6 +2180,7 @@ export declare const models: [{
2143
2180
  readonly contextSize: 1000000;
2144
2181
  readonly maxOutput: 128000;
2145
2182
  readonly reasoning: true;
2183
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2146
2184
  readonly reasoningMode: "adaptive";
2147
2185
  readonly reasoningOutput: "omit";
2148
2186
  readonly streaming: true;
@@ -2164,6 +2202,7 @@ export declare const models: [{
2164
2202
  readonly contextSize: 1000000;
2165
2203
  readonly maxOutput: 128000;
2166
2204
  readonly reasoning: true;
2205
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2167
2206
  readonly reasoningMode: "adaptive";
2168
2207
  readonly reasoningOutput: "omit";
2169
2208
  readonly streaming: true;
@@ -2196,6 +2235,7 @@ export declare const models: [{
2196
2235
  readonly contextSize: 200000;
2197
2236
  readonly maxOutput: 8192;
2198
2237
  readonly reasoning: true;
2238
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2199
2239
  readonly reasoningMaxTokens: true;
2200
2240
  readonly streaming: true;
2201
2241
  readonly vision: true;
@@ -2218,6 +2258,7 @@ export declare const models: [{
2218
2258
  readonly contextSize: 200000;
2219
2259
  readonly maxOutput: 8192;
2220
2260
  readonly reasoning: true;
2261
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2221
2262
  readonly reasoningMaxTokens: true;
2222
2263
  readonly streaming: true;
2223
2264
  readonly vision: true;
@@ -2297,6 +2338,7 @@ export declare const models: [{
2297
2338
  readonly streaming: true;
2298
2339
  readonly vision: true;
2299
2340
  readonly reasoning: true;
2341
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2300
2342
  readonly reasoningMaxTokens: true;
2301
2343
  readonly tools: true;
2302
2344
  readonly jsonOutputSchema: true;
@@ -2415,6 +2457,7 @@ export declare const models: [{
2415
2457
  readonly contextSize: 200000;
2416
2458
  readonly maxOutput: undefined;
2417
2459
  readonly reasoning: true;
2460
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2418
2461
  readonly reasoningMaxTokens: true;
2419
2462
  readonly streaming: true;
2420
2463
  readonly vision: true;
@@ -2436,6 +2479,7 @@ export declare const models: [{
2436
2479
  readonly contextSize: 200000;
2437
2480
  readonly maxOutput: undefined;
2438
2481
  readonly reasoning: true;
2482
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2439
2483
  readonly reasoningMaxTokens: true;
2440
2484
  readonly streaming: true;
2441
2485
  readonly vision: true;
@@ -2462,6 +2506,7 @@ export declare const models: [{
2462
2506
  readonly requestPrice: "0";
2463
2507
  readonly contextSize: 200000;
2464
2508
  readonly reasoning: true;
2509
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2465
2510
  readonly reasoningMaxTokens: true;
2466
2511
  readonly maxOutput: 64000;
2467
2512
  readonly streaming: true;
@@ -2484,6 +2529,7 @@ export declare const models: [{
2484
2529
  readonly contextSize: 200000;
2485
2530
  readonly maxOutput: 8192;
2486
2531
  readonly reasoning: true;
2532
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2487
2533
  readonly reasoningMaxTokens: true;
2488
2534
  readonly streaming: true;
2489
2535
  readonly vision: true;
@@ -2512,6 +2558,7 @@ export declare const models: [{
2512
2558
  readonly contextSize: 200000;
2513
2559
  readonly maxOutput: 64000;
2514
2560
  readonly reasoning: true;
2561
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2515
2562
  readonly reasoningMaxTokens: true;
2516
2563
  readonly streaming: true;
2517
2564
  readonly vision: true;
@@ -2537,6 +2584,7 @@ export declare const models: [{
2537
2584
  readonly requestPrice: "0";
2538
2585
  readonly contextSize: 200000;
2539
2586
  readonly reasoning: true;
2587
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2540
2588
  readonly reasoningMaxTokens: true;
2541
2589
  readonly maxOutput: 64000;
2542
2590
  readonly streaming: true;
@@ -2559,6 +2607,7 @@ export declare const models: [{
2559
2607
  readonly contextSize: 200000;
2560
2608
  readonly maxOutput: 8192;
2561
2609
  readonly reasoning: true;
2610
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2562
2611
  readonly reasoningMaxTokens: true;
2563
2612
  readonly streaming: true;
2564
2613
  readonly vision: true;
@@ -2595,6 +2644,7 @@ export declare const models: [{
2595
2644
  readonly contextSize: 1000000;
2596
2645
  readonly maxOutput: 64000;
2597
2646
  readonly reasoning: true;
2647
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2598
2648
  readonly reasoningMaxTokens: true;
2599
2649
  readonly streaming: true;
2600
2650
  readonly vision: true;
@@ -2615,6 +2665,7 @@ export declare const models: [{
2615
2665
  readonly contextSize: 1000000;
2616
2666
  readonly maxOutput: 64000;
2617
2667
  readonly reasoning: true;
2668
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2618
2669
  readonly reasoningMaxTokens: true;
2619
2670
  readonly streaming: true;
2620
2671
  readonly vision: true;
@@ -2644,6 +2695,7 @@ export declare const models: [{
2644
2695
  readonly contextSize: 1000000;
2645
2696
  readonly maxOutput: 64000;
2646
2697
  readonly reasoning: true;
2698
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2647
2699
  readonly reasoningMaxTokens: true;
2648
2700
  readonly streaming: true;
2649
2701
  readonly vision: true;
@@ -2669,6 +2721,7 @@ export declare const models: [{
2669
2721
  readonly contextSize: 1000000;
2670
2722
  readonly maxOutput: 128000;
2671
2723
  readonly reasoning: true;
2724
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2672
2725
  readonly reasoningMode: "adaptive";
2673
2726
  readonly reasoningOutput: "omit";
2674
2727
  readonly streaming: true;
@@ -2691,6 +2744,7 @@ export declare const models: [{
2691
2744
  readonly contextSize: 1000000;
2692
2745
  readonly maxOutput: 128000;
2693
2746
  readonly reasoning: true;
2747
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2694
2748
  readonly reasoningMode: "adaptive";
2695
2749
  readonly reasoningOutput: "omit";
2696
2750
  readonly streaming: true;
@@ -2715,6 +2769,7 @@ export declare const models: [{
2715
2769
  readonly contextSize: 1000000;
2716
2770
  readonly maxOutput: 128000;
2717
2771
  readonly reasoning: true;
2772
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2718
2773
  readonly reasoningMode: "adaptive";
2719
2774
  readonly reasoningOutput: "omit";
2720
2775
  readonly streaming: true;
@@ -2891,6 +2946,7 @@ export declare const models: [{
2891
2946
  readonly contextSize: 200000;
2892
2947
  readonly maxOutput: undefined;
2893
2948
  readonly reasoning: true;
2949
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2894
2950
  readonly reasoningMaxTokens: true;
2895
2951
  readonly streaming: true;
2896
2952
  readonly vision: true;
@@ -2912,6 +2968,7 @@ export declare const models: [{
2912
2968
  readonly contextSize: 200000;
2913
2969
  readonly maxOutput: undefined;
2914
2970
  readonly reasoning: true;
2971
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2915
2972
  readonly reasoningMaxTokens: true;
2916
2973
  readonly streaming: true;
2917
2974
  readonly vision: true;
@@ -2941,6 +2998,7 @@ export declare const models: [{
2941
2998
  readonly streaming: true;
2942
2999
  readonly vision: true;
2943
3000
  readonly reasoning: true;
3001
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2944
3002
  readonly reasoningMaxTokens: true;
2945
3003
  readonly tools: true;
2946
3004
  readonly jsonOutputSchema: true;
@@ -2961,6 +3019,7 @@ export declare const models: [{
2961
3019
  readonly streaming: true;
2962
3020
  readonly vision: true;
2963
3021
  readonly reasoning: true;
3022
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
2964
3023
  readonly reasoningMaxTokens: true;
2965
3024
  readonly tools: true;
2966
3025
  readonly jsonOutputSchema: true;
@@ -3165,6 +3224,7 @@ export declare const models: [{
3165
3224
  readonly contextSize: 200000;
3166
3225
  readonly maxOutput: 32000;
3167
3226
  readonly reasoning: true;
3227
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3168
3228
  readonly reasoningMaxTokens: true;
3169
3229
  readonly streaming: true;
3170
3230
  readonly vision: true;
@@ -3187,6 +3247,7 @@ export declare const models: [{
3187
3247
  readonly contextSize: 200000;
3188
3248
  readonly maxOutput: 32000;
3189
3249
  readonly reasoning: true;
3250
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3190
3251
  readonly reasoningMaxTokens: true;
3191
3252
  readonly streaming: true;
3192
3253
  readonly vision: true;
@@ -3211,6 +3272,7 @@ export declare const models: [{
3211
3272
  readonly contextSize: 200000;
3212
3273
  readonly maxOutput: 32000;
3213
3274
  readonly reasoning: true;
3275
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3214
3276
  readonly reasoningMaxTokens: true;
3215
3277
  readonly streaming: true;
3216
3278
  readonly vision: true;
@@ -3238,6 +3300,7 @@ export declare const models: [{
3238
3300
  readonly contextSize: 1000000;
3239
3301
  readonly maxOutput: 128000;
3240
3302
  readonly reasoning: true;
3303
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3241
3304
  readonly reasoningMode: "adaptive";
3242
3305
  readonly reasoningOutput: "omit";
3243
3306
  readonly streaming: true;
@@ -3261,6 +3324,7 @@ export declare const models: [{
3261
3324
  readonly contextSize: 1000000;
3262
3325
  readonly maxOutput: 128000;
3263
3326
  readonly reasoning: true;
3327
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3264
3328
  readonly reasoningMode: "adaptive";
3265
3329
  readonly reasoningOutput: "omit";
3266
3330
  readonly streaming: true;
@@ -3290,6 +3354,7 @@ export declare const models: [{
3290
3354
  readonly contextSize: 1000000;
3291
3355
  readonly maxOutput: 128000;
3292
3356
  readonly reasoning: true;
3357
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3293
3358
  readonly reasoningMode: "adaptive";
3294
3359
  readonly reasoningOutput: "omit";
3295
3360
  readonly streaming: true;
@@ -3317,6 +3382,7 @@ export declare const models: [{
3317
3382
  readonly contextSize: 1000000;
3318
3383
  readonly maxOutput: 128000;
3319
3384
  readonly reasoning: true;
3385
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3320
3386
  readonly reasoningMode: "adaptive";
3321
3387
  readonly reasoningOutput: "omit";
3322
3388
  readonly streaming: true;
@@ -3339,6 +3405,7 @@ export declare const models: [{
3339
3405
  readonly contextSize: 1000000;
3340
3406
  readonly maxOutput: 128000;
3341
3407
  readonly reasoning: true;
3408
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3342
3409
  readonly reasoningMode: "adaptive";
3343
3410
  readonly reasoningOutput: "omit";
3344
3411
  readonly streaming: true;
@@ -3366,6 +3433,7 @@ export declare const models: [{
3366
3433
  readonly contextSize: 1000000;
3367
3434
  readonly maxOutput: 128000;
3368
3435
  readonly reasoning: true;
3436
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3369
3437
  readonly reasoningMode: "adaptive";
3370
3438
  readonly reasoningOutput: "omit";
3371
3439
  readonly streaming: true;
@@ -3393,6 +3461,7 @@ export declare const models: [{
3393
3461
  readonly contextSize: 1000000;
3394
3462
  readonly maxOutput: 128000;
3395
3463
  readonly reasoning: true;
3464
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3396
3465
  readonly reasoningMode: "adaptive";
3397
3466
  readonly reasoningOutput: "omit";
3398
3467
  readonly streaming: true;
@@ -3415,6 +3484,7 @@ export declare const models: [{
3415
3484
  readonly contextSize: 1000000;
3416
3485
  readonly maxOutput: 128000;
3417
3486
  readonly reasoning: true;
3487
+ readonly reasoningEfforts: ["low", "medium", "high", "xhigh", "max"];
3418
3488
  readonly reasoningMode: "adaptive";
3419
3489
  readonly reasoningOutput: "omit";
3420
3490
  readonly streaming: true;
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA4lB5C,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,GAAG,gBAAgB;IACnB,GAAG,YAAY;IACf,GAAG,eAAe;IAClB,GAAG,YAAY;IACf,GAAG,gBAAgB;IACnB,GAAG,SAAS;IACZ,GAAG,YAAY;IACf,GAAG,UAAU;IACb,GAAG,cAAc;IACjB,GAAG,aAAa;IAChB,GAAG,eAAe;IAClB,GAAG,aAAa;IAChB,GAAG,cAAc;IACjB,GAAG,aAAa;IAChB,GAAG,gBAAgB;IACnB,GAAG,eAAe;IAClB,GAAG,kBAAkB;IACrB,GAAG,UAAU;IACb,GAAG,YAAY;IACf,GAAG,YAAY;IACf,GAAG,SAAS;IACZ,GAAG,gBAAgB;CACkB,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAqnB5C,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,GAAG,gBAAgB;IACnB,GAAG,YAAY;IACf,GAAG,eAAe;IAClB,GAAG,YAAY;IACf,GAAG,gBAAgB;IACnB,GAAG,SAAS;IACZ,GAAG,YAAY;IACf,GAAG,UAAU;IACb,GAAG,cAAc;IACjB,GAAG,aAAa;IAChB,GAAG,eAAe;IAClB,GAAG,aAAa;IAChB,GAAG,cAAc;IACjB,GAAG,aAAa;IAChB,GAAG,gBAAgB;IACnB,GAAG,eAAe;IAClB,GAAG,kBAAkB;IACrB,GAAG,UAAU;IACb,GAAG,YAAY;IACf,GAAG,YAAY;IACf,GAAG,SAAS;IACZ,GAAG,gBAAgB;CACkB,CAAC"}
@@ -39,11 +39,13 @@ export interface ProviderAdditionalLink {
39
39
  export interface ProviderCompliancePolicy {
40
40
  enabled: boolean;
41
41
  requireSoc2?: boolean;
42
+ requireSoc2Type2?: boolean;
42
43
  requireIso27001?: boolean;
43
44
  requireSoc2OrIso27001?: boolean;
44
45
  requireGdpr?: boolean;
45
46
  blockApiTraining?: boolean;
46
47
  blockPromptLogging?: boolean;
48
+ allowedCountries?: string[];
47
49
  }
48
50
  export interface ProviderDefinition {
49
51
  id: string;
@@ -73,4 +75,12 @@ export type ProviderId = (typeof providers)[number]["id"];
73
75
  export declare function getProviderDefinition(providerId: ProviderId | string): ProviderDefinition | undefined;
74
76
  export declare function getServiceTier(providerId: ProviderId | string, tierId: string): ServiceTier | undefined;
75
77
  export declare function isProviderCompliant(provider: ProviderDefinition, policy: ProviderCompliancePolicy): boolean;
78
+ export interface ProviderCountry {
79
+ code: string;
80
+ name: string;
81
+ flag: string;
82
+ }
83
+ export declare const PROVIDER_COUNTRY_NAMES: Record<string, string>;
84
+ export declare function countryCodeToFlag(code: string): string;
85
+ export declare function getProviderCountries(): ProviderCountry[];
76
86
  export declare function formatServiceTierMultiplier(multiplier: number): string;
package/dist/providers.js CHANGED
@@ -1292,11 +1292,14 @@ export function isProviderCompliant(provider, policy) {
1292
1292
  if (policy.requireSoc2 && !dataPolicy?.soc2) {
1293
1293
  return false;
1294
1294
  }
1295
+ if (policy.requireSoc2Type2 && dataPolicy?.soc2 !== 2) {
1296
+ return false;
1297
+ }
1295
1298
  if (policy.requireIso27001 && dataPolicy?.iso27001 !== true) {
1296
1299
  return false;
1297
1300
  }
1298
1301
  if (policy.requireSoc2OrIso27001 &&
1299
- !(!!dataPolicy?.soc2 || dataPolicy?.iso27001 === true)) {
1302
+ !(dataPolicy?.soc2 === 2 || dataPolicy?.iso27001 === true)) {
1300
1303
  return false;
1301
1304
  }
1302
1305
  if (policy.requireGdpr && dataPolicy?.gdpr !== true) {
@@ -1308,8 +1311,42 @@ export function isProviderCompliant(provider, policy) {
1308
1311
  if (policy.blockPromptLogging && dataPolicy?.promptLogging !== false) {
1309
1312
  return false;
1310
1313
  }
1314
+ if (policy.allowedCountries &&
1315
+ policy.allowedCountries.length > 0 &&
1316
+ (!provider.headquarters ||
1317
+ !policy.allowedCountries.includes(provider.headquarters))) {
1318
+ return false;
1319
+ }
1311
1320
  return true;
1312
1321
  }
1322
+ export const PROVIDER_COUNTRY_NAMES = {
1323
+ US: "United States",
1324
+ CN: "China",
1325
+ NL: "Netherlands",
1326
+ FR: "France",
1327
+ JP: "Japan",
1328
+ };
1329
+ export function countryCodeToFlag(code) {
1330
+ return code
1331
+ .toUpperCase()
1332
+ .replace(/[^A-Z]/g, "")
1333
+ .replace(/./g, (char) => String.fromCodePoint(127397 + char.charCodeAt(0)));
1334
+ }
1335
+ export function getProviderCountries() {
1336
+ const codes = new Set();
1337
+ for (const provider of providers) {
1338
+ if (provider.headquarters) {
1339
+ codes.add(provider.headquarters);
1340
+ }
1341
+ }
1342
+ return Array.from(codes)
1343
+ .map((code) => ({
1344
+ code,
1345
+ name: PROVIDER_COUNTRY_NAMES[code] ?? code,
1346
+ flag: countryCodeToFlag(code),
1347
+ }))
1348
+ .sort((a, b) => a.name.localeCompare(b.name));
1349
+ }
1313
1350
  export function formatServiceTierMultiplier(multiplier) {
1314
1351
  if (multiplier === 1) {
1315
1352
  return "";