@opengsd/gsd-pi 1.2.0-dev.b1abb545 → 1.2.0-dev.fb12b103

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 (520) hide show
  1. package/dist/cli-style.d.ts +17 -0
  2. package/dist/cli-style.js +28 -0
  3. package/dist/cli.js +1 -1
  4. package/dist/headless-events.d.ts +4 -2
  5. package/dist/headless-events.js +7 -29
  6. package/dist/models-resolver.d.ts +3 -13
  7. package/dist/models-resolver.js +3 -22
  8. package/dist/resource-loader.js +2 -14
  9. package/dist/resources/.managed-resources-content-hash +1 -1
  10. package/dist/resources/extensions/async-jobs/async-bash-tool.js +30 -64
  11. package/dist/resources/extensions/async-jobs/await-tool.js +80 -12
  12. package/dist/resources/extensions/async-jobs/index.js +65 -0
  13. package/dist/resources/extensions/async-jobs/job-manager.js +12 -1
  14. package/dist/resources/extensions/bg-shell/bg-shell-command.js +6 -6
  15. package/dist/resources/extensions/bg-shell/bg-shell-tool.js +10 -7
  16. package/dist/resources/extensions/bg-shell/overlay.js +9 -6
  17. package/dist/resources/extensions/bg-shell/process-manager.js +54 -25
  18. package/dist/resources/extensions/bg-shell/readiness-detector.js +11 -0
  19. package/dist/resources/extensions/bg-shell/utilities.js +5 -2
  20. package/dist/resources/extensions/browser-tools/engine/managed-gsd-browser.js +209 -88
  21. package/dist/resources/extensions/browser-tools/engine/selection.js +73 -5
  22. package/dist/resources/extensions/browser-tools/index.js +69 -12
  23. package/dist/resources/extensions/claude-code-cli/models.js +9 -0
  24. package/dist/resources/extensions/claude-code-cli/stream-adapter.js +38 -6
  25. package/dist/resources/extensions/gsd/auto/orchestrator.js +40 -9
  26. package/dist/resources/extensions/gsd/auto/phases.js +6 -1
  27. package/dist/resources/extensions/gsd/auto-dispatch.js +12 -1
  28. package/dist/resources/extensions/gsd/auto-model-selection.js +25 -6
  29. package/dist/resources/extensions/gsd/auto-post-unit.js +19 -8
  30. package/dist/resources/extensions/gsd/auto-prompts.js +15 -10
  31. package/dist/resources/extensions/gsd/auto-start.js +21 -21
  32. package/dist/resources/extensions/gsd/auto-tool-tracking.js +18 -0
  33. package/dist/resources/extensions/gsd/auto-unit-tool-scope.js +7 -16
  34. package/dist/resources/extensions/gsd/auto-worktree-repair.js +10 -2
  35. package/dist/resources/extensions/gsd/auto-worktree.js +35 -352
  36. package/dist/resources/extensions/gsd/auto.js +8 -20
  37. package/dist/resources/extensions/gsd/bootstrap/agent-end-recovery.js +3 -2
  38. package/dist/resources/extensions/gsd/bootstrap/dynamic-tools.js +32 -12
  39. package/dist/resources/extensions/gsd/bootstrap/register-extension.js +19 -0
  40. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +151 -20
  41. package/dist/resources/extensions/gsd/bootstrap/write-gate.js +30 -4
  42. package/dist/resources/extensions/gsd/branch-patterns.js +2 -0
  43. package/dist/resources/extensions/gsd/browser-daemon-auto-prep.js +83 -0
  44. package/dist/resources/extensions/gsd/browser-evidence.js +8 -2
  45. package/dist/resources/extensions/gsd/captures.js +5 -15
  46. package/dist/resources/extensions/gsd/closeout-recovery.js +3 -2
  47. package/dist/resources/extensions/gsd/commands/catalog.js +6 -62
  48. package/dist/resources/extensions/gsd/constants.js +0 -2
  49. package/dist/resources/extensions/gsd/crash-recovery.js +4 -12
  50. package/dist/resources/extensions/gsd/db/engine.js +755 -0
  51. package/dist/resources/extensions/gsd/db/queries.js +372 -0
  52. package/dist/resources/extensions/gsd/db/sql-constants.js +11 -0
  53. package/dist/resources/extensions/gsd/db/writers/cascades.js +194 -0
  54. package/dist/resources/extensions/gsd/db/writers/import-restore.js +182 -0
  55. package/dist/resources/extensions/gsd/db/writers/memory.js +149 -0
  56. package/dist/resources/extensions/gsd/db/writers/reconcile.js +458 -0
  57. package/dist/resources/extensions/gsd/db/writers/status.js +70 -0
  58. package/dist/resources/extensions/gsd/doctor-environment.js +5 -11
  59. package/dist/resources/extensions/gsd/doctor-format.js +9 -6
  60. package/dist/resources/extensions/gsd/doctor-git-checks.js +4 -3
  61. package/dist/resources/extensions/gsd/doctor-runtime-checks.js +21 -16
  62. package/dist/resources/extensions/gsd/error-classifier.js +9 -0
  63. package/dist/resources/extensions/gsd/exec-sandbox.js +30 -10
  64. package/dist/resources/extensions/gsd/git-service.js +1 -0
  65. package/dist/resources/extensions/gsd/gitignore.js +3 -0
  66. package/dist/resources/extensions/gsd/gsd-db.js +171 -2048
  67. package/dist/resources/extensions/gsd/guidance.js +98 -0
  68. package/dist/resources/extensions/gsd/guided-flow.js +51 -5
  69. package/dist/resources/extensions/gsd/mcp-filter.js +2 -19
  70. package/dist/resources/extensions/gsd/mcp-tool-name.js +5 -13
  71. package/dist/resources/extensions/gsd/memory-consolidation-scanner.js +1 -1
  72. package/dist/resources/extensions/gsd/migrate/safety.js +20 -9
  73. package/dist/resources/extensions/gsd/migration-auto-check.js +24 -3
  74. package/dist/resources/extensions/gsd/model-cost-table.js +1 -0
  75. package/dist/resources/extensions/gsd/model-router.js +3 -0
  76. package/dist/resources/extensions/gsd/notification-store.js +11 -4
  77. package/dist/resources/extensions/gsd/parallel-merge.js +14 -11
  78. package/dist/resources/extensions/gsd/parallel-monitor-overlay.js +11 -7
  79. package/dist/resources/extensions/gsd/paths.js +37 -24
  80. package/dist/resources/extensions/gsd/pre-execution-checks.js +91 -3
  81. package/dist/resources/extensions/gsd/preferences-models.js +14 -48
  82. package/dist/resources/extensions/gsd/preferences.js +14 -0
  83. package/dist/resources/extensions/gsd/prompts/complete-slice.md +1 -1
  84. package/dist/resources/extensions/gsd/prompts/plan-slice.md +1 -1
  85. package/dist/resources/extensions/gsd/prompts/refine-slice.md +1 -1
  86. package/dist/resources/extensions/gsd/prompts/replan-slice.md +1 -1
  87. package/dist/resources/extensions/gsd/prompts/run-uat.md +1 -1
  88. package/dist/resources/extensions/gsd/prompts/system.md +5 -2
  89. package/dist/resources/extensions/gsd/provider-error-guidance.js +1 -5
  90. package/dist/resources/extensions/gsd/provider-switch-observer.js +1 -1
  91. package/dist/resources/extensions/gsd/publication.js +87 -0
  92. package/dist/resources/extensions/gsd/recovery-classification.js +41 -87
  93. package/dist/resources/extensions/gsd/safety/destructive-confirmation.js +108 -0
  94. package/dist/resources/extensions/gsd/safety/evidence-collector.js +37 -4
  95. package/dist/resources/extensions/gsd/safety/evidence-cross-ref.js +7 -2
  96. package/dist/resources/extensions/gsd/safety/file-change-validator.js +10 -0
  97. package/dist/resources/extensions/gsd/state-transition-matrix.js +38 -0
  98. package/dist/resources/extensions/gsd/state.js +1 -20
  99. package/dist/resources/extensions/gsd/status-guards.js +56 -8
  100. package/dist/resources/extensions/gsd/stop-notice.js +57 -0
  101. package/dist/resources/extensions/gsd/tool-surface-readiness.js +56 -0
  102. package/dist/resources/extensions/gsd/tools/complete-slice.js +24 -43
  103. package/dist/resources/extensions/gsd/tools/exec-tool.js +10 -8
  104. package/dist/resources/extensions/gsd/tools/plan-slice.js +12 -6
  105. package/dist/resources/extensions/gsd/tools/reopen-milestone.js +11 -29
  106. package/dist/resources/extensions/gsd/tools/reopen-slice.js +14 -33
  107. package/dist/resources/extensions/gsd/tools/skip-slice.js +18 -36
  108. package/dist/resources/extensions/gsd/uat-policy.js +2 -1
  109. package/dist/resources/extensions/gsd/undo.js +8 -7
  110. package/dist/resources/extensions/gsd/unit-closeout.js +138 -0
  111. package/dist/resources/extensions/gsd/unit-context-composer.js +74 -1
  112. package/dist/resources/extensions/gsd/unit-context-manifest.js +4 -27
  113. package/dist/resources/extensions/gsd/unit-registry.js +337 -0
  114. package/dist/resources/extensions/gsd/unit-tool-contracts.js +9 -182
  115. package/dist/resources/extensions/gsd/web-app-uat.js +45 -8
  116. package/dist/resources/extensions/gsd/workflow-tool-surface.js +1 -1
  117. package/dist/resources/extensions/gsd/worktree-git-recovery.js +293 -0
  118. package/dist/resources/extensions/gsd/worktree-lifecycle.js +9 -1
  119. package/dist/resources/extensions/gsd/worktree-manager.js +45 -28
  120. package/dist/resources/extensions/gsd/worktree-placement.js +59 -0
  121. package/dist/resources/extensions/gsd/worktree-reentry.js +12 -8
  122. package/dist/resources/extensions/gsd/worktree-root.js +28 -6
  123. package/dist/resources/extensions/gsd/worktree-safety.js +8 -5
  124. package/dist/resources/extensions/gsd/worktree-session-state.js +12 -11
  125. package/dist/resources/extensions/search-the-web/native-search.js +5 -3
  126. package/dist/resources/extensions/shared/browser-contract.js +59 -0
  127. package/dist/resources/extensions/shared/gsd-browser-cli.js +96 -5
  128. package/dist/resources/shared/package.json +3 -0
  129. package/dist/resources/skills/create-skill/references/executable-code.md +1 -1
  130. package/dist/resources/skills/create-skill/workflows/add-reference.md +8 -3
  131. package/dist/resources/skills/create-skill/workflows/add-script.md +4 -2
  132. package/dist/resources/skills/create-skill/workflows/add-template.md +3 -1
  133. package/dist/resources/skills/create-skill/workflows/add-workflow.md +8 -3
  134. package/dist/resources/skills/create-skill/workflows/upgrade-to-router.md +10 -5
  135. package/dist/resources/skills/create-skill/workflows/verify-skill.md +9 -4
  136. package/dist/resources/skills/gsd-browser/SKILL.md +1 -1
  137. package/dist/resources/skills/spike-wrap-up/SKILL.md +9 -9
  138. package/dist/tsconfig.extensions.tsbuildinfo +1 -1
  139. package/dist/web/standalone/.next/BUILD_ID +1 -1
  140. package/dist/web/standalone/.next/app-path-routes-manifest.json +10 -10
  141. package/dist/web/standalone/.next/build-manifest.json +3 -3
  142. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  143. package/dist/web/standalone/.next/react-loadable-manifest.json +1 -1
  144. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  145. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  146. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  147. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  148. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  149. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  150. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  151. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  152. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  153. package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
  154. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  155. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  156. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  157. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  158. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  159. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  160. package/dist/web/standalone/.next/server/app/api/boot/route.js.nft.json +1 -1
  161. package/dist/web/standalone/.next/server/app/api/bridge-terminal/input/route.js.nft.json +1 -1
  162. package/dist/web/standalone/.next/server/app/api/bridge-terminal/resize/route.js.nft.json +1 -1
  163. package/dist/web/standalone/.next/server/app/api/bridge-terminal/stream/route.js.nft.json +1 -1
  164. package/dist/web/standalone/.next/server/app/api/captures/route.js.nft.json +1 -1
  165. package/dist/web/standalone/.next/server/app/api/cleanup/route.js.nft.json +1 -1
  166. package/dist/web/standalone/.next/server/app/api/doctor/route.js.nft.json +1 -1
  167. package/dist/web/standalone/.next/server/app/api/export-data/route.js.nft.json +1 -1
  168. package/dist/web/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  169. package/dist/web/standalone/.next/server/app/api/forensics/route.js.nft.json +1 -1
  170. package/dist/web/standalone/.next/server/app/api/git/route.js.nft.json +1 -1
  171. package/dist/web/standalone/.next/server/app/api/history/route.js.nft.json +1 -1
  172. package/dist/web/standalone/.next/server/app/api/hooks/route.js.nft.json +1 -1
  173. package/dist/web/standalone/.next/server/app/api/inspect/route.js.nft.json +1 -1
  174. package/dist/web/standalone/.next/server/app/api/knowledge/route.js.nft.json +1 -1
  175. package/dist/web/standalone/.next/server/app/api/live-state/route.js.nft.json +1 -1
  176. package/dist/web/standalone/.next/server/app/api/mcp-connections/route.js.nft.json +1 -1
  177. package/dist/web/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
  178. package/dist/web/standalone/.next/server/app/api/onboarding/route.js.nft.json +1 -1
  179. package/dist/web/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  180. package/dist/web/standalone/.next/server/app/api/recovery/route.js.nft.json +1 -1
  181. package/dist/web/standalone/.next/server/app/api/session/browser/route.js.nft.json +1 -1
  182. package/dist/web/standalone/.next/server/app/api/session/command/route.js.nft.json +1 -1
  183. package/dist/web/standalone/.next/server/app/api/session/events/route.js.nft.json +1 -1
  184. package/dist/web/standalone/.next/server/app/api/session/manage/route.js.nft.json +1 -1
  185. package/dist/web/standalone/.next/server/app/api/settings-data/route.js.nft.json +1 -1
  186. package/dist/web/standalone/.next/server/app/api/shutdown/route.js.nft.json +1 -1
  187. package/dist/web/standalone/.next/server/app/api/skill-health/route.js.nft.json +1 -1
  188. package/dist/web/standalone/.next/server/app/api/steer/route.js.nft.json +1 -1
  189. package/dist/web/standalone/.next/server/app/api/switch-root/route.js.nft.json +1 -1
  190. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js.nft.json +1 -1
  191. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js.nft.json +1 -1
  192. package/dist/web/standalone/.next/server/app/api/undo/route.js.nft.json +1 -1
  193. package/dist/web/standalone/.next/server/app/api/update/route.js +1 -1
  194. package/dist/web/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
  195. package/dist/web/standalone/.next/server/app/api/visualizer/route.js.nft.json +1 -1
  196. package/dist/web/standalone/.next/server/app/index.html +1 -1
  197. package/dist/web/standalone/.next/server/app/index.rsc +1 -1
  198. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  199. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  200. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  201. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  202. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  203. package/dist/web/standalone/.next/server/app-paths-manifest.json +10 -10
  204. package/dist/web/standalone/.next/server/chunks/5124.js +1 -1
  205. package/dist/web/standalone/.next/server/chunks/{5047.js → 5942.js} +2 -2
  206. package/dist/web/standalone/.next/server/chunks/8357.js +1 -1
  207. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  208. package/dist/web/standalone/.next/server/middleware-react-loadable-manifest.js +1 -1
  209. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  210. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  211. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  212. package/dist/web/standalone/.next/static/chunks/{796.cf859a427a2cb2ac.js → 796.e0bdc932325d7e03.js} +1 -1
  213. package/dist/web/standalone/.next/static/chunks/{webpack-fbea77b5f9953368.js → webpack-f0285ce91d4ec9ef.js} +1 -1
  214. package/dist/web/standalone/node_modules/node-pty/build/Makefile +1 -1
  215. package/dist/web/standalone/node_modules/postcss/lib/container.js +18 -26
  216. package/dist/web/standalone/node_modules/postcss/lib/css-syntax-error.js +14 -47
  217. package/dist/web/standalone/node_modules/postcss/lib/declaration.js +4 -4
  218. package/dist/web/standalone/node_modules/postcss/lib/fromJSON.js +3 -3
  219. package/dist/web/standalone/node_modules/postcss/lib/input.js +29 -54
  220. package/dist/web/standalone/node_modules/postcss/lib/lazy-result.js +37 -47
  221. package/dist/web/standalone/node_modules/postcss/lib/map-generator.js +9 -26
  222. package/dist/web/standalone/node_modules/postcss/lib/no-work-result.js +55 -57
  223. package/dist/web/standalone/node_modules/postcss/lib/node.js +31 -99
  224. package/dist/web/standalone/node_modules/postcss/lib/parse.js +1 -1
  225. package/dist/web/standalone/node_modules/postcss/lib/parser.js +9 -10
  226. package/dist/web/standalone/node_modules/postcss/lib/postcss.js +12 -12
  227. package/dist/web/standalone/node_modules/postcss/lib/previous-map.js +11 -30
  228. package/dist/web/standalone/node_modules/postcss/lib/processor.js +7 -7
  229. package/dist/web/standalone/node_modules/postcss/lib/result.js +5 -5
  230. package/dist/web/standalone/node_modules/postcss/lib/rule.js +6 -6
  231. package/dist/web/standalone/node_modules/postcss/lib/stringifier.js +28 -69
  232. package/dist/web/standalone/node_modules/postcss/lib/tokenize.js +2 -6
  233. package/dist/web/standalone/node_modules/postcss/package.json +48 -48
  234. package/dist/web/standalone/package.json +1 -1
  235. package/dist/worktree-cli.js +3 -6
  236. package/dist/worktree-status-banner.js +7 -11
  237. package/package.json +1 -1
  238. package/packages/cloud-mcp-gateway/package.json +2 -2
  239. package/packages/contracts/dist/rpc.d.ts +1 -0
  240. package/packages/contracts/dist/rpc.d.ts.map +1 -1
  241. package/packages/contracts/dist/rpc.js.map +1 -1
  242. package/packages/contracts/dist/workflow.d.ts +4 -0
  243. package/packages/contracts/dist/workflow.d.ts.map +1 -1
  244. package/packages/contracts/dist/workflow.js.map +1 -1
  245. package/packages/contracts/package.json +1 -1
  246. package/packages/daemon/package.json +4 -4
  247. package/packages/gsd-agent-core/package.json +5 -5
  248. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.d.ts +5 -0
  249. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  250. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.js +8 -0
  251. package/packages/gsd-agent-modes/dist/modes/interactive/components/tool-execution.js.map +1 -1
  252. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.d.ts.map +1 -1
  253. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.js +7 -0
  254. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/chat-controller.js.map +1 -1
  255. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.d.ts.map +1 -1
  256. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.js +8 -1
  257. package/packages/gsd-agent-modes/dist/modes/interactive/controllers/input-controller.js.map +1 -1
  258. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-chat-render.d.ts.map +1 -1
  259. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-chat-render.js +11 -1
  260. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-chat-render.js.map +1 -1
  261. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-selectors-auth.d.ts.map +1 -1
  262. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-selectors-auth.js +4 -4
  263. package/packages/gsd-agent-modes/dist/modes/interactive/interactive-selectors-auth.js.map +1 -1
  264. package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  265. package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.js +3 -1
  266. package/packages/gsd-agent-modes/dist/modes/rpc/rpc-mode.js.map +1 -1
  267. package/packages/gsd-agent-modes/package.json +7 -7
  268. package/packages/mcp-server/dist/cli.js +6 -3
  269. package/packages/mcp-server/dist/cli.js.map +1 -1
  270. package/packages/mcp-server/dist/workflow-tools.d.ts +8 -0
  271. package/packages/mcp-server/dist/workflow-tools.d.ts.map +1 -1
  272. package/packages/mcp-server/dist/workflow-tools.js +46 -21
  273. package/packages/mcp-server/dist/workflow-tools.js.map +1 -1
  274. package/packages/mcp-server/package.json +3 -3
  275. package/packages/native/package.json +1 -1
  276. package/packages/pi-agent-core/dist/harness/env/nodejs.d.ts +1 -0
  277. package/packages/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  278. package/packages/pi-agent-core/dist/harness/env/nodejs.js +34 -3
  279. package/packages/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  280. package/packages/pi-agent-core/dist/index.d.ts +1 -0
  281. package/packages/pi-agent-core/dist/index.d.ts.map +1 -1
  282. package/packages/pi-agent-core/dist/index.js +3 -0
  283. package/packages/pi-agent-core/dist/index.js.map +1 -1
  284. package/packages/pi-agent-core/package.json +1 -1
  285. package/packages/pi-ai/dist/image-models.generated.d.ts +2 -2
  286. package/packages/pi-ai/dist/image-models.generated.js +6 -6
  287. package/packages/pi-ai/dist/image-models.generated.js.map +1 -1
  288. package/packages/pi-ai/dist/models.generated.d.ts +478 -484
  289. package/packages/pi-ai/dist/models.generated.d.ts.map +1 -1
  290. package/packages/pi-ai/dist/models.generated.js +500 -533
  291. package/packages/pi-ai/dist/models.generated.js.map +1 -1
  292. package/packages/pi-ai/package.json +1 -1
  293. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts +2 -2
  294. package/packages/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  295. package/packages/pi-coding-agent/dist/core/auth-storage.js +19 -13
  296. package/packages/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  297. package/packages/pi-coding-agent/dist/core/capability-patches.d.ts.map +1 -1
  298. package/packages/pi-coding-agent/dist/core/capability-patches.js +3 -1
  299. package/packages/pi-coding-agent/dist/core/capability-patches.js.map +1 -1
  300. package/packages/pi-coding-agent/dist/core/provider-readiness.d.ts.map +1 -1
  301. package/packages/pi-coding-agent/dist/core/provider-readiness.js +13 -6
  302. package/packages/pi-coding-agent/dist/core/provider-readiness.js.map +1 -1
  303. package/packages/pi-coding-agent/dist/core/tools/bash.d.ts +11 -0
  304. package/packages/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
  305. package/packages/pi-coding-agent/dist/core/tools/bash.js +53 -11
  306. package/packages/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
  307. package/packages/pi-coding-agent/dist/index.d.ts +1 -1
  308. package/packages/pi-coding-agent/dist/index.d.ts.map +1 -1
  309. package/packages/pi-coding-agent/dist/index.js +1 -1
  310. package/packages/pi-coding-agent/dist/index.js.map +1 -1
  311. package/packages/pi-coding-agent/dist/utils/shell.d.ts +28 -2
  312. package/packages/pi-coding-agent/dist/utils/shell.d.ts.map +1 -1
  313. package/packages/pi-coding-agent/dist/utils/shell.js +56 -10
  314. package/packages/pi-coding-agent/dist/utils/shell.js.map +1 -1
  315. package/packages/pi-coding-agent/package.json +7 -7
  316. package/packages/pi-tui/dist/tui.d.ts.map +1 -1
  317. package/packages/pi-tui/dist/tui.js +9 -0
  318. package/packages/pi-tui/dist/tui.js.map +1 -1
  319. package/packages/pi-tui/package.json +2 -2
  320. package/packages/rpc-client/package.json +2 -2
  321. package/pkg/package.json +1 -1
  322. package/src/resources/extensions/async-jobs/async-bash-cancel.test.ts +360 -0
  323. package/src/resources/extensions/async-jobs/async-bash-tool.ts +33 -56
  324. package/src/resources/extensions/async-jobs/await-tool.test.ts +139 -0
  325. package/src/resources/extensions/async-jobs/await-tool.ts +82 -12
  326. package/src/resources/extensions/async-jobs/index.ts +79 -0
  327. package/src/resources/extensions/async-jobs/job-manager.ts +21 -1
  328. package/src/resources/extensions/bg-shell/bg-shell-command.ts +6 -6
  329. package/src/resources/extensions/bg-shell/bg-shell-tool.ts +10 -6
  330. package/src/resources/extensions/bg-shell/overlay.ts +9 -5
  331. package/src/resources/extensions/bg-shell/process-manager.ts +50 -25
  332. package/src/resources/extensions/bg-shell/readiness-detector.ts +12 -0
  333. package/src/resources/extensions/bg-shell/tests/lifecycle-and-utilities.test.ts +48 -1
  334. package/src/resources/extensions/bg-shell/utilities.ts +5 -2
  335. package/src/resources/extensions/browser-tools/engine/managed-gsd-browser.ts +265 -98
  336. package/src/resources/extensions/browser-tools/engine/selection.ts +90 -4
  337. package/src/resources/extensions/browser-tools/index.ts +71 -13
  338. package/src/resources/extensions/browser-tools/tests/browser-engine-selection.test.mjs +83 -13
  339. package/src/resources/extensions/browser-tools/tests/gsd-browser-launch-config.test.mjs +29 -1
  340. package/src/resources/extensions/browser-tools/tests/managed-gsd-browser-tools.test.mjs +136 -0
  341. package/src/resources/extensions/claude-code-cli/models.ts +9 -0
  342. package/src/resources/extensions/claude-code-cli/stream-adapter.ts +40 -4
  343. package/src/resources/extensions/claude-code-cli/tests/stream-adapter.test.ts +28 -0
  344. package/src/resources/extensions/gsd/auto/loop-deps.ts +1 -1
  345. package/src/resources/extensions/gsd/auto/orchestrator.ts +46 -10
  346. package/src/resources/extensions/gsd/auto/phases.ts +10 -1
  347. package/src/resources/extensions/gsd/auto-dispatch.ts +12 -0
  348. package/src/resources/extensions/gsd/auto-model-selection.ts +25 -5
  349. package/src/resources/extensions/gsd/auto-post-unit.ts +25 -7
  350. package/src/resources/extensions/gsd/auto-prompts.ts +40 -26
  351. package/src/resources/extensions/gsd/auto-start.ts +21 -22
  352. package/src/resources/extensions/gsd/auto-tool-tracking.ts +19 -0
  353. package/src/resources/extensions/gsd/auto-unit-tool-scope.ts +10 -17
  354. package/src/resources/extensions/gsd/auto-worktree-repair.ts +13 -2
  355. package/src/resources/extensions/gsd/auto-worktree.ts +41 -364
  356. package/src/resources/extensions/gsd/auto.ts +20 -24
  357. package/src/resources/extensions/gsd/bootstrap/agent-end-recovery.ts +3 -5
  358. package/src/resources/extensions/gsd/bootstrap/dynamic-tools.ts +33 -12
  359. package/src/resources/extensions/gsd/bootstrap/register-extension.ts +24 -0
  360. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +180 -15
  361. package/src/resources/extensions/gsd/bootstrap/write-gate.ts +29 -3
  362. package/src/resources/extensions/gsd/branch-patterns.ts +3 -0
  363. package/src/resources/extensions/gsd/browser-daemon-auto-prep.ts +108 -0
  364. package/src/resources/extensions/gsd/browser-evidence.ts +18 -2
  365. package/src/resources/extensions/gsd/captures.ts +5 -16
  366. package/src/resources/extensions/gsd/closeout-recovery.ts +2 -1
  367. package/src/resources/extensions/gsd/commands/catalog.ts +6 -68
  368. package/src/resources/extensions/gsd/constants.ts +0 -3
  369. package/src/resources/extensions/gsd/crash-recovery.ts +3 -9
  370. package/src/resources/extensions/gsd/db/engine.ts +809 -0
  371. package/src/resources/extensions/gsd/db/queries.ts +453 -0
  372. package/src/resources/extensions/gsd/db/sql-constants.ts +12 -0
  373. package/src/resources/extensions/gsd/db/writers/cascades.ts +237 -0
  374. package/src/resources/extensions/gsd/db/writers/import-restore.ts +310 -0
  375. package/src/resources/extensions/gsd/db/writers/memory.ts +220 -0
  376. package/src/resources/extensions/gsd/db/writers/reconcile.ts +500 -0
  377. package/src/resources/extensions/gsd/db/writers/status.ts +88 -0
  378. package/src/resources/extensions/gsd/doctor-environment.ts +5 -13
  379. package/src/resources/extensions/gsd/doctor-format.ts +12 -7
  380. package/src/resources/extensions/gsd/doctor-git-checks.ts +3 -3
  381. package/src/resources/extensions/gsd/doctor-runtime-checks.ts +22 -17
  382. package/src/resources/extensions/gsd/error-classifier.ts +11 -0
  383. package/src/resources/extensions/gsd/exec-sandbox.ts +49 -9
  384. package/src/resources/extensions/gsd/git-service.ts +1 -0
  385. package/src/resources/extensions/gsd/gitignore.ts +3 -0
  386. package/src/resources/extensions/gsd/gsd-db.ts +173 -2373
  387. package/src/resources/extensions/gsd/guidance.ts +139 -0
  388. package/src/resources/extensions/gsd/guided-flow.ts +50 -5
  389. package/src/resources/extensions/gsd/mcp-filter.ts +2 -23
  390. package/src/resources/extensions/gsd/mcp-tool-name.ts +6 -11
  391. package/src/resources/extensions/gsd/memory-consolidation-scanner.ts +1 -1
  392. package/src/resources/extensions/gsd/migrate/safety.ts +18 -7
  393. package/src/resources/extensions/gsd/migration-auto-check.ts +28 -3
  394. package/src/resources/extensions/gsd/model-cost-table.ts +1 -0
  395. package/src/resources/extensions/gsd/model-router.ts +3 -0
  396. package/src/resources/extensions/gsd/notification-store.ts +26 -3
  397. package/src/resources/extensions/gsd/parallel-merge.ts +12 -9
  398. package/src/resources/extensions/gsd/parallel-monitor-overlay.ts +10 -7
  399. package/src/resources/extensions/gsd/paths.ts +42 -22
  400. package/src/resources/extensions/gsd/pre-execution-checks.ts +109 -3
  401. package/src/resources/extensions/gsd/preferences-models.ts +12 -47
  402. package/src/resources/extensions/gsd/preferences.ts +18 -0
  403. package/src/resources/extensions/gsd/prompts/complete-slice.md +1 -1
  404. package/src/resources/extensions/gsd/prompts/plan-slice.md +1 -1
  405. package/src/resources/extensions/gsd/prompts/refine-slice.md +1 -1
  406. package/src/resources/extensions/gsd/prompts/replan-slice.md +1 -1
  407. package/src/resources/extensions/gsd/prompts/run-uat.md +1 -1
  408. package/src/resources/extensions/gsd/prompts/system.md +5 -2
  409. package/src/resources/extensions/gsd/provider-error-guidance.ts +4 -9
  410. package/src/resources/extensions/gsd/provider-switch-observer.ts +1 -1
  411. package/src/resources/extensions/gsd/publication.ts +122 -0
  412. package/src/resources/extensions/gsd/recovery-classification.ts +47 -88
  413. package/src/resources/extensions/gsd/safety/destructive-confirmation.ts +134 -0
  414. package/src/resources/extensions/gsd/safety/evidence-collector.ts +36 -4
  415. package/src/resources/extensions/gsd/safety/evidence-cross-ref.ts +7 -2
  416. package/src/resources/extensions/gsd/safety/file-change-validator.ts +14 -0
  417. package/src/resources/extensions/gsd/state-transition-matrix.ts +42 -0
  418. package/src/resources/extensions/gsd/state.ts +4 -21
  419. package/src/resources/extensions/gsd/status-guards.ts +59 -8
  420. package/src/resources/extensions/gsd/stop-notice.ts +75 -0
  421. package/src/resources/extensions/gsd/tests/auto-loop.test.ts +123 -0
  422. package/src/resources/extensions/gsd/tests/auto-model-selection.test.ts +22 -0
  423. package/src/resources/extensions/gsd/tests/auto-orchestrator.test.ts +16 -19
  424. package/src/resources/extensions/gsd/tests/auto-paused-ui-cleanup.test.ts +3 -1
  425. package/src/resources/extensions/gsd/tests/auto-post-unit-evidence-crossref-4909.test.ts +46 -0
  426. package/src/resources/extensions/gsd/tests/auto-worktree-registry.test.ts +2 -2
  427. package/src/resources/extensions/gsd/tests/auto-worktree-repair.test.ts +4 -2
  428. package/src/resources/extensions/gsd/tests/browser-automation-contract-fixture.ts +39 -0
  429. package/src/resources/extensions/gsd/tests/browser-contract.test.ts +44 -0
  430. package/src/resources/extensions/gsd/tests/browser-daemon-auto-prep.test.ts +144 -0
  431. package/src/resources/extensions/gsd/tests/checkout-branch-stash-guard.test.ts +66 -1
  432. package/src/resources/extensions/gsd/tests/clear-stale-autostart.test.ts +44 -0
  433. package/src/resources/extensions/gsd/tests/commands-verdict.test.ts +8 -7
  434. package/src/resources/extensions/gsd/tests/destructive-confirmation.test.ts +303 -0
  435. package/src/resources/extensions/gsd/tests/dispatch-run-uat-browser-tools.test.ts +2 -1
  436. package/src/resources/extensions/gsd/tests/dynamic-bash-no-cap.test.ts +132 -0
  437. package/src/resources/extensions/gsd/tests/evidence-xref-gsd-exec.test.ts +157 -0
  438. package/src/resources/extensions/gsd/tests/exec-graceful-kill.test.ts +193 -0
  439. package/src/resources/extensions/gsd/tests/exec-tool.test.ts +29 -1
  440. package/src/resources/extensions/gsd/tests/extension-bootstrap-isolation.test.ts +35 -1
  441. package/src/resources/extensions/gsd/tests/file-change-validator.test.ts +33 -1
  442. package/src/resources/extensions/gsd/tests/guidance.test.ts +125 -0
  443. package/src/resources/extensions/gsd/tests/integration/auto-worktree-milestone-merge.test.ts +58 -15
  444. package/src/resources/extensions/gsd/tests/integration/auto-worktree.test.ts +74 -59
  445. package/src/resources/extensions/gsd/tests/integration/git-service.test.ts +3 -2
  446. package/src/resources/extensions/gsd/tests/integration/gsd-integration-fixture.ts +80 -0
  447. package/src/resources/extensions/gsd/tests/mcp-project-config.test.ts +3 -1
  448. package/src/resources/extensions/gsd/tests/migration-auto-check.test.ts +85 -1
  449. package/src/resources/extensions/gsd/tests/model-unittype-mapping.test.ts +32 -1
  450. package/src/resources/extensions/gsd/tests/notification-store.test.ts +32 -0
  451. package/src/resources/extensions/gsd/tests/oauth-api-model-routing.test.ts +167 -0
  452. package/src/resources/extensions/gsd/tests/pre-execution-checks.test.ts +193 -1
  453. package/src/resources/extensions/gsd/tests/provider-error-guidance.test.ts +3 -3
  454. package/src/resources/extensions/gsd/tests/publication.test.ts +120 -0
  455. package/src/resources/extensions/gsd/tests/recovery-classification-illegal-transition.test.ts +30 -0
  456. package/src/resources/extensions/gsd/tests/register-hooks-depth-verification.test.ts +248 -1
  457. package/src/resources/extensions/gsd/tests/runtime-invariant-modules.test.ts +1 -0
  458. package/src/resources/extensions/gsd/tests/safety-harness-false-positives.test.ts +38 -0
  459. package/src/resources/extensions/gsd/tests/session-switch-clears-pending-autostart.test.ts +108 -0
  460. package/src/resources/extensions/gsd/tests/single-writer-invariant.test.ts +43 -6
  461. package/src/resources/extensions/gsd/tests/state-transition-matrix.test.ts +36 -0
  462. package/src/resources/extensions/gsd/tests/status-guards.test.ts +38 -0
  463. package/src/resources/extensions/gsd/tests/stop-notice.test.ts +70 -0
  464. package/src/resources/extensions/gsd/tests/token-tool-gating.test.ts +76 -0
  465. package/src/resources/extensions/gsd/tests/tool-invocation-error-loop-break.test.ts +8 -0
  466. package/src/resources/extensions/gsd/tests/tool-surface-readiness.test.ts +155 -0
  467. package/src/resources/extensions/gsd/tests/uat-policy.test.ts +24 -29
  468. package/src/resources/extensions/gsd/tests/unit-closeout.test.ts +209 -0
  469. package/src/resources/extensions/gsd/tests/unit-context-composer.test.ts +67 -2
  470. package/src/resources/extensions/gsd/tests/unit-registry.test.ts +163 -0
  471. package/src/resources/extensions/gsd/tests/web-app-uat.test.ts +44 -1
  472. package/src/resources/extensions/gsd/tests/workflow-mcp.test.ts +2 -2
  473. package/src/resources/extensions/gsd/tests/workflow-tool-executors.test.ts +2 -2
  474. package/src/resources/extensions/gsd/tests/worktree-lifecycle.test.ts +41 -4
  475. package/src/resources/extensions/gsd/tests/worktree-manager.test.ts +22 -1
  476. package/src/resources/extensions/gsd/tests/worktree-placement.test.ts +113 -0
  477. package/src/resources/extensions/gsd/tests/worktree-reentry.test.ts +1 -1
  478. package/src/resources/extensions/gsd/tests/worktree-safety.test.ts +3 -1
  479. package/src/resources/extensions/gsd/tests/worktree-symlink-removal.test.ts +12 -6
  480. package/src/resources/extensions/gsd/tests/worktree-teardown-safety.test.ts +2 -2
  481. package/src/resources/extensions/gsd/tests/write-gate.test.ts +42 -0
  482. package/src/resources/extensions/gsd/tool-surface-readiness.ts +76 -0
  483. package/src/resources/extensions/gsd/tools/complete-slice.ts +23 -58
  484. package/src/resources/extensions/gsd/tools/exec-tool.ts +9 -8
  485. package/src/resources/extensions/gsd/tools/plan-slice.ts +12 -6
  486. package/src/resources/extensions/gsd/tools/reopen-milestone.ts +11 -38
  487. package/src/resources/extensions/gsd/tools/reopen-slice.ts +14 -42
  488. package/src/resources/extensions/gsd/tools/skip-slice.ts +18 -44
  489. package/src/resources/extensions/gsd/uat-policy.ts +2 -1
  490. package/src/resources/extensions/gsd/undo.ts +9 -8
  491. package/src/resources/extensions/gsd/unit-closeout.ts +201 -0
  492. package/src/resources/extensions/gsd/unit-context-composer.ts +111 -1
  493. package/src/resources/extensions/gsd/unit-context-manifest.ts +4 -28
  494. package/src/resources/extensions/gsd/unit-registry.ts +412 -0
  495. package/src/resources/extensions/gsd/unit-tool-contracts.ts +27 -192
  496. package/src/resources/extensions/gsd/web-app-uat.ts +51 -8
  497. package/src/resources/extensions/gsd/workflow-tool-surface.ts +4 -1
  498. package/src/resources/extensions/gsd/worktree-git-recovery.ts +314 -0
  499. package/src/resources/extensions/gsd/worktree-lifecycle.ts +10 -1
  500. package/src/resources/extensions/gsd/worktree-manager.ts +47 -28
  501. package/src/resources/extensions/gsd/worktree-placement.ts +63 -0
  502. package/src/resources/extensions/gsd/worktree-reentry.ts +10 -7
  503. package/src/resources/extensions/gsd/worktree-root.ts +29 -6
  504. package/src/resources/extensions/gsd/worktree-safety.ts +8 -5
  505. package/src/resources/extensions/gsd/worktree-session-state.ts +11 -11
  506. package/src/resources/extensions/search-the-web/native-search.ts +5 -3
  507. package/src/resources/extensions/shared/browser-contract.ts +66 -0
  508. package/src/resources/extensions/shared/gsd-browser-cli.ts +119 -5
  509. package/src/resources/shared/package.json +3 -0
  510. package/src/resources/skills/create-skill/references/executable-code.md +1 -1
  511. package/src/resources/skills/create-skill/workflows/add-reference.md +8 -3
  512. package/src/resources/skills/create-skill/workflows/add-script.md +4 -2
  513. package/src/resources/skills/create-skill/workflows/add-template.md +3 -1
  514. package/src/resources/skills/create-skill/workflows/add-workflow.md +8 -3
  515. package/src/resources/skills/create-skill/workflows/upgrade-to-router.md +10 -5
  516. package/src/resources/skills/create-skill/workflows/verify-skill.md +9 -4
  517. package/src/resources/skills/gsd-browser/SKILL.md +1 -1
  518. package/src/resources/skills/spike-wrap-up/SKILL.md +9 -9
  519. /package/dist/web/standalone/.next/static/{3PtrU9qGPEXwNLWkIyiqk → mU4QIDlpVHDdjDpeEKh5W}/_buildManifest.js +0 -0
  520. /package/dist/web/standalone/.next/static/{3PtrU9qGPEXwNLWkIyiqk → mU4QIDlpVHDdjDpeEKh5W}/_ssgManifest.js +0 -0
