@pydantic/genai-prices 0.0.53 → 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
@@ -238,28 +238,6 @@ const I = [
238
238
  output_mtok: 5
239
239
  }
240
240
  },
241
- {
242
- id: "claude-instant-1",
243
- description: "Retired, here to match price sources",
244
- match: {
245
- equals: "claude-instant-1"
246
- },
247
- prices: {
248
- input_mtok: 1.63,
249
- output_mtok: 55.1
250
- }
251
- },
252
- {
253
- id: "claude-instant-1.2",
254
- description: "Retired, here to match price sources",
255
- match: {
256
- equals: "claude-instant-1.2"
257
- },
258
- prices: {
259
- input_mtok: 1.63,
260
- output_mtok: 5.51
261
- }
262
- },
263
241
  {
264
242
  id: "claude-opus-4-0",
265
243
  name: "Claude Opus 4",
@@ -341,7 +319,7 @@ const I = [
341
319
  {
342
320
  id: "claude-opus-4-6",
343
321
  name: "Claude Opus 4.6",
344
- description: "Most intelligent model with adaptive thinking and 1M context beta",
322
+ description: "Our most intelligent model for building agents and coding",
345
323
  match: {
346
324
  or: [
347
325
  {
@@ -432,7 +410,7 @@ const I = [
432
410
  {
433
411
  id: "claude-sonnet-4-5",
434
412
  name: "Claude Sonnet 4.5",
435
- description: "Most intelligent model for building agents and coding",
413
+ description: "Our best combination of speed and intelligence",
436
414
  match: {
437
415
  or: [
438
416
  {
@@ -483,6 +461,60 @@ const I = [
483
461
  }
484
462
  }
485
463
  },
464
+ {
465
+ id: "claude-sonnet-4-6",
466
+ name: "Claude Sonnet 4.6",
467
+ description: "Our best combination of speed and intelligence",
468
+ match: {
469
+ or: [
470
+ {
471
+ starts_with: "claude-sonnet-4-6"
472
+ },
473
+ {
474
+ starts_with: "claude-sonnet-4.6"
475
+ }
476
+ ]
477
+ },
478
+ context_window: 1e6,
479
+ prices: {
480
+ input_mtok: {
481
+ base: 3,
482
+ tiers: [
483
+ {
484
+ start: 2e5,
485
+ price: 6
486
+ }
487
+ ]
488
+ },
489
+ cache_write_mtok: {
490
+ base: 3.75,
491
+ tiers: [
492
+ {
493
+ start: 2e5,
494
+ price: 7.5
495
+ }
496
+ ]
497
+ },
498
+ cache_read_mtok: {
499
+ base: 0.3,
500
+ tiers: [
501
+ {
502
+ start: 2e5,
503
+ price: 0.6
504
+ }
505
+ ]
506
+ },
507
+ output_mtok: {
508
+ base: 15,
509
+ tiers: [
510
+ {
511
+ start: 2e5,
512
+ price: 22.5
513
+ }
514
+ ]
515
+ }
516
+ }
517
+ },
486
518
  {
487
519
  id: "claude-v1",
488
520
  description: "Retired, here to match price sources",
@@ -719,7 +751,7 @@ const I = [
719
751
  {
720
752
  id: "global.anthropic.claude-haiku-4-5-20251001-v1:0",
721
753
  match: {
722
- starts_with: "global.anthropic.claude-haiku-4-5-20251001-v1"
754
+ contains: "global.anthropic.claude-haiku-4-5-20251001-v1"
723
755
  },
724
756
  prices: {
725
757
  input_mtok: 1,
@@ -728,10 +760,66 @@ const I = [
728
760
  output_mtok: 5
729
761
  }
730
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
+ },
731
819
  {
732
820
  id: "global.anthropic.claude-sonnet-4-20250514-v1:0",
733
821
  match: {
734
- starts_with: "global.anthropic.claude-sonnet-4-20250514-v1"
822
+ contains: "global.anthropic.claude-sonnet-4-20250514-v1"
735
823
  },
736
824
  prices: {
737
825
  input_mtok: 3,
@@ -743,7 +831,7 @@ const I = [
743
831
  {
744
832
  id: "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
745
833
  match: {
746
- starts_with: "global.anthropic.claude-sonnet-4-5-20250929-v1"
834
+ contains: "global.anthropic.claude-sonnet-4-5-20250929-v1"
747
835
  },
748
836
  prices: {
749
837
  input_mtok: 3,
@@ -752,6 +840,50 @@ const I = [
752
840
  output_mtok: 15
753
841
  }
754
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
+ },
755
887
  {
756
888
  id: "meta.llama3-1-70b-instruct-v1:0",
757
889
  name: "Llama 3.1 70B Instruct",
@@ -988,22 +1120,22 @@ const I = [
988
1120
  match: {
989
1121
  or: [
990
1122
  {
991
- starts_with: "us.anthropic.claude-3-5-haiku-20241022-v1"
1123
+ contains: "us.anthropic.claude-3-5-haiku-20241022-v1"
992
1124
  },
993
1125
  {
994
- starts_with: "au.anthropic.claude-3-5-haiku-20241022-v1"
1126
+ contains: "au.anthropic.claude-3-5-haiku-20241022-v1"
995
1127
  },
996
1128
  {
997
- starts_with: "apac.anthropic.claude-3-5-haiku-20241022-v1"
1129
+ contains: "apac.anthropic.claude-3-5-haiku-20241022-v1"
998
1130
  },
999
1131
  {
1000
- starts_with: "eu.anthropic.claude-3-5-haiku-20241022-v1"
1132
+ contains: "eu.anthropic.claude-3-5-haiku-20241022-v1"
1001
1133
  },
1002
1134
  {
1003
- starts_with: "us-gov.anthropic.claude-3-5-haiku-20241022-v1"
1135
+ contains: "us-gov.anthropic.claude-3-5-haiku-20241022-v1"
1004
1136
  },
1005
1137
  {
1006
- starts_with: "jp.anthropic.claude-3-5-haiku-20241022-v1"
1138
+ contains: "jp.anthropic.claude-3-5-haiku-20241022-v1"
1007
1139
  }
1008
1140
  ]
1009
1141
  },
@@ -1019,22 +1151,22 @@ const I = [
1019
1151
  match: {
1020
1152
  or: [
1021
1153
  {
1022
- starts_with: "us.anthropic.claude-3-5-sonnet-20240620-v1"
1154
+ contains: "us.anthropic.claude-3-5-sonnet-20240620-v1"
1023
1155
  },
1024
1156
  {
1025
- starts_with: "au.anthropic.claude-3-5-sonnet-20240620-v1"
1157
+ contains: "au.anthropic.claude-3-5-sonnet-20240620-v1"
1026
1158
  },
1027
1159
  {
1028
- starts_with: "apac.anthropic.claude-3-5-sonnet-20240620-v1"
1160
+ contains: "apac.anthropic.claude-3-5-sonnet-20240620-v1"
1029
1161
  },
1030
1162
  {
1031
- starts_with: "eu.anthropic.claude-3-5-sonnet-20240620-v1"
1163
+ contains: "eu.anthropic.claude-3-5-sonnet-20240620-v1"
1032
1164
  },
1033
1165
  {
1034
- starts_with: "us-gov.anthropic.claude-3-5-sonnet-20240620-v1"
1166
+ contains: "us-gov.anthropic.claude-3-5-sonnet-20240620-v1"
1035
1167
  },
1036
1168
  {
1037
- starts_with: "jp.anthropic.claude-3-5-sonnet-20240620-v1"
1169
+ contains: "jp.anthropic.claude-3-5-sonnet-20240620-v1"
1038
1170
  }
1039
1171
  ]
1040
1172
  },
@@ -1050,22 +1182,22 @@ const I = [
1050
1182
  match: {
1051
1183
  or: [
1052
1184
  {
1053
- starts_with: "us.anthropic.claude-3-5-sonnet-20241022-v2"
1185
+ contains: "us.anthropic.claude-3-5-sonnet-20241022-v2"
1054
1186
  },
1055
1187
  {
1056
- starts_with: "au.anthropic.claude-3-5-sonnet-20241022-v2"
1188
+ contains: "au.anthropic.claude-3-5-sonnet-20241022-v2"
1057
1189
  },
1058
1190
  {
1059
- starts_with: "apac.anthropic.claude-3-5-sonnet-20241022-v2"
1191
+ contains: "apac.anthropic.claude-3-5-sonnet-20241022-v2"
1060
1192
  },
1061
1193
  {
1062
- starts_with: "eu.anthropic.claude-3-5-sonnet-20241022-v2"
1194
+ contains: "eu.anthropic.claude-3-5-sonnet-20241022-v2"
1063
1195
  },
1064
1196
  {
1065
- starts_with: "us-gov.anthropic.claude-3-5-sonnet-20241022-v2"
1197
+ contains: "us-gov.anthropic.claude-3-5-sonnet-20241022-v2"
1066
1198
  },
1067
1199
  {
1068
- starts_with: "jp.anthropic.claude-3-5-sonnet-20241022-v2"
1200
+ contains: "jp.anthropic.claude-3-5-sonnet-20241022-v2"
1069
1201
  }
1070
1202
  ]
1071
1203
  },
@@ -1081,22 +1213,22 @@ const I = [
1081
1213
  match: {
1082
1214
  or: [
1083
1215
  {
1084
- starts_with: "us.anthropic.claude-3-7-sonnet-20250219-v1"
1216
+ contains: "us.anthropic.claude-3-7-sonnet-20250219-v1"
1085
1217
  },
1086
1218
  {
1087
- starts_with: "au.anthropic.claude-3-7-sonnet-20250219-v1"
1219
+ contains: "au.anthropic.claude-3-7-sonnet-20250219-v1"
1088
1220
  },
1089
1221
  {
1090
- starts_with: "apac.anthropic.claude-3-7-sonnet-20250219-v1"
1222
+ contains: "apac.anthropic.claude-3-7-sonnet-20250219-v1"
1091
1223
  },
1092
1224
  {
1093
- starts_with: "eu.anthropic.claude-3-7-sonnet-20250219-v1"
1225
+ contains: "eu.anthropic.claude-3-7-sonnet-20250219-v1"
1094
1226
  },
1095
1227
  {
1096
- starts_with: "us-gov.anthropic.claude-3-7-sonnet-20250219-v1"
1228
+ contains: "us-gov.anthropic.claude-3-7-sonnet-20250219-v1"
1097
1229
  },
1098
1230
  {
1099
- starts_with: "jp.anthropic.claude-3-7-sonnet-20250219-v1"
1231
+ contains: "jp.anthropic.claude-3-7-sonnet-20250219-v1"
1100
1232
  }
1101
1233
  ]
1102
1234
  },
@@ -1112,22 +1244,22 @@ const I = [
1112
1244
  match: {
1113
1245
  or: [
1114
1246
  {
1115
- starts_with: "us.anthropic.claude-3-haiku-20240307-v1"
1247
+ contains: "us.anthropic.claude-3-haiku-20240307-v1"
1116
1248
  },
1117
1249
  {
1118
- starts_with: "au.anthropic.claude-3-haiku-20240307-v1"
1250
+ contains: "au.anthropic.claude-3-haiku-20240307-v1"
1119
1251
  },
1120
1252
  {
1121
- starts_with: "apac.anthropic.claude-3-haiku-20240307-v1"
1253
+ contains: "apac.anthropic.claude-3-haiku-20240307-v1"
1122
1254
  },
1123
1255
  {
1124
- starts_with: "eu.anthropic.claude-3-haiku-20240307-v1"
1256
+ contains: "eu.anthropic.claude-3-haiku-20240307-v1"
1125
1257
  },
1126
1258
  {
1127
- starts_with: "us-gov.anthropic.claude-3-haiku-20240307-v1"
1259
+ contains: "us-gov.anthropic.claude-3-haiku-20240307-v1"
1128
1260
  },
1129
1261
  {
1130
- starts_with: "jp.anthropic.claude-3-haiku-20240307-v1"
1262
+ contains: "jp.anthropic.claude-3-haiku-20240307-v1"
1131
1263
  }
1132
1264
  ]
1133
1265
  },
@@ -1141,22 +1273,22 @@ const I = [
1141
1273
  match: {
1142
1274
  or: [
1143
1275
  {
1144
- starts_with: "us.anthropic.claude-3-opus-20240229-v1"
1276
+ contains: "us.anthropic.claude-3-opus-20240229-v1"
1145
1277
  },
1146
1278
  {
1147
- starts_with: "au.anthropic.claude-3-opus-20240229-v1"
1279
+ contains: "au.anthropic.claude-3-opus-20240229-v1"
1148
1280
  },
1149
1281
  {
1150
- starts_with: "apac.anthropic.claude-3-opus-20240229-v1"
1282
+ contains: "apac.anthropic.claude-3-opus-20240229-v1"
1151
1283
  },
1152
1284
  {
1153
- starts_with: "eu.anthropic.claude-3-opus-20240229-v1"
1285
+ contains: "eu.anthropic.claude-3-opus-20240229-v1"
1154
1286
  },
1155
1287
  {
1156
- starts_with: "us-gov.anthropic.claude-3-opus-20240229-v1"
1288
+ contains: "us-gov.anthropic.claude-3-opus-20240229-v1"
1157
1289
  },
1158
1290
  {
1159
- starts_with: "jp.anthropic.claude-3-opus-20240229-v1"
1291
+ contains: "jp.anthropic.claude-3-opus-20240229-v1"
1160
1292
  }
1161
1293
  ]
1162
1294
  },
@@ -1170,22 +1302,22 @@ const I = [
1170
1302
  match: {
1171
1303
  or: [
1172
1304
  {
1173
- starts_with: "us.anthropic.claude-3-sonnet-20240229-v1"
1305
+ contains: "us.anthropic.claude-3-sonnet-20240229-v1"
1174
1306
  },
1175
1307
  {
1176
- starts_with: "au.anthropic.claude-3-sonnet-20240229-v1"
1308
+ contains: "au.anthropic.claude-3-sonnet-20240229-v1"
1177
1309
  },
1178
1310
  {
1179
- starts_with: "apac.anthropic.claude-3-sonnet-20240229-v1"
1311
+ contains: "apac.anthropic.claude-3-sonnet-20240229-v1"
1180
1312
  },
1181
1313
  {
1182
- starts_with: "eu.anthropic.claude-3-sonnet-20240229-v1"
1314
+ contains: "eu.anthropic.claude-3-sonnet-20240229-v1"
1183
1315
  },
1184
1316
  {
1185
- starts_with: "us-gov.anthropic.claude-3-sonnet-20240229-v1"
1317
+ contains: "us-gov.anthropic.claude-3-sonnet-20240229-v1"
1186
1318
  },
1187
1319
  {
1188
- starts_with: "jp.anthropic.claude-3-sonnet-20240229-v1"
1320
+ contains: "jp.anthropic.claude-3-sonnet-20240229-v1"
1189
1321
  }
1190
1322
  ]
1191
1323
  },
@@ -1201,22 +1333,22 @@ const I = [
1201
1333
  match: {
1202
1334
  or: [
1203
1335
  {
1204
- starts_with: "us.anthropic.claude-haiku-4-5-20251001-v1"
1336
+ contains: "us.anthropic.claude-haiku-4-5-20251001-v1"
1205
1337
  },
1206
1338
  {
1207
- starts_with: "au.anthropic.claude-haiku-4-5-20251001-v1"
1339
+ contains: "au.anthropic.claude-haiku-4-5-20251001-v1"
1208
1340
  },
1209
1341
  {
1210
- starts_with: "apac.anthropic.claude-haiku-4-5-20251001-v1"
1342
+ contains: "apac.anthropic.claude-haiku-4-5-20251001-v1"
1211
1343
  },
1212
1344
  {
1213
- starts_with: "eu.anthropic.claude-haiku-4-5-20251001-v1"
1345
+ contains: "eu.anthropic.claude-haiku-4-5-20251001-v1"
1214
1346
  },
1215
1347
  {
1216
- starts_with: "us-gov.anthropic.claude-haiku-4-5-20251001-v1"
1348
+ contains: "us-gov.anthropic.claude-haiku-4-5-20251001-v1"
1217
1349
  },
1218
1350
  {
1219
- starts_with: "jp.anthropic.claude-haiku-4-5-20251001-v1"
1351
+ contains: "jp.anthropic.claude-haiku-4-5-20251001-v1"
1220
1352
  }
1221
1353
  ]
1222
1354
  },
@@ -1232,22 +1364,22 @@ const I = [
1232
1364
  match: {
1233
1365
  or: [
1234
1366
  {
1235
- starts_with: "us.anthropic.claude-opus-4-1-20250805-v1"
1367
+ contains: "us.anthropic.claude-opus-4-1-20250805-v1"
1236
1368
  },
1237
1369
  {
1238
- starts_with: "au.anthropic.claude-opus-4-1-20250805-v1"
1370
+ contains: "au.anthropic.claude-opus-4-1-20250805-v1"
1239
1371
  },
1240
1372
  {
1241
- starts_with: "apac.anthropic.claude-opus-4-1-20250805-v1"
1373
+ contains: "apac.anthropic.claude-opus-4-1-20250805-v1"
1242
1374
  },
1243
1375
  {
1244
- starts_with: "eu.anthropic.claude-opus-4-1-20250805-v1"
1376
+ contains: "eu.anthropic.claude-opus-4-1-20250805-v1"
1245
1377
  },
1246
1378
  {
1247
- starts_with: "us-gov.anthropic.claude-opus-4-1-20250805-v1"
1379
+ contains: "us-gov.anthropic.claude-opus-4-1-20250805-v1"
1248
1380
  },
1249
1381
  {
1250
- starts_with: "jp.anthropic.claude-opus-4-1-20250805-v1"
1382
+ contains: "jp.anthropic.claude-opus-4-1-20250805-v1"
1251
1383
  }
1252
1384
  ]
1253
1385
  },
@@ -1263,22 +1395,22 @@ const I = [
1263
1395
  match: {
1264
1396
  or: [
1265
1397
  {
1266
- starts_with: "us.anthropic.claude-opus-4-20250514-v1"
1398
+ contains: "us.anthropic.claude-opus-4-20250514-v1"
1267
1399
  },
1268
1400
  {
1269
- starts_with: "au.anthropic.claude-opus-4-20250514-v1"
1401
+ contains: "au.anthropic.claude-opus-4-20250514-v1"
1270
1402
  },
1271
1403
  {
1272
- starts_with: "apac.anthropic.claude-opus-4-20250514-v1"
1404
+ contains: "apac.anthropic.claude-opus-4-20250514-v1"
1273
1405
  },
1274
1406
  {
1275
- starts_with: "eu.anthropic.claude-opus-4-20250514-v1"
1407
+ contains: "eu.anthropic.claude-opus-4-20250514-v1"
1276
1408
  },
1277
1409
  {
1278
- starts_with: "us-gov.anthropic.claude-opus-4-20250514-v1"
1410
+ contains: "us-gov.anthropic.claude-opus-4-20250514-v1"
1279
1411
  },
1280
1412
  {
1281
- starts_with: "jp.anthropic.claude-opus-4-20250514-v1"
1413
+ contains: "jp.anthropic.claude-opus-4-20250514-v1"
1282
1414
  }
1283
1415
  ]
1284
1416
  },
@@ -1289,27 +1421,121 @@ const I = [
1289
1421
  output_mtok: 75
1290
1422
  }
1291
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
+ },
1292
1518
  {
1293
1519
  id: "regional.anthropic.claude-sonnet-4-20250514-v1:0",
1294
1520
  match: {
1295
1521
  or: [
1296
1522
  {
1297
- starts_with: "us.anthropic.claude-sonnet-4-20250514-v1"
1523
+ contains: "us.anthropic.claude-sonnet-4-20250514-v1"
1298
1524
  },
1299
1525
  {
1300
- starts_with: "au.anthropic.claude-sonnet-4-20250514-v1"
1526
+ contains: "au.anthropic.claude-sonnet-4-20250514-v1"
1301
1527
  },
1302
1528
  {
1303
- starts_with: "apac.anthropic.claude-sonnet-4-20250514-v1"
1529
+ contains: "apac.anthropic.claude-sonnet-4-20250514-v1"
1304
1530
  },
1305
1531
  {
1306
- starts_with: "eu.anthropic.claude-sonnet-4-20250514-v1"
1532
+ contains: "eu.anthropic.claude-sonnet-4-20250514-v1"
1307
1533
  },
1308
1534
  {
1309
- starts_with: "us-gov.anthropic.claude-sonnet-4-20250514-v1"
1535
+ contains: "us-gov.anthropic.claude-sonnet-4-20250514-v1"
1310
1536
  },
1311
1537
  {
1312
- starts_with: "jp.anthropic.claude-sonnet-4-20250514-v1"
1538
+ contains: "jp.anthropic.claude-sonnet-4-20250514-v1"
1313
1539
  }
1314
1540
  ]
1315
1541
  },
@@ -1325,22 +1551,22 @@ const I = [
1325
1551
  match: {
1326
1552
  or: [
1327
1553
  {
1328
- starts_with: "us.anthropic.claude-sonnet-4-5-20250929-v1"
1554
+ contains: "us.anthropic.claude-sonnet-4-5-20250929-v1"
1329
1555
  },
1330
1556
  {
1331
- starts_with: "au.anthropic.claude-sonnet-4-5-20250929-v1"
1557
+ contains: "au.anthropic.claude-sonnet-4-5-20250929-v1"
1332
1558
  },
1333
1559
  {
1334
- starts_with: "apac.anthropic.claude-sonnet-4-5-20250929-v1"
1560
+ contains: "apac.anthropic.claude-sonnet-4-5-20250929-v1"
1335
1561
  },
1336
1562
  {
1337
- starts_with: "eu.anthropic.claude-sonnet-4-5-20250929-v1"
1563
+ contains: "eu.anthropic.claude-sonnet-4-5-20250929-v1"
1338
1564
  },
1339
1565
  {
1340
- starts_with: "us-gov.anthropic.claude-sonnet-4-5-20250929-v1"
1566
+ contains: "us-gov.anthropic.claude-sonnet-4-5-20250929-v1"
1341
1567
  },
1342
1568
  {
1343
- starts_with: "jp.anthropic.claude-sonnet-4-5-20250929-v1"
1569
+ contains: "jp.anthropic.claude-sonnet-4-5-20250929-v1"
1344
1570
  }
1345
1571
  ]
1346
1572
  },
@@ -1350,6 +1576,69 @@ const I = [
1350
1576
  cache_read_mtok: 0.33,
1351
1577
  output_mtok: 16.5
1352
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
+ }
1353
1642
  }
1354
1643
  ]
1355
1644
  },
@@ -2954,7 +3243,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
2954
3243
  prices: {
2955
3244
  input_mtok: 0.15,
2956
3245
  output_mtok: 0.6
2957
- }
3246
+ },
3247
+ deprecated: !0
2958
3248
  },
2959
3249
  {
2960
3250
  id: "gemini-2.5-pro",
@@ -3083,6 +3373,43 @@ Compared to other leading proprietary and open-weights models Command A delivers
3083
3373
  }
3084
3374
  }
3085
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
+ },
3086
3413
  {
3087
3414
  id: "gemini-embedding-001",
3088
3415
  match: {
@@ -3902,6 +4229,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
3902
4229
  output_mtok: 0.6
3903
4230
  }
3904
4231
  },
4232
+ {
4233
+ id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
4234
+ name: "Qwen3-Coder-480B-A35B-Instruct",
4235
+ match: {
4236
+ or: [
4237
+ {
4238
+ equals: "qwen/qwen3-coder-480b-a35b-instruct"
4239
+ },
4240
+ {
4241
+ equals: "qwen/qwen3-coder-480b-a35b-instruct-fast"
4242
+ }
4243
+ ]
4244
+ },
4245
+ context_window: 262144,
4246
+ prices: {
4247
+ input_mtok: 0.45,
4248
+ output_mtok: 1.8
4249
+ }
4250
+ },
3905
4251
  {
3906
4252
  id: "deepseek-ai/DeepSeek-R1-0528",
3907
4253
  name: "DeepSeek-R1-0528",
@@ -3978,25 +4324,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
3978
4324
  output_mtok: 0.6
3979
4325
  }
3980
4326
  },
3981
- {
3982
- id: "openai/gpt-oss-20b",
3983
- name: "gpt-oss-20b",
3984
- match: {
3985
- or: [
3986
- {
3987
- equals: "openai/gpt-oss-20b"
3988
- },
3989
- {
3990
- equals: "openai/gpt-oss-20b-fast"
3991
- }
3992
- ]
3993
- },
3994
- context_window: 131072,
3995
- prices: {
3996
- input_mtok: 0.05,
3997
- output_mtok: 0.2
3998
- }
3999
- },
4000
4327
  {
4001
4328
  id: "zai-org/GLM-4.5",
4002
4329
  name: "GLM-4.5",
@@ -4124,25 +4451,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
4124
4451
  input_mtok: 0.15,
4125
4452
  output_mtok: 0.75
4126
4453
  }
4127
- },
4128
- {
4129
- id: "openai/gpt-oss-20b",
4130
- name: "gpt-oss-20b",
4131
- match: {
4132
- or: [
4133
- {
4134
- equals: "openai/gpt-oss-20b"
4135
- },
4136
- {
4137
- equals: "openai/gpt-oss-20b-fast"
4138
- }
4139
- ]
4140
- },
4141
- context_window: 131072,
4142
- prices: {
4143
- input_mtok: 0.1,
4144
- output_mtok: 0.5
4145
- }
4146
4454
  }
4147
4455
  ]
4148
4456
  },
@@ -4494,48 +4802,29 @@ Compared to other leading proprietary and open-weights models Command A delivers
4494
4802
  }
4495
4803
  ]
4496
4804
  },
4497
- context_window: 8192,
4498
- prices: {
4499
- input_mtok: 0.4,
4500
- output_mtok: 0.4
4501
- }
4502
- },
4503
- {
4504
- id: "openai/gpt-oss-120b",
4505
- name: "gpt-oss-120b",
4506
- match: {
4507
- or: [
4508
- {
4509
- equals: "openai/gpt-oss-120b"
4510
- },
4511
- {
4512
- equals: "openai/gpt-oss-120b-fast"
4513
- }
4514
- ]
4515
- },
4516
- context_window: 131072,
4805
+ context_window: 8192,
4517
4806
  prices: {
4518
- input_mtok: 0.3,
4519
- output_mtok: 0.3
4807
+ input_mtok: 0.4,
4808
+ output_mtok: 0.4
4520
4809
  }
4521
4810
  },
4522
4811
  {
4523
- id: "openai/gpt-oss-20b",
4524
- name: "gpt-oss-20b",
4812
+ id: "openai/gpt-oss-120b",
4813
+ name: "gpt-oss-120b",
4525
4814
  match: {
4526
4815
  or: [
4527
4816
  {
4528
- equals: "openai/gpt-oss-20b"
4817
+ equals: "openai/gpt-oss-120b"
4529
4818
  },
4530
4819
  {
4531
- equals: "openai/gpt-oss-20b-fast"
4820
+ equals: "openai/gpt-oss-120b-fast"
4532
4821
  }
4533
4822
  ]
4534
4823
  },
4535
4824
  context_window: 131072,
4536
4825
  prices: {
4537
- input_mtok: 0.1,
4538
- output_mtok: 0.1
4826
+ input_mtok: 0.3,
4827
+ output_mtok: 0.3
4539
4828
  }
4540
4829
  }
4541
4830
  ]
@@ -5046,25 +5335,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
5046
5335
  output_mtok: 0.6
5047
5336
  }
5048
5337
  },
5049
- {
5050
- id: "openai/gpt-oss-20b",
5051
- name: "gpt-oss-20b",
5052
- match: {
5053
- or: [
5054
- {
5055
- equals: "openai/gpt-oss-20b"
5056
- },
5057
- {
5058
- equals: "openai/gpt-oss-20b-fast"
5059
- }
5060
- ]
5061
- },
5062
- context_window: 131072,
5063
- prices: {
5064
- input_mtok: 0.05,
5065
- output_mtok: 0.2
5066
- }
5067
- },
5068
5338
  {
5069
5339
  id: "zai-org/GLM-4.5",
5070
5340
  name: "GLM-4.5",
@@ -5535,6 +5805,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
5535
5805
  output_mtok: 0.05
5536
5806
  }
5537
5807
  },
5808
+ {
5809
+ id: "XiaomiMiMo/MiMo-V2-Flash",
5810
+ name: "MiMo-V2-Flash",
5811
+ match: {
5812
+ or: [
5813
+ {
5814
+ equals: "xiaomimimo/mimo-v2-flash"
5815
+ },
5816
+ {
5817
+ equals: "xiaomimimo/mimo-v2-flash-fast"
5818
+ }
5819
+ ]
5820
+ },
5821
+ context_window: 262144,
5822
+ prices: {
5823
+ input_mtok: 0.098,
5824
+ output_mtok: 0.293
5825
+ }
5826
+ },
5538
5827
  {
5539
5828
  id: "alpindale/WizardLM-2-8x22B",
5540
5829
  name: "WizardLM-2-8x22B",
@@ -5712,6 +6001,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
5712
6001
  output_mtok: 0.072
5713
6002
  }
5714
6003
  },
6004
+ {
6005
+ id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
6006
+ name: "DeepSeek-R1-Distill-Llama-70B",
6007
+ match: {
6008
+ or: [
6009
+ {
6010
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
6011
+ },
6012
+ {
6013
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b-fast"
6014
+ }
6015
+ ]
6016
+ },
6017
+ context_window: 8192,
6018
+ prices: {
6019
+ input_mtok: 0.64,
6020
+ output_mtok: 0.64
6021
+ }
6022
+ },
5715
6023
  {
5716
6024
  id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
5717
6025
  name: "DeepSeek-R1-Distill-Qwen-14B",
@@ -5965,25 +6273,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
5965
6273
  output_mtok: 1.84
5966
6274
  }
5967
6275
  },
5968
- {
5969
- id: "moonshotai/Kimi-K2-Instruct-0905",
5970
- name: "Kimi-K2-Instruct-0905",
5971
- match: {
5972
- or: [
5973
- {
5974
- equals: "moonshotai/kimi-k2-instruct-0905"
5975
- },
5976
- {
5977
- equals: "moonshotai/kimi-k2-instruct-0905-fast"
5978
- }
5979
- ]
5980
- },
5981
- context_window: 262144,
5982
- prices: {
5983
- input_mtok: 0.48,
5984
- output_mtok: 2
5985
- }
5986
- },
5987
6276
  {
5988
6277
  id: "moonshotai/Kimi-K2-Thinking",
5989
6278
  name: "Kimi-K2-Thinking",
@@ -6022,25 +6311,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
6022
6311
  output_mtok: 0.2
6023
6312
  }
6024
6313
  },
6025
- {
6026
- id: "openai/gpt-oss-20b",
6027
- name: "gpt-oss-20b",
6028
- match: {
6029
- or: [
6030
- {
6031
- equals: "openai/gpt-oss-20b"
6032
- },
6033
- {
6034
- equals: "openai/gpt-oss-20b-fast"
6035
- }
6036
- ]
6037
- },
6038
- context_window: 131072,
6039
- prices: {
6040
- input_mtok: 0.032,
6041
- output_mtok: 0.12
6042
- }
6043
- },
6044
6314
  {
6045
6315
  id: "zai-org/AutoGLM-Phone-9B-Multilingual",
6046
6316
  name: "AutoGLM-Phone-9B-Multilingual",
@@ -6592,25 +6862,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
6592
6862
  input_mtok: 0.1,
6593
6863
  output_mtok: 0.4
6594
6864
  }
6595
- },
6596
- {
6597
- id: "openai/gpt-oss-20b",
6598
- name: "gpt-oss-20b",
6599
- match: {
6600
- or: [
6601
- {
6602
- equals: "openai/gpt-oss-20b"
6603
- },
6604
- {
6605
- equals: "openai/gpt-oss-20b-fast"
6606
- }
6607
- ]
6608
- },
6609
- context_window: 131072,
6610
- prices: {
6611
- input_mtok: 0.05,
6612
- output_mtok: 0.2
6613
- }
6614
6865
  }
6615
6866
  ]
6616
6867
  },
@@ -6683,6 +6934,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
6683
6934
  output_mtok: 1.01
6684
6935
  }
6685
6936
  },
6937
+ {
6938
+ id: "Qwen/Qwen3-32B",
6939
+ name: "Qwen3-32B",
6940
+ match: {
6941
+ or: [
6942
+ {
6943
+ equals: "qwen/qwen3-32b"
6944
+ },
6945
+ {
6946
+ equals: "qwen/qwen3-32b-fast"
6947
+ }
6948
+ ]
6949
+ },
6950
+ context_window: 32768,
6951
+ prices: {
6952
+ input_mtok: 0.09,
6953
+ output_mtok: 0.25
6954
+ }
6955
+ },
6686
6956
  {
6687
6957
  id: "Qwen/Qwen3-Coder-30B-A3B-Instruct",
6688
6958
  name: "Qwen3-Coder-30B-A3B-Instruct",
@@ -6701,6 +6971,82 @@ Compared to other leading proprietary and open-weights models Command A delivers
6701
6971
  input_mtok: 0.07,
6702
6972
  output_mtok: 0.26
6703
6973
  }
6974
+ },
6975
+ {
6976
+ id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
6977
+ name: "DeepSeek-R1-Distill-Llama-70B",
6978
+ match: {
6979
+ or: [
6980
+ {
6981
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
6982
+ },
6983
+ {
6984
+ equals: "deepseek-ai/deepseek-r1-distill-llama-70b-fast"
6985
+ }
6986
+ ]
6987
+ },
6988
+ context_window: 131072,
6989
+ prices: {
6990
+ input_mtok: 0.74,
6991
+ output_mtok: 0.74
6992
+ }
6993
+ },
6994
+ {
6995
+ id: "meta-llama/Llama-3.1-8B-Instruct",
6996
+ name: "Llama-3.1-8B-Instruct",
6997
+ match: {
6998
+ or: [
6999
+ {
7000
+ equals: "meta-llama/llama-3.1-8b-instruct"
7001
+ },
7002
+ {
7003
+ equals: "meta-llama/llama-3.1-8b-instruct-fast"
7004
+ }
7005
+ ]
7006
+ },
7007
+ context_window: 131072,
7008
+ prices: {
7009
+ input_mtok: 0.11,
7010
+ output_mtok: 0.11
7011
+ }
7012
+ },
7013
+ {
7014
+ id: "meta-llama/Llama-3.3-70B-Instruct",
7015
+ name: "Llama-3.3-70B-Instruct",
7016
+ match: {
7017
+ or: [
7018
+ {
7019
+ equals: "meta-llama/llama-3.3-70b-instruct"
7020
+ },
7021
+ {
7022
+ equals: "meta-llama/llama-3.3-70b-instruct-fast"
7023
+ }
7024
+ ]
7025
+ },
7026
+ context_window: 131072,
7027
+ prices: {
7028
+ input_mtok: 0.74,
7029
+ output_mtok: 0.74
7030
+ }
7031
+ },
7032
+ {
7033
+ id: "openai/gpt-oss-120b",
7034
+ name: "gpt-oss-120b",
7035
+ match: {
7036
+ or: [
7037
+ {
7038
+ equals: "openai/gpt-oss-120b"
7039
+ },
7040
+ {
7041
+ equals: "openai/gpt-oss-120b-fast"
7042
+ }
7043
+ ]
7044
+ },
7045
+ context_window: 131072,
7046
+ prices: {
7047
+ input_mtok: 0.09,
7048
+ output_mtok: 0.47
7049
+ }
6704
7050
  }
