@earendil-works/pi-ai 0.80.6 → 0.80.8

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 (252) hide show
  1. package/README.md +79 -24
  2. package/dist/api/anthropic-messages.d.ts.map +1 -1
  3. package/dist/api/anthropic-messages.js +95 -46
  4. package/dist/api/anthropic-messages.js.map +1 -1
  5. package/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  6. package/dist/api/bedrock-converse-stream.js +14 -7
  7. package/dist/api/bedrock-converse-stream.js.map +1 -1
  8. package/dist/api/lazy.d.ts.map +1 -1
  9. package/dist/api/lazy.js +9 -10
  10. package/dist/api/lazy.js.map +1 -1
  11. package/dist/api/openai-codex-responses.d.ts +1 -0
  12. package/dist/api/openai-codex-responses.d.ts.map +1 -1
  13. package/dist/api/openai-codex-responses.js +9 -5
  14. package/dist/api/openai-codex-responses.js.map +1 -1
  15. package/dist/api/openai-completions.d.ts.map +1 -1
  16. package/dist/api/openai-completions.js +12 -3
  17. package/dist/api/openai-completions.js.map +1 -1
  18. package/dist/api/openai-responses-shared.d.ts +3 -1
  19. package/dist/api/openai-responses-shared.d.ts.map +1 -1
  20. package/dist/api/openai-responses-shared.js +51 -0
  21. package/dist/api/openai-responses-shared.js.map +1 -1
  22. package/dist/api/openai-responses.d.ts +1 -0
  23. package/dist/api/openai-responses.d.ts.map +1 -1
  24. package/dist/api/openai-responses.js +26 -8
  25. package/dist/api/openai-responses.js.map +1 -1
  26. package/dist/api/pi-messages.d.ts +97 -0
  27. package/dist/api/pi-messages.d.ts.map +1 -0
  28. package/dist/api/pi-messages.js +309 -0
  29. package/dist/api/pi-messages.js.map +1 -0
  30. package/dist/api/pi-messages.lazy.d.ts +3 -0
  31. package/dist/api/pi-messages.lazy.d.ts.map +1 -0
  32. package/dist/api/pi-messages.lazy.js +3 -0
  33. package/dist/api/pi-messages.lazy.js.map +1 -0
  34. package/dist/auth/credential-store.d.ts +2 -1
  35. package/dist/auth/credential-store.d.ts.map +1 -1
  36. package/dist/auth/credential-store.js +3 -0
  37. package/dist/auth/credential-store.js.map +1 -1
  38. package/dist/auth/helpers.d.ts.map +1 -1
  39. package/dist/auth/helpers.js +3 -3
  40. package/dist/auth/helpers.js.map +1 -1
  41. package/dist/auth/oauth/anthropic.d.ts +9 -0
  42. package/dist/auth/oauth/anthropic.d.ts.map +1 -0
  43. package/dist/{utils → auth}/oauth/anthropic.js +51 -116
  44. package/dist/auth/oauth/anthropic.js.map +1 -0
  45. package/dist/auth/oauth/device-code.d.ts.map +1 -0
  46. package/dist/auth/oauth/device-code.js.map +1 -0
  47. package/dist/auth/oauth/github-copilot.d.ts +6 -0
  48. package/dist/auth/oauth/github-copilot.d.ts.map +1 -0
  49. package/dist/{utils → auth}/oauth/github-copilot.js +18 -77
  50. package/dist/auth/oauth/github-copilot.js.map +1 -0
  51. package/dist/auth/oauth/load.d.ts +23 -0
  52. package/dist/auth/oauth/load.d.ts.map +1 -0
  53. package/dist/auth/oauth/load.js +49 -0
  54. package/dist/auth/oauth/load.js.map +1 -0
  55. package/dist/auth/oauth/oauth-page.d.ts.map +1 -0
  56. package/dist/auth/oauth/oauth-page.js.map +1 -0
  57. package/dist/auth/oauth/openai-codex.d.ts +9 -0
  58. package/dist/auth/oauth/openai-codex.d.ts.map +1 -0
  59. package/dist/{utils → auth}/oauth/openai-codex.js +61 -155
  60. package/dist/auth/oauth/openai-codex.js.map +1 -0
  61. package/dist/auth/oauth/pkce.d.ts.map +1 -0
  62. package/dist/auth/oauth/pkce.js.map +1 -0
  63. package/dist/auth/oauth/radius.d.ts +16 -0
  64. package/dist/auth/oauth/radius.d.ts.map +1 -0
  65. package/dist/auth/oauth/radius.js +318 -0
  66. package/dist/auth/oauth/radius.js.map +1 -0
  67. package/dist/auth/oauth/xai.d.ts +6 -0
  68. package/dist/auth/oauth/xai.d.ts.map +1 -0
  69. package/dist/auth/oauth/xai.js +184 -0
  70. package/dist/auth/oauth/xai.js.map +1 -0
  71. package/dist/auth/resolve.d.ts +2 -4
  72. package/dist/auth/resolve.d.ts.map +1 -1
  73. package/dist/auth/resolve.js +9 -7
  74. package/dist/auth/resolve.js.map +1 -1
  75. package/dist/auth/types.d.ts +47 -10
  76. package/dist/auth/types.d.ts.map +1 -1
  77. package/dist/auth/types.js.map +1 -1
  78. package/dist/bun-oauth.d.ts +3 -0
  79. package/dist/bun-oauth.d.ts.map +1 -0
  80. package/dist/bun-oauth.js +17 -0
  81. package/dist/bun-oauth.js.map +1 -0
  82. package/dist/cli.d.ts.map +1 -1
  83. package/dist/cli.js +58 -76
  84. package/dist/cli.js.map +1 -1
  85. package/dist/compat/extension-oauth-types.d.ts +39 -0
  86. package/dist/compat/extension-oauth-types.d.ts.map +1 -0
  87. package/dist/compat/extension-oauth-types.js +2 -0
  88. package/dist/compat/extension-oauth-types.js.map +1 -0
  89. package/dist/compat.d.ts +2 -0
  90. package/dist/compat.d.ts.map +1 -1
  91. package/dist/compat.js +25 -8
  92. package/dist/compat.js.map +1 -1
  93. package/dist/env-api-keys.d.ts.map +1 -1
  94. package/dist/env-api-keys.js +1 -0
  95. package/dist/env-api-keys.js.map +1 -1
  96. package/dist/images-models.d.ts +4 -2
  97. package/dist/images-models.d.ts.map +1 -1
  98. package/dist/images-models.js +5 -4
  99. package/dist/images-models.js.map +1 -1
  100. package/dist/index.d.ts +3 -1
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +1 -0
  103. package/dist/index.js.map +1 -1
  104. package/dist/models-store.d.ts +25 -0
  105. package/dist/models-store.d.ts.map +1 -0
  106. package/dist/models-store.js +14 -0
  107. package/dist/models-store.js.map +1 -0
  108. package/dist/models.d.ts +66 -30
  109. package/dist/models.d.ts.map +1 -1
  110. package/dist/models.generated.d.ts +570 -163
  111. package/dist/models.generated.d.ts.map +1 -1
  112. package/dist/models.js +214 -29
  113. package/dist/models.js.map +1 -1
  114. package/dist/oauth.d.ts +2 -1
  115. package/dist/oauth.d.ts.map +1 -1
  116. package/dist/oauth.js +1 -1
  117. package/dist/oauth.js.map +1 -1
  118. package/dist/providers/all.d.ts +11 -6
  119. package/dist/providers/all.d.ts.map +1 -1
  120. package/dist/providers/all.js +3 -0
  121. package/dist/providers/all.js.map +1 -1
  122. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  123. package/dist/providers/amazon-bedrock.js +51 -6
  124. package/dist/providers/amazon-bedrock.js.map +1 -1
  125. package/dist/providers/amazon-bedrock.models.d.ts +60 -0
  126. package/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
  127. package/dist/providers/amazon-bedrock.models.js +54 -0
  128. package/dist/providers/amazon-bedrock.models.js.map +1 -1
  129. package/dist/providers/anthropic.d.ts.map +1 -1
  130. package/dist/providers/anthropic.js +1 -1
  131. package/dist/providers/anthropic.js.map +1 -1
  132. package/dist/providers/azure-openai-responses.models.d.ts +17 -0
  133. package/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
  134. package/dist/providers/azure-openai-responses.models.js +17 -0
  135. package/dist/providers/azure-openai-responses.models.js.map +1 -1
  136. package/dist/providers/cerebras.models.d.ts.map +1 -1
  137. package/dist/providers/cerebras.models.js +1 -1
  138. package/dist/providers/cerebras.models.js.map +1 -1
  139. package/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -1
  140. package/dist/providers/cloudflare-ai-gateway.js +4 -3
  141. package/dist/providers/cloudflare-ai-gateway.js.map +1 -1
  142. package/dist/providers/cloudflare-ai-gateway.models.d.ts +92 -0
  143. package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
  144. package/dist/providers/cloudflare-ai-gateway.models.js +72 -0
  145. package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
  146. package/dist/providers/cloudflare-auth.d.ts.map +1 -1
  147. package/dist/providers/cloudflare-auth.js +22 -26
  148. package/dist/providers/cloudflare-auth.js.map +1 -1
  149. package/dist/providers/cloudflare-stream.d.ts +8 -0
  150. package/dist/providers/cloudflare-stream.d.ts.map +1 -0
  151. package/dist/providers/cloudflare-stream.js +21 -0
  152. package/dist/providers/cloudflare-stream.js.map +1 -0
  153. package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -1
  154. package/dist/providers/cloudflare-workers-ai.js +2 -1
  155. package/dist/providers/cloudflare-workers-ai.js.map +1 -1
  156. package/dist/providers/github-copilot.d.ts.map +1 -1
  157. package/dist/providers/github-copilot.js +11 -1
  158. package/dist/providers/github-copilot.js.map +1 -1
  159. package/dist/providers/github-copilot.models.d.ts +93 -6
  160. package/dist/providers/github-copilot.models.d.ts.map +1 -1
  161. package/dist/providers/github-copilot.models.js +60 -3
  162. package/dist/providers/github-copilot.models.js.map +1 -1
  163. package/dist/providers/google-vertex.d.ts.map +1 -1
  164. package/dist/providers/google-vertex.js +56 -5
  165. package/dist/providers/google-vertex.js.map +1 -1
  166. package/dist/providers/kimi-coding.models.d.ts +20 -0
  167. package/dist/providers/kimi-coding.models.d.ts.map +1 -1
  168. package/dist/providers/kimi-coding.models.js +18 -0
  169. package/dist/providers/kimi-coding.models.js.map +1 -1
  170. package/dist/providers/openai-codex.d.ts.map +1 -1
  171. package/dist/providers/openai-codex.js +1 -1
  172. package/dist/providers/openai-codex.js.map +1 -1
  173. package/dist/providers/openai-codex.models.d.ts +18 -0
  174. package/dist/providers/openai-codex.models.d.ts.map +1 -1
  175. package/dist/providers/openai-codex.models.js +6 -0
  176. package/dist/providers/openai-codex.models.js.map +1 -1
  177. package/dist/providers/openai.models.d.ts +38 -0
  178. package/dist/providers/openai.models.d.ts.map +1 -1
  179. package/dist/providers/openai.models.js +24 -0
  180. package/dist/providers/openai.models.js.map +1 -1
  181. package/dist/providers/opencode.models.d.ts +123 -0
  182. package/dist/providers/opencode.models.d.ts.map +1 -1
  183. package/dist/providers/opencode.models.js +74 -1
  184. package/dist/providers/opencode.models.js.map +1 -1
  185. package/dist/providers/openrouter.models.d.ts +28 -43
  186. package/dist/providers/openrouter.models.d.ts.map +1 -1
  187. package/dist/providers/openrouter.models.js +186 -203
  188. package/dist/providers/openrouter.models.js.map +1 -1
  189. package/dist/providers/radius-config.d.ts +26 -0
  190. package/dist/providers/radius-config.d.ts.map +1 -0
  191. package/dist/providers/radius-config.js +59 -0
  192. package/dist/providers/radius-config.js.map +1 -0
  193. package/dist/providers/radius.d.ts +9 -0
  194. package/dist/providers/radius.d.ts.map +1 -0
  195. package/dist/providers/radius.js +54 -0
  196. package/dist/providers/radius.js.map +1 -0
  197. package/dist/providers/vercel-ai-gateway.models.d.ts +71 -106
  198. package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  199. package/dist/providers/vercel-ai-gateway.models.js +89 -136
  200. package/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  201. package/dist/providers/xai.d.ts +1 -1
  202. package/dist/providers/xai.d.ts.map +1 -1
  203. package/dist/providers/xai.js +11 -3
  204. package/dist/providers/xai.js.map +1 -1
  205. package/dist/providers/xai.models.d.ts +6 -4
  206. package/dist/providers/xai.models.d.ts.map +1 -1
  207. package/dist/providers/xai.models.js +3 -2
  208. package/dist/providers/xai.models.js.map +1 -1
  209. package/dist/types.d.ts +25 -6
  210. package/dist/types.d.ts.map +1 -1
  211. package/dist/types.js.map +1 -1
  212. package/dist/utils/deferred-tools.d.ts +9 -0
  213. package/dist/utils/deferred-tools.d.ts.map +1 -0
  214. package/dist/utils/deferred-tools.js +36 -0
  215. package/dist/utils/deferred-tools.js.map +1 -0
  216. package/dist/utils/estimate.d.ts.map +1 -1
  217. package/dist/utils/estimate.js +18 -5
  218. package/dist/utils/estimate.js.map +1 -1
  219. package/package.json +6 -1
  220. package/dist/utils/oauth/anthropic.d.ts +0 -27
  221. package/dist/utils/oauth/anthropic.d.ts.map +0 -1
  222. package/dist/utils/oauth/anthropic.js.map +0 -1
  223. package/dist/utils/oauth/device-code.d.ts.map +0 -1
  224. package/dist/utils/oauth/device-code.js.map +0 -1
  225. package/dist/utils/oauth/github-copilot.d.ts +0 -32
  226. package/dist/utils/oauth/github-copilot.d.ts.map +0 -1
  227. package/dist/utils/oauth/github-copilot.js.map +0 -1
  228. package/dist/utils/oauth/index.d.ts +0 -58
  229. package/dist/utils/oauth/index.d.ts.map +0 -1
  230. package/dist/utils/oauth/index.js +0 -122
  231. package/dist/utils/oauth/index.js.map +0 -1
  232. package/dist/utils/oauth/load.d.ts +0 -5
  233. package/dist/utils/oauth/load.d.ts.map +0 -1
  234. package/dist/utils/oauth/load.js +0 -22
  235. package/dist/utils/oauth/load.js.map +0 -1
  236. package/dist/utils/oauth/oauth-page.d.ts.map +0 -1
  237. package/dist/utils/oauth/oauth-page.js.map +0 -1
  238. package/dist/utils/oauth/openai-codex.d.ts +0 -45
  239. package/dist/utils/oauth/openai-codex.d.ts.map +0 -1
  240. package/dist/utils/oauth/openai-codex.js.map +0 -1
  241. package/dist/utils/oauth/pkce.d.ts.map +0 -1
  242. package/dist/utils/oauth/pkce.js.map +0 -1
  243. package/dist/utils/oauth/types.d.ts +0 -64
  244. package/dist/utils/oauth/types.d.ts.map +0 -1
  245. package/dist/utils/oauth/types.js +0 -2
  246. package/dist/utils/oauth/types.js.map +0 -1
  247. /package/dist/{utils → auth}/oauth/device-code.d.ts +0 -0
  248. /package/dist/{utils → auth}/oauth/device-code.js +0 -0
  249. /package/dist/{utils → auth}/oauth/oauth-page.d.ts +0 -0
  250. /package/dist/{utils → auth}/oauth/oauth-page.js +0 -0
  251. /package/dist/{utils → auth}/oauth/pkce.d.ts +0 -0
  252. /package/dist/{utils → auth}/oauth/pkce.js +0 -0