@@ -70,6 +70,24 @@ export const MODELS = {
70
70
  contextWindow: 300000,
71
71
  maxTokens: 8192,
72
72
  },
73
+ "anthropic.claude-fable-5": {
74
+ id: "anthropic.claude-fable-5",
75
+ name: "Claude Fable 5",
76
+ api: "bedrock-converse-stream",
77
+ provider: "amazon-bedrock",
78
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
79
+ reasoning: true,
80
+ thinkingLevelMap: { "xhigh": "xhigh" },
81
+ input: ["text", "image"],
82
+ cost: {
83
+ input: 10,
84
+ output: 50,
85
+ cacheRead: 1,
86
+ cacheWrite: 12.5,
87
+ },
88
+ contextWindow: 1000000,
89
+ maxTokens: 128000,
90
+ },
73
91
  "anthropic.claude-haiku-4-5-20251001-v1:0": {
74
92
  id: "anthropic.claude-haiku-4-5-20251001-v1:0",
75
93
  name: "Claude Haiku 4.5",
@@ -347,6 +365,24 @@ export const MODELS = {
347
365
  contextWindow: 163840,
348
366
  maxTokens: 81920,
349
367
  },
368
+ "eu.anthropic.claude-fable-5": {
369
+ id: "eu.anthropic.claude-fable-5",
370
+ name: "Claude Fable 5 (EU)",
371
+ api: "bedrock-converse-stream",
372
+ provider: "amazon-bedrock",
373
+ baseUrl: "https://bedrock-runtime.eu-central-1.amazonaws.com",
374
+ reasoning: true,
375
+ thinkingLevelMap: { "xhigh": "xhigh" },
376
+ input: ["text", "image"],
377
+ cost: {
378
+ input: 11,
379
+ output: 55,
380
+ cacheRead: 1.1,
381
+ cacheWrite: 13.75,
382
+ },
383
+ contextWindow: 1000000,
384
+ maxTokens: 128000,
385
+ },
350
386
  "eu.anthropic.claude-haiku-4-5-20251001-v1:0": {
351
387
  id: "eu.anthropic.claude-haiku-4-5-20251001-v1:0",
352
388
  name: "Claude Haiku 4.5 (EU)",
@@ -469,6 +505,24 @@ export const MODELS = {
469
505
  contextWindow: 1000000,
470
506
  maxTokens: 64000,
471
507
  },
508
+ "global.anthropic.claude-fable-5": {
509
+ id: "global.anthropic.claude-fable-5",
510
+ name: "Claude Fable 5 (Global)",
511
+ api: "bedrock-converse-stream",
512
+ provider: "amazon-bedrock",
513
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
514
+ reasoning: true,
515
+ thinkingLevelMap: { "xhigh": "xhigh" },
516
+ input: ["text", "image"],
517
+ cost: {
518
+ input: 10,
519
+ output: 50,
520
+ cacheRead: 1,
521
+ cacheWrite: 12.5,
522
+ },
523
+ contextWindow: 1000000,
524
+ maxTokens: 128000,
525
+ },
472
526
  "global.anthropic.claude-haiku-4-5-20251001-v1:0": {
473
527
  id: "global.anthropic.claude-haiku-4-5-20251001-v1:0",
474
528
  name: "Claude Haiku 4.5 (Global)",
@@ -1343,6 +1397,24 @@ export const MODELS = {
1343
1397
  contextWindow: 262000,
1344
1398
  maxTokens: 262000,
1345
1399
  },
1400
+ "us.anthropic.claude-fable-5": {
1401
+ id: "us.anthropic.claude-fable-5",
1402
+ name: "Claude Fable 5 (US)",
1403
+ api: "bedrock-converse-stream",
1404
+ provider: "amazon-bedrock",
1405
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1406
+ reasoning: true,
1407
+ thinkingLevelMap: { "xhigh": "xhigh" },
1408
+ input: ["text", "image"],
1409
+ cost: {
1410
+ input: 10,
1411
+ output: 50,
1412
+ cacheRead: 1,
1413
+ cacheWrite: 12.5,
1414
+ },
1415
+ contextWindow: 1000000,
1416
+ maxTokens: 128000,
1417
+ },
1346
1418
  "us.anthropic.claude-haiku-4-5-20251001-v1:0": {
1347
1419
  id: "us.anthropic.claude-haiku-4-5-20251001-v1:0",
1348
1420
  name: "Claude Haiku 4.5 (US)",
@@ -1756,6 +1828,25 @@ export const MODELS = {
1756
1828
  contextWindow: 200000,
1757
1829
  maxTokens: 4096,
1758
1830
  },
1831
+ "claude-fable-5": {
1832
+ id: "claude-fable-5",
1833
+ name: "Claude Fable 5",
1834
+ api: "anthropic-messages",
1835
+ provider: "anthropic",
1836
+ baseUrl: "https://api.anthropic.com",
1837
+ compat: { "forceAdaptiveThinking": true },
1838
+ reasoning: true,
1839
+ thinkingLevelMap: { "xhigh": "xhigh" },
1840
+ input: ["text", "image"],
1841
+ cost: {
1842
+ input: 10,
1843
+ output: 50,
1844
+ cacheRead: 1,
1845
+ cacheWrite: 12.5,
1846
+ },
1847
+ contextWindow: 1000000,
1848
+ maxTokens: 128000,
1849
+ },
1759
1850
  "claude-haiku-4-5": {
1760
1851
  id: "claude-haiku-4-5",
1761
1852
  name: "Claude Haiku 4.5 (latest)",
@@ -2054,6 +2145,25 @@ export const MODELS = {
2054
2145
  contextWindow: 200000,
2055
2146
  maxTokens: 8192,
2056
2147
  },
2148
+ "claude-fable-5": {
2149
+ id: "claude-fable-5",
2150
+ name: "Claude Fable 5 (Vertex)",
2151
+ api: "anthropic-vertex",
2152
+ provider: "anthropic-vertex",
2153
+ baseUrl: "https://{location}-aiplatform.googleapis.com",
2154
+ compat: { "forceAdaptiveThinking": true },
2155
+ reasoning: true,
2156
+ thinkingLevelMap: { "xhigh": "xhigh" },
2157
+ input: ["text", "image"],
2158
+ cost: {
2159
+ input: 10,
2160
+ output: 50,
2161
+ cacheRead: 1,
2162
+ cacheWrite: 12.5,
2163
+ },
2164
+ contextWindow: 1000000,
2165
+ maxTokens: 128000,
2166
+ },
2057
2167
  "claude-haiku-4-5@20251001": {
2058
2168
  id: "claude-haiku-4-5@20251001",
2059
2169
  name: "Claude Haiku 4.5 (Vertex)",
@@ -2982,30 +3092,13 @@ export const MODELS = {
2982
3092
  reasoning: true,
2983
3093
  input: ["text"],
2984
3094
  cost: {
2985
- input: 0.25,
2986
- output: 0.69,
3095
+ input: 0.35,
3096
+ output: 0.75,
2987
3097
  cacheRead: 0,
2988
3098
  cacheWrite: 0,
2989
3099
  },
2990
3100
  contextWindow: 131072,
2991
- maxTokens: 32768,
2992
- },
2993
- "llama3.1-8b": {
2994
- id: "llama3.1-8b",
2995
- name: "Llama 3.1 8B",
2996
- api: "openai-completions",
2997
- provider: "cerebras",
2998
- baseUrl: "https://api.cerebras.ai/v1",
2999
- reasoning: false,
3000
- input: ["text"],
3001
- cost: {
3002
- input: 0.1,
3003
- output: 0.1,
3004
- cacheRead: 0,
3005
- cacheWrite: 0,
3006
- },
3007
- contextWindow: 32000,
3008
- maxTokens: 8000,
3101
+ maxTokens: 40960,
3009
3102
  },
3010
3103
  "zai-glm-4.7": {
3011
3104
  id: "zai-glm-4.7",
@@ -3013,7 +3106,7 @@ export const MODELS = {
3013
3106
  api: "openai-completions",
3014
3107
  provider: "cerebras",
3015
3108
  baseUrl: "https://api.cerebras.ai/v1",
3016
- reasoning: false,
3109
+ reasoning: true,
3017
3110
  input: ["text"],
3018
3111
  cost: {
3019
3112
  input: 2.25,
@@ -3022,7 +3115,7 @@ export const MODELS = {
3022
3115
  cacheWrite: 0,
3023
3116
  },
3024
3117
  contextWindow: 131072,
3025
- maxTokens: 40000,
3118
+ maxTokens: 40960,
3026
3119
  },
3027
3120
  },
3028
3121
  "cloudflare-ai-gateway": {
@@ -3128,6 +3221,25 @@ export const MODELS = {
3128
3221
  contextWindow: 200000,
3129
3222
  maxTokens: 8192,
3130
3223
  },
3224
+ "claude-fable-5": {
3225
+ id: "claude-fable-5",
3226
+ name: "Claude Fable 5",
3227
+ api: "anthropic-messages",
3228
+ provider: "cloudflare-ai-gateway",
3229
+ baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",
3230
+ compat: { "forceAdaptiveThinking": true },
3231
+ reasoning: true,
3232
+ thinkingLevelMap: { "xhigh": "xhigh" },
3233
+ input: ["text", "image"],
3234
+ cost: {
3235
+ input: 10,
3236
+ output: 50,
3237
+ cacheRead: 1,
3238
+ cacheWrite: 12.5,
3239
+ },
3240
+ contextWindow: 1000000,
3241
+ maxTokens: 128000,
3242
+ },
3131
3243
  "claude-haiku-4-5": {
3132
3244
  id: "claude-haiku-4-5",
3133
3245
  name: "Claude Haiku 4.5 (latest)",
@@ -4134,6 +4246,26 @@ export const MODELS = {
4134
4246
  },
4135
4247
  },
4136
4248
  "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
+ },
4137
4269
  "claude-haiku-4.5": {
4138
4270
  id: "claude-haiku-4.5",
4139
4271
  name: "Claude Haiku 4.5 (latest)",
@@ -5066,336 +5198,149 @@ export const MODELS = {
5066
5198
  },
5067
5199
  },
5068
5200
  "groq": {
5069
- "deepseek-r1-distill-llama-70b": {
5070
- id: "deepseek-r1-distill-llama-70b",
5071
- name: "DeepSeek R1 Distill Llama 70B",
5201
+ "llama-3.1-8b-instant": {
5202
+ id: "llama-3.1-8b-instant",
5203
+ name: "Llama 3.1 8B",
5072
5204
  api: "openai-completions",
5073
5205
  provider: "groq",
5074
5206
  baseUrl: "https://api.groq.com/openai/v1",
5075
- reasoning: true,
5207
+ reasoning: false,
5076
5208
  input: ["text"],
5077
5209
  cost: {
5078
- input: 0.75,
5079
- output: 0.99,
5210
+ input: 0.05,
5211
+ output: 0.08,
5080
5212
  cacheRead: 0,
5081
5213
  cacheWrite: 0,
5082
5214
  },
5083
5215
  contextWindow: 131072,
5084
- maxTokens: 8192,
5216
+ maxTokens: 131072,
5085
5217
  },
5086
- "gemma2-9b-it": {
5087
- id: "gemma2-9b-it",
5088
- name: "Gemma 2 9B",
5218
+ "llama-3.3-70b-versatile": {
5219
+ id: "llama-3.3-70b-versatile",
5220
+ name: "Llama 3.3 70B",
5089
5221
  api: "openai-completions",
5090
5222
  provider: "groq",
5091
5223
  baseUrl: "https://api.groq.com/openai/v1",
5092
5224
  reasoning: false,
5093
5225
  input: ["text"],
5094
5226
  cost: {
5095
- input: 0.2,
5096
- output: 0.2,
5227
+ input: 0.59,
5228
+ output: 0.79,
5097
5229
  cacheRead: 0,
5098
5230
  cacheWrite: 0,
5099
5231
  },
5100
- contextWindow: 8192,
5101
- maxTokens: 8192,
5232
+ contextWindow: 131072,
5233
+ maxTokens: 32768,
5102
5234
  },
5103
- "groq/compound": {
5104
- id: "groq/compound",
5105
- name: "Compound",
5235
+ "meta-llama/llama-4-scout-17b-16e-instruct": {
5236
+ id: "meta-llama/llama-4-scout-17b-16e-instruct",
5237
+ name: "Llama 4 Scout 17B 16E",
5106
5238
  api: "openai-completions",
5107
5239
  provider: "groq",
5108
5240
  baseUrl: "https://api.groq.com/openai/v1",
5109
- reasoning: true,
5110
- input: ["text"],
5241
+ reasoning: false,
5242
+ input: ["text", "image"],
5111
5243
  cost: {
5112
- input: 0,
5113
- output: 0,
5244
+ input: 0.11,
5245
+ output: 0.34,
5114
5246
  cacheRead: 0,
5115
5247
  cacheWrite: 0,
5116
5248
  },
5117
5249
  contextWindow: 131072,
5118
5250
  maxTokens: 8192,
5119
5251
  },
5120
- "groq/compound-mini": {
5121
- id: "groq/compound-mini",
5122
- name: "Compound Mini",
5252
+ "openai/gpt-oss-120b": {
5253
+ id: "openai/gpt-oss-120b",
5254
+ name: "GPT OSS 120B",
5123
5255
  api: "openai-completions",
5124
5256
  provider: "groq",
5125
5257
  baseUrl: "https://api.groq.com/openai/v1",
5126
5258
  reasoning: true,
5127
5259
  input: ["text"],
5128
5260
  cost: {
5129
- input: 0,
5130
- output: 0,
5131
- cacheRead: 0,
5261
+ input: 0.15,
5262
+ output: 0.6,
5263
+ cacheRead: 0.075,
5132
5264
  cacheWrite: 0,
5133
5265
  },
5134
5266
  contextWindow: 131072,
5135
- maxTokens: 8192,
5267
+ maxTokens: 65536,
5136
5268
  },
5137
- "llama-3.1-8b-instant": {
5138
- id: "llama-3.1-8b-instant",
5139
- name: "Llama 3.1 8B Instant",
5269
+ "openai/gpt-oss-20b": {
5270
+ id: "openai/gpt-oss-20b",
5271
+ name: "GPT OSS 20B",
5140
5272
  api: "openai-completions",
5141
5273
  provider: "groq",
5142
5274
  baseUrl: "https://api.groq.com/openai/v1",
5143
- reasoning: false,
5275
+ reasoning: true,
5144
5276
  input: ["text"],
5145
5277
  cost: {
5146
- input: 0.05,
5147
- output: 0.08,
5148
- cacheRead: 0,
5278
+ input: 0.075,
5279
+ output: 0.3,
5280
+ cacheRead: 0.0375,
5149
5281
  cacheWrite: 0,
5150
5282
  },
5151
5283
  contextWindow: 131072,
5152
- maxTokens: 131072,
5284
+ maxTokens: 65536,
5153
5285
  },
5154
- "llama-3.3-70b-versatile": {
5155
- id: "llama-3.3-70b-versatile",
5156
- name: "Llama 3.3 70B Versatile",
5286
+ "openai/gpt-oss-safeguard-20b": {
5287
+ id: "openai/gpt-oss-safeguard-20b",
5288
+ name: "Safety GPT OSS 20B",
5157
5289
  api: "openai-completions",
5158
5290
  provider: "groq",
5159
5291
  baseUrl: "https://api.groq.com/openai/v1",
5160
- reasoning: false,
5292
+ reasoning: true,
5161
5293
  input: ["text"],
5162
5294
  cost: {
5163
- input: 0.59,
5164
- output: 0.79,
5165
- cacheRead: 0,
5295
+ input: 0.075,
5296
+ output: 0.3,
5297
+ cacheRead: 0.037,
5166
5298
  cacheWrite: 0,
5167
5299
  },
5168
5300
  contextWindow: 131072,
5169
- maxTokens: 32768,
5301
+ maxTokens: 65536,
5170
5302
  },
5171
- "llama3-70b-8192": {
5172
- id: "llama3-70b-8192",
5173
- name: "Llama 3 70B",
5303
+ "qwen/qwen3-32b": {
5304
+ id: "qwen/qwen3-32b",
5305
+ name: "Qwen3-32B",
5174
5306
  api: "openai-completions",
5175
5307
  provider: "groq",
5176
5308
  baseUrl: "https://api.groq.com/openai/v1",
5177
- reasoning: false,
5309
+ reasoning: true,
5310
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "default" },
5178
5311
  input: ["text"],
5179
5312
  cost: {
5180
- input: 0.59,
5181
- output: 0.79,
5313
+ input: 0.29,
5314
+ output: 0.59,
5182
5315
  cacheRead: 0,
5183
5316
  cacheWrite: 0,
5184
5317
  },
5185
- contextWindow: 8192,
5186
- maxTokens: 8192,
5318
+ contextWindow: 131072,
5319
+ maxTokens: 40960,
5187
5320
  },
5188
- "llama3-8b-8192": {
5189
- id: "llama3-8b-8192",
5190
- name: "Llama 3 8B",
5321
+ },
5322
+ "huggingface": {
5323
+ "MiniMaxAI/MiniMax-M2.1": {
5324
+ id: "MiniMaxAI/MiniMax-M2.1",
5325
+ name: "MiniMax-M2.1",
5191
5326
  api: "openai-completions",
5192
- provider: "groq",
5193
- baseUrl: "https://api.groq.com/openai/v1",
5194
- reasoning: false,
5327
+ provider: "huggingface",
5328
+ baseUrl: "https://router.huggingface.co/v1",
5329
+ compat: { "supportsDeveloperRole": false },
5330
+ reasoning: true,
5195
5331
  input: ["text"],
5196
5332
  cost: {
5197
- input: 0.05,
5198
- output: 0.08,
5333
+ input: 0.3,
5334
+ output: 1.2,
5199
5335
  cacheRead: 0,
5200
5336
  cacheWrite: 0,
5201
5337
  },
5202
- contextWindow: 8192,
5203
- maxTokens: 8192,
5338
+ contextWindow: 204800,
5339
+ maxTokens: 131072,
5204
5340
  },
5205
- "meta-llama/llama-4-maverick-17b-128e-instruct": {
5206
- id: "meta-llama/llama-4-maverick-17b-128e-instruct",
5207
- name: "Llama 4 Maverick 17B",
5208
- api: "openai-completions",
5209
- provider: "groq",
5210
- baseUrl: "https://api.groq.com/openai/v1",
5211
- reasoning: false,
5212
- input: ["text", "image"],
5213
- cost: {
5214
- input: 0.2,
5215
- output: 0.6,
5216
- cacheRead: 0,
5217
- cacheWrite: 0,
5218
- },
5219
- contextWindow: 131072,
5220
- maxTokens: 8192,
5221
- },
5222
- "meta-llama/llama-4-scout-17b-16e-instruct": {
5223
- id: "meta-llama/llama-4-scout-17b-16e-instruct",
5224
- name: "Llama 4 Scout 17B",
5225
- api: "openai-completions",
5226
- provider: "groq",
5227
- baseUrl: "https://api.groq.com/openai/v1",
5228
- reasoning: false,
5229
- input: ["text", "image"],
5230
- cost: {
5231
- input: 0.11,
5232
- output: 0.34,
5233
- cacheRead: 0,
5234
- cacheWrite: 0,
5235
- },
5236
- contextWindow: 131072,
5237
- maxTokens: 8192,
5238
- },
5239
- "mistral-saba-24b": {
5240
- id: "mistral-saba-24b",
5241
- name: "Mistral Saba 24B",
5242
- api: "openai-completions",
5243
- provider: "groq",
5244
- baseUrl: "https://api.groq.com/openai/v1",
5245
- reasoning: false,
5246
- input: ["text"],
5247
- cost: {
5248
- input: 0.79,
5249
- output: 0.79,
5250
- cacheRead: 0,
5251
- cacheWrite: 0,
5252
- },
5253
- contextWindow: 32768,
5254
- maxTokens: 32768,
5255
- },
5256
- "moonshotai/kimi-k2-instruct": {
5257
- id: "moonshotai/kimi-k2-instruct",
5258
- name: "Kimi K2 Instruct",
5259
- api: "openai-completions",
5260
- provider: "groq",
5261
- baseUrl: "https://api.groq.com/openai/v1",
5262
- reasoning: false,
5263
- input: ["text"],
5264
- cost: {
5265
- input: 1,
5266
- output: 3,
5267
- cacheRead: 0,
5268
- cacheWrite: 0,
5269
- },
5270
- contextWindow: 131072,
5271
- maxTokens: 16384,
5272
- },
5273
- "moonshotai/kimi-k2-instruct-0905": {
5274
- id: "moonshotai/kimi-k2-instruct-0905",
5275
- name: "Kimi K2 Instruct 0905",
5276
- api: "openai-completions",
5277
- provider: "groq",
5278
- baseUrl: "https://api.groq.com/openai/v1",
5279
- reasoning: false,
5280
- input: ["text"],
5281
- cost: {
5282
- input: 1,
5283
- output: 3,
5284
- cacheRead: 0.5,
5285
- cacheWrite: 0,
5286
- },
5287
- contextWindow: 262144,
5288
- maxTokens: 16384,
5289
- },
5290
- "openai/gpt-oss-120b": {
5291
- id: "openai/gpt-oss-120b",
5292
- name: "GPT OSS 120B",
5293
- api: "openai-completions",
5294
- provider: "groq",
5295
- baseUrl: "https://api.groq.com/openai/v1",
5296
- reasoning: true,
5297
- input: ["text"],
5298
- cost: {
5299
- input: 0.15,
5300
- output: 0.6,
5301
- cacheRead: 0.075,
5302
- cacheWrite: 0,
5303
- },
5304
- contextWindow: 131072,
5305
- maxTokens: 65536,
5306
- },
5307
- "openai/gpt-oss-20b": {
5308
- id: "openai/gpt-oss-20b",
5309
- name: "GPT OSS 20B",
5310
- api: "openai-completions",
5311
- provider: "groq",
5312
- baseUrl: "https://api.groq.com/openai/v1",
5313
- reasoning: true,
5314
- input: ["text"],
5315
- cost: {
5316
- input: 0.075,
5317
- output: 0.3,
5318
- cacheRead: 0.0375,
5319
- cacheWrite: 0,
5320
- },
5321
- contextWindow: 131072,
5322
- maxTokens: 65536,
5323
- },
5324
- "openai/gpt-oss-safeguard-20b": {
5325
- id: "openai/gpt-oss-safeguard-20b",
5326
- name: "Safety GPT OSS 20B",
5327
- api: "openai-completions",
5328
- provider: "groq",
5329
- baseUrl: "https://api.groq.com/openai/v1",
5330
- reasoning: true,
5331
- input: ["text"],
5332
- cost: {
5333
- input: 0.075,
5334
- output: 0.3,
5335
- cacheRead: 0.037,
5336
- cacheWrite: 0,
5337
- },
5338
- contextWindow: 131072,
5339
- maxTokens: 65536,
5340
- },
5341
- "qwen-qwq-32b": {
5342
- id: "qwen-qwq-32b",
5343
- name: "Qwen QwQ 32B",
5344
- api: "openai-completions",
5345
- provider: "groq",
5346
- baseUrl: "https://api.groq.com/openai/v1",
5347
- reasoning: true,
5348
- input: ["text"],
5349
- cost: {
5350
- input: 0.29,
5351
- output: 0.39,
5352
- cacheRead: 0,
5353
- cacheWrite: 0,
5354
- },
5355
- contextWindow: 131072,
5356
- maxTokens: 16384,
5357
- },
5358
- "qwen/qwen3-32b": {
5359
- id: "qwen/qwen3-32b",
5360
- name: "Qwen3 32B",
5361
- api: "openai-completions",
5362
- provider: "groq",
5363
- baseUrl: "https://api.groq.com/openai/v1",
5364
- reasoning: true,
5365
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "default" },
5366
- input: ["text"],
5367
- cost: {
5368
- input: 0.29,
5369
- output: 0.59,
5370
- cacheRead: 0,
5371
- cacheWrite: 0,
5372
- },
5373
- contextWindow: 131072,
5374
- maxTokens: 40960,
5375
- },
5376
- },
5377
- "huggingface": {
5378
- "MiniMaxAI/MiniMax-M2.1": {
5379
- id: "MiniMaxAI/MiniMax-M2.1",
5380
- name: "MiniMax-M2.1",
5381
- api: "openai-completions",
5382
- provider: "huggingface",
5383
- baseUrl: "https://router.huggingface.co/v1",
5384
- compat: { "supportsDeveloperRole": false },
5385
- reasoning: true,
5386
- input: ["text"],
5387
- cost: {
5388
- input: 0.3,
5389
- output: 1.2,
5390
- cacheRead: 0,
5391
- cacheWrite: 0,
5392
- },
5393
- contextWindow: 204800,
5394
- maxTokens: 131072,
5395
- },
5396
- "MiniMaxAI/MiniMax-M2.5": {
5397
- id: "MiniMaxAI/MiniMax-M2.5",
5398
- name: "MiniMax-M2.5",
5341
+ "MiniMaxAI/MiniMax-M2.5": {
5342
+ id: "MiniMaxAI/MiniMax-M2.5",
5343
+ name: "MiniMax-M2.5",
5399
5344
  api: "openai-completions",
5400
5345
  provider: "huggingface",
5401
5346
  baseUrl: "https://router.huggingface.co/v1",
@@ -7552,6 +7497,25 @@ export const MODELS = {
7552
7497
  contextWindow: 200000,
7553
7498
  maxTokens: 32000,
7554
7499
  },
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
+ },
7555
7519
  "claude-haiku-4-5": {
7556
7520
  id: "claude-haiku-4-5",
7557
7521
  name: "Claude Haiku 4.5",
@@ -7725,7 +7689,7 @@ export const MODELS = {
7725
7689
  cost: {
7726
7690
  input: 0.14,
7727
7691
  output: 0.28,
7728
- cacheRead: 0.03,
7692
+ cacheRead: 0.028,
7729
7693
  cacheWrite: 0,
7730
7694
  },
7731
7695
  contextWindow: 1000000,
@@ -7750,6 +7714,25 @@ export const MODELS = {
7750
7714
  contextWindow: 200000,
7751
7715
  maxTokens: 128000,
7752
7716
  },
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
+ },
7753
7736
  "gemini-3-flash": {
7754
7737
  id: "gemini-3-flash",
7755
7738
  name: "Gemini 3 Flash",
@@ -8245,6 +8228,23 @@ export const MODELS = {
8245
8228
  contextWindow: 1000000,
8246
8229
  maxTokens: 128000,
8247
8230
  },
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
8248
  "qwen3.5-plus": {
8249
8249
  id: "qwen3.5-plus",
8250
8250
  name: "Qwen3.5 Plus",
@@ -8662,6 +8662,24 @@ export const MODELS = {
8662
8662
  contextWindow: 200000,
8663
8663
  maxTokens: 8192,
8664
8664
  },
8665
+ "anthropic/claude-fable-5": {
8666
+ id: "anthropic/claude-fable-5",
8667
+ name: "Anthropic: Claude Fable 5",
8668
+ api: "openai-completions",
8669
+ provider: "openrouter",
8670
+ baseUrl: "https://openrouter.ai/api/v1",
8671
+ reasoning: true,
8672
+ thinkingLevelMap: { "xhigh": "xhigh" },
8673
+ input: ["text", "image"],
8674
+ cost: {
8675
+ input: 10,
8676
+ output: 50,
8677
+ cacheRead: 1,
8678
+ cacheWrite: 12.5,
8679
+ },
8680
+ contextWindow: 1000000,
8681
+ maxTokens: 128000,
8682
+ },
8665
8683
  "anthropic/claude-haiku-4.5": {
8666
8684
  id: "anthropic/claude-haiku-4.5",
8667
8685
  name: "Anthropic: Claude Haiku 4.5",
@@ -9090,7 +9108,7 @@ export const MODELS = {
9090
9108
  cacheRead: 0.135,
9091
9109
  cacheWrite: 0,
9092
9110
  },
9093
- contextWindow: 163840,
9111
+ contextWindow: 131072,
9094
9112
  maxTokens: 16384,
9095
9113
  },
9096
9114
  "deepseek/deepseek-chat-v3.1": {
@@ -9206,13 +9224,13 @@ export const MODELS = {
9206
9224
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
9207
9225
  input: ["text"],
9208
9226
  cost: {
9209
- input: 0.0983,
9210
- output: 0.1966,
9211
- cacheRead: 0.0197,
9227
+ input: 0.098,
9228
+ output: 0.196,
9229
+ cacheRead: 0.02,
9212
9230
  cacheWrite: 0,
9213
9231
  },
9214
9232
  contextWindow: 1048576,
9215
- maxTokens: 131072,
9233
+ maxTokens: 4096,
9216
9234
  },
9217
9235
  "deepseek/deepseek-v4-pro": {
9218
9236
  id: "deepseek/deepseek-v4-pro",
@@ -9532,12 +9550,12 @@ export const MODELS = {
9532
9550
  input: ["text", "image"],
9533
9551
  cost: {
9534
9552
  input: 0.12,
9535
- output: 0.36,
9553
+ output: 0.35,
9536
9554
  cacheRead: 0.09,
9537
9555
  cacheWrite: 0,
9538
9556
  },
9539
9557
  contextWindow: 262144,
9540
- maxTokens: 8192,
9558
+ maxTokens: 262144,
9541
9559
  },
9542
9560
  "google/gemma-4-31b-it:free": {
9543
9561
  id: "google/gemma-4-31b-it:free",
@@ -9838,9 +9856,9 @@ export const MODELS = {
9838
9856
  reasoning: true,
9839
9857
  input: ["text"],
9840
9858
  cost: {
9841
- input: 0.27,
9842
- output: 1.08,
9843
- cacheRead: 0.054,
9859
+ input: 0.25,
9860
+ output: 1,
9861
+ cacheRead: 0.05,
9844
9862
  cacheWrite: 0,
9845
9863
  },
9846
9864
  contextWindow: 204800,
@@ -10212,13 +10230,13 @@ export const MODELS = {
10212
10230
  reasoning: true,
10213
10231
  input: ["text", "image"],
10214
10232
  cost: {
10215
- input: 0.4,
10216
- output: 1.9,
10217
- cacheRead: 0.09,
10233
+ input: 0.35,
10234
+ output: 1.89,
10235
+ cacheRead: 0,
10218
10236
  cacheWrite: 0,
10219
10237
  },
10220
10238
  contextWindow: 262144,
10221
- maxTokens: 262144,
10239
+ maxTokens: 4096,
10222
10240
  },
10223
10241
  "moonshotai/kimi-k2.6": {
10224
10242
  id: "moonshotai/kimi-k2.6",
@@ -10229,30 +10247,13 @@ export const MODELS = {
10229
10247
  reasoning: true,
10230
10248
  input: ["text", "image"],
10231
10249
  cost: {
10232
- input: 0.68,
10233
- output: 3.41,
10234
- cacheRead: 0.34,
10235
- cacheWrite: 0,
10236
- },
10237
- contextWindow: 262144,
10238
- maxTokens: 262142,
10239
- },
10240
- "moonshotai/kimi-k2.6:free": {
10241
- id: "moonshotai/kimi-k2.6:free",
10242
- name: "MoonshotAI: Kimi K2.6 (free)",
10243
- api: "openai-completions",
10244
- provider: "openrouter",
10245
- baseUrl: "https://openrouter.ai/api/v1",
10246
- reasoning: true,
10247
- input: ["text", "image"],
10248
- cost: {
10249
- input: 0,
10250
- output: 0,
10251
- cacheRead: 0,
10250
+ input: 0.67,
10251
+ output: 3.39,
10252
+ cacheRead: 0.14,
10252
10253
  cacheWrite: 0,
10253
10254
  },
10254
10255
  contextWindow: 262144,
10255
- maxTokens: 4096,
10256
+ maxTokens: 262144,
10256
10257
  },
10257
10258
  "nex-agi/nex-n2-pro:free": {
10258
10259
  id: "nex-agi/nex-n2-pro:free",
@@ -10424,23 +10425,6 @@ export const MODELS = {
10424
10425
  contextWindow: 128000,
10425
10426
  maxTokens: 128000,
10426
10427
  },
10427
- "nvidia/nemotron-nano-9b-v2": {
10428
- id: "nvidia/nemotron-nano-9b-v2",
10429
- name: "NVIDIA: Nemotron Nano 9B V2",
10430
- api: "openai-completions",
10431
- provider: "openrouter",
10432
- baseUrl: "https://openrouter.ai/api/v1",
10433
- reasoning: true,
10434
- input: ["text"],
10435
- cost: {
10436
- input: 0.04,
10437
- output: 0.16,
10438
- cacheRead: 0,
10439
- cacheWrite: 0,
10440
- },
10441
- contextWindow: 131072,
10442
- maxTokens: 16384,
10443
- },
10444
10428
  "nvidia/nemotron-nano-9b-v2:free": {
10445
10429
  id: "nvidia/nemotron-nano-9b-v2:free",
10446
10430
  name: "NVIDIA: Nemotron Nano 9B V2 (free)",
@@ -12179,13 +12163,13 @@ export const MODELS = {
12179
12163
  reasoning: true,
12180
12164
  input: ["text", "image"],
12181
12165
  cost: {
12182
- input: 0.14,
12166
+ input: 0.15,
12183
12167
  output: 1,
12184
- cacheRead: 0,
12168
+ cacheRead: 0.05,
12185
12169
  cacheWrite: 0,
12186
12170
  },
12187
12171
  contextWindow: 262144,
12188
- maxTokens: 262140,
12172
+ maxTokens: 262144,
12189
12173
  },
12190
12174
  "qwen/qwen3.6-flash": {
12191
12175
  id: "qwen/qwen3.6-flash",
@@ -12264,10 +12248,10 @@ export const MODELS = {
12264
12248
  reasoning: true,
12265
12249
  input: ["text", "image"],
12266
12250
  cost: {
12267
- input: 0.4,
12268
- output: 1.6,
12269
- cacheRead: 0.08,
12270
- cacheWrite: 0.5,
12251
+ input: 0.32,
12252
+ output: 1.28,
12253
+ cacheRead: 0.064,
12254
+ cacheWrite: 0.4,
12271
12255
  },
12272
12256
  contextWindow: 1000000,
12273
12257
  maxTokens: 65536,
@@ -12527,23 +12511,6 @@ export const MODELS = {
12527
12511
  contextWindow: 1048576,
12528
12512
  maxTokens: 131072,
12529
12513
  },
12530
- "z-ai/glm-4-32b": {
12531
- id: "z-ai/glm-4-32b",
12532
- name: "Z.ai: GLM 4 32B ",
12533
- api: "openai-completions",
12534
- provider: "openrouter",
12535
- baseUrl: "https://openrouter.ai/api/v1",
12536
- reasoning: false,
12537
- input: ["text"],
12538
- cost: {
12539
- input: 0.1,
12540
- output: 0.1,
12541
- cacheRead: 0,
12542
- cacheWrite: 0,
12543
- },
12544
- contextWindow: 128000,
12545
- maxTokens: 4096,
12546
- },
12547
12514
  "z-ai/glm-4.5": {
12548
12515
  id: "z-ai/glm-4.5",
12549
12516
  name: "Z.ai: GLM 4.5",
@@ -12578,23 +12545,6 @@ export const MODELS = {
12578
12545
  contextWindow: 131072,
12579
12546
  maxTokens: 131070,
12580
12547
  },
12581
- "z-ai/glm-4.5-air:free": {
12582
- id: "z-ai/glm-4.5-air:free",
12583
- name: "Z.ai: GLM 4.5 Air (free)",
12584
- api: "openai-completions",
12585
- provider: "openrouter",
12586
- baseUrl: "https://openrouter.ai/api/v1",
12587
- reasoning: true,
12588
- input: ["text"],
12589
- cost: {
12590
- input: 0,
12591
- output: 0,
12592
- cacheRead: 0,
12593
- cacheWrite: 0,
12594
- },
12595
- contextWindow: 131072,
12596
- maxTokens: 96000,
12597
- },
12598
12548
  "z-ai/glm-4.5v": {
12599
12549
  id: "z-ai/glm-4.5v",
12600
12550
  name: "Z.ai: GLM 4.5V",
@@ -12640,11 +12590,11 @@ export const MODELS = {
12640
12590
  cost: {
12641
12591
  input: 0.3,
12642
12592
  output: 0.9,
12643
- cacheRead: 0.05,
12593
+ cacheRead: 0.055,
12644
12594
  cacheWrite: 0,
12645
12595
  },
12646
12596
  contextWindow: 131072,
12647
- maxTokens: 24000,
12597
+ maxTokens: 32768,
12648
12598
  },
12649
12599
  "z-ai/glm-4.7": {
12650
12600
  id: "z-ai/glm-4.7",
@@ -12711,7 +12661,7 @@ export const MODELS = {
12711
12661
  cacheRead: 0.24,
12712
12662
  cacheWrite: 0,
12713
12663
  },
12714
- contextWindow: 202752,
12664
+ contextWindow: 262144,
12715
12665
  maxTokens: 131072,
12716
12666
  },
12717
12667
  "z-ai/glm-5.1": {
@@ -12731,22 +12681,22 @@ export const MODELS = {
12731
12681
  contextWindow: 202752,
12732
12682
  maxTokens: 4096,
12733
12683
  },
12734
- "z-ai/glm-5v-turbo": {
12735
- id: "z-ai/glm-5v-turbo",
12736
- name: "Z.ai: GLM 5V Turbo",
12684
+ "~anthropic/claude-fable-latest": {
12685
+ id: "~anthropic/claude-fable-latest",
12686
+ name: "Anthropic: Claude Fable Latest",
12737
12687
  api: "openai-completions",
12738
12688
  provider: "openrouter",
12739
12689
  baseUrl: "https://openrouter.ai/api/v1",
12740
12690
  reasoning: true,
12741
12691
  input: ["text", "image"],
12742
12692
  cost: {
12743
- input: 1.2,
12744
- output: 4,
12745
- cacheRead: 0.24,
12746
- cacheWrite: 0,
12693
+ input: 10,
12694
+ output: 50,
12695
+ cacheRead: 1,
12696
+ cacheWrite: 12.5,
12747
12697
  },
12748
- contextWindow: 202752,
12749
- maxTokens: 131072,
12698
+ contextWindow: 1000000,
12699
+ maxTokens: 128000,
12750
12700
  },
12751
12701
  "~anthropic/claude-haiku-latest": {
12752
12702
  id: "~anthropic/claude-haiku-latest",
@@ -12842,13 +12792,13 @@ export const MODELS = {
12842
12792
  reasoning: true,
12843
12793
  input: ["text", "image"],
12844
12794
  cost: {
12845
- input: 0.68,
12846
- output: 3.41,
12847
- cacheRead: 0.34,
12795
+ input: 0.67,
12796
+ output: 3.39,
12797
+ cacheRead: 0.14,
12848
12798
  cacheWrite: 0,
12849
12799
  },
12850
12800
  contextWindow: 262144,
12851
- maxTokens: 262142,
12801
+ maxTokens: 262144,
12852
12802
  },
12853
12803
  "~openai/gpt-latest": {
12854
12804
  id: "~openai/gpt-latest",
@@ -12886,25 +12836,6 @@ export const MODELS = {
12886
12836
  },
12887
12837
  },
12888
12838
  "together": {
12889
- "MiniMaxAI/MiniMax-M2.5": {
12890
- id: "MiniMaxAI/MiniMax-M2.5",
12891
- name: "MiniMax-M2.5",
12892
- api: "openai-completions",
12893
- provider: "together",
12894
- baseUrl: "https://api.together.ai/v1",
12895
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
12896
- reasoning: true,
12897
- thinkingLevelMap: { "off": null, "minimal": null, "low": null, "medium": null },
12898
- input: ["text"],
12899
- cost: {
12900
- input: 0.3,
12901
- output: 1.2,
12902
- cacheRead: 0.06,
12903
- cacheWrite: 0,
12904
- },
12905
- contextWindow: 204800,
12906
- maxTokens: 131072,
12907
- },
12908
12839
  "MiniMaxAI/MiniMax-M2.7": {
12909
12840
  id: "MiniMaxAI/MiniMax-M2.7",
12910
12841
  name: "MiniMax-M2.7",
@@ -12924,28 +12855,27 @@ export const MODELS = {
12924
12855
  contextWindow: 202752,
12925
12856
  maxTokens: 131072,
12926
12857
  },
12927
- "Qwen/Qwen3-235B-A22B-Instruct-2507-tput": {
12928
- id: "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
12929
- name: "Qwen3 235B A22B Instruct 2507 FP8",
12858
+ "Qwen/Qwen2.5-7B-Instruct-Turbo": {
12859
+ id: "Qwen/Qwen2.5-7B-Instruct-Turbo",
12860
+ name: "Qwen 2.5 7B Instruct Turbo",
12930
12861
  api: "openai-completions",
12931
12862
  provider: "together",
12932
12863
  baseUrl: "https://api.together.ai/v1",
12933
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
12934
- reasoning: true,
12935
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
12864
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
12865
+ reasoning: false,
12936
12866
  input: ["text"],
12937
12867
  cost: {
12938
- input: 0.2,
12939
- output: 0.6,
12868
+ input: 0.3,
12869
+ output: 0.3,
12940
12870
  cacheRead: 0,
12941
12871
  cacheWrite: 0,
12942
12872
  },
12943
- contextWindow: 262144,
12944
- maxTokens: 262144,
12873
+ contextWindow: 32768,
12874
+ maxTokens: 32768,
12945
12875
  },
12946
- "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8": {
12947
- id: "Qwen/Qwen3-Coder-480B-A35B-Instruct-FP8",
12948
- name: "Qwen3 Coder 480B A35B Instruct",
12876
+ "Qwen/Qwen3-235B-A22B-Instruct-2507-tput": {
12877
+ id: "Qwen/Qwen3-235B-A22B-Instruct-2507-tput",
12878
+ name: "Qwen3 235B A22B Instruct 2507 FP8",
12949
12879
  api: "openai-completions",
12950
12880
  provider: "together",
12951
12881
  baseUrl: "https://api.together.ai/v1",
@@ -12953,36 +12883,36 @@ export const MODELS = {
12953
12883
  reasoning: false,
12954
12884
  input: ["text"],
12955
12885
  cost: {
12956
- input: 2,
12957
- output: 2,
12886
+ input: 0.2,
12887
+ output: 0.6,
12958
12888
  cacheRead: 0,
12959
12889
  cacheWrite: 0,
12960
12890
  },
12961
12891
  contextWindow: 262144,
12962
12892
  maxTokens: 262144,
12963
12893
  },
12964
- "Qwen/Qwen3-Coder-Next-FP8": {
12965
- id: "Qwen/Qwen3-Coder-Next-FP8",
12966
- name: "Qwen3 Coder Next FP8",
12894
+ "Qwen/Qwen3.5-397B-A17B": {
12895
+ id: "Qwen/Qwen3.5-397B-A17B",
12896
+ name: "Qwen3.5 397B A17B",
12967
12897
  api: "openai-completions",
12968
12898
  provider: "together",
12969
12899
  baseUrl: "https://api.together.ai/v1",
12970
12900
  compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
12971
12901
  reasoning: true,
12972
12902
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
12973
- input: ["text"],
12903
+ input: ["text", "image"],
12974
12904
  cost: {
12975
- input: 0.5,
12976
- output: 1.2,
12905
+ input: 0.6,
12906
+ output: 3.6,
12977
12907
  cacheRead: 0,
12978
12908
  cacheWrite: 0,
12979
12909
  },
12980
12910
  contextWindow: 262144,
12981
- maxTokens: 262144,
12911
+ maxTokens: 130000,
12982
12912
  },
12983
- "Qwen/Qwen3.5-397B-A17B": {
12984
- id: "Qwen/Qwen3.5-397B-A17B",
12985
- name: "Qwen3.5 397B A17B",
12913
+ "Qwen/Qwen3.5-9B": {
12914
+ id: "Qwen/Qwen3.5-9B",
12915
+ name: "Qwen3.5 9B",
12986
12916
  api: "openai-completions",
12987
12917
  provider: "together",
12988
12918
  baseUrl: "https://api.together.ai/v1",
@@ -12991,13 +12921,13 @@ export const MODELS = {
12991
12921
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
12992
12922
  input: ["text", "image"],
12993
12923
  cost: {
12994
- input: 0.6,
12995
- output: 3.6,
12924
+ input: 0.17,
12925
+ output: 0.25,
12996
12926
  cacheRead: 0,
12997
12927
  cacheWrite: 0,
12998
12928
  },
12999
12929
  contextWindow: 262144,
13000
- maxTokens: 130000,
12930
+ maxTokens: 65536,
13001
12931
  },
13002
12932
  "Qwen/Qwen3.6-Plus": {
13003
12933
  id: "Qwen/Qwen3.6-Plus",
@@ -13024,9 +12954,8 @@ export const MODELS = {
13024
12954
  api: "openai-completions",
13025
12955
  provider: "together",
13026
12956
  baseUrl: "https://api.together.ai/v1",
13027
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13028
- reasoning: true,
13029
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
12957
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false },
12958
+ reasoning: false,
13030
12959
  input: ["text"],
13031
12960
  cost: {
13032
12961
  input: 2.5,
@@ -13037,44 +12966,6 @@ export const MODELS = {
13037
12966
  contextWindow: 1000000,
13038
12967
  maxTokens: 500000,
13039
12968
  },
13040
- "deepseek-ai/DeepSeek-V3": {
13041
- id: "deepseek-ai/DeepSeek-V3",
13042
- name: "DeepSeek-V3",
13043
- api: "openai-completions",
13044
- provider: "together",
13045
- baseUrl: "https://api.together.ai/v1",
13046
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13047
- reasoning: true,
13048
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13049
- input: ["text"],
13050
- cost: {
13051
- input: 1.25,
13052
- output: 1.25,
13053
- cacheRead: 0,
13054
- cacheWrite: 0,
13055
- },
13056
- contextWindow: 131072,
13057
- maxTokens: 131072,
13058
- },
13059
- "deepseek-ai/DeepSeek-V3-1": {
13060
- id: "deepseek-ai/DeepSeek-V3-1",
13061
- name: "DeepSeek V3.1",
13062
- api: "openai-completions",
13063
- provider: "together",
13064
- baseUrl: "https://api.together.ai/v1",
13065
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13066
- reasoning: true,
13067
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13068
- input: ["text"],
13069
- cost: {
13070
- input: 0.6,
13071
- output: 1.7,
13072
- cacheRead: 0,
13073
- cacheWrite: 0,
13074
- },
13075
- contextWindow: 131072,
13076
- maxTokens: 131072,
13077
- },
13078
12969
  "deepseek-ai/DeepSeek-V4-Pro": {
13079
12970
  id: "deepseek-ai/DeepSeek-V4-Pro",
13080
12971
  name: "DeepSeek V4 Pro",
@@ -13086,8 +12977,8 @@ export const MODELS = {
13086
12977
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": null },
13087
12978
  input: ["text"],
13088
12979
  cost: {
13089
- input: 2.1,
13090
- output: 4.4,
12980
+ input: 1.74,
12981
+ output: 3.48,
13091
12982
  cacheRead: 0.2,
13092
12983
  cacheWrite: 0,
13093
12984
  },
@@ -13123,8 +13014,8 @@ export const MODELS = {
13123
13014
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13124
13015
  input: ["text", "image"],
13125
13016
  cost: {
13126
- input: 0.2,
13127
- output: 0.5,
13017
+ input: 0.39,
13018
+ output: 0.97,
13128
13019
  cacheRead: 0,
13129
13020
  cacheWrite: 0,
13130
13021
  },
@@ -13149,25 +13040,6 @@ export const MODELS = {
13149
13040
  contextWindow: 131072,
13150
13041
  maxTokens: 131072,
13151
13042
  },
13152
- "moonshotai/Kimi-K2.5": {
13153
- id: "moonshotai/Kimi-K2.5",
13154
- name: "Kimi K2.5",
13155
- api: "openai-completions",
13156
- provider: "together",
13157
- baseUrl: "https://api.together.ai/v1",
13158
- compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "supportsStrictMode": false, "supportsLongCacheRetention": false, "thinkingFormat": "together" },
13159
- reasoning: true,
13160
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
13161
- input: ["text", "image"],
13162
- cost: {
13163
- input: 0.5,
13164
- output: 2.8,
13165
- cacheRead: 0,
13166
- cacheWrite: 0,
13167
- },
13168
- contextWindow: 262144,
13169
- maxTokens: 262144,
13170
- },
13171
13043
  "moonshotai/Kimi-K2.6": {
13172
13044
  id: "moonshotai/Kimi-K2.6",
13173
13045
  name: "Kimi K2.6",
@@ -13225,6 +13097,44 @@ export const MODELS = {
13225
13097
  contextWindow: 131072,
13226
13098
  maxTokens: 131072,
13227
13099
  },
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
+ },
13228
13138
  "zai-org/GLM-5.1": {
13229
13139
  id: "zai-org/GLM-5.1",
13230
13140
  name: "GLM-5.1",
@@ -13654,6 +13564,25 @@ export const MODELS = {
13654
13564
  contextWindow: 200000,
13655
13565
  maxTokens: 8192,
13656
13566
  },
13567
+ "anthropic/claude-fable-5": {
13568
+ id: "anthropic/claude-fable-5",
13569
+ name: "Claude Fable 5",
13570
+ api: "anthropic-messages",
13571
+ provider: "vercel-ai-gateway",
13572
+ baseUrl: "https://ai-gateway.vercel.sh",
13573
+ compat: { "forceAdaptiveThinking": true },
13574
+ reasoning: true,
13575
+ thinkingLevelMap: { "xhigh": "xhigh" },
13576
+ input: ["text", "image"],
13577
+ cost: {
13578
+ input: 10,
13579
+ output: 50,
13580
+ cacheRead: 1,
13581
+ cacheWrite: 12.5,
13582
+ },
13583
+ contextWindow: 1000000,
13584
+ maxTokens: 128000,
13585
+ },
13657
13586
  "anthropic/claude-haiku-4.5": {
13658
13587
  id: "anthropic/claude-haiku-4.5",
13659
13588
  name: "Claude Haiku 4.5",
@@ -14783,40 +14712,6 @@ export const MODELS = {
14783
14712
  contextWindow: 262114,
14784
14713
  maxTokens: 262114,
14785
14714
  },
14786
- "moonshotai/kimi-k2-thinking-turbo": {
14787
- id: "moonshotai/kimi-k2-thinking-turbo",
14788
- name: "Kimi K2 Thinking Turbo",
14789
- api: "anthropic-messages",
14790
- provider: "vercel-ai-gateway",
14791
- baseUrl: "https://ai-gateway.vercel.sh",
14792
- reasoning: true,
14793
- input: ["text"],
14794
- cost: {
14795
- input: 1.15,
14796
- output: 8,
14797
- cacheRead: 0.15,
14798
- cacheWrite: 0,
14799
- },
14800
- contextWindow: 262114,
14801
- maxTokens: 262114,
14802
- },
14803
- "moonshotai/kimi-k2-turbo": {
14804
- id: "moonshotai/kimi-k2-turbo",
14805
- name: "Kimi K2 Turbo",
14806
- api: "anthropic-messages",
14807
- provider: "vercel-ai-gateway",
14808
- baseUrl: "https://ai-gateway.vercel.sh",
14809
- reasoning: false,
14810
- input: ["text"],
14811
- cost: {
14812
- input: 1.15,
14813
- output: 8,
14814
- cacheRead: 0.15,
14815
- cacheWrite: 0,
14816
- },
14817
- contextWindow: 256000,
14818
- maxTokens: 16384,
14819
- },
14820
14715
  "moonshotai/kimi-k2.5": {
14821
14716
  id: "moonshotai/kimi-k2.5",
14822
14717
  name: "Kimi K2.5",
@@ -16317,6 +16212,24 @@ export const MODELS = {
16317
16212
  contextWindow: 1048576,
16318
16213
  maxTokens: 131072,
16319
16214
  },
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
+ },
16320
16233
  },
16321
16234
  "xiaomi-token-plan-ams": {
16322
16235
  "mimo-v2-flash": {
@@ -16409,6 +16322,24 @@ export const MODELS = {
16409
16322
  contextWindow: 1048576,
16410
16323
  maxTokens: 131072,
16411
16324
  },
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
+ },
16412
16343
  },
16413
16344
  "xiaomi-token-plan-cn": {
16414
16345
  "mimo-v2-flash": {
@@ -16501,6 +16432,24 @@ export const MODELS = {
16501
16432
  contextWindow: 1048576,
16502
16433
  maxTokens: 131072,
16503
16434
  },
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
+ },
16504
16453
  },
16505
16454
  "xiaomi-token-plan-sgp": {
16506
16455
  "mimo-v2-flash": {
@@ -16593,6 +16542,24 @@ export const MODELS = {
16593
16542
  contextWindow: 1048576,
16594
16543
  maxTokens: 131072,
16595
16544
  },
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
+ },
16596
16563
  },
16597
16564
  "zai": {
16598
16565
  "glm-4.5-air": {