@earendil-works/pi-ai 0.80.7 → 0.80.9

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.
Files changed (206) hide show
  1. package/README.md +76 -22
  2. package/dist/api/lazy.d.ts.map +1 -1
  3. package/dist/api/lazy.js +9 -10
  4. package/dist/api/lazy.js.map +1 -1
  5. package/dist/api/openai-codex-responses.d.ts.map +1 -1
  6. package/dist/api/openai-codex-responses.js +3 -2
  7. package/dist/api/openai-codex-responses.js.map +1 -1
  8. package/dist/api/openai-completions.d.ts +2 -1
  9. package/dist/api/openai-completions.d.ts.map +1 -1
  10. package/dist/api/openai-completions.js +42 -2
  11. package/dist/api/openai-completions.js.map +1 -1
  12. package/dist/api/openai-responses.d.ts.map +1 -1
  13. package/dist/api/openai-responses.js +2 -0
  14. package/dist/api/openai-responses.js.map +1 -1
  15. package/dist/auth/credential-store.d.ts +2 -1
  16. package/dist/auth/credential-store.d.ts.map +1 -1
  17. package/dist/auth/credential-store.js +3 -0
  18. package/dist/auth/credential-store.js.map +1 -1
  19. package/dist/auth/helpers.d.ts +1 -0
  20. package/dist/auth/helpers.d.ts.map +1 -1
  21. package/dist/auth/helpers.js +4 -3
  22. package/dist/auth/helpers.js.map +1 -1
  23. package/dist/auth/oauth/anthropic.d.ts +9 -0
  24. package/dist/auth/oauth/anthropic.d.ts.map +1 -0
  25. package/dist/{utils → auth}/oauth/anthropic.js +51 -116
  26. package/dist/auth/oauth/anthropic.js.map +1 -0
  27. package/dist/auth/oauth/device-code.d.ts.map +1 -0
  28. package/dist/auth/oauth/device-code.js.map +1 -0
  29. package/dist/auth/oauth/github-copilot.d.ts +6 -0
  30. package/dist/auth/oauth/github-copilot.d.ts.map +1 -0
  31. package/dist/{utils → auth}/oauth/github-copilot.js +18 -77
  32. package/dist/auth/oauth/github-copilot.js.map +1 -0
  33. package/dist/auth/oauth/load.d.ts +23 -0
  34. package/dist/auth/oauth/load.d.ts.map +1 -0
  35. package/dist/auth/oauth/load.js +49 -0
  36. package/dist/auth/oauth/load.js.map +1 -0
  37. package/dist/auth/oauth/oauth-page.d.ts.map +1 -0
  38. package/dist/auth/oauth/oauth-page.js.map +1 -0
  39. package/dist/auth/oauth/openai-codex.d.ts +9 -0
  40. package/dist/auth/oauth/openai-codex.d.ts.map +1 -0
  41. package/dist/{utils → auth}/oauth/openai-codex.js +61 -155
  42. package/dist/auth/oauth/openai-codex.js.map +1 -0
  43. package/dist/auth/oauth/pkce.d.ts.map +1 -0
  44. package/dist/auth/oauth/pkce.js.map +1 -0
  45. package/dist/auth/oauth/radius.d.ts +16 -0
  46. package/dist/auth/oauth/radius.d.ts.map +1 -0
  47. package/dist/{utils → auth}/oauth/radius.js +31 -128
  48. package/dist/auth/oauth/radius.js.map +1 -0
  49. package/dist/auth/oauth/xai.d.ts +6 -0
  50. package/dist/auth/oauth/xai.d.ts.map +1 -0
  51. package/dist/auth/oauth/xai.js +189 -0
  52. package/dist/auth/oauth/xai.js.map +1 -0
  53. package/dist/auth/resolve.d.ts +2 -4
  54. package/dist/auth/resolve.d.ts.map +1 -1
  55. package/dist/auth/resolve.js +9 -7
  56. package/dist/auth/resolve.js.map +1 -1
  57. package/dist/auth/types.d.ts +49 -10
  58. package/dist/auth/types.d.ts.map +1 -1
  59. package/dist/auth/types.js.map +1 -1
  60. package/dist/bun-oauth.d.ts +3 -0
  61. package/dist/bun-oauth.d.ts.map +1 -0
  62. package/dist/bun-oauth.js +17 -0
  63. package/dist/bun-oauth.js.map +1 -0
  64. package/dist/cli.d.ts.map +1 -1
  65. package/dist/cli.js +58 -76
  66. package/dist/cli.js.map +1 -1
  67. package/dist/compat/extension-oauth-types.d.ts +39 -0
  68. package/dist/compat/extension-oauth-types.d.ts.map +1 -0
  69. package/dist/compat/extension-oauth-types.js +2 -0
  70. package/dist/compat/extension-oauth-types.js.map +1 -0
  71. package/dist/compat.d.ts.map +1 -1
  72. package/dist/compat.js +20 -7
  73. package/dist/compat.js.map +1 -1
  74. package/dist/env-api-keys.d.ts.map +1 -1
  75. package/dist/env-api-keys.js +1 -1
  76. package/dist/env-api-keys.js.map +1 -1
  77. package/dist/images-models.d.ts +4 -2
  78. package/dist/images-models.d.ts.map +1 -1
  79. package/dist/images-models.js +5 -4
  80. package/dist/images-models.js.map +1 -1
  81. package/dist/index.d.ts +2 -1
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +1 -0
  84. package/dist/index.js.map +1 -1
  85. package/dist/models-store.d.ts +25 -0
  86. package/dist/models-store.d.ts.map +1 -0
  87. package/dist/models-store.js +14 -0
  88. package/dist/models-store.js.map +1 -0
  89. package/dist/models.d.ts +66 -30
  90. package/dist/models.d.ts.map +1 -1
  91. package/dist/models.generated.d.ts +244 -4
  92. package/dist/models.generated.d.ts.map +1 -1
  93. package/dist/models.js +214 -29
  94. package/dist/models.js.map +1 -1
  95. package/dist/oauth.d.ts +2 -1
  96. package/dist/oauth.d.ts.map +1 -1
  97. package/dist/oauth.js +1 -1
  98. package/dist/oauth.js.map +1 -1
  99. package/dist/providers/all.d.ts +2 -1
  100. package/dist/providers/all.d.ts.map +1 -1
  101. package/dist/providers/all.js +3 -0
  102. package/dist/providers/all.js.map +1 -1
  103. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  104. package/dist/providers/amazon-bedrock.js +51 -10
  105. package/dist/providers/amazon-bedrock.js.map +1 -1
  106. package/dist/providers/anthropic.d.ts.map +1 -1
  107. package/dist/providers/anthropic.js +1 -1
  108. package/dist/providers/anthropic.js.map +1 -1
  109. package/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -1
  110. package/dist/providers/cloudflare-ai-gateway.js +4 -3
  111. package/dist/providers/cloudflare-ai-gateway.js.map +1 -1
  112. package/dist/providers/cloudflare-auth.d.ts.map +1 -1
  113. package/dist/providers/cloudflare-auth.js +13 -20
  114. package/dist/providers/cloudflare-auth.js.map +1 -1
  115. package/dist/providers/cloudflare-stream.d.ts +8 -0
  116. package/dist/providers/cloudflare-stream.d.ts.map +1 -0
  117. package/dist/providers/cloudflare-stream.js +21 -0
  118. package/dist/providers/cloudflare-stream.js.map +1 -0
  119. package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -1
  120. package/dist/providers/cloudflare-workers-ai.js +2 -1
  121. package/dist/providers/cloudflare-workers-ai.js.map +1 -1
  122. package/dist/providers/github-copilot.d.ts.map +1 -1
  123. package/dist/providers/github-copilot.js +11 -1
  124. package/dist/providers/github-copilot.js.map +1 -1
  125. package/dist/providers/google-vertex.d.ts.map +1 -1
  126. package/dist/providers/google-vertex.js +56 -5
  127. package/dist/providers/google-vertex.js.map +1 -1
  128. package/dist/providers/kimi-coding.models.d.ts +40 -0
  129. package/dist/providers/kimi-coding.models.d.ts.map +1 -1
  130. package/dist/providers/kimi-coding.models.js +36 -0
  131. package/dist/providers/kimi-coding.models.js.map +1 -1
  132. package/dist/providers/moonshotai-cn.models.d.ts +36 -0
  133. package/dist/providers/moonshotai-cn.models.d.ts.map +1 -1
  134. package/dist/providers/moonshotai-cn.models.js +19 -0
  135. package/dist/providers/moonshotai-cn.models.js.map +1 -1
  136. package/dist/providers/moonshotai.models.d.ts +36 -0
  137. package/dist/providers/moonshotai.models.d.ts.map +1 -1
  138. package/dist/providers/moonshotai.models.js +19 -0
  139. package/dist/providers/moonshotai.models.js.map +1 -1
  140. package/dist/providers/openai-codex.d.ts.map +1 -1
  141. package/dist/providers/openai-codex.js +1 -1
  142. package/dist/providers/openai-codex.js.map +1 -1
  143. package/dist/providers/openrouter.models.d.ts +42 -0
  144. package/dist/providers/openrouter.models.d.ts.map +1 -1
  145. package/dist/providers/openrouter.models.js +178 -142
  146. package/dist/providers/openrouter.models.js.map +1 -1
  147. package/dist/providers/radius-config.d.ts +26 -0
  148. package/dist/providers/radius-config.d.ts.map +1 -0
  149. package/dist/providers/radius-config.js +59 -0
  150. package/dist/providers/radius-config.js.map +1 -0
  151. package/dist/providers/radius.d.ts +9 -0
  152. package/dist/providers/radius.d.ts.map +1 -0
  153. package/dist/providers/radius.js +54 -0
  154. package/dist/providers/radius.js.map +1 -0
  155. package/dist/providers/vercel-ai-gateway.models.d.ts +84 -0
  156. package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  157. package/dist/providers/vercel-ai-gateway.models.js +74 -2
  158. package/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  159. package/dist/providers/xai.d.ts +1 -1
  160. package/dist/providers/xai.d.ts.map +1 -1
  161. package/dist/providers/xai.js +15 -3
  162. package/dist/providers/xai.js.map +1 -1
  163. package/dist/providers/xai.models.d.ts +6 -4
  164. package/dist/providers/xai.models.d.ts.map +1 -1
  165. package/dist/providers/xai.models.js +3 -2
  166. package/dist/providers/xai.models.js.map +1 -1
  167. package/dist/types.d.ts +2 -0
  168. package/dist/types.d.ts.map +1 -1
  169. package/dist/types.js.map +1 -1
  170. package/package.json +6 -1
  171. package/dist/utils/oauth/anthropic.d.ts +0 -27
  172. package/dist/utils/oauth/anthropic.d.ts.map +0 -1
  173. package/dist/utils/oauth/anthropic.js.map +0 -1
  174. package/dist/utils/oauth/device-code.d.ts.map +0 -1
  175. package/dist/utils/oauth/device-code.js.map +0 -1
  176. package/dist/utils/oauth/github-copilot.d.ts +0 -32
  177. package/dist/utils/oauth/github-copilot.d.ts.map +0 -1
  178. package/dist/utils/oauth/github-copilot.js.map +0 -1
  179. package/dist/utils/oauth/index.d.ts +0 -59
  180. package/dist/utils/oauth/index.d.ts.map +0 -1
  181. package/dist/utils/oauth/index.js +0 -131
  182. package/dist/utils/oauth/index.js.map +0 -1
  183. package/dist/utils/oauth/load.d.ts +0 -5
  184. package/dist/utils/oauth/load.d.ts.map +0 -1
  185. package/dist/utils/oauth/load.js +0 -22
  186. package/dist/utils/oauth/load.js.map +0 -1
  187. package/dist/utils/oauth/oauth-page.d.ts.map +0 -1
  188. package/dist/utils/oauth/oauth-page.js.map +0 -1
  189. package/dist/utils/oauth/openai-codex.d.ts +0 -45
  190. package/dist/utils/oauth/openai-codex.d.ts.map +0 -1
  191. package/dist/utils/oauth/openai-codex.js.map +0 -1
  192. package/dist/utils/oauth/pkce.d.ts.map +0 -1
  193. package/dist/utils/oauth/pkce.js.map +0 -1
  194. package/dist/utils/oauth/radius.d.ts +0 -39
  195. package/dist/utils/oauth/radius.d.ts.map +0 -1
  196. package/dist/utils/oauth/radius.js.map +0 -1
  197. package/dist/utils/oauth/types.d.ts +0 -64
  198. package/dist/utils/oauth/types.d.ts.map +0 -1
  199. package/dist/utils/oauth/types.js +0 -2
  200. package/dist/utils/oauth/types.js.map +0 -1
  201. /package/dist/{utils → auth}/oauth/device-code.d.ts +0 -0
  202. /package/dist/{utils → auth}/oauth/device-code.js +0 -0
  203. /package/dist/{utils → auth}/oauth/oauth-page.d.ts +0 -0
  204. /package/dist/{utils → auth}/oauth/oauth-page.js +0 -0
  205. /package/dist/{utils → auth}/oauth/pkce.d.ts +0 -0
  206. /package/dist/{utils → auth}/oauth/pkce.js +0 -0
