@code-yeongyu/senpi 2026.5.29 → 2026.6.3

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 (310) hide show
  1. package/CHANGELOG.md +131 -1
  2. package/README.md +12 -2
  3. package/dist/cli/args.d.ts +3 -0
  4. package/dist/cli/args.d.ts.map +1 -1
  5. package/dist/cli/args.js +28 -0
  6. package/dist/cli/args.js.map +1 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +9 -1
  9. package/dist/config.js.map +1 -1
  10. package/dist/core/agent-session-services.d.ts +1 -0
  11. package/dist/core/agent-session-services.d.ts.map +1 -1
  12. package/dist/core/agent-session-services.js +1 -0
  13. package/dist/core/agent-session-services.js.map +1 -1
  14. package/dist/core/agent-session.d.ts +9 -2
  15. package/dist/core/agent-session.d.ts.map +1 -1
  16. package/dist/core/agent-session.js +36 -13
  17. package/dist/core/agent-session.js.map +1 -1
  18. package/dist/core/compaction/branch-summarization.d.ts +3 -1
  19. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  20. package/dist/core/compaction/branch-summarization.js +9 -3
  21. package/dist/core/compaction/branch-summarization.js.map +1 -1
  22. package/dist/core/extensions/index.d.ts +1 -1
  23. package/dist/core/extensions/index.d.ts.map +1 -1
  24. package/dist/core/extensions/index.js.map +1 -1
  25. package/dist/core/extensions/runner.d.ts +5 -3
  26. package/dist/core/extensions/runner.d.ts.map +1 -1
  27. package/dist/core/extensions/runner.js +21 -3
  28. package/dist/core/extensions/runner.js.map +1 -1
  29. package/dist/core/extensions/types.d.ts +14 -6
  30. package/dist/core/extensions/types.d.ts.map +1 -1
  31. package/dist/core/extensions/types.js.map +1 -1
  32. package/dist/core/footer-data-provider.d.ts +2 -0
  33. package/dist/core/footer-data-provider.d.ts.map +1 -1
  34. package/dist/core/footer-data-provider.js +29 -1
  35. package/dist/core/footer-data-provider.js.map +1 -1
  36. package/dist/core/model-registry.d.ts.map +1 -1
  37. package/dist/core/model-registry.js +82 -21
  38. package/dist/core/model-registry.js.map +1 -1
  39. package/dist/core/model-resolver.d.ts.map +1 -1
  40. package/dist/core/model-resolver.js +2 -1
  41. package/dist/core/model-resolver.js.map +1 -1
  42. package/dist/core/provider-attribution.d.ts +4 -0
  43. package/dist/core/provider-attribution.d.ts.map +1 -0
  44. package/dist/core/provider-attribution.js +73 -0
  45. package/dist/core/provider-attribution.js.map +1 -0
  46. package/dist/core/provider-display-names.d.ts.map +1 -1
  47. package/dist/core/provider-display-names.js +1 -0
  48. package/dist/core/provider-display-names.js.map +1 -1
  49. package/dist/core/resolve-config-value.d.ts +9 -1
  50. package/dist/core/resolve-config-value.d.ts.map +1 -1
  51. package/dist/core/resolve-config-value.js +134 -11
  52. package/dist/core/resolve-config-value.js.map +1 -1
  53. package/dist/core/sdk.d.ts +2 -0
  54. package/dist/core/sdk.d.ts.map +1 -1
  55. package/dist/core/sdk.js +18 -40
  56. package/dist/core/sdk.js.map +1 -1
  57. package/dist/core/session-manager.d.ts +6 -7
  58. package/dist/core/session-manager.d.ts.map +1 -1
  59. package/dist/core/session-manager.js +167 -96
  60. package/dist/core/session-manager.js.map +1 -1
  61. package/dist/core/settings-manager.d.ts +3 -1
  62. package/dist/core/settings-manager.d.ts.map +1 -1
  63. package/dist/core/settings-manager.js +15 -11
  64. package/dist/core/settings-manager.js.map +1 -1
  65. package/dist/core/system-prompt.d.ts.map +1 -1
  66. package/dist/core/system-prompt.js +0 -3
  67. package/dist/core/system-prompt.js.map +1 -1
  68. package/dist/core/thinking-levels.d.ts.map +1 -1
  69. package/dist/core/thinking-levels.js +6 -2
  70. package/dist/core/thinking-levels.js.map +1 -1
  71. package/dist/core/tools/edit.d.ts.map +1 -1
  72. package/dist/core/tools/edit.js +7 -10
  73. package/dist/core/tools/edit.js.map +1 -1
  74. package/dist/core/tools/find.d.ts.map +1 -1
  75. package/dist/core/tools/find.js.map +1 -1
  76. package/dist/core/tools/grep.d.ts.map +1 -1
  77. package/dist/core/tools/grep.js.map +1 -1
  78. package/dist/core/tools/ls.d.ts.map +1 -1
  79. package/dist/core/tools/ls.js +5 -7
  80. package/dist/core/tools/ls.js.map +1 -1
  81. package/dist/core/tools/read.d.ts.map +1 -1
  82. package/dist/core/tools/read.js +6 -7
  83. package/dist/core/tools/read.js.map +1 -1
  84. package/dist/core/tools/render-utils.d.ts +5 -2
  85. package/dist/core/tools/render-utils.d.ts.map +1 -1
  86. package/dist/core/tools/render-utils.js +17 -1
  87. package/dist/core/tools/render-utils.js.map +1 -1
  88. package/dist/core/tools/write.d.ts.map +1 -1
  89. package/dist/core/tools/write.js +5 -6
  90. package/dist/core/tools/write.js.map +1 -1
  91. package/dist/index.d.ts +2 -0
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +2 -0
  94. package/dist/index.js.map +1 -1
  95. package/dist/main.d.ts.map +1 -1
  96. package/dist/main.js +76 -16
  97. package/dist/main.js.map +1 -1
  98. package/dist/migrations.d.ts.map +1 -1
  99. package/dist/migrations.js +118 -1
  100. package/dist/migrations.js.map +1 -1
  101. package/dist/modes/interactive/components/login-dialog.d.ts +1 -3
  102. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  103. package/dist/modes/interactive/components/login-dialog.js +2 -4
  104. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  105. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  106. package/dist/modes/interactive/components/tool-execution.js +25 -1
  107. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  108. package/dist/modes/interactive/interactive-mode.d.ts +3 -0
  109. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  110. package/dist/modes/interactive/interactive-mode.js +64 -6
  111. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  112. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  113. package/dist/modes/interactive/theme/theme.js +10 -0
  114. package/dist/modes/interactive/theme/theme.js.map +1 -1
  115. package/dist/modes/print-mode.d.ts.map +1 -1
  116. package/dist/modes/print-mode.js +1 -0
  117. package/dist/modes/print-mode.js.map +1 -1
  118. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  119. package/dist/modes/rpc/rpc-mode.js +4 -1
  120. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  121. package/dist/modes/rpc/rpc-types.d.ts +1 -0
  122. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  123. package/dist/modes/rpc/rpc-types.js.map +1 -1
  124. package/dist/utils/deprecation.d.ts +4 -0
  125. package/dist/utils/deprecation.d.ts.map +1 -0
  126. package/dist/utils/deprecation.js +13 -0
  127. package/dist/utils/deprecation.js.map +1 -0
  128. package/dist/utils/json.d.ts +3 -0
  129. package/dist/utils/json.d.ts.map +1 -0
  130. package/dist/utils/json.js +7 -0
  131. package/dist/utils/json.js.map +1 -0
  132. package/docs/custom-provider.md +13 -10
  133. package/docs/extensions.md +47 -17
  134. package/docs/models.md +25 -12
  135. package/docs/providers.md +15 -5
  136. package/docs/quickstart.md +1 -0
  137. package/docs/rpc.md +3 -2
  138. package/docs/sdk.md +6 -0
  139. package/docs/session-format.md +1 -1
  140. package/docs/sessions.md +8 -0
  141. package/docs/settings.md +4 -2
  142. package/docs/terminal-setup.md +2 -0
  143. package/docs/tui.md +12 -3
  144. package/docs/usage.md +10 -1
  145. package/examples/extensions/README.md +1 -0
  146. package/examples/extensions/custom-header.ts +1 -1
  147. package/examples/extensions/custom-provider-anthropic/index.ts +1 -1
  148. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  149. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  150. package/examples/extensions/custom-provider-gitlab-duo/index.ts +54 -3
  151. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  152. package/examples/extensions/doom-overlay/index.ts +1 -1
  153. package/examples/extensions/git-merge-and-resolve.ts +115 -0
  154. package/examples/extensions/handoff.ts +1 -1
  155. package/examples/extensions/input-transform-streaming.ts +39 -0
  156. package/examples/extensions/interactive-shell.ts +1 -1
  157. package/examples/extensions/overlay-qa-tests.ts +152 -81
  158. package/examples/extensions/qna.ts +1 -1
  159. package/examples/extensions/question.ts +1 -1
  160. package/examples/extensions/questionnaire.ts +1 -1
  161. package/examples/extensions/sandbox/package-lock.json +2 -2
  162. package/examples/extensions/sandbox/package.json +1 -1
  163. package/examples/extensions/snake.ts +1 -1
  164. package/examples/extensions/space-invaders.ts +1 -1
  165. package/examples/extensions/summarize.ts +1 -1
  166. package/examples/extensions/tic-tac-toe.ts +1 -1
  167. package/examples/extensions/todo.ts +1 -1
  168. package/examples/extensions/tools.ts +5 -0
  169. package/examples/extensions/with-deps/package-lock.json +2 -2
  170. package/examples/extensions/with-deps/package.json +1 -1
  171. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +1 -0
  172. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  173. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +15 -0
  174. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  175. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +5 -2
  176. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  177. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +81 -18
  178. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  179. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  180. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +1 -0
  181. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  182. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  183. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +1 -0
  184. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  185. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +1 -0
  186. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  187. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +14 -1
  188. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  189. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +22 -8
  190. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  191. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  192. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  193. package/node_modules/@earendil-works/pi-ai/README.md +5 -3
  194. package/node_modules/@earendil-works/pi-ai/dist/cli.js +0 -0
  195. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
  196. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +1 -0
  197. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
  198. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +15 -0
  199. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  200. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +15 -0
  201. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  202. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +2 -2
  203. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  204. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +1294 -412
  205. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  206. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +1278 -652
  207. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  208. package/node_modules/@earendil-works/pi-ai/dist/models.js +9 -4
  209. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  210. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts +1 -1
  211. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  212. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +89 -21
  213. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  214. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  215. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +27 -14
  216. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  217. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  218. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +5 -9
  219. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  220. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
  221. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js +1 -1
  222. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
  223. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -1
  224. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js +5 -3
  225. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -1
  226. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +1 -1
  227. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js +2 -3
  228. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +1 -1
  229. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -1
  230. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js +2 -3
  231. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -1
  232. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  233. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +118 -52
  234. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  235. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  236. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +27 -17
  237. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  238. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts +1 -0
  239. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
  240. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js +5 -1
  241. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
  242. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  243. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +5 -9
  244. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  245. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -1
  246. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +1 -0
  247. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -1
  248. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts +7 -0
  249. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts.map +1 -1
  250. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.js +8 -4
  251. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.js.map +1 -1
  252. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -1
  253. package/node_modules/@earendil-works/pi-ai/dist/stream.js +18 -4
  254. package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -1
  255. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +21 -5
  256. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  257. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  258. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.d.ts +6 -0
  259. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.d.ts.map +1 -0
  260. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js +34 -0
  261. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js.map +1 -0
  262. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts +9 -7
  263. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts.map +1 -1
  264. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +8 -7
  265. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js.map +1 -1
  266. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  267. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +1 -1
  268. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  269. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts +1 -1
  270. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts.map +1 -1
  271. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js +1 -1
  272. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js.map +1 -1
  273. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts +10 -1
  274. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
  275. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +179 -79
  276. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
  277. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  278. package/node_modules/@earendil-works/pi-tui/README.md +15 -3
  279. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  280. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +9 -53
  281. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  282. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -1
  283. package/node_modules/@earendil-works/pi-tui/dist/components/input.js +6 -54
  284. package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -1
  285. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
  286. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  287. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  288. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +1 -1
  289. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  290. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +34 -7
  291. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  292. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +33 -10
  293. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  294. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +173 -39
  295. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  296. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +18 -3
  297. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  298. package/node_modules/@earendil-works/pi-tui/dist/tui.js +166 -22
  299. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  300. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +1 -0
  301. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
  302. package/node_modules/@earendil-works/pi-tui/dist/utils.js +11 -3
  303. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
  304. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts +25 -0
  305. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts.map +1 -0
  306. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js +96 -0
  307. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js.map +1 -0
  308. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  309. package/npm-shrinkwrap.json +56 -56
  310. package/package.json +5 -5
@@ -175,6 +175,24 @@ export const MODELS = {
175
175
  contextWindow: 1000000,
176
176
  maxTokens: 128000,
177
177
  },
