@agentproto/model-catalog 0.11.3 → 0.12.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/access/index.d.ts +3 -3
- package/dist/access/index.mjs +4 -4
- package/dist/{catalog-5gTC0f_Y.d.ts → catalog-bHxCjKZP.d.ts} +426 -233
- package/dist/{chunk-TTIJME5T.mjs → chunk-7U7XGVHP.mjs} +12 -2
- package/dist/chunk-7U7XGVHP.mjs.map +1 -0
- package/dist/{chunk-WYHAJATO.mjs → chunk-ARZ2NGZS.mjs} +4 -4
- package/dist/{chunk-WYHAJATO.mjs.map → chunk-ARZ2NGZS.mjs.map} +1 -1
- package/dist/{chunk-HFRRCP7K.mjs → chunk-BOCXDO4T.mjs} +359 -193
- package/dist/chunk-BOCXDO4T.mjs.map +1 -0
- package/dist/{chunk-K7CMPW7U.mjs → chunk-DDP4LWNM.mjs} +4 -4
- package/dist/{chunk-K7CMPW7U.mjs.map → chunk-DDP4LWNM.mjs.map} +1 -1
- package/dist/{chunk-CTNTA2M2.mjs → chunk-HKPGUJ6C.mjs} +3 -3
- package/dist/{chunk-CTNTA2M2.mjs.map → chunk-HKPGUJ6C.mjs.map} +1 -1
- package/dist/{chunk-7ISOWCYR.mjs → chunk-HOTSTCXF.mjs} +3 -3
- package/dist/{chunk-7ISOWCYR.mjs.map → chunk-HOTSTCXF.mjs.map} +1 -1
- package/dist/{chunk-3CD74SIV.mjs → chunk-K5FVQ66Z.mjs} +116 -80
- package/dist/chunk-K5FVQ66Z.mjs.map +1 -0
- package/dist/{chunk-TIWJOTP3.mjs → chunk-YGKXLIZQ.mjs} +5 -5
- package/dist/{chunk-TIWJOTP3.mjs.map → chunk-YGKXLIZQ.mjs.map} +1 -1
- package/dist/{chunk-BGTMG67M.mjs → chunk-ZFELFXSM.mjs} +3 -3
- package/dist/{chunk-BGTMG67M.mjs.map → chunk-ZFELFXSM.mjs.map} +1 -1
- package/dist/cost/index.mjs +6 -6
- package/dist/curation/index.d.ts +2 -2
- package/dist/curation/index.mjs +6 -6
- package/dist/{evaluate-C0jqesmE.d.ts → evaluate-ChQi1sh7.d.ts} +1 -1
- package/dist/{index-B50oKKY0.d.ts → index-D75ALRM7.d.ts} +1 -1
- package/dist/{index-DXWxmswi.d.ts → index-DigHyBLg.d.ts} +2 -2
- package/dist/index.d.ts +5 -5
- package/dist/index.mjs +11 -11
- package/dist/index.mjs.map +1 -1
- package/dist/llm/index.d.ts +1 -1
- package/dist/llm/index.mjs +2 -2
- package/dist/overlay/index.d.ts +1 -1
- package/dist/picker/index.d.ts +4 -4
- package/dist/route-identity/index.d.ts +1 -1
- package/dist/route-identity/index.mjs +2 -2
- package/dist/schema/index.d.ts +21 -0
- package/dist/schema/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-3CD74SIV.mjs.map +0 -1
- package/dist/chunk-HFRRCP7K.mjs.map +0 -1
- package/dist/chunk-TTIJME5T.mjs.map +0 -1
|
@@ -152,6 +152,24 @@ var OPENROUTER_ROUTES = {
|
|
|
152
152
|
vendor: "anthropic",
|
|
153
153
|
provider: "openrouter"
|
|
154
154
|
},
|
|
155
|
+
"anthropic/claude-haiku-5.5": {
|
|
156
|
+
inputPer1M: 0.1,
|
|
157
|
+
outputPer1M: 0.5,
|
|
158
|
+
cacheReadMultiplier: 0.1,
|
|
159
|
+
cacheWriteMultiplier: 1.25,
|
|
160
|
+
addedAt: "2026-10-07",
|
|
161
|
+
vendor: "anthropic",
|
|
162
|
+
provider: "openrouter"
|
|
163
|
+
},
|
|
164
|
+
"anthropic/claude-haiku-5.5:batch": {
|
|
165
|
+
inputPer1M: 0.05,
|
|
166
|
+
outputPer1M: 0.25,
|
|
167
|
+
cacheReadMultiplier: 0.1,
|
|
168
|
+
cacheWriteMultiplier: 1.25,
|
|
169
|
+
addedAt: "2026-10-07",
|
|
170
|
+
vendor: "anthropic",
|
|
171
|
+
provider: "openrouter"
|
|
172
|
+
},
|
|
155
173
|
"anthropic/claude-opus-4.1": {
|
|
156
174
|
inputPer1M: 15,
|
|
157
175
|
outputPer1M: 75,
|
|
@@ -335,7 +353,7 @@ var OPENROUTER_ROUTES = {
|
|
|
335
353
|
"anthropic/claude-sonnet-5.5": {
|
|
336
354
|
inputPer1M: 2,
|
|
337
355
|
outputPer1M: 10,
|
|
338
|
-
cacheReadMultiplier: 0.
|
|
356
|
+
cacheReadMultiplier: 0.05,
|
|
339
357
|
cacheWriteMultiplier: 1.25,
|
|
340
358
|
addedAt: "2026-09-28",
|
|
341
359
|
vendor: "anthropic",
|
|
@@ -344,7 +362,7 @@ var OPENROUTER_ROUTES = {
|
|
|
344
362
|
"anthropic/claude-sonnet-5.5:batch": {
|
|
345
363
|
inputPer1M: 1,
|
|
346
364
|
outputPer1M: 5,
|
|
347
|
-
cacheReadMultiplier: 0.
|
|
365
|
+
cacheReadMultiplier: 0.05,
|
|
348
366
|
cacheWriteMultiplier: 1.25,
|
|
349
367
|
addedAt: "2026-09-28",
|
|
350
368
|
vendor: "anthropic",
|
|
@@ -513,57 +531,56 @@ var OPENROUTER_ROUTES = {
|
|
|
513
531
|
provider: "openrouter"
|
|
514
532
|
},
|
|
515
533
|
"deepseek/deepseek-v3.2": {
|
|
516
|
-
inputPer1M: 0.
|
|
534
|
+
inputPer1M: 0.259,
|
|
517
535
|
outputPer1M: 0.42,
|
|
518
|
-
cacheReadMultiplier: 0.
|
|
536
|
+
cacheReadMultiplier: 0.521236,
|
|
519
537
|
addedAt: "2025-12-01",
|
|
520
538
|
vendor: "deepseek",
|
|
521
539
|
provider: "openrouter"
|
|
522
540
|
},
|
|
523
541
|
"deepseek/deepseek-v3.2-exp": {
|
|
524
|
-
inputPer1M: 0.
|
|
525
|
-
outputPer1M: 0.
|
|
526
|
-
cacheReadMultiplier: 0.5,
|
|
542
|
+
inputPer1M: 0.27,
|
|
543
|
+
outputPer1M: 0.41,
|
|
527
544
|
addedAt: "2025-09-29",
|
|
528
545
|
vendor: "deepseek",
|
|
529
546
|
provider: "openrouter"
|
|
530
547
|
},
|
|
531
548
|
"deepseek/deepseek-v4-flash": {
|
|
532
|
-
inputPer1M: 0.
|
|
533
|
-
outputPer1M:
|
|
534
|
-
cacheReadMultiplier:
|
|
549
|
+
inputPer1M: 0.03,
|
|
550
|
+
outputPer1M: 1.28,
|
|
551
|
+
cacheReadMultiplier: 1,
|
|
535
552
|
addedAt: "2026-04-24",
|
|
536
553
|
vendor: "deepseek",
|
|
537
554
|
provider: "openrouter"
|
|
538
555
|
},
|
|
539
556
|
"deepseek/deepseek-v4-flash-0731": {
|
|
540
|
-
inputPer1M:
|
|
541
|
-
outputPer1M:
|
|
542
|
-
cacheReadMultiplier:
|
|
557
|
+
inputPer1M: 46e-4,
|
|
558
|
+
outputPer1M: 1.28,
|
|
559
|
+
cacheReadMultiplier: 1,
|
|
543
560
|
addedAt: "2026-07-31",
|
|
544
561
|
vendor: "deepseek",
|
|
545
562
|
provider: "openrouter"
|
|
546
563
|
},
|
|
547
564
|
"deepseek/deepseek-v4-flash-vision-exp": {
|
|
548
|
-
inputPer1M: 0.
|
|
549
|
-
outputPer1M:
|
|
565
|
+
inputPer1M: 0.2156,
|
|
566
|
+
outputPer1M: 0.6468,
|
|
550
567
|
cacheReadMultiplier: 0.031818,
|
|
551
568
|
addedAt: "2026-08-21",
|
|
552
569
|
vendor: "deepseek",
|
|
553
570
|
provider: "openrouter"
|
|
554
571
|
},
|
|
555
572
|
"deepseek/deepseek-v4-pro": {
|
|
556
|
-
inputPer1M: 0.
|
|
557
|
-
outputPer1M: 1.
|
|
573
|
+
inputPer1M: 0.95526,
|
|
574
|
+
outputPer1M: 1.91052,
|
|
558
575
|
cacheReadMultiplier: 0.083333,
|
|
559
576
|
addedAt: "2026-04-24",
|
|
560
577
|
vendor: "deepseek",
|
|
561
578
|
provider: "openrouter"
|
|
562
579
|
},
|
|
563
580
|
"deepseek/deepseek-v4-pro-0813": {
|
|
564
|
-
inputPer1M:
|
|
565
|
-
outputPer1M:
|
|
566
|
-
cacheReadMultiplier: 0.
|
|
581
|
+
inputPer1M: 1.32,
|
|
582
|
+
outputPer1M: 3.96,
|
|
583
|
+
cacheReadMultiplier: 0.033333,
|
|
567
584
|
addedAt: "2026-08-12",
|
|
568
585
|
vendor: "deepseek",
|
|
569
586
|
provider: "openrouter"
|
|
@@ -855,6 +872,13 @@ var OPENROUTER_ROUTES = {
|
|
|
855
872
|
vendor: "google",
|
|
856
873
|
provider: "openrouter"
|
|
857
874
|
},
|
|
875
|
+
"google/gemini-nano-banana-2.1": {
|
|
876
|
+
inputPer1M: 1.5,
|
|
877
|
+
outputPer1M: 7.5,
|
|
878
|
+
addedAt: "2026-10-06",
|
|
879
|
+
vendor: "google",
|
|
880
|
+
provider: "openrouter"
|
|
881
|
+
},
|
|
858
882
|
"google/gemma-2-27b-it": {
|
|
859
883
|
inputPer1M: 0.65,
|
|
860
884
|
outputPer1M: 0.65,
|
|
@@ -947,8 +971,8 @@ var OPENROUTER_ROUTES = {
|
|
|
947
971
|
provider: "openrouter"
|
|
948
972
|
},
|
|
949
973
|
"inclusionai/ling-3.0-flash-fin": {
|
|
950
|
-
inputPer1M: 0.
|
|
951
|
-
outputPer1M: 0.
|
|
974
|
+
inputPer1M: 0.042,
|
|
975
|
+
outputPer1M: 0.1232,
|
|
952
976
|
cacheReadMultiplier: 0.2,
|
|
953
977
|
addedAt: "2026-08-27",
|
|
954
978
|
vendor: "inclusionai",
|
|
@@ -978,14 +1002,6 @@ var OPENROUTER_ROUTES = {
|
|
|
978
1002
|
vendor: "inference-net",
|
|
979
1003
|
provider: "openrouter"
|
|
980
1004
|
},
|
|
981
|
-
"kwaipilot/kat-coder-pro-v2.5": {
|
|
982
|
-
inputPer1M: 0.74,
|
|
983
|
-
outputPer1M: 2.96,
|
|
984
|
-
cacheReadMultiplier: 0.202703,
|
|
985
|
-
addedAt: "2026-07-10",
|
|
986
|
-
vendor: "kwaipilot",
|
|
987
|
-
provider: "openrouter"
|
|
988
|
-
},
|
|
989
1005
|
"mancer/weaver": {
|
|
990
1006
|
inputPer1M: 0.4,
|
|
991
1007
|
outputPer1M: 0.75,
|
|
@@ -1040,6 +1056,7 @@ var OPENROUTER_ROUTES = {
|
|
|
1040
1056
|
"meta-llama/llama-4-maverick": {
|
|
1041
1057
|
inputPer1M: 0.1875,
|
|
1042
1058
|
outputPer1M: 0.6525,
|
|
1059
|
+
cacheReadMultiplier: 0.266667,
|
|
1043
1060
|
addedAt: "2025-04-05",
|
|
1044
1061
|
vendor: "meta-llama",
|
|
1045
1062
|
provider: "openrouter"
|
|
@@ -1128,7 +1145,7 @@ var OPENROUTER_ROUTES = {
|
|
|
1128
1145
|
provider: "openrouter"
|
|
1129
1146
|
},
|
|
1130
1147
|
"minimax/minimax-m1": {
|
|
1131
|
-
inputPer1M: 0.
|
|
1148
|
+
inputPer1M: 0.55,
|
|
1132
1149
|
outputPer1M: 2.2,
|
|
1133
1150
|
addedAt: "2025-06-17",
|
|
1134
1151
|
vendor: "minimax",
|
|
@@ -1166,8 +1183,8 @@ var OPENROUTER_ROUTES = {
|
|
|
1166
1183
|
provider: "openrouter"
|
|
1167
1184
|
},
|
|
1168
1185
|
"minimax/minimax-m2.7": {
|
|
1169
|
-
inputPer1M: 0.
|
|
1170
|
-
outputPer1M:
|
|
1186
|
+
inputPer1M: 0.21,
|
|
1187
|
+
outputPer1M: 0.84,
|
|
1171
1188
|
cacheReadMultiplier: 0.2,
|
|
1172
1189
|
addedAt: "2026-03-18",
|
|
1173
1190
|
vendor: "minimax",
|
|
@@ -1269,6 +1286,14 @@ var OPENROUTER_ROUTES = {
|
|
|
1269
1286
|
vendor: "mistralai",
|
|
1270
1287
|
provider: "openrouter"
|
|
1271
1288
|
},
|
|
1289
|
+
"mistralai/mistral-large-4-0": {
|
|
1290
|
+
inputPer1M: 0.68,
|
|
1291
|
+
outputPer1M: 2.09,
|
|
1292
|
+
cacheReadMultiplier: 0.102941,
|
|
1293
|
+
addedAt: "2026-10-06",
|
|
1294
|
+
vendor: "mistralai",
|
|
1295
|
+
provider: "openrouter"
|
|
1296
|
+
},
|
|
1272
1297
|
"mistralai/mistral-medium-3": {
|
|
1273
1298
|
inputPer1M: 0.4,
|
|
1274
1299
|
outputPer1M: 2,
|
|
@@ -1392,7 +1417,6 @@ var OPENROUTER_ROUTES = {
|
|
|
1392
1417
|
"moonshotai/kimi-k2-thinking": {
|
|
1393
1418
|
inputPer1M: 0.6,
|
|
1394
1419
|
outputPer1M: 2.5,
|
|
1395
|
-
cacheReadMultiplier: 0.25,
|
|
1396
1420
|
addedAt: "2025-11-06",
|
|
1397
1421
|
vendor: "moonshotai",
|
|
1398
1422
|
provider: "openrouter"
|
|
@@ -1406,25 +1430,25 @@ var OPENROUTER_ROUTES = {
|
|
|
1406
1430
|
provider: "openrouter"
|
|
1407
1431
|
},
|
|
1408
1432
|
"moonshotai/kimi-k2.6": {
|
|
1409
|
-
inputPer1M: 0.
|
|
1410
|
-
outputPer1M:
|
|
1411
|
-
cacheReadMultiplier: 0.
|
|
1433
|
+
inputPer1M: 0.465,
|
|
1434
|
+
outputPer1M: 2.45,
|
|
1435
|
+
cacheReadMultiplier: 0.209677,
|
|
1412
1436
|
addedAt: "2026-04-20",
|
|
1413
1437
|
vendor: "moonshotai",
|
|
1414
1438
|
provider: "openrouter"
|
|
1415
1439
|
},
|
|
1416
1440
|
"moonshotai/kimi-k2.7-code": {
|
|
1417
|
-
inputPer1M: 0.
|
|
1418
|
-
outputPer1M: 3.
|
|
1419
|
-
cacheReadMultiplier: 0.
|
|
1441
|
+
inputPer1M: 0.6712,
|
|
1442
|
+
outputPer1M: 3.35,
|
|
1443
|
+
cacheReadMultiplier: 0.268176,
|
|
1420
1444
|
addedAt: "2026-06-12",
|
|
1421
1445
|
vendor: "moonshotai",
|
|
1422
1446
|
provider: "openrouter"
|
|
1423
1447
|
},
|
|
1424
1448
|
"moonshotai/kimi-k3": {
|
|
1425
|
-
inputPer1M:
|
|
1426
|
-
outputPer1M:
|
|
1427
|
-
cacheReadMultiplier: 0.
|
|
1449
|
+
inputPer1M: 0.62,
|
|
1450
|
+
outputPer1M: 12.3,
|
|
1451
|
+
cacheReadMultiplier: 0.693548,
|
|
1428
1452
|
addedAt: "2026-07-16",
|
|
1429
1453
|
vendor: "moonshotai",
|
|
1430
1454
|
provider: "openrouter"
|
|
@@ -1489,23 +1513,22 @@ var OPENROUTER_ROUTES = {
|
|
|
1489
1513
|
provider: "openrouter"
|
|
1490
1514
|
},
|
|
1491
1515
|
"nvidia/nemotron-3-nano-30b-a3b": {
|
|
1492
|
-
inputPer1M: 0.
|
|
1493
|
-
outputPer1M: 0.
|
|
1494
|
-
cacheReadMultiplier: 0.6,
|
|
1516
|
+
inputPer1M: 0.06,
|
|
1517
|
+
outputPer1M: 0.24,
|
|
1495
1518
|
addedAt: "2025-12-14",
|
|
1496
1519
|
vendor: "nvidia",
|
|
1497
1520
|
provider: "openrouter"
|
|
1498
1521
|
},
|
|
1499
1522
|
"nvidia/nemotron-3-super-120b-a12b": {
|
|
1500
|
-
inputPer1M: 0.
|
|
1501
|
-
outputPer1M: 0.
|
|
1523
|
+
inputPer1M: 0.085,
|
|
1524
|
+
outputPer1M: 0.4,
|
|
1502
1525
|
addedAt: "2026-03-11",
|
|
1503
1526
|
vendor: "nvidia",
|
|
1504
1527
|
provider: "openrouter"
|
|
1505
1528
|
},
|
|
1506
1529
|
"nvidia/nemotron-3-ultra-550b-a55b": {
|
|
1507
|
-
inputPer1M: 0.
|
|
1508
|
-
outputPer1M: 2.
|
|
1530
|
+
inputPer1M: 0.5,
|
|
1531
|
+
outputPer1M: 2.2,
|
|
1509
1532
|
cacheReadMultiplier: 0.2,
|
|
1510
1533
|
addedAt: "2026-06-04",
|
|
1511
1534
|
vendor: "nvidia",
|
|
@@ -1519,13 +1542,20 @@ var OPENROUTER_ROUTES = {
|
|
|
1519
1542
|
provider: "openrouter"
|
|
1520
1543
|
},
|
|
1521
1544
|
"nvidia/nemotron-3.5-lightning": {
|
|
1522
|
-
inputPer1M: 0.
|
|
1523
|
-
outputPer1M: 0.
|
|
1545
|
+
inputPer1M: 0.049,
|
|
1546
|
+
outputPer1M: 0.14,
|
|
1524
1547
|
cacheReadMultiplier: 0.5,
|
|
1525
1548
|
addedAt: "2026-08-11",
|
|
1526
1549
|
vendor: "nvidia",
|
|
1527
1550
|
provider: "openrouter"
|
|
1528
1551
|
},
|
|
1552
|
+
"nvidia/switchyard": {
|
|
1553
|
+
inputPer1M: -1e6,
|
|
1554
|
+
outputPer1M: -1e6,
|
|
1555
|
+
addedAt: "2026-09-21",
|
|
1556
|
+
vendor: "nvidia",
|
|
1557
|
+
provider: "openrouter"
|
|
1558
|
+
},
|
|
1529
1559
|
"openai/gpt-3.5-turbo": {
|
|
1530
1560
|
inputPer1M: 0.5,
|
|
1531
1561
|
outputPer1M: 1.5,
|
|
@@ -2001,8 +2031,8 @@ var OPENROUTER_ROUTES = {
|
|
|
2001
2031
|
provider: "openrouter"
|
|
2002
2032
|
},
|
|
2003
2033
|
"openai/gpt-5.6-sol-pro": {
|
|
2004
|
-
inputPer1M:
|
|
2005
|
-
outputPer1M:
|
|
2034
|
+
inputPer1M: 2,
|
|
2035
|
+
outputPer1M: 10,
|
|
2006
2036
|
cacheReadMultiplier: 0.1,
|
|
2007
2037
|
cacheWriteMultiplier: 1.25,
|
|
2008
2038
|
addedAt: "2026-07-09",
|
|
@@ -2177,6 +2207,24 @@ var OPENROUTER_ROUTES = {
|
|
|
2177
2207
|
vendor: "openai",
|
|
2178
2208
|
provider: "openrouter"
|
|
2179
2209
|
},
|
|
2210
|
+
"openai/gpt-6.1-sol": {
|
|
2211
|
+
inputPer1M: 2,
|
|
2212
|
+
outputPer1M: 10,
|
|
2213
|
+
cacheReadMultiplier: 0.05,
|
|
2214
|
+
cacheWriteMultiplier: 1.25,
|
|
2215
|
+
addedAt: "2026-09-29",
|
|
2216
|
+
vendor: "openai",
|
|
2217
|
+
provider: "openrouter"
|
|
2218
|
+
},
|
|
2219
|
+
"openai/gpt-6.1-sol-pro": {
|
|
2220
|
+
inputPer1M: 2,
|
|
2221
|
+
outputPer1M: 10,
|
|
2222
|
+
cacheReadMultiplier: 0.05,
|
|
2223
|
+
cacheWriteMultiplier: 1.25,
|
|
2224
|
+
addedAt: "2026-09-29",
|
|
2225
|
+
vendor: "openai",
|
|
2226
|
+
provider: "openrouter"
|
|
2227
|
+
},
|
|
2180
2228
|
"openai/gpt-audio": {
|
|
2181
2229
|
inputPer1M: 2.5,
|
|
2182
2230
|
outputPer1M: 10,
|
|
@@ -2200,9 +2248,8 @@ var OPENROUTER_ROUTES = {
|
|
|
2200
2248
|
provider: "openrouter"
|
|
2201
2249
|
},
|
|
2202
2250
|
"openai/gpt-oss-120b": {
|
|
2203
|
-
inputPer1M: 0.
|
|
2204
|
-
outputPer1M: 0.
|
|
2205
|
-
cacheReadMultiplier: 0.5,
|
|
2251
|
+
inputPer1M: 0.037,
|
|
2252
|
+
outputPer1M: 0.17,
|
|
2206
2253
|
addedAt: "2025-08-05",
|
|
2207
2254
|
vendor: "openai",
|
|
2208
2255
|
provider: "openrouter"
|
|
@@ -2217,6 +2264,7 @@ var OPENROUTER_ROUTES = {
|
|
|
2217
2264
|
"openai/gpt-oss-20b": {
|
|
2218
2265
|
inputPer1M: 0.018,
|
|
2219
2266
|
outputPer1M: 0.09,
|
|
2267
|
+
cacheReadMultiplier: 0.5,
|
|
2220
2268
|
addedAt: "2025-08-05",
|
|
2221
2269
|
vendor: "openai",
|
|
2222
2270
|
provider: "openrouter"
|
|
@@ -2425,6 +2473,7 @@ var OPENROUTER_ROUTES = {
|
|
|
2425
2473
|
"prism-ml/ternary-bonsai-2-27b": {
|
|
2426
2474
|
inputPer1M: 0.075,
|
|
2427
2475
|
outputPer1M: 0.5,
|
|
2476
|
+
cacheReadMultiplier: 0.5,
|
|
2428
2477
|
addedAt: "2026-09-18",
|
|
2429
2478
|
vendor: "prism-ml",
|
|
2430
2479
|
provider: "openrouter"
|
|
@@ -2489,9 +2538,8 @@ var OPENROUTER_ROUTES = {
|
|
|
2489
2538
|
provider: "openrouter"
|
|
2490
2539
|
},
|
|
2491
2540
|
"qwen/qwen3-235b-a22b-2507": {
|
|
2492
|
-
inputPer1M: 0.
|
|
2493
|
-
outputPer1M: 0.
|
|
2494
|
-
cacheReadMultiplier: 0.2,
|
|
2541
|
+
inputPer1M: 0.09,
|
|
2542
|
+
outputPer1M: 0.55,
|
|
2495
2543
|
addedAt: "2025-07-21",
|
|
2496
2544
|
vendor: "qwen",
|
|
2497
2545
|
provider: "openrouter"
|
|
@@ -2511,8 +2559,8 @@ var OPENROUTER_ROUTES = {
|
|
|
2511
2559
|
provider: "openrouter"
|
|
2512
2560
|
},
|
|
2513
2561
|
"qwen/qwen3-30b-a3b-instruct-2507": {
|
|
2514
|
-
inputPer1M: 0.
|
|
2515
|
-
outputPer1M: 0.
|
|
2562
|
+
inputPer1M: 0.04815,
|
|
2563
|
+
outputPer1M: 0.19305,
|
|
2516
2564
|
addedAt: "2025-07-29",
|
|
2517
2565
|
vendor: "qwen",
|
|
2518
2566
|
provider: "openrouter"
|
|
@@ -2596,9 +2644,8 @@ var OPENROUTER_ROUTES = {
|
|
|
2596
2644
|
provider: "openrouter"
|
|
2597
2645
|
},
|
|
2598
2646
|
"qwen/qwen3-next-80b-a3b-instruct": {
|
|
2599
|
-
inputPer1M: 0.
|
|
2600
|
-
outputPer1M: 1.
|
|
2601
|
-
cacheReadMultiplier: 0.7,
|
|
2647
|
+
inputPer1M: 0.15,
|
|
2648
|
+
outputPer1M: 1.5,
|
|
2602
2649
|
addedAt: "2025-09-11",
|
|
2603
2650
|
vendor: "qwen",
|
|
2604
2651
|
provider: "openrouter"
|
|
@@ -2668,23 +2715,24 @@ var OPENROUTER_ROUTES = {
|
|
|
2668
2715
|
provider: "openrouter"
|
|
2669
2716
|
},
|
|
2670
2717
|
"qwen/qwen3.5-27b": {
|
|
2671
|
-
inputPer1M: 0.
|
|
2672
|
-
outputPer1M:
|
|
2718
|
+
inputPer1M: 0.26,
|
|
2719
|
+
outputPer1M: 2.6,
|
|
2673
2720
|
addedAt: "2026-02-25",
|
|
2674
2721
|
vendor: "qwen",
|
|
2675
2722
|
provider: "openrouter"
|
|
2676
2723
|
},
|
|
2677
2724
|
"qwen/qwen3.5-35b-a3b": {
|
|
2678
|
-
inputPer1M: 0.
|
|
2679
|
-
outputPer1M: 1
|
|
2725
|
+
inputPer1M: 0.15,
|
|
2726
|
+
outputPer1M: 1,
|
|
2727
|
+
cacheReadMultiplier: 0.333333,
|
|
2680
2728
|
addedAt: "2026-02-25",
|
|
2681
2729
|
vendor: "qwen",
|
|
2682
2730
|
provider: "openrouter"
|
|
2683
2731
|
},
|
|
2684
2732
|
"qwen/qwen3.5-397b-a17b": {
|
|
2685
|
-
inputPer1M: 0.
|
|
2686
|
-
outputPer1M: 3
|
|
2687
|
-
cacheReadMultiplier: 0.
|
|
2733
|
+
inputPer1M: 0.45,
|
|
2734
|
+
outputPer1M: 3,
|
|
2735
|
+
cacheReadMultiplier: 0.488889,
|
|
2688
2736
|
addedAt: "2026-02-16",
|
|
2689
2737
|
vendor: "qwen",
|
|
2690
2738
|
provider: "openrouter"
|
|
@@ -2719,8 +2767,9 @@ var OPENROUTER_ROUTES = {
|
|
|
2719
2767
|
provider: "openrouter"
|
|
2720
2768
|
},
|
|
2721
2769
|
"qwen/qwen3.6-27b": {
|
|
2722
|
-
inputPer1M: 0.
|
|
2723
|
-
outputPer1M:
|
|
2770
|
+
inputPer1M: 0.3,
|
|
2771
|
+
outputPer1M: 2,
|
|
2772
|
+
cacheReadMultiplier: 0.1,
|
|
2724
2773
|
addedAt: "2026-04-27",
|
|
2725
2774
|
vendor: "qwen",
|
|
2726
2775
|
provider: "openrouter"
|
|
@@ -2793,9 +2842,10 @@ var OPENROUTER_ROUTES = {
|
|
|
2793
2842
|
provider: "openrouter"
|
|
2794
2843
|
},
|
|
2795
2844
|
"qwen/qwen3.8-27b": {
|
|
2796
|
-
inputPer1M: 0.
|
|
2797
|
-
outputPer1M:
|
|
2798
|
-
cacheReadMultiplier: 0.
|
|
2845
|
+
inputPer1M: 0.425,
|
|
2846
|
+
outputPer1M: 2.55,
|
|
2847
|
+
cacheReadMultiplier: 0.2,
|
|
2848
|
+
cacheWriteMultiplier: 1.25,
|
|
2799
2849
|
addedAt: "2026-08-14",
|
|
2800
2850
|
vendor: "qwen",
|
|
2801
2851
|
provider: "openrouter"
|
|
@@ -2959,8 +3009,8 @@ var OPENROUTER_ROUTES = {
|
|
|
2959
3009
|
provider: "openrouter"
|
|
2960
3010
|
},
|
|
2961
3011
|
"tencent/hy3": {
|
|
2962
|
-
inputPer1M: 0.
|
|
2963
|
-
outputPer1M: 0.
|
|
3012
|
+
inputPer1M: 0.132,
|
|
3013
|
+
outputPer1M: 0.528,
|
|
2964
3014
|
cacheReadMultiplier: 0.25,
|
|
2965
3015
|
addedAt: "2026-07-06",
|
|
2966
3016
|
vendor: "tencent",
|
|
@@ -3036,6 +3086,14 @@ var OPENROUTER_ROUTES = {
|
|
|
3036
3086
|
vendor: "unbiased",
|
|
3037
3087
|
provider: "openrouter"
|
|
3038
3088
|
},
|
|
3089
|
+
"unbiased/pareto-26.10-preview": {
|
|
3090
|
+
inputPer1M: 0.8,
|
|
3091
|
+
outputPer1M: 3.2,
|
|
3092
|
+
cacheReadMultiplier: 0.0375,
|
|
3093
|
+
addedAt: "2026-10-01",
|
|
3094
|
+
vendor: "unbiased",
|
|
3095
|
+
provider: "openrouter"
|
|
3096
|
+
},
|
|
3039
3097
|
"undi95/remm-slerp-l2-13b": {
|
|
3040
3098
|
inputPer1M: 0.35,
|
|
3041
3099
|
outputPer1M: 0.65,
|
|
@@ -3123,8 +3181,8 @@ var OPENROUTER_ROUTES = {
|
|
|
3123
3181
|
provider: "openrouter"
|
|
3124
3182
|
},
|
|
3125
3183
|
"x-ai/grok-4.7": {
|
|
3126
|
-
inputPer1M:
|
|
3127
|
-
outputPer1M:
|
|
3184
|
+
inputPer1M: 2,
|
|
3185
|
+
outputPer1M: 6,
|
|
3128
3186
|
cacheReadMultiplier: 0.25,
|
|
3129
3187
|
addedAt: "2026-09-21",
|
|
3130
3188
|
vendor: "x-ai",
|
|
@@ -3250,25 +3308,25 @@ var OPENROUTER_ROUTES = {
|
|
|
3250
3308
|
provider: "openrouter"
|
|
3251
3309
|
},
|
|
3252
3310
|
"z-ai/glm-5.1": {
|
|
3253
|
-
inputPer1M: 0.
|
|
3254
|
-
outputPer1M: 3.
|
|
3311
|
+
inputPer1M: 0.966,
|
|
3312
|
+
outputPer1M: 3.036,
|
|
3255
3313
|
cacheReadMultiplier: 0.185714,
|
|
3256
3314
|
addedAt: "2026-04-07",
|
|
3257
3315
|
vendor: "z-ai",
|
|
3258
3316
|
provider: "openrouter"
|
|
3259
3317
|
},
|
|
3260
3318
|
"z-ai/glm-5.2": {
|
|
3261
|
-
inputPer1M: 0.
|
|
3262
|
-
outputPer1M:
|
|
3263
|
-
cacheReadMultiplier:
|
|
3319
|
+
inputPer1M: 0.03,
|
|
3320
|
+
outputPer1M: 10,
|
|
3321
|
+
cacheReadMultiplier: 1,
|
|
3264
3322
|
addedAt: "2026-06-16",
|
|
3265
3323
|
vendor: "z-ai",
|
|
3266
3324
|
provider: "openrouter"
|
|
3267
3325
|
},
|
|
3268
3326
|
"z-ai/glm-5.3": {
|
|
3269
|
-
inputPer1M: 0.
|
|
3270
|
-
outputPer1M:
|
|
3271
|
-
cacheReadMultiplier: 0.
|
|
3327
|
+
inputPer1M: 0.049,
|
|
3328
|
+
outputPer1M: 3.39,
|
|
3329
|
+
cacheReadMultiplier: 0.979592,
|
|
3272
3330
|
addedAt: "2026-08-18",
|
|
3273
3331
|
vendor: "z-ai",
|
|
3274
3332
|
provider: "openrouter"
|
|
@@ -3331,8 +3389,8 @@ var OPENROUTER_ROUTES = {
|
|
|
3331
3389
|
provider: "openrouter"
|
|
3332
3390
|
},
|
|
3333
3391
|
"~anthropic/claude-haiku-latest": {
|
|
3334
|
-
inputPer1M: 1,
|
|
3335
|
-
outputPer1M: 5,
|
|
3392
|
+
inputPer1M: 0.1,
|
|
3393
|
+
outputPer1M: 0.5,
|
|
3336
3394
|
cacheReadMultiplier: 0.1,
|
|
3337
3395
|
cacheWriteMultiplier: 1.25,
|
|
3338
3396
|
addedAt: "2026-04-27",
|
|
@@ -3351,32 +3409,32 @@ var OPENROUTER_ROUTES = {
|
|
|
3351
3409
|
"~anthropic/claude-sonnet-latest": {
|
|
3352
3410
|
inputPer1M: 2,
|
|
3353
3411
|
outputPer1M: 10,
|
|
3354
|
-
cacheReadMultiplier: 0.
|
|
3412
|
+
cacheReadMultiplier: 0.05,
|
|
3355
3413
|
cacheWriteMultiplier: 1.25,
|
|
3356
3414
|
addedAt: "2026-04-27",
|
|
3357
3415
|
vendor: "~anthropic",
|
|
3358
3416
|
provider: "openrouter"
|
|
3359
3417
|
},
|
|
3360
3418
|
"~deepseek/deepseek-flash-latest": {
|
|
3361
|
-
inputPer1M: 0.
|
|
3362
|
-
outputPer1M: 0.
|
|
3363
|
-
cacheReadMultiplier: 0.
|
|
3419
|
+
inputPer1M: 0.0356,
|
|
3420
|
+
outputPer1M: 0.6,
|
|
3421
|
+
cacheReadMultiplier: 0.140449,
|
|
3364
3422
|
addedAt: "2026-09-14",
|
|
3365
3423
|
vendor: "~deepseek",
|
|
3366
3424
|
provider: "openrouter"
|
|
3367
3425
|
},
|
|
3368
3426
|
"~deepseek/deepseek-pro-latest": {
|
|
3369
|
-
inputPer1M: 0.
|
|
3370
|
-
outputPer1M:
|
|
3371
|
-
cacheReadMultiplier: 0.
|
|
3427
|
+
inputPer1M: 0.12,
|
|
3428
|
+
outputPer1M: 2.93,
|
|
3429
|
+
cacheReadMultiplier: 0.25,
|
|
3372
3430
|
addedAt: "2026-09-14",
|
|
3373
3431
|
vendor: "~deepseek",
|
|
3374
3432
|
provider: "openrouter"
|
|
3375
3433
|
},
|
|
3376
3434
|
"~deepseek/deepseek-v4-flash-latest": {
|
|
3377
|
-
inputPer1M:
|
|
3378
|
-
outputPer1M:
|
|
3379
|
-
cacheReadMultiplier:
|
|
3435
|
+
inputPer1M: 46e-4,
|
|
3436
|
+
outputPer1M: 1.28,
|
|
3437
|
+
cacheReadMultiplier: 1,
|
|
3380
3438
|
addedAt: "2026-08-01",
|
|
3381
3439
|
vendor: "~deepseek",
|
|
3382
3440
|
provider: "openrouter"
|
|
@@ -3400,9 +3458,9 @@ var OPENROUTER_ROUTES = {
|
|
|
3400
3458
|
provider: "openrouter"
|
|
3401
3459
|
},
|
|
3402
3460
|
"~moonshotai/kimi-latest": {
|
|
3403
|
-
inputPer1M: 0.
|
|
3404
|
-
outputPer1M:
|
|
3405
|
-
cacheReadMultiplier: 0.
|
|
3461
|
+
inputPer1M: 0.56,
|
|
3462
|
+
outputPer1M: 13,
|
|
3463
|
+
cacheReadMultiplier: 0.803571,
|
|
3406
3464
|
addedAt: "2026-04-27",
|
|
3407
3465
|
vendor: "~moonshotai",
|
|
3408
3466
|
provider: "openrouter"
|
|
@@ -3436,7 +3494,7 @@ var OPENROUTER_ROUTES = {
|
|
|
3436
3494
|
"~openai/gpt-sol-latest": {
|
|
3437
3495
|
inputPer1M: 2,
|
|
3438
3496
|
outputPer1M: 10,
|
|
3439
|
-
cacheReadMultiplier: 0.
|
|
3497
|
+
cacheReadMultiplier: 0.05,
|
|
3440
3498
|
cacheWriteMultiplier: 1.25,
|
|
3441
3499
|
addedAt: "2026-09-11",
|
|
3442
3500
|
vendor: "~openai",
|
|
@@ -3452,25 +3510,25 @@ var OPENROUTER_ROUTES = {
|
|
|
3452
3510
|
provider: "openrouter"
|
|
3453
3511
|
},
|
|
3454
3512
|
"~x-ai/grok-latest": {
|
|
3455
|
-
inputPer1M:
|
|
3456
|
-
outputPer1M:
|
|
3513
|
+
inputPer1M: 2,
|
|
3514
|
+
outputPer1M: 6,
|
|
3457
3515
|
cacheReadMultiplier: 0.25,
|
|
3458
3516
|
addedAt: "2026-07-08",
|
|
3459
3517
|
vendor: "~x-ai",
|
|
3460
3518
|
provider: "openrouter"
|
|
3461
3519
|
},
|
|
3462
3520
|
"~z-ai/glm-flash-latest": {
|
|
3463
|
-
inputPer1M: 0.
|
|
3464
|
-
outputPer1M:
|
|
3465
|
-
cacheReadMultiplier: 0.
|
|
3521
|
+
inputPer1M: 0.032,
|
|
3522
|
+
outputPer1M: 1.71187,
|
|
3523
|
+
cacheReadMultiplier: 0.625,
|
|
3466
3524
|
addedAt: "2026-08-27",
|
|
3467
3525
|
vendor: "~z-ai",
|
|
3468
3526
|
provider: "openrouter"
|
|
3469
3527
|
},
|
|
3470
3528
|
"~z-ai/glm-latest": {
|
|
3471
|
-
inputPer1M: 0.
|
|
3472
|
-
outputPer1M:
|
|
3473
|
-
cacheReadMultiplier: 0.
|
|
3529
|
+
inputPer1M: 0.036,
|
|
3530
|
+
outputPer1M: 12,
|
|
3531
|
+
cacheReadMultiplier: 0.930556,
|
|
3474
3532
|
addedAt: "2026-08-19",
|
|
3475
3533
|
vendor: "~z-ai",
|
|
3476
3534
|
provider: "openrouter"
|
|
@@ -3486,6 +3544,7 @@ var CONTEXT_WINDOWS = {
|
|
|
3486
3544
|
"claude-fable-5-1": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Fable 5.1", provider: "anthropic" },
|
|
3487
3545
|
"claude-haiku-4-5": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Haiku 4.5", provider: "anthropic" },
|
|
3488
3546
|
"claude-haiku-4-5-20251001": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Haiku 4.5", provider: "anthropic" },
|
|
3547
|
+
"claude-haiku-5-5": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Haiku 5.5", provider: "anthropic" },
|
|
3489
3548
|
"claude-opus-4-5": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Opus 4.5", provider: "anthropic" },
|
|
3490
3549
|
"claude-opus-4-5-20251101": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Opus 4.5", provider: "anthropic" },
|
|
3491
3550
|
"claude-opus-4-6": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Opus 4.6", provider: "anthropic" },
|
|
@@ -3493,8 +3552,8 @@ var CONTEXT_WINDOWS = {
|
|
|
3493
3552
|
"claude-opus-4-8": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Opus 4.8", provider: "anthropic" },
|
|
3494
3553
|
"claude-opus-5": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Opus 5", provider: "anthropic" },
|
|
3495
3554
|
"claude-opus-5-5": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Opus 5.5", provider: "anthropic" },
|
|
3496
|
-
"claude-sonnet-4-5": { contextWindow:
|
|
3497
|
-
"claude-sonnet-4-5-20250929": { contextWindow:
|
|
3555
|
+
"claude-sonnet-4-5": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Sonnet 4.5", provider: "anthropic" },
|
|
3556
|
+
"claude-sonnet-4-5-20250929": { contextWindow: 2e5, maxOutput: 64e3, displayName: "Claude Sonnet 4.5", provider: "anthropic" },
|
|
3498
3557
|
"claude-sonnet-4-6": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Sonnet 4.6", provider: "anthropic" },
|
|
3499
3558
|
"claude-sonnet-5": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Sonnet 5", provider: "anthropic" },
|
|
3500
3559
|
"claude-sonnet-5-5": { contextWindow: 1e6, maxOutput: 128e3, displayName: "Claude Sonnet 5.5", provider: "anthropic" },
|
|
@@ -3604,39 +3663,41 @@ var MISTRAL_GENERATED_PRICING = {
|
|
|
3604
3663
|
|
|
3605
3664
|
// src/llm/moonshot-pricing.generated.ts
|
|
3606
3665
|
var MOONSHOT_GENERATED_PRICING = {
|
|
3607
|
-
"kimi-k2.6": { inputPer1M: 0.
|
|
3608
|
-
"kimi-k2.7-code": { inputPer1M: 0.
|
|
3609
|
-
"kimi-
|
|
3666
|
+
"kimi-k2.6": { inputPer1M: 0.95, outputPer1M: 4, cacheReadMultiplier: 0.168421, priceSource: "moonshot", vendor: "moonshot", provider: "moonshot" },
|
|
3667
|
+
"kimi-k2.7-code": { inputPer1M: 0.95, outputPer1M: 4, cacheReadMultiplier: 0.2, priceSource: "moonshot", vendor: "moonshot", provider: "moonshot" },
|
|
3668
|
+
"kimi-k2.7-code-highspeed": { inputPer1M: 1.9, outputPer1M: 8, cacheReadMultiplier: 0.2, priceSource: "moonshot", vendor: "moonshot", provider: "moonshot" },
|
|
3669
|
+
"kimi-k3": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1, priceSource: "moonshot", vendor: "moonshot", provider: "moonshot" }
|
|
3610
3670
|
};
|
|
3611
3671
|
|
|
3612
3672
|
// src/llm/anthropic-pricing.generated.ts
|
|
3613
3673
|
var ANTHROPIC_GENERATED_PRICING = {
|
|
3614
|
-
"claude-fable-5": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
|
|
3615
|
-
"claude-fable-5-1": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.025, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
|
|
3616
|
-
"claude-haiku-4-5": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
|
|
3617
|
-
"claude-haiku-4-5-20251001": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "anthropic", provider: "anthropic" },
|
|
3618
|
-
"claude-
|
|
3619
|
-
"claude-opus-4-5
|
|
3620
|
-
"claude-opus-4-
|
|
3621
|
-
"claude-opus-4-
|
|
3622
|
-
"claude-opus-4-
|
|
3623
|
-
"claude-opus-
|
|
3624
|
-
"claude-opus-5
|
|
3625
|
-
"claude-
|
|
3626
|
-
"claude-sonnet-4-5
|
|
3627
|
-
"claude-sonnet-4-
|
|
3628
|
-
"claude-sonnet-
|
|
3629
|
-
"claude-sonnet-5
|
|
3674
|
+
"claude-fable-5": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3675
|
+
"claude-fable-5-1": { inputPer1M: 10, outputPer1M: 50, cacheReadMultiplier: 0.025, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3676
|
+
"claude-haiku-4-5": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3677
|
+
"claude-haiku-4-5-20251001": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3678
|
+
"claude-haiku-5-5": { inputPer1M: 0.1, outputPer1M: 0.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, tiers: [{ aboveInputTokens: 1e5, inputPer1M: 0.5, outputPer1M: 2.5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25 }], priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3679
|
+
"claude-opus-4-5": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3680
|
+
"claude-opus-4-5-20251101": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3681
|
+
"claude-opus-4-6": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3682
|
+
"claude-opus-4-7": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3683
|
+
"claude-opus-4-8": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3684
|
+
"claude-opus-5": { inputPer1M: 5, outputPer1M: 25, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3685
|
+
"claude-opus-5-5": { inputPer1M: 4, outputPer1M: 20, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3686
|
+
"claude-sonnet-4-5": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3687
|
+
"claude-sonnet-4-5-20250929": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3688
|
+
"claude-sonnet-4-6": { inputPer1M: 3, outputPer1M: 15, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3689
|
+
"claude-sonnet-5": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" },
|
|
3690
|
+
"claude-sonnet-5-5": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, priceSource: "anthropic", vendor: "anthropic", provider: "anthropic" }
|
|
3630
3691
|
};
|
|
3631
3692
|
|
|
3632
3693
|
// src/llm/google-pricing.generated.ts
|
|
3633
3694
|
var GOOGLE_GENERATED_PRICING = {
|
|
3634
3695
|
"gemini-2.5-flash": { inputPer1M: 0.3, outputPer1M: 2.5, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
|
|
3635
3696
|
"gemini-2.5-flash-lite": { inputPer1M: 0.1, outputPer1M: 0.4, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
|
|
3636
|
-
"gemini-2.5-pro": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
|
|
3697
|
+
"gemini-2.5-pro": { inputPer1M: 1.25, outputPer1M: 10, cacheReadMultiplier: 0.1, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 15, cacheReadMultiplier: 0.1 }], vendor: "google", provider: "google" },
|
|
3637
3698
|
"gemini-3-flash-preview": { inputPer1M: 0.5, outputPer1M: 3, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
|
|
3638
3699
|
"gemini-3.1-flash-lite": { inputPer1M: 0.25, outputPer1M: 1.5, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
|
|
3639
|
-
"gemini-3.1-pro-preview": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" },
|
|
3700
|
+
"gemini-3.1-pro-preview": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 4, outputPer1M: 18, cacheReadMultiplier: 0.1 }], vendor: "google", provider: "google" },
|
|
3640
3701
|
"gemini-3.5-flash": { inputPer1M: 1.5, outputPer1M: 9, cacheReadMultiplier: 0.1, vendor: "google", provider: "google" }
|
|
3641
3702
|
};
|
|
3642
3703
|
|
|
@@ -3703,7 +3764,7 @@ var OPENAI_GENERATED_PRICING = {
|
|
|
3703
3764
|
"gpt-5.6-luna-pro:batch": { inputPer1M: 0.1, outputPer1M: 0.6, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3704
3765
|
"gpt-5.6-luna:batch": { inputPer1M: 0.1, outputPer1M: 0.6, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openai", idSource: "openrouter" },
|
|
3705
3766
|
"gpt-5.6-sol": { inputPer1M: 4, outputPer1M: 20, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openai", idSource: "openrouter" },
|
|
3706
|
-
"gpt-5.6-sol-pro": { inputPer1M:
|
|
3767
|
+
"gpt-5.6-sol-pro": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3707
3768
|
"gpt-5.6-sol-pro:batch": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3708
3769
|
"gpt-5.6-sol:batch": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openai", idSource: "openrouter" },
|
|
3709
3770
|
"gpt-5.6-terra": { inputPer1M: 2, outputPer1M: 12, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openai", idSource: "openrouter" },
|
|
@@ -3722,12 +3783,14 @@ var OPENAI_GENERATED_PRICING = {
|
|
|
3722
3783
|
"gpt-6-sol-pro": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3723
3784
|
"gpt-6-sol-pro:batch": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3724
3785
|
"gpt-6-sol:batch": { inputPer1M: 1, outputPer1M: 5, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openai", idSource: "openrouter" },
|
|
3786
|
+
"gpt-6.1-sol": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openai", idSource: "openrouter" },
|
|
3787
|
+
"gpt-6.1-sol-pro": { inputPer1M: 2, outputPer1M: 10, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 1.25, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3725
3788
|
"gpt-audio": { inputPer1M: 2.5, outputPer1M: 10, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3726
3789
|
"gpt-audio-mini": { inputPer1M: 0.6, outputPer1M: 2.4, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3727
3790
|
"gpt-chat-latest": { inputPer1M: 5, outputPer1M: 30, cacheReadMultiplier: 0.1, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3728
|
-
"gpt-oss-120b": { inputPer1M: 0.
|
|
3791
|
+
"gpt-oss-120b": { inputPer1M: 0.037, outputPer1M: 0.17, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3729
3792
|
"gpt-oss-120b:batch": { inputPer1M: 0.0296, outputPer1M: 0.136, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3730
|
-
"gpt-oss-20b": { inputPer1M: 0.018, outputPer1M: 0.09, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3793
|
+
"gpt-oss-20b": { inputPer1M: 0.018, outputPer1M: 0.09, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3731
3794
|
"gpt-oss-20b:batch": { inputPer1M: 0.024, outputPer1M: 0.112, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3732
3795
|
"gpt-oss-safeguard-20b": { inputPer1M: 0.075, outputPer1M: 0.3, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai", priceSource: "openrouter", idSource: "openrouter" },
|
|
3733
3796
|
"o1": { inputPer1M: 15, outputPer1M: 60, cacheReadMultiplier: 0.5, vendor: "openai", provider: "openai", priceSource: "openai", idSource: "openrouter" },
|
|
@@ -3746,60 +3809,81 @@ var OPENAI_GENERATED_UNPRICED_IDS = [];
|
|
|
3746
3809
|
|
|
3747
3810
|
// src/llm/minimax-pricing.generated.ts
|
|
3748
3811
|
var MINIMAX_GENERATED_PRICING = {
|
|
3749
|
-
"M2-her": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, vendor: "minimax", provider: "minimax" },
|
|
3750
|
-
"MiniMax-M2": { inputPer1M: 0.3, outputPer1M: 1.2, vendor: "minimax", provider: "minimax" },
|
|
3751
|
-
"MiniMax-M2.1": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, vendor: "minimax", provider: "minimax" },
|
|
3752
|
-
"MiniMax-M2.
|
|
3753
|
-
"MiniMax-M2.
|
|
3812
|
+
"M2-her": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, priceSource: "openrouter", vendor: "minimax", provider: "minimax" },
|
|
3813
|
+
"MiniMax-M2": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "minimax", vendor: "minimax", provider: "minimax" },
|
|
3814
|
+
"MiniMax-M2.1": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "minimax", vendor: "minimax", provider: "minimax" },
|
|
3815
|
+
"MiniMax-M2.1-highspeed": { inputPer1M: 0.6, outputPer1M: 2.4, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 0.625, priceSource: "minimax", vendor: "minimax", provider: "minimax" },
|
|
3816
|
+
"MiniMax-M2.5": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 1.25, priceSource: "minimax", vendor: "minimax", provider: "minimax" },
|
|
3817
|
+
"MiniMax-M2.5-highspeed": { inputPer1M: 0.6, outputPer1M: 2.4, cacheReadMultiplier: 0.05, cacheWriteMultiplier: 0.625, priceSource: "minimax", vendor: "minimax", provider: "minimax" },
|
|
3818
|
+
"MiniMax-M2.7": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.2, cacheWriteMultiplier: 1.25, priceSource: "minimax", vendor: "minimax", provider: "minimax" },
|
|
3819
|
+
"MiniMax-M2.7-highspeed": { inputPer1M: 0.6, outputPer1M: 2.4, cacheReadMultiplier: 0.1, cacheWriteMultiplier: 0.625, priceSource: "minimax", vendor: "minimax", provider: "minimax" },
|
|
3820
|
+
"MiniMax-M3": { inputPer1M: 0.3, outputPer1M: 1.2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 512e3, inputPer1M: 0.6, outputPer1M: 2.4, cacheReadMultiplier: 0.2 }], priceSource: "minimax", vendor: "minimax", provider: "minimax" }
|
|
3754
3821
|
};
|
|
3755
3822
|
|
|
3756
3823
|
// src/llm/xai-pricing.generated.ts
|
|
3757
3824
|
var XAI_GENERATED_PRICING = {
|
|
3758
|
-
"grok-4.20": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3759
|
-
"grok-4.20-0309": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3760
|
-
"grok-4.20-0309-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3761
|
-
"grok-4.20-0309-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3762
|
-
"grok-4.20-beta": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3763
|
-
"grok-4.20-beta-0309": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3764
|
-
"grok-4.20-beta-0309-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3765
|
-
"grok-4.20-beta-0309-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3766
|
-
"grok-4.20-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3767
|
-
"grok-4.20-beta-latest-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3768
|
-
"grok-4.20-beta-latest-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3769
|
-
"grok-4.20-beta-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3770
|
-
"grok-4.20-beta-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3771
|
-
"grok-4.20-experimental-beta-0304": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3772
|
-
"grok-4.20-experimental-beta-0304-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3773
|
-
"grok-4.20-experimental-beta-0304-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3774
|
-
"grok-4.20-experimental-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3775
|
-
"grok-4.20-experimental-beta-non-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3776
|
-
"grok-4.20-experimental-beta-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3777
|
-
"grok-4.20-multi-agent": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3778
|
-
"grok-4.20-multi-agent-0309": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3779
|
-
"grok-4.20-multi-agent-beta-0309": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3780
|
-
"grok-4.20-multi-agent-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3781
|
-
"grok-4.20-multi-agent-experimental-beta-0304": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3782
|
-
"grok-4.20-multi-agent-experimental-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3783
|
-
"grok-4.20-multi-agent-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3784
|
-
"grok-4.20-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3785
|
-
"grok-4.20-non-reasoning-gv2": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3786
|
-
"grok-4.20-non-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3787
|
-
"grok-4.20-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3788
|
-
"grok-4.20-reasoning-gv2": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3789
|
-
"grok-4.20-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3790
|
-
"grok-4.3": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3791
|
-
"grok-4.3-latest": { inputPer1M: 1.25, outputPer1M: 2.5,
|
|
3792
|
-
"grok-4.5": { inputPer1M: 2, outputPer1M: 6,
|
|
3793
|
-
"grok-4.5-latest": { inputPer1M: 2, outputPer1M: 6,
|
|
3794
|
-
"grok-4.6": { inputPer1M: 2, outputPer1M: 6,
|
|
3795
|
-
"grok-
|
|
3796
|
-
"grok-build-
|
|
3797
|
-
"grok-
|
|
3798
|
-
"grok-code-fast
|
|
3799
|
-
"grok-code-fast-1
|
|
3825
|
+
"grok-4.20": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3826
|
+
"grok-4.20-0309": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3827
|
+
"grok-4.20-0309-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3828
|
+
"grok-4.20-0309-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3829
|
+
"grok-4.20-beta": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3830
|
+
"grok-4.20-beta-0309": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3831
|
+
"grok-4.20-beta-0309-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3832
|
+
"grok-4.20-beta-0309-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3833
|
+
"grok-4.20-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3834
|
+
"grok-4.20-beta-latest-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3835
|
+
"grok-4.20-beta-latest-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3836
|
+
"grok-4.20-beta-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3837
|
+
"grok-4.20-beta-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3838
|
+
"grok-4.20-experimental-beta-0304": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3839
|
+
"grok-4.20-experimental-beta-0304-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3840
|
+
"grok-4.20-experimental-beta-0304-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3841
|
+
"grok-4.20-experimental-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3842
|
+
"grok-4.20-experimental-beta-non-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3843
|
+
"grok-4.20-experimental-beta-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3844
|
+
"grok-4.20-multi-agent": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3845
|
+
"grok-4.20-multi-agent-0309": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3846
|
+
"grok-4.20-multi-agent-beta-0309": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3847
|
+
"grok-4.20-multi-agent-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3848
|
+
"grok-4.20-multi-agent-experimental-beta-0304": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3849
|
+
"grok-4.20-multi-agent-experimental-beta-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3850
|
+
"grok-4.20-multi-agent-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3851
|
+
"grok-4.20-non-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3852
|
+
"grok-4.20-non-reasoning-gv2": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3853
|
+
"grok-4.20-non-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3854
|
+
"grok-4.20-reasoning": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3855
|
+
"grok-4.20-reasoning-gv2": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3856
|
+
"grok-4.20-reasoning-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3857
|
+
"grok-4.3": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3858
|
+
"grok-4.3-latest": { inputPer1M: 1.25, outputPer1M: 2.5, cacheReadMultiplier: 0.16, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2.5, outputPer1M: 5, cacheReadMultiplier: 0.16 }], vendor: "xai", provider: "xai" },
|
|
3859
|
+
"grok-4.5": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.15, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.15 }], vendor: "xai", provider: "xai" },
|
|
3860
|
+
"grok-4.5-latest": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.15, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.15 }], vendor: "xai", provider: "xai" },
|
|
3861
|
+
"grok-4.6": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.25, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.25 }], vendor: "xai", provider: "xai" },
|
|
3862
|
+
"grok-4.7": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.25, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.25 }], vendor: "xai", provider: "xai" },
|
|
3863
|
+
"grok-build-0.1": { inputPer1M: 1, outputPer1M: 2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.2 }], vendor: "xai", provider: "xai" },
|
|
3864
|
+
"grok-build-latest": { inputPer1M: 2, outputPer1M: 6, cacheReadMultiplier: 0.15, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 4, outputPer1M: 12, cacheReadMultiplier: 0.15 }], vendor: "xai", provider: "xai" },
|
|
3865
|
+
"grok-code-fast": { inputPer1M: 1, outputPer1M: 2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.2 }], vendor: "xai", provider: "xai" },
|
|
3866
|
+
"grok-code-fast-1": { inputPer1M: 1, outputPer1M: 2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.2 }], vendor: "xai", provider: "xai" },
|
|
3867
|
+
"grok-code-fast-1-0825": { inputPer1M: 1, outputPer1M: 2, cacheReadMultiplier: 0.2, tiers: [{ aboveInputTokens: 2e5, inputPer1M: 2, outputPer1M: 4, cacheReadMultiplier: 0.2 }], vendor: "xai", provider: "xai" }
|
|
3800
3868
|
};
|
|
3801
3869
|
|
|
3802
3870
|
// src/llm/catalog.ts
|
|
3871
|
+
function selectPricingTier(pricing, promptTokens) {
|
|
3872
|
+
let selected;
|
|
3873
|
+
for (const tier of pricing.tiers ?? []) {
|
|
3874
|
+
if (promptTokens > tier.aboveInputTokens && (selected === void 0 || tier.aboveInputTokens > selected.aboveInputTokens)) {
|
|
3875
|
+
selected = tier;
|
|
3876
|
+
}
|
|
3877
|
+
}
|
|
3878
|
+
if (!selected) return pricing;
|
|
3879
|
+
return {
|
|
3880
|
+
...pricing,
|
|
3881
|
+
inputPer1M: selected.inputPer1M,
|
|
3882
|
+
outputPer1M: selected.outputPer1M,
|
|
3883
|
+
cacheReadMultiplier: selected.cacheReadMultiplier ?? pricing.cacheReadMultiplier,
|
|
3884
|
+
cacheWriteMultiplier: selected.cacheWriteMultiplier ?? pricing.cacheWriteMultiplier
|
|
3885
|
+
};
|
|
3886
|
+
}
|
|
3803
3887
|
var PRICING_OVERRIDES = {
|
|
3804
3888
|
// claude-opus-4-5 / claude-haiku-4-5 / claude-sonnet-4-5 (bare) and
|
|
3805
3889
|
// grok-4.20 / grok-4.20-reasoning / grok-4.20-multi-agent used to live
|
|
@@ -4143,17 +4227,20 @@ function calculateLLMCreditCost(modelId, inputOrUsage, outputTokensOrOpts) {
|
|
|
4143
4227
|
} : inputOrUsage;
|
|
4144
4228
|
const opts = typeof outputTokensOrOpts === "object" && outputTokensOrOpts !== null ? outputTokensOrOpts : {};
|
|
4145
4229
|
const resolved = resolvePricing(modelId);
|
|
4146
|
-
const pricing = resolved ?? DEFAULT_PRICING;
|
|
4147
4230
|
const isFallback = !resolved;
|
|
4148
4231
|
if (isFallback) {
|
|
4149
4232
|
console.warn(
|
|
4150
4233
|
`[model-catalog] calculateLLMCreditCost: no pricing for "${modelId}" \u2014 billing at DEFAULT_PRICING (inputPer1M ${DEFAULT_PRICING.inputPer1M}, outputPer1M ${DEFAULT_PRICING.outputPer1M}). If this model has a real, higher provider cost, this under-charges until it gets a pricing row.`
|
|
4151
4234
|
);
|
|
4152
4235
|
}
|
|
4153
|
-
const cacheRead = pricing.cacheReadMultiplier ?? 1;
|
|
4154
|
-
const cacheWrite = pricing.cacheWriteMultiplier ?? 1;
|
|
4155
4236
|
const cacheReadIn = Math.max(0, usage.cacheReadInputTokens ?? 0);
|
|
4156
4237
|
const cacheCreateIn = Math.max(0, usage.cacheCreationInputTokens ?? 0);
|
|
4238
|
+
const pricing = selectPricingTier(
|
|
4239
|
+
resolved ?? DEFAULT_PRICING,
|
|
4240
|
+
Math.max(0, usage.inputTokens) + cacheReadIn + cacheCreateIn
|
|
4241
|
+
);
|
|
4242
|
+
const cacheRead = pricing.cacheReadMultiplier ?? 1;
|
|
4243
|
+
const cacheWrite = pricing.cacheWriteMultiplier ?? 1;
|
|
4157
4244
|
const inputUsd = usage.inputTokens / 1e6 * pricing.inputPer1M;
|
|
4158
4245
|
const cacheReadUsd = cacheReadIn / 1e6 * pricing.inputPer1M * cacheRead;
|
|
4159
4246
|
const cacheWriteUsd = cacheCreateIn / 1e6 * pricing.inputPer1M * cacheWrite;
|
|
@@ -4222,6 +4309,15 @@ function getCacheStats(modelId, usage, opts) {
|
|
|
4222
4309
|
|
|
4223
4310
|
// src/llm/opencode-go-routes.generated.ts
|
|
4224
4311
|
var OPENCODE_GO_ROUTES = {
|
|
4312
|
+
"opencode-go/claude-haiku-5-5": {
|
|
4313
|
+
inputPer1M: 0.1,
|
|
4314
|
+
outputPer1M: 0.5,
|
|
4315
|
+
cacheReadMultiplier: 0.1,
|
|
4316
|
+
cacheWriteMultiplier: 1.25,
|
|
4317
|
+
addedAt: "2026-10-07",
|
|
4318
|
+
vendor: "anthropic",
|
|
4319
|
+
provider: "opencode-go"
|
|
4320
|
+
},
|
|
4225
4321
|
"opencode-go/deepseek-v4-flash": {
|
|
4226
4322
|
inputPer1M: 0.15,
|
|
4227
4323
|
outputPer1M: 0.6,
|
|
@@ -4485,6 +4581,15 @@ var OPENCODE_GO_ROUTES = {
|
|
|
4485
4581
|
vendor: "qwen",
|
|
4486
4582
|
provider: "opencode-go"
|
|
4487
4583
|
},
|
|
4584
|
+
"opencode-go/space-bunny": {
|
|
4585
|
+
inputPer1M: 0.15,
|
|
4586
|
+
outputPer1M: 0.6,
|
|
4587
|
+
cacheReadMultiplier: 0.2,
|
|
4588
|
+
cacheWriteMultiplier: 0,
|
|
4589
|
+
addedAt: "2026-09-23",
|
|
4590
|
+
vendor: "opencode",
|
|
4591
|
+
provider: "opencode-go"
|
|
4592
|
+
},
|
|
4488
4593
|
"opencode-go/space-bunny-free": {
|
|
4489
4594
|
inputPer1M: 0,
|
|
4490
4595
|
outputPer1M: 0,
|
|
@@ -4494,9 +4599,12 @@ var OPENCODE_GO_ROUTES = {
|
|
|
4494
4599
|
}
|
|
4495
4600
|
};
|
|
4496
4601
|
var OPENCODE_GO_ANTHROPIC_MODELS = [
|
|
4602
|
+
"claude-haiku-5-5",
|
|
4497
4603
|
"minimax-m2.7",
|
|
4498
4604
|
"minimax-m3",
|
|
4499
|
-
"qwen3.
|
|
4605
|
+
"qwen3.7-plus",
|
|
4606
|
+
"qwen3.8-flash",
|
|
4607
|
+
"qwen3.8-max"
|
|
4500
4608
|
];
|
|
4501
4609
|
|
|
4502
4610
|
// src/llm/opencode-zen-routes.generated.ts
|
|
@@ -4544,6 +4652,15 @@ var OPENCODE_ZEN_ROUTES = {
|
|
|
4544
4652
|
vendor: "anthropic",
|
|
4545
4653
|
provider: "opencode"
|
|
4546
4654
|
},
|
|
4655
|
+
"opencode/claude-haiku-5-5": {
|
|
4656
|
+
inputPer1M: 0.1,
|
|
4657
|
+
outputPer1M: 0.5,
|
|
4658
|
+
cacheReadMultiplier: 0.1,
|
|
4659
|
+
cacheWriteMultiplier: 1.25,
|
|
4660
|
+
addedAt: "2026-10-07",
|
|
4661
|
+
vendor: "anthropic",
|
|
4662
|
+
provider: "opencode"
|
|
4663
|
+
},
|
|
4547
4664
|
"opencode/claude-opus-4-1": {
|
|
4548
4665
|
inputPer1M: 15,
|
|
4549
4666
|
outputPer1M: 75,
|
|
@@ -4643,6 +4760,15 @@ var OPENCODE_ZEN_ROUTES = {
|
|
|
4643
4760
|
vendor: "anthropic",
|
|
4644
4761
|
provider: "opencode"
|
|
4645
4762
|
},
|
|
4763
|
+
"opencode/claude-sonnet-5-5": {
|
|
4764
|
+
inputPer1M: 2,
|
|
4765
|
+
outputPer1M: 10,
|
|
4766
|
+
cacheReadMultiplier: 0.1,
|
|
4767
|
+
cacheWriteMultiplier: 1.25,
|
|
4768
|
+
addedAt: "2026-09-28",
|
|
4769
|
+
vendor: "anthropic",
|
|
4770
|
+
provider: "opencode"
|
|
4771
|
+
},
|
|
4646
4772
|
"opencode/deepseek-v4-flash": {
|
|
4647
4773
|
inputPer1M: 0.14,
|
|
4648
4774
|
outputPer1M: 0.28,
|
|
@@ -4682,6 +4808,20 @@ var OPENCODE_ZEN_ROUTES = {
|
|
|
4682
4808
|
vendor: "deepseek",
|
|
4683
4809
|
provider: "opencode"
|
|
4684
4810
|
},
|
|
4811
|
+
"opencode/exo-free": {
|
|
4812
|
+
inputPer1M: 0,
|
|
4813
|
+
outputPer1M: 0,
|
|
4814
|
+
addedAt: "2026-10-06",
|
|
4815
|
+
vendor: "opencode",
|
|
4816
|
+
provider: "opencode"
|
|
4817
|
+
},
|
|
4818
|
+
"opencode/fledge-alpha-free": {
|
|
4819
|
+
inputPer1M: 0,
|
|
4820
|
+
outputPer1M: 0,
|
|
4821
|
+
addedAt: "2026-10-01",
|
|
4822
|
+
vendor: "opencode",
|
|
4823
|
+
provider: "opencode"
|
|
4824
|
+
},
|
|
4685
4825
|
"opencode/gemini-3-flash": {
|
|
4686
4826
|
inputPer1M: 0.5,
|
|
4687
4827
|
outputPer1M: 3,
|
|
@@ -5006,6 +5146,15 @@ var OPENCODE_ZEN_ROUTES = {
|
|
|
5006
5146
|
vendor: "openai",
|
|
5007
5147
|
provider: "opencode"
|
|
5008
5148
|
},
|
|
5149
|
+
"opencode/gpt-6.1-sol": {
|
|
5150
|
+
inputPer1M: 2,
|
|
5151
|
+
outputPer1M: 10,
|
|
5152
|
+
cacheReadMultiplier: 0.05,
|
|
5153
|
+
cacheWriteMultiplier: 1.25,
|
|
5154
|
+
addedAt: "2026-09-29",
|
|
5155
|
+
vendor: "openai",
|
|
5156
|
+
provider: "opencode"
|
|
5157
|
+
},
|
|
5009
5158
|
"opencode/grok-4.5": {
|
|
5010
5159
|
inputPer1M: 2,
|
|
5011
5160
|
outputPer1M: 6,
|
|
@@ -5149,6 +5298,13 @@ var OPENCODE_ZEN_ROUTES = {
|
|
|
5149
5298
|
vendor: "inclusionai",
|
|
5150
5299
|
provider: "opencode"
|
|
5151
5300
|
},
|
|
5301
|
+
"opencode/ling-3.1-flash-free": {
|
|
5302
|
+
inputPer1M: 0,
|
|
5303
|
+
outputPer1M: 0,
|
|
5304
|
+
addedAt: "2026-09-29",
|
|
5305
|
+
vendor: "inclusionai",
|
|
5306
|
+
provider: "opencode"
|
|
5307
|
+
},
|
|
5152
5308
|
"opencode/longcat-2.0-free": {
|
|
5153
5309
|
inputPer1M: 0,
|
|
5154
5310
|
outputPer1M: 0,
|
|
@@ -5251,6 +5407,14 @@ var OPENCODE_ZEN_ROUTES = {
|
|
|
5251
5407
|
vendor: "minimax",
|
|
5252
5408
|
provider: "opencode"
|
|
5253
5409
|
},
|
|
5410
|
+
"opencode/mistral-large-4": {
|
|
5411
|
+
inputPer1M: 0.68,
|
|
5412
|
+
outputPer1M: 2.09,
|
|
5413
|
+
cacheReadMultiplier: 0.102941,
|
|
5414
|
+
addedAt: "2026-10-06",
|
|
5415
|
+
vendor: "opencode",
|
|
5416
|
+
provider: "opencode"
|
|
5417
|
+
},
|
|
5254
5418
|
"opencode/muse-spark-1.2": {
|
|
5255
5419
|
inputPer1M: 1.25,
|
|
5256
5420
|
outputPer1M: 4.25,
|
|
@@ -5393,6 +5557,7 @@ var OPENCODE_ZEN_ANTHROPIC_MODELS = [
|
|
|
5393
5557
|
"claude-fable-5",
|
|
5394
5558
|
"claude-fable-5-1",
|
|
5395
5559
|
"claude-haiku-4-5",
|
|
5560
|
+
"claude-haiku-5-5",
|
|
5396
5561
|
"claude-opus-4-1",
|
|
5397
5562
|
"claude-opus-4-5",
|
|
5398
5563
|
"claude-opus-4-6",
|
|
@@ -5404,6 +5569,7 @@ var OPENCODE_ZEN_ANTHROPIC_MODELS = [
|
|
|
5404
5569
|
"claude-sonnet-4-5",
|
|
5405
5570
|
"claude-sonnet-4-6",
|
|
5406
5571
|
"claude-sonnet-5",
|
|
5572
|
+
"claude-sonnet-5-5",
|
|
5407
5573
|
"minimax-m2.1-free",
|
|
5408
5574
|
"minimax-m2.5-free",
|
|
5409
5575
|
"minimax-m3-free",
|
|
@@ -5413,6 +5579,6 @@ var OPENCODE_ZEN_ANTHROPIC_MODELS = [
|
|
|
5413
5579
|
"qwen3.8-flash"
|
|
5414
5580
|
];
|
|
5415
5581
|
|
|
5416
|
-
export { DEFAULT_PRICING, LLM_PRICING_CATALOG, MODEL_ALIASES, OPENCODE_GO_ANTHROPIC_MODELS, OPENCODE_GO_ROUTES, OPENCODE_ZEN_ANTHROPIC_MODELS, OPENCODE_ZEN_ROUTES, OPENROUTER_ROUTES, calculateLLMCreditCost, getCacheStats, getModelProvider, isKnownLlmId, listNativeModelIds, listUnpricedKnownLlmIds, resolveAlias, resolveContextWindow, resolveModelRoute, resolvePricing, resolvePricingExact, splitContextWindowHint };
|
|
5417
|
-
//# sourceMappingURL=chunk-
|
|
5418
|
-
//# sourceMappingURL=chunk-
|
|
5582
|
+
export { DEFAULT_PRICING, LLM_PRICING_CATALOG, MODEL_ALIASES, OPENCODE_GO_ANTHROPIC_MODELS, OPENCODE_GO_ROUTES, OPENCODE_ZEN_ANTHROPIC_MODELS, OPENCODE_ZEN_ROUTES, OPENROUTER_ROUTES, calculateLLMCreditCost, getCacheStats, getModelProvider, isKnownLlmId, listNativeModelIds, listUnpricedKnownLlmIds, resolveAlias, resolveContextWindow, resolveModelRoute, resolvePricing, resolvePricingExact, selectPricingTier, splitContextWindowHint };
|
|
5583
|
+
//# sourceMappingURL=chunk-BOCXDO4T.mjs.map
|
|
5584
|
+
//# sourceMappingURL=chunk-BOCXDO4T.mjs.map
|