6705
7051
  ]
6706
7052
  },
@@ -7617,25 +7963,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
7617
7963
  output_mtok: 0.6
7618
7964
  }
7619
7965
  },
7620
- {
7621
- id: "openai/gpt-oss-20b",
7622
- name: "gpt-oss-20b",
7623
- match: {
7624
- or: [
7625
- {
7626
- equals: "openai/gpt-oss-20b"
7627
- },
7628
- {
7629
- equals: "openai/gpt-oss-20b-fast"
7630
- }
7631
- ]
7632
- },
7633
- context_window: 131072,
7634
- prices: {
7635
- input_mtok: 0.05,
7636
- output_mtok: 0.2
7637
- }
7638
- },
7639
7966
  {
7640
7967
  id: "zai-org/GLM-4.5-Air-FP8",
7641
7968
  name: "GLM-4.5-Air-FP8",
@@ -7936,7 +8263,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
7936
8263
  prices: {
7937
8264
  input_mtok: 0.25,
7938
8265
  output_mtok: 0.25
7939
- }
8266
+ },
8267
+ deprecated: !0
7940
8268
  },
7941
8269
  {
7942
8270
  id: "mixtral-8x22b-instruct",
@@ -16095,24 +16423,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
16095
16423
  }
16096
16424
  ],
