@opengsd/gsd-pi 1.2.0-dev.84c56d87 → 1.2.0-dev.9ad8ae33

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 (460) hide show
  1. package/dist/headless-events.js +7 -5
  2. package/dist/mcp-server.js +2 -1
  3. package/dist/resource-loader.d.ts +10 -5
  4. package/dist/resource-loader.js +121 -6
  5. package/dist/resources/.managed-resources-content-hash +1 -1
  6. package/dist/resources/GSD-WORKFLOW.md +5 -4
  7. package/dist/resources/extensions/async-jobs/async-bash-tool.js +30 -64
  8. package/dist/resources/extensions/async-jobs/await-tool.js +80 -12
  9. package/dist/resources/extensions/async-jobs/index.js +65 -0
  10. package/dist/resources/extensions/async-jobs/job-manager.js +12 -1
  11. package/dist/resources/extensions/bg-shell/bg-shell-command.js +6 -6
  12. package/dist/resources/extensions/bg-shell/bg-shell-tool.js +10 -7
  13. package/dist/resources/extensions/bg-shell/overlay.js +9 -6
  14. package/dist/resources/extensions/bg-shell/process-manager.js +54 -25
  15. package/dist/resources/extensions/bg-shell/readiness-detector.js +11 -0
  16. package/dist/resources/extensions/gsd/auto/custom-verify-retry-store.js +17 -2
  17. package/dist/resources/extensions/gsd/auto/detect-stuck.js +33 -13
  18. package/dist/resources/extensions/gsd/auto/dispatch-history.js +105 -0
  19. package/dist/resources/extensions/gsd/auto/dispatch-key.js +37 -0
  20. package/dist/resources/extensions/gsd/auto/loop.js +4 -1
  21. package/dist/resources/extensions/gsd/auto/orchestrator.js +89 -54
  22. package/dist/resources/extensions/gsd/auto/phases.js +49 -6
  23. package/dist/resources/extensions/gsd/auto/session.js +3 -0
  24. package/dist/resources/extensions/gsd/auto-direct-dispatch.js +11 -34
  25. package/dist/resources/extensions/gsd/auto-dispatch.js +50 -58
  26. package/dist/resources/extensions/gsd/auto-model-selection.js +36 -13
  27. package/dist/resources/extensions/gsd/auto-post-unit.js +30 -12
  28. package/dist/resources/extensions/gsd/auto-prompts.js +78 -19
  29. package/dist/resources/extensions/gsd/auto-start.js +35 -15
  30. package/dist/resources/extensions/gsd/auto-unit-closeout.js +45 -21
  31. package/dist/resources/extensions/gsd/auto-unit-tool-scope.js +5 -4
  32. package/dist/resources/extensions/gsd/auto-verification.js +23 -30
  33. package/dist/resources/extensions/gsd/auto-worktree.js +14 -1
  34. package/dist/resources/extensions/gsd/auto.js +37 -1
  35. package/dist/resources/extensions/gsd/blocked-models.js +28 -0
  36. package/dist/resources/extensions/gsd/bootstrap/agent-end-recovery.js +26 -6
  37. package/dist/resources/extensions/gsd/bootstrap/dynamic-tools.js +23 -6
  38. package/dist/resources/extensions/gsd/bootstrap/exec-tools.js +2 -2
  39. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +145 -50
  40. package/dist/resources/extensions/gsd/bootstrap/write-gate.js +302 -80
  41. package/dist/resources/extensions/gsd/browser-daemon-auto-prep.js +83 -0
  42. package/dist/resources/extensions/gsd/closeout-wizard.js +92 -0
  43. package/dist/resources/extensions/gsd/commands/context.js +16 -2
  44. package/dist/resources/extensions/gsd/commands-handlers.js +46 -3
  45. package/dist/resources/extensions/gsd/consent-question.js +353 -0
  46. package/dist/resources/extensions/gsd/consent-verdict.js +63 -0
  47. package/dist/resources/extensions/gsd/constants.js +0 -2
  48. package/dist/resources/extensions/gsd/crash-recovery.js +8 -3
  49. package/dist/resources/extensions/gsd/db/queries.js +26 -0
  50. package/dist/resources/extensions/gsd/db-writer.js +8 -17
  51. package/dist/resources/extensions/gsd/dispatch-guard.js +10 -35
  52. package/dist/resources/extensions/gsd/doctor-engine-checks.js +5 -5
  53. package/dist/resources/extensions/gsd/doctor-git-checks.js +2 -18
  54. package/dist/resources/extensions/gsd/engine-hook-contract.js +70 -0
  55. package/dist/resources/extensions/gsd/exec-sandbox.js +30 -10
  56. package/dist/resources/extensions/gsd/files.js +33 -19
  57. package/dist/resources/extensions/gsd/gsd-command-home.js +22 -12
  58. package/dist/resources/extensions/gsd/gsd-db.js +2 -1
  59. package/dist/resources/extensions/gsd/guidance.js +60 -0
  60. package/dist/resources/extensions/gsd/guided-flow.js +6 -3
  61. package/dist/resources/extensions/gsd/markdown-renderer.js +10 -0
  62. package/dist/resources/extensions/gsd/milestone-closeout.js +85 -24
  63. package/dist/resources/extensions/gsd/milestone-planning-persistence.js +2 -2
  64. package/dist/resources/extensions/gsd/milestone-reopen-events.js +3 -5
  65. package/dist/resources/extensions/gsd/parsers-legacy.js +16 -4
  66. package/dist/resources/extensions/gsd/preferences-models.js +2 -2
  67. package/dist/resources/extensions/gsd/projection-flush.js +7 -0
  68. package/dist/resources/extensions/gsd/prompts/complete-slice.md +3 -3
  69. package/dist/resources/extensions/gsd/prompts/execute-task.md +1 -1
  70. package/dist/resources/extensions/gsd/prompts/plan-milestone.md +1 -1
  71. package/dist/resources/extensions/gsd/prompts/plan-slice.md +1 -1
  72. package/dist/resources/extensions/gsd/prompts/quick-task.md +1 -1
  73. package/dist/resources/extensions/gsd/prompts/reassess-roadmap.md +1 -1
  74. package/dist/resources/extensions/gsd/prompts/refine-slice.md +1 -1
  75. package/dist/resources/extensions/gsd/prompts/replan-slice.md +1 -1
  76. package/dist/resources/extensions/gsd/prompts/research-milestone.md +1 -1
  77. package/dist/resources/extensions/gsd/prompts/research-slice.md +1 -1
  78. package/dist/resources/extensions/gsd/prompts/rewrite-docs.md +1 -1
  79. package/dist/resources/extensions/gsd/prompts/run-uat.md +7 -5
  80. package/dist/resources/extensions/gsd/prompts/system.md +5 -2
  81. package/dist/resources/extensions/gsd/prompts/triage-captures.md +1 -1
  82. package/dist/resources/extensions/gsd/prompts/validate-milestone.md +1 -1
  83. package/dist/resources/extensions/gsd/reactive-graph.js +8 -1
  84. package/dist/resources/extensions/gsd/roadmap-slices.js +25 -3
  85. package/dist/resources/extensions/gsd/safety/destructive-confirmation.js +108 -0
  86. package/dist/resources/extensions/gsd/session-lock.js +1 -1
  87. package/dist/resources/extensions/gsd/state.js +5 -0
  88. package/dist/resources/extensions/gsd/tool-contract.js +14 -3
  89. package/dist/resources/extensions/gsd/tool-presentation-plan.js +4 -4
  90. package/dist/resources/extensions/gsd/tools/complete-milestone.js +3 -2
  91. package/dist/resources/extensions/gsd/tools/complete-slice.js +22 -12
  92. package/dist/resources/extensions/gsd/tools/complete-task.js +3 -2
  93. package/dist/resources/extensions/gsd/tools/exec-tool.js +5 -0
  94. package/dist/resources/extensions/gsd/tools/plan-slice.js +2 -2
  95. package/dist/resources/extensions/gsd/tools/plan-task.js +2 -2
  96. package/dist/resources/extensions/gsd/tools/reassess-roadmap.js +2 -2
  97. package/dist/resources/extensions/gsd/tools/reopen-milestone.js +2 -2
  98. package/dist/resources/extensions/gsd/tools/reopen-slice.js +2 -2
  99. package/dist/resources/extensions/gsd/tools/reopen-task.js +2 -2
  100. package/dist/resources/extensions/gsd/tools/replan-slice.js +2 -2
  101. package/dist/resources/extensions/gsd/tools/workflow-tool-executors.js +67 -2
  102. package/dist/resources/extensions/gsd/uat-policy.js +40 -15
  103. package/dist/resources/extensions/gsd/unit-context-composer.js +65 -0
  104. package/dist/resources/extensions/gsd/verdict-parser.js +1 -1
  105. package/dist/resources/extensions/gsd/verification-verdict.js +2 -1
  106. package/dist/resources/extensions/gsd/workflow-event-ledger.js +91 -0
  107. package/dist/resources/extensions/gsd/workflow-event-vocabulary.js +46 -0
  108. package/dist/resources/extensions/gsd/workflow-events.js +6 -18
  109. package/dist/resources/extensions/gsd/workflow-reconcile.js +21 -56
  110. package/dist/resources/extensions/gsd/worktree-lifecycle.js +3 -2
  111. package/dist/resources/extensions/gsd/worktree-manager.js +7 -1
  112. package/dist/resources/extensions/gsd/worktree.js +8 -1
  113. package/dist/resources/extensions/shared/gsd-browser-cli.js +45 -3
  114. package/dist/resources/shared/gsd-browser-path-sync.js +214 -0
  115. package/dist/resources/shared/package-manager-detection.js +1 -1
  116. package/dist/resources/shared/package.json +3 -0
  117. package/dist/resources/skills/create-skill/SKILL.md +3 -0
  118. package/dist/resources/skills/create-skill/references/skill-structure.md +1 -0
  119. package/dist/tsconfig.extensions.tsbuildinfo +1 -1
  120. package/dist/update-check.d.ts +2 -0
  121. package/dist/update-check.js +24 -1
  122. package/dist/update-cmd.js +20 -3
  123. package/dist/web/standalone/.next/BUILD_ID +1 -1
  124. package/dist/web/standalone/.next/app-path-routes-manifest.json +6 -6
  125. package/dist/web/standalone/.next/build-manifest.json +3 -3
  126. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  127. package/dist/web/standalone/.next/react-loadable-manifest.json +1 -1
  128. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  129. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  130. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  131. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  132. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  133. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  134. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  135. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  136. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  137. package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
  138. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  139. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  140. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  141. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  142. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  143. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  144. package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
  145. package/dist/web/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  146. package/dist/web/standalone/.next/server/app/index.html +1 -1
  147. package/dist/web/standalone/.next/server/app/index.rsc +1 -1
  148. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  149. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  150. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  151. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  152. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  153. package/dist/web/standalone/.next/server/app-paths-manifest.json +6 -6
  154. package/dist/web/standalone/.next/server/chunks/8357.js +2 -2
  155. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  156. package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  157. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  158. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  159. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  160. package/dist/web/standalone/.next/static/chunks/{796.cf859a427a2cb2ac.js → 796.e0bdc932325d7e03.js} +1 -1
  161. package/dist/web/standalone/.next/static/chunks/{webpack-fbea77b5f9953368.js → webpack-f0285ce91d4ec9ef.js} +1 -1
  162. package/dist/web/standalone/node_modules/node-pty/build/Makefile +1 -1
  163. package/dist/web/standalone/node_modules/postcss/lib/container.js +26 -18
  164. package/dist/web/standalone/node_modules/postcss/lib/css-syntax-error.js +47 -14
  165. package/dist/web/standalone/node_modules/postcss/lib/declaration.js +4 -4
  166. package/dist/web/standalone/node_modules/postcss/lib/fromJSON.js +3 -3
  167. package/dist/web/standalone/node_modules/postcss/lib/input.js +54 -29
  168. package/dist/web/standalone/node_modules/postcss/lib/lazy-result.js +47 -37
  169. package/dist/web/standalone/node_modules/postcss/lib/map-generator.js +26 -9
  170. package/dist/web/standalone/node_modules/postcss/lib/no-work-result.js +57 -55
  171. package/dist/web/standalone/node_modules/postcss/lib/node.js +99 -31
  172. package/dist/web/standalone/node_modules/postcss/lib/parse.js +1 -1
  173. package/dist/web/standalone/node_modules/postcss/lib/parser.js +10 -9
  174. package/dist/web/standalone/node_modules/postcss/lib/postcss.js +12 -12
  175. package/dist/web/standalone/node_modules/postcss/lib/previous-map.js +30 -11
  176. package/dist/web/standalone/node_modules/postcss/lib/processor.js +7 -7
  177. package/dist/web/standalone/node_modules/postcss/lib/result.js +5 -5
  178. package/dist/web/standalone/node_modules/postcss/lib/rule.js +6 -6
  179. package/dist/web/standalone/node_modules/postcss/lib/stringifier.js +69 -28
  180. package/dist/web/standalone/node_modules/postcss/lib/tokenize.js +6 -2
  181. package/dist/web/standalone/node_modules/postcss/package.json +48 -48
  182. package/package.json +2 -2
  183. package/packages/cloud-mcp-gateway/package.json +2 -2
  184. package/packages/contracts/dist/rpc.d.ts +1 -0
  185. package/packages/contracts/dist/rpc.d.ts.map +1 -1
  186. package/packages/contracts/dist/rpc.js.map +1 -1
  187. package/packages/contracts/package.json +1 -1
  188. package/packages/daemon/package.json +4 -4
  189. package/packages/gsd-agent-core/package.json +5 -5
  190. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.d.ts +5 -0
  191. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  192. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.js +5 -0
  193. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.js.map +1 -1
  194. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.d.ts.map +1 -1
  195. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.js +7 -0
  196. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.js.map +1 -1
  197. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.d.ts.map +1 -1
  198. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.js +8 -1
  199. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.js.map +1 -1
  200. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-chat-render.d.ts.map +1 -1
  201. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-chat-render.js +11 -1
  202. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-chat-render.js.map +1 -1
  203. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-selectors-auth.d.ts.map +1 -1
  204. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-selectors-auth.js +4 -4
  205. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-selectors-auth.js.map +1 -1
  206. package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  207. package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.js +3 -1
  208. package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.js.map +1 -1
  209. package/packages/gsd-agent-modes/package.json +7 -7
  210. package/packages/mcp-server/dist/cli.js +10 -5
  211. package/packages/mcp-server/dist/cli.js.map +1 -1
  212. package/packages/mcp-server/dist/moonshot-tool-schema.d.ts +29 -0
  213. package/packages/mcp-server/dist/moonshot-tool-schema.d.ts.map +1 -0
  214. package/packages/mcp-server/dist/moonshot-tool-schema.js +50 -0
  215. package/packages/mcp-server/dist/moonshot-tool-schema.js.map +1 -0
  216. package/packages/mcp-server/dist/server.d.ts.map +1 -1
  217. package/packages/mcp-server/dist/server.js +4 -0
  218. package/packages/mcp-server/dist/server.js.map +1 -1
  219. package/packages/mcp-server/dist/workflow-tools.d.ts +18 -18
  220. package/packages/mcp-server/dist/workflow-tools.d.ts.map +1 -1
  221. package/packages/mcp-server/dist/workflow-tools.js +99 -38
  222. package/packages/mcp-server/dist/workflow-tools.js.map +1 -1
  223. package/packages/mcp-server/package.json +5 -4
  224. package/packages/native/package.json +1 -1
  225. package/packages/pi-agent-core/dist/harness/env/nodejs.d.ts +1 -0
  226. package/packages/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  227. package/packages/pi-agent-core/dist/harness/env/nodejs.js +34 -3
  228. package/packages/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  229. package/packages/pi-agent-core/dist/index.d.ts +1 -0
  230. package/packages/pi-agent-core/dist/index.d.ts.map +1 -1
  231. package/packages/pi-agent-core/dist/index.js +3 -0
  232. package/packages/pi-agent-core/dist/index.js.map +1 -1
  233. package/packages/pi-agent-core/package.json +1 -1
  234. package/packages/pi-ai/README.md +1 -0
  235. package/packages/pi-ai/dist/image-models.generated.d.ts +2 -2
  236. package/packages/pi-ai/dist/image-models.generated.js +6 -6
  237. package/packages/pi-ai/dist/image-models.generated.js.map +1 -1
  238. package/packages/pi-ai/dist/index.d.ts +2 -0
  239. package/packages/pi-ai/dist/index.d.ts.map +1 -1
  240. package/packages/pi-ai/dist/index.js +2 -0
  241. package/packages/pi-ai/dist/index.js.map +1 -1
  242. package/packages/pi-ai/dist/models.generated.d.ts +419 -221
  243. package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
  244. package/packages/pi-ai/dist/models.generated.js +460 -261
  245. package/packages/pi-ai/dist/models.generated.js.map +1 -1
  246. package/packages/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  247. package/packages/pi-ai/dist/providers/anthropic.js +12 -7
  248. package/packages/pi-ai/dist/providers/anthropic.js.map +1 -1
  249. package/packages/pi-ai/dist/providers/google-shared.d.ts +5 -0
  250. package/packages/pi-ai/dist/providers/google-shared.d.ts.map +1 -1
  251. package/packages/pi-ai/dist/providers/google-shared.js +12 -3
  252. package/packages/pi-ai/dist/providers/google-shared.js.map +1 -1
  253. package/packages/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  254. package/packages/pi-ai/dist/providers/openai-completions.js +7 -3
  255. package/packages/pi-ai/dist/providers/openai-completions.js.map +1 -1
  256. package/packages/pi-ai/dist/utils/moonshot-tool-schema.d.ts +9 -0
  257. package/packages/pi-ai/dist/utils/moonshot-tool-schema.d.ts.map +1 -0
  258. package/packages/pi-ai/dist/utils/moonshot-tool-schema.js +34 -0
  259. package/packages/pi-ai/dist/utils/moonshot-tool-schema.js.map +1 -0
  260. package/packages/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  261. package/packages/pi-ai/dist/utils/oauth/github-copilot.js +6 -2
  262. package/packages/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  263. package/packages/pi-ai/package.json +3 -2
  264. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts +2 -2
  265. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  266. package/packages/pi-coding-agent/dist/core/auth-storage.js +19 -13
  267. package/packages/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  268. package/packages/pi-coding-agent/dist/core/provider-readiness.d.ts.map +1 -1
  269. package/packages/pi-coding-agent/dist/core/provider-readiness.js +13 -6
  270. package/packages/pi-coding-agent/dist/core/provider-readiness.js.map +1 -1
  271. package/packages/pi-coding-agent/dist/core/tools/bash.d.ts +11 -0
  272. package/packages/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
  273. package/packages/pi-coding-agent/dist/core/tools/bash.js +53 -11
  274. package/packages/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
  275. package/packages/pi-coding-agent/dist/index.d.ts +1 -1
  276. package/packages/pi-coding-agent/dist/index.d.ts.map +1 -1
  277. package/packages/pi-coding-agent/dist/index.js +1 -1
  278. package/packages/pi-coding-agent/dist/index.js.map +1 -1
  279. package/packages/pi-coding-agent/dist/utils/shell.d.ts +28 -2
  280. package/packages/pi-coding-agent/dist/utils/shell.d.ts.map +1 -1
  281. package/packages/pi-coding-agent/dist/utils/shell.js +56 -10
  282. package/packages/pi-coding-agent/dist/utils/shell.js.map +1 -1
  283. package/packages/pi-coding-agent/package.json +7 -7
  284. package/packages/pi-tui/package.json +2 -2
  285. package/packages/rpc-client/package.json +2 -2
  286. package/pkg/package.json +1 -1
  287. package/src/resources/GSD-WORKFLOW.md +5 -4
  288. package/src/resources/extensions/async-jobs/async-bash-cancel.test.ts +360 -0
  289. package/src/resources/extensions/async-jobs/async-bash-tool.ts +33 -56
  290. package/src/resources/extensions/async-jobs/await-tool.test.ts +139 -0
  291. package/src/resources/extensions/async-jobs/await-tool.ts +82 -12
  292. package/src/resources/extensions/async-jobs/index.ts +79 -0
  293. package/src/resources/extensions/async-jobs/job-manager.ts +21 -1
  294. package/src/resources/extensions/bg-shell/bg-shell-command.ts +6 -6
  295. package/src/resources/extensions/bg-shell/bg-shell-tool.ts +10 -6
  296. package/src/resources/extensions/bg-shell/overlay.ts +9 -5
  297. package/src/resources/extensions/bg-shell/process-manager.ts +50 -25
  298. package/src/resources/extensions/bg-shell/readiness-detector.ts +12 -0
  299. package/src/resources/extensions/bg-shell/tests/lifecycle-and-utilities.test.ts +48 -1
  300. package/src/resources/extensions/browser-tools/tests/gsd-browser-launch-config.test.mjs +40 -1
  301. package/src/resources/extensions/gsd/auto/custom-verify-retry-store.ts +21 -3
  302. package/src/resources/extensions/gsd/auto/detect-stuck.ts +32 -9
  303. package/src/resources/extensions/gsd/auto/dispatch-history.ts +152 -0
  304. package/src/resources/extensions/gsd/auto/dispatch-key.ts +39 -0
  305. package/src/resources/extensions/gsd/auto/loop.ts +4 -1
  306. package/src/resources/extensions/gsd/auto/orchestrator.ts +98 -56
  307. package/src/resources/extensions/gsd/auto/phases.ts +65 -26
  308. package/src/resources/extensions/gsd/auto/session.ts +3 -0
  309. package/src/resources/extensions/gsd/auto-direct-dispatch.ts +18 -48
  310. package/src/resources/extensions/gsd/auto-dispatch.ts +48 -61
  311. package/src/resources/extensions/gsd/auto-model-selection.ts +41 -12
  312. package/src/resources/extensions/gsd/auto-post-unit.ts +33 -12
  313. package/src/resources/extensions/gsd/auto-prompts.ts +115 -35
  314. package/src/resources/extensions/gsd/auto-start.ts +36 -18
  315. package/src/resources/extensions/gsd/auto-unit-closeout.ts +83 -28
  316. package/src/resources/extensions/gsd/auto-unit-tool-scope.ts +4 -4
  317. package/src/resources/extensions/gsd/auto-verification.ts +26 -28
  318. package/src/resources/extensions/gsd/auto-worktree.ts +14 -1
  319. package/src/resources/extensions/gsd/auto.ts +44 -1
  320. package/src/resources/extensions/gsd/blocked-models.ts +49 -0
  321. package/src/resources/extensions/gsd/bootstrap/agent-end-recovery.ts +34 -5
  322. package/src/resources/extensions/gsd/bootstrap/dynamic-tools.ts +23 -6
  323. package/src/resources/extensions/gsd/bootstrap/exec-tools.ts +2 -2
  324. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +163 -55
  325. package/src/resources/extensions/gsd/bootstrap/write-gate.ts +350 -86
  326. package/src/resources/extensions/gsd/browser-daemon-auto-prep.ts +108 -0
  327. package/src/resources/extensions/gsd/closeout-wizard.ts +102 -0
  328. package/src/resources/extensions/gsd/commands/context.ts +16 -2
  329. package/src/resources/extensions/gsd/commands-handlers.ts +46 -3
  330. package/src/resources/extensions/gsd/consent-question.ts +431 -0
  331. package/src/resources/extensions/gsd/consent-verdict.ts +86 -0
  332. package/src/resources/extensions/gsd/constants.ts +0 -3
  333. package/src/resources/extensions/gsd/crash-recovery.ts +10 -2
  334. package/src/resources/extensions/gsd/db/queries.ts +37 -0
  335. package/src/resources/extensions/gsd/db-writer.ts +11 -19
  336. package/src/resources/extensions/gsd/dispatch-guard.ts +8 -31
  337. package/src/resources/extensions/gsd/doctor-engine-checks.ts +5 -4
  338. package/src/resources/extensions/gsd/doctor-git-checks.ts +2 -19
  339. package/src/resources/extensions/gsd/engine-hook-contract.ts +79 -0
  340. package/src/resources/extensions/gsd/exec-sandbox.ts +49 -9
  341. package/src/resources/extensions/gsd/files.ts +33 -12
  342. package/src/resources/extensions/gsd/gsd-command-home.ts +13 -3
  343. package/src/resources/extensions/gsd/gsd-db.ts +4 -3
  344. package/src/resources/extensions/gsd/guidance.ts +78 -0
  345. package/src/resources/extensions/gsd/guided-flow.ts +21 -26
  346. package/src/resources/extensions/gsd/markdown-renderer.ts +11 -0
  347. package/src/resources/extensions/gsd/milestone-closeout.ts +109 -24
  348. package/src/resources/extensions/gsd/milestone-planning-persistence.ts +2 -2
  349. package/src/resources/extensions/gsd/milestone-reopen-events.ts +3 -6
  350. package/src/resources/extensions/gsd/parsers-legacy.ts +16 -4
  351. package/src/resources/extensions/gsd/preferences-models.ts +2 -1
  352. package/src/resources/extensions/gsd/projection-flush.ts +20 -0
  353. package/src/resources/extensions/gsd/prompts/complete-slice.md +3 -3
  354. package/src/resources/extensions/gsd/prompts/execute-task.md +1 -1
  355. package/src/resources/extensions/gsd/prompts/plan-milestone.md +1 -1
  356. package/src/resources/extensions/gsd/prompts/plan-slice.md +1 -1
  357. package/src/resources/extensions/gsd/prompts/quick-task.md +1 -1
  358. package/src/resources/extensions/gsd/prompts/reassess-roadmap.md +1 -1
  359. package/src/resources/extensions/gsd/prompts/refine-slice.md +1 -1
  360. package/src/resources/extensions/gsd/prompts/replan-slice.md +1 -1
  361. package/src/resources/extensions/gsd/prompts/research-milestone.md +1 -1
  362. package/src/resources/extensions/gsd/prompts/research-slice.md +1 -1
  363. package/src/resources/extensions/gsd/prompts/rewrite-docs.md +1 -1
  364. package/src/resources/extensions/gsd/prompts/run-uat.md +7 -5
  365. package/src/resources/extensions/gsd/prompts/system.md +5 -2
  366. package/src/resources/extensions/gsd/prompts/triage-captures.md +1 -1
  367. package/src/resources/extensions/gsd/prompts/validate-milestone.md +1 -1
  368. package/src/resources/extensions/gsd/reactive-graph.ts +11 -1
  369. package/src/resources/extensions/gsd/roadmap-slices.ts +28 -3
  370. package/src/resources/extensions/gsd/safety/destructive-confirmation.ts +134 -0
  371. package/src/resources/extensions/gsd/session-lock.ts +1 -1
  372. package/src/resources/extensions/gsd/state.ts +5 -0
  373. package/src/resources/extensions/gsd/tests/auto-model-selection.test.ts +97 -1
  374. package/src/resources/extensions/gsd/tests/auto-orchestrator.test.ts +198 -26
  375. package/src/resources/extensions/gsd/tests/auto-remote-session-lock-cleanup.test.ts +65 -3
  376. package/src/resources/extensions/gsd/tests/auto-start-orphan-bootstrap.test.ts +236 -0
  377. package/src/resources/extensions/gsd/tests/blocked-models.test.ts +19 -0
  378. package/src/resources/extensions/gsd/tests/browser-daemon-auto-prep.test.ts +144 -0
  379. package/src/resources/extensions/gsd/tests/complete-slice-verification-gate.test.ts +42 -0
  380. package/src/resources/extensions/gsd/tests/consent-question.test.ts +351 -0
  381. package/src/resources/extensions/gsd/tests/custom-verify-retry-store.test.ts +67 -0
  382. package/src/resources/extensions/gsd/tests/db-writer.test.ts +15 -4
  383. package/src/resources/extensions/gsd/tests/deep-project-auto-loop.test.ts +10 -10
  384. package/src/resources/extensions/gsd/tests/destructive-confirmation.test.ts +303 -0
  385. package/src/resources/extensions/gsd/tests/discuss-routing-fixes.test.ts +12 -2
  386. package/src/resources/extensions/gsd/tests/dispatch-history.test.ts +273 -0
  387. package/src/resources/extensions/gsd/tests/doctor-git-checks-terminal.test.ts +73 -0
  388. package/src/resources/extensions/gsd/tests/dynamic-bash-no-cap.test.ts +132 -0
  389. package/src/resources/extensions/gsd/tests/engine-hook-contract.test.ts +148 -0
  390. package/src/resources/extensions/gsd/tests/exec-graceful-kill.test.ts +193 -0
  391. package/src/resources/extensions/gsd/tests/exec-tool.test.ts +29 -1
  392. package/src/resources/extensions/gsd/tests/gsd-command-home.test.ts +120 -0
  393. package/src/resources/extensions/gsd/tests/gsd-db.test.ts +27 -0
  394. package/src/resources/extensions/gsd/tests/guidance.test.ts +23 -0
  395. package/src/resources/extensions/gsd/tests/guided-dispatch-root.test.ts +2 -6
  396. package/src/resources/extensions/gsd/tests/integration/run-uat.test.ts +199 -0
  397. package/src/resources/extensions/gsd/tests/mcp-project-config.test.ts +3 -1
  398. package/src/resources/extensions/gsd/tests/milestone-closeout.test.ts +95 -4
  399. package/src/resources/extensions/gsd/tests/model-unittype-mapping.test.ts +32 -1
  400. package/src/resources/extensions/gsd/tests/oauth-api-model-routing.test.ts +167 -0
  401. package/src/resources/extensions/gsd/tests/parallel-research-dispatch.test.ts +18 -0
  402. package/src/resources/extensions/gsd/tests/parsers-legacy-importers.test.ts +138 -0
  403. package/src/resources/extensions/gsd/tests/phases-terminal-complete-idempotent.test.ts +242 -0
  404. package/src/resources/extensions/gsd/tests/post-exec-retry-bypass.test.ts +63 -2
  405. package/src/resources/extensions/gsd/tests/prompt-db.test.ts +124 -6
  406. package/src/resources/extensions/gsd/tests/roadmap-slices.test.ts +68 -0
  407. package/src/resources/extensions/gsd/tests/runtime-invariant-modules.test.ts +19 -1
  408. package/src/resources/extensions/gsd/tests/teardown-chdir-failure-clears-registry.test.ts +17 -0
  409. package/src/resources/extensions/gsd/tests/token-tool-gating.test.ts +41 -0
  410. package/src/resources/extensions/gsd/tests/tool-unavailable-retry.test.ts +33 -0
  411. package/src/resources/extensions/gsd/tests/transport-gate-double-complete.test.ts +139 -0
  412. package/src/resources/extensions/gsd/tests/uat-policy.test.ts +88 -0
  413. package/src/resources/extensions/gsd/tests/unit-context-composer.test.ts +44 -0
  414. package/src/resources/extensions/gsd/tests/uok-audit-unified.test.ts +8 -0
  415. package/src/resources/extensions/gsd/tests/verification-verdict.test.ts +2 -0
  416. package/src/resources/extensions/gsd/tests/workflow-events.test.ts +19 -0
  417. package/src/resources/extensions/gsd/tests/workflow-reconcile.test.ts +20 -0
  418. package/src/resources/extensions/gsd/tests/workflow-tool-executors.test.ts +273 -38
  419. package/src/resources/extensions/gsd/tests/worktree-teardown-safety.test.ts +22 -0
  420. package/src/resources/extensions/gsd/tests/worktree.test.ts +18 -0
  421. package/src/resources/extensions/gsd/tests/write-gate-seam.test.ts +358 -0
  422. package/src/resources/extensions/gsd/tests/write-gate.test.ts +67 -1
  423. package/src/resources/extensions/gsd/tool-contract.ts +38 -3
  424. package/src/resources/extensions/gsd/tool-presentation-plan.ts +4 -4
  425. package/src/resources/extensions/gsd/tools/complete-milestone.ts +3 -2
  426. package/src/resources/extensions/gsd/tools/complete-slice.ts +22 -12
  427. package/src/resources/extensions/gsd/tools/complete-task.ts +3 -2
  428. package/src/resources/extensions/gsd/tools/exec-tool.ts +4 -0
  429. package/src/resources/extensions/gsd/tools/plan-slice.ts +2 -2
  430. package/src/resources/extensions/gsd/tools/plan-task.ts +2 -2
  431. package/src/resources/extensions/gsd/tools/reassess-roadmap.ts +2 -2
  432. package/src/resources/extensions/gsd/tools/reopen-milestone.ts +2 -2
  433. package/src/resources/extensions/gsd/tools/reopen-slice.ts +2 -2
  434. package/src/resources/extensions/gsd/tools/reopen-task.ts +2 -2
  435. package/src/resources/extensions/gsd/tools/replan-slice.ts +2 -2
  436. package/src/resources/extensions/gsd/tools/workflow-tool-executors.ts +81 -2
  437. package/src/resources/extensions/gsd/uat-policy.ts +60 -15
  438. package/src/resources/extensions/gsd/unit-context-composer.ts +99 -0
  439. package/src/resources/extensions/gsd/verdict-parser.ts +1 -1
  440. package/src/resources/extensions/gsd/verification-verdict.ts +4 -2
  441. package/src/resources/extensions/gsd/workflow-event-ledger.ts +131 -0
  442. package/src/resources/extensions/gsd/workflow-event-vocabulary.ts +59 -0
  443. package/src/resources/extensions/gsd/workflow-events.ts +12 -20
  444. package/src/resources/extensions/gsd/workflow-reconcile.ts +29 -62
  445. package/src/resources/extensions/gsd/worktree-lifecycle.ts +3 -8
  446. package/src/resources/extensions/gsd/worktree-manager.ts +6 -1
  447. package/src/resources/extensions/gsd/worktree.ts +7 -1
  448. package/src/resources/extensions/shared/gsd-browser-cli.ts +54 -3
  449. package/src/resources/shared/gsd-browser-path-sync.ts +273 -0
  450. package/src/resources/shared/package-manager-detection.ts +1 -1
  451. package/src/resources/shared/package.json +3 -0
  452. package/src/resources/skills/create-skill/SKILL.md +3 -0
  453. package/src/resources/skills/create-skill/references/skill-structure.md +1 -0
  454. package/dist/resources/extensions/gsd/user-input-boundary.js +0 -218
  455. package/dist/resources/skills/gsd-browser/SKILL.md +0 -41
  456. package/src/resources/extensions/gsd/tests/user-input-boundary.test.ts +0 -173
  457. package/src/resources/extensions/gsd/user-input-boundary.ts +0 -216
  458. package/src/resources/skills/gsd-browser/SKILL.md +0 -41
  459. /package/dist/web/standalone/.next/static/{AOpDeK_gJHU8OZjRo31gQ → FBNo5cT_chy7YNoAQsU3o}/_buildManifest.js +0 -0
  460. /package/dist/web/standalone/.next/static/{AOpDeK_gJHU8OZjRo31gQ → FBNo5cT_chy7YNoAQsU3o}/_ssgManifest.js +0 -0