@@ -189,6 +189,7 @@ export const OPENROUTER_MODELS = {
189
189
  baseUrl: "https://openrouter.ai/api/v1",
190
190
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
191
191
  reasoning: true,
192
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "max": "max" },
192
193
  input: ["text", "image"],
193
194
  cost: {
194
195
  input: 10,
@@ -381,7 +382,7 @@ export const OPENROUTER_MODELS = {
381
382
  cacheRead: 0.3,
382
383
  cacheWrite: 3.75,
383
384
  },
384
- contextWindow: 1000000,
385
+ contextWindow: 200000,
385
386
  maxTokens: 64000,
386
387
  },
387
388
  "anthropic/claude-sonnet-4.5": {
@@ -458,24 +459,6 @@ export const OPENROUTER_MODELS = {
458
459
  contextWindow: 262144,
459
460
  maxTokens: 80000,
460
461
  },
461
- "arcee-ai/trinity-mini": {
462
- id: "arcee-ai/trinity-mini",
463
- name: "Arcee AI: Trinity Mini",
464
- api: "openai-completions",
465
- provider: "openrouter",
466
- baseUrl: "https://openrouter.ai/api/v1",
467
- compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
468
- reasoning: true,
469
- input: ["text"],
470
- cost: {
471
- input: 0.045,
472
- output: 0.15,
473
- cacheRead: 0,
474
- cacheWrite: 0,
475
- },
476
- contextWindow: 131072,
477
- maxTokens: 131072,
478
- },
479
462
  "arcee-ai/virtuoso-large": {
480
463
  id: "arcee-ai/virtuoso-large",
481
464
  name: "Arcee AI: Virtuoso Large",
@@ -653,7 +636,7 @@ export const OPENROUTER_MODELS = {
653
636
  cacheRead: 0,
654
637
  cacheWrite: 0,
655
638
  },
656
- contextWindow: 131072,
639
+ contextWindow: 128000,
657
640
  maxTokens: 16000,
658
641
  },
659
642
  "deepseek/deepseek-chat-v3-0324": {
@@ -666,13 +649,13 @@ export const OPENROUTER_MODELS = {
666
649
  reasoning: false,
667
650
  input: ["text"],
668
651
  cost: {
669
- input: 0.24,
670
- output: 0.9,
652
+ input: 0.27,
653
+ output: 1.12,
671
654
  cacheRead: 0.135,
672
655
  cacheWrite: 0,
673
656
  },
674
657
  contextWindow: 163840,
675
- maxTokens: 16384,
658
+ maxTokens: 65536,
676
659
  },
677
660
  "deepseek/deepseek-chat-v3.1": {
678
661
  id: "deepseek/deepseek-chat-v3.1",
@@ -684,8 +667,8 @@ export const OPENROUTER_MODELS = {
684
667
  reasoning: true,
685
668
  input: ["text"],
686
669
  cost: {
687
- input: 0.21,
688
- output: 0.79,
670
+ input: 0.25,
671
+ output: 0.95,
689
672
  cacheRead: 0.13,
690
673
  cacheWrite: 0,
691
674
  },
@@ -707,7 +690,7 @@ export const OPENROUTER_MODELS = {
707
690
  cacheRead: 0,
708
691
  cacheWrite: 0,
709
692
  },
710
- contextWindow: 163840,
693
+ contextWindow: 64000,
711
694
  maxTokens: 16000,
712
695
  },
713
696
  "deepseek/deepseek-r1-0528": {
@@ -739,11 +722,11 @@ export const OPENROUTER_MODELS = {
739
722
  input: ["text"],
740
723
  cost: {
741
724
  input: 0.27,
742
- output: 0.95,
743
- cacheRead: 0.13,
725
+ output: 1,
726
+ cacheRead: 0.135,
744
727
  cacheWrite: 0,
745
728
  },
746
- contextWindow: 163840,
729
+ contextWindow: 131072,
747
730
  maxTokens: 32768,
748
731
  },
749
732
  "deepseek/deepseek-v3.2": {
@@ -756,13 +739,13 @@ export const OPENROUTER_MODELS = {
756
739
  reasoning: true,
757
740
  input: ["text"],
758
741
  cost: {
759
- input: 0.2288,
760
- output: 0.3432,
761
- cacheRead: 0.02288,
742
+ input: 0.269,
743
+ output: 0.4,
744
+ cacheRead: 0.1345,
762
745
  cacheWrite: 0,
763
746
  },
764
- contextWindow: 131072,
765
- maxTokens: 64000,
747
+ contextWindow: 163840,
748
+ maxTokens: 65536,
766
749
  },
767
750
  "deepseek/deepseek-v3.2-exp": {
768
751
  id: "deepseek/deepseek-v3.2-exp",
@@ -793,13 +776,13 @@ export const OPENROUTER_MODELS = {
793
776
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "max": null, "xhigh": "xhigh" },
794
777
  input: ["text"],
795
778
  cost: {
796
- input: 0.09,
797
- output: 0.18,
798
- cacheRead: 0.018,
779
+ input: 0.098,
780
+ output: 0.196,
781
+ cacheRead: 0.02,
799
782
  cacheWrite: 0,
800
783
  },
801
- contextWindow: 1048576,
802
- maxTokens: 65536,
784
+ contextWindow: 1048575,
785
+ maxTokens: 4096,
803
786
  },
804
787
  "deepseek/deepseek-v4-pro": {
805
788
  id: "deepseek/deepseek-v4-pro",
@@ -1015,7 +998,7 @@ export const OPENROUTER_MODELS = {
1015
998
  cacheRead: 0.2,
1016
999
  cacheWrite: 0.375,
1017
1000
  },
1018
- contextWindow: 1048756,
1001
+ contextWindow: 1048576,
1019
1002
  maxTokens: 65536,
1020
1003
  },
1021
1004
  "google/gemini-3.5-flash": {
@@ -1065,12 +1048,12 @@ export const OPENROUTER_MODELS = {
1065
1048
  input: ["text", "image"],
1066
1049
  cost: {
1067
1050
  input: 0.08,
1068
- output: 0.16,
1069
- cacheRead: 0,
1051
+ output: 0.45,
1052
+ cacheRead: 0.04,
1070
1053
  cacheWrite: 0,
1071
1054
  },
1072
1055
  contextWindow: 131072,
1073
- maxTokens: 16384,
1056
+ maxTokens: 131072,
1074
1057
  },
1075
1058
  "google/gemma-4-26b-a4b-it": {
1076
1059
  id: "google/gemma-4-26b-a4b-it",
@@ -1082,13 +1065,13 @@ export const OPENROUTER_MODELS = {
1082
1065
  reasoning: true,
1083
1066
  input: ["text", "image"],
1084
1067
  cost: {
1085
- input: 0.06,
1086
- output: 0.33,
1068
+ input: 0.1,
1069
+ output: 0.3,
1087
1070
  cacheRead: 0,
1088
1071
  cacheWrite: 0,
1089
1072
  },
1090
- contextWindow: 262144,
1091
- maxTokens: 4096,
1073
+ contextWindow: 256000,
1074
+ maxTokens: 256000,
1092
1075
  },
1093
1076
  "google/gemma-4-26b-a4b-it:free": {
1094
1077
  id: "google/gemma-4-26b-a4b-it:free",
@@ -1105,7 +1088,7 @@ export const OPENROUTER_MODELS = {
1105
1088
  cacheRead: 0,
1106
1089
  cacheWrite: 0,
1107
1090
  },
1108
- contextWindow: 262144,
1091
+ contextWindow: 131072,
1109
1092
  maxTokens: 32768,
1110
1093
  },
1111
1094
  "google/gemma-4-31b-it": {
@@ -1118,9 +1101,9 @@ export const OPENROUTER_MODELS = {
1118
1101
  reasoning: true,
1119
1102
  input: ["text", "image"],
1120
1103
  cost: {
1121
- input: 0.12,
1122
- output: 0.35,
1123
- cacheRead: 0.09,
1104
+ input: 0.22,
1105
+ output: 0.55,
1106
+ cacheRead: 0.12,
1124
1107
  cacheWrite: 0,
1125
1108
  },
1126
1109
  contextWindow: 262144,
@@ -1142,7 +1125,7 @@ export const OPENROUTER_MODELS = {
1142
1125
  cacheWrite: 0,
1143
1126
  },
1144
1127
  contextWindow: 262144,
1145
- maxTokens: 8192,
1128
+ maxTokens: 32768,
1146
1129
  },
1147
1130
  "ibm-granite/granite-4.1-8b": {
1148
1131
  id: "ibm-granite/granite-4.1-8b",
@@ -1235,6 +1218,24 @@ export const OPENROUTER_MODELS = {
1235
1218
  contextWindow: 262144,
1236
1219
  maxTokens: 65536,
1237
1220
  },
1221
+ "kwaipilot/kat-coder-air-v2.5": {
1222
+ id: "kwaipilot/kat-coder-air-v2.5",
1223
+ name: "Kwaipilot: KAT-Coder-Air V2.5",
1224
+ api: "openai-completions",
1225
+ provider: "openrouter",
1226
+ baseUrl: "https://openrouter.ai/api/v1",
1227
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1228
+ reasoning: false,
1229
+ input: ["text"],
1230
+ cost: {
1231
+ input: 0.15,
1232
+ output: 0.6,
1233
+ cacheRead: 0.03,
1234
+ cacheWrite: 0,
1235
+ },
1236
+ contextWindow: 256000,
1237
+ maxTokens: 80000,
1238
+ },
1238
1239
  "kwaipilot/kat-coder-pro-v2": {
1239
1240
  id: "kwaipilot/kat-coder-pro-v2",
1240
1241
  name: "Kwaipilot: KAT-Coder-Pro V2",
@@ -1253,23 +1254,23 @@ export const OPENROUTER_MODELS = {
1253
1254
  contextWindow: 256000,
1254
1255
  maxTokens: 80000,
1255
1256
  },
1256
- "liquid/lfm-2.5-1.2b-thinking:free": {
1257
- id: "liquid/lfm-2.5-1.2b-thinking:free",
1258
- name: "LiquidAI: LFM2.5-1.2B-Thinking (free)",
1257
+ "kwaipilot/kat-coder-pro-v2.5": {
1258
+ id: "kwaipilot/kat-coder-pro-v2.5",
1259
+ name: "Kwaipilot: KAT-Coder-Pro V2.5",
1259
1260
  api: "openai-completions",
1260
1261
  provider: "openrouter",
1261
1262
  baseUrl: "https://openrouter.ai/api/v1",
1262
1263
  compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1263
- reasoning: true,
1264
+ reasoning: false,
1264
1265
  input: ["text"],
1265
1266
  cost: {
1266
- input: 0,
1267
- output: 0,
1268
- cacheRead: 0,
1267
+ input: 0.74,
1268
+ output: 2.96,
1269
+ cacheRead: 0.15,
1269
1270
  cacheWrite: 0,
1270
1271
  },
1271
- contextWindow: 32768,
1272
- maxTokens: 4096,
1272
+ contextWindow: 256000,
1273
+ maxTokens: 80000,
1273
1274
  },
1274
1275
  "meta-llama/llama-3.1-70b-instruct": {
1275
1276
  id: "meta-llama/llama-3.1-70b-instruct",
@@ -1299,13 +1300,13 @@ export const OPENROUTER_MODELS = {
1299
1300
  reasoning: false,
1300
1301
  input: ["text"],
1301
1302
  cost: {
1302
- input: 0.02,
1303
- output: 0.03,
1304
- cacheRead: 0,
1303
+ input: 0.05,
1304
+ output: 0.08,
1305
+ cacheRead: 0.025,
1305
1306
  cacheWrite: 0,
1306
1307
  },
1307
1308
  contextWindow: 131072,
1308
- maxTokens: 16384,
1309
+ maxTokens: 131072,
1309
1310
  },
1310
1311
  "meta-llama/llama-3.3-70b-instruct": {
1311
1312
  id: "meta-llama/llama-3.3-70b-instruct",
@@ -1317,13 +1318,13 @@ export const OPENROUTER_MODELS = {
1317
1318
  reasoning: false,
1318
1319
  input: ["text"],
1319
1320
  cost: {
1320
- input: 0.1,
1321
- output: 0.32,
1321
+ input: 0.13,
1322
+ output: 0.4,
1322
1323
  cacheRead: 0,
1323
1324
  cacheWrite: 0,
1324
1325
  },
1325
1326
  contextWindow: 131072,
1326
- maxTokens: 16384,
1327
+ maxTokens: 128000,
1327
1328
  },
1328
1329
  "meta-llama/llama-3.3-70b-instruct:free": {
1329
1330
  id: "meta-llama/llama-3.3-70b-instruct:free",
@@ -1340,7 +1341,7 @@ export const OPENROUTER_MODELS = {
1340
1341
  cacheRead: 0,
1341
1342
  cacheWrite: 0,
1342
1343
  },
1343
- contextWindow: 131072,
1344
+ contextWindow: 65536,
1344
1345
  maxTokens: 4096,
1345
1346
  },
1346
1347
  "meta-llama/llama-4-maverick": {
@@ -1353,8 +1354,8 @@ export const OPENROUTER_MODELS = {
1353
1354
  reasoning: false,
1354
1355
  input: ["text", "image"],
1355
1356
  cost: {
1356
- input: 0.15,
1357
- output: 0.6,
1357
+ input: 0.2,
1358
+ output: 0.8,
1358
1359
  cacheRead: 0,
1359
1360
  cacheWrite: 0,
1360
1361
  },
@@ -1376,7 +1377,7 @@ export const OPENROUTER_MODELS = {
1376
1377
  cacheRead: 0,
1377
1378
  cacheWrite: 0,
1378
1379
  },
1379
- contextWindow: 10000000,
1380
+ contextWindow: 327680,
1380
1381
  maxTokens: 16384,
1381
1382
  },
1382
1383
  "minimax/minimax-m1": {
@@ -1389,7 +1390,7 @@ export const OPENROUTER_MODELS = {
1389
1390
  reasoning: true,
1390
1391
  input: ["text"],
1391
1392
  cost: {
1392
- input: 0.4,
1393
+ input: 0.55,
1393
1394
  output: 2.2,
1394
1395
  cacheRead: 0,
1395
1396
  cacheWrite: 0,
@@ -1448,7 +1449,7 @@ export const OPENROUTER_MODELS = {
1448
1449
  cacheRead: 0.05,
1449
1450
  cacheWrite: 0,
1450
1451
  },
1451
- contextWindow: 204800,
1452
+ contextWindow: 196608,
1452
1453
  maxTokens: 196608,
1453
1454
  },
1454
1455
  "minimax/minimax-m2.7": {
@@ -1461,13 +1462,13 @@ export const OPENROUTER_MODELS = {
1461
1462
  reasoning: true,
1462
1463
  input: ["text"],
1463
1464
  cost: {
1464
- input: 0.24,
1465
- output: 0.96,
1466
- cacheRead: 0,
1465
+ input: 0.3,
1466
+ output: 1.2,
1467
+ cacheRead: 0.06,
1467
1468
  cacheWrite: 0,
1468
1469
  },
1469
1470
  contextWindow: 204800,
1470
- maxTokens: 196608,
1471
+ maxTokens: 131072,
1471
1472
  },
1472
1473
  "minimax/minimax-m3": {
1473
1474
  id: "minimax/minimax-m3",
@@ -1484,8 +1485,8 @@ export const OPENROUTER_MODELS = {
1484
1485
  cacheRead: 0.06,
1485
1486
  cacheWrite: 0,
1486
1487
  },
1487
- contextWindow: 1048576,
1488
- maxTokens: 131072,
1488
+ contextWindow: 524288,
1489
+ maxTokens: 512000,
1489
1490
  },
1490
1491
  "mistralai/codestral-2508": {
1491
1492
  id: "mistralai/codestral-2508",
@@ -1696,12 +1697,12 @@ export const OPENROUTER_MODELS = {
1696
1697
  input: ["text"],
1697
1698
  cost: {
1698
1699
  input: 0.02,
1699
- output: 0.03,
1700
+ output: 0.04,
1700
1701
  cacheRead: 0,
1701
1702
  cacheWrite: 0,
1702
1703
  },
1703
1704
  contextWindow: 131072,
1704
- maxTokens: 4096,
1705
+ maxTokens: 16384,
1705
1706
  },
1706
1707
  "mistralai/mistral-saba": {
1707
1708
  id: "mistralai/mistral-saba",
@@ -1749,13 +1750,13 @@ export const OPENROUTER_MODELS = {
1749
1750
  reasoning: false,
1750
1751
  input: ["text", "image"],
1751
1752
  cost: {
1752
- input: 0.075,
1753
- output: 0.2,
1754
- cacheRead: 0,
1753
+ input: 0.1,
1754
+ output: 0.3,
1755
+ cacheRead: 0.01,
1755
1756
  cacheWrite: 0,
1756
1757
  },
1757
- contextWindow: 128000,
1758
- maxTokens: 16384,
1758
+ contextWindow: 131072,
1759
+ maxTokens: 4096,
1759
1760
  },
1760
1761
  "mistralai/mixtral-8x22b-instruct": {
1761
1762
  id: "mistralai/mixtral-8x22b-instruct",
@@ -1841,11 +1842,11 @@ export const OPENROUTER_MODELS = {
1841
1842
  cost: {
1842
1843
  input: 0.6,
1843
1844
  output: 2.5,
1844
- cacheRead: 0.15,
1845
+ cacheRead: 0,
1845
1846
  cacheWrite: 0,
1846
1847
  },
1847
1848
  contextWindow: 262144,
1848
- maxTokens: 100352,
1849
+ maxTokens: 262144,
1849
1850
  },
1850
1851
  "moonshotai/kimi-k2.5": {
1851
1852
  id: "moonshotai/kimi-k2.5",
@@ -1875,13 +1876,13 @@ export const OPENROUTER_MODELS = {
1875
1876
  reasoning: true,
1876
1877
  input: ["text", "image"],
1877
1878
  cost: {
1878
- input: 0.66,
1879
- output: 3.41,
1880
- cacheRead: 0.15,
1879
+ input: 0.95,
1880
+ output: 4,
1881
+ cacheRead: 0.16,
1881
1882
  cacheWrite: 0,
1882
1883
  },
1883
1884
  contextWindow: 262144,
1884
- maxTokens: 262144,
1885
+ maxTokens: 4096,
1885
1886
  },
1886
1887
  "moonshotai/kimi-k2.7-code": {
1887
1888
  id: "moonshotai/kimi-k2.7-code",
@@ -1893,9 +1894,9 @@ export const OPENROUTER_MODELS = {
1893
1894
  reasoning: true,
1894
1895
  input: ["text", "image"],
1895
1896
  cost: {
1896
- input: 0.72,
1897
- output: 3.49,
1898
- cacheRead: 0.159,
1897
+ input: 0.75,
1898
+ output: 3.5,
1899
+ cacheRead: 0.16,
1899
1900
  cacheWrite: 0,
1900
1901
  },
1901
1902
  contextWindow: 262144,
@@ -2019,9 +2020,9 @@ export const OPENROUTER_MODELS = {
2019
2020
  reasoning: true,
2020
2021
  input: ["text"],
2021
2022
  cost: {
2022
- input: 0.08,
2023
- output: 0.45,
2024
- cacheRead: 0,
2023
+ input: 0.21,
2024
+ output: 0.455,
2025
+ cacheRead: 0.06,
2025
2026
  cacheWrite: 0,
2026
2027
  },
2027
2028
  contextWindow: 1000000,
@@ -2042,7 +2043,7 @@ export const OPENROUTER_MODELS = {
2042
2043
  cacheRead: 0,
2043
2044
  cacheWrite: 0,
2044
2045
  },
2045
- contextWindow: 1000000,
2046
+ contextWindow: 262144,
2046
2047
  maxTokens: 262144,
2047
2048
  },
2048
2049
  "nvidia/nemotron-3-ultra-550b-a55b": {
@@ -2055,13 +2056,13 @@ export const OPENROUTER_MODELS = {
2055
2056
  reasoning: true,
2056
2057
  input: ["text"],
2057
2058
  cost: {
2058
- input: 0.5,
2059
- output: 2.2,
2060
- cacheRead: 0.1,
2059
+ input: 0.6,
2060
+ output: 3.6,
2061
+ cacheRead: 0.2,
2061
2062
  cacheWrite: 0,
2062
2063
  },
2063
- contextWindow: 1000000,
2064
- maxTokens: 16384,
2064
+ contextWindow: 512288,
2065
+ maxTokens: 4096,
2065
2066
  },
2066
2067
  "nvidia/nemotron-3-ultra-550b-a55b:free": {
2067
2068
  id: "nvidia/nemotron-3-ultra-550b-a55b:free",
@@ -2241,7 +2242,7 @@ export const OPENROUTER_MODELS = {
2241
2242
  cacheWrite: 0,
2242
2243
  },
2243
2244
  contextWindow: 1047576,
2244
- maxTokens: 4096,
2245
+ maxTokens: 32768,
2245
2246
  },
2246
2247
  "openai/gpt-4.1-mini": {
2247
2248
  id: "openai/gpt-4.1-mini",
@@ -2291,7 +2292,7 @@ export const OPENROUTER_MODELS = {
2291
2292
  cost: {
2292
2293
  input: 2.5,
2293
2294
  output: 10,
2294
- cacheRead: 0,
2295
+ cacheRead: 1.25,
2295
2296
  cacheWrite: 0,
2296
2297
  },
2297
2298
  contextWindow: 128000,
@@ -2453,11 +2454,11 @@ export const OPENROUTER_MODELS = {
2453
2454
  cost: {
2454
2455
  input: 0.05,
2455
2456
  output: 0.4,
2456
- cacheRead: 0.01,
2457
+ cacheRead: 0.005,
2457
2458
  cacheWrite: 0,
2458
2459
  },
2459
2460
  contextWindow: 400000,
2460
- maxTokens: 4096,
2461
+ maxTokens: 128000,
2461
2462
  },
2462
2463
  "openai/gpt-5-pro": {
2463
2464
  id: "openai/gpt-5-pro",
@@ -2489,7 +2490,7 @@ export const OPENROUTER_MODELS = {
2489
2490
  cost: {
2490
2491
  input: 1.25,
2491
2492
  output: 10,
2492
- cacheRead: 0.13,
2493
+ cacheRead: 0.125,
2493
2494
  cacheWrite: 0,
2494
2495
  },
2495
2496
  contextWindow: 400000,
@@ -2507,11 +2508,11 @@ export const OPENROUTER_MODELS = {
2507
2508
  cost: {
2508
2509
  input: 1.25,
2509
2510
  output: 10,
2510
- cacheRead: 0.13,
2511
+ cacheRead: 0.125,
2511
2512
  cacheWrite: 0,
2512
2513
  },
2513
2514
  contextWindow: 128000,
2514
- maxTokens: 32000,
2515
+ maxTokens: 16384,
2515
2516
  },
2516
2517
  "openai/gpt-5.1-codex": {
2517
2518
  id: "openai/gpt-5.1-codex",
@@ -2525,7 +2526,7 @@ export const OPENROUTER_MODELS = {
2525
2526
  cost: {
2526
2527
  input: 1.25,
2527
2528
  output: 10,
2528
- cacheRead: 0.13,
2529
+ cacheRead: 0.125,
2529
2530
  cacheWrite: 0,
2530
2531
  },
2531
2532
  contextWindow: 400000,
@@ -2973,26 +2974,8 @@ export const OPENROUTER_MODELS = {
2973
2974
  reasoning: true,
2974
2975
  input: ["text"],
2975
2976
  cost: {
2976
- input: 0.036,
2977
- output: 0.18,
2978
- cacheRead: 0,
2979
- cacheWrite: 0,
2980
- },
2981
- contextWindow: 131072,
2982
- maxTokens: 4096,
2983
- },
2984
- "openai/gpt-oss-120b:free": {
2985
- id: "openai/gpt-oss-120b:free",
2986
- name: "OpenAI: gpt-oss-120b (free)",
2987
- api: "openai-completions",
2988
- provider: "openrouter",
2989
- baseUrl: "https://openrouter.ai/api/v1",
2990
- compat: { "thinkingFormat": "openrouter" },
2991
- reasoning: true,
2992
- input: ["text"],
2993
- cost: {
2994
- input: 0,
2995
- output: 0,
2977
+ input: 0.037,
2978
+ output: 0.17,
2996
2979
  cacheRead: 0,
2997
2980
  cacheWrite: 0,
2998
2981
  },
@@ -3009,13 +2992,13 @@ export const OPENROUTER_MODELS = {
3009
2992
  reasoning: true,
3010
2993
  input: ["text"],
3011
2994
  cost: {
3012
- input: 0.029,
3013
- output: 0.14,
3014
- cacheRead: 0,
2995
+ input: 0.03,
2996
+ output: 0.13,
2997
+ cacheRead: 0.03,
3015
2998
  cacheWrite: 0,
3016
2999
  },
3017
3000
  contextWindow: 131072,
3018
- maxTokens: 4096,
3001
+ maxTokens: 131072,
3019
3002
  },
3020
3003
  "openai/gpt-oss-20b:free": {
3021
3004
  id: "openai/gpt-oss-20b:free",
@@ -3356,7 +3339,7 @@ export const OPENROUTER_MODELS = {
3356
3339
  cacheRead: 0,
3357
3340
  cacheWrite: 0,
3358
3341
  },
3359
- contextWindow: 131072,
3342
+ contextWindow: 32768,
3360
3343
  maxTokens: 16384,
3361
3344
  },
3362
3345
  "qwen/qwen-2.5-7b-instruct": {
@@ -3374,7 +3357,7 @@ export const OPENROUTER_MODELS = {
3374
3357
  cacheRead: 0,
3375
3358
  cacheWrite: 0,
3376
3359
  },
3377
- contextWindow: 131072,
3360
+ contextWindow: 32768,
3378
3361
  maxTokens: 32768,
3379
3362
  },
3380
3363
  "qwen/qwen-plus": {
@@ -3446,7 +3429,7 @@ export const OPENROUTER_MODELS = {
3446
3429
  cacheRead: 0,
3447
3430
  cacheWrite: 0,
3448
3431
  },
3449
- contextWindow: 131702,
3432
+ contextWindow: 40960,
3450
3433
  maxTokens: 40960,
3451
3434
  },
3452
3435
  "qwen/qwen3-235b-a22b": {
@@ -3478,7 +3461,7 @@ export const OPENROUTER_MODELS = {
3478
3461
  input: ["text"],
3479
3462
  cost: {
3480
3463
  input: 0.09,
3481
- output: 0.1,
3464
+ output: 0.55,
3482
3465
  cacheRead: 0,
3483
3466
  cacheWrite: 0,
3484
3467
  },
@@ -3500,7 +3483,7 @@ export const OPENROUTER_MODELS = {
3500
3483
  cacheRead: 0,
3501
3484
  cacheWrite: 0,
3502
3485
  },
3503
- contextWindow: 262144,
3486
+ contextWindow: 131072,
3504
3487
  maxTokens: 4096,
3505
3488
  },
3506
3489
  "qwen/qwen3-30b-a3b": {
@@ -3518,7 +3501,7 @@ export const OPENROUTER_MODELS = {
3518
3501
  cacheRead: 0,
3519
3502
  cacheWrite: 0,
3520
3503
  },
3521
- contextWindow: 131072,
3504
+ contextWindow: 40960,
3522
3505
  maxTokens: 16384,
3523
3506
  },
3524
3507
  "qwen/qwen3-30b-a3b-instruct-2507": {
@@ -3531,13 +3514,13 @@ export const OPENROUTER_MODELS = {
3531
3514
  reasoning: false,
3532
3515
  input: ["text"],
3533
3516
  cost: {
3534
- input: 0.04815,
3535
- output: 0.19305,
3517
+ input: 0.1,
3518
+ output: 0.3,
3536
3519
  cacheRead: 0,
3537
3520
  cacheWrite: 0,
3538
3521
  },
3539
- contextWindow: 131072,
3540
- maxTokens: 32000,
3522
+ contextWindow: 262144,
3523
+ maxTokens: 4096,
3541
3524
  },
3542
3525
  "qwen/qwen3-30b-a3b-thinking-2507": {
3543
3526
  id: "qwen/qwen3-30b-a3b-thinking-2507",
@@ -3554,7 +3537,7 @@ export const OPENROUTER_MODELS = {
3554
3537
  cacheRead: 0,
3555
3538
  cacheWrite: 0,
3556
3539
  },
3557
- contextWindow: 131072,
3540
+ contextWindow: 81920,
3558
3541
  maxTokens: 32768,
3559
3542
  },
3560
3543
  "qwen/qwen3-32b": {
@@ -3572,7 +3555,7 @@ export const OPENROUTER_MODELS = {
3572
3555
  cacheRead: 0,
3573
3556
  cacheWrite: 0,
3574
3557
  },
3575
- contextWindow: 131072,
3558
+ contextWindow: 40960,
3576
3559
  maxTokens: 16384,
3577
3560
  },
3578
3561
  "qwen/qwen3-8b": {
@@ -3603,12 +3586,12 @@ export const OPENROUTER_MODELS = {
3603
3586
  reasoning: false,
3604
3587
  input: ["text"],
3605
3588
  cost: {
3606
- input: 0.22,
3607
- output: 1.8,
3608
- cacheRead: 0,
3589
+ input: 0.3,
3590
+ output: 1,
3591
+ cacheRead: 0.1,
3609
3592
  cacheWrite: 0,
3610
3593
  },
3611
- contextWindow: 1048576,
3594
+ contextWindow: 262144,
3612
3595
  maxTokens: 65536,
3613
3596
  },
3614
3597
  "qwen/qwen3-coder-30b-a3b-instruct": {
@@ -3698,7 +3681,7 @@ export const OPENROUTER_MODELS = {
3698
3681
  cacheRead: 0,
3699
3682
  cacheWrite: 0,
3700
3683
  },
3701
- contextWindow: 1048576,
3684
+ contextWindow: 262000,
3702
3685
  maxTokens: 262000,
3703
3686
  },
3704
3687
  "qwen/qwen3-max": {
@@ -3747,13 +3730,13 @@ export const OPENROUTER_MODELS = {
3747
3730
  reasoning: false,
3748
3731
  input: ["text"],
3749
3732
  cost: {
3750
- input: 0.09,
3733
+ input: 0.1,
3751
3734
  output: 1.1,
3752
- cacheRead: 0,
3735
+ cacheRead: 0.07,
3753
3736
  cacheWrite: 0,
3754
3737
  },
3755
3738
  contextWindow: 262144,
3756
- maxTokens: 16384,
3739
+ maxTokens: 262144,
3757
3740
  },
3758
3741
  "qwen/qwen3-next-80b-a3b-instruct:free": {
3759
3742
  id: "qwen/qwen3-next-80b-a3b-instruct:free",
@@ -3788,7 +3771,7 @@ export const OPENROUTER_MODELS = {
3788
3771
  cacheRead: 0,
3789
3772
  cacheWrite: 0,
3790
3773
  },
3791
- contextWindow: 262144,
3774
+ contextWindow: 131072,
3792
3775
  maxTokens: 32768,
3793
3776
  },
3794
3777
  "qwen/qwen3-vl-235b-a22b-instruct": {
@@ -3801,13 +3784,13 @@ export const OPENROUTER_MODELS = {
3801
3784
  reasoning: false,
3802
3785
  input: ["text", "image"],
3803
3786
  cost: {
3804
- input: 0.2,
3805
- output: 0.88,
3806
- cacheRead: 0.11,
3787
+ input: 0.21,
3788
+ output: 1.9,
3789
+ cacheRead: 0.1,
3807
3790
  cacheWrite: 0,
3808
3791
  },
3809
- contextWindow: 262144,
3810
- maxTokens: 16384,
3792
+ contextWindow: 131072,
3793
+ maxTokens: 32768,
3811
3794
  },
3812
3795
  "qwen/qwen3-vl-235b-a22b-thinking": {
3813
3796
  id: "qwen/qwen3-vl-235b-a22b-thinking",
@@ -3842,7 +3825,7 @@ export const OPENROUTER_MODELS = {
3842
3825
  cacheRead: 0,
3843
3826
  cacheWrite: 0,
3844
3827
  },
3845
- contextWindow: 262144,
3828
+ contextWindow: 131072,
3846
3829
  maxTokens: 32768,
3847
3830
  },
3848
3831
  "qwen/qwen3-vl-30b-a3b-thinking": {
@@ -3878,7 +3861,7 @@ export const OPENROUTER_MODELS = {
3878
3861
  cacheRead: 0,
3879
3862
  cacheWrite: 0,
3880
3863
  },
3881
- contextWindow: 262144,
3864
+ contextWindow: 131072,
3882
3865
  maxTokens: 32768,
3883
3866
  },
3884
3867
  "qwen/qwen3-vl-8b-instruct": {
@@ -3896,7 +3879,7 @@ export const OPENROUTER_MODELS = {
3896
3879
  cacheRead: 0,
3897
3880
  cacheWrite: 0,
3898
3881
  },
3899
- contextWindow: 256000,
3882
+ contextWindow: 131072,
3900
3883
  maxTokens: 32768,
3901
3884
  },
3902
3885
  "qwen/qwen3-vl-8b-thinking": {
@@ -3914,7 +3897,7 @@ export const OPENROUTER_MODELS = {
3914
3897
  cacheRead: 0,
3915
3898
  cacheWrite: 0,
3916
3899
  },
3917
- contextWindow: 256000,
3900
+ contextWindow: 131072,
3918
3901
  maxTokens: 32768,
3919
3902
  },
3920
3903
  "qwen/qwen3.5-122b-a10b": {
@@ -3933,7 +3916,7 @@ export const OPENROUTER_MODELS = {
3933
3916
  cacheWrite: 0,
3934
3917
  },
3935
3918
  contextWindow: 262144,
3936
- maxTokens: 262144,
3919
+ maxTokens: 65536,
3937
3920
  },
3938
3921
  "qwen/qwen3.5-27b": {
3939
3922
  id: "qwen/qwen3.5-27b",
@@ -3965,11 +3948,11 @@ export const OPENROUTER_MODELS = {
3965
3948
  cost: {
3966
3949
  input: 0.14,
3967
3950
  output: 1,
3968
- cacheRead: 0.05,
3951
+ cacheRead: 0,
3969
3952
  cacheWrite: 0,
3970
3953
  },
3971
3954
  contextWindow: 262144,
3972
- maxTokens: 81920,
3955
+ maxTokens: 262144,
3973
3956
  },
3974
3957
  "qwen/qwen3.5-397b-a17b": {
3975
3958
  id: "qwen/qwen3.5-397b-a17b",
@@ -3981,13 +3964,13 @@ export const OPENROUTER_MODELS = {
3981
3964
  reasoning: true,
3982
3965
  input: ["text", "image"],
3983
3966
  cost: {
3984
- input: 0.385,
3985
- output: 2.45,
3986
- cacheRead: 0.111,
3967
+ input: 0.45,
3968
+ output: 3,
3969
+ cacheRead: 0.225,
3987
3970
  cacheWrite: 0,
3988
3971
  },
3989
- contextWindow: 256000,
3990
- maxTokens: 4096,
3972
+ contextWindow: 262144,
3973
+ maxTokens: 65536,
3991
3974
  },
3992
3975
  "qwen/qwen3.5-9b": {
3993
3976
  id: "qwen/qwen3.5-9b",
@@ -4071,13 +4054,13 @@ export const OPENROUTER_MODELS = {
4071
4054
  reasoning: true,
4072
4055
  input: ["text", "image"],
4073
4056
  cost: {
4074
- input: 0.285,
4075
- output: 2.4,
4076
- cacheRead: 0.15,
4057
+ input: 0.45,
4058
+ output: 2.7,
4059
+ cacheRead: 0,
4077
4060
  cacheWrite: 0,
4078
4061
  },
4079
4062
  contextWindow: 262144,
4080
- maxTokens: 262140,
4063
+ maxTokens: 65536,
4081
4064
  },
4082
4065
  "qwen/qwen3.6-35b-a3b": {
4083
4066
  id: "qwen/qwen3.6-35b-a3b",
@@ -4161,10 +4144,10 @@ export const OPENROUTER_MODELS = {
4161
4144
  reasoning: true,
4162
4145
  input: ["text"],
4163
4146
  cost: {
4164
- input: 1.25,
4165
- output: 3.75,
4166
- cacheRead: 0.25,
4167
- cacheWrite: 1.5625,
4147
+ input: 1.475,
4148
+ output: 4.425,
4149
+ cacheRead: 0.295,
4150
+ cacheWrite: 1.84375,
4168
4151
  },
4169
4152
  contextWindow: 1000000,
4170
4153
  maxTokens: 65536,
@@ -4305,13 +4288,13 @@ export const OPENROUTER_MODELS = {
4305
4288
  reasoning: true,
4306
4289
  input: ["text"],
4307
4290
  cost: {
4308
- input: 0.14,
4309
- output: 0.58,
4310
- cacheRead: 0.035,
4291
+ input: 0.2,
4292
+ output: 0.8,
4293
+ cacheRead: 0.05,
4311
4294
  cacheWrite: 0,
4312
4295
  },
4313
4296
  contextWindow: 262144,
4314
- maxTokens: 4096,
4297
+ maxTokens: 131072,
4315
4298
  },
4316
4299
  "tencent/hy3-preview": {
4317
4300
  id: "tencent/hy3-preview",
@@ -4467,13 +4450,13 @@ export const OPENROUTER_MODELS = {
4467
4450
  reasoning: true,
4468
4451
  input: ["text", "image"],
4469
4452
  cost: {
4470
- input: 0.105,
4453
+ input: 0.14,
4471
4454
  output: 0.28,
4472
- cacheRead: 0.028,
4455
+ cacheRead: 0.0028,
4473
4456
  cacheWrite: 0,
4474
4457
  },
4475
4458
  contextWindow: 1048576,
4476
- maxTokens: 4096,
4459
+ maxTokens: 131072,
4477
4460
  },
4478
4461
  "xiaomi/mimo-v2.5-pro": {
4479
4462
  id: "xiaomi/mimo-v2.5-pro",
@@ -4557,9 +4540,9 @@ export const OPENROUTER_MODELS = {
4557
4540
  reasoning: true,
4558
4541
  input: ["text"],
4559
4542
  cost: {
4560
- input: 0.43,
4561
- output: 1.74,
4562
- cacheRead: 0.08,
4543
+ input: 0.5,
4544
+ output: 2,
4545
+ cacheRead: 0.1,
4563
4546
  cacheWrite: 0,
4564
4547
  },
4565
4548
  contextWindow: 202752,
@@ -4611,13 +4594,13 @@ export const OPENROUTER_MODELS = {
4611
4594
  reasoning: true,
4612
4595
  input: ["text"],
4613
4596
  cost: {
4614
- input: 0.06,
4597
+ input: 0.0605,
4615
4598
  output: 0.4,
4616
- cacheRead: 0.01,
4599
+ cacheRead: 0,
4617
4600
  cacheWrite: 0,
4618
4601
  },
4619
- contextWindow: 202752,
4620
- maxTokens: 16384,
4602
+ contextWindow: 131072,
4603
+ maxTokens: 131072,
4621
4604
  },
4622
4605
  "z-ai/glm-5": {
4623
4606
  id: "z-ai/glm-5",
@@ -4635,7 +4618,7 @@ export const OPENROUTER_MODELS = {
4635
4618
  cacheWrite: 0,
4636
4619
  },
4637
4620
  contextWindow: 202752,
4638
- maxTokens: 4096,
4621
+ maxTokens: 202752,
4639
4622
  },
4640
4623
  "z-ai/glm-5-turbo": {
4641
4624
  id: "z-ai/glm-5-turbo",
@@ -4652,7 +4635,7 @@ export const OPENROUTER_MODELS = {
4652
4635
  cacheRead: 0.24,
4653
4636
  cacheWrite: 0,
4654
4637
  },
4655
- contextWindow: 262144,
4638
+ contextWindow: 202752,
4656
4639
  maxTokens: 131072,
4657
4640
  },
4658
4641
  "z-ai/glm-5.1": {
@@ -4670,7 +4653,7 @@ export const OPENROUTER_MODELS = {
4670
4653
  cacheRead: 0.1794,
4671
4654
  cacheWrite: 0,
4672
4655
  },
4673
- contextWindow: 202752,
4656
+ contextWindow: 200000,
4674
4657
  maxTokens: 128000,
4675
4658
  },
4676
4659
  "z-ai/glm-5.2": {
@@ -4684,9 +4667,9 @@ export const OPENROUTER_MODELS = {
4684
4667
  thinkingLevelMap: { "xhigh": "xhigh" },
4685
4668
  input: ["text"],
4686
4669
  cost: {
4687
- input: 0.532,
4688
- output: 1.672,
4689
- cacheRead: 0.0988,
4670
+ input: 0.9408,
4671
+ output: 2.9568,
4672
+ cacheRead: 0.17472,
4690
4673
  cacheWrite: 0,
4691
4674
  },
4692
4675
  contextWindow: 1048576,