16097
16425
  models: [
16098
- {
16099
- id: "BGE-M3",
16100
- name: "BGE-M3",
16101
- match: {
16102
- or: [
16103
- {
16104
- equals: "BGE-M3"
16105
- },
16106
- {
16107
- equals: "bge-m3"
16108
- }
16109
- ]
16110
- },
16111
- context_window: 8192,
16112
- prices: {
16113
- input_mtok: 0.01
16114
- }
16115
- },
16116
16426
  {
16117
16427
  id: "DeepSeek-R1-Distill-Llama-70B",
16118
16428
  name: "DeepSeek-R1-Distill-Llama-70B",
@@ -16352,6 +16662,17 @@ Compared to other leading proprietary and open-weights models Command A delivers
16352
16662
  input_mtok: 0.01
16353
16663
  }
16354
16664
  },
16665
+ {
16666
+ id: "bge-m3",
16667
+ name: "bge-m3",
16668
+ match: {
16669
+ equals: "bge-m3"
16670
+ },
16671
+ context_window: 8192,
16672
+ prices: {
16673
+ input_mtok: 0.01
16674
+ }
16675
+ },
16355
16676
  {
16356
16677
  id: "bge-multilingual-gemma2",
16357
16678
  name: "bge-multilingual-gemma2",
@@ -17369,7 +17690,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
17369
17690
  prices: {
17370
17691
  input_mtok: 2,
17371
17692
  output_mtok: 10
17372
- }
17693
+ },
17694
+ deprecated: !0
17373
17695
  },
