gsd-pi 2.72.0-dev.de4c4b3 → 2.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/README.md +12 -2
  2. package/dist/cli.js +59 -3
  3. package/dist/onboarding.js +10 -0
  4. package/dist/resources/extensions/async-jobs/await-tool.js +7 -4
  5. package/dist/resources/extensions/async-jobs/job-manager.js +28 -3
  6. package/dist/resources/extensions/claude-code-cli/partial-builder.js +40 -12
  7. package/dist/resources/extensions/claude-code-cli/stream-adapter.js +48 -23
  8. package/dist/resources/extensions/gsd/auto/loop.js +84 -1
  9. package/dist/resources/extensions/gsd/auto-post-unit.js +6 -0
  10. package/dist/resources/extensions/gsd/auto-recovery.js +11 -0
  11. package/dist/resources/extensions/gsd/auto.js +25 -19
  12. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +9 -11
  13. package/dist/resources/extensions/gsd/commands-handlers.js +4 -1
  14. package/dist/resources/extensions/gsd/context-injector.js +1 -1
  15. package/dist/resources/extensions/gsd/custom-workflow-engine.js +3 -7
  16. package/dist/resources/extensions/gsd/definition-io.js +15 -0
  17. package/dist/resources/extensions/gsd/dispatch-guard.js +4 -0
  18. package/dist/resources/extensions/gsd/doctor-runtime-checks.js +6 -3
  19. package/dist/resources/extensions/gsd/git-service.js +11 -8
  20. package/dist/resources/extensions/gsd/gitignore.js +12 -6
  21. package/dist/resources/extensions/gsd/gsd-db.js +49 -6
  22. package/dist/resources/extensions/gsd/key-manager.js +2 -0
  23. package/dist/resources/extensions/gsd/preferences-skills.js +2 -34
  24. package/dist/resources/extensions/gsd/preferences-types.js +15 -0
  25. package/dist/resources/extensions/gsd/preferences.js +16 -3
  26. package/dist/resources/extensions/gsd/prompt-loader.js +4 -1
  27. package/dist/resources/extensions/gsd/prompts/discuss.md +122 -13
  28. package/dist/resources/extensions/gsd/prompts/system.md +1 -1
  29. package/dist/resources/extensions/gsd/state.js +21 -1
  30. package/dist/resources/extensions/gsd/workflow-projections.js +7 -0
  31. package/dist/resources/extensions/gsd/worktree-manager.js +30 -3
  32. package/dist/resources/extensions/gsd/write-intercept.js +10 -1
  33. package/dist/resources/extensions/ollama/index.js +4 -5
  34. package/dist/resources/extensions/ollama/ollama-client.js +35 -6
  35. package/dist/resources/extensions/ollama/ollama-discovery.js +32 -6
  36. package/dist/web/standalone/.next/BUILD_ID +1 -1
  37. package/dist/web/standalone/.next/app-path-routes-manifest.json +12 -12
  38. package/dist/web/standalone/.next/build-manifest.json +3 -3
  39. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  40. package/dist/web/standalone/.next/required-server-files.json +3 -3
  41. package/dist/web/standalone/.next/server/app/_global-error/page.js +3 -3
  42. package/dist/web/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  43. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  44. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  45. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  46. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  47. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  48. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  49. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  50. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  51. package/dist/web/standalone/.next/server/app/_not-found/page.js +2 -2
  52. package/dist/web/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  53. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  54. package/dist/web/standalone/.next/server/app/_not-found.rsc +3 -3
  55. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  56. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  57. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  58. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  59. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  60. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  61. package/dist/web/standalone/.next/server/app/api/boot/route.js +1 -1
  62. package/dist/web/standalone/.next/server/app/api/boot/route_client-reference-manifest.js +1 -1
  63. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js +1 -1
  64. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route_client-reference-manifest.js +1 -1
  65. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js +1 -1
  66. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route_client-reference-manifest.js +1 -1
  67. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js +2 -2
  68. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route_client-reference-manifest.js +1 -1
  69. package/dist/web/standalone/.next/server/app/api/browse-directories/route.js +1 -1
  70. package/dist/web/standalone/.next/server/app/api/browse-directories/route_client-reference-manifest.js +1 -1
  71. package/dist/web/standalone/.next/server/app/api/captures/route.js +1 -1
  72. package/dist/web/standalone/.next/server/app/api/captures/route_client-reference-manifest.js +1 -1
  73. package/dist/web/standalone/.next/server/app/api/cleanup/route.js +1 -1
  74. package/dist/web/standalone/.next/server/app/api/cleanup/route_client-reference-manifest.js +1 -1
  75. package/dist/web/standalone/.next/server/app/api/dev-mode/route.js +1 -1
  76. package/dist/web/standalone/.next/server/app/api/dev-mode/route_client-reference-manifest.js +1 -1
  77. package/dist/web/standalone/.next/server/app/api/doctor/route.js +1 -1
  78. package/dist/web/standalone/.next/server/app/api/doctor/route_client-reference-manifest.js +1 -1
  79. package/dist/web/standalone/.next/server/app/api/experimental/route.js +2 -2
  80. package/dist/web/standalone/.next/server/app/api/experimental/route_client-reference-manifest.js +1 -1
  81. package/dist/web/standalone/.next/server/app/api/export-data/route.js +1 -1
  82. package/dist/web/standalone/.next/server/app/api/export-data/route_client-reference-manifest.js +1 -1
  83. package/dist/web/standalone/.next/server/app/api/files/route.js +1 -1
  84. package/dist/web/standalone/.next/server/app/api/files/route_client-reference-manifest.js +1 -1
  85. package/dist/web/standalone/.next/server/app/api/forensics/route.js +1 -1
  86. package/dist/web/standalone/.next/server/app/api/forensics/route_client-reference-manifest.js +1 -1
  87. package/dist/web/standalone/.next/server/app/api/git/route.js +1 -1
  88. package/dist/web/standalone/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  89. package/dist/web/standalone/.next/server/app/api/history/route.js +1 -1
  90. package/dist/web/standalone/.next/server/app/api/history/route_client-reference-manifest.js +1 -1
  91. package/dist/web/standalone/.next/server/app/api/hooks/route.js +1 -1
  92. package/dist/web/standalone/.next/server/app/api/hooks/route_client-reference-manifest.js +1 -1
  93. package/dist/web/standalone/.next/server/app/api/inspect/route.js +1 -1
  94. package/dist/web/standalone/.next/server/app/api/inspect/route_client-reference-manifest.js +1 -1
  95. package/dist/web/standalone/.next/server/app/api/knowledge/route.js +1 -1
  96. package/dist/web/standalone/.next/server/app/api/knowledge/route_client-reference-manifest.js +1 -1
  97. package/dist/web/standalone/.next/server/app/api/live-state/route.js +1 -1
  98. package/dist/web/standalone/.next/server/app/api/live-state/route_client-reference-manifest.js +1 -1
  99. package/dist/web/standalone/.next/server/app/api/notifications/route.js +2 -2
  100. package/dist/web/standalone/.next/server/app/api/notifications/route_client-reference-manifest.js +1 -1
  101. package/dist/web/standalone/.next/server/app/api/onboarding/route.js +1 -1
  102. package/dist/web/standalone/.next/server/app/api/onboarding/route_client-reference-manifest.js +1 -1
  103. package/dist/web/standalone/.next/server/app/api/preferences/route.js +1 -1
  104. package/dist/web/standalone/.next/server/app/api/preferences/route_client-reference-manifest.js +1 -1
  105. package/dist/web/standalone/.next/server/app/api/projects/route.js +1 -1
  106. package/dist/web/standalone/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
  107. package/dist/web/standalone/.next/server/app/api/recovery/route.js +1 -1
  108. package/dist/web/standalone/.next/server/app/api/recovery/route_client-reference-manifest.js +1 -1
  109. package/dist/web/standalone/.next/server/app/api/remote-questions/route.js +2 -2
  110. package/dist/web/standalone/.next/server/app/api/remote-questions/route_client-reference-manifest.js +1 -1
  111. package/dist/web/standalone/.next/server/app/api/session/browser/route.js +1 -1
  112. package/dist/web/standalone/.next/server/app/api/session/browser/route_client-reference-manifest.js +1 -1
  113. package/dist/web/standalone/.next/server/app/api/session/command/route.js +1 -1
  114. package/dist/web/standalone/.next/server/app/api/session/command/route_client-reference-manifest.js +1 -1
  115. package/dist/web/standalone/.next/server/app/api/session/events/route.js +2 -2
  116. package/dist/web/standalone/.next/server/app/api/session/events/route_client-reference-manifest.js +1 -1
  117. package/dist/web/standalone/.next/server/app/api/session/manage/route.js +1 -1
  118. package/dist/web/standalone/.next/server/app/api/session/manage/route_client-reference-manifest.js +1 -1
  119. package/dist/web/standalone/.next/server/app/api/settings-data/route.js +1 -1
  120. package/dist/web/standalone/.next/server/app/api/settings-data/route_client-reference-manifest.js +1 -1
  121. package/dist/web/standalone/.next/server/app/api/shutdown/route.js +1 -1
  122. package/dist/web/standalone/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  123. package/dist/web/standalone/.next/server/app/api/skill-health/route.js +1 -1
  124. package/dist/web/standalone/.next/server/app/api/skill-health/route_client-reference-manifest.js +1 -1
  125. package/dist/web/standalone/.next/server/app/api/steer/route.js +1 -1
  126. package/dist/web/standalone/.next/server/app/api/steer/route_client-reference-manifest.js +1 -1
  127. package/dist/web/standalone/.next/server/app/api/switch-root/route.js +1 -1
  128. package/dist/web/standalone/.next/server/app/api/switch-root/route_client-reference-manifest.js +1 -1
  129. package/dist/web/standalone/.next/server/app/api/terminal/input/route.js +2 -2
  130. package/dist/web/standalone/.next/server/app/api/terminal/input/route_client-reference-manifest.js +1 -1
  131. package/dist/web/standalone/.next/server/app/api/terminal/resize/route.js +2 -2
  132. package/dist/web/standalone/.next/server/app/api/terminal/resize/route_client-reference-manifest.js +1 -1
  133. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js +2 -2
  134. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route_client-reference-manifest.js +1 -1
  135. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js +4 -4
  136. package/dist/web/standalone/.next/server/app/api/terminal/stream/route_client-reference-manifest.js +1 -1
  137. package/dist/web/standalone/.next/server/app/api/terminal/upload/route.js +1 -1
  138. package/dist/web/standalone/.next/server/app/api/terminal/upload/route_client-reference-manifest.js +1 -1
  139. package/dist/web/standalone/.next/server/app/api/undo/route.js +1 -1
  140. package/dist/web/standalone/.next/server/app/api/undo/route_client-reference-manifest.js +1 -1
  141. package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
  142. package/dist/web/standalone/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  143. package/dist/web/standalone/.next/server/app/api/visualizer/route.js +1 -1
  144. package/dist/web/standalone/.next/server/app/api/visualizer/route_client-reference-manifest.js +1 -1
  145. package/dist/web/standalone/.next/server/app/index.html +1 -1
  146. package/dist/web/standalone/.next/server/app/index.rsc +4 -4
  147. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  148. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +4 -4
  149. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  150. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  151. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  152. package/dist/web/standalone/.next/server/app/page.js +2 -2
  153. package/dist/web/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  154. package/dist/web/standalone/.next/server/app-paths-manifest.json +12 -12
  155. package/dist/web/standalone/.next/server/chunks/2331.js +16 -16
  156. package/dist/web/standalone/.next/server/chunks/4741.js +12 -12
  157. package/dist/web/standalone/.next/server/chunks/5822.js +2 -2
  158. package/dist/web/standalone/.next/server/chunks/63.js +8 -8
  159. package/dist/web/standalone/.next/server/chunks/6897.js +3 -3
  160. package/dist/web/standalone/.next/server/edge-runtime-webpack.js +2 -0
  161. package/dist/web/standalone/.next/server/functions-config-manifest.json +0 -9
  162. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  163. package/dist/web/standalone/.next/server/middleware-manifest.json +29 -2
  164. package/dist/web/standalone/.next/server/middleware.js +4 -12
  165. package/dist/web/standalone/.next/server/next-font-manifest.js +1 -1
  166. package/dist/web/standalone/.next/server/next-font-manifest.json +1 -1
  167. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  168. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  169. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  170. package/dist/web/standalone/.next/server/webpack-runtime.js +1 -1
  171. package/dist/web/standalone/.next/static/chunks/app/_not-found/{page-f2a7482d42a5614b.js → page-2f24283c162b6ab3.js} +1 -1
  172. package/dist/web/standalone/.next/static/chunks/app/{layout-a16c7a7ecdf0c2cf.js → layout-9ecfd95f343793f0.js} +1 -1
  173. package/dist/web/standalone/.next/static/chunks/app/page-7115e62689b5fd84.js +1 -0
  174. package/dist/web/standalone/.next/static/chunks/main-app-d3d4c336195465f9.js +1 -0
  175. package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-ab5a8926e07ec673.js +1 -0
  176. package/dist/web/standalone/node_modules/node-pty/build/Makefile +2 -2
  177. package/dist/web/standalone/node_modules/node-pty/build/Release/pty.node +0 -0
  178. package/dist/web/standalone/node_modules/node-pty/build/pty.target.mk +14 -14
  179. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api.target.mk +14 -14
  180. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_except.target.mk +14 -14
  181. package/dist/web/standalone/node_modules/node-pty/node-addon-api/node_addon_api_maybe.target.mk +14 -14
  182. package/dist/web/standalone/server.js +1 -1
  183. package/package.json +1 -1
  184. package/packages/pi-ai/dist/env-api-keys.js +1 -0
  185. package/packages/pi-ai/dist/env-api-keys.js.map +1 -1
  186. package/packages/pi-ai/dist/models.custom.d.ts +105 -0
  187. package/packages/pi-ai/dist/models.custom.d.ts.map +1 -1
  188. package/packages/pi-ai/dist/models.custom.js +97 -0
  189. package/packages/pi-ai/dist/models.custom.js.map +1 -1
  190. package/packages/pi-ai/dist/models.generated.d.ts +648 -140
  191. package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
  192. package/packages/pi-ai/dist/models.generated.js +867 -370
  193. package/packages/pi-ai/dist/models.generated.js.map +1 -1
  194. package/packages/pi-ai/dist/models.generated.test.d.ts +2 -0
  195. package/packages/pi-ai/dist/models.generated.test.d.ts.map +1 -0
  196. package/packages/pi-ai/dist/models.generated.test.js +334 -0
  197. package/packages/pi-ai/dist/models.generated.test.js.map +1 -0
  198. package/packages/pi-ai/dist/models.test.js +105 -0
  199. package/packages/pi-ai/dist/models.test.js.map +1 -1
  200. package/packages/pi-ai/dist/types.d.ts +1 -1
  201. package/packages/pi-ai/dist/types.d.ts.map +1 -1
  202. package/packages/pi-ai/dist/types.js.map +1 -1
  203. package/packages/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  204. package/packages/pi-ai/dist/utils/oauth/github-copilot.js +5 -1
  205. package/packages/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  206. package/packages/pi-ai/dist/utils/oauth/github-copilot.test.d.ts +2 -0
  207. package/packages/pi-ai/dist/utils/oauth/github-copilot.test.d.ts.map +1 -0
  208. package/packages/pi-ai/dist/utils/oauth/github-copilot.test.js +57 -0
  209. package/packages/pi-ai/dist/utils/oauth/github-copilot.test.js.map +1 -0
  210. package/packages/pi-ai/src/env-api-keys.ts +1 -0
  211. package/packages/pi-ai/src/models.custom.ts +98 -0
  212. package/packages/pi-ai/src/models.generated.test.ts +373 -0
  213. package/packages/pi-ai/src/models.generated.ts +867 -370
  214. package/packages/pi-ai/src/models.test.ts +135 -0
  215. package/packages/pi-ai/src/types.ts +1 -0
  216. package/packages/pi-ai/src/utils/oauth/github-copilot.test.ts +71 -0
  217. package/packages/pi-ai/src/utils/oauth/github-copilot.ts +4 -1
  218. package/packages/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  219. package/packages/pi-coding-agent/dist/core/model-resolver.js +1 -0
  220. package/packages/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  221. package/packages/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  222. package/packages/pi-coding-agent/dist/core/sdk.js +9 -0
  223. package/packages/pi-coding-agent/dist/core/sdk.js.map +1 -1
  224. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/tool-execution.test.js +36 -0
  225. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/tool-execution.test.js.map +1 -1
  226. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  227. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +87 -12
  228. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  229. package/packages/pi-coding-agent/package.json +1 -1
  230. package/packages/pi-coding-agent/src/core/model-resolver.ts +1 -0
  231. package/packages/pi-coding-agent/src/core/sdk.ts +10 -0
  232. package/packages/pi-coding-agent/src/modes/interactive/components/__tests__/tool-execution.test.ts +72 -0
  233. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +84 -12
  234. package/packages/pi-tui/dist/components/__tests__/editor.test.js +12 -0
  235. package/packages/pi-tui/dist/components/__tests__/editor.test.js.map +1 -1
  236. package/packages/pi-tui/dist/components/__tests__/input.test.js +12 -0
  237. package/packages/pi-tui/dist/components/__tests__/input.test.js.map +1 -1
  238. package/packages/pi-tui/dist/keys.d.ts.map +1 -1
  239. package/packages/pi-tui/dist/keys.js +27 -0
  240. package/packages/pi-tui/dist/keys.js.map +1 -1
  241. package/packages/pi-tui/src/components/__tests__/editor.test.ts +18 -0
  242. package/packages/pi-tui/src/components/__tests__/input.test.ts +18 -0
  243. package/packages/pi-tui/src/keys.ts +32 -0
  244. package/pkg/package.json +1 -1
  245. package/src/resources/extensions/async-jobs/await-tool.test.ts +40 -7
  246. package/src/resources/extensions/async-jobs/await-tool.ts +7 -4
  247. package/src/resources/extensions/async-jobs/job-manager.ts +33 -3
  248. package/src/resources/extensions/claude-code-cli/partial-builder.ts +45 -12
  249. package/src/resources/extensions/claude-code-cli/stream-adapter.ts +49 -24
  250. package/src/resources/extensions/claude-code-cli/tests/partial-builder.test.ts +91 -2
  251. package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +112 -0
  252. package/src/resources/extensions/gsd/auto/loop.ts +89 -1
  253. package/src/resources/extensions/gsd/auto-post-unit.ts +7 -0
  254. package/src/resources/extensions/gsd/auto-recovery.ts +10 -0
  255. package/src/resources/extensions/gsd/auto.ts +25 -20
  256. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +8 -10
  257. package/src/resources/extensions/gsd/commands-handlers.ts +5 -1
  258. package/src/resources/extensions/gsd/context-injector.ts +1 -1
  259. package/src/resources/extensions/gsd/custom-workflow-engine.ts +4 -8
  260. package/src/resources/extensions/gsd/definition-io.ts +18 -0
  261. package/src/resources/extensions/gsd/dispatch-guard.ts +5 -0
  262. package/src/resources/extensions/gsd/doctor-runtime-checks.ts +6 -3
  263. package/src/resources/extensions/gsd/git-service.ts +11 -8
  264. package/src/resources/extensions/gsd/gitignore.ts +12 -6
  265. package/src/resources/extensions/gsd/gsd-db.ts +54 -6
  266. package/src/resources/extensions/gsd/key-manager.ts +2 -0
  267. package/src/resources/extensions/gsd/preferences-skills.ts +2 -36
  268. package/src/resources/extensions/gsd/preferences-types.ts +16 -0
  269. package/src/resources/extensions/gsd/preferences.ts +19 -6
  270. package/src/resources/extensions/gsd/prompt-loader.ts +6 -1
  271. package/src/resources/extensions/gsd/prompts/discuss.md +122 -13
  272. package/src/resources/extensions/gsd/prompts/system.md +1 -1
  273. package/src/resources/extensions/gsd/state.ts +20 -0
  274. package/src/resources/extensions/gsd/tests/auto-paused-ui-cleanup.test.ts +27 -0
  275. package/src/resources/extensions/gsd/tests/block-db-writes.test.ts +63 -0
  276. package/src/resources/extensions/gsd/tests/definition-io.test.ts +57 -0
  277. package/src/resources/extensions/gsd/tests/dispatch-guard.test.ts +26 -0
  278. package/src/resources/extensions/gsd/tests/doctor-heal-fixable-warnings.test.ts +14 -0
  279. package/src/resources/extensions/gsd/tests/false-degraded-mode-warning.test.ts +104 -0
  280. package/src/resources/extensions/gsd/tests/gsd-db.test.ts +107 -5
  281. package/src/resources/extensions/gsd/tests/integration/git-service.test.ts +8 -6
  282. package/src/resources/extensions/gsd/tests/key-manager.test.ts +63 -0
  283. package/src/resources/extensions/gsd/tests/memory-pressure-stuck-state.test.ts +54 -0
  284. package/src/resources/extensions/gsd/tests/plan-milestone-artifact-verification.test.ts +62 -0
  285. package/src/resources/extensions/gsd/tests/post-unit-state-rebuild.test.ts +34 -0
  286. package/src/resources/extensions/gsd/tests/preferences-formatting.test.ts +87 -0
  287. package/src/resources/extensions/gsd/tests/preferences.test.ts +53 -0
  288. package/src/resources/extensions/gsd/tests/projection-regression.test.ts +96 -1
  289. package/src/resources/extensions/gsd/tests/prompt-loader-working-directory.test.ts +19 -0
  290. package/src/resources/extensions/gsd/tests/register-hooks-depth-verification.test.ts +97 -0
  291. package/src/resources/extensions/gsd/tests/stale-slice-rows.test.ts +41 -0
  292. package/src/resources/extensions/gsd/workflow-projections.ts +8 -0
  293. package/src/resources/extensions/gsd/worktree-manager.ts +29 -3
  294. package/src/resources/extensions/gsd/write-intercept.ts +10 -1
  295. package/src/resources/extensions/ollama/index.ts +4 -5
  296. package/src/resources/extensions/ollama/ollama-client.ts +35 -6
  297. package/src/resources/extensions/ollama/ollama-discovery.ts +37 -6
  298. package/src/resources/extensions/ollama/tests/ollama-discovery.test.ts +54 -0
  299. package/dist/resources/extensions/gsd/auto-observability.js +0 -54
  300. package/dist/resources/extensions/gsd/file-watcher.js +0 -80
  301. package/dist/resources/extensions/gsd/rtk-status.js +0 -43
  302. package/dist/web/standalone/.next/static/chunks/app/page-f1e30ab6bb269149.js +0 -1
  303. package/dist/web/standalone/.next/static/chunks/main-app-fdab67f7802d7832.js +0 -1
  304. package/dist/web/standalone/.next/static/chunks/next/dist/client/components/builtin/global-error-459824ffb8c323dd.js +0 -1
  305. package/src/resources/extensions/gsd/auto-observability.ts +0 -72
  306. package/src/resources/extensions/gsd/file-watcher.ts +0 -100
  307. package/src/resources/extensions/gsd/rtk-status.ts +0 -53
  308. /package/dist/web/standalone/.next/static/{f-Gremw0nLxxFUySaHRPw → KSZ2dcC3p4z6lOmUpPpzr}/_buildManifest.js +0 -0
  309. /package/dist/web/standalone/.next/static/{f-Gremw0nLxxFUySaHRPw → KSZ2dcC3p4z6lOmUpPpzr}/_ssgManifest.js +0 -0
