@code-yeongyu/senpi 2026.6.6-3 → 2026.6.10

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 (255) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +113 -111
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +1 -2
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/project-trust.d.ts +10 -0
  7. package/dist/cli/project-trust.d.ts.map +1 -0
  8. package/dist/cli/project-trust.js +48 -0
  9. package/dist/cli/project-trust.js.map +1 -0
  10. package/dist/cli/startup-ui.d.ts +7 -0
  11. package/dist/cli/startup-ui.d.ts.map +1 -0
  12. package/dist/cli/startup-ui.js +59 -0
  13. package/dist/cli/startup-ui.js.map +1 -0
  14. package/dist/cli.js +10 -1
  15. package/dist/cli.js.map +1 -1
  16. package/dist/core/agent-session-runtime.d.ts +3 -1
  17. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  18. package/dist/core/agent-session-runtime.js +4 -1
  19. package/dist/core/agent-session-runtime.js.map +1 -1
  20. package/dist/core/agent-session-services.d.ts +2 -1
  21. package/dist/core/agent-session-services.d.ts.map +1 -1
  22. package/dist/core/agent-session-services.js +2 -2
  23. package/dist/core/agent-session-services.js.map +1 -1
  24. package/dist/core/agent-session.d.ts +1 -0
  25. package/dist/core/agent-session.d.ts.map +1 -1
  26. package/dist/core/agent-session.js +6 -0
  27. package/dist/core/agent-session.js.map +1 -1
  28. package/dist/core/compaction/utils.d.ts +1 -1
  29. package/dist/core/compaction/utils.d.ts.map +1 -1
  30. package/dist/core/compaction/utils.js +1 -1
  31. package/dist/core/compaction/utils.js.map +1 -1
  32. package/dist/core/experimental.d.ts +2 -0
  33. package/dist/core/experimental.d.ts.map +1 -0
  34. package/dist/core/experimental.js +4 -0
  35. package/dist/core/experimental.js.map +1 -0
  36. package/dist/core/extensions/builtin/todotools/index.d.ts.map +1 -1
  37. package/dist/core/extensions/builtin/todotools/index.js +0 -2
  38. package/dist/core/extensions/builtin/todotools/index.js.map +1 -1
  39. package/dist/core/extensions/builtin/todotools/prompt.d.ts +1 -1
  40. package/dist/core/extensions/builtin/todotools/prompt.d.ts.map +1 -1
  41. package/dist/core/extensions/builtin/todotools/prompt.js +0 -2
  42. package/dist/core/extensions/builtin/todotools/prompt.js.map +1 -1
  43. package/dist/core/extensions/index.d.ts +1 -1
  44. package/dist/core/extensions/index.d.ts.map +1 -1
  45. package/dist/core/extensions/index.js.map +1 -1
  46. package/dist/core/extensions/loader.d.ts +1 -1
  47. package/dist/core/extensions/loader.d.ts.map +1 -1
  48. package/dist/core/extensions/loader.js +4 -4
  49. package/dist/core/extensions/loader.js.map +1 -1
  50. package/dist/core/extensions/runner.d.ts +7 -2
  51. package/dist/core/extensions/runner.d.ts.map +1 -1
  52. package/dist/core/extensions/runner.js +34 -0
  53. package/dist/core/extensions/runner.js.map +1 -1
  54. package/dist/core/extensions/types.d.ts +21 -1
  55. package/dist/core/extensions/types.d.ts.map +1 -1
  56. package/dist/core/extensions/types.js.map +1 -1
  57. package/dist/core/index.d.ts +1 -0
  58. package/dist/core/index.d.ts.map +1 -1
  59. package/dist/core/index.js +1 -0
  60. package/dist/core/index.js.map +1 -1
  61. package/dist/core/model-registry.d.ts +3 -1
  62. package/dist/core/model-registry.d.ts.map +1 -1
  63. package/dist/core/model-registry.js +22 -3
  64. package/dist/core/model-registry.js.map +1 -1
  65. package/dist/core/project-trust.d.ts +15 -0
  66. package/dist/core/project-trust.d.ts.map +1 -0
  67. package/dist/core/project-trust.js +58 -0
  68. package/dist/core/project-trust.js.map +1 -0
  69. package/dist/core/prompt-templates.d.ts +2 -1
  70. package/dist/core/prompt-templates.d.ts.map +1 -1
  71. package/dist/core/prompt-templates.js +24 -26
  72. package/dist/core/prompt-templates.js.map +1 -1
  73. package/dist/core/resource-loader.d.ts +14 -3
  74. package/dist/core/resource-loader.d.ts.map +1 -1
  75. package/dist/core/resource-loader.js +128 -58
  76. package/dist/core/resource-loader.js.map +1 -1
  77. package/dist/core/session-manager.d.ts +3 -0
  78. package/dist/core/session-manager.d.ts.map +1 -1
  79. package/dist/core/session-manager.js +34 -17
  80. package/dist/core/session-manager.js.map +1 -1
  81. package/dist/core/session-resident-store.d.ts +16 -0
  82. package/dist/core/session-resident-store.d.ts.map +1 -0
  83. package/dist/core/session-resident-store.js +48 -0
  84. package/dist/core/session-resident-store.js.map +1 -0
  85. package/dist/core/settings-manager.d.ts +4 -0
  86. package/dist/core/settings-manager.d.ts.map +1 -1
  87. package/dist/core/settings-manager.js +9 -0
  88. package/dist/core/settings-manager.js.map +1 -1
  89. package/dist/core/trust-manager.d.ts +22 -0
  90. package/dist/core/trust-manager.d.ts.map +1 -1
  91. package/dist/core/trust-manager.js +75 -22
  92. package/dist/core/trust-manager.js.map +1 -1
  93. package/dist/index.d.ts +5 -5
  94. package/dist/index.d.ts.map +1 -1
  95. package/dist/index.js +2 -2
  96. package/dist/index.js.map +1 -1
  97. package/dist/main.d.ts.map +1 -1
  98. package/dist/main.js +92 -129
  99. package/dist/main.js.map +1 -1
  100. package/dist/migrations.d.ts.map +1 -1
  101. package/dist/migrations.js +39 -34
  102. package/dist/migrations.js.map +1 -1
  103. package/dist/modes/index.d.ts +1 -1
  104. package/dist/modes/index.d.ts.map +1 -1
  105. package/dist/modes/index.js.map +1 -1
  106. package/dist/modes/interactive/components/login-dialog.d.ts +1 -0
  107. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  108. package/dist/modes/interactive/components/login-dialog.js +7 -1
  109. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  110. package/dist/modes/interactive/components/settings-selector.d.ts +3 -1
  111. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  112. package/dist/modes/interactive/components/settings-selector.js +20 -0
  113. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  114. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  115. package/dist/modes/interactive/components/tool-execution.js +26 -4
  116. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  117. package/dist/modes/interactive/components/trust-selector.d.ts +6 -3
  118. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
  119. package/dist/modes/interactive/components/trust-selector.js +22 -18
  120. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  121. package/dist/modes/interactive/interactive-mode.d.ts +15 -0
  122. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  123. package/dist/modes/interactive/interactive-mode.js +158 -19
  124. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  125. package/dist/modes/interactive/working-status.d.ts +2 -0
  126. package/dist/modes/interactive/working-status.d.ts.map +1 -1
  127. package/dist/modes/interactive/working-status.js +34 -0
  128. package/dist/modes/interactive/working-status.js.map +1 -1
  129. package/dist/package-manager-cli.d.ts +6 -2
  130. package/dist/package-manager-cli.d.ts.map +1 -1
  131. package/dist/package-manager-cli.js +58 -11
  132. package/dist/package-manager-cli.js.map +1 -1
  133. package/dist/senpi +10 -1
  134. package/dist/utils/changelog.d.ts +1 -0
  135. package/dist/utils/changelog.d.ts.map +1 -1
  136. package/dist/utils/changelog.js +78 -0
  137. package/dist/utils/changelog.js.map +1 -1
  138. package/docs/docs.json +4 -0
  139. package/docs/extensions.md +30 -1
  140. package/docs/index.md +1 -0
  141. package/docs/models.md +6 -39
  142. package/docs/packages.md +0 -2
  143. package/docs/prompt-templates.md +8 -1
  144. package/docs/sdk.md +5 -0
  145. package/docs/security.md +55 -0
  146. package/docs/settings.md +7 -4
  147. package/docs/terminal-setup.md +36 -2
  148. package/docs/tmux.md +4 -2
  149. package/docs/usage.md +12 -7
  150. package/examples/extensions/README.md +1 -0
  151. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  152. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  153. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  154. package/examples/extensions/gondolin/package-lock.json +2 -2
  155. package/examples/extensions/gondolin/package.json +1 -1
  156. package/examples/extensions/project-trust.ts +64 -0
  157. package/examples/extensions/sandbox/package-lock.json +2 -2
  158. package/examples/extensions/sandbox/package.json +1 -1
  159. package/examples/extensions/with-deps/package-lock.json +2 -2
  160. package/examples/extensions/with-deps/package.json +1 -1
  161. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +125 -77
  162. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  163. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +1 -1
  164. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  165. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +1 -1
  166. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  167. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +6 -3
  168. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  169. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  170. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  171. package/node_modules/@earendil-works/pi-ai/README.md +2 -1
  172. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +2 -2
  173. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +6 -6
  174. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  175. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +373 -116
  176. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  177. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +353 -202
  178. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  179. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  180. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +15 -7
  181. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  182. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts +1 -1
  183. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  184. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +17 -7
  185. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  186. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +1 -0
  187. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  188. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  189. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +4 -3
  190. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  191. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
  192. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js +2 -1
  193. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
  194. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  195. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +3 -2
  196. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  197. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts +1 -1
  198. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -1
  199. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +2 -2
  200. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -1
  201. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +5 -1
  202. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  203. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  204. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  205. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts +2 -0
  206. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  207. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  208. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +6 -1
  209. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  210. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +89 -39
  211. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  212. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts +5 -0
  213. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts.map +1 -1
  214. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js +18 -4
  215. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js.map +1 -1
  216. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.d.ts.map +1 -1
  217. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js +131 -61
  218. package/node_modules/@earendil-works/pi-tui/dist/fuzzy.js.map +1 -1
  219. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +4 -7
  220. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  221. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +38 -76
  222. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  223. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  224. package/node_modules/@earendil-works/pi-tui/dist/tui.js +14 -4
  225. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  226. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
  227. package/node_modules/@earendil-works/pi-tui/dist/utils.js +43 -15
  228. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
  229. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  230. package/npm-shrinkwrap.json +12 -12
  231. package/package.json +4 -8
  232. package/dist/core/extensions/builtin/todotools/continuation/config.d.ts +0 -10
  233. package/dist/core/extensions/builtin/todotools/continuation/config.d.ts.map +0 -1
  234. package/dist/core/extensions/builtin/todotools/continuation/config.js +0 -33
  235. package/dist/core/extensions/builtin/todotools/continuation/config.js.map +0 -1
  236. package/dist/core/extensions/builtin/todotools/continuation/index.d.ts +0 -2
  237. package/dist/core/extensions/builtin/todotools/continuation/index.d.ts.map +0 -1
  238. package/dist/core/extensions/builtin/todotools/continuation/index.js +0 -2
  239. package/dist/core/extensions/builtin/todotools/continuation/index.js.map +0 -1
  240. package/dist/core/extensions/builtin/todotools/continuation/prompt.d.ts +0 -5
  241. package/dist/core/extensions/builtin/todotools/continuation/prompt.d.ts.map +0 -1
  242. package/dist/core/extensions/builtin/todotools/continuation/prompt.js +0 -34
  243. package/dist/core/extensions/builtin/todotools/continuation/prompt.js.map +0 -1
  244. package/dist/core/extensions/builtin/todotools/continuation/runtime.d.ts +0 -11
  245. package/dist/core/extensions/builtin/todotools/continuation/runtime.d.ts.map +0 -1
  246. package/dist/core/extensions/builtin/todotools/continuation/runtime.js +0 -201
  247. package/dist/core/extensions/builtin/todotools/continuation/runtime.js.map +0 -1
  248. package/dist/core/extensions/builtin/todotools/settings.d.ts +0 -6
  249. package/dist/core/extensions/builtin/todotools/settings.d.ts.map +0 -1
  250. package/dist/core/extensions/builtin/todotools/settings.js +0 -58
  251. package/dist/core/extensions/builtin/todotools/settings.js.map +0 -1
  252. package/dist/core/extensions/builtin/todotools/system-messages.d.ts +0 -34
  253. package/dist/core/extensions/builtin/todotools/system-messages.d.ts.map +0 -1
  254. package/dist/core/extensions/builtin/todotools/system-messages.js +0 -82
  255. package/dist/core/extensions/builtin/todotools/system-messages.js.map +0 -1