17374
17696
  {
17375
17697
  id: "grok-2-vision-1212",
@@ -17647,17 +17969,17 @@ function Q(e, t) {
17647
17969
  let u = e.input_audio_tokens ?? 0;
17648
17970
  if (u -= n, u < 0)
17649
17971
  throw new Error("cache_audio_read_tokens cannot be greater than input_audio_tokens");
17650
- let p = e.input_tokens ?? 0;
17651
- 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)
17652
17974
  throw new Error("Uncached text input tokens cannot be negative");
17653
- let c = s;
17654
- if (c -= n, c < 0)
17975
+ let p = s;
17976
+ if (p -= n, p < 0)
17655
17977
  throw new Error("cache_audio_read_tokens cannot be greater than cache_read_tokens");
17656
- 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);
17657
- let _ = e.output_tokens ?? 0;
17658
- 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)
17659
17981
  throw new Error("output_audio_tokens cannot be greater than output_tokens");
17660
- 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);
17661
17983
  let x = i + a;
17662
17984
  return t.requests_kcount !== void 0 && (x += t.requests_kcount / 1e3), {
17663
17985
  input_price: i,
@@ -17736,15 +18058,15 @@ function N(e) {
17736
18058
  setProviderData: G
17737
18059
  });
17738
18060
  }
