@pydantic/genai-prices 0.0.54 → 0.0.55

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/index.js CHANGED
@@ -751,7 +751,7 @@ const I = [
751
751
  {
752
752
  id: "global.anthropic.claude-haiku-4-5-20251001-v1:0",
753
753
  match: {
754
- starts_with: "global.anthropic.claude-haiku-4-5-20251001-v1"
754
+ contains: "global.anthropic.claude-haiku-4-5-20251001-v1"
755
755
  },
756
756
  prices: {
757
757
  input_mtok: 1,
@@ -760,10 +760,66 @@ const I = [
760
760
  output_mtok: 5
761
761
  }
762
762
  },
763
+ {
764
+ id: "global.anthropic.claude-opus-4-5-v1:0",
765
+ match: {
766
+ contains: "global.anthropic.claude-opus-4-5"
767
+ },
768
+ prices: {
769
+ input_mtok: 5,
770
+ cache_write_mtok: 6.25,
771
+ cache_read_mtok: 0.5,
772
+ output_mtok: 25
773
+ }
774
+ },
775
+ {
776
+ id: "global.anthropic.claude-opus-4-6-v1:0",
777
+ match: {
778
+ contains: "global.anthropic.claude-opus-4-6"
779
+ },
780
+ prices: {
781
+ input_mtok: {
782
+ base: 5,
783
+ tiers: [
784
+ {
785
+ start: 2e5,
786
+ price: 10
787
+ }
788
+ ]
789
+ },
790
+ cache_write_mtok: {
791
+ base: 6.25,
792
+ tiers: [
793
+ {
794
+ start: 2e5,
795
+ price: 12.5
796
+ }
797
+ ]
798
+ },
799
+ cache_read_mtok: {
800
+ base: 0.5,
801
+ tiers: [
802
+ {
803
+ start: 2e5,
804
+ price: 1
805
+ }
806
+ ]
807
+ },
808
+ output_mtok: {
809
+ base: 25,
810
+ tiers: [
811
+ {
812
+ start: 2e5,
813
+ price: 37.5
814
+ }
815
+ ]
816
+ }
817
+ }
818
+ },
763
819
  {
764
820
  id: "global.anthropic.claude-sonnet-4-20250514-v1:0",
765
821
  match: {
766
- starts_with: "global.anthropic.claude-sonnet-4-20250514-v1"
822
+ contains: "global.anthropic.claude-sonnet-4-20250514-v1"
767
823
  },
768
824
  prices: {
769
825
  input_mtok: 3,
@@ -775,7 +831,7 @@ const I = [
775
831
  {
776
832
  id: "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
777
833
  match: {
778
- starts_with: "global.anthropic.claude-sonnet-4-5-20250929-v1"
834
+ contains: "global.anthropic.claude-sonnet-4-5-20250929-v1"
779
835
  },
780
836
  prices: {
781
837
  input_mtok: 3,
@@ -784,6 +840,50 @@ const I = [
784
840
  output_mtok: 15
785
841
  }
786
842
  },
843
+ {
844
+ id: "global.anthropic.claude-sonnet-4-6-v1:0",
845
+ match: {
846
+ contains: "global.anthropic.claude-sonnet-4-6"
847
+ },
848
+ prices: {
849
+ input_mtok: {
850
+ base: 3,
851
+ tiers: [
852
+ {
853
+ start: 2e5,
854
+ price: 6
855
+ }
856
+ ]
857
+ },
858
+ cache_write_mtok: {
859
+ base: 3.75,
860
+ tiers: [
861
+ {
862
+ start: 2e5,
863
+ price: 7.5
864
+ }
865
+ ]
866
+ },
867
+ cache_read_mtok: {
868
+ base: 0.3,
869
+ tiers: [
870
+ {
871
+ start: 2e5,
872
+ price: 0.6
873
+ }
874
+ ]
875
+ },
876
+ output_mtok: {
877
+ base: 15,
878
+ tiers: [
879
+ {
880
+ start: 2e5,
881
+ price: 22.5
882
+ }
883
+ ]
884
+ }
885
+ }
886
+ },
787
887
  {
788
888
  id: "meta.llama3-1-70b-instruct-v1:0",
789
889
  name: "Llama 3.1 70B Instruct",
@@ -1020,22 +1120,22 @@ const I = [
1020
1120
  match: {
1021
1121
  or: [
1022
1122
  {
1023
- starts_with: "us.anthropic.claude-3-5-haiku-20241022-v1"
1123
+ contains: "us.anthropic.claude-3-5-haiku-20241022-v1"
1024
1124
  },
1025
1125
  {
1026
- starts_with: "au.anthropic.claude-3-5-haiku-20241022-v1"
1126
+ contains: "au.anthropic.claude-3-5-haiku-20241022-v1"
1027
1127
  },
1028
1128
  {
1029
- starts_with: "apac.anthropic.claude-3-5-haiku-20241022-v1"
1129
+ contains: "apac.anthropic.claude-3-5-haiku-20241022-v1"
1030
1130
  },
1031
1131
  {
1032
- starts_with: "eu.anthropic.claude-3-5-haiku-20241022-v1"
1132
+ contains: "eu.anthropic.claude-3-5-haiku-20241022-v1"
1033
1133
  },
1034
1134
  {
1035
- starts_with: "us-gov.anthropic.claude-3-5-haiku-20241022-v1"
1135
+ contains: "us-gov.anthropic.claude-3-5-haiku-20241022-v1"
1036
1136
  },
1037
1137
  {
1038
- starts_with: "jp.anthropic.claude-3-5-haiku-20241022-v1"
1138
+ contains: "jp.anthropic.claude-3-5-haiku-20241022-v1"
1039
1139
  }
1040
1140
  ]
1041
1141
  },
@@ -1051,22 +1151,22 @@ const I = [
1051
1151
  match: {
1052
1152
  or: [
1053
1153
  {
1054
- starts_with: "us.anthropic.claude-3-5-sonnet-20240620-v1"
1154
+ contains: "us.anthropic.claude-3-5-sonnet-20240620-v1"
1055
1155
  },
1056
1156
  {
1057
- starts_with: "au.anthropic.claude-3-5-sonnet-20240620-v1"
1157
+ contains: "au.anthropic.claude-3-5-sonnet-20240620-v1"
1058
1158
  },
1059
1159
  {
1060
- starts_with: "apac.anthropic.claude-3-5-sonnet-20240620-v1"
1160
+ contains: "apac.anthropic.claude-3-5-sonnet-20240620-v1"
1061
1161
  },
1062
1162
  {
1063
- starts_with: "eu.anthropic.claude-3-5-sonnet-20240620-v1"
1163
+ contains: "eu.anthropic.claude-3-5-sonnet-20240620-v1"
1064
1164
  },
1065
1165
  {
1066
- starts_with: "us-gov.anthropic.claude-3-5-sonnet-20240620-v1"
1166
+ contains: "us-gov.anthropic.claude-3-5-sonnet-20240620-v1"
1067
1167
  },
1068
1168
  {
1069
- starts_with: "jp.anthropic.claude-3-5-sonnet-20240620-v1"
1169
+ contains: "jp.anthropic.claude-3-5-sonnet-20240620-v1"
1070
1170
  }
1071
1171
  ]
1072
1172
  },
@@ -1082,22 +1182,22 @@ const I = [
1082
1182
  match: {
1083
1183
  or: [
1084
1184
  {
1085
- starts_with: "us.anthropic.claude-3-5-sonnet-20241022-v2"
1185
+ contains: "us.anthropic.claude-3-5-sonnet-20241022-v2"
1086
1186
  },
1087
1187
  {
1088
- starts_with: "au.anthropic.claude-3-5-sonnet-20241022-v2"
1188
+ contains: "au.anthropic.claude-3-5-sonnet-20241022-v2"
1089
1189
  },
1090
1190
  {
1091
- starts_with: "apac.anthropic.claude-3-5-sonnet-20241022-v2"
1191
+ contains: "apac.anthropic.claude-3-5-sonnet-20241022-v2"
1092
1192
  },
1093
1193
  {
1094
- starts_with: "eu.anthropic.claude-3-5-sonnet-20241022-v2"
1194
+ contains: "eu.anthropic.claude-3-5-sonnet-20241022-v2"
1095
1195
  },
1096
1196
  {
1097
- starts_with: "us-gov.anthropic.claude-3-5-sonnet-20241022-v2"
1197
+ contains: "us-gov.anthropic.claude-3-5-sonnet-20241022-v2"
1098
1198
  },
1099
1199
  {
1100
- starts_with: "jp.anthropic.claude-3-5-sonnet-20241022-v2"
1200
+ contains: "jp.anthropic.claude-3-5-sonnet-20241022-v2"
1101
1201
  }
1102
1202
  ]
1103
1203
  },
@@ -1113,22 +1213,22 @@ const I = [
1113
1213
  match: {
1114
1214
  or: [
1115
1215
  {
1116
- starts_with: "us.anthropic.claude-3-7-sonnet-20250219-v1"
1216
+ contains: "us.anthropic.claude-3-7-sonnet-20250219-v1"
1117
1217
  },
1118
1218
  {
1119
- starts_with: "au.anthropic.claude-3-7-sonnet-20250219-v1"
1219
+ contains: "au.anthropic.claude-3-7-sonnet-20250219-v1"
1120
1220
  },
1121
1221
  {
1122
- starts_with: "apac.anthropic.claude-3-7-sonnet-20250219-v1"
1222
+ contains: "apac.anthropic.claude-3-7-sonnet-20250219-v1"
1123
1223
  },
1124
1224
  {
1125
- starts_with: "eu.anthropic.claude-3-7-sonnet-20250219-v1"
1225
+ contains: "eu.anthropic.claude-3-7-sonnet-20250219-v1"
1126
1226
  },
1127
1227
  {
1128
- starts_with: "us-gov.anthropic.claude-3-7-sonnet-20250219-v1"
1228
+ contains: "us-gov.anthropic.claude-3-7-sonnet-20250219-v1"
1129
1229
  },
1130
1230
  {
1131
- starts_with: "jp.anthropic.claude-3-7-sonnet-20250219-v1"
1231
+ contains: "jp.anthropic.claude-3-7-sonnet-20250219-v1"
1132
1232
  }
1133
1233
  ]
1134
1234
  },
@@ -1144,22 +1244,22 @@ const I = [
1144
1244
  match: {
1145
1245
  or: [
1146
1246
  {
1147
- starts_with: "us.anthropic.claude-3-haiku-20240307-v1"
1247
+ contains: "us.anthropic.claude-3-haiku-20240307-v1"
1148
1248
  },
1149
1249
  {
1150
- starts_with: "au.anthropic.claude-3-haiku-20240307-v1"
1250
+ contains: "au.anthropic.claude-3-haiku-20240307-v1"
1151
1251
  },
1152
1252
  {
1153
- starts_with: "apac.anthropic.claude-3-haiku-20240307-v1"
1253
+ contains: "apac.anthropic.claude-3-haiku-20240307-v1"
1154
1254
  },
1155
1255
  {
1156
- starts_with: "eu.anthropic.claude-3-haiku-20240307-v1"
1256
+ contains: "eu.anthropic.claude-3-haiku-20240307-v1"
1157
1257
  },
1158
1258
  {
1159
- starts_with: "us-gov.anthropic.claude-3-haiku-20240307-v1"
1259
+ contains: "us-gov.anthropic.claude-3-haiku-20240307-v1"
1160
1260
  },
1161
1261
  {
1162
- starts_with: "jp.anthropic.claude-3-haiku-20240307-v1"
1262
+ contains: "jp.anthropic.claude-3-haiku-20240307-v1"
1163
1263
  }
1164
1264
  ]
1165
1265
  },
@@ -1173,22 +1273,22 @@ const I = [
1173
1273
  match: {
1174
1274
  or: [
1175
1275
  {
1176
- starts_with: "us.anthropic.claude-3-opus-20240229-v1"
1276
+ contains: "us.anthropic.claude-3-opus-20240229-v1"
1177
1277
  },
1178
1278
  {
1179
- starts_with: "au.anthropic.claude-3-opus-20240229-v1"
1279
+ contains: "au.anthropic.claude-3-opus-20240229-v1"
1180
1280
  },
1181
1281
  {
1182
- starts_with: "apac.anthropic.claude-3-opus-20240229-v1"
1282
+ contains: "apac.anthropic.claude-3-opus-20240229-v1"
1183
1283
  },
1184
1284
  {
1185
- starts_with: "eu.anthropic.claude-3-opus-20240229-v1"
1285
+ contains: "eu.anthropic.claude-3-opus-20240229-v1"
1186
1286
  },
1187
1287
  {
1188
- starts_with: "us-gov.anthropic.claude-3-opus-20240229-v1"
1288
+ contains: "us-gov.anthropic.claude-3-opus-20240229-v1"
1189
1289
  },
1190
1290
  {
1191
- starts_with: "jp.anthropic.claude-3-opus-20240229-v1"
1291
+ contains: "jp.anthropic.claude-3-opus-20240229-v1"
1192
1292
  }
1193
1293
  ]
1194
1294
  },
@@ -1202,22 +1302,22 @@ const I = [
1202
1302
  match: {
1203
1303
  or: [
1204
1304
  {
1205
- starts_with: "us.anthropic.claude-3-sonnet-20240229-v1"
1305
+ contains: "us.anthropic.claude-3-sonnet-20240229-v1"
1206
1306
  },
1207
1307
  {
1208
- starts_with: "au.anthropic.claude-3-sonnet-20240229-v1"
1308
+ contains: "au.anthropic.claude-3-sonnet-20240229-v1"
1209
1309
  },
1210
1310
  {
1211
- starts_with: "apac.anthropic.claude-3-sonnet-20240229-v1"
1311
+ contains: "apac.anthropic.claude-3-sonnet-20240229-v1"
1212
1312
  },
1213
1313
  {
1214
- starts_with: "eu.anthropic.claude-3-sonnet-20240229-v1"
1314
+ contains: "eu.anthropic.claude-3-sonnet-20240229-v1"
1215
1315
  },
1216
1316
  {
1217
- starts_with: "us-gov.anthropic.claude-3-sonnet-20240229-v1"
1317
+ contains: "us-gov.anthropic.claude-3-sonnet-20240229-v1"
1218
1318
  },
1219
1319
  {
1220
- starts_with: "jp.anthropic.claude-3-sonnet-20240229-v1"
1320
+ contains: "jp.anthropic.claude-3-sonnet-20240229-v1"
1221
1321
  }
1222
1322
  ]
1223
1323
  },
@@ -1233,22 +1333,22 @@ const I = [
1233
1333
  match: {
1234
1334
  or: [
1235
1335
  {
1236
- starts_with: "us.anthropic.claude-haiku-4-5-20251001-v1"
1336
+ contains: "us.anthropic.claude-haiku-4-5-20251001-v1"
1237
1337
  },
1238
1338
  {
1239
- starts_with: "au.anthropic.claude-haiku-4-5-20251001-v1"
1339
+ contains: "au.anthropic.claude-haiku-4-5-20251001-v1"
1240
1340
  },
1241
1341
  {
1242
- starts_with: "apac.anthropic.claude-haiku-4-5-20251001-v1"
1342
+ contains: "apac.anthropic.claude-haiku-4-5-20251001-v1"
1243
1343
  },
1244
1344
  {
1245
- starts_with: "eu.anthropic.claude-haiku-4-5-20251001-v1"
1345
+ contains: "eu.anthropic.claude-haiku-4-5-20251001-v1"
1246
1346
  },
1247
1347
  {
1248
- starts_with: "us-gov.anthropic.claude-haiku-4-5-20251001-v1"
1348
+ contains: "us-gov.anthropic.claude-haiku-4-5-20251001-v1"
1249
1349
  },
1250
1350
  {
1251
- starts_with: "jp.anthropic.claude-haiku-4-5-20251001-v1"
1351
+ contains: "jp.anthropic.claude-haiku-4-5-20251001-v1"
1252
1352
  }
1253
1353
  ]
1254
1354
  },
@@ -1264,22 +1364,22 @@ const I = [
1264
1364
  match: {
1265
1365
  or: [
1266
1366
  {
1267
- starts_with: "us.anthropic.claude-opus-4-1-20250805-v1"
1367
+ contains: "us.anthropic.claude-opus-4-1-20250805-v1"
1268
1368
  },
1269
1369
  {
1270
- starts_with: "au.anthropic.claude-opus-4-1-20250805-v1"
1370
+ contains: "au.anthropic.claude-opus-4-1-20250805-v1"
1271
1371
  },
1272
1372
  {
1273
- starts_with: "apac.anthropic.claude-opus-4-1-20250805-v1"
1373
+ contains: "apac.anthropic.claude-opus-4-1-20250805-v1"
1274
1374
  },
1275
1375
  {
1276
- starts_with: "eu.anthropic.claude-opus-4-1-20250805-v1"
1376
+ contains: "eu.anthropic.claude-opus-4-1-20250805-v1"
1277
1377
  },
1278
1378
  {
1279
- starts_with: "us-gov.anthropic.claude-opus-4-1-20250805-v1"
1379
+ contains: "us-gov.anthropic.claude-opus-4-1-20250805-v1"
1280
1380
  },
1281
1381
  {
1282
- starts_with: "jp.anthropic.claude-opus-4-1-20250805-v1"
1382
+ contains: "jp.anthropic.claude-opus-4-1-20250805-v1"
1283
1383
  }
1284
1384
  ]
1285
1385
  },
@@ -1295,22 +1395,22 @@ const I = [
1295
1395
  match: {
1296
1396
  or: [
1297
1397
  {
1298
- starts_with: "us.anthropic.claude-opus-4-20250514-v1"
1398
+ contains: "us.anthropic.claude-opus-4-20250514-v1"
1299
1399
  },
1300
1400
  {
1301
- starts_with: "au.anthropic.claude-opus-4-20250514-v1"
1401
+ contains: "au.anthropic.claude-opus-4-20250514-v1"
1302
1402
  },
1303
1403
  {
1304
- starts_with: "apac.anthropic.claude-opus-4-20250514-v1"
1404
+ contains: "apac.anthropic.claude-opus-4-20250514-v1"
1305
1405
  },
1306
1406
  {
1307
- starts_with: "eu.anthropic.claude-opus-4-20250514-v1"
1407
+ contains: "eu.anthropic.claude-opus-4-20250514-v1"
1308
1408
  },
1309
1409
  {
1310
- starts_with: "us-gov.anthropic.claude-opus-4-20250514-v1"
1410
+ contains: "us-gov.anthropic.claude-opus-4-20250514-v1"
1311
1411
  },
1312
1412
  {
1313
- starts_with: "jp.anthropic.claude-opus-4-20250514-v1"
1413
+ contains: "jp.anthropic.claude-opus-4-20250514-v1"
1314
1414
  }
1315
1415
  ]
1316
1416
  },
@@ -1321,27 +1421,121 @@ const I = [
1321
1421
  output_mtok: 75
1322
1422
  }
1323
1423
  },
1424
+ {
1425
+ id: "regional.anthropic.claude-opus-4-5-v1:0",
1426
+ match: {
1427
+ or: [
1428
+ {
1429
+ contains: "us.anthropic.claude-opus-4-5"
1430
+ },
1431
+ {
1432
+ contains: "au.anthropic.claude-opus-4-5"
1433
+ },
1434
+ {
1435
+ contains: "apac.anthropic.claude-opus-4-5"
1436
+ },
1437
+ {
1438
+ contains: "eu.anthropic.claude-opus-4-5"
1439
+ },
1440
+ {
1441
+ contains: "us-gov.anthropic.claude-opus-4-5"
1442
+ },
1443
+ {
1444
+ contains: "jp.anthropic.claude-opus-4-5"
1445
+ }
1446
+ ]
1447
+ },
1448
+ prices: {
1449
+ input_mtok: 5.5,
1450
+ cache_write_mtok: 6.875,
1451
+ cache_read_mtok: 0.55,
1452
+ output_mtok: 27.5
1453
+ }
1454
+ },
1455
+ {
1456
+ id: "regional.anthropic.claude-opus-4-6-v1:0",
1457
+ match: {
1458
+ or: [
1459
+ {
1460
+ contains: "us.anthropic.claude-opus-4-6"
1461
+ },
1462
+ {
1463
+ contains: "au.anthropic.claude-opus-4-6"
1464
+ },
1465
+ {
1466
+ contains: "apac.anthropic.claude-opus-4-6"
1467
+ },
1468
+ {
1469
+ contains: "eu.anthropic.claude-opus-4-6"
1470
+ },
1471
+ {
1472
+ contains: "us-gov.anthropic.claude-opus-4-6"
1473
+ },
1474
+ {
1475
+ contains: "jp.anthropic.claude-opus-4-6"
1476
+ }
1477
+ ]
1478
+ },
1479
+ prices: {
1480
+ input_mtok: {
1481
+ base: 5.5,
1482
+ tiers: [
1483
+ {
1484
+ start: 2e5,
1485
+ price: 11
1486
+ }
1487
+ ]
1488
+ },
1489
+ cache_write_mtok: {
1490
+ base: 6.875,
1491
+ tiers: [
1492
+ {
1493
+ start: 2e5,
1494
+ price: 13.75
1495
+ }
1496
+ ]
1497
+ },
1498
+ cache_read_mtok: {
1499
+ base: 0.55,
1500
+ tiers: [
1501
+ {
1502
+ start: 2e5,
1503
+ price: 1.1
1504
+ }
1505
+ ]
1506
+ },
1507
+ output_mtok: {
1508
+ base: 27.5,
1509
+ tiers: [
1510
+ {
1511
+ start: 2e5,
1512
+ price: 41.25
1513
+ }
1514
+ ]
1515
+ }
1516
+ }
1517
+ },
1324
1518
  {
1325
1519
  id: "regional.anthropic.claude-sonnet-4-20250514-v1:0",
1326
1520
  match: {
1327
1521
  or: [
1328
1522
  {
1329
- starts_with: "us.anthropic.claude-sonnet-4-20250514-v1"
1523
+ contains: "us.anthropic.claude-sonnet-4-20250514-v1"
1330
1524
  },
1331
1525
  {
1332
- starts_with: "au.anthropic.claude-sonnet-4-20250514-v1"
1526
+ contains: "au.anthropic.claude-sonnet-4-20250514-v1"
1333
1527
  },
1334
1528
  {
1335
- starts_with: "apac.anthropic.claude-sonnet-4-20250514-v1"
1529
+ contains: "apac.anthropic.claude-sonnet-4-20250514-v1"
1336
1530
  },
1337
1531
  {
1338
- starts_with: "eu.anthropic.claude-sonnet-4-20250514-v1"
1532
+ contains: "eu.anthropic.claude-sonnet-4-20250514-v1"
1339
1533
  },
1340
1534
  {
1341
- starts_with: "us-gov.anthropic.claude-sonnet-4-20250514-v1"
1535
+ contains: "us-gov.anthropic.claude-sonnet-4-20250514-v1"
1342
1536
  },
1343
1537
  {
1344
- starts_with: "jp.anthropic.claude-sonnet-4-20250514-v1"
1538
+ contains: "jp.anthropic.claude-sonnet-4-20250514-v1"
1345
1539
  }
1346
1540
  ]
1347
1541
  },
@@ -1357,22 +1551,22 @@ const I = [
1357
1551
  match: {
1358
1552
  or: [
1359
1553
  {
1360
- starts_with: "us.anthropic.claude-sonnet-4-5-20250929-v1"
1554
+ contains: "us.anthropic.claude-sonnet-4-5-20250929-v1"
1361
1555
  },
1362
1556
  {
1363
- starts_with: "au.anthropic.claude-sonnet-4-5-20250929-v1"
1557
+ contains: "au.anthropic.claude-sonnet-4-5-20250929-v1"
1364
1558
  },
1365
1559
  {
1366
- starts_with: "apac.anthropic.claude-sonnet-4-5-20250929-v1"
1560
+ contains: "apac.anthropic.claude-sonnet-4-5-20250929-v1"
1367
1561
  },
1368
1562
  {
1369
- starts_with: "eu.anthropic.claude-sonnet-4-5-20250929-v1"
1563
+ contains: "eu.anthropic.claude-sonnet-4-5-20250929-v1"
1370
1564
  },
1371
1565
  {
1372
- starts_with: "us-gov.anthropic.claude-sonnet-4-5-20250929-v1"
1566
+ contains: "us-gov.anthropic.claude-sonnet-4-5-20250929-v1"
1373
1567
  },
1374
1568
  {
1375
- starts_with: "jp.anthropic.claude-sonnet-4-5-20250929-v1"
1569
+ contains: "jp.anthropic.claude-sonnet-4-5-20250929-v1"
1376
1570
  }
1377
1571
  ]
1378
1572
  },
@@ -1382,6 +1576,69 @@ const I = [
1382
1576
  cache_read_mtok: 0.33,
1383
1577
  output_mtok: 16.5
1384
1578
  }
1579
+ },
1580
+ {
1581
+ id: "regional.anthropic.claude-sonnet-4-6-v1:0",
1582
+ match: {
1583
+ or: [
1584
+ {
1585
+ contains: "us.anthropic.claude-sonnet-4-6"
1586
+ },
1587
+ {
1588
+ contains: "au.anthropic.claude-sonnet-4-6"
1589
+ },
1590
+ {
1591
+ contains: "apac.anthropic.claude-sonnet-4-6"
1592
+ },
1593
+ {
1594
+ contains: "eu.anthropic.claude-sonnet-4-6"
1595
+ },
1596
+ {
1597
+ contains: "us-gov.anthropic.claude-sonnet-4-6"
1598
+ },
1599
+ {
1600
+ contains: "jp.anthropic.claude-sonnet-4-6"
1601
+ }
1602
+ ]
1603
+ },
1604
+ prices: {
1605
+ input_mtok: {
1606
+ base: 3.3,
1607
+ tiers: [
1608
+ {
1609
+ start: 2e5,
1610
+ price: 6.6
1611
+ }
1612
+ ]
1613
+ },
1614
+ cache_write_mtok: {
1615
+ base: 4.125,
1616
+ tiers: [
1617
+ {
1618
+ start: 2e5,
1619
+ price: 8.25
1620
+ }
1621
+ ]
1622
+ },
1623
+ cache_read_mtok: {
1624
+ base: 0.33,
1625
+ tiers: [
1626
+ {
1627
+ start: 2e5,
1628
+ price: 0.66
1629
+ }
1630
+ ]
1631
+ },
1632
+ output_mtok: {
1633
+ base: 16.5,
1634
+ tiers: [
1635
+ {
1636
+ start: 2e5,
1637
+ price: 24.75
1638
+ }
1639
+ ]
1640
+ }
1641
+ }
1385
1642
  }
1386
1643
  ]
1387
1644
  },
@@ -3116,6 +3373,43 @@ Compared to other leading proprietary and open-weights models Command A delivers
3116
3373
  }
3117
3374
  }
3118
3375
  },
3376
+ {
3377
+ id: "gemini-3.1-pro-preview",
3378
+ name: "Gemini 3.1 Pro Preview",
3379
+ description: "The latest performance, intelligence, and usability improvements to the best model family in the world for multimodal understanding, agentic capabilities, and vibe-coding.",
3380
+ match: {
3381
+ starts_with: "gemini-3.1-pro-preview"
3382
+ },
3383
+ prices: {
3384
+ input_mtok: {
3385
+ base: 2,
3386
+ tiers: [
3387
+ {
3388
+ start: 2e5,
3389
+ price: 4
3390
+ }
3391
+ ]
3392
+ },
3393
+ cache_read_mtok: {
3394
+ base: 0.2,
3395
+ tiers: [
3396
+ {
3397
+ start: 2e5,
3398
+ price: 0.4
3399
+ }
3400
+ ]
3401
+ },
3402
+ output_mtok: {
3403
+ base: 12,
3404
+ tiers: [
3405
+ {
3406
+ start: 2e5,
3407
+ price: 18
3408
+ }
3409
+ ]
3410
+ }
3411
+ }
3412
+ },
3119
3413
  {
3120
3414
  id: "gemini-embedding-001",
3121
3415
  match: {
@@ -17659,7 +17953,7 @@ Compared to other leading proprietary and open-weights models Command A delivers
17659
17953
  ]
17660
17954
  }
17661
17955
  ];
17662
- function y(e, t, i) {
17956
+ function L(e, t, i) {
17663
17957
  if (t <= 0) return 0;
17664
17958
  let a = e.base;
17665
17959
  for (const o of e.tiers)
@@ -17667,7 +17961,7 @@ function y(e, t, i) {
17667
17961
  return a * t / 1e6;
17668
17962
  }
17669
17963
  function l(e, t, i, a) {
17670
- return e === void 0 || t === void 0 ? 0 : typeof e == "number" ? e * t / 1e6 : y(e, t, a);
17964
+ return e === void 0 || t === void 0 ? 0 : typeof e == "number" ? e * t / 1e6 : L(e, t, a);
17671
17965
  }
17672
17966
  function Q(e, t) {
17673
17967
  let i = 0, a = 0;
@@ -17675,17 +17969,17 @@ function Q(e, t) {
17675
17969
  let u = e.input_audio_tokens ?? 0;
17676
17970
  if (u -= n, u < 0)
17677
17971
  throw new Error("cache_audio_read_tokens cannot be greater than input_audio_tokens");
17678
- let p = e.input_tokens ?? 0;
17679
- if (p -= s, p -= m, p -= u, p < 0)
17972
+ let c = e.input_tokens ?? 0;
17973
+ if (c -= s, c -= m, c -= u, c < 0)
17680
17974
  throw new Error("Uncached text input tokens cannot be negative");
17681
- let c = s;
17682
- if (c -= n, c < 0)
17975
+ let p = s;
17976
+ if (p -= n, p < 0)
17683
17977
  throw new Error("cache_audio_read_tokens cannot be greater than cache_read_tokens");
17684
- i += l(t.input_mtok, p, "input_mtok", o), i += l(t.cache_read_mtok, c, "cache_read_mtok", o), i += l(t.cache_write_mtok, m, "cache_write_mtok", o), i += l(t.input_audio_mtok, u, "input_audio_mtok", o), i += l(t.cache_audio_read_mtok, n, "cache_audio_read_mtok", o);
17685
- let _ = e.output_tokens ?? 0;
17686
- if (_ -= r, _ < 0)
17978
+ i += l(t.input_mtok, c, "input_mtok", o), i += l(t.cache_read_mtok, p, "cache_read_mtok", o), i += l(t.cache_write_mtok, m, "cache_write_mtok", o), i += l(t.input_audio_mtok, u, "input_audio_mtok", o), i += l(t.cache_audio_read_mtok, n, "cache_audio_read_mtok", o);
17979
+ let k = e.output_tokens ?? 0;
17980
+ if (k -= r, k < 0)
17687
17981
  throw new Error("output_audio_tokens cannot be greater than output_tokens");
17688
- a += l(t.output_mtok, _, "output_mtok", o), a += l(t.output_audio_mtok, e.output_audio_tokens, "output_audio_mtok", o);
17982
+ a += l(t.output_mtok, k, "output_mtok", o), a += l(t.output_audio_mtok, e.output_audio_tokens, "output_audio_mtok", o);
17689
17983
  let x = i + a;
17690
17984
  return t.requests_kcount !== void 0 && (x += t.requests_kcount / 1e3), {
17691
17985
  input_price: i,
@@ -17771,8 +18065,8 @@ function E(e, t, i) {
17771
18065
  v?.();
17772
18066
  let a = t.toLowerCase().trim(), o = i?.providerId;
17773
18067
  if (o && o.toLowerCase() === "litellm" && a.includes("/")) {
17774
- const p = a.indexOf("/"), c = a.slice(0, p), _ = a.slice(p + 1);
17775
- c && _ && b(h, { providerId: c }) && (o = c, a = _);
18068
+ const c = a.indexOf("/"), p = a.slice(0, c), k = a.slice(c + 1);
18069
+ p && k && b(h, { providerId: p }) && (o = p, a = k);
17776
18070
  }
17777
18071
  const s = i?.provider ?? b(h, { modelId: a, providerApiUrl: i?.providerApiUrl, providerId: o });
17778
18072
  if (!s) return null;
@@ -17800,12 +18094,12 @@ function F(e, t, i) {
17800
18094
  }
17801
18095
  if (!q.guard(t))
17802
18096
  throw new Error(`Expected response data to be a mapping object, got ${d(t)}`);
17803
- const o = w(a.model_path, t, C, !1, []), s = L(a.root), m = w(s, t, q, !0, []), n = {};
18097
+ const o = w(a.model_path, t, C, !1, []), s = y(a.root), m = w(s, t, q, !0, []), n = {};
17804
18098
  for (const r of a.mappings) {
17805
18099
  const u = w(r.path, m, z, r.required, s);
17806
18100
  if (u !== null) {
17807
- const p = n[r.dest] ?? 0;
17808
- n[r.dest] = p + u;
18101
+ const c = n[r.dest] ?? 0;
18102
+ n[r.dest] = c + u;
17809
18103
  }
17810
18104
  }
17811
18105
  if (!Object.keys(n).length)
@@ -17813,50 +18107,50 @@ function F(e, t, i) {
17813
18107
  return { model: o, usage: n };
17814
18108
  }
17815
18109
  function w(e, t, i, a, o) {
17816
- const [s, ...m] = L(e).reverse();
18110
+ const [s, ...m] = y(e).reverse();
17817
18111
  if (typeof s != "string")
17818
18112
  throw new Error(`Expected last step of path to be a string, got ${d(s)}`);
17819
18113
  m.reverse();
17820
18114
  let n = t;
17821
18115
  const r = [];
17822
- for (const p of m) {
17823
- if (r.push(p), typeof p == "object")
18116
+ for (const c of m) {
18117
+ if (r.push(c), typeof c == "object")
17824
18118
  if (Array.isArray(n))
17825
- n = D(p, n);
18119
+ n = D(c, n);
17826
18120
  else {
17827
18121
  if (a)
17828
- throw new Error(`Expected \`${k(o, r)}\` value to be a mapping, got ${d(n)}`);
18122
+ throw new Error(`Expected \`${_(o, r)}\` value to be a mapping, got ${d(n)}`);
17829
18123
  return null;
17830
18124
  }
17831
18125
  else if (q.guard(n))
17832
- n = n[p];
18126
+ n = n[c];
17833
18127
  else {
17834
18128
  if (a)
17835
- throw new Error(`Expected \`${k(o, r)}\` value to be a mapping, got ${d(n)}`);
18129
+ throw new Error(`Expected \`${_(o, r)}\` value to be a mapping, got ${d(n)}`);
17836
18130
  return null;
17837
18131
  }
17838
18132
  if (typeof n > "u")
17839
18133
  if (a) {
17840
- const c = typeof p == "object" ? "Unable to find item" : "Missing value";
17841
- throw new Error(`${c} at \`${k(o, r)}\``);
18134
+ const p = typeof c == "object" ? "Unable to find item" : "Missing value";
18135
+ throw new Error(`${p} at \`${_(o, r)}\``);
17842
18136
  } else
17843
18137
  return null;
17844
18138
  }
17845
18139
  if (!q.guard(n)) {
17846
18140
  if (a)
17847
- throw new Error(`Expected \`${k(o, r)}\` value to be a mapping, got ${d(n)}`);
18141
+ throw new Error(`Expected \`${_(o, r)}\` value to be a mapping, got ${d(n)}`);
17848
18142
  return null;
17849
18143
  }
17850
18144
  const u = n[s];
17851
18145
  if (typeof u > "u") {
17852
18146
  if (a)
17853
- throw r.push(s), new Error(`Missing value at \`${k(o, r)}\``);
18147
+ throw r.push(s), new Error(`Missing value at \`${_(o, r)}\``);
17854
18148
  return null;
17855
18149
  }
17856
18150
  if (i.guard(u))
17857
18151
  return u;
17858
18152
  if (a)
17859
- throw r.push(s), new Error(`Expected \`${k(o, r)}\` value to be a ${i.name}, got ${d(u)}`);
18153
+ throw r.push(s), new Error(`Expected \`${_(o, r)}\` value to be a ${i.name}, got ${d(u)}`);
17860
18154
  return null;
17861
18155
  }
17862
18156
  function D(e, t) {
@@ -17867,7 +18161,7 @@ function D(e, t) {
17867
18161
  return i;
17868
18162
  }
17869
18163
  }
17870
- function L(e) {
18164
+ function y(e) {
17871
18165
  return Array.isArray(e) ? [...e] : [e];
17872
18166
  }
17873
18167
  function d(e) {
@@ -17882,7 +18176,7 @@ const q = {
17882
18176
  }, z = {
17883
18177
  guard: (e) => typeof e == "number",
17884
18178
  name: "number"
17885
- }, k = (e, t) => [...e.map(B), ...t.map(B)].join("."), B = (e) => typeof e == "string" ? e : JSON.stringify(e);
18179
+ }, _ = (e, t) => [...e.map(B), ...t.map(B)].join("."), B = (e) => typeof e == "string" ? e : JSON.stringify(e);
17886
18180
  class j {
17887
18181
  base;
17888
18182
  tiers;