178
+ "anthropic.claude-opus-4-8": {
179
+ id: "anthropic.claude-opus-4-8",
180
+ name: "Claude Opus 4.8",
181
+ api: "bedrock-converse-stream",
182
+ provider: "amazon-bedrock",
183
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
184
+ reasoning: true,
185
+ thinkingLevelMap: { "xhigh": "xhigh" },
186
+ input: ["text", "image"],
187
+ cost: {
188
+ input: 5,
189
+ output: 25,
190
+ cacheRead: 0.5,
191
+ cacheWrite: 6.25,
192
+ },
193
+ contextWindow: 1000000,
194
+ maxTokens: 128000,
195
+ },
178
196
  "anthropic.claude-sonnet-4-5-20250929-v1:0": {
179
197
  id: "anthropic.claude-sonnet-4-5-20250929-v1:0",
180
198
  name: "Claude Sonnet 4.5",
@@ -244,6 +262,24 @@ export const MODELS = {
244
262
  contextWindow: 1000000,
245
263
  maxTokens: 128000,
246
264
  },
265
+ "au.anthropic.claude-opus-4-8": {
266
+ id: "au.anthropic.claude-opus-4-8",
267
+ name: "Claude Opus 4.8 (AU)",
268
+ api: "bedrock-converse-stream",
269
+ provider: "amazon-bedrock",
270
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
271
+ reasoning: true,
272
+ thinkingLevelMap: { "xhigh": "xhigh" },
273
+ input: ["text", "image"],
274
+ cost: {
275
+ input: 5,
276
+ output: 25,
277
+ cacheRead: 0.5,
278
+ cacheWrite: 6.25,
279
+ },
280
+ contextWindow: 1000000,
281
+ maxTokens: 128000,
282
+ },
247
283
  "au.anthropic.claude-sonnet-4-5-20250929-v1:0": {
248
284
  id: "au.anthropic.claude-sonnet-4-5-20250929-v1:0",
249
285
  name: "Claude Sonnet 4.5 (AU)",
@@ -373,8 +409,8 @@ export const MODELS = {
373
409
  thinkingLevelMap: { "xhigh": "max" },
374
410
  input: ["text", "image"],
375
411
  cost: {
376
- input: 5,
377
- output: 25,
412
+ input: 5.5,
413
+ output: 27.5,
378
414
  cacheRead: 0.5,
379
415
  cacheWrite: 6.25,
380
416
  },
@@ -391,10 +427,10 @@ export const MODELS = {
391
427
  thinkingLevelMap: { "xhigh": "xhigh" },
392
428
  input: ["text", "image"],
393
429
  cost: {
394
- input: 5,
395
- output: 25,
396
- cacheRead: 0.5,
397
- cacheWrite: 6.25,
430
+ input: 5.5,
431
+ output: 27.5,
432
+ cacheRead: 0.55,
433
+ cacheWrite: 6.875,
398
434
  },
399
435
  contextWindow: 1000000,
400
436
  maxTokens: 128000,
@@ -417,6 +453,24 @@ export const MODELS = {
417
453
  contextWindow: 1000000,
418
454
  maxTokens: 128000,
419
455
  },
456
+ "eu.anthropic.claude-opus-4-8": {
457
+ id: "eu.anthropic.claude-opus-4-8",
458
+ name: "Claude Opus 4.8 (EU)",
459
+ api: "bedrock-converse-stream",
460
+ provider: "amazon-bedrock",
461
+ baseUrl: "https://bedrock-runtime.eu-central-1.amazonaws.com",
462
+ reasoning: true,
463
+ thinkingLevelMap: { "xhigh": "xhigh" },
464
+ input: ["text", "image"],
465
+ cost: {
466
+ input: 5.5,
467
+ output: 27.5,
468
+ cacheRead: 0.55,
469
+ cacheWrite: 6.875,
470
+ },
471
+ contextWindow: 1000000,
472
+ maxTokens: 128000,
473
+ },
420
474
  "eu.anthropic.claude-sonnet-4-5-20250929-v1:0": {
421
475
  id: "eu.anthropic.claude-sonnet-4-5-20250929-v1:0",
422
476
  name: "Claude Sonnet 4.5 (EU)",
@@ -426,10 +480,10 @@ export const MODELS = {
426
480
  reasoning: true,
427
481
  input: ["text", "image"],
428
482
  cost: {
429
- input: 3,
430
- output: 15,
431
- cacheRead: 0.3,
432
- cacheWrite: 3.75,
483
+ input: 3.3,
484
+ output: 16.5,
485
+ cacheRead: 0.33,
486
+ cacheWrite: 4.125,
433
487
  },
434
488
  contextWindow: 200000,
435
489
  maxTokens: 64000,
@@ -443,10 +497,10 @@ export const MODELS = {
443
497
  reasoning: true,
444
498
  input: ["text", "image"],
445
499
  cost: {
446
- input: 3,
447
- output: 15,
448
- cacheRead: 0.3,
449
- cacheWrite: 3.75,
500
+ input: 3.3,
501
+ output: 16.5,
502
+ cacheRead: 0.33,
503
+ cacheWrite: 4.125,
450
504
  },
451
505
  contextWindow: 1000000,
452
506
  maxTokens: 64000,
@@ -539,6 +593,24 @@ export const MODELS = {
539
593
  contextWindow: 1000000,
540
594
  maxTokens: 128000,
541
595
  },
596
+ "global.anthropic.claude-opus-4-8": {
597
+ id: "global.anthropic.claude-opus-4-8",
598
+ name: "Claude Opus 4.8 (Global)",
599
+ api: "bedrock-converse-stream",
600
+ provider: "amazon-bedrock",
601
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
602
+ reasoning: true,
603
+ thinkingLevelMap: { "xhigh": "xhigh" },
604
+ input: ["text", "image"],
605
+ cost: {
606
+ input: 5,
607
+ output: 25,
608
+ cacheRead: 0.5,
609
+ cacheWrite: 6.25,
610
+ },
611
+ contextWindow: 1000000,
612
+ maxTokens: 128000,
613
+ },
542
614
  "global.anthropic.claude-sonnet-4-5-20250929-v1:0": {
543
615
  id: "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
544
616
  name: "Claude Sonnet 4.5 (Global)",
@@ -625,6 +697,24 @@ export const MODELS = {
625
697
  contextWindow: 1000000,
626
698
  maxTokens: 128000,
627
699
  },
700
+ "jp.anthropic.claude-opus-4-8": {
701
+ id: "jp.anthropic.claude-opus-4-8",
702
+ name: "Claude Opus 4.8 (JP)",
703
+ api: "bedrock-converse-stream",
704
+ provider: "amazon-bedrock",
705
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
706
+ reasoning: true,
707
+ thinkingLevelMap: { "xhigh": "xhigh" },
708
+ input: ["text", "image"],
709
+ cost: {
710
+ input: 5,
711
+ output: 25,
712
+ cacheRead: 0.5,
713
+ cacheWrite: 6.25,
714
+ },
715
+ contextWindow: 1000000,
716
+ maxTokens: 128000,
717
+ },
628
718
  "jp.anthropic.claude-sonnet-4-5-20250929-v1:0": {
629
719
  id: "jp.anthropic.claude-sonnet-4-5-20250929-v1:0",
630
720
  name: "Claude Sonnet 4.5 (JP)",
@@ -1342,6 +1432,24 @@ export const MODELS = {
1342
1432
  contextWindow: 1000000,
1343
1433
  maxTokens: 128000,
1344
1434
  },
1435
+ "us.anthropic.claude-opus-4-8": {
1436
+ id: "us.anthropic.claude-opus-4-8",
1437
+ name: "Claude Opus 4.8 (US)",
1438
+ api: "bedrock-converse-stream",
1439
+ provider: "amazon-bedrock",
1440
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1441
+ reasoning: true,
1442
+ thinkingLevelMap: { "xhigh": "xhigh" },
1443
+ input: ["text", "image"],
1444
+ cost: {
1445
+ input: 5,
1446
+ output: 25,
1447
+ cacheRead: 0.5,
1448
+ cacheWrite: 6.25,
1449
+ },
1450
+ contextWindow: 1000000,
1451
+ maxTokens: 128000,
1452
+ },
1345
1453
  "us.anthropic.claude-sonnet-4-5-20250929-v1:0": {
1346
1454
  id: "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
1347
1455
  name: "Claude Sonnet 4.5 (US)",
@@ -1811,7 +1919,26 @@ export const MODELS = {
1811
1919
  api: "anthropic-messages",
1812
1920
  provider: "anthropic",
1813
1921
  baseUrl: "https://api.anthropic.com",
1814
- compat: { "forceAdaptiveThinking": true },
1922
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
1923
+ reasoning: true,
1924
+ thinkingLevelMap: { "xhigh": "xhigh" },
1925
+ input: ["text", "image"],
1926
+ cost: {
1927
+ input: 5,
1928
+ output: 25,
1929
+ cacheRead: 0.5,
1930
+ cacheWrite: 6.25,
1931
+ },
1932
+ contextWindow: 1000000,
1933
+ maxTokens: 128000,
1934
+ },
1935
+ "claude-opus-4-8": {
1936
+ id: "claude-opus-4-8",
1937
+ name: "Claude Opus 4.8",
1938
+ api: "anthropic-messages",
1939
+ provider: "anthropic",
1940
+ baseUrl: "https://api.anthropic.com",
1941
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
1815
1942
  reasoning: true,
1816
1943
  thinkingLevelMap: { "xhigh": "xhigh" },
1817
1944
  input: ["text", "image"],
@@ -1991,7 +2118,7 @@ export const MODELS = {
1991
2118
  cost: {
1992
2119
  input: 0.1,
1993
2120
  output: 0.4,
1994
- cacheRead: 0.03,
2121
+ cacheRead: 0.025,
1995
2122
  cacheWrite: 0,
1996
2123
  },
1997
2124
  contextWindow: 1047576,
@@ -2076,7 +2203,7 @@ export const MODELS = {
2076
2203
  cost: {
2077
2204
  input: 0.15,
2078
2205
  output: 0.6,
2079
- cacheRead: 0.08,
2206
+ cacheRead: 0.075,
2080
2207
  cacheWrite: 0,
2081
2208
  },
2082
2209
  contextWindow: 128000,
@@ -2202,7 +2329,7 @@ export const MODELS = {
2202
2329
  cost: {
2203
2330
  input: 1.25,
2204
2331
  output: 10,
2205
- cacheRead: 0.13,
2332
+ cacheRead: 0.125,
2206
2333
  cacheWrite: 0,
2207
2334
  },
2208
2335
  contextWindow: 400000,
@@ -2503,7 +2630,7 @@ export const MODELS = {
2503
2630
  provider: "azure-openai-responses",
2504
2631
  baseUrl: "",
2505
2632
  reasoning: true,
2506
- thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
2633
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "minimal": null, "low": null },
2507
2634
  input: ["text", "image"],
2508
2635
  cost: {
2509
2636
  input: 30,
@@ -2627,7 +2754,7 @@ export const MODELS = {
2627
2754
  cost: {
2628
2755
  input: 1.1,
2629
2756
  output: 4.4,
2630
- cacheRead: 0.28,
2757
+ cacheRead: 0.275,
2631
2758
  cacheWrite: 0,
2632
2759
  },
2633
2760
  contextWindow: 200000,
@@ -2686,23 +2813,6 @@ export const MODELS = {
2686
2813
  contextWindow: 32000,
2687
2814
  maxTokens: 8000,
2688
2815
  },
2689
- "qwen-3-235b-a22b-instruct-2507": {
2690
- id: "qwen-3-235b-a22b-instruct-2507",
2691
- name: "Qwen 3 235B Instruct",
2692
- api: "openai-completions",
2693
- provider: "cerebras",
2694
- baseUrl: "https://api.cerebras.ai/v1",
2695
- reasoning: false,
2696
- input: ["text"],
2697
- cost: {
2698
- input: 0.6,
2699
- output: 1.2,
2700
- cacheRead: 0,
2701
- cacheWrite: 0,
2702
- },
2703
- contextWindow: 131000,
2704
- maxTokens: 32000,
2705
- },
2706
2816
  "zai-glm-4.7": {
2707
2817
  id: "zai-glm-4.7",
2708
2818
  name: "Z.AI GLM-4.7",
@@ -2917,7 +3027,26 @@ export const MODELS = {
2917
3027
  api: "anthropic-messages",
2918
3028
  provider: "cloudflare-ai-gateway",
2919
3029
  baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",
2920
- compat: { "forceAdaptiveThinking": true },
3030
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
3031
+ reasoning: true,
3032
+ thinkingLevelMap: { "xhigh": "xhigh" },
3033
+ input: ["text", "image"],
3034
+ cost: {
3035
+ input: 5,
3036
+ output: 25,
3037
+ cacheRead: 0.5,
3038
+ cacheWrite: 6.25,
3039
+ },
3040
+ contextWindow: 1000000,
3041
+ maxTokens: 128000,
3042
+ },
3043
+ "claude-opus-4-8": {
3044
+ id: "claude-opus-4-8",
3045
+ name: "Claude Opus 4.8",
3046
+ api: "anthropic-messages",
3047
+ provider: "cloudflare-ai-gateway",
3048
+ baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",
3049
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
2921
3050
  reasoning: true,
2922
3051
  thinkingLevelMap: { "xhigh": "xhigh" },
2923
3052
  input: ["text", "image"],
@@ -3425,24 +3554,6 @@ export const MODELS = {
3425
3554
  contextWindow: 128000,
3426
3555
  maxTokens: 128000,
3427
3556
  },
3428
- "@cf/moonshotai/kimi-k2.5": {
3429
- id: "@cf/moonshotai/kimi-k2.5",
3430
- name: "Kimi K2.5",
3431
- api: "openai-completions",
3432
- provider: "cloudflare-workers-ai",
3433
- baseUrl: "https://api.cloudflare.com/client/v4/accounts/{CLOUDFLARE_ACCOUNT_ID}/ai/v1",
3434
- compat: { "sendSessionAffinityHeaders": true },
3435
- reasoning: true,
3436
- input: ["text", "image"],
3437
- cost: {
3438
- input: 0.6,
3439
- output: 3,
3440
- cacheRead: 0.1,
3441
- cacheWrite: 0,
3442
- },
3443
- contextWindow: 256000,
3444
- maxTokens: 256000,
3445
- },
3446
3557
  "@cf/moonshotai/kimi-k2.6": {
3447
3558
  id: "@cf/moonshotai/kimi-k2.6",
3448
3559
  name: "Kimi K2.6",
@@ -3813,7 +3924,7 @@ export const MODELS = {
3813
3924
  "github-copilot": {
3814
3925
  "claude-haiku-4.5": {
3815
3926
  id: "claude-haiku-4.5",
3816
- name: "Claude Haiku 4.5",
3927
+ name: "Claude Haiku 4.5 (latest)",
3817
3928
  api: "anthropic-messages",
3818
3929
  provider: "github-copilot",
3819
3930
  baseUrl: "https://api.individual.githubcopilot.com",
@@ -3822,17 +3933,17 @@ export const MODELS = {
3822
3933
  reasoning: true,
3823
3934
  input: ["text", "image"],
3824
3935
  cost: {
3825
- input: 0,
3826
- output: 0,
3827
- cacheRead: 0,
3828
- cacheWrite: 0,
3936
+ input: 1,
3937
+ output: 5,
3938
+ cacheRead: 0.1,
3939
+ cacheWrite: 1.25,
3829
3940
  },
3830
- contextWindow: 144000,
3831
- maxTokens: 32000,
3941
+ contextWindow: 200000,
3942
+ maxTokens: 64000,
3832
3943
  },
3833
3944
  "claude-opus-4.5": {
3834
3945
  id: "claude-opus-4.5",
3835
- name: "Claude Opus 4.5",
3946
+ name: "Claude Opus 4.5 (latest)",
3836
3947
  api: "anthropic-messages",
3837
3948
  provider: "github-copilot",
3838
3949
  baseUrl: "https://api.individual.githubcopilot.com",
@@ -3840,12 +3951,12 @@ export const MODELS = {
3840
3951
  reasoning: true,
3841
3952
  input: ["text", "image"],
3842
3953
  cost: {
3843
- input: 0,
3844
- output: 0,
3845
- cacheRead: 0,
3846
- cacheWrite: 0,
3954
+ input: 5,
3955
+ output: 25,
3956
+ cacheRead: 0.5,
3957
+ cacheWrite: 6.25,
3847
3958
  },
3848
- contextWindow: 160000,
3959
+ contextWindow: 200000,
3849
3960
  maxTokens: 32000,
3850
3961
  },
3851
3962
  "claude-opus-4.6": {
@@ -3860,13 +3971,13 @@ export const MODELS = {
3860
3971
  thinkingLevelMap: { "xhigh": "max" },
3861
3972
  input: ["text", "image"],
3862
3973
  cost: {
3863
- input: 0,
3864
- output: 0,
3865
- cacheRead: 0,
3866
- cacheWrite: 0,
3974
+ input: 5,
3975
+ output: 25,
3976
+ cacheRead: 0.5,
3977
+ cacheWrite: 6.25,
3867
3978
  },
3868
3979
  contextWindow: 1000000,
3869
- maxTokens: 64000,
3980
+ maxTokens: 32000,
3870
3981
  },
3871
3982
  "claude-opus-4.7": {
3872
3983
  id: "claude-opus-4.7",
@@ -3875,54 +3986,93 @@ export const MODELS = {
3875
3986
  provider: "github-copilot",
3876
3987
  baseUrl: "https://api.individual.githubcopilot.com",
3877
3988
  headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
3878
- compat: { "forceAdaptiveThinking": true },
3989
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
3879
3990
  reasoning: true,
3880
3991
  thinkingLevelMap: { "xhigh": "xhigh" },
3881
3992
  input: ["text", "image"],
3882
3993
  cost: {
3883
- input: 0,
3884
- output: 0,
3885
- cacheRead: 0,
3886
- cacheWrite: 0,
3994
+ input: 5,
3995
+ output: 25,
3996
+ cacheRead: 0.5,
3997
+ cacheWrite: 6.25,
3887
3998
  },
3888
3999
  contextWindow: 1000000,
3889
- maxTokens: 64000,
4000
+ maxTokens: 32000,
3890
4001
  },
3891
- "claude-sonnet-4.5": {
3892
- id: "claude-sonnet-4.5",
3893
- name: "Claude Sonnet 4.5",
4002
+ "claude-opus-4.8": {
4003
+ id: "claude-opus-4.8",
4004
+ name: "Claude Opus 4.8",
3894
4005
  api: "anthropic-messages",
3895
4006
  provider: "github-copilot",
3896
4007
  baseUrl: "https://api.individual.githubcopilot.com",
3897
4008
  headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
3898
- compat: { "supportsEagerToolInputStreaming": false },
4009
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
3899
4010
  reasoning: true,
4011
+ thinkingLevelMap: { "xhigh": "xhigh" },
3900
4012
  input: ["text", "image"],
3901
4013
  cost: {
3902
- input: 0,
3903
- output: 0,
3904
- cacheRead: 0,
3905
- cacheWrite: 0,
4014
+ input: 5,
4015
+ output: 25,
4016
+ cacheRead: 0.5,
4017
+ cacheWrite: 6.25,
3906
4018
  },
3907
- contextWindow: 144000,
3908
- maxTokens: 32000,
4019
+ contextWindow: 200000,
4020
+ maxTokens: 64000,
3909
4021
  },
3910
- "claude-sonnet-4.6": {
3911
- id: "claude-sonnet-4.6",
3912
- name: "Claude Sonnet 4.6",
4022
+ "claude-sonnet-4": {
4023
+ id: "claude-sonnet-4",
4024
+ name: "Claude Sonnet 4 (latest)",
3913
4025
  api: "anthropic-messages",
3914
4026
  provider: "github-copilot",
3915
4027
  baseUrl: "https://api.individual.githubcopilot.com",
3916
4028
  headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
3917
- compat: { "forceAdaptiveThinking": true },
4029
+ compat: { "supportsEagerToolInputStreaming": false },
3918
4030
  reasoning: true,
3919
4031
  input: ["text", "image"],
3920
4032
  cost: {
3921
- input: 0,
3922
- output: 0,
3923
- cacheRead: 0,
3924
- cacheWrite: 0,
3925
- },
4033
+ input: 3,
4034
+ output: 15,
4035
+ cacheRead: 0.3,
4036
+ cacheWrite: 3.75,
4037
+ },
4038
+ contextWindow: 216000,
4039
+ maxTokens: 16000,
4040
+ },
4041
+ "claude-sonnet-4.5": {
4042
+ id: "claude-sonnet-4.5",
4043
+ name: "Claude Sonnet 4.5 (latest)",
4044
+ api: "anthropic-messages",
4045
+ provider: "github-copilot",
4046
+ baseUrl: "https://api.individual.githubcopilot.com",
4047
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
4048
+ compat: { "supportsEagerToolInputStreaming": false },
4049
+ reasoning: true,
4050
+ input: ["text", "image"],
4051
+ cost: {
4052
+ input: 3,
4053
+ output: 15,
4054
+ cacheRead: 0.3,
4055
+ cacheWrite: 3.75,
4056
+ },
4057
+ contextWindow: 200000,
4058
+ maxTokens: 32000,
4059
+ },
4060
+ "claude-sonnet-4.6": {
4061
+ id: "claude-sonnet-4.6",
4062
+ name: "Claude Sonnet 4.6",
4063
+ api: "anthropic-messages",
4064
+ provider: "github-copilot",
4065
+ baseUrl: "https://api.individual.githubcopilot.com",
4066
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
4067
+ compat: { "forceAdaptiveThinking": true },
4068
+ reasoning: true,
4069
+ input: ["text", "image"],
4070
+ cost: {
4071
+ input: 3,
4072
+ output: 15,
4073
+ cacheRead: 0.3,
4074
+ cacheWrite: 3.75,
4075
+ },
3926
4076
  contextWindow: 1000000,
3927
4077
  maxTokens: 32000,
3928
4078
  },
@@ -3934,12 +4084,12 @@ export const MODELS = {
3934
4084
  baseUrl: "https://api.individual.githubcopilot.com",
3935
4085
  headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
3936
4086
  compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
3937
- reasoning: false,
4087
+ reasoning: true,
3938
4088
  input: ["text", "image"],
3939
4089
  cost: {
3940
- input: 0,
3941
- output: 0,
3942
- cacheRead: 0,
4090
+ input: 1.25,
4091
+ output: 10,
4092
+ cacheRead: 0.125,
3943
4093
  cacheWrite: 0,
3944
4094
  },
3945
4095
  contextWindow: 128000,
@@ -3947,7 +4097,7 @@ export const MODELS = {
3947
4097
  },
3948
4098
  "gemini-3-flash-preview": {
3949
4099
  id: "gemini-3-flash-preview",
3950
- name: "Gemini 3 Flash",
4100
+ name: "Gemini 3 Flash Preview",
3951
4101
  api: "openai-completions",
3952
4102
  provider: "github-copilot",
3953
4103
  baseUrl: "https://api.individual.githubcopilot.com",
@@ -3956,9 +4106,9 @@ export const MODELS = {
3956
4106
  reasoning: true,
3957
4107
  input: ["text", "image"],
3958
4108
  cost: {
3959
- input: 0,
3960
- output: 0,
3961
- cacheRead: 0,
4109
+ input: 0.5,
4110
+ output: 3,
4111
+ cacheRead: 0.05,
3962
4112
  cacheWrite: 0,
3963
4113
  },
3964
4114
  contextWindow: 128000,
@@ -3975,12 +4125,12 @@ export const MODELS = {
3975
4125
  reasoning: true,
3976
4126
  input: ["text", "image"],
3977
4127
  cost: {
3978
- input: 0,
3979
- output: 0,
3980
- cacheRead: 0,
4128
+ input: 2,
4129
+ output: 12,
4130
+ cacheRead: 0.2,
3981
4131
  cacheWrite: 0,
3982
4132
  },
3983
- contextWindow: 128000,
4133
+ contextWindow: 200000,
3984
4134
  maxTokens: 64000,
3985
4135
  },
3986
4136
  "gemini-3.5-flash": {
@@ -3994,12 +4144,12 @@ export const MODELS = {
3994
4144
  reasoning: true,
3995
4145
  input: ["text", "image"],
3996
4146
  cost: {
3997
- input: 0,
3998
- output: 0,
3999
- cacheRead: 0,
4147
+ input: 1.5,
4148
+ output: 9,
4149
+ cacheRead: 0.15,
4000
4150
  cacheWrite: 0,
4001
4151
  },
4002
- contextWindow: 128000,
4152
+ contextWindow: 200000,
4003
4153
  maxTokens: 64000,
4004
4154
  },
4005
4155
  "gpt-4.1": {
@@ -4013,36 +4163,17 @@ export const MODELS = {
4013
4163
  reasoning: false,
4014
4164
  input: ["text", "image"],
4015
4165
  cost: {
4016
- input: 0,
4017
- output: 0,
4018
- cacheRead: 0,
4166
+ input: 2,
4167
+ output: 8,
4168
+ cacheRead: 0.5,
4019
4169
  cacheWrite: 0,
4020
4170
  },
4021
4171
  contextWindow: 128000,
4022
4172
  maxTokens: 16384,
4023
4173
  },
4024
- "gpt-4o": {
4025
- id: "gpt-4o",
4026
- name: "GPT-4o",
4027
- api: "openai-completions",
4028
- provider: "github-copilot",
4029
- baseUrl: "https://api.individual.githubcopilot.com",
4030
- headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
4031
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
4032
- reasoning: false,
4033
- input: ["text", "image"],
4034
- cost: {
4035
- input: 0,
4036
- output: 0,
4037
- cacheRead: 0,
4038
- cacheWrite: 0,
4039
- },
4040
- contextWindow: 128000,
4041
- maxTokens: 4096,
4042
- },
4043
4174
  "gpt-5-mini": {
4044
4175
  id: "gpt-5-mini",
4045
- name: "GPT-5-mini",
4176
+ name: "GPT-5 Mini",
4046
4177
  api: "openai-responses",
4047
4178
  provider: "github-copilot",
4048
4179
  baseUrl: "https://api.individual.githubcopilot.com",
@@ -4051,9 +4182,9 @@ export const MODELS = {
4051
4182
  thinkingLevelMap: { "off": null, "minimal": "low" },
4052
4183
  input: ["text", "image"],
4053
4184
  cost: {
4054
- input: 0,
4055
- output: 0,
4056
- cacheRead: 0,
4185
+ input: 0.25,
4186
+ output: 2,
4187
+ cacheRead: 0.025,
4057
4188
  cacheWrite: 0,
4058
4189
  },
4059
4190
  contextWindow: 264000,
@@ -4070,17 +4201,17 @@ export const MODELS = {
4070
4201
  thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
4071
4202
  input: ["text", "image"],
4072
4203
  cost: {
4073
- input: 0,
4074
- output: 0,
4075
- cacheRead: 0,
4204
+ input: 1.75,
4205
+ output: 14,
4206
+ cacheRead: 0.175,
4076
4207
  cacheWrite: 0,
4077
4208
  },
4078
- contextWindow: 264000,
4079
- maxTokens: 64000,
4209
+ contextWindow: 400000,
4210
+ maxTokens: 128000,
4080
4211
  },
4081
4212
  "gpt-5.2-codex": {
4082
4213
  id: "gpt-5.2-codex",
4083
- name: "GPT-5.2-Codex",
4214
+ name: "GPT-5.2 Codex",
4084
4215
  api: "openai-responses",
4085
4216
  provider: "github-copilot",
4086
4217
  baseUrl: "https://api.individual.githubcopilot.com",
@@ -4089,9 +4220,9 @@ export const MODELS = {
4089
4220
  thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
4090
4221
  input: ["text", "image"],
4091
4222
  cost: {
4092
- input: 0,
4093
- output: 0,
4094
- cacheRead: 0,
4223
+ input: 1.75,
4224
+ output: 14,
4225
+ cacheRead: 0.175,
4095
4226
  cacheWrite: 0,
4096
4227
  },
4097
4228
  contextWindow: 400000,
@@ -4099,7 +4230,7 @@ export const MODELS = {
4099
4230
  },
4100
4231
  "gpt-5.3-codex": {
4101
4232
  id: "gpt-5.3-codex",
4102
- name: "GPT-5.3-Codex",
4233
+ name: "GPT-5.3 Codex",
4103
4234
  api: "openai-responses",
4104
4235
  provider: "github-copilot",
4105
4236
  baseUrl: "https://api.individual.githubcopilot.com",
@@ -4108,9 +4239,9 @@ export const MODELS = {
4108
4239
  thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
4109
4240
  input: ["text", "image"],
4110
4241
  cost: {
4111
- input: 0,
4112
- output: 0,
4113
- cacheRead: 0,
4242
+ input: 1.75,
4243
+ output: 14,
4244
+ cacheRead: 0.175,
4114
4245
  cacheWrite: 0,
4115
4246
  },
4116
4247
  contextWindow: 400000,
@@ -4127,9 +4258,9 @@ export const MODELS = {
4127
4258
  thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
4128
4259
  input: ["text", "image"],
4129
4260
  cost: {
4130
- input: 0,
4131
- output: 0,
4132
- cacheRead: 0,
4261
+ input: 2.5,
4262
+ output: 15,
4263
+ cacheRead: 0.25,
4133
4264
  cacheWrite: 0,
4134
4265
  },
4135
4266
  contextWindow: 400000,
@@ -4137,7 +4268,7 @@ export const MODELS = {
4137
4268
  },
4138
4269
  "gpt-5.4-mini": {
4139
4270
  id: "gpt-5.4-mini",
4140
- name: "GPT-5.4 Mini",
4271
+ name: "GPT-5.4 mini",
4141
4272
  api: "openai-responses",
4142
4273
  provider: "github-copilot",
4143
4274
  baseUrl: "https://api.individual.githubcopilot.com",
@@ -4146,9 +4277,28 @@ export const MODELS = {
4146
4277
  thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
4147
4278
  input: ["text", "image"],
4148
4279
  cost: {
4149
- input: 0,
4150
- output: 0,
4151
- cacheRead: 0,
4280
+ input: 0.75,
4281
+ output: 4.5,
4282
+ cacheRead: 0.075,
4283
+ cacheWrite: 0,
4284
+ },
4285
+ contextWindow: 400000,
4286
+ maxTokens: 128000,
4287
+ },
4288
+ "gpt-5.4-nano": {
4289
+ id: "gpt-5.4-nano",
4290
+ name: "GPT-5.4 nano",
4291
+ api: "openai-responses",
4292
+ provider: "github-copilot",
4293
+ baseUrl: "https://api.individual.githubcopilot.com",
4294
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
4295
+ reasoning: true,
4296
+ thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
4297
+ input: ["text", "image"],
4298
+ cost: {
4299
+ input: 0.2,
4300
+ output: 1.25,
4301
+ cacheRead: 0.02,
4152
4302
  cacheWrite: 0,
4153
4303
  },
4154
4304
  contextWindow: 400000,
@@ -4165,32 +4315,32 @@ export const MODELS = {
4165
4315
  thinkingLevelMap: { "off": null, "minimal": "low", "xhigh": "xhigh" },
4166
4316
  input: ["text", "image"],
4167
4317
  cost: {
4168
- input: 0,
4169
- output: 0,
4170
- cacheRead: 0,
4318
+ input: 5,
4319
+ output: 30,
4320
+ cacheRead: 0.5,
4171
4321
  cacheWrite: 0,
4172
4322
  },
4173
4323
  contextWindow: 400000,
4174
4324
  maxTokens: 128000,
4175
4325
  },
4176
- "grok-code-fast-1": {
4177
- id: "grok-code-fast-1",
4178
- name: "Grok Code Fast 1",
4326
+ "raptor-mini": {
4327
+ id: "raptor-mini",
4328
+ name: "Raptor mini",
4179
4329
  api: "openai-completions",
4180
4330
  provider: "github-copilot",
4181
4331
  baseUrl: "https://api.individual.githubcopilot.com",
4182
4332
  headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
4183
4333
  compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
4184
4334
  reasoning: true,
4185
- input: ["text"],
4335
+ input: ["text", "image"],
4186
4336
  cost: {
4187
- input: 0,
4188
- output: 0,
4189
- cacheRead: 0,
4337
+ input: 0.25,
4338
+ output: 2,
4339
+ cacheRead: 0.025,
4190
4340
  cacheWrite: 0,
4191
4341
  },
4192
- contextWindow: 128000,
4193
- maxTokens: 64000,
4342
+ contextWindow: 400000,
4343
+ maxTokens: 128000,
4194
4344
  },
4195
4345
  },
4196
4346
  "google": {
@@ -4919,7 +5069,7 @@ export const MODELS = {
4919
5069
  cost: {
4920
5070
  input: 1,
4921
5071
  output: 3,
4922
- cacheRead: 0,
5072
+ cacheRead: 0.5,
4923
5073
  cacheWrite: 0,
4924
5074
  },
4925
5075
  contextWindow: 262144,
@@ -4936,7 +5086,7 @@ export const MODELS = {
4936
5086
  cost: {
4937
5087
  input: 0.15,
4938
5088
  output: 0.6,
4939
- cacheRead: 0,
5089
+ cacheRead: 0.075,
4940
5090
  cacheWrite: 0,
4941
5091
  },
4942
5092
  contextWindow: 131072,
@@ -4953,7 +5103,7 @@ export const MODELS = {
4953
5103
  cost: {
4954
5104
  input: 0.075,
4955
5105
  output: 0.3,
4956
- cacheRead: 0,
5106
+ cacheRead: 0.0375,
4957
5107
  cacheWrite: 0,
4958
5108
  },
4959
5109
  contextWindow: 131072,
@@ -5239,9 +5389,9 @@ export const MODELS = {
5239
5389
  reasoning: true,
5240
5390
  input: ["text"],
5241
5391
  cost: {
5242
- input: 1.74,
5243
- output: 3.48,
5244
- cacheRead: 0.145,
5392
+ input: 0.435,
5393
+ output: 0.87,
5394
+ cacheRead: 0.003625,
5245
5395
  cacheWrite: 0,
5246
5396
  },
5247
5397
  contextWindow: 1048576,
@@ -5483,6 +5633,23 @@ export const MODELS = {
5483
5633
  contextWindow: 204800,
5484
5634
  maxTokens: 131072,
5485
5635
  },
5636
+ "MiniMax-M3": {
5637
+ id: "MiniMax-M3",
5638
+ name: "MiniMax-M3",
5639
+ api: "anthropic-messages",
5640
+ provider: "minimax",
5641
+ baseUrl: "https://api.minimax.io/anthropic",
5642
+ reasoning: true,
5643
+ input: ["text", "image"],
5644
+ cost: {
5645
+ input: 0.6,
5646
+ output: 2.4,
5647
+ cacheRead: 0.12,
5648
+ cacheWrite: 0,
5649
+ },
5650
+ contextWindow: 512000,
5651
+ maxTokens: 128000,
5652
+ },
5486
5653
  },
5487
5654
  "minimax-cn": {
5488
5655
  "MiniMax-M2.7": {
@@ -5519,6 +5686,23 @@ export const MODELS = {
5519
5686
  contextWindow: 204800,
5520
5687
  maxTokens: 131072,
5521
5688
  },
5689
+ "MiniMax-M3": {
5690
+ id: "MiniMax-M3",
5691
+ name: "MiniMax-M3",
5692
+ api: "anthropic-messages",
5693
+ provider: "minimax-cn",
5694
+ baseUrl: "https://api.minimaxi.com/anthropic",
5695
+ reasoning: true,
5696
+ input: ["text", "image"],
5697
+ cost: {
5698
+ input: 0.6,
5699
+ output: 2.4,
5700
+ cacheRead: 0.12,
5701
+ cacheWrite: 0,
5702
+ },
5703
+ contextWindow: 512000,
5704
+ maxTokens: 128000,
5705
+ },
5522
5706
  },
5523
5707
  "mistral": {
5524
5708
  "codestral-latest": {
@@ -5555,6 +5739,23 @@ export const MODELS = {
5555
5739
  contextWindow: 262144,
5556
5740
  maxTokens: 262144,
5557
5741
  },
5742
+ "devstral-latest": {
5743
+ id: "devstral-latest",
5744
+ name: "Devstral 2",
5745
+ api: "mistral-conversations",
5746
+ provider: "mistral",
5747
+ baseUrl: "https://api.mistral.ai",
5748
+ reasoning: false,
5749
+ input: ["text"],
5750
+ cost: {
5751
+ input: 0.4,
5752
+ output: 2,
5753
+ cacheRead: 0,
5754
+ cacheWrite: 0,
5755
+ },
5756
+ contextWindow: 262144,
5757
+ maxTokens: 262144,
5758
+ },
5558
5759
  "devstral-medium-2507": {
5559
5760
  id: "devstral-medium-2507",
5560
5761
  name: "Devstral Medium",
@@ -5929,6 +6130,23 @@ export const MODELS = {
5929
6130
  contextWindow: 8000,
5930
6131
  maxTokens: 8000,
5931
6132
  },
6133
+ "open-mistral-nemo": {
6134
+ id: "open-mistral-nemo",
6135
+ name: "Open Mistral Nemo",
6136
+ api: "mistral-conversations",
6137
+ provider: "mistral",
6138
+ baseUrl: "https://api.mistral.ai",
6139
+ reasoning: false,
6140
+ input: ["text"],
6141
+ cost: {
6142
+ input: 0.15,
6143
+ output: 0.15,
6144
+ cacheRead: 0,
6145
+ cacheWrite: 0,
6146
+ },
6147
+ contextWindow: 128000,
6148
+ maxTokens: 128000,
6149
+ },
5932
6150
  "open-mixtral-8x22b": {
5933
6151
  id: "open-mixtral-8x22b",
5934
6152
  name: "Mixtral 8x22B",
@@ -6254,11 +6472,393 @@ export const MODELS = {
6254
6472
  maxTokens: 262144,
6255
6473
  },
6256
6474
  },
6257
- "openai": {
6258
- "gpt-4": {
6259
- id: "gpt-4",
6260
- name: "GPT-4",
6261
- api: "openai-responses",
6475
+ "nvidia": {
6476
+ "meta/llama-3.1-70b-instruct": {
6477
+ id: "meta/llama-3.1-70b-instruct",
6478
+ name: "Llama 3.1 70b Instruct",
6479
+ api: "openai-completions",
6480
+ provider: "nvidia",
6481
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6482
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6483
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6484
+ reasoning: false,
6485
+ input: ["text"],
6486
+ cost: {
6487
+ input: 0,
6488
+ output: 0,
6489
+ cacheRead: 0,
6490
+ cacheWrite: 0,
6491
+ },
6492
+ contextWindow: 128000,
6493
+ maxTokens: 4096,
6494
+ },
6495
+ "meta/llama-3.1-8b-instruct": {
6496
+ id: "meta/llama-3.1-8b-instruct",
6497
+ name: "Llama 3.1 8B Instruct",
6498
+ api: "openai-completions",
6499
+ provider: "nvidia",
6500
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6501
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6502
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6503
+ reasoning: false,
6504
+ input: ["text"],
6505
+ cost: {
6506
+ input: 0,
6507
+ output: 0,
6508
+ cacheRead: 0,
6509
+ cacheWrite: 0,
6510
+ },
6511
+ contextWindow: 16000,
6512
+ maxTokens: 4096,
6513
+ },
6514
+ "meta/llama-3.2-11b-vision-instruct": {
6515
+ id: "meta/llama-3.2-11b-vision-instruct",
6516
+ name: "Llama 3.2 11b Vision Instruct",
6517
+ api: "openai-completions",
6518
+ provider: "nvidia",
6519
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6520
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6521
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6522
+ reasoning: false,
6523
+ input: ["text", "image"],
6524
+ cost: {
6525
+ input: 0,
6526
+ output: 0,
6527
+ cacheRead: 0,
6528
+ cacheWrite: 0,
6529
+ },
6530
+ contextWindow: 128000,
6531
+ maxTokens: 4096,
6532
+ },
6533
+ "meta/llama-3.2-90b-vision-instruct": {
6534
+ id: "meta/llama-3.2-90b-vision-instruct",
6535
+ name: "Llama-3.2-90B-Vision-Instruct",
6536
+ api: "openai-completions",
6537
+ provider: "nvidia",
6538
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6539
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6540
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6541
+ reasoning: false,
6542
+ input: ["text", "image"],
6543
+ cost: {
6544
+ input: 0,
6545
+ output: 0,
6546
+ cacheRead: 0,
6547
+ cacheWrite: 0,
6548
+ },
6549
+ contextWindow: 128000,
6550
+ maxTokens: 8192,
6551
+ },
6552
+ "meta/llama-3.3-70b-instruct": {
6553
+ id: "meta/llama-3.3-70b-instruct",
6554
+ name: "Llama 3.3 70b Instruct",
6555
+ api: "openai-completions",
6556
+ provider: "nvidia",
6557
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6558
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6559
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6560
+ reasoning: false,
6561
+ input: ["text"],
6562
+ cost: {
6563
+ input: 0,
6564
+ output: 0,
6565
+ cacheRead: 0,
6566
+ cacheWrite: 0,
6567
+ },
6568
+ contextWindow: 128000,
6569
+ maxTokens: 4096,
6570
+ },
6571
+ "mistralai/mistral-large-3-675b-instruct-2512": {
6572
+ id: "mistralai/mistral-large-3-675b-instruct-2512",
6573
+ name: "Mistral Large 3 675B Instruct 2512",
6574
+ api: "openai-completions",
6575
+ provider: "nvidia",
6576
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6577
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6578
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6579
+ reasoning: false,
6580
+ input: ["text", "image"],
6581
+ cost: {
6582
+ input: 0,
6583
+ output: 0,
6584
+ cacheRead: 0,
6585
+ cacheWrite: 0,
6586
+ },
6587
+ contextWindow: 262144,
6588
+ maxTokens: 262144,
6589
+ },
6590
+ "mistralai/mistral-small-4-119b-2603": {
6591
+ id: "mistralai/mistral-small-4-119b-2603",
6592
+ name: "mistral-small-4-119b-2603",
6593
+ api: "openai-completions",
6594
+ provider: "nvidia",
6595
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6596
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6597
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6598
+ reasoning: false,
6599
+ input: ["text"],
6600
+ cost: {
6601
+ input: 0,
6602
+ output: 0,
6603
+ cacheRead: 0,
6604
+ cacheWrite: 0,
6605
+ },
6606
+ contextWindow: 128000,
6607
+ maxTokens: 8192,
6608
+ },
6609
+ "moonshotai/kimi-k2.6": {
6610
+ id: "moonshotai/kimi-k2.6",
6611
+ name: "Kimi K2.6",
6612
+ api: "openai-completions",
6613
+ provider: "nvidia",
6614
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6615
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6616
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6617
+ reasoning: true,
6618
+ input: ["text", "image"],
6619
+ cost: {
6620
+ input: 0,
6621
+ output: 0,
6622
+ cacheRead: 0,
6623
+ cacheWrite: 0,
6624
+ },
6625
+ contextWindow: 262144,
6626
+ maxTokens: 262144,
6627
+ },
6628
+ "nvidia/llama-3.3-nemotron-super-49b-v1": {
6629
+ id: "nvidia/llama-3.3-nemotron-super-49b-v1",
6630
+ name: "Llama 3.3 Nemotron Super 49B v1",
6631
+ api: "openai-completions",
6632
+ provider: "nvidia",
6633
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6634
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6635
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6636
+ reasoning: true,
6637
+ input: ["text"],
6638
+ cost: {
6639
+ input: 0,
6640
+ output: 0,
6641
+ cacheRead: 0,
6642
+ cacheWrite: 0,
6643
+ },
6644
+ contextWindow: 131072,
6645
+ maxTokens: 131072,
6646
+ },
6647
+ "nvidia/llama-3.3-nemotron-super-49b-v1.5": {
6648
+ id: "nvidia/llama-3.3-nemotron-super-49b-v1.5",
6649
+ name: "Llama 3.3 Nemotron Super 49B v1.5",
6650
+ api: "openai-completions",
6651
+ provider: "nvidia",
6652
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6653
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6654
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6655
+ reasoning: true,
6656
+ input: ["text"],
6657
+ cost: {
6658
+ input: 0,
6659
+ output: 0,
6660
+ cacheRead: 0,
6661
+ cacheWrite: 0,
6662
+ },
6663
+ contextWindow: 131072,
6664
+ maxTokens: 131072,
6665
+ },
6666
+ "nvidia/nemotron-3-nano-30b-a3b": {
6667
+ id: "nvidia/nemotron-3-nano-30b-a3b",
6668
+ name: "nemotron-3-nano-30b-a3b",
6669
+ api: "openai-completions",
6670
+ provider: "nvidia",
6671
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6672
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6673
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6674
+ reasoning: true,
6675
+ input: ["text"],
6676
+ cost: {
6677
+ input: 0,
6678
+ output: 0,
6679
+ cacheRead: 0,
6680
+ cacheWrite: 0,
6681
+ },
6682
+ contextWindow: 131072,
6683
+ maxTokens: 131072,
6684
+ },
6685
+ "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning": {
6686
+ id: "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
6687
+ name: "Nemotron 3 Nano Omni",
6688
+ api: "openai-completions",
6689
+ provider: "nvidia",
6690
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6691
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6692
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6693
+ reasoning: true,
6694
+ input: ["text", "image"],
6695
+ cost: {
6696
+ input: 0,
6697
+ output: 0,
6698
+ cacheRead: 0,
6699
+ cacheWrite: 0,
6700
+ },
6701
+ contextWindow: 256000,
6702
+ maxTokens: 65536,
6703
+ },
6704
+ "nvidia/nemotron-3-super-120b-a12b": {
6705
+ id: "nvidia/nemotron-3-super-120b-a12b",
6706
+ name: "Nemotron 3 Super",
6707
+ api: "openai-completions",
6708
+ provider: "nvidia",
6709
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6710
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6711
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6712
+ reasoning: true,
6713
+ input: ["text"],
6714
+ cost: {
6715
+ input: 0.2,
6716
+ output: 0.8,
6717
+ cacheRead: 0,
6718
+ cacheWrite: 0,
6719
+ },
6720
+ contextWindow: 262144,
6721
+ maxTokens: 262144,
6722
+ },
6723
+ "nvidia/nvidia-nemotron-nano-9b-v2": {
6724
+ id: "nvidia/nvidia-nemotron-nano-9b-v2",
6725
+ name: "nvidia-nemotron-nano-9b-v2",
6726
+ api: "openai-completions",
6727
+ provider: "nvidia",
6728
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6729
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6730
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6731
+ reasoning: true,
6732
+ input: ["text"],
6733
+ cost: {
6734
+ input: 0,
6735
+ output: 0,
6736
+ cacheRead: 0,
6737
+ cacheWrite: 0,
6738
+ },
6739
+ contextWindow: 131072,
6740
+ maxTokens: 131072,
6741
+ },
6742
+ "openai/gpt-oss-20b": {
6743
+ id: "openai/gpt-oss-20b",
6744
+ name: "GPT OSS 20B",
6745
+ api: "openai-completions",
6746
+ provider: "nvidia",
6747
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6748
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6749
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6750
+ reasoning: true,
6751
+ input: ["text"],
6752
+ cost: {
6753
+ input: 0,
6754
+ output: 0,
6755
+ cacheRead: 0,
6756
+ cacheWrite: 0,
6757
+ },
6758
+ contextWindow: 131072,
6759
+ maxTokens: 32768,
6760
+ },
6761
+ "qwen/qwen3-coder-480b-a35b-instruct": {
6762
+ id: "qwen/qwen3-coder-480b-a35b-instruct",
6763
+ name: "Qwen3 Coder 480B A35B Instruct",
6764
+ api: "openai-completions",
6765
+ provider: "nvidia",
6766
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6767
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6768
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6769
+ reasoning: false,
6770
+ input: ["text"],
6771
+ cost: {
6772
+ input: 0,
6773
+ output: 0,
6774
+ cacheRead: 0,
6775
+ cacheWrite: 0,
6776
+ },
6777
+ contextWindow: 262144,
6778
+ maxTokens: 66536,
6779
+ },
6780
+ "qwen/qwen3.5-122b-a10b": {
6781
+ id: "qwen/qwen3.5-122b-a10b",
6782
+ name: "Qwen3.5 122B-A10B",
6783
+ api: "openai-completions",
6784
+ provider: "nvidia",
6785
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6786
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6787
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6788
+ reasoning: true,
6789
+ input: ["text", "image"],
6790
+ cost: {
6791
+ input: 0,
6792
+ output: 0,
6793
+ cacheRead: 0,
6794
+ cacheWrite: 0,
6795
+ },
6796
+ contextWindow: 262144,
6797
+ maxTokens: 65536,
6798
+ },
6799
+ "stepfun-ai/step-3.5-flash": {
6800
+ id: "stepfun-ai/step-3.5-flash",
6801
+ name: "Step 3.5 Flash",
6802
+ api: "openai-completions",
6803
+ provider: "nvidia",
6804
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6805
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6806
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6807
+ reasoning: true,
6808
+ input: ["text"],
6809
+ cost: {
6810
+ input: 0,
6811
+ output: 0,
6812
+ cacheRead: 0,
6813
+ cacheWrite: 0,
6814
+ },
6815
+ contextWindow: 256000,
6816
+ maxTokens: 16384,
6817
+ },
6818
+ "stepfun-ai/step-3.7-flash": {
6819
+ id: "stepfun-ai/step-3.7-flash",
6820
+ name: "Step 3.7 Flash",
6821
+ api: "openai-completions",
6822
+ provider: "nvidia",
6823
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6824
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6825
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6826
+ reasoning: true,
6827
+ input: ["text", "image"],
6828
+ cost: {
6829
+ input: 0,
6830
+ output: 0,
6831
+ cacheRead: 0,
6832
+ cacheWrite: 0,
6833
+ },
6834
+ contextWindow: 256000,
6835
+ maxTokens: 16384,
6836
+ },
6837
+ "z-ai/glm-5.1": {
6838
+ id: "z-ai/glm-5.1",
6839
+ name: "GLM-5.1",
6840
+ api: "openai-completions",
6841
+ provider: "nvidia",
6842
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6843
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6844
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6845
+ reasoning: true,
6846
+ input: ["text"],
6847
+ cost: {
6848
+ input: 0,
6849
+ output: 0,
6850
+ cacheRead: 0,
6851
+ cacheWrite: 0,
6852
+ },
6853
+ contextWindow: 131072,
6854
+ maxTokens: 131072,
6855
+ },
6856
+ },
6857
+ "openai": {
6858
+ "gpt-4": {
6859
+ id: "gpt-4",
6860
+ name: "GPT-4",
6861
+ api: "openai-responses",
6262
6862
  provider: "openai",
6263
6863
  baseUrl: "https://api.openai.com/v1",
6264
6864
  reasoning: false,
@@ -6334,7 +6934,7 @@ export const MODELS = {
6334
6934
  cost: {
6335
6935
  input: 0.1,
6336
6936
  output: 0.4,
6337
- cacheRead: 0.03,
6937
+ cacheRead: 0.025,
6338
6938
  cacheWrite: 0,
6339
6939
  },
6340
6940
  contextWindow: 1047576,
@@ -6419,7 +7019,7 @@ export const MODELS = {
6419
7019
  cost: {
6420
7020
  input: 0.15,
6421
7021
  output: 0.6,
6422
- cacheRead: 0.08,
7022
+ cacheRead: 0.075,
6423
7023
  cacheWrite: 0,
6424
7024
  },
6425
7025
  contextWindow: 128000,
@@ -6545,7 +7145,7 @@ export const MODELS = {
6545
7145
  cost: {
6546
7146
  input: 1.25,
6547
7147
  output: 10,
6548
- cacheRead: 0.13,
7148
+ cacheRead: 0.125,
6549
7149
  cacheWrite: 0,
6550
7150
  },
6551
7151
  contextWindow: 400000,
@@ -6828,7 +7428,7 @@ export const MODELS = {
6828
7428
  provider: "openai",
6829
7429
  baseUrl: "https://api.openai.com/v1",
6830
7430
  reasoning: true,
6831
- thinkingLevelMap: { "off": "none", "xhigh": "xhigh" },
7431
+ thinkingLevelMap: { "off": "none", "xhigh": "xhigh", "minimal": null },
6832
7432
  input: ["text", "image"],
6833
7433
  cost: {
6834
7434
  input: 5,
@@ -6846,7 +7446,7 @@ export const MODELS = {
6846
7446
  provider: "openai",
6847
7447
  baseUrl: "https://api.openai.com/v1",
6848
7448
  reasoning: true,
6849
- thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
7449
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "minimal": null, "low": null },
6850
7450
  input: ["text", "image"],
6851
7451
  cost: {
6852
7452
  input: 30,
@@ -6970,7 +7570,7 @@ export const MODELS = {
6970
7570
  cost: {
6971
7571
  input: 1.1,
6972
7572
  output: 4.4,
6973
- cacheRead: 0.28,
7573
+ cacheRead: 0.275,
6974
7574
  cacheWrite: 0,
6975
7575
  },
6976
7576
  contextWindow: 200000,
@@ -7120,7 +7720,7 @@ export const MODELS = {
7120
7720
  cacheWrite: 0,
7121
7721
  },
7122
7722
  contextWindow: 200000,
7123
- maxTokens: 128000,
7723
+ maxTokens: 32000,
7124
7724
  },
7125
7725
  "claude-haiku-4-5": {
7126
7726
  id: "claude-haiku-4-5",
@@ -7179,9 +7779,28 @@ export const MODELS = {
7179
7779
  api: "anthropic-messages",
7180
7780
  provider: "opencode",
7181
7781
  baseUrl: "https://opencode.ai/zen",
7182
- compat: { "forceAdaptiveThinking": true },
7782
+ compat: { "forceAdaptiveThinking": true },
7783
+ reasoning: true,
7784
+ thinkingLevelMap: { "xhigh": "max" },
7785
+ input: ["text", "image"],
7786
+ cost: {
7787
+ input: 5,
7788
+ output: 25,
7789
+ cacheRead: 0.5,
7790
+ cacheWrite: 6.25,
7791
+ },
7792
+ contextWindow: 1000000,
7793
+ maxTokens: 128000,
7794
+ },
7795
+ "claude-opus-4-7": {
7796
+ id: "claude-opus-4-7",
7797
+ name: "Claude Opus 4.7",
7798
+ api: "anthropic-messages",
7799
+ provider: "opencode",
7800
+ baseUrl: "https://opencode.ai/zen",
7801
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
7183
7802
  reasoning: true,
7184
- thinkingLevelMap: { "xhigh": "max" },
7803
+ thinkingLevelMap: { "xhigh": "xhigh" },
7185
7804
  input: ["text", "image"],
7186
7805
  cost: {
7187
7806
  input: 5,
@@ -7192,13 +7811,13 @@ export const MODELS = {
7192
7811
  contextWindow: 1000000,
7193
7812
  maxTokens: 128000,
7194
7813
  },
7195
- "claude-opus-4-7": {
7196
- id: "claude-opus-4-7",
7197
- name: "Claude Opus 4.7",
7814
+ "claude-opus-4-8": {
7815
+ id: "claude-opus-4-8",
7816
+ name: "Claude Opus 4.8",
7198
7817
  api: "anthropic-messages",
7199
7818
  provider: "opencode",
7200
7819
  baseUrl: "https://opencode.ai/zen",
7201
- compat: { "forceAdaptiveThinking": true },
7820
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
7202
7821
  reasoning: true,
7203
7822
  thinkingLevelMap: { "xhigh": "xhigh" },
7204
7823
  input: ["text", "image"],
@@ -7263,6 +7882,25 @@ export const MODELS = {
7263
7882
  contextWindow: 1000000,
7264
7883
  maxTokens: 64000,
7265
7884
  },
7885
+ "deepseek-v4-flash": {
7886
+ id: "deepseek-v4-flash",
7887
+ name: "DeepSeek V4 Flash",
7888
+ api: "openai-completions",
7889
+ provider: "opencode",
7890
+ baseUrl: "https://opencode.ai/zen/v1",
7891
+ compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
7892
+ reasoning: true,
7893
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
7894
+ input: ["text"],
7895
+ cost: {
7896
+ input: 0.14,
7897
+ output: 0.28,
7898
+ cacheRead: 0.03,
7899
+ cacheWrite: 0,
7900
+ },
7901
+ contextWindow: 1000000,
7902
+ maxTokens: 384000,
7903
+ },
7266
7904
  "deepseek-v4-flash-free": {
7267
7905
  id: "deepseek-v4-flash-free",
7268
7906
  name: "DeepSeek V4 Flash Free",
@@ -7647,7 +8285,7 @@ export const MODELS = {
7647
8285
  provider: "opencode",
7648
8286
  baseUrl: "https://opencode.ai/zen/v1",
7649
8287
  reasoning: true,
7650
- thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
8288
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "minimal": null, "low": null },
7651
8289
  input: ["text", "image"],
7652
8290
  cost: {
7653
8291
  input: 30,
@@ -7664,7 +8302,9 @@ export const MODELS = {
7664
8302
  api: "openai-completions",
7665
8303
  provider: "opencode",
7666
8304
  baseUrl: "https://opencode.ai/zen/v1",
8305
+ compat: { "supportsReasoningEffort": false },
7667
8306
  reasoning: true,
8307
+ thinkingLevelMap: { "off": null, "minimal": null, "low": null, "medium": null },
7668
8308
  input: ["text", "image"],
7669
8309
  cost: {
7670
8310
  input: 1,
@@ -7698,6 +8338,7 @@ export const MODELS = {
7698
8338
  api: "openai-completions",
7699
8339
  provider: "opencode",
7700
8340
  baseUrl: "https://opencode.ai/zen/v1",
8341
+ compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false },
7701
8342
  reasoning: true,
7702
8343
  input: ["text", "image"],
7703
8344
  cost: {
@@ -7709,6 +8350,23 @@ export const MODELS = {
7709
8350
  contextWindow: 262144,
7710
8351
  maxTokens: 65536,
7711
8352
  },
8353
+ "mimo-v2.5-free": {
8354
+ id: "mimo-v2.5-free",
8355
+ name: "MiMo V2.5 Free",
8356
+ api: "openai-completions",
8357
+ provider: "opencode",
8358
+ baseUrl: "https://opencode.ai/zen/v1",
8359
+ reasoning: true,
8360
+ input: ["text", "image"],
8361
+ cost: {
8362
+ input: 0,
8363
+ output: 0,
8364
+ cacheRead: 0,
8365
+ cacheWrite: 0,
8366
+ },
8367
+ contextWindow: 200000,
8368
+ maxTokens: 32000,
8369
+ },
7712
8370
  "minimax-m2.5": {
7713
8371
  id: "minimax-m2.5",
7714
8372
  name: "MiniMax M2.5",
@@ -7891,7 +8549,9 @@ export const MODELS = {
7891
8549
  api: "openai-completions",
7892
8550
  provider: "opencode-go",
7893
8551
  baseUrl: "https://opencode.ai/zen/go/v1",
8552
+ compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false },
7894
8553
  reasoning: true,
8554
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
7895
8555
  input: ["text", "image"],
7896
8556
  cost: {
7897
8557
  input: 0.95,
@@ -7911,9 +8571,9 @@ export const MODELS = {
7911
8571
  reasoning: true,
7912
8572
  input: ["text", "image"],
7913
8573
  cost: {
7914
- input: 0.4,
7915
- output: 2,
7916
- cacheRead: 0.08,
8574
+ input: 0.14,
8575
+ output: 0.28,
8576
+ cacheRead: 0.0028,
7917
8577
  cacheWrite: 0,
7918
8578
  },
7919
8579
  contextWindow: 1000000,
@@ -7928,9 +8588,9 @@ export const MODELS = {
7928
8588
  reasoning: true,
7929
8589
  input: ["text"],
7930
8590
  cost: {
7931
- input: 1,
7932
- output: 3,
7933
- cacheRead: 0.2,
8591
+ input: 1.74,
8592
+ output: 3.48,
8593
+ cacheRead: 0.0145,
7934
8594
  cacheWrite: 0,
7935
8595
  },
7936
8596
  contextWindow: 1048576,
@@ -7970,23 +8630,22 @@ export const MODELS = {
7970
8630
  contextWindow: 204800,
7971
8631
  maxTokens: 131072,
7972
8632
  },
7973
- "qwen3.5-plus": {
7974
- id: "qwen3.5-plus",
7975
- name: "Qwen3.5 Plus",
7976
- api: "openai-completions",
8633
+ "minimax-m3": {
8634
+ id: "minimax-m3",
8635
+ name: "MiniMax M3",
8636
+ api: "anthropic-messages",
7977
8637
  provider: "opencode-go",
7978
- baseUrl: "https://opencode.ai/zen/go/v1",
7979
- compat: { "thinkingFormat": "qwen" },
8638
+ baseUrl: "https://opencode.ai/zen/go",
7980
8639
  reasoning: true,
7981
8640
  input: ["text", "image"],
7982
8641
  cost: {
7983
- input: 0.2,
7984
- output: 1.2,
7985
- cacheRead: 0.02,
7986
- cacheWrite: 0.25,
8642
+ input: 0.6,
8643
+ output: 2.4,
8644
+ cacheRead: 0.12,
8645
+ cacheWrite: 0,
7987
8646
  },
7988
- contextWindow: 262144,
7989
- maxTokens: 65536,
8647
+ contextWindow: 512000,
8648
+ maxTokens: 131072,
7990
8649
  },
7991
8650
  "qwen3.6-plus": {
7992
8651
  id: "qwen3.6-plus",
@@ -8006,6 +8665,23 @@ export const MODELS = {
8006
8665
  contextWindow: 262144,
8007
8666
  maxTokens: 65536,
8008
8667
  },
8668
+ "qwen3.7-max": {
8669
+ id: "qwen3.7-max",
8670
+ name: "Qwen3.7 Max",
8671
+ api: "anthropic-messages",
8672
+ provider: "opencode-go",
8673
+ baseUrl: "https://opencode.ai/zen/go",
8674
+ reasoning: true,
8675
+ input: ["text"],
8676
+ cost: {
8677
+ input: 2.5,
8678
+ output: 7.5,
8679
+ cacheRead: 0.5,
8680
+ cacheWrite: 3.125,
8681
+ },
8682
+ contextWindow: 1000000,
8683
+ maxTokens: 65536,
8684
+ },
8009
8685
  },
8010
8686
  "openrouter": {
8011
8687
  "ai21/jamba-large-1.7": {
@@ -8025,23 +8701,6 @@ export const MODELS = {
8025
8701
  contextWindow: 256000,
8026
8702
  maxTokens: 4096,
8027
8703
  },
8028
- "alibaba/tongyi-deepresearch-30b-a3b": {
8029
- id: "alibaba/tongyi-deepresearch-30b-a3b",
8030
- name: "Tongyi DeepResearch 30B A3B",
8031
- api: "openai-completions",
8032
- provider: "openrouter",
8033
- baseUrl: "https://openrouter.ai/api/v1",
8034
- reasoning: true,
8035
- input: ["text"],
8036
- cost: {
8037
- input: 0.09,
8038
- output: 0.44999999999999996,
8039
- cacheRead: 0.09,
8040
- cacheWrite: 0,
8041
- },
8042
- contextWindow: 131072,
8043
- maxTokens: 131072,
8044
- },
8045
8704
  "amazon/nova-2-lite-v1": {
8046
8705
  id: "amazon/nova-2-lite-v1",
8047
8706
  name: "Amazon: Nova 2 Lite",
@@ -8301,6 +8960,42 @@ export const MODELS = {
8301
8960
  contextWindow: 1000000,
8302
8961
  maxTokens: 128000,
8303
8962
  },
8963
+ "anthropic/claude-opus-4.8": {
8964
+ id: "anthropic/claude-opus-4.8",
8965
+ name: "Anthropic: Claude Opus 4.8",
8966
+ api: "openai-completions",
8967
+ provider: "openrouter",
8968
+ baseUrl: "https://openrouter.ai/api/v1",
8969
+ reasoning: true,
8970
+ thinkingLevelMap: { "xhigh": "xhigh" },
8971
+ input: ["text", "image"],
8972
+ cost: {
8973
+ input: 5,
8974
+ output: 25,
8975
+ cacheRead: 0.5,
8976
+ cacheWrite: 6.25,
8977
+ },
8978
+ contextWindow: 1000000,
8979
+ maxTokens: 128000,
8980
+ },
8981
+ "anthropic/claude-opus-4.8-fast": {
8982
+ id: "anthropic/claude-opus-4.8-fast",
8983
+ name: "Anthropic: Claude Opus 4.8 (Fast)",
8984
+ api: "openai-completions",
8985
+ provider: "openrouter",
8986
+ baseUrl: "https://openrouter.ai/api/v1",
8987
+ reasoning: true,
8988
+ thinkingLevelMap: { "xhigh": "xhigh" },
8989
+ input: ["text", "image"],
8990
+ cost: {
8991
+ input: 10,
8992
+ output: 50,
8993
+ cacheRead: 1,
8994
+ cacheWrite: 12.5,
8995
+ },
8996
+ contextWindow: 1000000,
8997
+ maxTokens: 128000,
8998
+ },
8304
8999
  "anthropic/claude-sonnet-4": {
8305
9000
  id: "anthropic/claude-sonnet-4",
8306
9001
  name: "Anthropic: Claude Sonnet 4",
@@ -8369,23 +9064,6 @@ export const MODELS = {
8369
9064
  contextWindow: 262144,
8370
9065
  maxTokens: 262144,
8371
9066
  },
8372
- "arcee-ai/trinity-large-thinking:free": {
8373
- id: "arcee-ai/trinity-large-thinking:free",
8374
- name: "Arcee AI: Trinity Large Thinking (free)",
8375
- api: "openai-completions",
8376
- provider: "openrouter",
8377
- baseUrl: "https://openrouter.ai/api/v1",
8378
- reasoning: true,
8379
- input: ["text"],
8380
- cost: {
8381
- input: 0,
8382
- output: 0,
8383
- cacheRead: 0,
8384
- cacheWrite: 0,
8385
- },
8386
- contextWindow: 262144,
8387
- maxTokens: 80000,
8388
- },
8389
9067
  "arcee-ai/trinity-mini": {
8390
9068
  id: "arcee-ai/trinity-mini",
8391
9069
  name: "Arcee AI: Trinity Mini",
@@ -8437,40 +9115,6 @@ export const MODELS = {
8437
9115
  contextWindow: 2000000,
8438
9116
  maxTokens: 30000,
8439
9117
  },
8440
- "baidu/cobuddy:free": {
8441
- id: "baidu/cobuddy:free",
8442
- name: "Baidu Qianfan: CoBuddy (free)",
8443
- api: "openai-completions",
8444
- provider: "openrouter",
8445
- baseUrl: "https://openrouter.ai/api/v1",
8446
- reasoning: true,
8447
- input: ["text"],
8448
- cost: {
8449
- input: 0,
8450
- output: 0,
8451
- cacheRead: 0,
8452
- cacheWrite: 0,
8453
- },
8454
- contextWindow: 131072,
8455
- maxTokens: 65536,
8456
- },
8457
- "baidu/ernie-4.5-21b-a3b": {
8458
- id: "baidu/ernie-4.5-21b-a3b",
8459
- name: "Baidu: ERNIE 4.5 21B A3B",
8460
- api: "openai-completions",
8461
- provider: "openrouter",
8462
- baseUrl: "https://openrouter.ai/api/v1",
8463
- reasoning: false,
8464
- input: ["text"],
8465
- cost: {
8466
- input: 0.07,
8467
- output: 0.28,
8468
- cacheRead: 0,
8469
- cacheWrite: 0,
8470
- },
8471
- contextWindow: 131072,
8472
- maxTokens: 8000,
8473
- },
8474
9118
  "baidu/ernie-4.5-vl-28b-a3b": {
8475
9119
  id: "baidu/ernie-4.5-vl-28b-a3b",
8476
9120
  name: "Baidu: ERNIE 4.5 VL 28B A3B",
@@ -8599,13 +9243,13 @@ export const MODELS = {
8599
9243
  reasoning: false,
8600
9244
  input: ["text"],
8601
9245
  cost: {
8602
- input: 0.32,
8603
- output: 0.8899999999999999,
9246
+ input: 0.20020000000000002,
9247
+ output: 0.8000999999999999,
8604
9248
  cacheRead: 0,
8605
9249
  cacheWrite: 0,
8606
9250
  },
8607
- contextWindow: 163840,
8608
- maxTokens: 16384,
9251
+ contextWindow: 131072,
9252
+ maxTokens: 16000,
8609
9253
  },
8610
9254
  "deepseek/deepseek-chat-v3-0324": {
8611
9255
  id: "deepseek/deepseek-chat-v3-0324",
@@ -8701,13 +9345,13 @@ export const MODELS = {
8701
9345
  reasoning: true,
8702
9346
  input: ["text"],
8703
9347
  cost: {
8704
- input: 0.252,
8705
- output: 0.378,
8706
- cacheRead: 0.0252,
9348
+ input: 0.2288,
9349
+ output: 0.3432,
9350
+ cacheRead: 0,
8707
9351
  cacheWrite: 0,
8708
9352
  },
8709
9353
  contextWindow: 131072,
8710
- maxTokens: 65536,
9354
+ maxTokens: 64000,
8711
9355
  },
8712
9356
  "deepseek/deepseek-v3.2-exp": {
8713
9357
  id: "deepseek/deepseek-v3.2-exp",
@@ -8732,37 +9376,18 @@ export const MODELS = {
8732
9376
  api: "openai-completions",
8733
9377
  provider: "openrouter",
8734
9378
  baseUrl: "https://openrouter.ai/api/v1",
8735
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8736
- reasoning: true,
8737
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8738
- input: ["text"],
8739
- cost: {
8740
- input: 0.09999999999999999,
8741
- output: 0.19999999999999998,
8742
- cacheRead: 0.02,
8743
- cacheWrite: 0,
8744
- },
8745
- contextWindow: 1048576,
8746
- maxTokens: 16384,
8747
- },
8748
- "deepseek/deepseek-v4-flash:free": {
8749
- id: "deepseek/deepseek-v4-flash:free",
8750
- name: "DeepSeek: DeepSeek V4 Flash (free)",
8751
- api: "openai-completions",
8752
- provider: "openrouter",
8753
- baseUrl: "https://openrouter.ai/api/v1",
8754
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
9379
+ compat: { "requiresReasoningContentOnAssistantMessages": true },
8755
9380
  reasoning: true,
8756
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
9381
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
8757
9382
  input: ["text"],
8758
9383
  cost: {
8759
- input: 0,
8760
- output: 0,
8761
- cacheRead: 0,
9384
+ input: 0.0983,
9385
+ output: 0.1966,
9386
+ cacheRead: 0.019700000000000002,
8762
9387
  cacheWrite: 0,
8763
9388
  },
8764
9389
  contextWindow: 1048576,
8765
- maxTokens: 384000,
9390
+ maxTokens: 131072,
8766
9391
  },
8767
9392
  "deepseek/deepseek-v4-pro": {
8768
9393
  id: "deepseek/deepseek-v4-pro",
@@ -8770,9 +9395,9 @@ export const MODELS = {
8770
9395
  api: "openai-completions",
8771
9396
  provider: "openrouter",
8772
9397
  baseUrl: "https://openrouter.ai/api/v1",
8773
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
9398
+ compat: { "requiresReasoningContentOnAssistantMessages": true },
8774
9399
  reasoning: true,
8775
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
9400
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
8776
9401
  input: ["text"],
8777
9402
  cost: {
8778
9403
  input: 0.435,
@@ -8800,40 +9425,6 @@ export const MODELS = {
8800
9425
  contextWindow: 32768,
8801
9426
  maxTokens: 4096,
8802
9427
  },
8803
- "google/gemini-2.0-flash-001": {
8804
- id: "google/gemini-2.0-flash-001",
8805
- name: "Google: Gemini 2.0 Flash",
8806
- api: "openai-completions",
8807
- provider: "openrouter",
8808
- baseUrl: "https://openrouter.ai/api/v1",
8809
- reasoning: false,
8810
- input: ["text", "image"],
8811
- cost: {
8812
- input: 0.09999999999999999,
8813
- output: 0.39999999999999997,
8814
- cacheRead: 0.024999999999999998,
8815
- cacheWrite: 0.08333333333333334,
8816
- },
8817
- contextWindow: 1000000,
8818
- maxTokens: 8192,
8819
- },
8820
- "google/gemini-2.0-flash-lite-001": {
8821
- id: "google/gemini-2.0-flash-lite-001",
8822
- name: "Google: Gemini 2.0 Flash Lite",
8823
- api: "openai-completions",
8824
- provider: "openrouter",
8825
- baseUrl: "https://openrouter.ai/api/v1",
8826
- reasoning: false,
8827
- input: ["text", "image"],
8828
- cost: {
8829
- input: 0.075,
8830
- output: 0.3,
8831
- cacheRead: 0,
8832
- cacheWrite: 0,
8833
- },
8834
- contextWindow: 1048576,
8835
- maxTokens: 8192,
8836
- },
8837
9428
  "google/gemini-2.5-flash": {
8838
9429
  id: "google/gemini-2.5-flash",
8839
9430
  name: "Google: Gemini 2.5 Flash",
@@ -9311,6 +9902,23 @@ export const MODELS = {
9311
9902
  contextWindow: 131072,
9312
9903
  maxTokens: 4096,
9313
9904
  },
9905
+ "meta-llama/llama-4-maverick": {
9906
+ id: "meta-llama/llama-4-maverick",
9907
+ name: "Meta: Llama 4 Maverick",
9908
+ api: "openai-completions",
9909
+ provider: "openrouter",
9910
+ baseUrl: "https://openrouter.ai/api/v1",
9911
+ reasoning: false,
9912
+ input: ["text", "image"],
9913
+ cost: {
9914
+ input: 0.15,
9915
+ output: 0.6,
9916
+ cacheRead: 0,
9917
+ cacheWrite: 0,
9918
+ },
9919
+ contextWindow: 1048576,
9920
+ maxTokens: 16384,
9921
+ },
9314
9922
  "meta-llama/llama-4-scout": {
9315
9923
  id: "meta-llama/llama-4-scout",
9316
9924
  name: "Meta: Llama 4 Scout",
@@ -9396,39 +10004,39 @@ export const MODELS = {
9396
10004
  contextWindow: 204800,
9397
10005
  maxTokens: 196608,
9398
10006
  },
9399
- "minimax/minimax-m2.5:free": {
9400
- id: "minimax/minimax-m2.5:free",
9401
- name: "MiniMax: MiniMax M2.5 (free)",
10007
+ "minimax/minimax-m2.7": {
10008
+ id: "minimax/minimax-m2.7",
10009
+ name: "MiniMax: MiniMax M2.7",
9402
10010
  api: "openai-completions",
9403
10011
  provider: "openrouter",
9404
10012
  baseUrl: "https://openrouter.ai/api/v1",
9405
10013
  reasoning: true,
9406
10014
  input: ["text"],
9407
10015
  cost: {
9408
- input: 0,
9409
- output: 0,
10016
+ input: 0.27899999999999997,
10017
+ output: 1.2,
9410
10018
  cacheRead: 0,
9411
10019
  cacheWrite: 0,
9412
10020
  },
9413
10021
  contextWindow: 204800,
9414
- maxTokens: 8192,
10022
+ maxTokens: 131072,
9415
10023
  },
9416
- "minimax/minimax-m2.7": {
9417
- id: "minimax/minimax-m2.7",
9418
- name: "MiniMax: MiniMax M2.7",
10024
+ "minimax/minimax-m3": {
10025
+ id: "minimax/minimax-m3",
10026
+ name: "MiniMax: MiniMax M3",
9419
10027
  api: "openai-completions",
9420
10028
  provider: "openrouter",
9421
10029
  baseUrl: "https://openrouter.ai/api/v1",
9422
10030
  reasoning: true,
9423
- input: ["text"],
10031
+ input: ["text", "image"],
9424
10032
  cost: {
9425
- input: 0.27899999999999997,
10033
+ input: 0.3,
9426
10034
  output: 1.2,
9427
- cacheRead: 0,
10035
+ cacheRead: 0.06,
9428
10036
  cacheWrite: 0,
9429
10037
  },
9430
- contextWindow: 204800,
9431
- maxTokens: 131072,
10038
+ contextWindow: 1048576,
10039
+ maxTokens: 512000,
9432
10040
  },
9433
10041
  "mistralai/codestral-2508": {
9434
10042
  id: "mistralai/codestral-2508",
@@ -9464,40 +10072,6 @@ export const MODELS = {
9464
10072
  contextWindow: 262144,
9465
10073
  maxTokens: 4096,
9466
10074
  },
9467
- "mistralai/devstral-medium": {
9468
- id: "mistralai/devstral-medium",
9469
- name: "Mistral: Devstral Medium",
9470
- api: "openai-completions",
9471
- provider: "openrouter",
9472
- baseUrl: "https://openrouter.ai/api/v1",
9473
- reasoning: false,
9474
- input: ["text"],
9475
- cost: {
9476
- input: 0.39999999999999997,
9477
- output: 2,
9478
- cacheRead: 0.04,
9479
- cacheWrite: 0,
9480
- },
9481
- contextWindow: 131072,
9482
- maxTokens: 4096,
9483
- },
9484
- "mistralai/devstral-small": {
9485
- id: "mistralai/devstral-small",
9486
- name: "Mistral: Devstral Small 1.1",
9487
- api: "openai-completions",
9488
- provider: "openrouter",
9489
- baseUrl: "https://openrouter.ai/api/v1",
9490
- reasoning: false,
9491
- input: ["text"],
9492
- cost: {
9493
- input: 0.09999999999999999,
9494
- output: 0.3,
9495
- cacheRead: 0.01,
9496
- cacheWrite: 0,
9497
- },
9498
- contextWindow: 131072,
9499
- maxTokens: 4096,
9500
- },
9501
10075
  "mistralai/ministral-14b-2512": {
9502
10076
  id: "mistralai/ministral-14b-2512",
9503
10077
  name: "Mistral: Ministral 3 14B 2512",
@@ -9583,23 +10157,6 @@ export const MODELS = {
9583
10157
  contextWindow: 131072,
9584
10158
  maxTokens: 4096,
9585
10159
  },
9586
- "mistralai/mistral-large-2411": {
9587
- id: "mistralai/mistral-large-2411",
9588
- name: "Mistral Large 2411",
9589
- api: "openai-completions",
9590
- provider: "openrouter",
9591
- baseUrl: "https://openrouter.ai/api/v1",
9592
- reasoning: false,
9593
- input: ["text"],
9594
- cost: {
9595
- input: 2,
9596
- output: 6,
9597
- cacheRead: 0.19999999999999998,
9598
- cacheWrite: 0,
9599
- },
9600
- contextWindow: 131072,
9601
- maxTokens: 4096,
9602
- },
9603
10160
  "mistralai/mistral-large-2512": {
9604
10161
  id: "mistralai/mistral-large-2512",
9605
10162
  name: "Mistral: Mistral Large 3 2512",
@@ -9753,23 +10310,6 @@ export const MODELS = {
9753
10310
  contextWindow: 65536,
9754
10311
  maxTokens: 4096,
9755
10312
  },
9756
- "mistralai/pixtral-large-2411": {
9757
- id: "mistralai/pixtral-large-2411",
9758
- name: "Mistral: Pixtral Large 2411",
9759
- api: "openai-completions",
9760
- provider: "openrouter",
9761
- baseUrl: "https://openrouter.ai/api/v1",
9762
- reasoning: false,
9763
- input: ["text", "image"],
9764
- cost: {
9765
- input: 2,
9766
- output: 6,
9767
- cacheRead: 0.19999999999999998,
9768
- cacheWrite: 0,
9769
- },
9770
- contextWindow: 131072,
9771
- maxTokens: 4096,
9772
- },
9773
10313
  "mistralai/voxtral-small-24b-2507": {
9774
10314
  id: "mistralai/voxtral-small-24b-2507",
9775
10315
  name: "Mistral: Voxtral Small 24B 2507",
@@ -9861,16 +10401,35 @@ export const MODELS = {
9861
10401
  api: "openai-completions",
9862
10402
  provider: "openrouter",
9863
10403
  baseUrl: "https://openrouter.ai/api/v1",
10404
+ compat: { "supportsDeveloperRole": false, "requiresReasoningContentOnAssistantMessages": true },
9864
10405
  reasoning: true,
9865
10406
  input: ["text", "image"],
9866
10407
  cost: {
9867
- input: 0.73,
9868
- output: 3.49,
9869
- cacheRead: 0.25,
10408
+ input: 0.684,
10409
+ output: 3.42,
10410
+ cacheRead: 0.144,
10411
+ cacheWrite: 0,
10412
+ },
10413
+ contextWindow: 262144,
10414
+ maxTokens: 262144,
10415
+ },
10416
+ "moonshotai/kimi-k2.6:free": {
10417
+ id: "moonshotai/kimi-k2.6:free",
10418
+ name: "MoonshotAI: Kimi K2.6 (free)",
10419
+ api: "openai-completions",
10420
+ provider: "openrouter",
10421
+ baseUrl: "https://openrouter.ai/api/v1",
10422
+ compat: { "supportsDeveloperRole": false, "requiresReasoningContentOnAssistantMessages": true },
10423
+ reasoning: true,
10424
+ input: ["text", "image"],
10425
+ cost: {
10426
+ input: 0,
10427
+ output: 0,
10428
+ cacheRead: 0,
9870
10429
  cacheWrite: 0,
9871
10430
  },
9872
10431
  contextWindow: 262144,
9873
- maxTokens: 262142,
10432
+ maxTokens: 4096,
9874
10433
  },
9875
10434
  "nex-agi/deepseek-v3.1-nex-n1": {
9876
10435
  id: "nex-agi/deepseek-v3.1-nex-n1",
@@ -10297,23 +10856,6 @@ export const MODELS = {
10297
10856
  contextWindow: 128000,
10298
10857
  maxTokens: 16384,
10299
10858
  },
10300
- "openai/gpt-4o-audio-preview": {
10301
- id: "openai/gpt-4o-audio-preview",
10302
- name: "OpenAI: GPT-4o Audio",
10303
- api: "openai-completions",
10304
- provider: "openrouter",
10305
- baseUrl: "https://openrouter.ai/api/v1",
10306
- reasoning: false,
10307
- input: ["text"],
10308
- cost: {
10309
- input: 2.5,
10310
- output: 10,
10311
- cacheRead: 0,
10312
- cacheWrite: 0,
10313
- },
10314
- contextWindow: 128000,
10315
- maxTokens: 16384,
10316
- },
10317
10859
  "openai/gpt-4o-mini": {
10318
10860
  id: "openai/gpt-4o-mini",
10319
10861
  name: "OpenAI: GPT-4o-mini",
@@ -10461,11 +11003,11 @@ export const MODELS = {
10461
11003
  cost: {
10462
11004
  input: 1.25,
10463
11005
  output: 10,
10464
- cacheRead: 0.125,
11006
+ cacheRead: 0.13,
10465
11007
  cacheWrite: 0,
10466
11008
  },
10467
11009
  contextWindow: 128000,
10468
- maxTokens: 16384,
11010
+ maxTokens: 32000,
10469
11011
  },
10470
11012
  "openai/gpt-5.1-codex": {
10471
11013
  id: "openai/gpt-5.1-codex",
@@ -10478,7 +11020,7 @@ export const MODELS = {
10478
11020
  cost: {
10479
11021
  input: 1.25,
10480
11022
  output: 10,
10481
- cacheRead: 0.125,
11023
+ cacheRead: 0.13,
10482
11024
  cacheWrite: 0,
10483
11025
  },
10484
11026
  contextWindow: 400000,
@@ -10512,11 +11054,11 @@ export const MODELS = {
10512
11054
  cost: {
10513
11055
  input: 0.25,
10514
11056
  output: 2,
10515
- cacheRead: 0.03,
11057
+ cacheRead: 0.024999999999999998,
10516
11058
  cacheWrite: 0,
10517
11059
  },
10518
11060
  contextWindow: 400000,
10519
- maxTokens: 128000,
11061
+ maxTokens: 100000,
10520
11062
  },
10521
11063
  "openai/gpt-5.2": {
10522
11064
  id: "openai/gpt-5.2",
@@ -10552,7 +11094,7 @@ export const MODELS = {
10552
11094
  cacheWrite: 0,
10553
11095
  },
10554
11096
  contextWindow: 128000,
10555
- maxTokens: 32000,
11097
+ maxTokens: 16384,
10556
11098
  },
10557
11099
  "openai/gpt-5.2-codex": {
10558
11100
  id: "openai/gpt-5.2-codex",
@@ -10723,7 +11265,7 @@ export const MODELS = {
10723
11265
  provider: "openrouter",
10724
11266
  baseUrl: "https://openrouter.ai/api/v1",
10725
11267
  reasoning: true,
10726
- thinkingLevelMap: { "xhigh": "xhigh" },
11268
+ thinkingLevelMap: { "xhigh": "xhigh", "off": null, "minimal": null, "low": null },
10727
11269
  input: ["text", "image"],
10728
11270
  cost: {
10729
11271
  input: 30,
@@ -10828,13 +11370,13 @@ export const MODELS = {
10828
11370
  reasoning: true,
10829
11371
  input: ["text"],
10830
11372
  cost: {
10831
- input: 0.03,
11373
+ input: 0.029,
10832
11374
  output: 0.14,
10833
11375
  cacheRead: 0,
10834
11376
  cacheWrite: 0,
10835
11377
  },
10836
11378
  contextWindow: 131072,
10837
- maxTokens: 131072,
11379
+ maxTokens: 4096,
10838
11380
  },
10839
11381
  "openai/gpt-oss-20b:free": {
10840
11382
  id: "openai/gpt-oss-20b:free",
@@ -11088,8 +11630,8 @@ export const MODELS = {
11088
11630
  cacheRead: 0,
11089
11631
  cacheWrite: 0,
11090
11632
  },
11091
- contextWindow: 131072,
11092
- maxTokens: 8192,
11633
+ contextWindow: 262144,
11634
+ maxTokens: 32768,
11093
11635
  },
11094
11636
  "poolside/laguna-xs.2:free": {
11095
11637
  id: "poolside/laguna-xs.2:free",
@@ -11105,8 +11647,8 @@ export const MODELS = {
11105
11647
  cacheRead: 0,
11106
11648
  cacheWrite: 0,
11107
11649
  },
11108
- contextWindow: 131072,
11109
- maxTokens: 8192,
11650
+ contextWindow: 262144,
11651
+ maxTokens: 32768,
11110
11652
  },
11111
11653
  "prime-intellect/intellect-3": {
11112
11654
  id: "prime-intellect/intellect-3",
@@ -11142,23 +11684,6 @@ export const MODELS = {
11142
11684
  contextWindow: 131072,
11143
11685
  maxTokens: 16384,
11144
11686
  },
11145
- "qwen/qwen-2.5-7b-instruct": {
11146
- id: "qwen/qwen-2.5-7b-instruct",
11147
- name: "Qwen: Qwen2.5 7B Instruct",
11148
- api: "openai-completions",
11149
- provider: "openrouter",
11150
- baseUrl: "https://openrouter.ai/api/v1",
11151
- reasoning: false,
11152
- input: ["text"],
11153
- cost: {
11154
- input: 0.04,
11155
- output: 0.09999999999999999,
11156
- cacheRead: 0,
11157
- cacheWrite: 0,
11158
- },
11159
- contextWindow: 131072,
11160
- maxTokens: 32768,
11161
- },
11162
11687
  "qwen/qwen-plus": {
11163
11688
  id: "qwen/qwen-plus",
11164
11689
  name: "Qwen: Qwen-Plus",
@@ -11188,7 +11713,7 @@ export const MODELS = {
11188
11713
  input: 0.26,
11189
11714
  output: 0.78,
11190
11715
  cacheRead: 0,
11191
- cacheWrite: 0.325,
11716
+ cacheWrite: 0,
11192
11717
  },
11193
11718
  contextWindow: 1000000,
11194
11719
  maxTokens: 32768,
@@ -11270,13 +11795,13 @@ export const MODELS = {
11270
11795
  reasoning: true,
11271
11796
  input: ["text"],
11272
11797
  cost: {
11273
- input: 0.14950000000000002,
11274
- output: 1.495,
11275
- cacheRead: 0,
11798
+ input: 0.09999999999999999,
11799
+ output: 0.09999999999999999,
11800
+ cacheRead: 0.09999999999999999,
11276
11801
  cacheWrite: 0,
11277
11802
  },
11278
11803
  contextWindow: 262144,
11279
- maxTokens: 4096,
11804
+ maxTokens: 262144,
11280
11805
  },
11281
11806
  "qwen/qwen3-30b-a3b": {
11282
11807
  id: "qwen/qwen3-30b-a3b",
@@ -11304,13 +11829,13 @@ export const MODELS = {
11304
11829
  reasoning: false,
11305
11830
  input: ["text"],
11306
11831
  cost: {
11307
- input: 0.09,
11308
- output: 0.3,
11832
+ input: 0.0428,
11833
+ output: 0.1716,
11309
11834
  cacheRead: 0,
11310
11835
  cacheWrite: 0,
11311
11836
  },
11312
- contextWindow: 262144,
11313
- maxTokens: 262144,
11837
+ contextWindow: 131072,
11838
+ maxTokens: 32000,
11314
11839
  },
11315
11840
  "qwen/qwen3-30b-a3b-thinking-2507": {
11316
11841
  id: "qwen/qwen3-30b-a3b-thinking-2507",
@@ -11712,13 +12237,13 @@ export const MODELS = {
11712
12237
  reasoning: true,
11713
12238
  input: ["text", "image"],
11714
12239
  cost: {
11715
- input: 0.13899999999999998,
12240
+ input: 0.14,
11716
12241
  output: 1,
11717
- cacheRead: 0,
12242
+ cacheRead: 0.049999999999999996,
11718
12243
  cacheWrite: 0,
11719
12244
  },
11720
12245
  contextWindow: 262144,
11721
- maxTokens: 4096,
12246
+ maxTokens: 262144,
11722
12247
  },
11723
12248
  "qwen/qwen3.5-397b-a17b": {
11724
12249
  id: "qwen/qwen3.5-397b-a17b",
@@ -11766,7 +12291,7 @@ export const MODELS = {
11766
12291
  input: 0.065,
11767
12292
  output: 0.26,
11768
12293
  cacheRead: 0,
11769
- cacheWrite: 0.08125,
12294
+ cacheWrite: 0,
11770
12295
  },
11771
12296
  contextWindow: 1000000,
11772
12297
  maxTokens: 65536,
@@ -11783,7 +12308,7 @@ export const MODELS = {
11783
12308
  input: 0.26,
11784
12309
  output: 1.56,
11785
12310
  cacheRead: 0,
11786
- cacheWrite: 0.325,
12311
+ cacheWrite: 0,
11787
12312
  },
11788
12313
  contextWindow: 1000000,
11789
12314
  maxTokens: 65536,
@@ -11800,7 +12325,7 @@ export const MODELS = {
11800
12325
  input: 0.3,
11801
12326
  output: 1.7999999999999998,
11802
12327
  cacheRead: 0,
11803
- cacheWrite: 0,
12328
+ cacheWrite: 0.375,
11804
12329
  },
11805
12330
  contextWindow: 1000000,
11806
12331
  maxTokens: 65536,
@@ -11814,13 +12339,13 @@ export const MODELS = {
11814
12339
  reasoning: true,
11815
12340
  input: ["text", "image"],
11816
12341
  cost: {
11817
- input: 0.3,
12342
+ input: 0.29,
11818
12343
  output: 3.1999999999999997,
11819
12344
  cacheRead: 0,
11820
12345
  cacheWrite: 0,
11821
12346
  },
11822
12347
  contextWindow: 262144,
11823
- maxTokens: 262144,
12348
+ maxTokens: 262140,
11824
12349
  },
11825
12350
  "qwen/qwen3.6-35b-a3b": {
11826
12351
  id: "qwen/qwen3.6-35b-a3b",
@@ -11831,7 +12356,7 @@ export const MODELS = {
11831
12356
  reasoning: true,
11832
12357
  input: ["text", "image"],
11833
12358
  cost: {
11834
- input: 0.15,
12359
+ input: 0.14,
11835
12360
  output: 1,
11836
12361
  cacheRead: 0,
11837
12362
  cacheWrite: 0,
@@ -11899,10 +12424,10 @@ export const MODELS = {
11899
12424
  reasoning: true,
11900
12425
  input: ["text"],
11901
12426
  cost: {
11902
- input: 2.5,
11903
- output: 7.5,
11904
- cacheRead: 0,
11905
- cacheWrite: 3.125,
12427
+ input: 1.25,
12428
+ output: 3.75,
12429
+ cacheRead: 0.25,
12430
+ cacheWrite: 1.5625,
11906
12431
  },
11907
12432
  contextWindow: 1000000,
11908
12433
  maxTokens: 65536,
@@ -11992,6 +12517,23 @@ export const MODELS = {
11992
12517
  contextWindow: 262144,
11993
12518
  maxTokens: 16384,
11994
12519
  },
12520
+ "stepfun/step-3.7-flash": {
12521
+ id: "stepfun/step-3.7-flash",
12522
+ name: "StepFun: Step 3.7 Flash",
12523
+ api: "openai-completions",
12524
+ provider: "openrouter",
12525
+ baseUrl: "https://openrouter.ai/api/v1",
12526
+ reasoning: true,
12527
+ input: ["text", "image"],
12528
+ cost: {
12529
+ input: 0.19999999999999998,
12530
+ output: 1.15,
12531
+ cacheRead: 0.04,
12532
+ cacheWrite: 0,
12533
+ },
12534
+ contextWindow: 256000,
12535
+ maxTokens: 256000,
12536
+ },
11995
12537
  "tencent/hy3-preview": {
11996
12538
  id: "tencent/hy3-preview",
11997
12539
  name: "Tencent: Hy3 preview",
@@ -12001,13 +12543,13 @@ export const MODELS = {
12001
12543
  reasoning: true,
12002
12544
  input: ["text"],
12003
12545
  cost: {
12004
- input: 0.06599999999999999,
12005
- output: 0.26,
12006
- cacheRead: 0.029,
12546
+ input: 0.063,
12547
+ output: 0.21,
12548
+ cacheRead: 0.020999999999999998,
12007
12549
  cacheWrite: 0,
12008
12550
  },
12009
12551
  contextWindow: 262144,
12010
- maxTokens: 262144,
12552
+ maxTokens: 4096,
12011
12553
  },
12012
12554
  "thedrummer/rocinante-12b": {
12013
12555
  id: "thedrummer/rocinante-12b",
@@ -12128,40 +12670,6 @@ export const MODELS = {
12128
12670
  contextWindow: 262144,
12129
12671
  maxTokens: 65536,
12130
12672
  },
12131
- "xiaomi/mimo-v2-omni": {
12132
- id: "xiaomi/mimo-v2-omni",
12133
- name: "Xiaomi: MiMo-V2-Omni",
12134
- api: "openai-completions",
12135
- provider: "openrouter",
12136
- baseUrl: "https://openrouter.ai/api/v1",
12137
- reasoning: true,
12138
- input: ["text", "image"],
12139
- cost: {
12140
- input: 0.39999999999999997,
12141
- output: 2,
12142
- cacheRead: 0.08,
12143
- cacheWrite: 0,
12144
- },
12145
- contextWindow: 262144,
12146
- maxTokens: 65536,
12147
- },
12148
- "xiaomi/mimo-v2-pro": {
12149
- id: "xiaomi/mimo-v2-pro",
12150
- name: "Xiaomi: MiMo-V2-Pro",
12151
- api: "openai-completions",
12152
- provider: "openrouter",
12153
- baseUrl: "https://openrouter.ai/api/v1",
12154
- reasoning: true,
12155
- input: ["text"],
12156
- cost: {
12157
- input: 1,
12158
- output: 3,
12159
- cacheRead: 0.19999999999999998,
12160
- cacheWrite: 0,
12161
- },
12162
- contextWindow: 1048576,
12163
- maxTokens: 131072,
12164
- },
12165
12673
  "xiaomi/mimo-v2.5": {
12166
12674
  id: "xiaomi/mimo-v2.5",
12167
12675
  name: "Xiaomi: MiMo-V2.5",
@@ -12171,9 +12679,9 @@ export const MODELS = {
12171
12679
  reasoning: true,
12172
12680
  input: ["text", "image"],
12173
12681
  cost: {
12174
- input: 0.39999999999999997,
12175
- output: 2,
12176
- cacheRead: 0.08,
12682
+ input: 0.14,
12683
+ output: 0.28,
12684
+ cacheRead: 0.0028,
12177
12685
  cacheWrite: 0,
12178
12686
  },
12179
12687
  contextWindow: 1048576,
@@ -12188,13 +12696,13 @@ export const MODELS = {
12188
12696
  reasoning: true,
12189
12697
  input: ["text"],
12190
12698
  cost: {
12191
- input: 1,
12192
- output: 3,
12193
- cacheRead: 0.19999999999999998,
12699
+ input: 0.435,
12700
+ output: 0.87,
12701
+ cacheRead: 0.0036,
12194
12702
  cacheWrite: 0,
12195
12703
  },
12196
12704
  contextWindow: 1048576,
12197
- maxTokens: 16384,
12705
+ maxTokens: 131072,
12198
12706
  },
12199
12707
  "z-ai/glm-4-32b": {
12200
12708
  id: "z-ai/glm-4-32b",
@@ -12239,13 +12747,13 @@ export const MODELS = {
12239
12747
  reasoning: true,
12240
12748
  input: ["text"],
12241
12749
  cost: {
12242
- input: 0.13,
12750
+ input: 0.125,
12243
12751
  output: 0.85,
12244
- cacheRead: 0.024999999999999998,
12752
+ cacheRead: 0.06,
12245
12753
  cacheWrite: 0,
12246
12754
  },
12247
12755
  contextWindow: 131072,
12248
- maxTokens: 98304,
12756
+ maxTokens: 131070,
12249
12757
  },
12250
12758
  "z-ai/glm-4.5-air:free": {
12251
12759
  id: "z-ai/glm-4.5-air:free",
@@ -12364,7 +12872,7 @@ export const MODELS = {
12364
12872
  cacheWrite: 0,
12365
12873
  },
12366
12874
  contextWindow: 202752,
12367
- maxTokens: 4096,
12875
+ maxTokens: 16384,
12368
12876
  },
12369
12877
  "z-ai/glm-5-turbo": {
12370
12878
  id: "z-ai/glm-5-turbo",
@@ -12398,7 +12906,7 @@ export const MODELS = {
12398
12906
  cacheWrite: 0,
12399
12907
  },
12400
12908
  contextWindow: 202752,
12401
- maxTokens: 4096,
12909
+ maxTokens: 131072,
12402
12910
  },
12403
12911
  "z-ai/glm-5v-turbo": {
12404
12912
  id: "z-ai/glm-5v-turbo",
@@ -12511,13 +13019,13 @@ export const MODELS = {
12511
13019
  reasoning: true,
12512
13020
  input: ["text", "image"],
12513
13021
  cost: {
12514
- input: 0.73,
12515
- output: 3.49,
12516
- cacheRead: 0.25,
13022
+ input: 0.684,
13023
+ output: 3.42,
13024
+ cacheRead: 0.144,
12517
13025
  cacheWrite: 0,
12518
13026
  },
12519
13027
  contextWindow: 262144,
12520
- maxTokens: 262142,
13028
+ maxTokens: 262144,
12521
13029
  },
12522
13030
  "~openai/gpt-latest": {
12523
13031
  id: "~openai/gpt-latest",
@@ -12915,20 +13423,20 @@ export const MODELS = {
12915
13423
  },
12916
13424
  "alibaba/qwen-3-235b": {
12917
13425
  id: "alibaba/qwen-3-235b",
12918
- name: "Qwen3 235B A22b Instruct 2507",
13426
+ name: "Qwen3 235B A22B",
12919
13427
  api: "anthropic-messages",
12920
13428
  provider: "vercel-ai-gateway",
12921
13429
  baseUrl: "https://ai-gateway.vercel.sh",
12922
- reasoning: false,
13430
+ reasoning: true,
12923
13431
  input: ["text"],
12924
13432
  cost: {
12925
- input: 0.6,
12926
- output: 1.2,
12927
- cacheRead: 0.6,
13433
+ input: 0.22,
13434
+ output: 0.88,
13435
+ cacheRead: 0,
12928
13436
  cacheWrite: 0,
12929
13437
  },
12930
- contextWindow: 131000,
12931
- maxTokens: 40000,
13438
+ contextWindow: 262144,
13439
+ maxTokens: 16384,
12932
13440
  },
12933
13441
  "alibaba/qwen-3-30b": {
12934
13442
  id: "alibaba/qwen-3-30b",
@@ -13004,7 +13512,7 @@ export const MODELS = {
13004
13512
  api: "anthropic-messages",
13005
13513
  provider: "vercel-ai-gateway",
13006
13514
  baseUrl: "https://ai-gateway.vercel.sh",
13007
- reasoning: false,
13515
+ reasoning: true,
13008
13516
  input: ["text"],
13009
13517
  cost: {
13010
13518
  input: 1.5,
@@ -13038,7 +13546,7 @@ export const MODELS = {
13038
13546
  api: "anthropic-messages",
13039
13547
  provider: "vercel-ai-gateway",
13040
13548
  baseUrl: "https://ai-gateway.vercel.sh",
13041
- reasoning: false,
13549
+ reasoning: true,
13042
13550
  input: ["text"],
13043
13551
  cost: {
13044
13552
  input: 0.5,
@@ -13117,6 +13625,40 @@ export const MODELS = {
13117
13625
  contextWindow: 256000,
13118
13626
  maxTokens: 65536,
13119
13627
  },
13628
+ "alibaba/qwen3-next-80b-a3b-instruct": {
13629
+ id: "alibaba/qwen3-next-80b-a3b-instruct",
13630
+ name: "Qwen3 Next 80B A3B Instruct",
13631
+ api: "anthropic-messages",
13632
+ provider: "vercel-ai-gateway",
13633
+ baseUrl: "https://ai-gateway.vercel.sh",
13634
+ reasoning: false,
13635
+ input: ["text"],
13636
+ cost: {
13637
+ input: 0.15,
13638
+ output: 1.2,
13639
+ cacheRead: 0,
13640
+ cacheWrite: 0,
13641
+ },
13642
+ contextWindow: 131072,
13643
+ maxTokens: 32768,
13644
+ },
13645
+ "alibaba/qwen3-next-80b-a3b-thinking": {
13646
+ id: "alibaba/qwen3-next-80b-a3b-thinking",
13647
+ name: "Qwen3 Next 80B A3B Thinking",
13648
+ api: "anthropic-messages",
13649
+ provider: "vercel-ai-gateway",
13650
+ baseUrl: "https://ai-gateway.vercel.sh",
13651
+ reasoning: true,
13652
+ input: ["text"],
13653
+ cost: {
13654
+ input: 0.15,
13655
+ output: 1.2,
13656
+ cacheRead: 0,
13657
+ cacheWrite: 0,
13658
+ },
13659
+ contextWindow: 131072,
13660
+ maxTokens: 32768,
13661
+ },
13120
13662
  "alibaba/qwen3-vl-thinking": {
13121
13663
  id: "alibaba/qwen3-vl-thinking",
13122
13664
  name: "Qwen3 VL 235B A22B Thinking",
@@ -13219,6 +13761,23 @@ export const MODELS = {
13219
13761
  contextWindow: 991000,
13220
13762
  maxTokens: 64000,
13221
13763
  },
13764
+ "alibaba/qwen3.7-plus": {
13765
+ id: "alibaba/qwen3.7-plus",
13766
+ name: "Qwen 3.7 Plus",
13767
+ api: "anthropic-messages",
13768
+ provider: "vercel-ai-gateway",
13769
+ baseUrl: "https://ai-gateway.vercel.sh",
13770
+ reasoning: true,
13771
+ input: ["text", "image"],
13772
+ cost: {
13773
+ input: 0.39999999999999997,
13774
+ output: 1.5999999999999999,
13775
+ cacheRead: 0.08,
13776
+ cacheWrite: 0.5,
13777
+ },
13778
+ contextWindow: 1000000,
13779
+ maxTokens: 64000,
13780
+ },
13222
13781
  "anthropic/claude-3-haiku": {
13223
13782
  id: "anthropic/claude-3-haiku",
13224
13783
  name: "Claude 3 Haiku",
@@ -13346,7 +13905,26 @@ export const MODELS = {
13346
13905
  api: "anthropic-messages",
13347
13906
  provider: "vercel-ai-gateway",
13348
13907
  baseUrl: "https://ai-gateway.vercel.sh",
13349
- compat: { "forceAdaptiveThinking": true },
13908
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
13909
+ reasoning: true,
13910
+ thinkingLevelMap: { "xhigh": "xhigh" },
13911
+ input: ["text", "image"],
13912
+ cost: {
13913
+ input: 5,
13914
+ output: 25,
13915
+ cacheRead: 0.5,
13916
+ cacheWrite: 6.25,
13917
+ },
13918
+ contextWindow: 1000000,
13919
+ maxTokens: 128000,
13920
+ },
13921
+ "anthropic/claude-opus-4.8": {
13922
+ id: "anthropic/claude-opus-4.8",
13923
+ name: "Claude Opus 4.8",
13924
+ api: "anthropic-messages",
13925
+ provider: "vercel-ai-gateway",
13926
+ baseUrl: "https://ai-gateway.vercel.sh",
13927
+ compat: { "forceAdaptiveThinking": true, "supportsTemperature": false },
13350
13928
  reasoning: true,
13351
13929
  thinkingLevelMap: { "xhigh": "xhigh" },
13352
13930
  input: ["text", "image"],
@@ -13505,17 +14083,17 @@ export const MODELS = {
13505
14083
  reasoning: false,
13506
14084
  input: ["text"],
13507
14085
  cost: {
13508
- input: 0.77,
13509
- output: 0.77,
13510
- cacheRead: 0,
14086
+ input: 0.27,
14087
+ output: 1.12,
14088
+ cacheRead: 0.135,
13511
14089
  cacheWrite: 0,
13512
14090
  },
13513
14091
  contextWindow: 163840,
13514
- maxTokens: 16384,
14092
+ maxTokens: 163840,
13515
14093
  },
13516
14094
  "deepseek/deepseek-v3.1": {
13517
14095
  id: "deepseek/deepseek-v3.1",
13518
- name: "DeepSeek-V3.1",
14096
+ name: "DeepSeek V3.1",
13519
14097
  api: "anthropic-messages",
13520
14098
  provider: "vercel-ai-gateway",
13521
14099
  baseUrl: "https://ai-gateway.vercel.sh",
@@ -13553,8 +14131,8 @@ export const MODELS = {
13553
14131
  api: "anthropic-messages",
13554
14132
  provider: "vercel-ai-gateway",
13555
14133
  baseUrl: "https://ai-gateway.vercel.sh",
13556
- reasoning: false,
13557
- input: ["text"],
14134
+ reasoning: true,
14135
+ input: ["text", "image"],
13558
14136
  cost: {
13559
14137
  input: 0.28,
13560
14138
  output: 0.42,
@@ -13570,8 +14148,8 @@ export const MODELS = {
13570
14148
  api: "anthropic-messages",
13571
14149
  provider: "vercel-ai-gateway",
13572
14150
  baseUrl: "https://ai-gateway.vercel.sh",
13573
- reasoning: false,
13574
- input: ["text"],
14151
+ reasoning: true,
14152
+ input: ["text", "image"],
13575
14153
  cost: {
13576
14154
  input: 0.62,
13577
14155
  output: 1.85,
@@ -13588,7 +14166,7 @@ export const MODELS = {
13588
14166
  provider: "vercel-ai-gateway",
13589
14167
  baseUrl: "https://ai-gateway.vercel.sh",
13590
14168
  reasoning: true,
13591
- input: ["text"],
14169
+ input: ["text", "image"],
13592
14170
  cost: {
13593
14171
  input: 0.14,
13594
14172
  output: 0.28,
@@ -13605,7 +14183,7 @@ export const MODELS = {
13605
14183
  provider: "vercel-ai-gateway",
13606
14184
  baseUrl: "https://ai-gateway.vercel.sh",
13607
14185
  reasoning: true,
13608
- input: ["text"],
14186
+ input: ["text", "image"],
13609
14187
  cost: {
13610
14188
  input: 0.435,
13611
14189
  output: 0.87,
@@ -13808,12 +14386,12 @@ export const MODELS = {
13808
14386
  api: "anthropic-messages",
13809
14387
  provider: "vercel-ai-gateway",
13810
14388
  baseUrl: "https://ai-gateway.vercel.sh",
13811
- reasoning: false,
14389
+ reasoning: true,
13812
14390
  input: ["text", "image"],
13813
14391
  cost: {
13814
- input: 0.13,
13815
- output: 0.39999999999999997,
13816
- cacheRead: 0,
14392
+ input: 0.15,
14393
+ output: 0.6,
14394
+ cacheRead: 0.015,
13817
14395
  cacheWrite: 0,
13818
14396
  },
13819
14397
  contextWindow: 262144,
@@ -14098,7 +14676,7 @@ export const MODELS = {
14098
14676
  provider: "vercel-ai-gateway",
14099
14677
  baseUrl: "https://ai-gateway.vercel.sh",
14100
14678
  reasoning: true,
14101
- input: ["text"],
14679
+ input: ["text", "image"],
14102
14680
  cost: {
14103
14681
  input: 0.6,
14104
14682
  output: 2.4,
@@ -14142,6 +14720,23 @@ export const MODELS = {
14142
14720
  contextWindow: 204800,
14143
14721
  maxTokens: 131100,
14144
14722
  },
14723
+ "minimax/minimax-m3": {
14724
+ id: "minimax/minimax-m3",
14725
+ name: "MiniMax M3",
14726
+ api: "anthropic-messages",
14727
+ provider: "vercel-ai-gateway",
14728
+ baseUrl: "https://ai-gateway.vercel.sh",
14729
+ reasoning: true,
14730
+ input: ["text", "image"],
14731
+ cost: {
14732
+ input: 0.3,
14733
+ output: 1.2,
14734
+ cacheRead: 0.06,
14735
+ cacheWrite: 0,
14736
+ },
14737
+ contextWindow: 1000000,
14738
+ maxTokens: 1000000,
14739
+ },
14145
14740
  "mistral/codestral": {
14146
14741
  id: "mistral/codestral",
14147
14742
  name: "Mistral Codestral",
@@ -14278,6 +14873,23 @@ export const MODELS = {
14278
14873
  contextWindow: 256000,
14279
14874
  maxTokens: 256000,
14280
14875
  },
14876
+ "mistral/mistral-nemo": {
14877
+ id: "mistral/mistral-nemo",
14878
+ name: "Mistral Nemo 12B",
14879
+ api: "anthropic-messages",
14880
+ provider: "vercel-ai-gateway",
14881
+ baseUrl: "https://ai-gateway.vercel.sh",
14882
+ reasoning: false,
14883
+ input: ["text"],
14884
+ cost: {
14885
+ input: 0.02,
14886
+ output: 0.04,
14887
+ cacheRead: 0,
14888
+ cacheWrite: 0,
14889
+ },
14890
+ contextWindow: 131072,
14891
+ maxTokens: 131072,
14892
+ },
14281
14893
  "mistral/mistral-small": {
14282
14894
  id: "mistral/mistral-small",
14283
14895
  name: "Mistral Small",
@@ -14431,6 +15043,23 @@ export const MODELS = {
14431
15043
  contextWindow: 262000,
14432
15044
  maxTokens: 262000,
14433
15045
  },
15046
+ "nvidia/nemotron-3-super-120b-a12b": {
15047
+ id: "nvidia/nemotron-3-super-120b-a12b",
15048
+ name: "NVIDIA Nemotron 3 Super 120B A12B",
15049
+ api: "anthropic-messages",
15050
+ provider: "vercel-ai-gateway",
15051
+ baseUrl: "https://ai-gateway.vercel.sh",
15052
+ reasoning: true,
15053
+ input: ["text"],
15054
+ cost: {
15055
+ input: 0.15,
15056
+ output: 0.65,
15057
+ cacheRead: 0,
15058
+ cacheWrite: 0,
15059
+ },
15060
+ contextWindow: 256000,
15061
+ maxTokens: 32000,
15062
+ },
14434
15063
  "nvidia/nemotron-nano-12b-v2-vl": {
14435
15064
  id: "nvidia/nemotron-nano-12b-v2-vl",
14436
15065
  name: "Nvidia Nemotron Nano 12B V2 VL",
@@ -14608,7 +15237,7 @@ export const MODELS = {
14608
15237
  provider: "vercel-ai-gateway",
14609
15238
  baseUrl: "https://ai-gateway.vercel.sh",
14610
15239
  reasoning: true,
14611
- input: ["text"],
15240
+ input: ["text", "image"],
14612
15241
  cost: {
14613
15242
  input: 1.25,
14614
15243
  output: 10,
@@ -14959,7 +15588,7 @@ export const MODELS = {
14959
15588
  provider: "vercel-ai-gateway",
14960
15589
  baseUrl: "https://ai-gateway.vercel.sh",
14961
15590
  reasoning: true,
14962
- thinkingLevelMap: { "xhigh": "xhigh" },
15591
+ thinkingLevelMap: { "xhigh": "xhigh", "off": null, "minimal": null, "low": null },
14963
15592
  input: ["text", "image"],
14964
15593
  cost: {
14965
15594
  input: 30,
@@ -14970,6 +15599,23 @@ export const MODELS = {
14970
15599
  contextWindow: 1000000,
14971
15600
  maxTokens: 128000,
14972
15601
  },
15602
+ "openai/gpt-oss-120b": {
15603
+ id: "openai/gpt-oss-120b",
15604
+ name: "GPT OSS 120B",
15605
+ api: "anthropic-messages",
15606
+ provider: "vercel-ai-gateway",
15607
+ baseUrl: "https://ai-gateway.vercel.sh",
15608
+ reasoning: true,
15609
+ input: ["text"],
15610
+ cost: {
15611
+ input: 0.35,
15612
+ output: 0.75,
15613
+ cacheRead: 0.25,
15614
+ cacheWrite: 0,
15615
+ },
15616
+ contextWindow: 131072,
15617
+ maxTokens: 131000,
15618
+ },
14973
15619
  "openai/gpt-oss-20b": {
14974
15620
  id: "openai/gpt-oss-20b",
14975
15621
  name: "GPT OSS 20B",
@@ -15140,6 +15786,40 @@ export const MODELS = {
15140
15786
  contextWindow: 200000,
15141
15787
  maxTokens: 8000,
15142
15788
  },
15789
+ "stepfun/step-3.5-flash": {
15790
+ id: "stepfun/step-3.5-flash",
15791
+ name: "StepFun 3.5 Flash",
15792
+ api: "anthropic-messages",
15793
+ provider: "vercel-ai-gateway",
15794
+ baseUrl: "https://ai-gateway.vercel.sh",
15795
+ reasoning: true,
15796
+ input: ["text"],
15797
+ cost: {
15798
+ input: 0.09,
15799
+ output: 0.3,
15800
+ cacheRead: 0,
15801
+ cacheWrite: 0.02,
15802
+ },
15803
+ contextWindow: 262114,
15804
+ maxTokens: 262114,
15805
+ },
15806
+ "stepfun/step-3.7-flash": {
15807
+ id: "stepfun/step-3.7-flash",
15808
+ name: "Step 3.7 Flash",
15809
+ api: "anthropic-messages",
15810
+ provider: "vercel-ai-gateway",
15811
+ baseUrl: "https://ai-gateway.vercel.sh",
15812
+ reasoning: true,
15813
+ input: ["text", "image"],
15814
+ cost: {
15815
+ input: 0.19999999999999998,
15816
+ output: 1.15,
15817
+ cacheRead: 0.04,
15818
+ cacheWrite: 0,
15819
+ },
15820
+ contextWindow: 256000,
15821
+ maxTokens: 256000,
15822
+ },
15143
15823
  "xai/grok-4.1-fast-non-reasoning": {
15144
15824
  id: "xai/grok-4.1-fast-non-reasoning",
15145
15825
  name: "Grok 4.1 Fast Non-Reasoning",
@@ -15353,9 +16033,9 @@ export const MODELS = {
15353
16033
  reasoning: true,
15354
16034
  input: ["text", "image"],
15355
16035
  cost: {
15356
- input: 0.39999999999999997,
15357
- output: 2,
15358
- cacheRead: 0.08,
16036
+ input: 0.14,
16037
+ output: 0.28,
16038
+ cacheRead: 0.0028,
15359
16039
  cacheWrite: 0,
15360
16040
  },
15361
16041
  contextWindow: 1050000,
@@ -15370,9 +16050,9 @@ export const MODELS = {
15370
16050
  reasoning: true,
15371
16051
  input: ["text", "image"],
15372
16052
  cost: {
15373
- input: 1,
15374
- output: 3,
15375
- cacheRead: 0.19999999999999998,
16053
+ input: 0.435,
16054
+ output: 0.87,
16055
+ cacheRead: 0.0036,
15376
16056
  cacheWrite: 0,
15377
16057
  },
15378
16058
  contextWindow: 1050000,
@@ -15418,7 +16098,7 @@ export const MODELS = {
15418
16098
  api: "anthropic-messages",
15419
16099
  provider: "vercel-ai-gateway",
15420
16100
  baseUrl: "https://ai-gateway.vercel.sh",
15421
- reasoning: false,
16101
+ reasoning: true,
15422
16102
  input: ["text", "image"],
15423
16103
  cost: {
15424
16104
  input: 0.6,
@@ -15572,7 +16252,7 @@ export const MODELS = {
15572
16252
  provider: "vercel-ai-gateway",
15573
16253
  baseUrl: "https://ai-gateway.vercel.sh",
15574
16254
  reasoning: true,
15575
- input: ["text"],
16255
+ input: ["text", "image"],
15576
16256
  cost: {
15577
16257
  input: 1.4,
15578
16258
  output: 4.4,
@@ -15814,24 +16494,6 @@ export const MODELS = {
15814
16494
  },
15815
16495
  },
15816
16496
  "xiaomi-token-plan-ams": {
15817
- "mimo-v2-flash": {
15818
- id: "mimo-v2-flash",
15819
- name: "MiMo-V2-Flash",
15820
- api: "openai-completions",
15821
- provider: "xiaomi-token-plan-ams",
15822
- baseUrl: "https://token-plan-ams.xiaomimimo.com/v1",
15823
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
15824
- reasoning: true,
15825
- input: ["text"],
15826
- cost: {
15827
- input: 0.1,
15828
- output: 0.3,
15829
- cacheRead: 0.01,
15830
- cacheWrite: 0,
15831
- },
15832
- contextWindow: 262144,
15833
- maxTokens: 65536,
15834
- },
15835
16497
  "mimo-v2-omni": {
15836
16498
  id: "mimo-v2-omni",
15837
16499
  name: "MiMo-V2-Omni",
@@ -15906,24 +16568,6 @@ export const MODELS = {
15906
16568
  },
15907
16569
  },
15908
16570
  "xiaomi-token-plan-cn": {
15909
- "mimo-v2-flash": {
15910
- id: "mimo-v2-flash",
15911
- name: "MiMo-V2-Flash",
15912
- api: "openai-completions",
15913
- provider: "xiaomi-token-plan-cn",
15914
- baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
15915
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
15916
- reasoning: true,
15917
- input: ["text"],
15918
- cost: {
15919
- input: 0.1,
15920
- output: 0.3,
15921
- cacheRead: 0.01,
15922
- cacheWrite: 0,
15923
- },
15924
- contextWindow: 262144,
15925
- maxTokens: 65536,
15926
- },
15927
16571
  "mimo-v2-omni": {
15928
16572
  id: "mimo-v2-omni",
15929
16573
  name: "MiMo-V2-Omni",
@@ -15998,24 +16642,6 @@ export const MODELS = {
15998
16642
  },
15999
16643
  },
16000
16644
  "xiaomi-token-plan-sgp": {
16001
- "mimo-v2-flash": {
16002
- id: "mimo-v2-flash",
16003
- name: "MiMo-V2-Flash",
16004
- api: "openai-completions",
16005
- provider: "xiaomi-token-plan-sgp",
16006
- baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
16007
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
16008
- reasoning: true,
16009
- input: ["text"],
16010
- cost: {
16011
- input: 0.1,
16012
- output: 0.3,
16013
- cacheRead: 0.01,
16014
- cacheWrite: 0,
16015
- },
16016
- contextWindow: 262144,
16017
- maxTokens: 65536,
16018
- },
16019
16645
  "mimo-v2-omni": {
16020
16646
  id: "mimo-v2-omni",
16021
16647
  name: "MiMo-V2-Omni",