17739
- function E() {
18061
+ function V() {
17740
18062
  return f;
17741
18063
  }
17742
- function V(e, t, i) {
18064
+ function E(e, t, i) {
17743
18065
  v?.();
17744
18066
  let a = t.toLowerCase().trim(), o = i?.providerId;
17745
18067
  if (o && o.toLowerCase() === "litellm" && a.includes("/")) {
17746
- const p = a.indexOf("/"), c = a.slice(0, p), _ = a.slice(p + 1);
17747
- 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);
17748
18070
  }
17749
18071
  const s = i?.provider ?? b(h, { modelId: a, providerApiUrl: i?.providerApiUrl, providerId: o });
17750
18072
  if (!s) return null;
@@ -17772,12 +18094,12 @@ function F(e, t, i) {
17772
18094
  }
17773
18095
  if (!q.guard(t))
17774
18096
  throw new Error(`Expected response data to be a mapping object, got ${d(t)}`);
17775
- const o = w(a.model_path, t, z, !1, []), s = y(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 = {};
17776
18098
  for (const r of a.mappings) {
17777
- const u = w(r.path, m, C, r.required, s);
18099
+ const u = w(r.path, m, z, r.required, s);
17778
18100
  if (u !== null) {
17779
- const p = n[r.dest] ?? 0;
17780
- n[r.dest] = p + u;
18101
+ const c = n[r.dest] ?? 0;
18102
+ n[r.dest] = c + u;
17781
18103
  }
17782
18104
  }
17783
18105
  if (!Object.keys(n).length)
@@ -17791,44 +18113,44 @@ function w(e, t, i, a, o) {
17791
18113
  m.reverse();
17792
18114
  let n = t;
17793
18115
  const r = [];
17794
- for (const p of m) {
17795
- if (r.push(p), typeof p == "object")
18116
+ for (const c of m) {
18117
+ if (r.push(c), typeof c == "object")
17796
18118
  if (Array.isArray(n))
17797
- n = D(p, n);
18119
+ n = D(c, n);
17798
18120
  else {
17799
18121
  if (a)
17800
- 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)}`);
17801
18123
  return null;
17802
18124
  }
17803
18125
  else if (q.guard(n))
17804
- n = n[p];
18126
+ n = n[c];
17805
18127
  else {
17806
18128
  if (a)
17807
- 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)}`);
17808
18130
  return null;
17809
18131
  }
17810
18132
  if (typeof n > "u")
17811
18133
  if (a) {
17812
- const c = typeof p == "object" ? "Unable to find item" : "Missing value";
17813
- 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)}\``);
17814
18136
  } else