@@ -801,6 +801,23 @@ export const MODELS = {
801
801
  contextWindow: 204800,
802
802
  maxTokens: 131072,
803
803
  },
804
+ "minimax.minimax-m2.5": {
805
+ id: "minimax.minimax-m2.5",
806
+ name: "MiniMax M2.5",
807
+ api: "bedrock-converse-stream",
808
+ provider: "amazon-bedrock",
809
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
810
+ reasoning: true,
811
+ input: ["text"],
812
+ cost: {
813
+ input: 0.3,
814
+ output: 1.2,
815
+ cacheRead: 0,
816
+ cacheWrite: 0,
817
+ },
818
+ contextWindow: 196608,
819
+ maxTokens: 98304,
820
+ },
804
821
  "mistral.devstral-2-123b": {
805
822
  id: "mistral.devstral-2-123b",
806
823
  name: "Devstral 2 123B",
@@ -1039,6 +1056,23 @@ export const MODELS = {
1039
1056
  contextWindow: 128000,
1040
1057
  maxTokens: 4096,
1041
1058
  },
1059
+ "nvidia.nemotron-super-3-120b": {
1060
+ id: "nvidia.nemotron-super-3-120b",
1061
+ name: "NVIDIA Nemotron 3 Super 120B A12B",
1062
+ api: "bedrock-converse-stream",
1063
+ provider: "amazon-bedrock",
1064
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1065
+ reasoning: true,
1066
+ input: ["text"],
1067
+ cost: {
1068
+ input: 0.15,
1069
+ output: 0.65,
1070
+ cacheRead: 0,
1071
+ cacheWrite: 0,
1072
+ },
1073
+ contextWindow: 262144,
1074
+ maxTokens: 131072,
1075
+ },
1042
1076
  "openai.gpt-oss-120b-1:0": {
1043
1077
  id: "openai.gpt-oss-120b-1:0",
1044
1078
  name: "gpt-oss-120b",
@@ -1175,6 +1209,23 @@ export const MODELS = {
1175
1209
  contextWindow: 131072,
1176
1210
  maxTokens: 65536,
1177
1211
  },
1212
+ "qwen.qwen3-coder-next": {
1213
+ id: "qwen.qwen3-coder-next",
1214
+ name: "Qwen3 Coder Next",
1215
+ api: "bedrock-converse-stream",
1216
+ provider: "amazon-bedrock",
1217
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1218
+ reasoning: true,
1219
+ input: ["text"],
1220
+ cost: {
1221
+ input: 0.22,
1222
+ output: 1.8,
1223
+ cacheRead: 0,
1224
+ cacheWrite: 0,
1225
+ },
1226
+ contextWindow: 131072,
1227
+ maxTokens: 65536,
1228
+ },
1178
1229
  "qwen.qwen3-next-80b-a3b": {
1179
1230
  id: "qwen.qwen3-next-80b-a3b",
1180
1231
  name: "Qwen/Qwen3-Next-80B-A3B-Instruct",
@@ -1413,6 +1464,23 @@ export const MODELS = {
1413
1464
  contextWindow: 200000,
1414
1465
  maxTokens: 131072,
1415
1466
  },
1467
+ "zai.glm-5": {
1468
+ id: "zai.glm-5",
1469
+ name: "GLM-5",
1470
+ api: "bedrock-converse-stream",
1471
+ provider: "amazon-bedrock",
1472
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1473
+ reasoning: true,
1474
+ input: ["text"],
1475
+ cost: {
1476
+ input: 1,
1477
+ output: 3.2,
1478
+ cacheRead: 0,
1479
+ cacheWrite: 0,
1480
+ },
1481
+ contextWindow: 202752,
1482
+ maxTokens: 101376,
1483
+ },
1416
1484
  },
1417
1485
  "anthropic": {
1418
1486
  "claude-3-5-haiku-20241022": {
@@ -1500,23 +1568,6 @@ export const MODELS = {
1500
1568
  contextWindow: 200000,
1501
1569
  maxTokens: 64000,
1502
1570
  },
1503
- "claude-3-7-sonnet-latest": {
1504
- id: "claude-3-7-sonnet-latest",
1505
- name: "Claude Sonnet 3.7 (latest)",
1506
- api: "anthropic-messages",
1507
- provider: "anthropic",
1508
- baseUrl: "https://api.anthropic.com",
1509
- reasoning: true,
1510
- input: ["text", "image"],
1511
- cost: {
1512
- input: 3,
1513
- output: 15,
1514
- cacheRead: 0.3,
1515
- cacheWrite: 3.75,
1516
- },
1517
- contextWindow: 200000,
1518
- maxTokens: 64000,
1519
- },
1520
1571
  "claude-3-haiku-20240307": {
1521
1572
  id: "claude-3-haiku-20240307",
1522
1573
  name: "Claude Haiku 3",
@@ -2250,6 +2301,23 @@ export const MODELS = {
2250
2301
  contextWindow: 400000,
2251
2302
  maxTokens: 128000,
2252
2303
  },
2304
+ "gpt-5.3-chat-latest": {
2305
+ id: "gpt-5.3-chat-latest",
2306
+ name: "GPT-5.3 Chat (latest)",
2307
+ api: "azure-openai-responses",
2308
+ provider: "azure-openai-responses",
2309
+ baseUrl: "",
2310
+ reasoning: false,
2311
+ input: ["text", "image"],
2312
+ cost: {
2313
+ input: 1.75,
2314
+ output: 14,
2315
+ cacheRead: 0.175,
2316
+ cacheWrite: 0,
2317
+ },
2318
+ contextWindow: 128000,
2319
+ maxTokens: 16384,
2320
+ },
2253
2321
  "gpt-5.3-codex": {
2254
2322
  id: "gpt-5.3-codex",
2255
2323
  name: "GPT-5.3 Codex",
@@ -2964,7 +3032,7 @@ export const MODELS = {
2964
3032
  },
2965
3033
  "gpt-5.4-mini": {
2966
3034
  id: "gpt-5.4-mini",
2967
- name: "GPT-5.4 mini",
3035
+ name: "GPT-5.4 Mini",
2968
3036
  api: "openai-responses",
2969
3037
  provider: "github-copilot",
2970
3038
  baseUrl: "https://api.individual.githubcopilot.com",
@@ -3409,6 +3477,57 @@ export const MODELS = {
3409
3477
  contextWindow: 131072,
3410
3478
  maxTokens: 65536,
3411
3479
  },
3480
+ "gemma-3-27b-it": {
3481
+ id: "gemma-3-27b-it",
3482
+ name: "Gemma 3 27B",
3483
+ api: "google-generative-ai",
3484
+ provider: "google",
3485
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta",
3486
+ reasoning: false,
3487
+ input: ["text", "image"],
3488
+ cost: {
3489
+ input: 0,
3490
+ output: 0,
3491
+ cacheRead: 0,
3492
+ cacheWrite: 0,
3493
+ },
3494
+ contextWindow: 131072,
3495
+ maxTokens: 8192,
3496
+ },
3497
+ "gemma-4-26b-it": {
3498
+ id: "gemma-4-26b-it",
3499
+ name: "Gemma 4 26B",
3500
+ api: "google-generative-ai",
3501
+ provider: "google",
3502
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta",
3503
+ reasoning: true,
3504
+ input: ["text", "image"],
3505
+ cost: {
3506
+ input: 0,
3507
+ output: 0,
3508
+ cacheRead: 0,
3509
+ cacheWrite: 0,
3510
+ },
3511
+ contextWindow: 256000,
3512
+ maxTokens: 8192,
3513
+ },
3514
+ "gemma-4-31b-it": {
3515
+ id: "gemma-4-31b-it",
3516
+ name: "Gemma 4 31B",
3517
+ api: "google-generative-ai",
3518
+ provider: "google",
3519
+ baseUrl: "https://generativelanguage.googleapis.com/v1beta",
3520
+ reasoning: true,
3521
+ input: ["text", "image"],
3522
+ cost: {
3523
+ input: 0,
3524
+ output: 0,
3525
+ cacheRead: 0,
3526
+ cacheWrite: 0,
3527
+ },
3528
+ contextWindow: 256000,
3529
+ maxTokens: 8192,
3530
+ },
3412
3531
  },
3413
3532
  "google-antigravity": {
3414
3533
  "claude-opus-4-5-thinking": {
@@ -3910,6 +4029,40 @@ export const MODELS = {
3910
4029
  contextWindow: 8192,
3911
4030
  maxTokens: 8192,
3912
4031
  },
4032
+ "groq/compound": {
4033
+ id: "groq/compound",
4034
+ name: "Compound",
4035
+ api: "openai-completions",
4036
+ provider: "groq",
4037
+ baseUrl: "https://api.groq.com/openai/v1",
4038
+ reasoning: true,
4039
+ input: ["text"],
4040
+ cost: {
4041
+ input: 0,
4042
+ output: 0,
4043
+ cacheRead: 0,
4044
+ cacheWrite: 0,
4045
+ },
4046
+ contextWindow: 131072,
4047
+ maxTokens: 8192,
4048
+ },
4049
+ "groq/compound-mini": {
4050
+ id: "groq/compound-mini",
4051
+ name: "Compound Mini",
4052
+ api: "openai-completions",
4053
+ provider: "groq",
4054
+ baseUrl: "https://api.groq.com/openai/v1",
4055
+ reasoning: true,
4056
+ input: ["text"],
4057
+ cost: {
4058
+ input: 0,
4059
+ output: 0,
4060
+ cacheRead: 0,
4061
+ cacheWrite: 0,
4062
+ },
4063
+ contextWindow: 131072,
4064
+ maxTokens: 8192,
4065
+ },
3913
4066
  "llama-3.1-8b-instant": {
3914
4067
  id: "llama-3.1-8b-instant",
3915
4068
  name: "Llama 3.1 8B Instant",
@@ -4097,6 +4250,23 @@ export const MODELS = {
4097
4250
  contextWindow: 131072,
4098
4251
  maxTokens: 65536,
4099
4252
  },
4253
+ "openai/gpt-oss-safeguard-20b": {
4254
+ id: "openai/gpt-oss-safeguard-20b",
4255
+ name: "Safety GPT OSS 20B",
4256
+ api: "openai-completions",
4257
+ provider: "groq",
4258
+ baseUrl: "https://api.groq.com/openai/v1",
4259
+ reasoning: true,
4260
+ input: ["text"],
4261
+ cost: {
4262
+ input: 0.075,
4263
+ output: 0.3,
4264
+ cacheRead: 0.037,
4265
+ cacheWrite: 0,
4266
+ },
4267
+ contextWindow: 131072,
4268
+ maxTokens: 65536,
4269
+ },
4100
4270
  "qwen-qwq-32b": {
4101
4271
  id: "qwen-qwq-32b",
4102
4272
  name: "Qwen QwQ 32B",
@@ -4129,7 +4299,7 @@ export const MODELS = {
4129
4299
  cacheWrite: 0,
4130
4300
  },
4131
4301
  contextWindow: 131072,
4132
- maxTokens: 16384,
4302
+ maxTokens: 40960,
4133
4303
  },
4134
4304
  },
4135
4305
  "huggingface": {
@@ -4457,6 +4627,24 @@ export const MODELS = {
4457
4627
  contextWindow: 202752,
4458
4628
  maxTokens: 131072,
4459
4629
  },
4630
+ "zai-org/GLM-5.1": {
4631
+ id: "zai-org/GLM-5.1",
4632
+ name: "GLM-5.1",
4633
+ api: "openai-completions",
4634
+ provider: "huggingface",
4635
+ baseUrl: "https://router.huggingface.co/v1",
4636
+ compat: { "supportsDeveloperRole": false },
4637
+ reasoning: true,
4638
+ input: ["text"],
4639
+ cost: {
4640
+ input: 1,
4641
+ output: 3.2,
4642
+ cacheRead: 0.2,
4643
+ cacheWrite: 0,
4644
+ },
4645
+ contextWindow: 202752,
4646
+ maxTokens: 131072,
4647
+ },
4460
4648
  },
4461
4649
  "kimi-coding": {
4462
4650
  "k2p5": {
@@ -5026,22 +5214,39 @@ export const MODELS = {
5026
5214
  contextWindow: 128000,
5027
5215
  maxTokens: 16384,
5028
5216
  },
5217
+ "mistral-small-2603": {
5218
+ id: "mistral-small-2603",
5219
+ name: "Mistral Small 4",
5220
+ api: "mistral-conversations",
5221
+ provider: "mistral",
5222
+ baseUrl: "https://api.mistral.ai",
5223
+ reasoning: true,
5224
+ input: ["text", "image"],
5225
+ cost: {
5226
+ input: 0.15,
5227
+ output: 0.6,
5228
+ cacheRead: 0,
5229
+ cacheWrite: 0,
5230
+ },
5231
+ contextWindow: 256000,
5232
+ maxTokens: 256000,
5233
+ },
5029
5234
  "mistral-small-latest": {
5030
5235
  id: "mistral-small-latest",
5031
5236
  name: "Mistral Small (latest)",
5032
5237
  api: "mistral-conversations",
5033
5238
  provider: "mistral",
5034
5239
  baseUrl: "https://api.mistral.ai",
5035
- reasoning: false,
5240
+ reasoning: true,
5036
5241
  input: ["text", "image"],
5037
5242
  cost: {
5038
- input: 0.1,
5039
- output: 0.3,
5243
+ input: 0.15,
5244
+ output: 0.6,
5040
5245
  cacheRead: 0,
5041
5246
  cacheWrite: 0,
5042
5247
  },
5043
- contextWindow: 128000,
5044
- maxTokens: 16384,
5248
+ contextWindow: 256000,
5249
+ maxTokens: 256000,
5045
5250
  },
5046
5251
  "open-mistral-7b": {
5047
5252
  id: "open-mistral-7b",
@@ -5572,6 +5777,23 @@ export const MODELS = {
5572
5777
  contextWindow: 400000,
5573
5778
  maxTokens: 128000,
5574
5779
  },
5780
+ "gpt-5.3-chat-latest": {
5781
+ id: "gpt-5.3-chat-latest",
5782
+ name: "GPT-5.3 Chat (latest)",
5783
+ api: "openai-responses",
5784
+ provider: "openai",
5785
+ baseUrl: "https://api.openai.com/v1",
5786
+ reasoning: false,
5787
+ input: ["text", "image"],
5788
+ cost: {
5789
+ input: 1.75,
5790
+ output: 14,
5791
+ cacheRead: 0.175,
5792
+ cacheWrite: 0,
5793
+ },
5794
+ contextWindow: 128000,
5795
+ maxTokens: 16384,
5796
+ },
5575
5797
  "gpt-5.3-codex": {
5576
5798
  id: "gpt-5.3-codex",
5577
5799
  name: "GPT-5.3 Codex",
@@ -6154,6 +6376,23 @@ export const MODELS = {
6154
6376
  contextWindow: 204800,
6155
6377
  maxTokens: 131072,
6156
6378
  },
6379
+ "glm-5.1": {
6380
+ id: "glm-5.1",
6381
+ name: "GLM-5.1",
6382
+ api: "openai-completions",
6383
+ provider: "opencode",
6384
+ baseUrl: "https://opencode.ai/zen/v1",
6385
+ reasoning: true,
6386
+ input: ["text"],
6387
+ cost: {
6388
+ input: 1.4,
6389
+ output: 4.4,
6390
+ cacheRead: 0.26,
6391
+ cacheWrite: 0,
6392
+ },
6393
+ contextWindow: 204800,
6394
+ maxTokens: 131072,
6395
+ },
6157
6396
  "gpt-5": {
6158
6397
  id: "gpt-5",
6159
6398
  name: "GPT-5",
@@ -6409,56 +6648,22 @@ export const MODELS = {
6409
6648
  contextWindow: 262144,
6410
6649
  maxTokens: 65536,
6411
6650
  },
6412
- "mimo-v2-omni-free": {
6413
- id: "mimo-v2-omni-free",
6414
- name: "MiMo V2 Omni Free",
6651
+ "minimax-m2.5": {
6652
+ id: "minimax-m2.5",
6653
+ name: "MiniMax M2.5",
6415
6654
  api: "openai-completions",
6416
6655
  provider: "opencode",
6417
6656
  baseUrl: "https://opencode.ai/zen/v1",
6418
6657
  reasoning: true,
6419
- input: ["text", "image"],
6658
+ input: ["text"],
6420
6659
  cost: {
6421
- input: 0,
6422
- output: 0,
6423
- cacheRead: 0,
6660
+ input: 0.3,
6661
+ output: 1.2,
6662
+ cacheRead: 0.06,
6424
6663
  cacheWrite: 0,
6425
6664
  },
6426
- contextWindow: 262144,
6427
- maxTokens: 64000,
6428
- },
6429
- "mimo-v2-pro-free": {
6430
- id: "mimo-v2-pro-free",
6431
- name: "MiMo V2 Pro Free",
6432
- api: "openai-completions",
6433
- provider: "opencode",
6434
- baseUrl: "https://opencode.ai/zen/v1",
6435
- reasoning: true,
6436
- input: ["text"],
6437
- cost: {
6438
- input: 0,
6439
- output: 0,
6440
- cacheRead: 0,
6441
- cacheWrite: 0,
6442
- },
6443
- contextWindow: 1048576,
6444
- maxTokens: 64000,
6445
- },
6446
- "minimax-m2.5": {
6447
- id: "minimax-m2.5",
6448
- name: "MiniMax M2.5",
6449
- api: "openai-completions",
6450
- provider: "opencode",
6451
- baseUrl: "https://opencode.ai/zen/v1",
6452
- reasoning: true,
6453
- input: ["text"],
6454
- cost: {
6455
- input: 0.3,
6456
- output: 1.2,
6457
- cacheRead: 0.06,
6458
- cacheWrite: 0,
6459
- },
6460
- contextWindow: 204800,
6461
- maxTokens: 131072,
6665
+ contextWindow: 204800,
6666
+ maxTokens: 131072,
6462
6667
  },
6463
6668
  "minimax-m2.5-free": {
6464
6669
  id: "minimax-m2.5-free",
@@ -6491,7 +6696,7 @@ export const MODELS = {
6491
6696
  cacheRead: 0,
6492
6697
  cacheWrite: 0,
6493
6698
  },
6494
- contextWindow: 1000000,
6699
+ contextWindow: 204800,
6495
6700
  maxTokens: 128000,
6496
6701
  },
6497
6702
  },
@@ -6513,6 +6718,23 @@ export const MODELS = {
6513
6718
  contextWindow: 204800,
6514
6719
  maxTokens: 131072,
6515
6720
  },
6721
+ "glm-5.1": {
6722
+ id: "glm-5.1",
6723
+ name: "GLM-5.1",
6724
+ api: "openai-completions",
6725
+ provider: "opencode-go",
6726
+ baseUrl: "https://opencode.ai/zen/go/v1",
6727
+ reasoning: true,
6728
+ input: ["text"],
6729
+ cost: {
6730
+ input: 1.4,
6731
+ output: 4.4,
6732
+ cacheRead: 0.26,
6733
+ cacheWrite: 0,
6734
+ },
6735
+ contextWindow: 204800,
6736
+ maxTokens: 131072,
6737
+ },
6516
6738
  "kimi-k2.5": {
6517
6739
  id: "kimi-k2.5",
6518
6740
  name: "Kimi K2.5",
@@ -6530,6 +6752,40 @@ export const MODELS = {
6530
6752
  contextWindow: 262144,
6531
6753
  maxTokens: 65536,
6532
6754
  },
6755
+ "mimo-v2-omni": {
6756
+ id: "mimo-v2-omni",
6757
+ name: "MiMo V2 Omni",
6758
+ api: "openai-completions",
6759
+ provider: "opencode-go",
6760
+ baseUrl: "https://opencode.ai/zen/go/v1",
6761
+ reasoning: true,
6762
+ input: ["text", "image"],
6763
+ cost: {
6764
+ input: 0.4,
6765
+ output: 2,
6766
+ cacheRead: 0.08,
6767
+ cacheWrite: 0,
6768
+ },
6769
+ contextWindow: 262144,
6770
+ maxTokens: 64000,
6771
+ },
6772
+ "mimo-v2-pro": {
6773
+ id: "mimo-v2-pro",
6774
+ name: "MiMo V2 Pro",
6775
+ api: "openai-completions",
6776
+ provider: "opencode-go",
6777
+ baseUrl: "https://opencode.ai/zen/go/v1",
6778
+ reasoning: true,
6779
+ input: ["text"],
6780
+ cost: {
6781
+ input: 1,
6782
+ output: 3,
6783
+ cacheRead: 0.2,
6784
+ cacheWrite: 0,
6785
+ },
6786
+ contextWindow: 1048576,
6787
+ maxTokens: 64000,
6788
+ },
6533
6789
  "minimax-m2.5": {
6534
6790
  id: "minimax-m2.5",
6535
6791
  name: "MiniMax M2.5",
@@ -6736,23 +6992,6 @@ export const MODELS = {
6736
6992
  contextWindow: 200000,
6737
6993
  maxTokens: 8192,
6738
6994
  },
6739
- "anthropic/claude-3.5-sonnet": {
6740
- id: "anthropic/claude-3.5-sonnet",
6741
- name: "Anthropic: Claude 3.5 Sonnet",
6742
- api: "openai-completions",
6743
- provider: "openrouter",
6744
- baseUrl: "https://openrouter.ai/api/v1",
6745
- reasoning: false,
6746
- input: ["text", "image"],
6747
- cost: {
6748
- input: 6,
6749
- output: 30,
6750
- cacheRead: 0.6,
6751
- cacheWrite: 7.5,
6752
- },
6753
- contextWindow: 200000,
6754
- maxTokens: 8192,
6755
- },
6756
6995
  "anthropic/claude-3.7-sonnet": {
6757
6996
  id: "anthropic/claude-3.7-sonnet",
6758
6997
  name: "Anthropic: Claude 3.7 Sonnet",
@@ -6768,7 +7007,7 @@ export const MODELS = {
6768
7007
  cacheWrite: 3.75,
6769
7008
  },
6770
7009
  contextWindow: 200000,
6771
- maxTokens: 64000,
7010
+ maxTokens: 128000,
6772
7011
  },
6773
7012
  "anthropic/claude-3.7-sonnet:thinking": {
6774
7013
  id: "anthropic/claude-3.7-sonnet:thinking",
@@ -6872,6 +7111,23 @@ export const MODELS = {
6872
7111
  contextWindow: 1000000,
6873
7112
  maxTokens: 128000,
6874
7113
  },
7114
+ "anthropic/claude-opus-4.6-fast": {
7115
+ id: "anthropic/claude-opus-4.6-fast",
7116
+ name: "Anthropic: Claude Opus 4.6 (Fast)",
7117
+ api: "openai-completions",
7118
+ provider: "openrouter",
7119
+ baseUrl: "https://openrouter.ai/api/v1",
7120
+ reasoning: true,
7121
+ input: ["text", "image"],
7122
+ cost: {
7123
+ input: 30,
7124
+ output: 150,
7125
+ cacheRead: 3,
7126
+ cacheWrite: 37.5,
7127
+ },
7128
+ contextWindow: 1000000,
7129
+ maxTokens: 128000,
7130
+ },
6875
7131
  "anthropic/claude-sonnet-4": {
6876
7132
  id: "anthropic/claude-sonnet-4",
6877
7133
  name: "Anthropic: Claude Sonnet 4",
@@ -6886,7 +7142,7 @@ export const MODELS = {
6886
7142
  cacheRead: 0.3,
6887
7143
  cacheWrite: 3.75,
6888
7144
  },
6889
- contextWindow: 200000,
7145
+ contextWindow: 1000000,
6890
7146
  maxTokens: 64000,
6891
7147
  },
6892
7148
  "anthropic/claude-sonnet-4.5": {
@@ -6940,39 +7196,39 @@ export const MODELS = {
6940
7196
  contextWindow: 131000,
6941
7197
  maxTokens: 4096,
6942
7198
  },
6943
- "arcee-ai/trinity-mini": {
6944
- id: "arcee-ai/trinity-mini",
6945
- name: "Arcee AI: Trinity Mini",
7199
+ "arcee-ai/trinity-large-thinking": {
7200
+ id: "arcee-ai/trinity-large-thinking",
7201
+ name: "Arcee AI: Trinity Large Thinking",
6946
7202
  api: "openai-completions",
6947
7203
  provider: "openrouter",
6948
7204
  baseUrl: "https://openrouter.ai/api/v1",
6949
7205
  reasoning: true,
6950
7206
  input: ["text"],
6951
7207
  cost: {
6952
- input: 0.045,
6953
- output: 0.15,
7208
+ input: 0.22,
7209
+ output: 0.85,
6954
7210
  cacheRead: 0,
6955
7211
  cacheWrite: 0,
6956
7212
  },
6957
- contextWindow: 131072,
6958
- maxTokens: 131072,
7213
+ contextWindow: 262144,
7214
+ maxTokens: 262144,
6959
7215
  },
6960
- "arcee-ai/trinity-mini:free": {
6961
- id: "arcee-ai/trinity-mini:free",
6962
- name: "Arcee AI: Trinity Mini (free)",
7216
+ "arcee-ai/trinity-mini": {
7217
+ id: "arcee-ai/trinity-mini",
7218
+ name: "Arcee AI: Trinity Mini",
6963
7219
  api: "openai-completions",
6964
7220
  provider: "openrouter",
6965
7221
  baseUrl: "https://openrouter.ai/api/v1",
6966
7222
  reasoning: true,
6967
7223
  input: ["text"],
6968
7224
  cost: {
6969
- input: 0,
6970
- output: 0,
7225
+ input: 0.045,
7226
+ output: 0.15,
6971
7227
  cacheRead: 0,
6972
7228
  cacheWrite: 0,
6973
7229
  },
6974
7230
  contextWindow: 131072,
6975
- maxTokens: 4096,
7231
+ maxTokens: 131072,
6976
7232
  },
6977
7233
  "arcee-ai/virtuoso-large": {
6978
7234
  id: "arcee-ai/virtuoso-large",
@@ -7221,13 +7477,13 @@ export const MODELS = {
7221
7477
  reasoning: true,
7222
7478
  input: ["text"],
7223
7479
  cost: {
7224
- input: 0.44999999999999996,
7480
+ input: 0.5,
7225
7481
  output: 2.1500000000000004,
7226
- cacheRead: 0.22499999999999998,
7482
+ cacheRead: 0.35,
7227
7483
  cacheWrite: 0,
7228
7484
  },
7229
7485
  contextWindow: 163840,
7230
- maxTokens: 65536,
7486
+ maxTokens: 4096,
7231
7487
  },
7232
7488
  "deepseek/deepseek-v3.1-terminus": {
7233
7489
  id: "deepseek/deepseek-v3.1-terminus",
@@ -7380,7 +7636,7 @@ export const MODELS = {
7380
7636
  cacheWrite: 0.08333333333333334,
7381
7637
  },
7382
7638
  contextWindow: 1048576,
7383
- maxTokens: 65536,
7639
+ maxTokens: 65535,
7384
7640
  },
7385
7641
  "google/gemini-2.5-pro": {
7386
7642
  id: "google/gemini-2.5-pro",
@@ -7450,23 +7706,6 @@ export const MODELS = {
7450
7706
  contextWindow: 1048576,
7451
7707
  maxTokens: 65536,
7452
7708
  },
7453
- "google/gemini-3-pro-preview": {
7454
- id: "google/gemini-3-pro-preview",
7455
- name: "Google: Gemini 3 Pro Preview",
7456
- api: "openai-completions",
7457
- provider: "openrouter",
7458
- baseUrl: "https://openrouter.ai/api/v1",
7459
- reasoning: true,
7460
- input: ["text", "image"],
7461
- cost: {
7462
- input: 2,
7463
- output: 12,
7464
- cacheRead: 0.19999999999999998,
7465
- cacheWrite: 0.375,
7466
- },
7467
- contextWindow: 1048576,
7468
- maxTokens: 65536,
7469
- },
7470
7709
  "google/gemini-3.1-flash-lite-preview": {
7471
7710
  id: "google/gemini-3.1-flash-lite-preview",
7472
7711
  name: "Google: Gemini 3.1 Flash Lite Preview",
@@ -7518,6 +7757,74 @@ export const MODELS = {
7518
7757
  contextWindow: 1048576,
7519
7758
  maxTokens: 65536,
7520
7759
  },
7760
+ "google/gemma-4-26b-a4b-it": {
7761
+ id: "google/gemma-4-26b-a4b-it",
7762
+ name: "Google: Gemma 4 26B A4B ",
7763
+ api: "openai-completions",
7764
+ provider: "openrouter",
7765
+ baseUrl: "https://openrouter.ai/api/v1",
7766
+ reasoning: true,
7767
+ input: ["text", "image"],
7768
+ cost: {
7769
+ input: 0.12,
7770
+ output: 0.39999999999999997,
7771
+ cacheRead: 0,
7772
+ cacheWrite: 0,
7773
+ },
7774
+ contextWindow: 262144,
7775
+ maxTokens: 262144,
7776
+ },
7777
+ "google/gemma-4-26b-a4b-it:free": {
7778
+ id: "google/gemma-4-26b-a4b-it:free",
7779
+ name: "Google: Gemma 4 26B A4B (free)",
7780
+ api: "openai-completions",
7781
+ provider: "openrouter",
7782
+ baseUrl: "https://openrouter.ai/api/v1",
7783
+ reasoning: true,
7784
+ input: ["text", "image"],
7785
+ cost: {
7786
+ input: 0,
7787
+ output: 0,
7788
+ cacheRead: 0,
7789
+ cacheWrite: 0,
7790
+ },
7791
+ contextWindow: 262144,
7792
+ maxTokens: 32768,
7793
+ },
7794
+ "google/gemma-4-31b-it": {
7795
+ id: "google/gemma-4-31b-it",
7796
+ name: "Google: Gemma 4 31B",
7797
+ api: "openai-completions",
7798
+ provider: "openrouter",
7799
+ baseUrl: "https://openrouter.ai/api/v1",
7800
+ reasoning: true,
7801
+ input: ["text", "image"],
7802
+ cost: {
7803
+ input: 0.14,
7804
+ output: 0.39999999999999997,
7805
+ cacheRead: 0,
7806
+ cacheWrite: 0,
7807
+ },
7808
+ contextWindow: 262144,
7809
+ maxTokens: 131072,
7810
+ },
7811
+ "google/gemma-4-31b-it:free": {
7812
+ id: "google/gemma-4-31b-it:free",
7813
+ name: "Google: Gemma 4 31B (free)",
7814
+ api: "openai-completions",
7815
+ provider: "openrouter",
7816
+ baseUrl: "https://openrouter.ai/api/v1",
7817
+ reasoning: true,
7818
+ input: ["text", "image"],
7819
+ cost: {
7820
+ input: 0,
7821
+ output: 0,
7822
+ cacheRead: 0,
7823
+ cacheWrite: 0,
7824
+ },
7825
+ contextWindow: 262144,
7826
+ maxTokens: 32768,
7827
+ },
7521
7828
  "inception/mercury": {
7522
7829
  id: "inception/mercury",
7523
7830
  name: "Inception: Mercury",
@@ -7569,22 +7876,22 @@ export const MODELS = {
7569
7876
  contextWindow: 128000,
7570
7877
  maxTokens: 32000,
7571
7878
  },
7572
- "kwaipilot/kat-coder-pro": {
7573
- id: "kwaipilot/kat-coder-pro",
7574
- name: "Kwaipilot: KAT-Coder-Pro V1",
7879
+ "kwaipilot/kat-coder-pro-v2": {
7880
+ id: "kwaipilot/kat-coder-pro-v2",
7881
+ name: "Kwaipilot: KAT-Coder-Pro V2",
7575
7882
  api: "openai-completions",
7576
7883
  provider: "openrouter",
7577
7884
  baseUrl: "https://openrouter.ai/api/v1",
7578
7885
  reasoning: false,
7579
7886
  input: ["text"],
7580
7887
  cost: {
7581
- input: 0.207,
7582
- output: 0.828,
7583
- cacheRead: 0.0414,
7888
+ input: 0.3,
7889
+ output: 1.2,
7890
+ cacheRead: 0.06,
7584
7891
  cacheWrite: 0,
7585
7892
  },
7586
7893
  contextWindow: 256000,
7587
- maxTokens: 128000,
7894
+ maxTokens: 80000,
7588
7895
  },
7589
7896
  "meituan/longcat-flash-chat": {
7590
7897
  id: "meituan/longcat-flash-chat",
@@ -7765,13 +8072,13 @@ export const MODELS = {
7765
8072
  reasoning: true,
7766
8073
  input: ["text"],
7767
8074
  cost: {
7768
- input: 0.27,
8075
+ input: 0.29,
7769
8076
  output: 0.95,
7770
- cacheRead: 0.0290000007,
8077
+ cacheRead: 0.03,
7771
8078
  cacheWrite: 0,
7772
8079
  },
7773
8080
  contextWindow: 196608,
7774
- maxTokens: 4096,
8081
+ maxTokens: 196608,
7775
8082
  },
7776
8083
  "minimax/minimax-m2.5": {
7777
8084
  id: "minimax/minimax-m2.5",
@@ -7782,9 +8089,9 @@ export const MODELS = {
7782
8089
  reasoning: true,
7783
8090
  input: ["text"],
7784
8091
  cost: {
7785
- input: 0.19999999999999998,
7786
- output: 1.17,
7787
- cacheRead: 0.09999999999999999,
8092
+ input: 0.118,
8093
+ output: 0.9900000000000001,
8094
+ cacheRead: 0.059,
7788
8095
  cacheWrite: 0,
7789
8096
  },
7790
8097
  contextWindow: 196608,
@@ -7805,7 +8112,7 @@ export const MODELS = {
7805
8112
  cacheWrite: 0,
7806
8113
  },
7807
8114
  contextWindow: 196608,
7808
- maxTokens: 196608,
8115
+ maxTokens: 8192,
7809
8116
  },
7810
8117
  "minimax/minimax-m2.7": {
7811
8118
  id: "minimax/minimax-m2.7",
@@ -7818,11 +8125,11 @@ export const MODELS = {
7818
8125
  cost: {
7819
8126
  input: 0.3,
7820
8127
  output: 1.2,
7821
- cacheRead: 0.06,
8128
+ cacheRead: 0.059,
7822
8129
  cacheWrite: 0,
7823
8130
  },
7824
- contextWindow: 204800,
7825
- maxTokens: 131072,
8131
+ contextWindow: 196608,
8132
+ maxTokens: 4096,
7826
8133
  },
7827
8134
  "mistralai/codestral-2508": {
7828
8135
  id: "mistralai/codestral-2508",
@@ -8079,23 +8386,6 @@ export const MODELS = {
8079
8386
  contextWindow: 32768,
8080
8387
  maxTokens: 4096,
8081
8388
  },
8082
- "mistralai/mistral-small-24b-instruct-2501": {
8083
- id: "mistralai/mistral-small-24b-instruct-2501",
8084
- name: "Mistral: Mistral Small 3",
8085
- api: "openai-completions",
8086
- provider: "openrouter",
8087
- baseUrl: "https://openrouter.ai/api/v1",
8088
- reasoning: false,
8089
- input: ["text"],
8090
- cost: {
8091
- input: 0.049999999999999996,
8092
- output: 0.08,
8093
- cacheRead: 0,
8094
- cacheWrite: 0,
8095
- },
8096
- contextWindow: 32768,
8097
- maxTokens: 16384,
8098
- },
8099
8389
  "mistralai/mistral-small-2603": {
8100
8390
  id: "mistralai/mistral-small-2603",
8101
8391
  name: "Mistral: Mistral Small 4",
@@ -8113,23 +8403,6 @@ export const MODELS = {
8113
8403
  contextWindow: 262144,
8114
8404
  maxTokens: 4096,
8115
8405
  },
8116
- "mistralai/mistral-small-3.1-24b-instruct:free": {
8117
- id: "mistralai/mistral-small-3.1-24b-instruct:free",
8118
- name: "Mistral: Mistral Small 3.1 24B (free)",
8119
- api: "openai-completions",
8120
- provider: "openrouter",
8121
- baseUrl: "https://openrouter.ai/api/v1",
8122
- reasoning: false,
8123
- input: ["text", "image"],
8124
- cost: {
8125
- input: 0,
8126
- output: 0,
8127
- cacheRead: 0,
8128
- cacheWrite: 0,
8129
- },
8130
- contextWindow: 128000,
8131
- maxTokens: 4096,
8132
- },
8133
8406
  "mistralai/mistral-small-3.2-24b-instruct": {
8134
8407
  id: "mistralai/mistral-small-3.2-24b-instruct",
8135
8408
  name: "Mistral: Mistral Small 3.2 24B",
@@ -8241,13 +8514,13 @@ export const MODELS = {
8241
8514
  reasoning: false,
8242
8515
  input: ["text"],
8243
8516
  cost: {
8244
- input: 0.55,
8245
- output: 2.2,
8517
+ input: 0.5700000000000001,
8518
+ output: 2.3,
8246
8519
  cacheRead: 0,
8247
8520
  cacheWrite: 0,
8248
8521
  },
8249
- contextWindow: 131000,
8250
- maxTokens: 4096,
8522
+ contextWindow: 131072,
8523
+ maxTokens: 131072,
8251
8524
  },
8252
8525
  "moonshotai/kimi-k2-0905": {
8253
8526
  id: "moonshotai/kimi-k2-0905",
@@ -8260,11 +8533,11 @@ export const MODELS = {
8260
8533
  cost: {
8261
8534
  input: 0.39999999999999997,
8262
8535
  output: 2,
8263
- cacheRead: 0.15,
8536
+ cacheRead: 0,
8264
8537
  cacheWrite: 0,
8265
8538
  },
8266
- contextWindow: 131072,
8267
- maxTokens: 4096,
8539
+ contextWindow: 262144,
8540
+ maxTokens: 262144,
8268
8541
  },
8269
8542
  "moonshotai/kimi-k2-thinking": {
8270
8543
  id: "moonshotai/kimi-k2-thinking",
@@ -8275,12 +8548,12 @@ export const MODELS = {
8275
8548
  reasoning: true,
8276
8549
  input: ["text"],
8277
8550
  cost: {
8278
- input: 0.47,
8279
- output: 2,
8280
- cacheRead: 0.14100000000000001,
8551
+ input: 0.6,
8552
+ output: 2.5,
8553
+ cacheRead: 0,
8281
8554
  cacheWrite: 0,
8282
8555
  },
8283
- contextWindow: 131072,
8556
+ contextWindow: 262144,
8284
8557
  maxTokens: 4096,
8285
8558
  },
8286
8559
  "moonshotai/kimi-k2.5": {
@@ -8309,8 +8582,8 @@ export const MODELS = {
8309
8582
  reasoning: false,
8310
8583
  input: ["text"],
8311
8584
  cost: {
8312
- input: 0.27,
8313
- output: 1,
8585
+ input: 0.135,
8586
+ output: 0.5,
8314
8587
  cacheRead: 0,
8315
8588
  cacheWrite: 0,
8316
8589
  },
@@ -8396,7 +8669,7 @@ export const MODELS = {
8396
8669
  cost: {
8397
8670
  input: 0.09999999999999999,
8398
8671
  output: 0.5,
8399
- cacheRead: 0.04,
8672
+ cacheRead: 0.09999999999999999,
8400
8673
  cacheWrite: 0,
8401
8674
  },
8402
8675
  contextWindow: 262144,
@@ -8621,7 +8894,7 @@ export const MODELS = {
8621
8894
  cacheWrite: 0,
8622
8895
  },
8623
8896
  contextWindow: 1047576,
8624
- maxTokens: 32768,
8897
+ maxTokens: 4096,
8625
8898
  },
8626
8899
  "openai/gpt-4.1-mini": {
8627
8900
  id: "openai/gpt-4.1-mini",
@@ -8668,7 +8941,7 @@ export const MODELS = {
8668
8941
  cost: {
8669
8942
  input: 2.5,
8670
8943
  output: 10,
8671
- cacheRead: 1.25,
8944
+ cacheRead: 0,
8672
8945
  cacheWrite: 0,
8673
8946
  },
8674
8947
  contextWindow: 128000,
@@ -8889,11 +9162,11 @@ export const MODELS = {
8889
9162
  cost: {
8890
9163
  input: 0.049999999999999996,
8891
9164
  output: 0.39999999999999997,
8892
- cacheRead: 0.005,
9165
+ cacheRead: 0.01,
8893
9166
  cacheWrite: 0,
8894
9167
  },
8895
9168
  contextWindow: 400000,
8896
- maxTokens: 128000,
9169
+ maxTokens: 4096,
8897
9170
  },
8898
9171
  "openai/gpt-5-pro": {
8899
9172
  id: "openai/gpt-5-pro",
@@ -8923,7 +9196,7 @@ export const MODELS = {
8923
9196
  cost: {
8924
9197
  input: 1.25,
8925
9198
  output: 10,
8926
- cacheRead: 0.125,
9199
+ cacheRead: 0.13,
8927
9200
  cacheWrite: 0,
8928
9201
  },
8929
9202
  contextWindow: 400000,
@@ -8991,11 +9264,11 @@ export const MODELS = {
8991
9264
  cost: {
8992
9265
  input: 0.25,
8993
9266
  output: 2,
8994
- cacheRead: 0.024999999999999998,
9267
+ cacheRead: 0.03,
8995
9268
  cacheWrite: 0,
8996
9269
  },
8997
9270
  contextWindow: 400000,
8998
- maxTokens: 100000,
9271
+ maxTokens: 128000,
8999
9272
  },
9000
9273
  "openai/gpt-5.2": {
9001
9274
  id: "openai/gpt-5.2",
@@ -9029,7 +9302,7 @@ export const MODELS = {
9029
9302
  cacheWrite: 0,
9030
9303
  },
9031
9304
  contextWindow: 128000,
9032
- maxTokens: 16384,
9305
+ maxTokens: 32000,
9033
9306
  },
9034
9307
  "openai/gpt-5.2-codex": {
9035
9308
  id: "openai/gpt-5.2-codex",
@@ -9167,6 +9440,40 @@ export const MODELS = {
9167
9440
  contextWindow: 1050000,
9168
9441
  maxTokens: 128000,
9169
9442
  },
9443
+ "openai/gpt-audio": {
9444
+ id: "openai/gpt-audio",
9445
+ name: "OpenAI: GPT Audio",
9446
+ api: "openai-completions",
9447
+ provider: "openrouter",
9448
+ baseUrl: "https://openrouter.ai/api/v1",
9449
+ reasoning: false,
9450
+ input: ["text"],
9451
+ cost: {
9452
+ input: 2.5,
9453
+ output: 10,
9454
+ cacheRead: 0,
9455
+ cacheWrite: 0,
9456
+ },
9457
+ contextWindow: 128000,
9458
+ maxTokens: 16384,
9459
+ },
9460
+ "openai/gpt-audio-mini": {
9461
+ id: "openai/gpt-audio-mini",
9462
+ name: "OpenAI: GPT Audio Mini",
9463
+ api: "openai-completions",
9464
+ provider: "openrouter",
9465
+ baseUrl: "https://openrouter.ai/api/v1",
9466
+ reasoning: false,
9467
+ input: ["text"],
9468
+ cost: {
9469
+ input: 0.6,
9470
+ output: 2.4,
9471
+ cacheRead: 0,
9472
+ cacheWrite: 0,
9473
+ },
9474
+ contextWindow: 128000,
9475
+ maxTokens: 16384,
9476
+ },
9170
9477
  "openai/gpt-oss-120b": {
9171
9478
  id: "openai/gpt-oss-120b",
9172
9479
  name: "OpenAI: gpt-oss-120b",
@@ -9211,12 +9518,12 @@ export const MODELS = {
9211
9518
  input: ["text"],
9212
9519
  cost: {
9213
9520
  input: 0.03,
9214
- output: 0.11,
9215
- cacheRead: 0.015,
9521
+ output: 0.14,
9522
+ cacheRead: 0,
9216
9523
  cacheWrite: 0,
9217
9524
  },
9218
9525
  contextWindow: 131072,
9219
- maxTokens: 131072,
9526
+ maxTokens: 4096,
9220
9527
  },
9221
9528
  "openai/gpt-oss-20b:free": {
9222
9529
  id: "openai/gpt-oss-20b:free",
@@ -9233,7 +9540,7 @@ export const MODELS = {
9233
9540
  cacheWrite: 0,
9234
9541
  },
9235
9542
  contextWindow: 131072,
9236
- maxTokens: 131072,
9543
+ maxTokens: 8192,
9237
9544
  },
9238
9545
  "openai/gpt-oss-safeguard-20b": {
9239
9546
  id: "openai/gpt-oss-safeguard-20b",
@@ -9488,7 +9795,7 @@ export const MODELS = {
9488
9795
  cacheWrite: 0,
9489
9796
  },
9490
9797
  contextWindow: 32768,
9491
- maxTokens: 4096,
9798
+ maxTokens: 32768,
9492
9799
  },
9493
9800
  "qwen/qwen-max": {
9494
9801
  id: "qwen/qwen-max",
@@ -9728,23 +10035,6 @@ export const MODELS = {
9728
10035
  contextWindow: 40960,
9729
10036
  maxTokens: 40960,
9730
10037
  },
9731
- "qwen/qwen3-4b:free": {
9732
- id: "qwen/qwen3-4b:free",
9733
- name: "Qwen: Qwen3 4B (free)",
9734
- api: "openai-completions",
9735
- provider: "openrouter",
9736
- baseUrl: "https://openrouter.ai/api/v1",
9737
- reasoning: true,
9738
- input: ["text"],
9739
- cost: {
9740
- input: 0,
9741
- output: 0,
9742
- cacheRead: 0,
9743
- cacheWrite: 0,
9744
- },
9745
- contextWindow: 40960,
9746
- maxTokens: 4096,
9747
- },
9748
10038
  "qwen/qwen3-8b": {
9749
10039
  id: "qwen/qwen3-8b",
9750
10040
  name: "Qwen: Qwen3 8B",
@@ -9822,13 +10112,13 @@ export const MODELS = {
9822
10112
  reasoning: false,
9823
10113
  input: ["text"],
9824
10114
  cost: {
9825
- input: 0.12,
9826
- output: 0.75,
9827
- cacheRead: 0.06,
10115
+ input: 0.15,
10116
+ output: 0.7999999999999999,
10117
+ cacheRead: 0.12,
9828
10118
  cacheWrite: 0,
9829
10119
  },
9830
10120
  contextWindow: 262144,
9831
- maxTokens: 65536,
10121
+ maxTokens: 262144,
9832
10122
  },
9833
10123
  "qwen/qwen3-coder-plus": {
9834
10124
  id: "qwen/qwen3-coder-plus",
@@ -10151,7 +10441,7 @@ export const MODELS = {
10151
10441
  cacheWrite: 0,
10152
10442
  },
10153
10443
  contextWindow: 256000,
10154
- maxTokens: 4096,
10444
+ maxTokens: 32768,
10155
10445
  },
10156
10446
  "qwen/qwen3.5-flash-02-23": {
10157
10447
  id: "qwen/qwen3.5-flash-02-23",
@@ -10187,6 +10477,23 @@ export const MODELS = {
10187
10477
  contextWindow: 1000000,
10188
10478
  maxTokens: 65536,
10189
10479
  },
10480
+ "qwen/qwen3.6-plus": {
10481
+ id: "qwen/qwen3.6-plus",
10482
+ name: "Qwen: Qwen3.6 Plus",
10483
+ api: "openai-completions",
10484
+ provider: "openrouter",
10485
+ baseUrl: "https://openrouter.ai/api/v1",
10486
+ reasoning: true,
10487
+ input: ["text", "image"],
10488
+ cost: {
10489
+ input: 0.325,
10490
+ output: 1.95,
10491
+ cacheRead: 0,
10492
+ cacheWrite: 0,
10493
+ },
10494
+ contextWindow: 1000000,
10495
+ maxTokens: 65536,
10496
+ },
10190
10497
  "qwen/qwq-32b": {
10191
10498
  id: "qwen/qwq-32b",
10192
10499
  name: "Qwen: QwQ 32B",
@@ -10204,6 +10511,23 @@ export const MODELS = {
10204
10511
  contextWindow: 131072,
10205
10512
  maxTokens: 131072,
10206
10513
  },
10514
+ "rekaai/reka-edge": {
10515
+ id: "rekaai/reka-edge",
10516
+ name: "Reka Edge",
10517
+ api: "openai-completions",
10518
+ provider: "openrouter",
10519
+ baseUrl: "https://openrouter.ai/api/v1",
10520
+ reasoning: false,
10521
+ input: ["text", "image"],
10522
+ cost: {
10523
+ input: 0.09999999999999999,
10524
+ output: 0.09999999999999999,
10525
+ cacheRead: 0,
10526
+ cacheWrite: 0,
10527
+ },
10528
+ contextWindow: 16384,
10529
+ maxTokens: 16384,
10530
+ },
10207
10531
  "relace/relace-search": {
10208
10532
  id: "relace/relace-search",
10209
10533
  name: "Relace: Relace Search",
@@ -10266,28 +10590,11 @@ export const MODELS = {
10266
10590
  cost: {
10267
10591
  input: 0.09999999999999999,
10268
10592
  output: 0.3,
10269
- cacheRead: 0.02,
10270
- cacheWrite: 0,
10271
- },
10272
- contextWindow: 256000,
10273
- maxTokens: 256000,
10274
- },
10275
- "stepfun/step-3.5-flash:free": {
10276
- id: "stepfun/step-3.5-flash:free",
10277
- name: "StepFun: Step 3.5 Flash (free)",
10278
- api: "openai-completions",
10279
- provider: "openrouter",
10280
- baseUrl: "https://openrouter.ai/api/v1",
10281
- reasoning: true,
10282
- input: ["text"],
10283
- cost: {
10284
- input: 0,
10285
- output: 0,
10286
10593
  cacheRead: 0,
10287
10594
  cacheWrite: 0,
10288
10595
  },
10289
- contextWindow: 256000,
10290
- maxTokens: 256000,
10596
+ contextWindow: 262144,
10597
+ maxTokens: 65536,
10291
10598
  },
10292
10599
  "thedrummer/rocinante-12b": {
10293
10600
  id: "thedrummer/rocinante-12b",
@@ -10476,9 +10783,9 @@ export const MODELS = {
10476
10783
  contextWindow: 2000000,
10477
10784
  maxTokens: 30000,
10478
10785
  },
10479
- "x-ai/grok-4.20-beta": {
10480
- id: "x-ai/grok-4.20-beta",
10481
- name: "xAI: Grok 4.20 Beta",
10786
+ "x-ai/grok-4.20": {
10787
+ id: "x-ai/grok-4.20",
10788
+ name: "xAI: Grok 4.20",
10482
10789
  api: "openai-completions",
10483
10790
  provider: "openrouter",
10484
10791
  baseUrl: "https://openrouter.ai/api/v1",
@@ -10740,9 +11047,43 @@ export const MODELS = {
10740
11047
  reasoning: true,
10741
11048
  input: ["text"],
10742
11049
  cost: {
10743
- input: 0.96,
10744
- output: 3.1999999999999997,
10745
- cacheRead: 0.192,
11050
+ input: 1.2,
11051
+ output: 4,
11052
+ cacheRead: 0.24,
11053
+ cacheWrite: 0,
11054
+ },
11055
+ contextWindow: 202752,
11056
+ maxTokens: 131072,
11057
+ },
11058
+ "z-ai/glm-5.1": {
11059
+ id: "z-ai/glm-5.1",
11060
+ name: "Z.ai: GLM 5.1",
11061
+ api: "openai-completions",
11062
+ provider: "openrouter",
11063
+ baseUrl: "https://openrouter.ai/api/v1",
11064
+ reasoning: true,
11065
+ input: ["text"],
11066
+ cost: {
11067
+ input: 0.95,
11068
+ output: 3.15,
11069
+ cacheRead: 0.475,
11070
+ cacheWrite: 0,
11071
+ },
11072
+ contextWindow: 202752,
11073
+ maxTokens: 65535,
11074
+ },
11075
+ "z-ai/glm-5v-turbo": {
11076
+ id: "z-ai/glm-5v-turbo",
11077
+ name: "Z.ai: GLM 5V Turbo",
11078
+ api: "openai-completions",
11079
+ provider: "openrouter",
11080
+ baseUrl: "https://openrouter.ai/api/v1",
11081
+ reasoning: true,
11082
+ input: ["text", "image"],
11083
+ cost: {
11084
+ input: 1.2,
11085
+ output: 4,
11086
+ cacheRead: 0.24,
10746
11087
  cacheWrite: 0,
10747
11088
  },
10748
11089
  contextWindow: 202752,
@@ -10769,20 +11110,20 @@ export const MODELS = {
10769
11110
  },
10770
11111
  "alibaba/qwen-3-235b": {
10771
11112
  id: "alibaba/qwen-3-235b",
10772
- name: "Qwen3-235B-A22B",
11113
+ name: "Qwen3 235B A22b Instruct 2507",
10773
11114
  api: "anthropic-messages",
10774
11115
  provider: "vercel-ai-gateway",
10775
11116
  baseUrl: "https://ai-gateway.vercel.sh",
10776
11117
  reasoning: false,
10777
11118
  input: ["text"],
10778
11119
  cost: {
10779
- input: 0.071,
10780
- output: 0.463,
10781
- cacheRead: 0,
11120
+ input: 0.6,
11121
+ output: 1.2,
11122
+ cacheRead: 0.6,
10782
11123
  cacheWrite: 0,
10783
11124
  },
10784
- contextWindow: 40960,
10785
- maxTokens: 16384,
11125
+ contextWindow: 131000,
11126
+ maxTokens: 40000,
10786
11127
  },
10787
11128
  "alibaba/qwen-3-30b": {
10788
11129
  id: "alibaba/qwen-3-30b",
@@ -10810,13 +11151,13 @@ export const MODELS = {
10810
11151
  reasoning: true,
10811
11152
  input: ["text"],
10812
11153
  cost: {
10813
- input: 0.29,
10814
- output: 0.59,
10815
- cacheRead: 0.145,
11154
+ input: 0.16,
11155
+ output: 0.64,
11156
+ cacheRead: 0,
10816
11157
  cacheWrite: 0,
10817
11158
  },
10818
- contextWindow: 131072,
10819
- maxTokens: 40960,
11159
+ contextWindow: 128000,
11160
+ maxTokens: 8192,
10820
11161
  },
10821
11162
  "alibaba/qwen3-235b-a22b-thinking": {
10822
11163
  id: "alibaba/qwen3-235b-a22b-thinking",
@@ -10844,13 +11185,13 @@ export const MODELS = {
10844
11185
  reasoning: false,
10845
11186
  input: ["text"],
10846
11187
  cost: {
10847
- input: 0.39999999999999997,
10848
- output: 1.5999999999999999,
10849
- cacheRead: 0.022,
11188
+ input: 1.5,
11189
+ output: 7.5,
11190
+ cacheRead: 0.3,
10850
11191
  cacheWrite: 0,
10851
11192
  },
10852
11193
  contextWindow: 262144,
10853
- maxTokens: 66536,
11194
+ maxTokens: 65536,
10854
11195
  },
10855
11196
  "alibaba/qwen3-coder-30b-a3b": {
10856
11197
  id: "alibaba/qwen3-coder-30b-a3b",
@@ -10963,13 +11304,13 @@ export const MODELS = {
10963
11304
  reasoning: true,
10964
11305
  input: ["text", "image"],
10965
11306
  cost: {
10966
- input: 0.22,
10967
- output: 0.88,
11307
+ input: 0.39999999999999997,
11308
+ output: 4,
10968
11309
  cacheRead: 0,
10969
11310
  cacheWrite: 0,
10970
11311
  },
10971
- contextWindow: 256000,
10972
- maxTokens: 256000,
11312
+ contextWindow: 131072,
11313
+ maxTokens: 32768,
10973
11314
  },
10974
11315
  "alibaba/qwen3.5-flash": {
10975
11316
  id: "alibaba/qwen3.5-flash",
@@ -11005,6 +11346,23 @@ export const MODELS = {
11005
11346
  contextWindow: 1000000,
11006
11347
  maxTokens: 64000,
11007
11348
  },
11349
+ "alibaba/qwen3.6-plus": {
11350
+ id: "alibaba/qwen3.6-plus",
11351
+ name: "Qwen 3.6 Plus",
11352
+ api: "anthropic-messages",
11353
+ provider: "vercel-ai-gateway",
11354
+ baseUrl: "https://ai-gateway.vercel.sh",
11355
+ reasoning: true,
11356
+ input: ["text", "image"],
11357
+ cost: {
11358
+ input: 0.5,
11359
+ output: 3,
11360
+ cacheRead: 0.09999999999999999,
11361
+ cacheWrite: 0,
11362
+ },
11363
+ contextWindow: 1000000,
11364
+ maxTokens: 64000,
11365
+ },
11008
11366
  "anthropic/claude-3-haiku": {
11009
11367
  id: "anthropic/claude-3-haiku",
11010
11368
  name: "Claude 3 Haiku",
@@ -11028,47 +11386,13 @@ export const MODELS = {
11028
11386
  api: "anthropic-messages",
11029
11387
  provider: "vercel-ai-gateway",
11030
11388
  baseUrl: "https://ai-gateway.vercel.sh",
11031
- reasoning: false,
11032
- input: ["text", "image"],
11033
- cost: {
11034
- input: 0.7999999999999999,
11035
- output: 4,
11036
- cacheRead: 0.08,
11037
- cacheWrite: 1,
11038
- },
11039
- contextWindow: 200000,
11040
- maxTokens: 8192,
11041
- },
11042
- "anthropic/claude-3.5-sonnet": {
11043
- id: "anthropic/claude-3.5-sonnet",
11044
- name: "Claude 3.5 Sonnet",
11045
- api: "anthropic-messages",
11046
- provider: "vercel-ai-gateway",
11047
- baseUrl: "https://ai-gateway.vercel.sh",
11048
- reasoning: false,
11049
- input: ["text", "image"],
11050
- cost: {
11051
- input: 3,
11052
- output: 15,
11053
- cacheRead: 0.3,
11054
- cacheWrite: 3.75,
11055
- },
11056
- contextWindow: 200000,
11057
- maxTokens: 8192,
11058
- },
11059
- "anthropic/claude-3.5-sonnet-20240620": {
11060
- id: "anthropic/claude-3.5-sonnet-20240620",
11061
- name: "Claude 3.5 Sonnet (2024-06-20)",
11062
- api: "anthropic-messages",
11063
- provider: "vercel-ai-gateway",
11064
- baseUrl: "https://ai-gateway.vercel.sh",
11065
- reasoning: false,
11066
- input: ["text", "image"],
11067
- cost: {
11068
- input: 3,
11069
- output: 15,
11070
- cacheRead: 0.3,
11071
- cacheWrite: 3.75,
11389
+ reasoning: false,
11390
+ input: ["text", "image"],
11391
+ cost: {
11392
+ input: 0.7999999999999999,
11393
+ output: 4,
11394
+ cacheRead: 0.08,
11395
+ cacheWrite: 1,
11072
11396
  },
11073
11397
  contextWindow: 200000,
11074
11398
  maxTokens: 8192,
@@ -11243,6 +11567,23 @@ export const MODELS = {
11243
11567
  contextWindow: 131000,
11244
11568
  maxTokens: 131000,
11245
11569
  },
11570
+ "arcee-ai/trinity-large-thinking": {
11571
+ id: "arcee-ai/trinity-large-thinking",
11572
+ name: "Trinity Large Thinking",
11573
+ api: "anthropic-messages",
11574
+ provider: "vercel-ai-gateway",
11575
+ baseUrl: "https://ai-gateway.vercel.sh",
11576
+ reasoning: true,
11577
+ input: ["text"],
11578
+ cost: {
11579
+ input: 0.25,
11580
+ output: 0.8999999999999999,
11581
+ cacheRead: 0,
11582
+ cacheWrite: 0,
11583
+ },
11584
+ contextWindow: 262100,
11585
+ maxTokens: 80000,
11586
+ },
11246
11587
  "bytedance/seed-1.6": {
11247
11588
  id: "bytedance/seed-1.6",
11248
11589
  name: "Seed 1.6",
@@ -11320,13 +11661,13 @@ export const MODELS = {
11320
11661
  reasoning: true,
11321
11662
  input: ["text"],
11322
11663
  cost: {
11323
- input: 0.5,
11324
- output: 1.5,
11325
- cacheRead: 0,
11664
+ input: 0.56,
11665
+ output: 1.68,
11666
+ cacheRead: 0.28,
11326
11667
  cacheWrite: 0,
11327
11668
  },
11328
11669
  contextWindow: 163840,
11329
- maxTokens: 16384,
11670
+ maxTokens: 8192,
11330
11671
  },
11331
11672
  "deepseek/deepseek-v3.1-terminus": {
11332
11673
  id: "deepseek/deepseek-v3.1-terminus",
@@ -11509,7 +11850,7 @@ export const MODELS = {
11509
11850
  cost: {
11510
11851
  input: 0.25,
11511
11852
  output: 1.5,
11512
- cacheRead: 0,
11853
+ cacheRead: 0.03,
11513
11854
  cacheWrite: 0,
11514
11855
  },
11515
11856
  contextWindow: 1000000,
@@ -11532,6 +11873,40 @@ export const MODELS = {
11532
11873
  contextWindow: 1000000,
11533
11874
  maxTokens: 64000,
11534
11875
  },
11876
+ "google/gemma-4-26b-a4b-it": {
11877
+ id: "google/gemma-4-26b-a4b-it",
11878
+ name: "Gemma 4 26B A4B IT",
11879
+ api: "anthropic-messages",
11880
+ provider: "vercel-ai-gateway",
11881
+ baseUrl: "https://ai-gateway.vercel.sh",
11882
+ reasoning: false,
11883
+ input: ["text", "image"],
11884
+ cost: {
11885
+ input: 0.13,
11886
+ output: 0.39999999999999997,
11887
+ cacheRead: 0,
11888
+ cacheWrite: 0,
11889
+ },
11890
+ contextWindow: 262144,
11891
+ maxTokens: 131072,
11892
+ },
11893
+ "google/gemma-4-31b-it": {
11894
+ id: "google/gemma-4-31b-it",
11895
+ name: "Gemma 4 31B IT",
11896
+ api: "anthropic-messages",
11897
+ provider: "vercel-ai-gateway",
11898
+ baseUrl: "https://ai-gateway.vercel.sh",
11899
+ reasoning: false,
11900
+ input: ["text", "image"],
11901
+ cost: {
11902
+ input: 0.14,
11903
+ output: 0.39999999999999997,
11904
+ cacheRead: 0,
11905
+ cacheWrite: 0,
11906
+ },
11907
+ contextWindow: 262144,
11908
+ maxTokens: 131072,
11909
+ },
11535
11910
  "inception/mercury-2": {
11536
11911
  id: "inception/mercury-2",
11537
11912
  name: "Mercury 2",
@@ -11566,39 +11941,39 @@ export const MODELS = {
11566
11941
  contextWindow: 32000,
11567
11942
  maxTokens: 16384,
11568
11943
  },
11569
- "meituan/longcat-flash-chat": {
11570
- id: "meituan/longcat-flash-chat",
11571
- name: "LongCat Flash Chat",
11944
+ "kwaipilot/kat-coder-pro-v2": {
11945
+ id: "kwaipilot/kat-coder-pro-v2",
11946
+ name: "Kat Coder Pro V2",
11572
11947
  api: "anthropic-messages",
11573
11948
  provider: "vercel-ai-gateway",
11574
11949
  baseUrl: "https://ai-gateway.vercel.sh",
11575
- reasoning: false,
11950
+ reasoning: true,
11576
11951
  input: ["text"],
11577
11952
  cost: {
11578
- input: 0,
11579
- output: 0,
11580
- cacheRead: 0,
11953
+ input: 0.3,
11954
+ output: 1.2,
11955
+ cacheRead: 0.06,
11581
11956
  cacheWrite: 0,
11582
11957
  },
11583
- contextWindow: 128000,
11584
- maxTokens: 100000,
11958
+ contextWindow: 256000,
11959
+ maxTokens: 256000,
11585
11960
  },
11586
- "meituan/longcat-flash-thinking": {
11587
- id: "meituan/longcat-flash-thinking",
11588
- name: "LongCat Flash Thinking",
11961
+ "meituan/longcat-flash-chat": {
11962
+ id: "meituan/longcat-flash-chat",
11963
+ name: "LongCat Flash Chat",
11589
11964
  api: "anthropic-messages",
11590
11965
  provider: "vercel-ai-gateway",
11591
11966
  baseUrl: "https://ai-gateway.vercel.sh",
11592
- reasoning: true,
11967
+ reasoning: false,
11593
11968
  input: ["text"],
11594
11969
  cost: {
11595
- input: 0.15,
11596
- output: 1.5,
11970
+ input: 0,
11971
+ output: 0,
11597
11972
  cacheRead: 0,
11598
11973
  cacheWrite: 0,
11599
11974
  },
11600
11975
  contextWindow: 128000,
11601
- maxTokens: 8192,
11976
+ maxTokens: 100000,
11602
11977
  },
11603
11978
  "meta/llama-3.1-70b": {
11604
11979
  id: "meta/llama-3.1-70b",
@@ -11626,13 +12001,13 @@ export const MODELS = {
11626
12001
  reasoning: false,
11627
12002
  input: ["text"],
11628
12003
  cost: {
11629
- input: 0.09999999999999999,
11630
- output: 0.09999999999999999,
11631
- cacheRead: 0.09999999999999999,
12004
+ input: 0.22,
12005
+ output: 0.22,
12006
+ cacheRead: 0,
11632
12007
  cacheWrite: 0,
11633
12008
  },
11634
12009
  contextWindow: 128000,
11635
- maxTokens: 16384,
12010
+ maxTokens: 8192,
11636
12011
  },
11637
12012
  "meta/llama-3.2-11b": {
11638
12013
  id: "meta/llama-3.2-11b",
@@ -12010,20 +12385,20 @@ export const MODELS = {
12010
12385
  },
12011
12386
  "moonshotai/kimi-k2": {
12012
12387
  id: "moonshotai/kimi-k2",
12013
- name: "Kimi K2",
12388
+ name: "Kimi K2 Instruct",
12014
12389
  api: "anthropic-messages",
12015
12390
  provider: "vercel-ai-gateway",
12016
12391
  baseUrl: "https://ai-gateway.vercel.sh",
12017
12392
  reasoning: false,
12018
12393
  input: ["text"],
12019
12394
  cost: {
12020
- input: 0.6,
12021
- output: 2.5,
12022
- cacheRead: 0.15,
12395
+ input: 0.5700000000000001,
12396
+ output: 2.3,
12397
+ cacheRead: 0,
12023
12398
  cacheWrite: 0,
12024
12399
  },
12025
12400
  contextWindow: 131072,
12026
- maxTokens: 16384,
12401
+ maxTokens: 131072,
12027
12402
  },
12028
12403
  "moonshotai/kimi-k2-0905": {
12029
12404
  id: "moonshotai/kimi-k2-0905",
@@ -12036,11 +12411,11 @@ export const MODELS = {
12036
12411
  cost: {
12037
12412
  input: 0.6,
12038
12413
  output: 2.5,
12039
- cacheRead: 0.15,
12414
+ cacheRead: 0.3,
12040
12415
  cacheWrite: 0,
12041
12416
  },
12042
12417
  contextWindow: 256000,
12043
- maxTokens: 16384,
12418
+ maxTokens: 128000,
12044
12419
  },
12045
12420
  "moonshotai/kimi-k2-thinking": {
12046
12421
  id: "moonshotai/kimi-k2-thinking",
@@ -12612,12 +12987,12 @@ export const MODELS = {
12612
12987
  reasoning: true,
12613
12988
  input: ["text"],
12614
12989
  cost: {
12615
- input: 0.07,
12616
- output: 0.3,
12990
+ input: 0.049999999999999996,
12991
+ output: 0.19999999999999998,
12617
12992
  cacheRead: 0,
12618
12993
  cacheWrite: 0,
12619
12994
  },
12620
- contextWindow: 128000,
12995
+ contextWindow: 131072,
12621
12996
  maxTokens: 8192,
12622
12997
  },
12623
12998
  "openai/gpt-oss-safeguard-20b": {
@@ -12748,8 +13123,8 @@ export const MODELS = {
12748
13123
  reasoning: false,
12749
13124
  input: ["text", "image"],
12750
13125
  cost: {
12751
- input: 1,
12752
- output: 1,
13126
+ input: 0,
13127
+ output: 0,
12753
13128
  cacheRead: 0,
12754
13129
  cacheWrite: 0,
12755
13130
  },
@@ -12765,8 +13140,8 @@ export const MODELS = {
12765
13140
  reasoning: false,
12766
13141
  input: ["text", "image"],
12767
13142
  cost: {
12768
- input: 3,
12769
- output: 15,
13143
+ input: 0,
13144
+ output: 0,
12770
13145
  cacheRead: 0,
12771
13146
  cacheWrite: 0,
12772
13147
  },
@@ -12790,23 +13165,6 @@ export const MODELS = {
12790
13165
  contextWindow: 131072,
12791
13166
  maxTokens: 131072,
12792
13167
  },
12793
- "xai/grok-2-vision": {
12794
- id: "xai/grok-2-vision",
12795
- name: "Grok 2 Vision",
12796
- api: "anthropic-messages",
12797
- provider: "vercel-ai-gateway",
12798
- baseUrl: "https://ai-gateway.vercel.sh",
12799
- reasoning: false,
12800
- input: ["text", "image"],
12801
- cost: {
12802
- input: 2,
12803
- output: 10,
12804
- cacheRead: 0,
12805
- cacheWrite: 0,
12806
- },
12807
- contextWindow: 32768,
12808
- maxTokens: 32768,
12809
- },
12810
13168
  "xai/grok-3": {
12811
13169
  id: "xai/grok-3",
12812
13170
  name: "Grok 3 Beta",
@@ -12960,6 +13318,23 @@ export const MODELS = {
12960
13318
  contextWindow: 2000000,
12961
13319
  maxTokens: 30000,
12962
13320
  },
13321
+ "xai/grok-4.20-multi-agent": {
13322
+ id: "xai/grok-4.20-multi-agent",
13323
+ name: "Grok 4.20 Multi-Agent",
13324
+ api: "anthropic-messages",
13325
+ provider: "vercel-ai-gateway",
13326
+ baseUrl: "https://ai-gateway.vercel.sh",
13327
+ reasoning: true,
13328
+ input: ["text"],
13329
+ cost: {
13330
+ input: 2,
13331
+ output: 6,
13332
+ cacheRead: 0.19999999999999998,
13333
+ cacheWrite: 0,
13334
+ },
13335
+ contextWindow: 2000000,
13336
+ maxTokens: 2000000,
13337
+ },
12963
13338
  "xai/grok-4.20-multi-agent-beta": {
12964
13339
  id: "xai/grok-4.20-multi-agent-beta",
12965
13340
  name: "Grok 4.20 Multi Agent Beta",
@@ -12977,6 +13352,23 @@ export const MODELS = {
12977
13352
  contextWindow: 2000000,
12978
13353
  maxTokens: 2000000,
12979
13354
  },
13355
+ "xai/grok-4.20-non-reasoning": {
13356
+ id: "xai/grok-4.20-non-reasoning",
13357
+ name: "Grok 4.20 Non-Reasoning",
13358
+ api: "anthropic-messages",
13359
+ provider: "vercel-ai-gateway",
13360
+ baseUrl: "https://ai-gateway.vercel.sh",
13361
+ reasoning: false,
13362
+ input: ["text", "image"],
13363
+ cost: {
13364
+ input: 2,
13365
+ output: 6,
13366
+ cacheRead: 0.19999999999999998,
13367
+ cacheWrite: 0,
13368
+ },
13369
+ contextWindow: 2000000,
13370
+ maxTokens: 2000000,
13371
+ },
12980
13372
  "xai/grok-4.20-non-reasoning-beta": {
12981
13373
  id: "xai/grok-4.20-non-reasoning-beta",
12982
13374
  name: "Grok 4.20 Beta Non-Reasoning",
@@ -12994,6 +13386,23 @@ export const MODELS = {
12994
13386
  contextWindow: 2000000,
12995
13387
  maxTokens: 2000000,
12996
13388
  },
13389
+ "xai/grok-4.20-reasoning": {
13390
+ id: "xai/grok-4.20-reasoning",
13391
+ name: "Grok 4.20 Reasoning",
13392
+ api: "anthropic-messages",
13393
+ provider: "vercel-ai-gateway",
13394
+ baseUrl: "https://ai-gateway.vercel.sh",
13395
+ reasoning: true,
13396
+ input: ["text", "image"],
13397
+ cost: {
13398
+ input: 2,
13399
+ output: 6,
13400
+ cacheRead: 0.19999999999999998,
13401
+ cacheWrite: 0,
13402
+ },
13403
+ contextWindow: 2000000,
13404
+ maxTokens: 2000000,
13405
+ },
12997
13406
  "xai/grok-4.20-reasoning-beta": {
12998
13407
  id: "xai/grok-4.20-reasoning-beta",
12999
13408
  name: "Grok 4.20 Beta Reasoning",
@@ -13037,9 +13446,9 @@ export const MODELS = {
13037
13446
  reasoning: true,
13038
13447
  input: ["text"],
13039
13448
  cost: {
13040
- input: 0.09999999999999999,
13041
- output: 0.3,
13042
- cacheRead: 0.02,
13449
+ input: 0.09,
13450
+ output: 0.29,
13451
+ cacheRead: 0.045,
13043
13452
  cacheWrite: 0,
13044
13453
  },
13045
13454
  contextWindow: 262144,
@@ -13173,13 +13582,13 @@ export const MODELS = {
13173
13582
  reasoning: true,
13174
13583
  input: ["text"],
13175
13584
  cost: {
13176
- input: 0.6,
13177
- output: 2.2,
13178
- cacheRead: 0,
13585
+ input: 2.25,
13586
+ output: 2.75,
13587
+ cacheRead: 2.25,
13179
13588
  cacheWrite: 0,
13180
13589
  },
13181
- contextWindow: 200000,
13182
- maxTokens: 120000,
13590
+ contextWindow: 131000,
13591
+ maxTokens: 40000,
13183
13592
  },
13184
13593
  "zai/glm-4.7-flash": {
13185
13594
  id: "zai/glm-4.7-flash",
@@ -13249,6 +13658,40 @@ export const MODELS = {
13249
13658
  contextWindow: 202800,
13250
13659
  maxTokens: 131100,
13251
13660
  },
13661
+ "zai/glm-5.1": {
13662
+ id: "zai/glm-5.1",
13663
+ name: "GLM 5.1",
13664
+ api: "anthropic-messages",
13665
+ provider: "vercel-ai-gateway",
13666
+ baseUrl: "https://ai-gateway.vercel.sh",
13667
+ reasoning: true,
13668
+ input: ["text"],
13669
+ cost: {
13670
+ input: 1.4,
13671
+ output: 4.4,
13672
+ cacheRead: 0.26,
13673
+ cacheWrite: 0,
13674
+ },
13675
+ contextWindow: 202800,
13676
+ maxTokens: 64000,
13677
+ },
13678
+ "zai/glm-5v-turbo": {
13679
+ id: "zai/glm-5v-turbo",
13680
+ name: "GLM 5V Turbo",
13681
+ api: "anthropic-messages",
13682
+ provider: "vercel-ai-gateway",
13683
+ baseUrl: "https://ai-gateway.vercel.sh",
13684
+ reasoning: true,
13685
+ input: ["text", "image"],
13686
+ cost: {
13687
+ input: 1.2,
13688
+ output: 4,
13689
+ cacheRead: 0.24,
13690
+ cacheWrite: 0,
13691
+ },
13692
+ contextWindow: 200000,
13693
+ maxTokens: 128000,
13694
+ },
13252
13695
  },
13253
13696
  "xai": {
13254
13697
  "grok-2": {
@@ -13805,6 +14248,24 @@ export const MODELS = {
13805
14248
  contextWindow: 200000,
13806
14249
  maxTokens: 131072,
13807
14250
  },
14251
+ "glm-4.7-flashx": {
14252
+ id: "glm-4.7-flashx",
14253
+ name: "GLM-4.7-FlashX",
14254
+ api: "openai-completions",
14255
+ provider: "zai",
14256
+ baseUrl: "https://api.z.ai/api/coding/paas/v4",
14257
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "zai" },
14258
+ reasoning: true,
14259
+ input: ["text"],
14260
+ cost: {
14261
+ input: 0.07,
14262
+ output: 0.4,
14263
+ cacheRead: 0.01,
14264
+ cacheWrite: 0,
14265
+ },
14266
+ contextWindow: 200000,
14267
+ maxTokens: 131072,
14268
+ },
13808
14269
  "glm-5": {
13809
14270
  id: "glm-5",
13810
14271
  name: "GLM-5",
@@ -13841,6 +14302,42 @@ export const MODELS = {
13841
14302
  contextWindow: 200000,
13842
14303
  maxTokens: 131072,
13843
14304
  },
14305
+ "glm-5.1": {
14306
+ id: "glm-5.1",
14307
+ name: "GLM-5.1",
14308
+ api: "openai-completions",
14309
+ provider: "zai",
14310
+ baseUrl: "https://api.z.ai/api/coding/paas/v4",
14311
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "zai" },
14312
+ reasoning: true,
14313
+ input: ["text"],
14314
+ cost: {
14315
+ input: 1.4,
14316
+ output: 4.4,
14317
+ cacheRead: 0.26,
14318
+ cacheWrite: 0,
14319
+ },
14320
+ contextWindow: 200000,
14321
+ maxTokens: 131072,
14322
+ },
14323
+ "glm-5v-turbo": {
14324
+ id: "glm-5v-turbo",
14325
+ name: "glm-5v-turbo",
14326
+ api: "openai-completions",
14327
+ provider: "zai",
14328
+ baseUrl: "https://api.z.ai/api/coding/paas/v4",
14329
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "zai" },
14330
+ reasoning: true,
14331
+ input: ["text", "image"],
14332
+ cost: {
14333
+ input: 1.2,
14334
+ output: 4,
14335
+ cacheRead: 0.24,
14336
+ cacheWrite: 0,
14337
+ },
14338
+ contextWindow: 200000,
14339
+ maxTokens: 131072,
14340
+ },
13844
14341
  },
13845
14342
  };
13846
14343
  //# sourceMappingURL=models.generated.js.map