@@ -382,7 +382,7 @@ export const OPENROUTER_MODELS = {
382
382
  cacheRead: 0.3,
383
383
  cacheWrite: 3.75,
384
384
  },
385
- contextWindow: 1000000,
385
+ contextWindow: 200000,
386
386
  maxTokens: 64000,
387
387
  },
388
388
  "anthropic/claude-sonnet-4.5": {
@@ -649,13 +649,13 @@ export const OPENROUTER_MODELS = {
649
649
  reasoning: false,
650
650
  input: ["text"],
651
651
  cost: {
652
- input: 0.24,
653
- output: 0.9,
652
+ input: 0.27,
653
+ output: 1.12,
654
654
  cacheRead: 0.135,
655
655
  cacheWrite: 0,
656
656
  },
657
657
  contextWindow: 163840,
658
- maxTokens: 16384,
658
+ maxTokens: 65536,
659
659
  },
660
660
  "deepseek/deepseek-chat-v3.1": {
661
661
  id: "deepseek/deepseek-chat-v3.1",
@@ -722,11 +722,11 @@ export const OPENROUTER_MODELS = {
722
722
  input: ["text"],
723
723
  cost: {
724
724
  input: 0.27,
725
- output: 0.95,
726
- cacheRead: 0.13,
725
+ output: 1,
726
+ cacheRead: 0.135,
727
727
  cacheWrite: 0,
728
728
  },
729
- contextWindow: 163840,
729
+ contextWindow: 131072,
730
730
  maxTokens: 32768,
731
731
  },
732
732
  "deepseek/deepseek-v3.2": {
@@ -739,13 +739,13 @@ export const OPENROUTER_MODELS = {
739
739
  reasoning: true,
740
740
  input: ["text"],
741
741
  cost: {
742
- input: 0.2145,
743
- output: 0.32175,
744
- cacheRead: 0.02145,
742
+ input: 0.269,
743
+ output: 0.4,
744
+ cacheRead: 0.1345,
745
745
  cacheWrite: 0,
746
746
  },
747
- contextWindow: 128000,
748
- maxTokens: 64000,
747
+ contextWindow: 163840,
748
+ maxTokens: 65536,
749
749
  },
750
750
  "deepseek/deepseek-v3.2-exp": {
751
751
  id: "deepseek/deepseek-v3.2-exp",
@@ -776,13 +776,13 @@ export const OPENROUTER_MODELS = {
776
776
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "max": null, "xhigh": "xhigh" },
777
777
  input: ["text"],
778
778
  cost: {
779
- input: 0.09,
780
- output: 0.18,
781
- cacheRead: 0.018,
779
+ input: 0.098,
780
+ output: 0.196,
781
+ cacheRead: 0.02,
782
782
  cacheWrite: 0,
783
783
  },
784
- contextWindow: 1048576,
785
- maxTokens: 65536,
784
+ contextWindow: 1048575,
785
+ maxTokens: 4096,
786
786
  },
787
787
  "deepseek/deepseek-v4-pro": {
788
788
  id: "deepseek/deepseek-v4-pro",
@@ -1048,12 +1048,12 @@ export const OPENROUTER_MODELS = {
1048
1048
  input: ["text", "image"],
1049
1049
  cost: {
1050
1050
  input: 0.08,
1051
- output: 0.16,
1052
- cacheRead: 0,
1051
+ output: 0.45,
1052
+ cacheRead: 0.04,
1053
1053
  cacheWrite: 0,
1054
1054
  },
1055
1055
  contextWindow: 131072,
1056
- maxTokens: 16384,
1056
+ maxTokens: 131072,
1057
1057
  },
1058
1058
  "google/gemma-4-26b-a4b-it": {
1059
1059
  id: "google/gemma-4-26b-a4b-it",
@@ -1065,13 +1065,13 @@ export const OPENROUTER_MODELS = {
1065
1065
  reasoning: true,
1066
1066
  input: ["text", "image"],
1067
1067
  cost: {
1068
- input: 0.06,
1069
- output: 0.33,
1068
+ input: 0.1,
1069
+ output: 0.3,
1070
1070
  cacheRead: 0,
1071
1071
  cacheWrite: 0,
1072
1072
  },
1073
- contextWindow: 262144,
1074
- maxTokens: 4096,
1073
+ contextWindow: 256000,
1074
+ maxTokens: 256000,
1075
1075
  },
1076
1076
  "google/gemma-4-26b-a4b-it:free": {
1077
1077
  id: "google/gemma-4-26b-a4b-it:free",
@@ -1101,13 +1101,13 @@ export const OPENROUTER_MODELS = {
1101
1101
  reasoning: true,
1102
1102
  input: ["text", "image"],
1103
1103
  cost: {
1104
- input: 0.06,
1105
- output: 0.35,
1106
- cacheRead: 0,
1104
+ input: 0.22,
1105
+ output: 0.55,
1106
+ cacheRead: 0.12,
1107
1107
  cacheWrite: 0,
1108
1108
  },
1109
1109
  contextWindow: 262144,
1110
- maxTokens: 8192,
1110
+ maxTokens: 262144,
1111
1111
  },
1112
1112
  "google/gemma-4-31b-it:free": {
1113
1113
  id: "google/gemma-4-31b-it:free",
@@ -1300,13 +1300,13 @@ export const OPENROUTER_MODELS = {
1300
1300
  reasoning: false,
1301
1301
  input: ["text"],
1302
1302
  cost: {
1303
- input: 0.02,
1304
- output: 0.03,
1305
- cacheRead: 0,
1303
+ input: 0.05,
1304
+ output: 0.08,
1305
+ cacheRead: 0.025,
1306
1306
  cacheWrite: 0,
1307
1307
  },
1308
1308
  contextWindow: 131072,
1309
- maxTokens: 16384,
1309
+ maxTokens: 131072,
1310
1310
  },
1311
1311
  "meta-llama/llama-3.3-70b-instruct": {
1312
1312
  id: "meta-llama/llama-3.3-70b-instruct",
@@ -1318,13 +1318,13 @@ export const OPENROUTER_MODELS = {
1318
1318
  reasoning: false,
1319
1319
  input: ["text"],
1320
1320
  cost: {
1321
- input: 0.1,
1322
- output: 0.32,
1321
+ input: 0.13,
1322
+ output: 0.4,
1323
1323
  cacheRead: 0,
1324
1324
  cacheWrite: 0,
1325
1325
  },
1326
1326
  contextWindow: 131072,
1327
- maxTokens: 16384,
1327
+ maxTokens: 128000,
1328
1328
  },
1329
1329
  "meta-llama/llama-3.3-70b-instruct:free": {
1330
1330
  id: "meta-llama/llama-3.3-70b-instruct:free",
@@ -1380,6 +1380,24 @@ export const OPENROUTER_MODELS = {
1380
1380
  contextWindow: 327680,
1381
1381
  maxTokens: 16384,
1382
1382
  },
1383
+ "meta/muse-spark-1.1": {
1384
+ id: "meta/muse-spark-1.1",
1385
+ name: "Meta: Muse Spark 1.1",
1386
+ api: "openai-completions",
1387
+ provider: "openrouter",
1388
+ baseUrl: "https://openrouter.ai/api/v1",
1389
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1390
+ reasoning: true,
1391
+ input: ["text", "image"],
1392
+ cost: {
1393
+ input: 1.25,
1394
+ output: 4.25,
1395
+ cacheRead: 0.15,
1396
+ cacheWrite: 0,
1397
+ },
1398
+ contextWindow: 1048576,
1399
+ maxTokens: 4096,
1400
+ },
1383
1401
  "minimax/minimax-m1": {
1384
1402
  id: "minimax/minimax-m1",
1385
1403
  name: "MiniMax: MiniMax M1",
@@ -1390,7 +1408,7 @@ export const OPENROUTER_MODELS = {
1390
1408
  reasoning: true,
1391
1409
  input: ["text"],
1392
1410
  cost: {
1393
- input: 0.4,
1411
+ input: 0.55,
1394
1412
  output: 2.2,
1395
1413
  cacheRead: 0,
1396
1414
  cacheWrite: 0,
@@ -1462,13 +1480,13 @@ export const OPENROUTER_MODELS = {
1462
1480
  reasoning: true,
1463
1481
  input: ["text"],
1464
1482
  cost: {
1465
- input: 0.24,
1466
- output: 0.96,
1467
- cacheRead: 0,
1483
+ input: 0.3,
1484
+ output: 1.2,
1485
+ cacheRead: 0.06,
1468
1486
  cacheWrite: 0,
1469
1487
  },
1470
- contextWindow: 196608,
1471
- maxTokens: 196608,
1488
+ contextWindow: 204800,
1489
+ maxTokens: 131072,
1472
1490
  },
1473
1491
  "minimax/minimax-m3": {
1474
1492
  id: "minimax/minimax-m3",
@@ -1485,8 +1503,8 @@ export const OPENROUTER_MODELS = {
1485
1503
  cacheRead: 0.06,
1486
1504
  cacheWrite: 0,
1487
1505
  },
1488
- contextWindow: 1000000,
1489
- maxTokens: 131072,
1506
+ contextWindow: 524288,
1507
+ maxTokens: 512000,
1490
1508
  },
1491
1509
  "mistralai/codestral-2508": {
1492
1510
  id: "mistralai/codestral-2508",
@@ -1697,12 +1715,12 @@ export const OPENROUTER_MODELS = {
1697
1715
  input: ["text"],
1698
1716
  cost: {
1699
1717
  input: 0.02,
1700
- output: 0.03,
1718
+ output: 0.04,
1701
1719
  cacheRead: 0,
1702
1720
  cacheWrite: 0,
1703
1721
  },
1704
1722
  contextWindow: 131072,
1705
- maxTokens: 4096,
1723
+ maxTokens: 16384,
1706
1724
  },
1707
1725
  "mistralai/mistral-saba": {
1708
1726
  id: "mistralai/mistral-saba",
@@ -1750,13 +1768,13 @@ export const OPENROUTER_MODELS = {
1750
1768
  reasoning: false,
1751
1769
  input: ["text", "image"],
1752
1770
  cost: {
1753
- input: 0.075,
1754
- output: 0.2,
1755
- cacheRead: 0,
1771
+ input: 0.1,
1772
+ output: 0.3,
1773
+ cacheRead: 0.01,
1756
1774
  cacheWrite: 0,
1757
1775
  },
1758
- contextWindow: 128000,
1759
- maxTokens: 16384,
1776
+ contextWindow: 131072,
1777
+ maxTokens: 4096,
1760
1778
  },
1761
1779
  "mistralai/mixtral-8x22b-instruct": {
1762
1780
  id: "mistralai/mixtral-8x22b-instruct",
@@ -1842,11 +1860,11 @@ export const OPENROUTER_MODELS = {
1842
1860
  cost: {
1843
1861
  input: 0.6,
1844
1862
  output: 2.5,
1845
- cacheRead: 0.15,
1863
+ cacheRead: 0,
1846
1864
  cacheWrite: 0,
1847
1865
  },
1848
1866
  contextWindow: 262144,
1849
- maxTokens: 100352,
1867
+ maxTokens: 262144,
1850
1868
  },
1851
1869
  "moonshotai/kimi-k2.5": {
1852
1870
  id: "moonshotai/kimi-k2.5",
@@ -1876,13 +1894,13 @@ export const OPENROUTER_MODELS = {
1876
1894
  reasoning: true,
1877
1895
  input: ["text", "image"],
1878
1896
  cost: {
1879
- input: 0.66,
1880
- output: 3.41,
1881
- cacheRead: 0.15,
1897
+ input: 0.95,
1898
+ output: 4,
1899
+ cacheRead: 0.16,
1882
1900
  cacheWrite: 0,
1883
1901
  },
1884
1902
  contextWindow: 262144,
1885
- maxTokens: 262144,
1903
+ maxTokens: 4096,
1886
1904
  },
1887
1905
  "moonshotai/kimi-k2.7-code": {
1888
1906
  id: "moonshotai/kimi-k2.7-code",
@@ -1894,14 +1912,32 @@ export const OPENROUTER_MODELS = {
1894
1912
  reasoning: true,
1895
1913
  input: ["text", "image"],
1896
1914
  cost: {
1897
- input: 0.719,
1898
- output: 3.49,
1899
- cacheRead: 0.149,
1915
+ input: 0.75,
1916
+ output: 3.5,
1917
+ cacheRead: 0.16,
1900
1918
  cacheWrite: 0,
1901
1919
  },
1902
1920
  contextWindow: 262144,
1903
1921
  maxTokens: 262144,
1904
1922
  },
1923
+ "moonshotai/kimi-k3": {
1924
+ id: "moonshotai/kimi-k3",
1925
+ name: "MoonshotAI: Kimi K3",
1926
+ api: "openai-completions",
1927
+ provider: "openrouter",
1928
+ baseUrl: "https://openrouter.ai/api/v1",
1929
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1930
+ reasoning: true,
1931
+ input: ["text", "image"],
1932
+ cost: {
1933
+ input: 3,
1934
+ output: 15,
1935
+ cacheRead: 0.3,
1936
+ cacheWrite: 0,
1937
+ },
1938
+ contextWindow: 1048576,
1939
+ maxTokens: 131072,
1940
+ },
1905
1941
  "nex-agi/nex-n2-mini": {
1906
1942
  id: "nex-agi/nex-n2-mini",
1907
1943
  name: "Nex AGI: Nex-N2-Mini",
@@ -2020,12 +2056,12 @@ export const OPENROUTER_MODELS = {
2020
2056
  reasoning: true,
2021
2057
  input: ["text"],
2022
2058
  cost: {
2023
- input: 0.08,
2024
- output: 0.45,
2025
- cacheRead: 0,
2059
+ input: 0.21,
2060
+ output: 0.455,
2061
+ cacheRead: 0.06,
2026
2062
  cacheWrite: 0,
2027
2063
  },
2028
- contextWindow: 262144,
2064
+ contextWindow: 1000000,
2029
2065
  maxTokens: 4096,
2030
2066
  },
2031
2067
  "nvidia/nemotron-3-super-120b-a12b:free": {
@@ -2056,13 +2092,13 @@ export const OPENROUTER_MODELS = {
2056
2092
  reasoning: true,
2057
2093
  input: ["text"],
2058
2094
  cost: {
2059
- input: 0.5,
2060
- output: 2.2,
2061
- cacheRead: 0.1,
2095
+ input: 0.6,
2096
+ output: 3.6,
2097
+ cacheRead: 0.2,
2062
2098
  cacheWrite: 0,
2063
2099
  },
2064
- contextWindow: 262144,
2065
- maxTokens: 16384,
2100
+ contextWindow: 512288,
2101
+ maxTokens: 4096,
2066
2102
  },
2067
2103
  "nvidia/nemotron-3-ultra-550b-a55b:free": {
2068
2104
  id: "nvidia/nemotron-3-ultra-550b-a55b:free",
@@ -2242,7 +2278,7 @@ export const OPENROUTER_MODELS = {
2242
2278
  cacheWrite: 0,
2243
2279
  },
2244
2280
  contextWindow: 1047576,
2245
- maxTokens: 4096,
2281
+ maxTokens: 32768,
2246
2282
  },
2247
2283
  "openai/gpt-4.1-mini": {
2248
2284
  id: "openai/gpt-4.1-mini",
@@ -2292,7 +2328,7 @@ export const OPENROUTER_MODELS = {
2292
2328
  cost: {
2293
2329
  input: 2.5,
2294
2330
  output: 10,
2295
- cacheRead: 0,
2331
+ cacheRead: 1.25,
2296
2332
  cacheWrite: 0,
2297
2333
  },
2298
2334
  contextWindow: 128000,
@@ -2508,11 +2544,11 @@ export const OPENROUTER_MODELS = {
2508
2544
  cost: {
2509
2545
  input: 1.25,
2510
2546
  output: 10,
2511
- cacheRead: 0.13,
2547
+ cacheRead: 0.125,
2512
2548
  cacheWrite: 0,
2513
2549
  },
2514
2550
  contextWindow: 128000,
2515
- maxTokens: 32000,
2551
+ maxTokens: 16384,
2516
2552
  },
2517
2553
  "openai/gpt-5.1-codex": {
2518
2554
  id: "openai/gpt-5.1-codex",
@@ -2526,7 +2562,7 @@ export const OPENROUTER_MODELS = {
2526
2562
  cost: {
2527
2563
  input: 1.25,
2528
2564
  output: 10,
2529
- cacheRead: 0.13,
2565
+ cacheRead: 0.125,
2530
2566
  cacheWrite: 0,
2531
2567
  },
2532
2568
  contextWindow: 400000,
@@ -2974,8 +3010,8 @@ export const OPENROUTER_MODELS = {
2974
3010
  reasoning: true,
2975
3011
  input: ["text"],
2976
3012
  cost: {
2977
- input: 0.03,
2978
- output: 0.15,
3013
+ input: 0.037,
3014
+ output: 0.17,
2979
3015
  cacheRead: 0,
2980
3016
  cacheWrite: 0,
2981
3017
  },
@@ -2992,13 +3028,13 @@ export const OPENROUTER_MODELS = {
2992
3028
  reasoning: true,
2993
3029
  input: ["text"],
2994
3030
  cost: {
2995
- input: 0.029,
2996
- output: 0.14,
2997
- cacheRead: 0,
3031
+ input: 0.03,
3032
+ output: 0.13,
3033
+ cacheRead: 0.03,
2998
3034
  cacheWrite: 0,
2999
3035
  },
3000
3036
  contextWindow: 131072,
3001
- maxTokens: 4096,
3037
+ maxTokens: 131072,
3002
3038
  },
3003
3039
  "openai/gpt-oss-20b:free": {
3004
3040
  id: "openai/gpt-oss-20b:free",
@@ -3424,13 +3460,13 @@ export const OPENROUTER_MODELS = {
3424
3460
  reasoning: true,
3425
3461
  input: ["text"],
3426
3462
  cost: {
3427
- input: 0.1,
3463
+ input: 0.12,
3428
3464
  output: 0.24,
3429
3465
  cacheRead: 0,
3430
3466
  cacheWrite: 0,
3431
3467
  },
3432
3468
  contextWindow: 40960,
3433
- maxTokens: 40960,
3469
+ maxTokens: 16384,
3434
3470
  },
3435
3471
  "qwen/qwen3-235b-a22b": {
3436
3472
  id: "qwen/qwen3-235b-a22b",
@@ -3514,13 +3550,13 @@ export const OPENROUTER_MODELS = {
3514
3550
  reasoning: false,
3515
3551
  input: ["text"],
3516
3552
  cost: {
3517
- input: 0.04815,
3518
- output: 0.19305,
3553
+ input: 0.1,
3554
+ output: 0.3,
3519
3555
  cacheRead: 0,
3520
3556
  cacheWrite: 0,
3521
3557
  },
3522
- contextWindow: 128000,
3523
- maxTokens: 32000,
3558
+ contextWindow: 262144,
3559
+ maxTokens: 4096,
3524
3560
  },
3525
3561
  "qwen/qwen3-30b-a3b-thinking-2507": {
3526
3562
  id: "qwen/qwen3-30b-a3b-thinking-2507",
@@ -3586,9 +3622,9 @@ export const OPENROUTER_MODELS = {
3586
3622
  reasoning: false,
3587
3623
  input: ["text"],
3588
3624
  cost: {
3589
- input: 0.22,
3590
- output: 1.8,
3591
- cacheRead: 0,
3625
+ input: 0.3,
3626
+ output: 1,
3627
+ cacheRead: 0.1,
3592
3628
  cacheWrite: 0,
3593
3629
  },
3594
3630
  contextWindow: 262144,
@@ -3730,13 +3766,13 @@ export const OPENROUTER_MODELS = {
3730
3766
  reasoning: false,
3731
3767
  input: ["text"],
3732
3768
  cost: {
3733
- input: 0.09,
3769
+ input: 0.1,
3734
3770
  output: 1.1,
3735
- cacheRead: 0,
3771
+ cacheRead: 0.07,
3736
3772
  cacheWrite: 0,
3737
3773
  },
3738
3774
  contextWindow: 262144,
3739
- maxTokens: 16384,
3775
+ maxTokens: 262144,
3740
3776
  },
3741
3777
  "qwen/qwen3-next-80b-a3b-instruct:free": {
3742
3778
  id: "qwen/qwen3-next-80b-a3b-instruct:free",
@@ -3784,13 +3820,13 @@ export const OPENROUTER_MODELS = {
3784
3820
  reasoning: false,
3785
3821
  input: ["text", "image"],
3786
3822
  cost: {
3787
- input: 0.2,
3788
- output: 0.88,
3789
- cacheRead: 0.11,
3823
+ input: 0.21,
3824
+ output: 1.9,
3825
+ cacheRead: 0.1,
3790
3826
  cacheWrite: 0,
3791
3827
  },
3792
- contextWindow: 262144,
3793
- maxTokens: 16384,
3828
+ contextWindow: 131072,
3829
+ maxTokens: 32768,
3794
3830
  },
3795
3831
  "qwen/qwen3-vl-235b-a22b-thinking": {
3796
3832
  id: "qwen/qwen3-vl-235b-a22b-thinking",
@@ -3916,7 +3952,7 @@ export const OPENROUTER_MODELS = {
3916
3952
  cacheWrite: 0,
3917
3953
  },
3918
3954
  contextWindow: 262144,
3919
- maxTokens: 262144,
3955
+ maxTokens: 65536,
3920
3956
  },
3921
3957
  "qwen/qwen3.5-27b": {
3922
3958
  id: "qwen/qwen3.5-27b",
@@ -3948,11 +3984,11 @@ export const OPENROUTER_MODELS = {
3948
3984
  cost: {
3949
3985
  input: 0.14,
3950
3986
  output: 1,
3951
- cacheRead: 0.05,
3987
+ cacheRead: 0,
3952
3988
  cacheWrite: 0,
3953
3989
  },
3954
3990
  contextWindow: 262144,
3955
- maxTokens: 81920,
3991
+ maxTokens: 262144,
3956
3992
  },
3957
3993
  "qwen/qwen3.5-397b-a17b": {
3958
3994
  id: "qwen/qwen3.5-397b-a17b",
@@ -3964,13 +4000,13 @@ export const OPENROUTER_MODELS = {
3964
4000
  reasoning: true,
3965
4001
  input: ["text", "image"],
3966
4002
  cost: {
3967
- input: 0.385,
3968
- output: 2.45,
3969
- cacheRead: 0.111,
4003
+ input: 0.45,
4004
+ output: 3,
4005
+ cacheRead: 0.225,
3970
4006
  cacheWrite: 0,
3971
4007
  },
3972
- contextWindow: 131072,
3973
- maxTokens: 4096,
4008
+ contextWindow: 262144,
4009
+ maxTokens: 65536,
3974
4010
  },
3975
4011
  "qwen/qwen3.5-9b": {
3976
4012
  id: "qwen/qwen3.5-9b",
@@ -4054,13 +4090,13 @@ export const OPENROUTER_MODELS = {
4054
4090
  reasoning: true,
4055
4091
  input: ["text", "image"],
4056
4092
  cost: {
4057
- input: 0.289,
4058
- output: 2.4,
4093
+ input: 0.45,
4094
+ output: 2.7,
4059
4095
  cacheRead: 0,
4060
4096
  cacheWrite: 0,
4061
4097
  },
4062
- contextWindow: 131072,
4063
- maxTokens: 131072,
4098
+ contextWindow: 262144,
4099
+ maxTokens: 65536,
4064
4100
  },
4065
4101
  "qwen/qwen3.6-35b-a3b": {
4066
4102
  id: "qwen/qwen3.6-35b-a3b",
@@ -4144,10 +4180,10 @@ export const OPENROUTER_MODELS = {
4144
4180
  reasoning: true,
4145
4181
  input: ["text"],
4146
4182
  cost: {
4147
- input: 1.25,
4148
- output: 3.75,
4149
- cacheRead: 0.25,
4150
- cacheWrite: 1.5625,
4183
+ input: 1.475,
4184
+ output: 4.425,
4185
+ cacheRead: 0.295,
4186
+ cacheWrite: 1.84375,
4151
4187
  },
4152
4188
  contextWindow: 1000000,
4153
4189
  maxTokens: 65536,
@@ -4288,13 +4324,13 @@ export const OPENROUTER_MODELS = {
4288
4324
  reasoning: true,
4289
4325
  input: ["text"],
4290
4326
  cost: {
4291
- input: 0.14,
4292
- output: 0.58,
4293
- cacheRead: 0.035,
4327
+ input: 0.2,
4328
+ output: 0.8,
4329
+ cacheRead: 0.05,
4294
4330
  cacheWrite: 0,
4295
4331
  },
4296
4332
  contextWindow: 262144,
4297
- maxTokens: 4096,
4333
+ maxTokens: 131072,
4298
4334
  },
4299
4335
  "tencent/hy3-preview": {
4300
4336
  id: "tencent/hy3-preview",
@@ -4450,13 +4486,13 @@ export const OPENROUTER_MODELS = {
4450
4486
  reasoning: true,
4451
4487
  input: ["text", "image"],
4452
4488
  cost: {
4453
- input: 0.105,
4489
+ input: 0.14,
4454
4490
  output: 0.28,
4455
- cacheRead: 0.028,
4491
+ cacheRead: 0.0028,
4456
4492
  cacheWrite: 0,
4457
4493
  },
4458
- contextWindow: 262144,
4459
- maxTokens: 4096,
4494
+ contextWindow: 1048576,
4495
+ maxTokens: 131072,
4460
4496
  },
4461
4497
  "xiaomi/mimo-v2.5-pro": {
4462
4498
  id: "xiaomi/mimo-v2.5-pro",
@@ -4540,13 +4576,13 @@ export const OPENROUTER_MODELS = {
4540
4576
  reasoning: true,
4541
4577
  input: ["text"],
4542
4578
  cost: {
4543
- input: 0.43,
4544
- output: 1.75,
4545
- cacheRead: 0.08,
4579
+ input: 0.5,
4580
+ output: 2,
4581
+ cacheRead: 0.1,
4546
4582
  cacheWrite: 0,
4547
4583
  },
4548
- contextWindow: 198000,
4549
- maxTokens: 16384,
4584
+ contextWindow: 202752,
4585
+ maxTokens: 131072,
4550
4586
  },
4551
4587
  "z-ai/glm-4.6v": {
4552
4588
  id: "z-ai/glm-4.6v",
@@ -4594,13 +4630,13 @@ export const OPENROUTER_MODELS = {
4594
4630
  reasoning: true,
4595
4631
  input: ["text"],
4596
4632
  cost: {
4597
- input: 0.06,
4633
+ input: 0.0605,
4598
4634
  output: 0.4,
4599
- cacheRead: 0.01,
4635
+ cacheRead: 0,
4600
4636
  cacheWrite: 0,
4601
4637
  },
4602
- contextWindow: 202752,
4603
- maxTokens: 16384,
4638
+ contextWindow: 131072,
4639
+ maxTokens: 131072,
4604
4640
  },
4605
4641
  "z-ai/glm-5": {
4606
4642
  id: "z-ai/glm-5",
@@ -4617,8 +4653,8 @@ export const OPENROUTER_MODELS = {
4617
4653
  cacheRead: 0.119,
4618
4654
  cacheWrite: 0,
4619
4655
  },
4620
- contextWindow: 198000,
4621
- maxTokens: 128000,
4656
+ contextWindow: 202752,
4657
+ maxTokens: 202752,
4622
4658
  },
4623
4659
  "z-ai/glm-5-turbo": {
4624
4660
  id: "z-ai/glm-5-turbo",
@@ -4635,7 +4671,7 @@ export const OPENROUTER_MODELS = {
4635
4671
  cacheRead: 0.24,
4636
4672
  cacheWrite: 0,
4637
4673
  },
4638
- contextWindow: 262144,
4674
+ contextWindow: 202752,
4639
4675
  maxTokens: 131072,
4640
4676
  },
4641
4677
  "z-ai/glm-5.1": {
@@ -4667,13 +4703,13 @@ export const OPENROUTER_MODELS = {
4667
4703
  thinkingLevelMap: { "xhigh": "xhigh" },
4668
4704
  input: ["text"],
4669
4705
  cost: {
4670
- input: 0.924,
4671
- output: 2.904,
4672
- cacheRead: 0.1716,
4706
+ input: 0.9212,
4707
+ output: 2.8952,
4708
+ cacheRead: 0.17108,
4673
4709
  cacheWrite: 0,
4674
4710
  },
4675
- contextWindow: 1024000,
4676
- maxTokens: 128000,
4711
+ contextWindow: 1048576,
4712
+ maxTokens: 131072,
4677
4713
  },
4678
4714
  "z-ai/glm-5v-turbo": {
4679
4715
  id: "z-ai/glm-5v-turbo",
@@ -4811,13 +4847,13 @@ export const OPENROUTER_MODELS = {
4811
4847
  reasoning: true,
4812
4848
  input: ["text", "image"],
4813
4849
  cost: {
4814
- input: 0.66,
4815
- output: 3.41,
4816
- cacheRead: 0.15,
4850
+ input: 3,
4851
+ output: 15,
4852
+ cacheRead: 0.3,
4817
4853
  cacheWrite: 0,
4818
4854
  },
4819
- contextWindow: 262144,
4820
- maxTokens: 262144,
4855
+ contextWindow: 1048576,
4856
+ maxTokens: 131072,
4821
4857
  },
4822
4858
  "~openai/gpt-latest": {
4823
4859
  id: "~openai/gpt-latest",