@@ -8,7 +8,7 @@ export const MODELS = {
8
8
  api: "bedrock-converse-stream",
9
9
  provider: "amazon-bedrock",
10
10
  baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
11
- reasoning: false,
11
+ reasoning: true,
12
12
  input: ["text", "image"],
13
13
  cost: {
14
14
  input: 0.33,
@@ -365,6 +365,24 @@ export const MODELS = {
365
365
  contextWindow: 163840,
366
366
  maxTokens: 81920,
367
367
  },
368
+ "eu.anthropic.claude-fable-5": {
369
+ id: "eu.anthropic.claude-fable-5",
370
+ name: "Claude Fable 5 (EU)",
371
+ api: "bedrock-converse-stream",
372
+ provider: "amazon-bedrock",
373
+ baseUrl: "https://bedrock-runtime.eu-central-1.amazonaws.com",
374
+ reasoning: true,
375
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
376
+ input: ["text", "image"],
377
+ cost: {
378
+ input: 11,
379
+ output: 55,
380
+ cacheRead: 1.1,
381
+ cacheWrite: 13.75,
382
+ },
383
+ contextWindow: 1000000,
384
+ maxTokens: 128000,
385
+ },
368
386
  "eu.anthropic.claude-haiku-4-5-20251001-v1:0": {
369
387
  id: "eu.anthropic.claude-haiku-4-5-20251001-v1:0",
370
388
  name: "Claude Haiku 4.5 (EU)",
@@ -505,6 +523,24 @@ export const MODELS = {
505
523
  contextWindow: 1000000,
506
524
  maxTokens: 64000,
507
525
  },
526
+ "global.anthropic.claude-fable-5": {
527
+ id: "global.anthropic.claude-fable-5",
528
+ name: "Claude Fable 5 (Global)",
529
+ api: "bedrock-converse-stream",
530
+ provider: "amazon-bedrock",
531
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
532
+ reasoning: true,
533
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
534
+ input: ["text", "image"],
535
+ cost: {
536
+ input: 10,
537
+ output: 50,
538
+ cacheRead: 1,
539
+ cacheWrite: 12.5,
540
+ },
541
+ contextWindow: 1000000,
542
+ maxTokens: 128000,
543
+ },
508
544
  "global.anthropic.claude-haiku-4-5-20251001-v1:0": {
509
545
  id: "global.anthropic.claude-haiku-4-5-20251001-v1:0",
510
546
  name: "Claude Haiku 4.5 (Global)",
@@ -1182,7 +1218,7 @@ export const MODELS = {
1182
1218
  api: "bedrock-converse-stream",
1183
1219
  provider: "amazon-bedrock",
1184
1220
  baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1185
- reasoning: false,
1221
+ reasoning: true,
1186
1222
  input: ["text"],
1187
1223
  cost: {
1188
1224
  input: 0.15,
@@ -1199,7 +1235,7 @@ export const MODELS = {
1199
1235
  api: "bedrock-converse-stream",
1200
1236
  provider: "amazon-bedrock",
1201
1237
  baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1202
- reasoning: false,
1238
+ reasoning: true,
1203
1239
  input: ["text"],
1204
1240
  cost: {
1205
1241
  input: 0.15,
@@ -1216,7 +1252,7 @@ export const MODELS = {
1216
1252
  api: "bedrock-converse-stream",
1217
1253
  provider: "amazon-bedrock",
1218
1254
  baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1219
- reasoning: false,
1255
+ reasoning: true,
1220
1256
  input: ["text"],
1221
1257
  cost: {
1222
1258
  input: 0.07,
@@ -1233,7 +1269,7 @@ export const MODELS = {
1233
1269
  api: "bedrock-converse-stream",
1234
1270
  provider: "amazon-bedrock",
1235
1271
  baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1236
- reasoning: false,
1272
+ reasoning: true,
1237
1273
  input: ["text"],
1238
1274
  cost: {
1239
1275
  input: 0.07,
@@ -1397,6 +1433,24 @@ export const MODELS = {
1397
1433
  contextWindow: 262000,
1398
1434
  maxTokens: 262000,
1399
1435
  },
1436
+ "us.anthropic.claude-fable-5": {
1437
+ id: "us.anthropic.claude-fable-5",
1438
+ name: "Claude Fable 5 (US)",
1439
+ api: "bedrock-converse-stream",
1440
+ provider: "amazon-bedrock",
1441
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1442
+ reasoning: true,
1443
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
1444
+ input: ["text", "image"],
1445
+ cost: {
1446
+ input: 10,
1447
+ output: 50,
1448
+ cacheRead: 1,
1449
+ cacheWrite: 12.5,
1450
+ },
1451
+ contextWindow: 1000000,
1452
+ maxTokens: 128000,
1453
+ },
1400
1454
  "us.anthropic.claude-haiku-4-5-20251001-v1:0": {
1401
1455
  id: "us.anthropic.claude-haiku-4-5-20251001-v1:0",
1402
1456
  name: "Claude Haiku 4.5 (US)",
@@ -1885,6 +1939,25 @@ export const MODELS = {
1885
1939
  contextWindow: 200000,
1886
1940
  maxTokens: 4096,
1887
1941
  },
1942
+ "claude-fable-5": {
1943
+ id: "claude-fable-5",
1944
+ name: "Claude Fable 5",
1945
+ api: "anthropic-messages",
1946
+ provider: "anthropic",
1947
+ baseUrl: "https://api.anthropic.com",
1948
+ compat: { "forceAdaptiveThinking": true },
1949
+ reasoning: true,
1950
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
1951
+ input: ["text", "image"],
1952
+ cost: {
1953
+ input: 10,
1954
+ output: 50,
1955
+ cacheRead: 1,
1956
+ cacheWrite: 12.5,
1957
+ },
1958
+ contextWindow: 1000000,
1959
+ maxTokens: 128000,
1960
+ },
1888
1961
  "claude-haiku-4-5": {
1889
1962
  id: "claude-haiku-4-5",
1890
1963
  name: "Claude Haiku 4.5 (latest)",
@@ -2442,7 +2515,7 @@ export const MODELS = {
2442
2515
  cacheWrite: 0,
2443
2516
  },
2444
2517
  contextWindow: 400000,
2445
- maxTokens: 272000,
2518
+ maxTokens: 128000,
2446
2519
  },
2447
2520
  "gpt-5.1": {
2448
2521
  id: "gpt-5.1",
@@ -2675,7 +2748,7 @@ export const MODELS = {
2675
2748
  cacheRead: 0.25,
2676
2749
  cacheWrite: 0,
2677
2750
  },
2678
- contextWindow: 272000,
2751
+ contextWindow: 1050000,
2679
2752
  maxTokens: 128000,
2680
2753
  },
2681
2754
  "gpt-5.4-mini": {
@@ -2747,7 +2820,7 @@ export const MODELS = {
2747
2820
  cacheRead: 0.5,
2748
2821
  cacheWrite: 0,
2749
2822
  },
2750
- contextWindow: 272000,
2823
+ contextWindow: 1050000,
2751
2824
  maxTokens: 128000,
2752
2825
  },
2753
2826
  "gpt-5.5-pro": {
@@ -3061,6 +3134,25 @@ export const MODELS = {
3061
3134
  contextWindow: 200000,
3062
3135
  maxTokens: 8192,
3063
3136
  },
3137
+ "claude-fable-5": {
3138
+ id: "claude-fable-5",
3139
+ name: "Claude Fable 5",
3140
+ api: "anthropic-messages",
3141
+ provider: "cloudflare-ai-gateway",
3142
+ baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",
3143
+ compat: { "forceAdaptiveThinking": true },
3144
+ reasoning: true,
3145
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
3146
+ input: ["text", "image"],
3147
+ cost: {
3148
+ input: 10,
3149
+ output: 50,
3150
+ cacheRead: 1,
3151
+ cacheWrite: 12.5,
3152
+ },
3153
+ contextWindow: 1000000,
3154
+ maxTokens: 128000,
3155
+ },
3064
3156
  "claude-haiku-4-5": {
3065
3157
  id: "claude-haiku-4-5",
3066
3158
  name: "Claude Haiku 4.5 (latest)",
@@ -6368,7 +6460,7 @@ export const MODELS = {
6368
6460
  api: "openai-completions",
6369
6461
  provider: "moonshotai",
6370
6462
  baseUrl: "https://api.moonshot.ai/v1",
6371
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6463
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6372
6464
  reasoning: false,
6373
6465
  input: ["text"],
6374
6466
  cost: {
@@ -6386,7 +6478,7 @@ export const MODELS = {
6386
6478
  api: "openai-completions",
6387
6479
  provider: "moonshotai",
6388
6480
  baseUrl: "https://api.moonshot.ai/v1",
6389
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6481
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6390
6482
  reasoning: false,
6391
6483
  input: ["text"],
6392
6484
  cost: {
@@ -6404,7 +6496,7 @@ export const MODELS = {
6404
6496
  api: "openai-completions",
6405
6497
  provider: "moonshotai",
6406
6498
  baseUrl: "https://api.moonshot.ai/v1",
6407
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6499
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6408
6500
  reasoning: true,
6409
6501
  input: ["text"],
6410
6502
  cost: {
@@ -6422,7 +6514,7 @@ export const MODELS = {
6422
6514
  api: "openai-completions",
6423
6515
  provider: "moonshotai",
6424
6516
  baseUrl: "https://api.moonshot.ai/v1",
6425
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6517
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6426
6518
  reasoning: true,
6427
6519
  input: ["text"],
6428
6520
  cost: {
@@ -6440,7 +6532,7 @@ export const MODELS = {
6440
6532
  api: "openai-completions",
6441
6533
  provider: "moonshotai",
6442
6534
  baseUrl: "https://api.moonshot.ai/v1",
6443
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6535
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6444
6536
  reasoning: false,
6445
6537
  input: ["text"],
6446
6538
  cost: {
@@ -6458,7 +6550,7 @@ export const MODELS = {
6458
6550
  api: "openai-completions",
6459
6551
  provider: "moonshotai",
6460
6552
  baseUrl: "https://api.moonshot.ai/v1",
6461
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6553
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6462
6554
  reasoning: true,
6463
6555
  input: ["text", "image"],
6464
6556
  cost: {
@@ -6476,7 +6568,7 @@ export const MODELS = {
6476
6568
  api: "openai-completions",
6477
6569
  provider: "moonshotai",
6478
6570
  baseUrl: "https://api.moonshot.ai/v1",
6479
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6571
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6480
6572
  reasoning: true,
6481
6573
  input: ["text", "image"],
6482
6574
  cost: {
@@ -6496,7 +6588,7 @@ export const MODELS = {
6496
6588
  api: "openai-completions",
6497
6589
  provider: "moonshotai-cn",
6498
6590
  baseUrl: "https://api.moonshot.cn/v1",
6499
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6591
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6500
6592
  reasoning: false,
6501
6593
  input: ["text"],
6502
6594
  cost: {
@@ -6514,7 +6606,7 @@ export const MODELS = {
6514
6606
  api: "openai-completions",
6515
6607
  provider: "moonshotai-cn",
6516
6608
  baseUrl: "https://api.moonshot.cn/v1",
6517
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6609
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6518
6610
  reasoning: false,
6519
6611
  input: ["text"],
6520
6612
  cost: {
@@ -6532,7 +6624,7 @@ export const MODELS = {
6532
6624
  api: "openai-completions",
6533
6625
  provider: "moonshotai-cn",
6534
6626
  baseUrl: "https://api.moonshot.cn/v1",
6535
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6627
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6536
6628
  reasoning: true,
6537
6629
  input: ["text"],
6538
6630
  cost: {
@@ -6550,7 +6642,7 @@ export const MODELS = {
6550
6642
  api: "openai-completions",
6551
6643
  provider: "moonshotai-cn",
6552
6644
  baseUrl: "https://api.moonshot.cn/v1",
6553
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6645
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6554
6646
  reasoning: true,
6555
6647
  input: ["text"],
6556
6648
  cost: {
@@ -6568,7 +6660,7 @@ export const MODELS = {
6568
6660
  api: "openai-completions",
6569
6661
  provider: "moonshotai-cn",
6570
6662
  baseUrl: "https://api.moonshot.cn/v1",
6571
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6663
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6572
6664
  reasoning: false,
6573
6665
  input: ["text"],
6574
6666
  cost: {
@@ -6586,7 +6678,7 @@ export const MODELS = {
6586
6678
  api: "openai-completions",
6587
6679
  provider: "moonshotai-cn",
6588
6680
  baseUrl: "https://api.moonshot.cn/v1",
6589
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6681
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6590
6682
  reasoning: true,
6591
6683
  input: ["text", "image"],
6592
6684
  cost: {
@@ -6604,7 +6696,7 @@ export const MODELS = {
6604
6696
  api: "openai-completions",
6605
6697
  provider: "moonshotai-cn",
6606
6698
  baseUrl: "https://api.moonshot.cn/v1",
6607
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false },
6699
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "thinkingFormat": "deepseek" },
6608
6700
  reasoning: true,
6609
6701
  input: ["text", "image"],
6610
6702
  cost: {
@@ -6865,6 +6957,25 @@ export const MODELS = {
6865
6957
  contextWindow: 262144,
6866
6958
  maxTokens: 262144,
6867
6959
  },
6960
+ "nvidia/nemotron-3-ultra-550b-a55b": {
6961
+ id: "nvidia/nemotron-3-ultra-550b-a55b",
6962
+ name: "Nemotron 3 Ultra 550B A55B",
6963
+ api: "openai-completions",
6964
+ provider: "nvidia",
6965
+ baseUrl: "https://integrate.api.nvidia.com/v1",
6966
+ headers: { "NVCF-POLL-SECONDS": "3600" },
6967
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
6968
+ reasoning: true,
6969
+ input: ["text"],
6970
+ cost: {
6971
+ input: 0.5,
6972
+ output: 2.5,
6973
+ cacheRead: 0.15,
6974
+ cacheWrite: 0,
6975
+ },
6976
+ contextWindow: 1000000,
6977
+ maxTokens: 65536,
6978
+ },
6868
6979
  "nvidia/nvidia-nemotron-nano-9b-v2": {
6869
6980
  id: "nvidia/nvidia-nemotron-nano-9b-v2",
6870
6981
  name: "nvidia-nemotron-nano-9b-v2",
@@ -7276,7 +7387,7 @@ export const MODELS = {
7276
7387
  cacheWrite: 0,
7277
7388
  },
7278
7389
  contextWindow: 400000,
7279
- maxTokens: 272000,
7390
+ maxTokens: 128000,
7280
7391
  },
7281
7392
  "gpt-5.1": {
7282
7393
  id: "gpt-5.1",
@@ -7820,6 +7931,7 @@ export const MODELS = {
7820
7931
  api: "openai-completions",
7821
7932
  provider: "opencode",
7822
7933
  baseUrl: "https://opencode.ai/zen/v1",
7934
+ compat: { "maxTokensField": "max_tokens" },
7823
7935
  reasoning: true,
7824
7936
  input: ["text"],
7825
7937
  cost: {
@@ -7831,6 +7943,25 @@ export const MODELS = {
7831
7943
  contextWindow: 200000,
7832
7944
  maxTokens: 32000,
7833
7945
  },
7946
+ "claude-fable-5": {
7947
+ id: "claude-fable-5",
7948
+ name: "Claude Fable 5",
7949
+ api: "anthropic-messages",
7950
+ provider: "opencode",
7951
+ baseUrl: "https://opencode.ai/zen",
7952
+ compat: { "forceAdaptiveThinking": true },
7953
+ reasoning: true,
7954
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
7955
+ input: ["text", "image"],
7956
+ cost: {
7957
+ input: 10,
7958
+ output: 50,
7959
+ cacheRead: 1,
7960
+ cacheWrite: 12.5,
7961
+ },
7962
+ contextWindow: 1000000,
7963
+ maxTokens: 128000,
7964
+ },
7834
7965
  "claude-haiku-4-5": {
7835
7966
  id: "claude-haiku-4-5",
7836
7967
  name: "Claude Haiku 4.5",
@@ -7997,7 +8128,7 @@ export const MODELS = {
7997
8128
  api: "openai-completions",
7998
8129
  provider: "opencode",
7999
8130
  baseUrl: "https://opencode.ai/zen/v1",
8000
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8131
+ compat: { "maxTokensField": "max_tokens", "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8001
8132
  reasoning: true,
8002
8133
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8003
8134
  input: ["text"],
@@ -8016,7 +8147,7 @@ export const MODELS = {
8016
8147
  api: "openai-completions",
8017
8148
  provider: "opencode",
8018
8149
  baseUrl: "https://opencode.ai/zen/v1",
8019
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8150
+ compat: { "maxTokensField": "max_tokens", "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8020
8151
  reasoning: true,
8021
8152
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8022
8153
  input: ["text"],
@@ -8089,6 +8220,7 @@ export const MODELS = {
8089
8220
  api: "openai-completions",
8090
8221
  provider: "opencode",
8091
8222
  baseUrl: "https://opencode.ai/zen/v1",
8223
+ compat: { "maxTokensField": "max_tokens" },
8092
8224
  reasoning: true,
8093
8225
  input: ["text"],
8094
8226
  cost: {
@@ -8106,6 +8238,7 @@ export const MODELS = {
8106
8238
  api: "openai-completions",
8107
8239
  provider: "opencode",
8108
8240
  baseUrl: "https://opencode.ai/zen/v1",
8241
+ compat: { "maxTokensField": "max_tokens" },
8109
8242
  reasoning: true,
8110
8243
  input: ["text"],
8111
8244
  cost: {
@@ -8411,7 +8544,7 @@ export const MODELS = {
8411
8544
  api: "openai-completions",
8412
8545
  provider: "opencode",
8413
8546
  baseUrl: "https://opencode.ai/zen/v1",
8414
- compat: { "supportsReasoningEffort": false },
8547
+ compat: { "supportsReasoningEffort": false, "maxTokensField": "max_tokens" },
8415
8548
  reasoning: true,
8416
8549
  thinkingLevelMap: { "off": null, "minimal": null, "low": null, "medium": null },
8417
8550
  input: ["text", "image"],
@@ -8430,6 +8563,7 @@ export const MODELS = {
8430
8563
  api: "openai-completions",
8431
8564
  provider: "opencode",
8432
8565
  baseUrl: "https://opencode.ai/zen/v1",
8566
+ compat: { "maxTokensField": "max_tokens" },
8433
8567
  reasoning: true,
8434
8568
  input: ["text", "image"],
8435
8569
  cost: {
@@ -8447,7 +8581,7 @@ export const MODELS = {
8447
8581
  api: "openai-completions",
8448
8582
  provider: "opencode",
8449
8583
  baseUrl: "https://opencode.ai/zen/v1",
8450
- compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false },
8584
+ compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false, "maxTokensField": "max_tokens" },
8451
8585
  reasoning: true,
8452
8586
  input: ["text", "image"],
8453
8587
  cost: {
@@ -8465,6 +8599,7 @@ export const MODELS = {
8465
8599
  api: "openai-completions",
8466
8600
  provider: "opencode",
8467
8601
  baseUrl: "https://opencode.ai/zen/v1",
8602
+ compat: { "maxTokensField": "max_tokens" },
8468
8603
  reasoning: true,
8469
8604
  input: ["text", "image"],
8470
8605
  cost: {
@@ -8482,6 +8617,7 @@ export const MODELS = {
8482
8617
  api: "openai-completions",
8483
8618
  provider: "opencode",
8484
8619
  baseUrl: "https://opencode.ai/zen/v1",
8620
+ compat: { "maxTokensField": "max_tokens" },
8485
8621
  reasoning: true,
8486
8622
  input: ["text"],
8487
8623
  cost: {
@@ -8499,6 +8635,7 @@ export const MODELS = {
8499
8635
  api: "openai-completions",
8500
8636
  provider: "opencode",
8501
8637
  baseUrl: "https://opencode.ai/zen/v1",
8638
+ compat: { "maxTokensField": "max_tokens" },
8502
8639
  reasoning: true,
8503
8640
  input: ["text"],
8504
8641
  cost: {
@@ -8510,29 +8647,31 @@ export const MODELS = {
8510
8647
  contextWindow: 204800,
8511
8648
  maxTokens: 131072,
8512
8649
  },
8513
- "minimax-m3-free": {
8514
- id: "minimax-m3-free",
8515
- name: "MiniMax M3 Free",
8516
- api: "anthropic-messages",
8650
+ "nemotron-3-ultra-free": {
8651
+ id: "nemotron-3-ultra-free",
8652
+ name: "Nemotron 3 Ultra Free",
8653
+ api: "openai-completions",
8517
8654
  provider: "opencode",
8518
- baseUrl: "https://opencode.ai/zen",
8655
+ baseUrl: "https://opencode.ai/zen/v1",
8656
+ compat: { "maxTokensField": "max_tokens" },
8519
8657
  reasoning: true,
8520
- input: ["text", "image"],
8658
+ input: ["text"],
8521
8659
  cost: {
8522
8660
  input: 0,
8523
8661
  output: 0,
8524
8662
  cacheRead: 0,
8525
8663
  cacheWrite: 0,
8526
8664
  },
8527
- contextWindow: 200000,
8528
- maxTokens: 32000,
8665
+ contextWindow: 1000000,
8666
+ maxTokens: 128000,
8529
8667
  },
8530
- "nemotron-3-ultra-free": {
8531
- id: "nemotron-3-ultra-free",
8532
- name: "Nemotron 3 Ultra Free",
8668
+ "north-mini-code-free": {
8669
+ id: "north-mini-code-free",
8670
+ name: "North Mini Code Free",
8533
8671
  api: "openai-completions",
8534
8672
  provider: "opencode",
8535
8673
  baseUrl: "https://opencode.ai/zen/v1",
8674
+ compat: { "maxTokensField": "max_tokens" },
8536
8675
  reasoning: true,
8537
8676
  input: ["text"],
8538
8677
  cost: {
@@ -8541,8 +8680,8 @@ export const MODELS = {
8541
8680
  cacheRead: 0,
8542
8681
  cacheWrite: 0,
8543
8682
  },
8544
- contextWindow: 1000000,
8545
- maxTokens: 128000,
8683
+ contextWindow: 256000,
8684
+ maxTokens: 64000,
8546
8685
  },
8547
8686
  "qwen3.5-plus": {
8548
8687
  id: "qwen3.5-plus",
@@ -8586,7 +8725,7 @@ export const MODELS = {
8586
8725
  api: "openai-completions",
8587
8726
  provider: "opencode-go",
8588
8727
  baseUrl: "https://opencode.ai/zen/go/v1",
8589
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8728
+ compat: { "maxTokensField": "max_tokens", "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8590
8729
  reasoning: true,
8591
8730
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8592
8731
  input: ["text"],
@@ -8605,7 +8744,7 @@ export const MODELS = {
8605
8744
  api: "openai-completions",
8606
8745
  provider: "opencode-go",
8607
8746
  baseUrl: "https://opencode.ai/zen/go/v1",
8608
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8747
+ compat: { "maxTokensField": "max_tokens", "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8609
8748
  reasoning: true,
8610
8749
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8611
8750
  input: ["text"],
@@ -8624,6 +8763,7 @@ export const MODELS = {
8624
8763
  api: "openai-completions",
8625
8764
  provider: "opencode-go",
8626
8765
  baseUrl: "https://opencode.ai/zen/go/v1",
8766
+ compat: { "maxTokensField": "max_tokens" },
8627
8767
  reasoning: true,
8628
8768
  input: ["text"],
8629
8769
  cost: {
@@ -8641,6 +8781,7 @@ export const MODELS = {
8641
8781
  api: "openai-completions",
8642
8782
  provider: "opencode-go",
8643
8783
  baseUrl: "https://opencode.ai/zen/go/v1",
8784
+ compat: { "maxTokensField": "max_tokens" },
8644
8785
  reasoning: true,
8645
8786
  input: ["text"],
8646
8787
  cost: {
@@ -8658,6 +8799,7 @@ export const MODELS = {
8658
8799
  api: "openai-completions",
8659
8800
  provider: "opencode-go",
8660
8801
  baseUrl: "https://opencode.ai/zen/go/v1",
8802
+ compat: { "maxTokensField": "max_tokens" },
8661
8803
  reasoning: true,
8662
8804
  input: ["text", "image"],
8663
8805
  cost: {
@@ -8675,7 +8817,7 @@ export const MODELS = {
8675
8817
  api: "openai-completions",
8676
8818
  provider: "opencode-go",
8677
8819
  baseUrl: "https://opencode.ai/zen/go/v1",
8678
- compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false },
8820
+ compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false, "maxTokensField": "max_tokens" },
8679
8821
  reasoning: true,
8680
8822
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
8681
8823
  input: ["text", "image"],
@@ -8694,6 +8836,7 @@ export const MODELS = {
8694
8836
  api: "openai-completions",
8695
8837
  provider: "opencode-go",
8696
8838
  baseUrl: "https://opencode.ai/zen/go/v1",
8839
+ compat: { "maxTokensField": "max_tokens" },
8697
8840
  reasoning: true,
8698
8841
  input: ["text", "image"],
8699
8842
  cost: {
@@ -8711,6 +8854,7 @@ export const MODELS = {
8711
8854
  api: "openai-completions",
8712
8855
  provider: "opencode-go",
8713
8856
  baseUrl: "https://opencode.ai/zen/go/v1",
8857
+ compat: { "maxTokensField": "max_tokens" },
8714
8858
  reasoning: true,
8715
8859
  input: ["text"],
8716
8860
  cost: {
@@ -8745,6 +8889,7 @@ export const MODELS = {
8745
8889
  api: "openai-completions",
8746
8890
  provider: "opencode-go",
8747
8891
  baseUrl: "https://opencode.ai/zen/go/v1",
8892
+ compat: { "maxTokensField": "max_tokens" },
8748
8893
  reasoning: true,
8749
8894
  input: ["text"],
8750
8895
  cost: {
@@ -8765,9 +8910,9 @@ export const MODELS = {
8765
8910
  reasoning: true,
8766
8911
  input: ["text", "image"],
8767
8912
  cost: {
8768
- input: 0.6,
8769
- output: 2.4,
8770
- cacheRead: 0.12,
8913
+ input: 0.3,
8914
+ output: 1.2,
8915
+ cacheRead: 0.06,
8771
8916
  cacheWrite: 0,
8772
8917
  },
8773
8918
  contextWindow: 512000,
@@ -8779,7 +8924,7 @@ export const MODELS = {
8779
8924
  api: "openai-completions",
8780
8925
  provider: "opencode-go",
8781
8926
  baseUrl: "https://opencode.ai/zen/go/v1",
8782
- compat: { "thinkingFormat": "qwen" },
8927
+ compat: { "thinkingFormat": "qwen", "maxTokensField": "max_tokens" },
8783
8928
  reasoning: true,
8784
8929
  input: ["text", "image"],
8785
8930
  cost: {
@@ -8963,6 +9108,23 @@ export const MODELS = {
8963
9108
  contextWindow: 200000,
8964
9109
  maxTokens: 8192,
8965
9110
  },
9111
+ "anthropic/claude-fable-5": {
9112
+ id: "anthropic/claude-fable-5",
9113
+ name: "Anthropic: Claude Fable 5",
9114
+ api: "openai-completions",
9115
+ provider: "openrouter",
9116
+ baseUrl: "https://openrouter.ai/api/v1",
9117
+ reasoning: true,
9118
+ input: ["text", "image"],
9119
+ cost: {
9120
+ input: 10,
9121
+ output: 50,
9122
+ cacheRead: 1,
9123
+ cacheWrite: 12.5,
9124
+ },
9125
+ contextWindow: 1000000,
9126
+ maxTokens: 128000,
9127
+ },
8966
9128
  "anthropic/claude-haiku-4.5": {
8967
9129
  id: "anthropic/claude-haiku-4.5",
8968
9130
  name: "Anthropic: Claude Haiku 4.5",
@@ -9258,23 +9420,6 @@ export const MODELS = {
9258
9420
  contextWindow: 2000000,
9259
9421
  maxTokens: 30000,
9260
9422
  },
9261
- "baidu/ernie-4.5-vl-28b-a3b": {
9262
- id: "baidu/ernie-4.5-vl-28b-a3b",
9263
- name: "Baidu: ERNIE 4.5 VL 28B A3B",
9264
- api: "openai-completions",
9265
- provider: "openrouter",
9266
- baseUrl: "https://openrouter.ai/api/v1",
9267
- reasoning: true,
9268
- input: ["text", "image"],
9269
- cost: {
9270
- input: 0.14,
9271
- output: 0.56,
9272
- cacheRead: 0,
9273
- cacheWrite: 0,
9274
- },
9275
- contextWindow: 131072,
9276
- maxTokens: 8000,
9277
- },
9278
9423
  "bytedance-seed/seed-1.6": {
9279
9424
  id: "bytedance-seed/seed-1.6",
9280
9425
  name: "ByteDance Seed: Seed 1.6",
@@ -9781,8 +9926,8 @@ export const MODELS = {
9781
9926
  reasoning: false,
9782
9927
  input: ["text", "image"],
9783
9928
  cost: {
9784
- input: 0.04,
9785
- output: 0.13,
9929
+ input: 0.049999999999999996,
9930
+ output: 0.15,
9786
9931
  cacheRead: 0,
9787
9932
  cacheWrite: 0,
9788
9933
  },
@@ -10071,7 +10216,7 @@ export const MODELS = {
10071
10216
  reasoning: false,
10072
10217
  input: ["text", "image"],
10073
10218
  cost: {
10074
- input: 0.08,
10219
+ input: 0.09999999999999999,
10075
10220
  output: 0.3,
10076
10221
  cacheRead: 0,
10077
10222
  cacheWrite: 0,
@@ -10140,8 +10285,8 @@ export const MODELS = {
10140
10285
  input: ["text"],
10141
10286
  cost: {
10142
10287
  input: 0.15,
10143
- output: 1.15,
10144
- cacheRead: 0,
10288
+ output: 0.8999999999999999,
10289
+ cacheRead: 0.049999999999999996,
10145
10290
  cacheWrite: 0,
10146
10291
  },
10147
10292
  contextWindow: 204800,
@@ -10156,13 +10301,13 @@ export const MODELS = {
10156
10301
  reasoning: true,
10157
10302
  input: ["text"],
10158
10303
  cost: {
10159
- input: 0.27899999999999997,
10160
- output: 1.2,
10161
- cacheRead: 0,
10304
+ input: 0.27,
10305
+ output: 1.08,
10306
+ cacheRead: 0.054,
10162
10307
  cacheWrite: 0,
10163
10308
  },
10164
10309
  contextWindow: 204800,
10165
- maxTokens: 196608,
10310
+ maxTokens: 131072,
10166
10311
  },
10167
10312
  "minimax/minimax-m3": {
10168
10313
  id: "minimax/minimax-m3",
@@ -10548,13 +10693,13 @@ export const MODELS = {
10548
10693
  reasoning: true,
10549
10694
  input: ["text", "image"],
10550
10695
  cost: {
10551
- input: 0.684,
10552
- output: 3.42,
10553
- cacheRead: 0.144,
10696
+ input: 0.6799999999999999,
10697
+ output: 3.41,
10698
+ cacheRead: 0.33999999999999997,
10554
10699
  cacheWrite: 0,
10555
10700
  },
10556
10701
  contextWindow: 262144,
10557
- maxTokens: 262144,
10702
+ maxTokens: 262142,
10558
10703
  },
10559
10704
  "moonshotai/kimi-k2.6:free": {
10560
10705
  id: "moonshotai/kimi-k2.6:free",
@@ -10574,22 +10719,22 @@ export const MODELS = {
10574
10719
  contextWindow: 262144,
10575
10720
  maxTokens: 4096,
10576
10721
  },
10577
- "nex-agi/deepseek-v3.1-nex-n1": {
10578
- id: "nex-agi/deepseek-v3.1-nex-n1",
10579
- name: "Nex AGI: DeepSeek V3.1 Nex N1",
10722
+ "nex-agi/nex-n2-pro:free": {
10723
+ id: "nex-agi/nex-n2-pro:free",
10724
+ name: "Nex AGI: Nex-N2-Pro (free)",
10580
10725
  api: "openai-completions",
10581
10726
  provider: "openrouter",
10582
10727
  baseUrl: "https://openrouter.ai/api/v1",
10583
- reasoning: false,
10584
- input: ["text"],
10728
+ reasoning: true,
10729
+ input: ["text", "image"],
10585
10730
  cost: {
10586
- input: 0.135,
10587
- output: 0.5,
10731
+ input: 0,
10732
+ output: 0,
10588
10733
  cacheRead: 0,
10589
10734
  cacheWrite: 0,
10590
10735
  },
10591
- contextWindow: 131072,
10592
- maxTokens: 163840,
10736
+ contextWindow: 262144,
10737
+ maxTokens: 262144,
10593
10738
  },
10594
10739
  "nvidia/llama-3.3-nemotron-super-49b-v1.5": {
10595
10740
  id: "nvidia/llama-3.3-nemotron-super-49b-v1.5",
@@ -10600,7 +10745,7 @@ export const MODELS = {
10600
10745
  reasoning: true,
10601
10746
  input: ["text"],
10602
10747
  cost: {
10603
- input: 0.09999999999999999,
10748
+ input: 0.39999999999999997,
10604
10749
  output: 0.39999999999999997,
10605
10750
  cacheRead: 0,
10606
10751
  cacheWrite: 0,
@@ -10846,23 +10991,6 @@ export const MODELS = {
10846
10991
  contextWindow: 8191,
10847
10992
  maxTokens: 4096,
10848
10993
  },
10849
- "openai/gpt-4-1106-preview": {
10850
- id: "openai/gpt-4-1106-preview",
10851
- name: "OpenAI: GPT-4 Turbo (older v1106)",
10852
- api: "openai-completions",
10853
- provider: "openrouter",
10854
- baseUrl: "https://openrouter.ai/api/v1",
10855
- reasoning: false,
10856
- input: ["text"],
10857
- cost: {
10858
- input: 10,
10859
- output: 30,
10860
- cacheRead: 0,
10861
- cacheWrite: 0,
10862
- },
10863
- contextWindow: 128000,
10864
- maxTokens: 4096,
10865
- },
10866
10994
  "openai/gpt-4-turbo": {
10867
10995
  id: "openai/gpt-4-turbo",
10868
10996
  name: "OpenAI: GPT-4 Turbo",
@@ -11938,7 +12066,7 @@ export const MODELS = {
11938
12066
  reasoning: false,
11939
12067
  input: ["text"],
11940
12068
  cost: {
11941
- input: 0.071,
12069
+ input: 0.09,
11942
12070
  output: 0.09999999999999999,
11943
12071
  cacheRead: 0,
11944
12072
  cacheWrite: 0,
@@ -11972,8 +12100,8 @@ export const MODELS = {
11972
12100
  reasoning: true,
11973
12101
  input: ["text"],
11974
12102
  cost: {
11975
- input: 0.09,
11976
- output: 0.44999999999999996,
12103
+ input: 0.12,
12104
+ output: 0.5,
11977
12105
  cacheRead: 0,
11978
12106
  cacheWrite: 0,
11979
12107
  },
@@ -12431,13 +12559,13 @@ export const MODELS = {
12431
12559
  reasoning: true,
12432
12560
  input: ["text", "image"],
12433
12561
  cost: {
12434
- input: 0.04,
12562
+ input: 0.09999999999999999,
12435
12563
  output: 0.15,
12436
12564
  cacheRead: 0,
12437
12565
  cacheWrite: 0,
12438
12566
  },
12439
12567
  contextWindow: 262144,
12440
- maxTokens: 81920,
12568
+ maxTokens: 262144,
12441
12569
  },
12442
12570
  "qwen/qwen3.5-flash-02-23": {
12443
12571
  id: "qwen/qwen3.5-flash-02-23",
@@ -12499,13 +12627,13 @@ export const MODELS = {
12499
12627
  reasoning: true,
12500
12628
  input: ["text", "image"],
12501
12629
  cost: {
12502
- input: 0.29,
12503
- output: 3.1999999999999997,
12630
+ input: 0.28900000000000003,
12631
+ output: 2.4,
12504
12632
  cacheRead: 0,
12505
12633
  cacheWrite: 0,
12506
12634
  },
12507
12635
  contextWindow: 262144,
12508
- maxTokens: 262140,
12636
+ maxTokens: 131072,
12509
12637
  },
12510
12638
  "qwen/qwen3.6-35b-a3b": {
12511
12639
  id: "qwen/qwen3.6-35b-a3b",
@@ -12864,23 +12992,6 @@ export const MODELS = {
12864
12992
  contextWindow: 1048576,
12865
12993
  maxTokens: 131072,
12866
12994
  },
12867
- "z-ai/glm-4-32b": {
12868
- id: "z-ai/glm-4-32b",
12869
- name: "Z.ai: GLM 4 32B ",
12870
- api: "openai-completions",
12871
- provider: "openrouter",
12872
- baseUrl: "https://openrouter.ai/api/v1",
12873
- reasoning: false,
12874
- input: ["text"],
12875
- cost: {
12876
- input: 0.09999999999999999,
12877
- output: 0.09999999999999999,
12878
- cacheRead: 0,
12879
- cacheWrite: 0,
12880
- },
12881
- contextWindow: 128000,
12882
- maxTokens: 4096,
12883
- },
12884
12995
  "z-ai/glm-4.5": {
12885
12996
  id: "z-ai/glm-4.5",
12886
12997
  name: "Z.ai: GLM 4.5",
@@ -12915,23 +13026,6 @@ export const MODELS = {
12915
13026
  contextWindow: 131072,
12916
13027
  maxTokens: 131070,
12917
13028
  },
12918
- "z-ai/glm-4.5-air:free": {
12919
- id: "z-ai/glm-4.5-air:free",
12920
- name: "Z.ai: GLM 4.5 Air (free)",
12921
- api: "openai-completions",
12922
- provider: "openrouter",
12923
- baseUrl: "https://openrouter.ai/api/v1",
12924
- reasoning: true,
12925
- input: ["text"],
12926
- cost: {
12927
- input: 0,
12928
- output: 0,
12929
- cacheRead: 0,
12930
- cacheWrite: 0,
12931
- },
12932
- contextWindow: 131072,
12933
- maxTokens: 96000,
12934
- },
12935
13029
  "z-ai/glm-4.5v": {
12936
13030
  id: "z-ai/glm-4.5v",
12937
13031
  name: "Z.ai: GLM 4.5V",
@@ -12977,11 +13071,11 @@ export const MODELS = {
12977
13071
  cost: {
12978
13072
  input: 0.3,
12979
13073
  output: 0.8999999999999999,
12980
- cacheRead: 0.049999999999999996,
13074
+ cacheRead: 0.055,
12981
13075
  cacheWrite: 0,
12982
13076
  },
12983
13077
  contextWindow: 131072,
12984
- maxTokens: 24000,
13078
+ maxTokens: 32768,
12985
13079
  },
12986
13080
  "z-ai/glm-4.7": {
12987
13081
  id: "z-ai/glm-4.7",
@@ -13048,7 +13142,7 @@ export const MODELS = {
13048
13142
  cacheRead: 0.24,
13049
13143
  cacheWrite: 0,
13050
13144
  },
13051
- contextWindow: 202752,
13145
+ contextWindow: 262144,
13052
13146
  maxTokens: 131072,
13053
13147
  },
13054
13148
  "z-ai/glm-5.1": {
@@ -13068,22 +13162,22 @@ export const MODELS = {
13068
13162
  contextWindow: 202752,
13069
13163
  maxTokens: 4096,
13070
13164
  },
13071
- "z-ai/glm-5v-turbo": {
13072
- id: "z-ai/glm-5v-turbo",
13073
- name: "Z.ai: GLM 5V Turbo",
13165
+ "~anthropic/claude-fable-latest": {
13166
+ id: "~anthropic/claude-fable-latest",
13167
+ name: "Anthropic: Claude Fable Latest",
13074
13168
  api: "openai-completions",
13075
13169
  provider: "openrouter",
13076
13170
  baseUrl: "https://openrouter.ai/api/v1",
13077
13171
  reasoning: true,
13078
13172
  input: ["text", "image"],
13079
13173
  cost: {
13080
- input: 1.2,
13081
- output: 4,
13082
- cacheRead: 0.24,
13083
- cacheWrite: 0,
13174
+ input: 10,
13175
+ output: 50,
13176
+ cacheRead: 1,
13177
+ cacheWrite: 12.5,
13084
13178
  },
13085
- contextWindow: 202752,
13086
- maxTokens: 131072,
13179
+ contextWindow: 1000000,
13180
+ maxTokens: 128000,
13087
13181
  },
13088
13182
  "~anthropic/claude-haiku-latest": {
13089
13183
  id: "~anthropic/claude-haiku-latest",
@@ -13179,13 +13273,13 @@ export const MODELS = {
13179
13273
  reasoning: true,
13180
13274
  input: ["text", "image"],
13181
13275
  cost: {
13182
- input: 0.684,
13183
- output: 3.42,
13184
- cacheRead: 0.144,
13276
+ input: 0.6799999999999999,
13277
+ output: 3.41,
13278
+ cacheRead: 0.33999999999999997,
13185
13279
  cacheWrite: 0,
13186
13280
  },
13187
13281
  contextWindow: 262144,
13188
- maxTokens: 262144,
13282
+ maxTokens: 262142,
13189
13283
  },
13190
13284
  "~openai/gpt-latest": {
13191
13285
  id: "~openai/gpt-latest",
@@ -13229,9 +13323,9 @@ export const MODELS = {
13229
13323
  api: "openai-completions",
13230
13324
  provider: "together",
13231
13325
  baseUrl: "https://api.together.ai/v1",
13232
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
13326
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13233
13327
  reasoning: true,
13234
- thinkingLevelMap: { "off": null, "minimal": null, "low": null, "medium": null },
13328
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13235
13329
  input: ["text"],
13236
13330
  cost: {
13237
13331
  input: 0.3,
@@ -13626,8 +13720,8 @@ export const MODELS = {
13626
13720
  reasoning: true,
13627
13721
  input: ["text"],
13628
13722
  cost: {
13629
- input: 0.08,
13630
- output: 0.29,
13723
+ input: 0.12,
13724
+ output: 0.5,
13631
13725
  cacheRead: 0,
13632
13726
  cacheWrite: 0,
13633
13727
  },
@@ -13991,6 +14085,25 @@ export const MODELS = {
13991
14085
  contextWindow: 200000,
13992
14086
  maxTokens: 8192,
13993
14087
  },
14088
+ "anthropic/claude-fable-5": {
14089
+ id: "anthropic/claude-fable-5",
14090
+ name: "Claude Fable 5",
14091
+ api: "anthropic-messages",
14092
+ provider: "vercel-ai-gateway",
14093
+ baseUrl: "https://ai-gateway.vercel.sh",
14094
+ compat: { "forceAdaptiveThinking": true },
14095
+ reasoning: true,
14096
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
14097
+ input: ["text", "image"],
14098
+ cost: {
14099
+ input: 10,
14100
+ output: 50,
14101
+ cacheRead: 1,
14102
+ cacheWrite: 12.5,
14103
+ },
14104
+ contextWindow: 1000000,
14105
+ maxTokens: 128000,
14106
+ },
13994
14107
  "anthropic/claude-haiku-4.5": {
13995
14108
  id: "anthropic/claude-haiku-4.5",
13996
14109
  name: "Claude Haiku 4.5",
@@ -14372,40 +14485,6 @@ export const MODELS = {
14372
14485
  contextWindow: 1000000,
14373
14486
  maxTokens: 384000,
14374
14487
  },
14375
- "google/gemini-2.0-flash": {
14376
- id: "google/gemini-2.0-flash",
14377
- name: "Gemini 2.0 Flash",
14378
- api: "anthropic-messages",
14379
- provider: "vercel-ai-gateway",
14380
- baseUrl: "https://ai-gateway.vercel.sh",
14381
- reasoning: false,
14382
- input: ["text", "image"],
14383
- cost: {
14384
- input: 0.15,
14385
- output: 0.6,
14386
- cacheRead: 0.024999999999999998,
14387
- cacheWrite: 0,
14388
- },
14389
- contextWindow: 1048576,
14390
- maxTokens: 8192,
14391
- },
14392
- "google/gemini-2.0-flash-lite": {
14393
- id: "google/gemini-2.0-flash-lite",
14394
- name: "Gemini 2.0 Flash Lite",
14395
- api: "anthropic-messages",
14396
- provider: "vercel-ai-gateway",
14397
- baseUrl: "https://ai-gateway.vercel.sh",
14398
- reasoning: false,
14399
- input: ["text", "image"],
14400
- cost: {
14401
- input: 0.075,
14402
- output: 0.3,
14403
- cacheRead: 0.02,
14404
- cacheWrite: 0,
14405
- },
14406
- contextWindow: 1048576,
14407
- maxTokens: 8192,
14408
- },
14409
14488
  "google/gemini-2.5-flash": {
14410
14489
  id: "google/gemini-2.5-flash",
14411
14490
  name: "Gemini 2.5 Flash",
@@ -16525,7 +16604,7 @@ export const MODELS = {
16525
16604
  cacheRead: 0.2,
16526
16605
  cacheWrite: 0,
16527
16606
  },
16528
- contextWindow: 2000000,
16607
+ contextWindow: 1000000,
16529
16608
  maxTokens: 30000,
16530
16609
  },
16531
16610
  "grok-4.20-0309-reasoning": {
@@ -16542,7 +16621,7 @@ export const MODELS = {
16542
16621
  cacheRead: 0.2,
16543
16622
  cacheWrite: 0,
16544
16623
  },
16545
- contextWindow: 2000000,
16624
+ contextWindow: 1000000,
16546
16625
  maxTokens: 30000,
16547
16626
  },
16548
16627
  "grok-4.3": {
@@ -16688,6 +16767,24 @@ export const MODELS = {
16688
16767
  contextWindow: 1048576,
16689
16768
  maxTokens: 131072,
16690
16769
  },
16770
+ "mimo-v2.5-pro-ultraspeed": {
16771
+ id: "mimo-v2.5-pro-ultraspeed",
16772
+ name: "MiMo-V2.5-Pro-UltraSpeed",
16773
+ api: "openai-completions",
16774
+ provider: "xiaomi",
16775
+ baseUrl: "https://api.xiaomimimo.com/v1",
16776
+ compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
16777
+ reasoning: true,
16778
+ input: ["text"],
16779
+ cost: {
16780
+ input: 1.305,
16781
+ output: 2.61,
16782
+ cacheRead: 0.0108,
16783
+ cacheWrite: 0,
16784
+ },
16785
+ contextWindow: 1048576,
16786
+ maxTokens: 131072,
16787
+ },
16691
16788
  },
16692
16789
  "xiaomi-token-plan-ams": {
16693
16790
  "mimo-v2-omni": {
@@ -16762,6 +16859,24 @@ export const MODELS = {
16762
16859
  contextWindow: 1048576,
16763
16860
  maxTokens: 131072,
16764
16861
  },
16862
+ "mimo-v2.5-pro-ultraspeed": {
16863
+ id: "mimo-v2.5-pro-ultraspeed",
16864
+ name: "MiMo-V2.5-Pro-UltraSpeed",
16865
+ api: "openai-completions",
16866
+ provider: "xiaomi-token-plan-ams",
16867
+ baseUrl: "https://token-plan-ams.xiaomimimo.com/v1",
16868
+ compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
16869
+ reasoning: true,
16870
+ input: ["text"],
16871
+ cost: {
16872
+ input: 1.305,
16873
+ output: 2.61,
16874
+ cacheRead: 0.0108,
16875
+ cacheWrite: 0,
16876
+ },
16877
+ contextWindow: 1048576,
16878
+ maxTokens: 131072,
16879
+ },
16765
16880
  },
16766
16881
  "xiaomi-token-plan-cn": {
16767
16882
  "mimo-v2-omni": {
@@ -16836,6 +16951,24 @@ export const MODELS = {
16836
16951
  contextWindow: 1048576,
16837
16952
  maxTokens: 131072,
16838
16953
  },
16954
+ "mimo-v2.5-pro-ultraspeed": {
16955
+ id: "mimo-v2.5-pro-ultraspeed",
16956
+ name: "MiMo-V2.5-Pro-UltraSpeed",
16957
+ api: "openai-completions",
16958
+ provider: "xiaomi-token-plan-cn",
16959
+ baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
16960
+ compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
16961
+ reasoning: true,
16962
+ input: ["text"],
16963
+ cost: {
16964
+ input: 1.305,
16965
+ output: 2.61,
16966
+ cacheRead: 0.0108,
16967
+ cacheWrite: 0,
16968
+ },
16969
+ contextWindow: 1048576,
16970
+ maxTokens: 131072,
16971
+ },
16839
16972
  },
16840
16973
  "xiaomi-token-plan-sgp": {
16841
16974
  "mimo-v2-omni": {
@@ -16910,6 +17043,24 @@ export const MODELS = {
16910
17043
  contextWindow: 1048576,
16911
17044
  maxTokens: 131072,
16912
17045
  },
17046
+ "mimo-v2.5-pro-ultraspeed": {
17047
+ id: "mimo-v2.5-pro-ultraspeed",
17048
+ name: "MiMo-V2.5-Pro-UltraSpeed",
17049
+ api: "openai-completions",
17050
+ provider: "xiaomi-token-plan-sgp",
17051
+ baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
17052
+ compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek", "supportsDisabledThinking": false },
17053
+ reasoning: true,
17054
+ input: ["text"],
17055
+ cost: {
17056
+ input: 1.305,
17057
+ output: 2.61,
17058
+ cacheRead: 0.0108,
17059
+ cacheWrite: 0,
17060
+ },
17061
+ contextWindow: 1048576,
17062
+ maxTokens: 131072,
17063
+ },
16913
17064
  },
16914
17065
  "zai": {
16915
17066
  "glm-4.5-air": {