@@ -3092,13 +3092,30 @@ export const MODELS = {
3092
3092
  reasoning: true,
3093
3093
  input: ["text"],
3094
3094
  cost: {
3095
- input: 0.35,
3096
- output: 0.75,
3095
+ input: 0.25,
3096
+ output: 0.69,
3097
3097
  cacheRead: 0,
3098
3098
  cacheWrite: 0,
3099
3099
  },
3100
3100
  contextWindow: 131072,
3101
- maxTokens: 40960,
3101
+ maxTokens: 32768,
3102
+ },
3103
+ "llama3.1-8b": {
3104
+ id: "llama3.1-8b",
3105
+ name: "Llama 3.1 8B",
3106
+ api: "openai-completions",
3107
+ provider: "cerebras",
3108
+ baseUrl: "https://api.cerebras.ai/v1",
3109
+ reasoning: false,
3110
+ input: ["text"],
3111
+ cost: {
3112
+ input: 0.1,
3113
+ output: 0.1,
3114
+ cacheRead: 0,
3115
+ cacheWrite: 0,
3116
+ },
3117
+ contextWindow: 32000,
3118
+ maxTokens: 8000,
3102
3119
  },
3103
3120
  "zai-glm-4.7": {
3104
3121
  id: "zai-glm-4.7",
@@ -3106,7 +3123,7 @@ export const MODELS = {
3106
3123
  api: "openai-completions",
3107
3124
  provider: "cerebras",
3108
3125
  baseUrl: "https://api.cerebras.ai/v1",
3109
- reasoning: true,
3126
+ reasoning: false,
3110
3127
  input: ["text"],
3111
3128
  cost: {
3112
3129
  input: 2.25,
@@ -3115,7 +3132,7 @@ export const MODELS = {
3115
3132
  cacheWrite: 0,
3116
3133
  },
3117
3134
  contextWindow: 131072,
3118
- maxTokens: 40960,
3135
+ maxTokens: 40000,
3119
3136
  },
3120
3137
  },
3121
3138
  "cloudflare-ai-gateway": {
@@ -4246,26 +4263,6 @@ export const MODELS = {
4246
4263
  },
4247
4264
  },
4248
4265
  "github-copilot": {
4249
- "claude-fable-5": {
4250
- id: "claude-fable-5",
4251
- name: "Claude Fable 5",
4252
- api: "openai-completions",
4253
- provider: "github-copilot",
4254
- baseUrl: "https://api.individual.githubcopilot.com",
4255
- headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
4256
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false },
4257
- reasoning: true,
4258
- thinkingLevelMap: { "xhigh": "xhigh" },
4259
- input: ["text", "image"],
4260
- cost: {
4261
- input: 10,
4262
- output: 50,
4263
- cacheRead: 1,
4264
- cacheWrite: 12.5,
4265
- },
4266
- contextWindow: 1000000,
4267
- maxTokens: 128000,
4268
- },
4269
4266
  "claude-haiku-4.5": {
4270
4267
  id: "claude-haiku-4.5",
4271
4268
  name: "Claude Haiku 4.5 (latest)",
@@ -5198,9 +5195,77 @@ export const MODELS = {
5198
5195
  },
5199
5196
  },
5200
5197
  "groq": {
5198
+ "deepseek-r1-distill-llama-70b": {
5199
+ id: "deepseek-r1-distill-llama-70b",
5200
+ name: "DeepSeek R1 Distill Llama 70B",
5201
+ api: "openai-completions",
5202
+ provider: "groq",
5203
+ baseUrl: "https://api.groq.com/openai/v1",
5204
+ reasoning: true,
5205
+ input: ["text"],
5206
+ cost: {
5207
+ input: 0.75,
5208
+ output: 0.99,
5209
+ cacheRead: 0,
5210
+ cacheWrite: 0,
5211
+ },
5212
+ contextWindow: 131072,
5213
+ maxTokens: 8192,
5214
+ },
5215
+ "gemma2-9b-it": {
5216
+ id: "gemma2-9b-it",
5217
+ name: "Gemma 2 9B",
5218
+ api: "openai-completions",
5219
+ provider: "groq",
5220
+ baseUrl: "https://api.groq.com/openai/v1",
5221
+ reasoning: false,
5222
+ input: ["text"],
5223
+ cost: {
5224
+ input: 0.2,
5225
+ output: 0.2,
5226
+ cacheRead: 0,
5227
+ cacheWrite: 0,
5228
+ },
5229
+ contextWindow: 8192,
5230
+ maxTokens: 8192,
5231
+ },
5232
+ "groq/compound": {
5233
+ id: "groq/compound",
5234
+ name: "Compound",
5235
+ api: "openai-completions",
5236
+ provider: "groq",
5237
+ baseUrl: "https://api.groq.com/openai/v1",
5238
+ reasoning: true,
5239
+ input: ["text"],
5240
+ cost: {
5241
+ input: 0,
5242
+ output: 0,
5243
+ cacheRead: 0,
5244
+ cacheWrite: 0,
5245
+ },
5246
+ contextWindow: 131072,
5247
+ maxTokens: 8192,
5248
+ },
5249
+ "groq/compound-mini": {
5250
+ id: "groq/compound-mini",
5251
+ name: "Compound Mini",
5252
+ api: "openai-completions",
5253
+ provider: "groq",
5254
+ baseUrl: "https://api.groq.com/openai/v1",
5255
+ reasoning: true,
5256
+ input: ["text"],
5257
+ cost: {
5258
+ input: 0,
5259
+ output: 0,
5260
+ cacheRead: 0,
5261
+ cacheWrite: 0,
5262
+ },
5263
+ contextWindow: 131072,
5264
+ maxTokens: 8192,
5265
+ },
5201
5266
  "llama-3.1-8b-instant": {
5202
5267
  id: "llama-3.1-8b-instant",
5203
- name: "Llama 3.1 8B",
5268
+ name: "Llama 3.1 8B Instant",
5204
5269
  api: "openai-completions",
5205
5270
  provider: "groq",
5206
5271
  baseUrl: "https://api.groq.com/openai/v1",
@@ -5217,7 +5282,7 @@ export const MODELS = {
5217
5282
  },
5218
5283
  "llama-3.3-70b-versatile": {
5219
5284
  id: "llama-3.3-70b-versatile",
5220
- name: "Llama 3.3 70B",
5285
+ name: "Llama 3.3 70B Versatile",
5221
5286
  api: "openai-completions",
5222
5287
  provider: "groq",
5223
5288
  baseUrl: "https://api.groq.com/openai/v1",
@@ -5232,9 +5297,60 @@ export const MODELS = {
5232
5297
  contextWindow: 131072,
5233
5298
  maxTokens: 32768,
5234
5299
  },
5300
+ "llama3-70b-8192": {
5301
+ id: "llama3-70b-8192",
5302
+ name: "Llama 3 70B",
5303
+ api: "openai-completions",
5304
+ provider: "groq",
5305
+ baseUrl: "https://api.groq.com/openai/v1",
5306
+ reasoning: false,
5307
+ input: ["text"],
5308
+ cost: {
5309
+ input: 0.59,
5310
+ output: 0.79,
5311
+ cacheRead: 0,
5312
+ cacheWrite: 0,
5313
+ },
5314
+ contextWindow: 8192,
5315
+ maxTokens: 8192,
5316
+ },
5317
+ "llama3-8b-8192": {
5318
+ id: "llama3-8b-8192",
5319
+ name: "Llama 3 8B",
5320
+ api: "openai-completions",
5321
+ provider: "groq",
5322
+ baseUrl: "https://api.groq.com/openai/v1",
5323
+ reasoning: false,
5324
+ input: ["text"],
5325
+ cost: {
5326
+ input: 0.05,
5327
+ output: 0.08,
5328
+ cacheRead: 0,
5329
+ cacheWrite: 0,
5330
+ },
5331
+ contextWindow: 8192,
5332
+ maxTokens: 8192,
5333
+ },
5334
+ "meta-llama/llama-4-maverick-17b-128e-instruct": {
5335
+ id: "meta-llama/llama-4-maverick-17b-128e-instruct",
5336
+ name: "Llama 4 Maverick 17B",
5337
+ api: "openai-completions",
5338
+ provider: "groq",
5339
+ baseUrl: "https://api.groq.com/openai/v1",
5340
+ reasoning: false,
5341
+ input: ["text", "image"],
5342
+ cost: {
5343
+ input: 0.2,
5344
+ output: 0.6,
5345
+ cacheRead: 0,
5346
+ cacheWrite: 0,
5347
+ },
5348
+ contextWindow: 131072,
5349
+ maxTokens: 8192,
5350
+ },
5235
5351
  "meta-llama/llama-4-scout-17b-16e-instruct": {
5236
5352
  id: "meta-llama/llama-4-scout-17b-16e-instruct",
5237
- name: "Llama 4 Scout 17B 16E",
5353
+ name: "Llama 4 Scout 17B",
5238
5354
  api: "openai-completions",
5239
5355
  provider: "groq",
5240
5356
  baseUrl: "https://api.groq.com/openai/v1",
@@ -5249,6 +5365,57 @@ export const MODELS = {
5249
5365
  contextWindow: 131072,
5250
5366
  maxTokens: 8192,
5251
5367
  },
5368
+ "mistral-saba-24b": {
5369
+ id: "mistral-saba-24b",
5370
+ name: "Mistral Saba 24B",
5371
+ api: "openai-completions",
5372
+ provider: "groq",
5373
+ baseUrl: "https://api.groq.com/openai/v1",
5374
+ reasoning: false,
5375
+ input: ["text"],
5376
+ cost: {
5377
+ input: 0.79,
5378
+ output: 0.79,
5379
+ cacheRead: 0,
5380
+ cacheWrite: 0,
5381
+ },
5382
+ contextWindow: 32768,
5383
+ maxTokens: 32768,
5384
+ },
5385
+ "moonshotai/kimi-k2-instruct": {
5386
+ id: "moonshotai/kimi-k2-instruct",
5387
+ name: "Kimi K2 Instruct",
5388
+ api: "openai-completions",
5389
+ provider: "groq",
5390
+ baseUrl: "https://api.groq.com/openai/v1",
5391
+ reasoning: false,
5392
+ input: ["text"],
5393
+ cost: {
5394
+ input: 1,
5395
+ output: 3,
5396
+ cacheRead: 0,
5397
+ cacheWrite: 0,
5398
+ },
5399
+ contextWindow: 131072,
5400
+ maxTokens: 16384,
5401
+ },
5402
+ "moonshotai/kimi-k2-instruct-0905": {
5403
+ id: "moonshotai/kimi-k2-instruct-0905",
5404
+ name: "Kimi K2 Instruct 0905",
5405
+ api: "openai-completions",
5406
+ provider: "groq",
5407
+ baseUrl: "https://api.groq.com/openai/v1",
5408
+ reasoning: false,
5409
+ input: ["text"],
5410
+ cost: {
5411
+ input: 1,
5412
+ output: 3,
5413
+ cacheRead: 0.5,
5414
+ cacheWrite: 0,
5415
+ },
5416
+ contextWindow: 262144,
5417
+ maxTokens: 16384,
5418
+ },
5252
5419
  "openai/gpt-oss-120b": {
5253
5420
  id: "openai/gpt-oss-120b",
5254
5421
  name: "GPT OSS 120B",
@@ -5300,9 +5467,26 @@ export const MODELS = {
5300
5467
  contextWindow: 131072,
5301
5468
  maxTokens: 65536,
5302
5469
  },
5470
+ "qwen-qwq-32b": {
5471
+ id: "qwen-qwq-32b",
5472
+ name: "Qwen QwQ 32B",
5473
+ api: "openai-completions",
5474
+ provider: "groq",
5475
+ baseUrl: "https://api.groq.com/openai/v1",
5476
+ reasoning: true,
5477
+ input: ["text"],
5478
+ cost: {
5479
+ input: 0.29,
5480
+ output: 0.39,
5481
+ cacheRead: 0,
5482
+ cacheWrite: 0,
5483
+ },
5484
+ contextWindow: 131072,
5485
+ maxTokens: 16384,
5486
+ },
5303
5487
  "qwen/qwen3-32b": {
5304
5488
  id: "qwen/qwen3-32b",
5305
- name: "Qwen3-32B",
5489
+ name: "Qwen3 32B",
5306
5490
  api: "openai-completions",
5307
5491
  provider: "groq",
5308
5492
  baseUrl: "https://api.groq.com/openai/v1",
@@ -7497,25 +7681,6 @@ export const MODELS = {
7497
7681
  contextWindow: 200000,
7498
7682
  maxTokens: 32000,
7499
7683
  },
7500
- "claude-fable-5": {
7501
- id: "claude-fable-5",
7502
- name: "Claude Fable 5",
7503
- api: "anthropic-messages",
7504
- provider: "opencode",
7505
- baseUrl: "https://opencode.ai/zen",
7506
- compat: { "forceAdaptiveThinking": true },
7507
- reasoning: true,
7508
- thinkingLevelMap: { "xhigh": "xhigh" },
7509
- input: ["text", "image"],
7510
- cost: {
7511
- input: 10,
7512
- output: 50,
7513
- cacheRead: 1,
7514
- cacheWrite: 12.5,
7515
- },
7516
- contextWindow: 1000000,
7517
- maxTokens: 128000,
7518
- },
7519
7684
  "claude-haiku-4-5": {
7520
7685
  id: "claude-haiku-4-5",
7521
7686
  name: "Claude Haiku 4.5",
@@ -7689,7 +7854,7 @@ export const MODELS = {
7689
7854
  cost: {
7690
7855
  input: 0.14,
7691
7856
  output: 0.28,
7692
- cacheRead: 0.028,
7857
+ cacheRead: 0.03,
7693
7858
  cacheWrite: 0,
7694
7859
  },
7695
7860
  contextWindow: 1000000,
@@ -7714,25 +7879,6 @@ export const MODELS = {
7714
7879
  contextWindow: 200000,
7715
7880
  maxTokens: 128000,
7716
7881
  },
7717
- "deepseek-v4-pro": {
7718
- id: "deepseek-v4-pro",
7719
- name: "DeepSeek V4 Pro",
7720
- api: "openai-completions",
7721
- provider: "opencode",
7722
- baseUrl: "https://opencode.ai/zen/v1",
7723
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
7724
- reasoning: true,
7725
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
7726
- input: ["text"],
7727
- cost: {
7728
- input: 1.74,
7729
- output: 3.84,
7730
- cacheRead: 0.145,
7731
- cacheWrite: 0,
7732
- },
7733
- contextWindow: 1000000,
7734
- maxTokens: 384000,
7735
- },
7736
7882
  "gemini-3-flash": {
7737
7883
  id: "gemini-3-flash",
7738
7884
  name: "Gemini 3 Flash",
@@ -8228,23 +8374,6 @@ export const MODELS = {
8228
8374
  contextWindow: 1000000,
8229
8375
  maxTokens: 128000,
8230
8376
  },
8231
- "north-mini-code-free": {
8232
- id: "north-mini-code-free",
8233
- name: "North Mini Code Free",
8234
- api: "openai-completions",
8235
- provider: "opencode",
8236
- baseUrl: "https://opencode.ai/zen/v1",
8237
- reasoning: true,
8238
- input: ["text"],
8239
- cost: {
8240
- input: 0,
8241
- output: 0,
8242
- cacheRead: 0,
8243
- cacheWrite: 0,
8244
- },
8245
- contextWindow: 256000,
8246
- maxTokens: 64000,
8247
- },
8248
8377
  "qwen3.5-plus": {
8249
8378
  id: "qwen3.5-plus",
8250
8379
  name: "Qwen3.5 Plus",
@@ -9108,7 +9237,7 @@ export const MODELS = {
9108
9237
  cacheRead: 0.135,
9109
9238
  cacheWrite: 0,
9110
9239
  },
9111
- contextWindow: 131072,
9240
+ contextWindow: 163840,
9112
9241
  maxTokens: 16384,
9113
9242
  },
9114
9243
  "deepseek/deepseek-chat-v3.1": {
@@ -9550,12 +9679,12 @@ export const MODELS = {
9550
9679
  input: ["text", "image"],
9551
9680
  cost: {
9552
9681
  input: 0.12,
9553
- output: 0.35,
9682
+ output: 0.36,
9554
9683
  cacheRead: 0.09,
9555
9684
  cacheWrite: 0,
9556
9685
  },
9557
9686
  contextWindow: 262144,
9558
- maxTokens: 262144,
9687
+ maxTokens: 8192,
9559
9688
  },
9560
9689
  "google/gemma-4-31b-it:free": {
9561
9690
  id: "google/gemma-4-31b-it:free",
@@ -9856,9 +9985,9 @@ export const MODELS = {
9856
9985
  reasoning: true,
9857
9986
  input: ["text"],
9858
9987
  cost: {
9859
- input: 0.25,
9860
- output: 1,
9861
- cacheRead: 0.05,
9988
+ input: 0.27,
9989
+ output: 1.08,
9990
+ cacheRead: 0.054,
9862
9991
  cacheWrite: 0,
9863
9992
  },
9864
9993
  contextWindow: 204800,
@@ -10247,13 +10376,30 @@ export const MODELS = {
10247
10376
  reasoning: true,
10248
10377
  input: ["text", "image"],
10249
10378
  cost: {
10250
- input: 0.67,
10251
- output: 3.39,
10252
- cacheRead: 0.14,
10379
+ input: 0.68,
10380
+ output: 3.41,
10381
+ cacheRead: 0.34,
10253
10382
  cacheWrite: 0,
10254
10383
  },
10255
10384
  contextWindow: 262144,
10256
- maxTokens: 262144,
10385
+ maxTokens: 262142,
10386
+ },
10387
+ "moonshotai/kimi-k2.6:free": {
10388
+ id: "moonshotai/kimi-k2.6:free",
10389
+ name: "MoonshotAI: Kimi K2.6 (free)",
10390
+ api: "openai-completions",
10391
+ provider: "openrouter",
10392
+ baseUrl: "https://openrouter.ai/api/v1",
10393
+ reasoning: true,
10394
+ input: ["text", "image"],
10395
+ cost: {
10396
+ input: 0,
10397
+ output: 0,
10398
+ cacheRead: 0,
10399
+ cacheWrite: 0,
10400
+ },
10401
+ contextWindow: 262144,
10402
+ maxTokens: 4096,
10257
10403
  },
10258
10404
  "nex-agi/nex-n2-pro:free": {
10259
10405
  id: "nex-agi/nex-n2-pro:free",
@@ -10425,6 +10571,23 @@ export const MODELS = {
10425
10571
  contextWindow: 128000,
10426
10572
  maxTokens: 128000,
10427
10573
  },
10574
+ "nvidia/nemotron-nano-9b-v2": {
10575
+ id: "nvidia/nemotron-nano-9b-v2",
10576
+ name: "NVIDIA: Nemotron Nano 9B V2",
10577
+ api: "openai-completions",
10578
+ provider: "openrouter",
10579
+ baseUrl: "https://openrouter.ai/api/v1",
10580
+ reasoning: true,
10581
+ input: ["text"],
10582
+ cost: {
10583
+ input: 0.04,
10584
+ output: 0.16,
10585
+ cacheRead: 0,
10586
+ cacheWrite: 0,
10587
+ },
10588
+ contextWindow: 131072,
10589
+ maxTokens: 16384,
10590
+ },
10428
10591
  "nvidia/nemotron-nano-9b-v2:free": {
10429
10592
  id: "nvidia/nemotron-nano-9b-v2:free",
10430
10593
  name: "NVIDIA: Nemotron Nano 9B V2 (free)",
@@ -12163,13 +12326,13 @@ export const MODELS = {
12163
12326
  reasoning: true,
12164
12327
  input: ["text", "image"],
12165
12328
  cost: {
12166
- input: 0.15,
12329
+ input: 0.14,
12167
12330
  output: 1,
12168
- cacheRead: 0.05,
12331
+ cacheRead: 0,
12169
12332
  cacheWrite: 0,
12170
12333
  },
12171
12334
  contextWindow: 262144,
12172
- maxTokens: 262144,
12335
+ maxTokens: 262140,
12173
12336
  },
12174
12337
  "qwen/qwen3.6-flash": {
12175
12338
  id: "qwen/qwen3.6-flash",
@@ -12248,10 +12411,10 @@ export const MODELS = {
12248
12411
  reasoning: true,
12249
12412
  input: ["text", "image"],
12250
12413
  cost: {
12251
- input: 0.32,
12252
- output: 1.28,
12253
- cacheRead: 0.064,
12254
- cacheWrite: 0.4,
12414
+ input: 0.4,
12415
+ output: 1.6,
12416
+ cacheRead: 0.08,
12417
+ cacheWrite: 0.5,
12255
12418
  },
12256
12419
  contextWindow: 1000000,
12257
12420
  maxTokens: 65536,
@@ -12511,6 +12674,23 @@ export const MODELS = {
12511
12674
  contextWindow: 1048576,
12512
12675
  maxTokens: 131072,
12513
12676
  },
12677
+ "z-ai/glm-4-32b": {
12678
+ id: "z-ai/glm-4-32b",
12679
+ name: "Z.ai: GLM 4 32B ",
12680
+ api: "openai-completions",
12681
+ provider: "openrouter",
12682
+ baseUrl: "https://openrouter.ai/api/v1",
12683
+ reasoning: false,
12684
+ input: ["text"],
12685
+ cost: {
12686
+ input: 0.1,
12687
+ output: 0.1,
12688
+ cacheRead: 0,
12689
+ cacheWrite: 0,
12690
+ },
12691
+ contextWindow: 128000,
12692
+ maxTokens: 4096,
12693
+ },
12514
12694
  "z-ai/glm-4.5": {
12515
12695
  id: "z-ai/glm-4.5",
12516
12696
  name: "Z.ai: GLM 4.5",
@@ -12545,6 +12725,23 @@ export const MODELS = {
12545
12725
  contextWindow: 131072,
12546
12726
  maxTokens: 131070,
12547
12727
  },
12728
+ "z-ai/glm-4.5-air:free": {
12729
+ id: "z-ai/glm-4.5-air:free",
12730
+ name: "Z.ai: GLM 4.5 Air (free)",
12731
+ api: "openai-completions",
12732
+ provider: "openrouter",
12733
+ baseUrl: "https://openrouter.ai/api/v1",
12734
+ reasoning: true,
12735
+ input: ["text"],
12736
+ cost: {
12737
+ input: 0,
12738
+ output: 0,
12739
+ cacheRead: 0,
12740
+ cacheWrite: 0,
12741
+ },
12742
+ contextWindow: 131072,
12743
+ maxTokens: 96000,
12744
+ },
12548
12745
  "z-ai/glm-4.5v": {
12549
12746
  id: "z-ai/glm-4.5v",
12550
12747
  name: "Z.ai: GLM 4.5V",
@@ -12590,11 +12787,11 @@ export const MODELS = {
12590
12787
  cost: {
12591
12788
  input: 0.3,
12592
12789
  output: 0.9,
12593
- cacheRead: 0.055,
12790
+ cacheRead: 0.05,
12594
12791
  cacheWrite: 0,
12595
12792
  },
12596
12793
  contextWindow: 131072,
12597
- maxTokens: 32768,
12794
+ maxTokens: 24000,
12598
12795
  },
12599
12796
  "z-ai/glm-4.7": {
12600
12797
  id: "z-ai/glm-4.7",
@@ -12661,7 +12858,7 @@ export const MODELS = {
12661
12858
  cacheRead: 0.24,
12662
12859
  cacheWrite: 0,
12663
12860
  },
12664
- contextWindow: 262144,
12861
+ contextWindow: 202752,
12665
12862
  maxTokens: 131072,
12666
12863
  },
12667
12864
  "z-ai/glm-5.1": {
@@ -12681,22 +12878,22 @@ export const MODELS = {
12681
12878
  contextWindow: 202752,
12682
12879
  maxTokens: 4096,
12683
12880
  },
12684
- "~anthropic/claude-fable-latest": {
12685
- id: "~anthropic/claude-fable-latest",
12686
- name: "Anthropic: Claude Fable Latest",
12881
+ "z-ai/glm-5v-turbo": {
12882
+ id: "z-ai/glm-5v-turbo",
12883
+ name: "Z.ai: GLM 5V Turbo",
12687
12884
  api: "openai-completions",
12688
12885
  provider: "openrouter",
12689
12886
  baseUrl: "https://openrouter.ai/api/v1",
12690
12887
  reasoning: true,
12691
12888
  input: ["text", "image"],
12692
12889
  cost: {
12693
- input: 10,
12694
- output: 50,
12695
- cacheRead: 1,
12696
- cacheWrite: 12.5,
12890
+ input: 1.2,
12891
+ output: 4,
12892
+ cacheRead: 0.24,
12893
+ cacheWrite: 0,
12697
12894
  },
12698
- contextWindow: 1000000,
12699
- maxTokens: 128000,
12895
+ contextWindow: 202752,
12896
+ maxTokens: 131072,
12700
12897
  },
12701
12898
  "~anthropic/claude-haiku-latest": {
12702
12899
  id: "~anthropic/claude-haiku-latest",
@@ -12792,13 +12989,13 @@ export const MODELS = {
12792
12989
  reasoning: true,
12793
12990
  input: ["text", "image"],
12794
12991
  cost: {
12795
- input: 0.67,
12796
- output: 3.39,
12797
- cacheRead: 0.14,
12992
+ input: 0.68,
12993
+ output: 3.41,
12994
+ cacheRead: 0.34,
12798
12995
  cacheWrite: 0,
12799
12996
  },
12800
12997
  contextWindow: 262144,
12801
- maxTokens: 262144,
12998
+ maxTokens: 262142,
12802
12999
  },
12803
13000
  "~openai/gpt-latest": {
12804
13001
  id: "~openai/gpt-latest",
@@ -12836,9 +13033,9 @@ export const MODELS = {
12836
13033
  },
12837
13034
  },
12838
13035
  "together": {
12839
- "MiniMaxAI/MiniMax-M2.7": {
12840
- id: "MiniMaxAI/MiniMax-M2.7",
12841
- name: "MiniMax-M2.7",
13036
+ "MiniMaxAI/MiniMax-M2.5": {
13037
+ id: "MiniMaxAI/MiniMax-M2.5",
13038
+ name: "MiniMax-M2.5",
12842
13039
  api: "openai-completions",
12843
13040
  provider: "together",
12844
13041
  baseUrl: "https://api.together.ai/v1",
@@ -12852,26 +13049,27 @@ export const MODELS = {
12852
13049
  cacheRead: 0.06,
12853
13050
  cacheWrite: 0,
12854
13051
  },
12855
- contextWindow: 202752,
13052
+ contextWindow: 204800,
12856
13053
  maxTokens: 131072,
12857
13054
  },
12858
- "Qwen/Qwen2.5-7B-Instruct-Turbo": {
12859
- id: "Qwen/Qwen2.5-7B-Instruct-Turbo",
12860
- name: "Qwen 2.5 7B Instruct Turbo",
13055
+ "MiniMaxAI/MiniMax-M2.7": {
13056
+ id: "MiniMaxAI/MiniMax-M2.7",
13057
+ name: "MiniMax-M2.7",
12861
13058
  api: "openai-completions",
12862
13059
  provider: "together",
12863
13060
  baseUrl: "https://api.together.ai/v1",
12864
13061
  compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
12865
- reasoning: false,
13062
+ reasoning: true,
13063
+ thinkingLevelMap: { "off": null, "minimal": null, "low": null, "medium": null },
12866
13064
  input: ["text"],
12867
13065
  cost: {
12868
13066
  input: 0.3,
12869
- output: 0.3,
12870
- cacheRead: 0,
13067
+ output: 1.2,
13068
+ cacheRead: 0.06,
12871
13069
  cacheWrite: 0,
12872
13070
  },
12873
- contextWindow: 32768,
12874
- maxTokens: 32768,
13071
+ contextWindow: 202752,
13072
+ maxTokens: 131072,
12875
13073
  },
12876
13074
  "Qwen/Qwen3-235B-A22B-Instruct-2507-tput": {
12877
13075
  id: "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
@@ -12879,8 +13077,9 @@ export const MODELS = {
12879
13077
  api: "openai-completions",
12880
13078
  provider: "together",
12881
13079
  baseUrl: "https://api.together.ai/v1",
12882
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
12883
- reasoning: false,
13080
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13081
+ reasoning: true,
13082
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
12884
13083
  input: ["text"],
12885
13084
  cost: {
12886
13085
  input: 0.2,
@@ -12891,28 +13090,46 @@ export const MODELS = {
12891
13090
  contextWindow: 262144,
12892
13091
  maxTokens: 262144,
12893
13092
  },
12894
- "Qwen/Qwen3.5-397B-A17B": {
12895
- id: "Qwen/Qwen3.5-397B-A17B",
12896
- name: "Qwen3.5 397B A17B",
13093
+ "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": {
13094
+ id: "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
13095
+ name: "Qwen3 Coder 480B A35B Instruct",
13096
+ api: "openai-completions",
13097
+ provider: "together",
13098
+ baseUrl: "https://api.together.ai/v1",
13099
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
13100
+ reasoning: false,
13101
+ input: ["text"],
13102
+ cost: {
13103
+ input: 2,
13104
+ output: 2,
13105
+ cacheRead: 0,
13106
+ cacheWrite: 0,
13107
+ },
13108
+ contextWindow: 262144,
13109
+ maxTokens: 262144,
13110
+ },
13111
+ "Qwen/Qwen3-Coder-Next-FP8": {
13112
+ id: "Qwen/Qwen3-Coder-Next-FP8",
13113
+ name: "Qwen3 Coder Next FP8",
12897
13114
  api: "openai-completions",
12898
13115
  provider: "together",
12899
13116
  baseUrl: "https://api.together.ai/v1",
12900
13117
  compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
12901
13118
  reasoning: true,
12902
13119
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
12903
- input: ["text", "image"],
13120
+ input: ["text"],
12904
13121
  cost: {
12905
- input: 0.6,
12906
- output: 3.6,
13122
+ input: 0.5,
13123
+ output: 1.2,
12907
13124
  cacheRead: 0,
12908
13125
  cacheWrite: 0,
12909
13126
  },
12910
13127
  contextWindow: 262144,
12911
- maxTokens: 130000,
13128
+ maxTokens: 262144,
12912
13129
  },
12913
- "Qwen/Qwen3.5-9B": {
12914
- id: "Qwen/Qwen3.5-9B",
12915
- name: "Qwen3.5 9B",
13130
+ "Qwen/Qwen3.5-397B-A17B": {
13131
+ id: "Qwen/Qwen3.5-397B-A17B",
13132
+ name: "Qwen3.5 397B A17B",
12916
13133
  api: "openai-completions",
12917
13134
  provider: "together",
12918
13135
  baseUrl: "https://api.together.ai/v1",
@@ -12921,13 +13138,13 @@ export const MODELS = {
12921
13138
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
12922
13139
  input: ["text", "image"],
12923
13140
  cost: {
12924
- input: 0.17,
12925
- output: 0.25,
13141
+ input: 0.6,
13142
+ output: 3.6,
12926
13143
  cacheRead: 0,
12927
13144
  cacheWrite: 0,
12928
13145
  },
12929
13146
  contextWindow: 262144,
12930
- maxTokens: 65536,
13147
+ maxTokens: 130000,
12931
13148
  },
12932
13149
  "Qwen/Qwen3.6-Plus": {
12933
13150
  id: "Qwen/Qwen3.6-Plus",
@@ -12954,8 +13171,9 @@ export const MODELS = {
12954
13171
  api: "openai-completions",
12955
13172
  provider: "together",
12956
13173
  baseUrl: "https://api.together.ai/v1",
12957
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
12958
- reasoning: false,
13174
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13175
+ reasoning: true,
13176
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
12959
13177
  input: ["text"],
12960
13178
  cost: {
12961
13179
  input: 2.5,
@@ -12966,6 +13184,44 @@ export const MODELS = {
12966
13184
  contextWindow: 1000000,
12967
13185
  maxTokens: 500000,
12968
13186
  },
13187
+ "deepseek-ai/DeepSeek-V3": {
13188
+ id: "deepseek-ai/DeepSeek-V3",
13189
+ name: "DeepSeek-V3",
13190
+ api: "openai-completions",
13191
+ provider: "together",
13192
+ baseUrl: "https://api.together.ai/v1",
13193
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13194
+ reasoning: true,
13195
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13196
+ input: ["text"],
13197
+ cost: {
13198
+ input: 1.25,
13199
+ output: 1.25,
13200
+ cacheRead: 0,
13201
+ cacheWrite: 0,
13202
+ },
13203
+ contextWindow: 131072,
13204
+ maxTokens: 131072,
13205
+ },
13206
+ "deepseek-ai/DeepSeek-V3-1": {
13207
+ id: "deepseek-ai/DeepSeek-V3-1",
13208
+ name: "DeepSeek V3.1",
13209
+ api: "openai-completions",
13210
+ provider: "together",
13211
+ baseUrl: "https://api.together.ai/v1",
13212
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13213
+ reasoning: true,
13214
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13215
+ input: ["text"],
13216
+ cost: {
13217
+ input: 0.6,
13218
+ output: 1.7,
13219
+ cacheRead: 0,
13220
+ cacheWrite: 0,
13221
+ },
13222
+ contextWindow: 131072,
13223
+ maxTokens: 131072,
13224
+ },
12969
13225
  "deepseek-ai/DeepSeek-V4-Pro": {
12970
13226
  id: "deepseek-ai/DeepSeek-V4-Pro",
12971
13227
  name: "DeepSeek V4 Pro",
@@ -12977,8 +13233,8 @@ export const MODELS = {
12977
13233
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": null },
12978
13234
  input: ["text"],
12979
13235
  cost: {
12980
- input: 1.74,
12981
- output: 3.48,
13236
+ input: 2.1,
13237
+ output: 4.4,
12982
13238
  cacheRead: 0.2,
12983
13239
  cacheWrite: 0,
12984
13240
  },
@@ -13014,8 +13270,8 @@ export const MODELS = {
13014
13270
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13015
13271
  input: ["text", "image"],
13016
13272
  cost: {
13017
- input: 0.39,
13018
- output: 0.97,
13273
+ input: 0.2,
13274
+ output: 0.5,
13019
13275
  cacheRead: 0,
13020
13276
  cacheWrite: 0,
13021
13277
  },
@@ -13040,6 +13296,25 @@ export const MODELS = {
13040
13296
  contextWindow: 131072,
13041
13297
  maxTokens: 131072,
13042
13298
  },
13299
+ "moonshotai/Kimi-K2.5": {
13300
+ id: "moonshotai/Kimi-K2.5",
13301
+ name: "Kimi K2.5",
13302
+ api: "openai-completions",
13303
+ provider: "together",
13304
+ baseUrl: "https://api.together.ai/v1",
13305
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13306
+ reasoning: true,
13307
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13308
+ input: ["text", "image"],
13309
+ cost: {
13310
+ input: 0.5,
13311
+ output: 2.8,
13312
+ cacheRead: 0,
13313
+ cacheWrite: 0,
13314
+ },
13315
+ contextWindow: 262144,
13316
+ maxTokens: 262144,
13317
+ },
13043
13318
  "moonshotai/Kimi-K2.6": {
13044
13319
  id: "moonshotai/Kimi-K2.6",
13045
13320
  name: "Kimi K2.6",
@@ -13097,44 +13372,6 @@ export const MODELS = {
13097
13372
  contextWindow: 131072,
13098
13373
  maxTokens: 131072,
13099
13374
  },
13100
- "openai/gpt-oss-20b": {
13101
- id: "openai/gpt-oss-20b",
13102
- name: "GPT OSS 20B",
13103
- api: "openai-completions",
13104
- provider: "together",
13105
- baseUrl: "https://api.together.ai/v1",
13106
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": true, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "openai" },
13107
- reasoning: true,
13108
- thinkingLevelMap: { "off": null, "minimal": null },
13109
- input: ["text"],
13110
- cost: {
13111
- input: 0.05,
13112
- output: 0.2,
13113
- cacheRead: 0,
13114
- cacheWrite: 0,
13115
- },
13116
- contextWindow: 131072,
13117
- maxTokens: 131072,
13118
- },
13119
- "zai-org/GLM-5": {
13120
- id: "zai-org/GLM-5",
13121
- name: "GLM-5",
13122
- api: "openai-completions",
13123
- provider: "together",
13124
- baseUrl: "https://api.together.ai/v1",
13125
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13126
- reasoning: true,
13127
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13128
- input: ["text"],
13129
- cost: {
13130
- input: 1,
13131
- output: 3.2,
13132
- cacheRead: 0,
13133
- cacheWrite: 0,
13134
- },
13135
- contextWindow: 202752,
13136
- maxTokens: 131072,
13137
- },
13138
13375
  "zai-org/GLM-5.1": {
13139
13376
  id: "zai-org/GLM-5.1",
13140
13377
  name: "GLM-5.1",
@@ -14712,6 +14949,40 @@ export const MODELS = {
14712
14949
  contextWindow: 262114,
14713
14950
  maxTokens: 262114,
14714
14951
  },
14952
+ "moonshotai/kimi-k2-thinking-turbo": {
14953
+ id: "moonshotai/kimi-k2-thinking-turbo",
14954
+ name: "Kimi K2 Thinking Turbo",
14955
+ api: "anthropic-messages",
14956
+ provider: "vercel-ai-gateway",
14957
+ baseUrl: "https://ai-gateway.vercel.sh",
14958
+ reasoning: true,
14959
+ input: ["text"],
14960
+ cost: {
14961
+ input: 1.15,
14962
+ output: 8,
14963
+ cacheRead: 0.15,
14964
+ cacheWrite: 0,
14965
+ },
14966
+ contextWindow: 262114,
14967
+ maxTokens: 262114,
14968
+ },
14969
+ "moonshotai/kimi-k2-turbo": {
14970
+ id: "moonshotai/kimi-k2-turbo",
14971
+ name: "Kimi K2 Turbo",
14972
+ api: "anthropic-messages",
14973
+ provider: "vercel-ai-gateway",
14974
+ baseUrl: "https://ai-gateway.vercel.sh",
14975
+ reasoning: false,
14976
+ input: ["text"],
14977
+ cost: {
14978
+ input: 1.15,
14979
+ output: 8,
14980
+ cacheRead: 0.15,
14981
+ cacheWrite: 0,
14982
+ },
14983
+ contextWindow: 256000,
14984
+ maxTokens: 16384,
14985
+ },
14715
14986
  "moonshotai/kimi-k2.5": {
14716
14987
  id: "moonshotai/kimi-k2.5",
14717
14988
  name: "Kimi K2.5",
@@ -16212,24 +16483,6 @@ export const MODELS = {
16212
16483
  contextWindow: 1048576,
16213
16484
  maxTokens: 131072,
16214
16485
  },
16215
- "mimo-v2.5-pro-ultraspeed": {
16216
- id: "mimo-v2.5-pro-ultraspeed",
16217
- name: "MiMo-V2.5-Pro-UltraSpeed",
16218
- api: "openai-completions",
16219
- provider: "xiaomi",
16220
- baseUrl: "https://api.xiaomimimo.com/v1",
16221
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
16222
- reasoning: true,
16223
- input: ["text"],
16224
- cost: {
16225
- input: 1.305,
16226
- output: 2.61,
16227
- cacheRead: 0.0108,
16228
- cacheWrite: 0,
16229
- },
16230
- contextWindow: 1048576,
16231
- maxTokens: 131072,
16232
- },
16233
16486
  },
16234
16487
  "xiaomi-token-plan-ams": {
16235
16488
  "mimo-v2-flash": {
@@ -16322,24 +16575,6 @@ export const MODELS = {
16322
16575
  contextWindow: 1048576,
16323
16576
  maxTokens: 131072,
16324
16577
  },
16325
- "mimo-v2.5-pro-ultraspeed": {
16326
- id: "mimo-v2.5-pro-ultraspeed",
16327
- name: "MiMo-V2.5-Pro-UltraSpeed",
16328
- api: "openai-completions",
16329
- provider: "xiaomi-token-plan-ams",
16330
- baseUrl: "https://token-plan-ams.xiaomimimo.com/v1",
16331
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
16332
- reasoning: true,
16333
- input: ["text"],
16334
- cost: {
16335
- input: 1.305,
16336
- output: 2.61,
16337
- cacheRead: 0.0108,
16338
- cacheWrite: 0,
16339
- },
16340
- contextWindow: 1048576,
16341
- maxTokens: 131072,
16342
- },
16343
16578
  },
16344
16579
  "xiaomi-token-plan-cn": {
16345
16580
  "mimo-v2-flash": {
@@ -16432,24 +16667,6 @@ export const MODELS = {
16432
16667
  contextWindow: 1048576,
16433
16668
  maxTokens: 131072,
16434
16669
  },
16435
- "mimo-v2.5-pro-ultraspeed": {
16436
- id: "mimo-v2.5-pro-ultraspeed",
16437
- name: "MiMo-V2.5-Pro-UltraSpeed",
16438
- api: "openai-completions",
16439
- provider: "xiaomi-token-plan-cn",
16440
- baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
16441
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
16442
- reasoning: true,
16443
- input: ["text"],
16444
- cost: {
16445
- input: 1.305,
16446
- output: 2.61,
16447
- cacheRead: 0.0108,
16448
- cacheWrite: 0,
16449
- },
16450
- contextWindow: 1048576,
16451
- maxTokens: 131072,
16452
- },
16453
16670
  },
16454
16671
  "xiaomi-token-plan-sgp": {
16455
16672
  "mimo-v2-flash": {
@@ -16542,24 +16759,6 @@ export const MODELS = {
16542
16759
  contextWindow: 1048576,
16543
16760
  maxTokens: 131072,
16544
16761
  },
16545
- "mimo-v2.5-pro-ultraspeed": {
16546
- id: "mimo-v2.5-pro-ultraspeed",
16547
- name: "MiMo-V2.5-Pro-UltraSpeed",
16548
- api: "openai-completions",
16549
- provider: "xiaomi-token-plan-sgp",
16550
- baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
16551
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
16552
- reasoning: true,
16553
- input: ["text"],
16554
- cost: {
16555
- input: 1.305,
16556
- output: 2.61,
16557
- cacheRead: 0.0108,
16558
- cacheWrite: 0,
16559
- },
16560
- contextWindow: 1048576,
16561
- maxTokens: 131072,
16562
- },
16563
16762
  },
16564
16763
  "zai": {
16565
16764
  "glm-4.5-air": {