17815
18137
  return null;
17816
18138
  }
17817
18139
  if (!q.guard(n)) {
17818
18140
  if (a)
17819
- 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)}`);
17820
18142
  return null;
17821
18143
  }
17822
18144
  const u = n[s];
17823
18145
  if (typeof u > "u") {
17824
18146
  if (a)
17825
- throw r.push(s), new Error(`Missing value at \`${k(o, r)}\``);
18147
+ throw r.push(s), new Error(`Missing value at \`${_(o, r)}\``);
17826
18148
  return null;
17827
18149
  }
17828
18150
  if (i.guard(u))
17829
18151
  return u;
17830
18152
  if (a)
17831
- 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)}`);
17832
18154
  return null;
17833
18155
  }
17834
18156
  function D(e, t) {
@@ -17848,13 +18170,13 @@ function d(e) {
17848
18170
  const q = {
17849
18171
  guard: (e) => d(e) === "mapping",
17850
18172
  name: "mapping"
17851
- }, z = {
18173
+ }, C = {
17852
18174
  guard: (e) => typeof e == "string",
17853
18175
  name: "string"
17854
- }, C = {
18176
+ }, z = {
17855
18177
  guard: (e) => typeof e == "number",
17856
18178
  name: "number"
17857
- }, 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);
17858
18180
  class j {
17859
18181
  base;
17860
18182
  tiers;
@@ -17865,9 +18187,9 @@ class j {
17865
18187
  export {
17866
18188
  A as REMOTE_DATA_JSON_URL,
17867
18189
  j as TieredPrices,
17868
- V as calcPrice,
18190
+ E as calcPrice,
17869
18191
  F as extractUsage,
17870
18192
  O as findProvider,
17871
18193
  N as updatePrices,
17872
- E as waitForUpdate
18194
+ V as waitForUpdate
17873
18195
  };