@entelligentsia/forgecli 1.0.3 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +2 -1
  3. package/dist/CHANGELOG-forge-plugin.md +100 -0
  4. package/dist/CHANGELOG-pi.md +94 -0
  5. package/dist/extensions/forgecli/forge-artifact-tool.js +27 -4
  6. package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -1
  7. package/dist/extensions/forgecli/forge-tools.js +2 -2
  8. package/dist/extensions/forgecli/forge-tools.js.map +1 -1
  9. package/dist/extensions/forgecli/subagent/phase-guard.js +15 -5
  10. package/dist/extensions/forgecli/subagent/phase-guard.js.map +1 -1
  11. package/dist/extensions/forgecli/subagent/phase-summary-map.d.ts +1 -0
  12. package/dist/extensions/forgecli/subagent/phase-summary-map.js +17 -0
  13. package/dist/extensions/forgecli/subagent/phase-summary-map.js.map +1 -1
  14. package/dist/forge-payload/.base-pack/workflows/_fragments/store-cli-verbs.md +18 -3
  15. package/dist/forge-payload/.base-pack/workflows/architect_approve.md +4 -5
  16. package/dist/forge-payload/.base-pack/workflows/collator_agent.md +1 -1
  17. package/dist/forge-payload/.base-pack/workflows/commit_task.md +2 -3
  18. package/dist/forge-payload/.base-pack/workflows/implement_plan.md +3 -2
  19. package/dist/forge-payload/.base-pack/workflows/orchestrate_task.md +41 -47
  20. package/dist/forge-payload/.base-pack/workflows/triage.md +2 -2
  21. package/dist/forge-payload/.base-pack/workflows/validate_task.md +2 -3
  22. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  23. package/dist/forge-payload/.schemas/_defs/locator.schema.json +13 -0
  24. package/dist/forge-payload/.schemas/bug.schema.json +1 -0
  25. package/dist/forge-payload/.schemas/enum-catalog.json +2 -2
  26. package/dist/forge-payload/.schemas/migrations.json +63 -0
  27. package/dist/forge-payload/.schemas/sprint.schema.json +1 -0
  28. package/dist/forge-payload/.schemas/task.schema.json +1 -0
  29. package/dist/forge-payload/integrity.json +3 -3
  30. package/dist/forge-payload/meta/workflows/_fragments/store-cli-verbs.md +18 -3
  31. package/dist/forge-payload/meta/workflows/meta-approve.md +4 -5
  32. package/dist/forge-payload/meta/workflows/meta-bug-triage.md +2 -2
  33. package/dist/forge-payload/meta/workflows/meta-collate.md +1 -1
  34. package/dist/forge-payload/meta/workflows/meta-commit.md +2 -3
  35. package/dist/forge-payload/meta/workflows/meta-implement.md +3 -2
  36. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +41 -47
  37. package/dist/forge-payload/meta/workflows/meta-validate.md +2 -3
  38. package/dist/forge-payload/schemas/_defs/locator.schema.json +13 -0
  39. package/dist/forge-payload/schemas/bug.schema.json +1 -0
  40. package/dist/forge-payload/schemas/enum-catalog.json +2 -2
  41. package/dist/forge-payload/schemas/sprint.schema.json +1 -0
  42. package/dist/forge-payload/schemas/structure-manifest.json +3 -2
  43. package/dist/forge-payload/schemas/task.schema.json +1 -0
  44. package/dist/forge-payload/tools/artifact-store.cjs +242 -0
  45. package/dist/forge-payload/tools/artifact.cjs +60 -120
  46. package/dist/forge-payload/tools/lib/artifact-kinds.cjs +95 -0
  47. package/dist/forge-payload/tools/lib/store-nlp.cjs +6 -0
  48. package/dist/forge-payload/tools/lib/store-query-exec.cjs +39 -5
  49. package/dist/forge-payload/tools/lib/suggest.cjs +2 -1
  50. package/dist/forge-payload/tools/preflight-gate.cjs +55 -5
  51. package/dist/forge-payload/tools/store-cli.cjs +50 -15
  52. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +5 -2
  53. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  54. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +81 -18
  55. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  56. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  57. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +1 -0
  58. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  59. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  60. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +19 -24
  61. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  62. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +1 -0
  63. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  64. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +14 -1
  65. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  66. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +22 -8
  67. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  68. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  69. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  70. package/node_modules/@earendil-works/pi-ai/README.md +1 -1
  71. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +374 -122
  72. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  73. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +424 -232
  74. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  75. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts +1 -1
  76. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  77. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +38 -2
  78. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  79. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  80. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +21 -12
  81. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  82. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  83. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +6 -10
  84. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  85. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
  86. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js +1 -1
  87. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
  88. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -1
  89. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js +5 -3
  90. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -1
  91. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +1 -1
  92. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js +3 -4
  93. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +1 -1
  94. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -1
  95. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js +2 -3
  96. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -1
  97. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  98. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +159 -78
  99. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  100. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  101. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +16 -11
  102. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  103. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
  104. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js +4 -1
  105. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
  106. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  107. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +6 -10
  108. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  109. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -1
  110. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +1 -0
  111. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -1
  112. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -1
  113. package/node_modules/@earendil-works/pi-ai/dist/stream.js +14 -2
  114. package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -1
  115. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +14 -4
  116. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  117. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  118. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.d.ts +6 -0
  119. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.d.ts.map +1 -0
  120. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js +34 -0
  121. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js.map +1 -0
  122. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts +9 -7
  123. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts.map +1 -1
  124. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +8 -7
  125. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js.map +1 -1
  126. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  127. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +1 -1
  128. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  129. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts +1 -1
  130. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts.map +1 -1
  131. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js +1 -1
  132. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js.map +1 -1
  133. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts +10 -1
  134. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
  135. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +179 -79
  136. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
  137. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  138. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +94 -0
  139. package/node_modules/@earendil-works/pi-coding-agent/README.md +9 -0
  140. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts +3 -0
  141. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
  142. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js +27 -0
  143. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
  144. package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts.map +1 -1
  145. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +15 -2
  146. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js.map +1 -1
  147. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts +1 -0
  148. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts.map +1 -1
  149. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +1 -0
  150. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js.map +1 -1
  151. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +5 -1
  152. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  153. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +28 -4
  154. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  155. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
  156. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +18 -24
  157. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
  158. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +1 -1
  159. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  160. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +8 -2
  161. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  162. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +7 -5
  163. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  164. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  165. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
  166. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +65 -13
  167. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js.map +1 -1
  168. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  169. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +1 -1
  170. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  171. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.d.ts +9 -1
  172. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.d.ts.map +1 -1
  173. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.js +134 -11
  174. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.js.map +1 -1
  175. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts +2 -0
  176. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  177. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +10 -6
  178. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js.map +1 -1
  179. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts +6 -7
  180. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
  181. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +75 -28
  182. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
  183. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +2 -0
  184. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  185. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +14 -9
  186. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  187. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  188. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js +0 -3
  189. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  190. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
  191. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +7 -10
  192. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
  193. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  194. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  195. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
  196. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
  197. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
  198. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +5 -7
  199. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
  200. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
  201. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +6 -7
  202. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
  203. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.d.ts +5 -2
  204. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.d.ts.map +1 -1
  205. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.js +17 -1
  206. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.js.map +1 -1
  207. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
  208. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +5 -6
  209. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
  210. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +2 -0
  211. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
  212. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +2 -0
  213. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
  214. package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
  215. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +69 -16
  216. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
  217. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.d.ts.map +1 -1
  218. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js +118 -1
  219. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js.map +1 -1
  220. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts +1 -3
  221. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  222. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +2 -4
  223. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
  224. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  225. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js +1 -1
  226. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js.map +1 -1
  227. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +3 -0
  228. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  229. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +59 -6
  230. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  231. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  232. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +10 -0
  233. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  234. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  235. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +3 -1
  236. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  237. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts +1 -0
  238. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  239. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.js.map +1 -1
  240. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.d.ts +4 -0
  241. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.d.ts.map +1 -0
  242. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.js +13 -0
  243. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.js.map +1 -0
  244. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.d.ts +3 -0
  245. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.d.ts.map +1 -0
  246. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.js +7 -0
  247. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.js.map +1 -0
  248. package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +13 -10
  249. package/node_modules/@earendil-works/pi-coding-agent/docs/development.md +1 -1
  250. package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +12 -6
  251. package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +25 -12
  252. package/node_modules/@earendil-works/pi-coding-agent/docs/providers.md +13 -5
  253. package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +1 -0
  254. package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +2 -1
  255. package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +6 -0
  256. package/node_modules/@earendil-works/pi-coding-agent/docs/session-format.md +1 -1
  257. package/node_modules/@earendil-works/pi-coding-agent/docs/sessions.md +8 -0
  258. package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +7 -3
  259. package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +2 -0
  260. package/node_modules/@earendil-works/pi-coding-agent/docs/tui.md +2 -2
  261. package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +9 -0
  262. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/README.md +1 -0
  263. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/index.ts +1 -1
  264. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
  265. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/index.ts +54 -3
  266. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  267. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/git-merge-and-resolve.ts +115 -0
  268. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/input-transform-streaming.ts +39 -0
  269. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
  270. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
  271. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +443 -61
  272. package/node_modules/@earendil-works/pi-coding-agent/package.json +6 -6
  273. package/node_modules/@earendil-works/pi-tui/README.md +2 -2
  274. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  275. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +24 -83
  276. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  277. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -1
  278. package/node_modules/@earendil-works/pi-tui/dist/components/input.js +7 -55
  279. package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -1
  280. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +7 -1
  281. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  282. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +12 -2
  283. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  284. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
  285. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  286. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  287. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +1 -1
  288. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  289. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +34 -7
  290. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  291. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +33 -10
  292. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  293. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +172 -37
  294. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  295. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +6 -1
  296. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
  297. package/node_modules/@earendil-works/pi-tui/dist/utils.js +27 -15
  298. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
  299. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts +25 -0
  300. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts.map +1 -0
  301. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js +96 -0
  302. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js.map +1 -0
  303. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  304. package/node_modules/@entelligentsia/forge-compress/LICENSE +21 -0
  305. package/node_modules/@entelligentsia/forge-compress/README.md +85 -0
  306. package/node_modules/@mariozechner/clipboard/Cargo.toml +3 -3
  307. package/node_modules/@mariozechner/clipboard/index.d.ts +34 -20
  308. package/node_modules/@mariozechner/clipboard/index.js +546 -257
  309. package/node_modules/@mariozechner/clipboard/package.json +5 -6
  310. package/node_modules/@mariozechner/clipboard/package.json.prepack-backup +14 -14
  311. package/node_modules/@mariozechner/clipboard/src/lib.rs +4 -9
  312. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
  313. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/package.json +2 -2
  314. package/package.json +7 -7
  315. package/dist/forge-payload/.base-pack/commands/quiz-agent.md +0 -6
  316. package/dist/forge-payload/.base-pack/commands/retrospective.md +0 -6
  317. package/dist/forge-payload/.base-pack/commands/sprint-intake.md +0 -6
  318. package/dist/forge-payload/.base-pack/commands/sprint-plan.md +0 -6
  319. package/dist/forge-payload/commands/calibrate.md +0 -10
  320. package/dist/forge-payload/commands/materialize.md +0 -119
  321. package/dist/forge-payload/commands/migrate.md +0 -12
  322. package/dist/forge-payload/commands/quiz-agent.md +0 -6
  323. package/dist/forge-payload/commands/regenerate.md +0 -6
  324. package/dist/forge-payload/commands/store-query.md +0 -6
  325. package/dist/forge-payload/commands/store-repair.md +0 -6
  326. package/dist/forge-payload/commands/update-tools.md +0 -10
  327. package/dist/forge-payload/meta/templates/meta-retrospective.md +0 -28
  328. package/dist/forge-payload/tools/prompts/sprint-plan-prompt.md +0 -70
  329. package/dist/forge-payload/tools/schemas/task-list.schema.json +0 -53
  330. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts +0 -4
  331. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts.map +0 -1
  332. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js +0 -3
  333. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js.map +0 -1
  334. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts +0 -20
  335. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts.map +0 -1
  336. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js +0 -92
  337. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js.map +0 -1
  338. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts +0 -18
  339. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts.map +0 -1
  340. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js +0 -42
  341. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js.map +0 -1
  342. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts +0 -10
  343. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts.map +0 -1
  344. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js +0 -31
  345. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js.map +0 -1
  346. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts +0 -30
  347. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts.map +0 -1
  348. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js +0 -170
  349. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js.map +0 -1
  350. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts +0 -26
  351. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts.map +0 -1
  352. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js +0 -90
  353. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js.map +0 -1
  354. package/node_modules/@mariozechner/clipboard-linux-x64-musl/README.md +0 -3
  355. package/node_modules/@mariozechner/clipboard-linux-x64-musl/clipboard.linux-x64-musl.node +0 -0
  356. package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +0 -25
@@ -157,6 +157,24 @@ export const MODELS = {
157
157
  contextWindow: 1000000,
158
158
  maxTokens: 128000,
159
159
  },
160
+ "anthropic.claude-opus-4-8": {
161
+ id: "anthropic.claude-opus-4-8",
162
+ name: "Claude Opus 4.8",
163
+ api: "bedrock-converse-stream",
164
+ provider: "amazon-bedrock",
165
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
166
+ reasoning: true,
167
+ thinkingLevelMap: { "xhigh": "xhigh" },
168
+ input: ["text", "image"],
169
+ cost: {
170
+ input: 5,
171
+ output: 25,
172
+ cacheRead: 0.5,
173
+ cacheWrite: 6.25,
174
+ },
175
+ contextWindow: 1000000,
176
+ maxTokens: 128000,
177
+ },
160
178
  "anthropic.claude-sonnet-4-5-20250929-v1:0": {
161
179
  id: "anthropic.claude-sonnet-4-5-20250929-v1:0",
162
180
  name: "Claude Sonnet 4.5",
@@ -226,6 +244,24 @@ export const MODELS = {
226
244
  contextWindow: 1000000,
227
245
  maxTokens: 128000,
228
246
  },
247
+ "au.anthropic.claude-opus-4-8": {
248
+ id: "au.anthropic.claude-opus-4-8",
249
+ name: "Claude Opus 4.8 (AU)",
250
+ api: "bedrock-converse-stream",
251
+ provider: "amazon-bedrock",
252
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
253
+ reasoning: true,
254
+ thinkingLevelMap: { "xhigh": "xhigh" },
255
+ input: ["text", "image"],
256
+ cost: {
257
+ input: 5,
258
+ output: 25,
259
+ cacheRead: 0.5,
260
+ cacheWrite: 6.25,
261
+ },
262
+ contextWindow: 1000000,
263
+ maxTokens: 128000,
264
+ },
229
265
  "au.anthropic.claude-sonnet-4-5-20250929-v1:0": {
230
266
  id: "au.anthropic.claude-sonnet-4-5-20250929-v1:0",
231
267
  name: "Claude Sonnet 4.5 (AU)",
@@ -381,6 +417,24 @@ export const MODELS = {
381
417
  contextWindow: 1000000,
382
418
  maxTokens: 128000,
383
419
  },
420
+ "eu.anthropic.claude-opus-4-8": {
421
+ id: "eu.anthropic.claude-opus-4-8",
422
+ name: "Claude Opus 4.8 (EU)",
423
+ api: "bedrock-converse-stream",
424
+ provider: "amazon-bedrock",
425
+ baseUrl: "https://bedrock-runtime.eu-central-1.amazonaws.com",
426
+ reasoning: true,
427
+ thinkingLevelMap: { "xhigh": "xhigh" },
428
+ input: ["text", "image"],
429
+ cost: {
430
+ input: 5,
431
+ output: 25,
432
+ cacheRead: 0.5,
433
+ cacheWrite: 6.25,
434
+ },
435
+ contextWindow: 1000000,
436
+ maxTokens: 128000,
437
+ },
384
438
  "eu.anthropic.claude-sonnet-4-5-20250929-v1:0": {
385
439
  id: "eu.anthropic.claude-sonnet-4-5-20250929-v1:0",
386
440
  name: "Claude Sonnet 4.5 (EU)",
@@ -485,6 +539,24 @@ export const MODELS = {
485
539
  contextWindow: 1000000,
486
540
  maxTokens: 128000,
487
541
  },
542
+ "global.anthropic.claude-opus-4-8": {
543
+ id: "global.anthropic.claude-opus-4-8",
544
+ name: "Claude Opus 4.8 (Global)",
545
+ api: "bedrock-converse-stream",
546
+ provider: "amazon-bedrock",
547
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
548
+ reasoning: true,
549
+ thinkingLevelMap: { "xhigh": "xhigh" },
550
+ input: ["text", "image"],
551
+ cost: {
552
+ input: 5,
553
+ output: 25,
554
+ cacheRead: 0.5,
555
+ cacheWrite: 6.25,
556
+ },
557
+ contextWindow: 1000000,
558
+ maxTokens: 128000,
559
+ },
488
560
  "global.anthropic.claude-sonnet-4-5-20250929-v1:0": {
489
561
  id: "global.anthropic.claude-sonnet-4-5-20250929-v1:0",
490
562
  name: "Claude Sonnet 4.5 (Global)",
@@ -571,6 +643,24 @@ export const MODELS = {
571
643
  contextWindow: 1000000,
572
644
  maxTokens: 128000,
573
645
  },
646
+ "jp.anthropic.claude-opus-4-8": {
647
+ id: "jp.anthropic.claude-opus-4-8",
648
+ name: "Claude Opus 4.8 (JP)",
649
+ api: "bedrock-converse-stream",
650
+ provider: "amazon-bedrock",
651
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
652
+ reasoning: true,
653
+ thinkingLevelMap: { "xhigh": "xhigh" },
654
+ input: ["text", "image"],
655
+ cost: {
656
+ input: 5,
657
+ output: 25,
658
+ cacheRead: 0.5,
659
+ cacheWrite: 6.25,
660
+ },
661
+ contextWindow: 1000000,
662
+ maxTokens: 128000,
663
+ },
574
664
  "jp.anthropic.claude-sonnet-4-5-20250929-v1:0": {
575
665
  id: "jp.anthropic.claude-sonnet-4-5-20250929-v1:0",
576
666
  name: "Claude Sonnet 4.5 (JP)",
@@ -1270,6 +1360,24 @@ export const MODELS = {
1270
1360
  contextWindow: 1000000,
1271
1361
  maxTokens: 128000,
1272
1362
  },
1363
+ "us.anthropic.claude-opus-4-8": {
1364
+ id: "us.anthropic.claude-opus-4-8",
1365
+ name: "Claude Opus 4.8 (US)",
1366
+ api: "bedrock-converse-stream",
1367
+ provider: "amazon-bedrock",
1368
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
1369
+ reasoning: true,
1370
+ thinkingLevelMap: { "xhigh": "xhigh" },
1371
+ input: ["text", "image"],
1372
+ cost: {
1373
+ input: 5,
1374
+ output: 25,
1375
+ cacheRead: 0.5,
1376
+ cacheWrite: 6.25,
1377
+ },
1378
+ contextWindow: 1000000,
1379
+ maxTokens: 128000,
1380
+ },
1273
1381
  "us.anthropic.claude-sonnet-4-5-20250929-v1:0": {
1274
1382
  id: "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
1275
1383
  name: "Claude Sonnet 4.5 (US)",
@@ -1752,6 +1860,25 @@ export const MODELS = {
1752
1860
  contextWindow: 1000000,
1753
1861
  maxTokens: 128000,
1754
1862
  },
1863
+ "claude-opus-4-8": {
1864
+ id: "claude-opus-4-8",
1865
+ name: "Claude Opus 4.8",
1866
+ api: "anthropic-messages",
1867
+ provider: "anthropic",
1868
+ baseUrl: "https://api.anthropic.com",
1869
+ compat: { "forceAdaptiveThinking": true },
1870
+ reasoning: true,
1871
+ thinkingLevelMap: { "xhigh": "xhigh" },
1872
+ input: ["text", "image"],
1873
+ cost: {
1874
+ input: 5,
1875
+ output: 25,
1876
+ cacheRead: 0.5,
1877
+ cacheWrite: 6.25,
1878
+ },
1879
+ contextWindow: 1000000,
1880
+ maxTokens: 128000,
1881
+ },
1755
1882
  "claude-sonnet-4-0": {
1756
1883
  id: "claude-sonnet-4-0",
1757
1884
  name: "Claude Sonnet 4 (latest)",
@@ -1919,7 +2046,7 @@ export const MODELS = {
1919
2046
  cost: {
1920
2047
  input: 0.1,
1921
2048
  output: 0.4,
1922
- cacheRead: 0.03,
2049
+ cacheRead: 0.025,
1923
2050
  cacheWrite: 0,
1924
2051
  },
1925
2052
  contextWindow: 1047576,
@@ -2004,7 +2131,7 @@ export const MODELS = {
2004
2131
  cost: {
2005
2132
  input: 0.15,
2006
2133
  output: 0.6,
2007
- cacheRead: 0.08,
2134
+ cacheRead: 0.075,
2008
2135
  cacheWrite: 0,
2009
2136
  },
2010
2137
  contextWindow: 128000,
@@ -2130,7 +2257,7 @@ export const MODELS = {
2130
2257
  cost: {
2131
2258
  input: 1.25,
2132
2259
  output: 10,
2133
- cacheRead: 0.13,
2260
+ cacheRead: 0.125,
2134
2261
  cacheWrite: 0,
2135
2262
  },
2136
2263
  contextWindow: 400000,
@@ -2431,7 +2558,7 @@ export const MODELS = {
2431
2558
  provider: "azure-openai-responses",
2432
2559
  baseUrl: "",
2433
2560
  reasoning: true,
2434
- thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
2561
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "minimal": null, "low": null },
2435
2562
  input: ["text", "image"],
2436
2563
  cost: {
2437
2564
  input: 30,
@@ -2555,7 +2682,7 @@ export const MODELS = {
2555
2682
  cost: {
2556
2683
  input: 1.1,
2557
2684
  output: 4.4,
2558
- cacheRead: 0.28,
2685
+ cacheRead: 0.275,
2559
2686
  cacheWrite: 0,
2560
2687
  },
2561
2688
  contextWindow: 200000,
@@ -2614,23 +2741,6 @@ export const MODELS = {
2614
2741
  contextWindow: 32000,
2615
2742
  maxTokens: 8000,
2616
2743
  },
2617
- "qwen-3-235b-a22b-instruct-2507": {
2618
- id: "qwen-3-235b-a22b-instruct-2507",
2619
- name: "Qwen 3 235B Instruct",
2620
- api: "openai-completions",
2621
- provider: "cerebras",
2622
- baseUrl: "https://api.cerebras.ai/v1",
2623
- reasoning: false,
2624
- input: ["text"],
2625
- cost: {
2626
- input: 0.6,
2627
- output: 1.2,
2628
- cacheRead: 0,
2629
- cacheWrite: 0,
2630
- },
2631
- contextWindow: 131000,
2632
- maxTokens: 32000,
2633
- },
2634
2744
  "zai-glm-4.7": {
2635
2745
  id: "zai-glm-4.7",
2636
2746
  name: "Z.AI GLM-4.7",
@@ -2858,6 +2968,25 @@ export const MODELS = {
2858
2968
  contextWindow: 1000000,
2859
2969
  maxTokens: 128000,
2860
2970
  },
2971
+ "claude-opus-4-8": {
2972
+ id: "claude-opus-4-8",
2973
+ name: "Claude Opus 4.8",
2974
+ api: "anthropic-messages",
2975
+ provider: "cloudflare-ai-gateway",
2976
+ baseUrl: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic",
2977
+ compat: { "forceAdaptiveThinking": true },
2978
+ reasoning: true,
2979
+ thinkingLevelMap: { "xhigh": "xhigh" },
2980
+ input: ["text", "image"],
2981
+ cost: {
2982
+ input: 5,
2983
+ output: 25,
2984
+ cacheRead: 0.5,
2985
+ cacheWrite: 6.25,
2986
+ },
2987
+ contextWindow: 1000000,
2988
+ maxTokens: 128000,
2989
+ },
2861
2990
  "claude-sonnet-4": {
2862
2991
  id: "claude-sonnet-4",
2863
2992
  name: "Claude Sonnet 4 (latest)",
@@ -3755,8 +3884,8 @@ export const MODELS = {
3755
3884
  cacheRead: 0,
3756
3885
  cacheWrite: 0,
3757
3886
  },
3758
- contextWindow: 144000,
3759
- maxTokens: 32000,
3887
+ contextWindow: 200000,
3888
+ maxTokens: 64000,
3760
3889
  },
3761
3890
  "claude-opus-4.5": {
3762
3891
  id: "claude-opus-4.5",
@@ -3773,7 +3902,7 @@ export const MODELS = {
3773
3902
  cacheRead: 0,
3774
3903
  cacheWrite: 0,
3775
3904
  },
3776
- contextWindow: 160000,
3905
+ contextWindow: 200000,
3777
3906
  maxTokens: 32000,
3778
3907
  },
3779
3908
  "claude-opus-4.6": {
@@ -3794,7 +3923,7 @@ export const MODELS = {
3794
3923
  cacheWrite: 0,
3795
3924
  },
3796
3925
  contextWindow: 1000000,
3797
- maxTokens: 64000,
3926
+ maxTokens: 32000,
3798
3927
  },
3799
3928
  "claude-opus-4.7": {
3800
3929
  id: "claude-opus-4.7",
@@ -3813,7 +3942,27 @@ export const MODELS = {
3813
3942
  cacheRead: 0,
3814
3943
  cacheWrite: 0,
3815
3944
  },
3816
- contextWindow: 144000,
3945
+ contextWindow: 200000,
3946
+ maxTokens: 32000,
3947
+ },
3948
+ "claude-opus-4.8": {
3949
+ id: "claude-opus-4.8",
3950
+ name: "Claude Opus 4.8",
3951
+ api: "anthropic-messages",
3952
+ provider: "github-copilot",
3953
+ baseUrl: "https://api.individual.githubcopilot.com",
3954
+ 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" },
3955
+ compat: { "forceAdaptiveThinking": true },
3956
+ reasoning: true,
3957
+ thinkingLevelMap: { "xhigh": "xhigh" },
3958
+ input: ["text", "image"],
3959
+ cost: {
3960
+ input: 0,
3961
+ output: 0,
3962
+ cacheRead: 0,
3963
+ cacheWrite: 0,
3964
+ },
3965
+ contextWindow: 200000,
3817
3966
  maxTokens: 64000,
3818
3967
  },
3819
3968
  "claude-sonnet-4.5": {
@@ -3832,7 +3981,7 @@ export const MODELS = {
3832
3981
  cacheRead: 0,
3833
3982
  cacheWrite: 0,
3834
3983
  },
3835
- contextWindow: 144000,
3984
+ contextWindow: 200000,
3836
3985
  maxTokens: 32000,
3837
3986
  },
3838
3987
  "claude-sonnet-4.6": {
@@ -3908,7 +4057,7 @@ export const MODELS = {
3908
4057
  cacheRead: 0,
3909
4058
  cacheWrite: 0,
3910
4059
  },
3911
- contextWindow: 128000,
4060
+ contextWindow: 200000,
3912
4061
  maxTokens: 64000,
3913
4062
  },
3914
4063
  "gemini-3.5-flash": {
@@ -3927,7 +4076,7 @@ export const MODELS = {
3927
4076
  cacheRead: 0,
3928
4077
  cacheWrite: 0,
3929
4078
  },
3930
- contextWindow: 128000,
4079
+ contextWindow: 200000,
3931
4080
  maxTokens: 64000,
3932
4081
  },
3933
4082
  "gpt-4.1": {
@@ -4003,8 +4152,8 @@ export const MODELS = {
4003
4152
  cacheRead: 0,
4004
4153
  cacheWrite: 0,
4005
4154
  },
4006
- contextWindow: 264000,
4007
- maxTokens: 64000,
4155
+ contextWindow: 400000,
4156
+ maxTokens: 128000,
4008
4157
  },
4009
4158
  "gpt-5.2-codex": {
4010
4159
  id: "gpt-5.2-codex",
@@ -4847,7 +4996,7 @@ export const MODELS = {
4847
4996
  cost: {
4848
4997
  input: 1,
4849
4998
  output: 3,
4850
- cacheRead: 0,
4999
+ cacheRead: 0.5,
4851
5000
  cacheWrite: 0,
4852
5001
  },
4853
5002
  contextWindow: 262144,
@@ -4864,7 +5013,7 @@ export const MODELS = {
4864
5013
  cost: {
4865
5014
  input: 0.15,
4866
5015
  output: 0.6,
4867
- cacheRead: 0,
5016
+ cacheRead: 0.075,
4868
5017
  cacheWrite: 0,
4869
5018
  },
4870
5019
  contextWindow: 131072,
@@ -4881,7 +5030,7 @@ export const MODELS = {
4881
5030
  cost: {
4882
5031
  input: 0.075,
4883
5032
  output: 0.3,
4884
- cacheRead: 0,
5033
+ cacheRead: 0.0375,
4885
5034
  cacheWrite: 0,
4886
5035
  },
4887
5036
  contextWindow: 131072,
@@ -6262,7 +6411,7 @@ export const MODELS = {
6262
6411
  cost: {
6263
6412
  input: 0.1,
6264
6413
  output: 0.4,
6265
- cacheRead: 0.03,
6414
+ cacheRead: 0.025,
6266
6415
  cacheWrite: 0,
6267
6416
  },
6268
6417
  contextWindow: 1047576,
@@ -6347,7 +6496,7 @@ export const MODELS = {
6347
6496
  cost: {
6348
6497
  input: 0.15,
6349
6498
  output: 0.6,
6350
- cacheRead: 0.08,
6499
+ cacheRead: 0.075,
6351
6500
  cacheWrite: 0,
6352
6501
  },
6353
6502
  contextWindow: 128000,
@@ -6473,7 +6622,7 @@ export const MODELS = {
6473
6622
  cost: {
6474
6623
  input: 1.25,
6475
6624
  output: 10,
6476
- cacheRead: 0.13,
6625
+ cacheRead: 0.125,
6477
6626
  cacheWrite: 0,
6478
6627
  },
6479
6628
  contextWindow: 400000,
@@ -6774,7 +6923,7 @@ export const MODELS = {
6774
6923
  provider: "openai",
6775
6924
  baseUrl: "https://api.openai.com/v1",
6776
6925
  reasoning: true,
6777
- thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
6926
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "minimal": null, "low": null },
6778
6927
  input: ["text", "image"],
6779
6928
  cost: {
6780
6929
  input: 30,
@@ -6898,7 +7047,7 @@ export const MODELS = {
6898
7047
  cost: {
6899
7048
  input: 1.1,
6900
7049
  output: 4.4,
6901
- cacheRead: 0.28,
7050
+ cacheRead: 0.275,
6902
7051
  cacheWrite: 0,
6903
7052
  },
6904
7053
  contextWindow: 200000,
@@ -7139,6 +7288,25 @@ export const MODELS = {
7139
7288
  contextWindow: 1000000,
7140
7289
  maxTokens: 128000,
7141
7290
  },
7291
+ "claude-opus-4-8": {
7292
+ id: "claude-opus-4-8",
7293
+ name: "Claude Opus 4.8",
7294
+ api: "anthropic-messages",
7295
+ provider: "opencode",
7296
+ baseUrl: "https://opencode.ai/zen",
7297
+ compat: { "forceAdaptiveThinking": true },
7298
+ reasoning: true,
7299
+ thinkingLevelMap: { "xhigh": "xhigh" },
7300
+ input: ["text", "image"],
7301
+ cost: {
7302
+ input: 5,
7303
+ output: 25,
7304
+ cacheRead: 0.5,
7305
+ cacheWrite: 6.25,
7306
+ },
7307
+ contextWindow: 1000000,
7308
+ maxTokens: 128000,
7309
+ },
7142
7310
  "claude-sonnet-4": {
7143
7311
  id: "claude-sonnet-4",
7144
7312
  name: "Claude Sonnet 4",
@@ -7575,7 +7743,7 @@ export const MODELS = {
7575
7743
  provider: "opencode",
7576
7744
  baseUrl: "https://opencode.ai/zen/v1",
7577
7745
  reasoning: true,
7578
- thinkingLevelMap: { "off": null, "xhigh": "xhigh" },
7746
+ thinkingLevelMap: { "off": null, "xhigh": "xhigh", "minimal": null, "low": null },
7579
7747
  input: ["text", "image"],
7580
7748
  cost: {
7581
7749
  input: 30,
@@ -7592,7 +7760,9 @@ export const MODELS = {
7592
7760
  api: "openai-completions",
7593
7761
  provider: "opencode",
7594
7762
  baseUrl: "https://opencode.ai/zen/v1",
7763
+ compat: { "supportsReasoningEffort": false },
7595
7764
  reasoning: true,
7765
+ thinkingLevelMap: { "off": null, "minimal": null, "low": null, "medium": null },
7596
7766
  input: ["text", "image"],
7597
7767
  cost: {
7598
7768
  input: 1,
@@ -7626,6 +7796,7 @@ export const MODELS = {
7626
7796
  api: "openai-completions",
7627
7797
  provider: "opencode",
7628
7798
  baseUrl: "https://opencode.ai/zen/v1",
7799
+ compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false },
7629
7800
  reasoning: true,
7630
7801
  input: ["text", "image"],
7631
7802
  cost: {
@@ -7637,6 +7808,23 @@ export const MODELS = {
7637
7808
  contextWindow: 262144,
7638
7809
  maxTokens: 65536,
7639
7810
  },
7811
+ "mimo-v2.5-free": {
7812
+ id: "mimo-v2.5-free",
7813
+ name: "MiMo V2.5 Free",
7814
+ api: "openai-completions",
7815
+ provider: "opencode",
7816
+ baseUrl: "https://opencode.ai/zen/v1",
7817
+ reasoning: true,
7818
+ input: ["text", "image"],
7819
+ cost: {
7820
+ input: 0,
7821
+ output: 0,
7822
+ cacheRead: 0,
7823
+ cacheWrite: 0,
7824
+ },
7825
+ contextWindow: 1000000,
7826
+ maxTokens: 128000,
7827
+ },
7640
7828
  "minimax-m2.5": {
7641
7829
  id: "minimax-m2.5",
7642
7830
  name: "MiniMax M2.5",
@@ -7819,7 +8007,9 @@ export const MODELS = {
7819
8007
  api: "openai-completions",
7820
8008
  provider: "opencode-go",
7821
8009
  baseUrl: "https://opencode.ai/zen/go/v1",
8010
+ compat: { "thinkingFormat": "deepseek", "supportsReasoningEffort": false },
7822
8011
  reasoning: true,
8012
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null },
7823
8013
  input: ["text", "image"],
7824
8014
  cost: {
7825
8015
  input: 0.95,
@@ -7839,9 +8029,9 @@ export const MODELS = {
7839
8029
  reasoning: true,
7840
8030
  input: ["text", "image"],
7841
8031
  cost: {
7842
- input: 0.4,
7843
- output: 2,
7844
- cacheRead: 0.08,
8032
+ input: 0.14,
8033
+ output: 0.28,
8034
+ cacheRead: 0.0028,
7845
8035
  cacheWrite: 0,
7846
8036
  },
7847
8037
  contextWindow: 1000000,
@@ -7856,9 +8046,9 @@ export const MODELS = {
7856
8046
  reasoning: true,
7857
8047
  input: ["text"],
7858
8048
  cost: {
7859
- input: 1,
7860
- output: 3,
7861
- cacheRead: 0.2,
8049
+ input: 1.74,
8050
+ output: 3.48,
8051
+ cacheRead: 0.0145,
7862
8052
  cacheWrite: 0,
7863
8053
  },
7864
8054
  contextWindow: 1048576,
@@ -7898,9 +8088,9 @@ export const MODELS = {
7898
8088
  contextWindow: 204800,
7899
8089
  maxTokens: 131072,
7900
8090
  },
7901
- "qwen3.5-plus": {
7902
- id: "qwen3.5-plus",
7903
- name: "Qwen3.5 Plus",
8091
+ "qwen3.6-plus": {
8092
+ id: "qwen3.6-plus",
8093
+ name: "Qwen3.6 Plus",
7904
8094
  api: "openai-completions",
7905
8095
  provider: "opencode-go",
7906
8096
  baseUrl: "https://opencode.ai/zen/go/v1",
@@ -7908,30 +8098,29 @@ export const MODELS = {
7908
8098
  reasoning: true,
7909
8099
  input: ["text", "image"],
7910
8100
  cost: {
7911
- input: 0.2,
7912
- output: 1.2,
7913
- cacheRead: 0.02,
7914
- cacheWrite: 0.25,
8101
+ input: 0.5,
8102
+ output: 3,
8103
+ cacheRead: 0.05,
8104
+ cacheWrite: 0.625,
7915
8105
  },
7916
8106
  contextWindow: 262144,
7917
8107
  maxTokens: 65536,
7918
8108
  },
7919
- "qwen3.6-plus": {
7920
- id: "qwen3.6-plus",
7921
- name: "Qwen3.6 Plus",
7922
- api: "openai-completions",
8109
+ "qwen3.7-max": {
8110
+ id: "qwen3.7-max",
8111
+ name: "Qwen3.7 Max",
8112
+ api: "anthropic-messages",
7923
8113
  provider: "opencode-go",
7924
- baseUrl: "https://opencode.ai/zen/go/v1",
7925
- compat: { "thinkingFormat": "qwen" },
8114
+ baseUrl: "https://opencode.ai/zen/go",
7926
8115
  reasoning: true,
7927
- input: ["text", "image"],
8116
+ input: ["text"],
7928
8117
  cost: {
7929
- input: 0.5,
7930
- output: 3,
7931
- cacheRead: 0.05,
7932
- cacheWrite: 0.625,
8118
+ input: 2.5,
8119
+ output: 7.5,
8120
+ cacheRead: 0.5,
8121
+ cacheWrite: 3.125,
7933
8122
  },
7934
- contextWindow: 262144,
8123
+ contextWindow: 1000000,
7935
8124
  maxTokens: 65536,
7936
8125
  },
7937
8126
  },
@@ -8212,6 +8401,42 @@ export const MODELS = {
8212
8401
  contextWindow: 1000000,
8213
8402
  maxTokens: 128000,
8214
8403
  },
8404
+ "anthropic/claude-opus-4.8": {
8405
+ id: "anthropic/claude-opus-4.8",
8406
+ name: "Anthropic: Claude Opus 4.8",
8407
+ api: "openai-completions",
8408
+ provider: "openrouter",
8409
+ baseUrl: "https://openrouter.ai/api/v1",
8410
+ reasoning: true,
8411
+ thinkingLevelMap: { "xhigh": "xhigh" },
8412
+ input: ["text", "image"],
8413
+ cost: {
8414
+ input: 5,
8415
+ output: 25,
8416
+ cacheRead: 0.5,
8417
+ cacheWrite: 6.25,
8418
+ },
8419
+ contextWindow: 1000000,
8420
+ maxTokens: 128000,
8421
+ },
8422
+ "anthropic/claude-opus-4.8-fast": {
8423
+ id: "anthropic/claude-opus-4.8-fast",
8424
+ name: "Anthropic: Claude Opus 4.8 (Fast)",
8425
+ api: "openai-completions",
8426
+ provider: "openrouter",
8427
+ baseUrl: "https://openrouter.ai/api/v1",
8428
+ reasoning: true,
8429
+ thinkingLevelMap: { "xhigh": "xhigh" },
8430
+ input: ["text", "image"],
8431
+ cost: {
8432
+ input: 10,
8433
+ output: 50,
8434
+ cacheRead: 1,
8435
+ cacheWrite: 12.5,
8436
+ },
8437
+ contextWindow: 1000000,
8438
+ maxTokens: 128000,
8439
+ },
8215
8440
  "anthropic/claude-sonnet-4": {
8216
8441
  id: "anthropic/claude-sonnet-4",
8217
8442
  name: "Anthropic: Claude Sonnet 4",
@@ -8280,23 +8505,6 @@ export const MODELS = {
8280
8505
  contextWindow: 262144,
8281
8506
  maxTokens: 262144,
8282
8507
  },
8283
- "arcee-ai/trinity-large-thinking:free": {
8284
- id: "arcee-ai/trinity-large-thinking:free",
8285
- name: "Arcee AI: Trinity Large Thinking (free)",
8286
- api: "openai-completions",
8287
- provider: "openrouter",
8288
- baseUrl: "https://openrouter.ai/api/v1",
8289
- reasoning: true,
8290
- input: ["text"],
8291
- cost: {
8292
- input: 0,
8293
- output: 0,
8294
- cacheRead: 0,
8295
- cacheWrite: 0,
8296
- },
8297
- contextWindow: 262144,
8298
- maxTokens: 80000,
8299
- },
8300
8508
  "arcee-ai/trinity-mini": {
8301
8509
  id: "arcee-ai/trinity-mini",
8302
8510
  name: "Arcee AI: Trinity Mini",
@@ -8348,23 +8556,6 @@ export const MODELS = {
8348
8556
  contextWindow: 2000000,
8349
8557
  maxTokens: 30000,
8350
8558
  },
8351
- "baidu/cobuddy:free": {
8352
- id: "baidu/cobuddy:free",
8353
- name: "Baidu Qianfan: CoBuddy (free)",
8354
- api: "openai-completions",
8355
- provider: "openrouter",
8356
- baseUrl: "https://openrouter.ai/api/v1",
8357
- reasoning: true,
8358
- input: ["text"],
8359
- cost: {
8360
- input: 0,
8361
- output: 0,
8362
- cacheRead: 0,
8363
- cacheWrite: 0,
8364
- },
8365
- contextWindow: 131072,
8366
- maxTokens: 65536,
8367
- },
8368
8559
  "baidu/ernie-4.5-21b-a3b": {
8369
8560
  id: "baidu/ernie-4.5-21b-a3b",
8370
8561
  name: "Baidu: ERNIE 4.5 21B A3B",
@@ -8643,18 +8834,18 @@ export const MODELS = {
8643
8834
  api: "openai-completions",
8644
8835
  provider: "openrouter",
8645
8836
  baseUrl: "https://openrouter.ai/api/v1",
8646
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8837
+ compat: { "requiresReasoningContentOnAssistantMessages": true },
8647
8838
  reasoning: true,
8648
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8839
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
8649
8840
  input: ["text"],
8650
8841
  cost: {
8651
- input: 0.09999999999999999,
8652
- output: 0.19999999999999998,
8653
- cacheRead: 0.02,
8842
+ input: 0.0983,
8843
+ output: 0.1966,
8844
+ cacheRead: 0.019700000000000002,
8654
8845
  cacheWrite: 0,
8655
8846
  },
8656
8847
  contextWindow: 1048576,
8657
- maxTokens: 16384,
8848
+ maxTokens: 131072,
8658
8849
  },
8659
8850
  "deepseek/deepseek-v4-flash:free": {
8660
8851
  id: "deepseek/deepseek-v4-flash:free",
@@ -8662,9 +8853,9 @@ export const MODELS = {
8662
8853
  api: "openai-completions",
8663
8854
  provider: "openrouter",
8664
8855
  baseUrl: "https://openrouter.ai/api/v1",
8665
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8856
+ compat: { "requiresReasoningContentOnAssistantMessages": true },
8666
8857
  reasoning: true,
8667
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8858
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
8668
8859
  input: ["text"],
8669
8860
  cost: {
8670
8861
  input: 0,
@@ -8681,9 +8872,9 @@ export const MODELS = {
8681
8872
  api: "openai-completions",
8682
8873
  provider: "openrouter",
8683
8874
  baseUrl: "https://openrouter.ai/api/v1",
8684
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
8875
+ compat: { "requiresReasoningContentOnAssistantMessages": true },
8685
8876
  reasoning: true,
8686
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "max" },
8877
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
8687
8878
  input: ["text"],
8688
8879
  cost: {
8689
8880
  input: 0.435,
@@ -8725,7 +8916,7 @@ export const MODELS = {
8725
8916
  cacheRead: 0.024999999999999998,
8726
8917
  cacheWrite: 0.08333333333333334,
8727
8918
  },
8728
- contextWindow: 1000000,
8919
+ contextWindow: 1048576,
8729
8920
  maxTokens: 8192,
8730
8921
  },
8731
8922
  "google/gemini-2.0-flash-lite-001": {
@@ -9772,16 +9963,35 @@ export const MODELS = {
9772
9963
  api: "openai-completions",
9773
9964
  provider: "openrouter",
9774
9965
  baseUrl: "https://openrouter.ai/api/v1",
9966
+ compat: { "supportsDeveloperRole": false },
9775
9967
  reasoning: true,
9776
9968
  input: ["text", "image"],
9777
9969
  cost: {
9778
- input: 0.73,
9779
- output: 3.49,
9780
- cacheRead: 0.25,
9970
+ input: 0.684,
9971
+ output: 3.42,
9972
+ cacheRead: 0.144,
9973
+ cacheWrite: 0,
9974
+ },
9975
+ contextWindow: 262144,
9976
+ maxTokens: 262144,
9977
+ },
9978
+ "moonshotai/kimi-k2.6:free": {
9979
+ id: "moonshotai/kimi-k2.6:free",
9980
+ name: "MoonshotAI: Kimi K2.6 (free)",
9981
+ api: "openai-completions",
9982
+ provider: "openrouter",
9983
+ baseUrl: "https://openrouter.ai/api/v1",
9984
+ compat: { "supportsDeveloperRole": false },
9985
+ reasoning: true,
9986
+ input: ["text", "image"],
9987
+ cost: {
9988
+ input: 0,
9989
+ output: 0,
9990
+ cacheRead: 0,
9781
9991
  cacheWrite: 0,
9782
9992
  },
9783
9993
  contextWindow: 262144,
9784
- maxTokens: 262142,
9994
+ maxTokens: 4096,
9785
9995
  },
9786
9996
  "nex-agi/deepseek-v3.1-nex-n1": {
9787
9997
  id: "nex-agi/deepseek-v3.1-nex-n1",
@@ -10208,23 +10418,6 @@ export const MODELS = {
10208
10418
  contextWindow: 128000,
10209
10419
  maxTokens: 16384,
10210
10420
  },
10211
- "openai/gpt-4o-audio-preview": {
10212
- id: "openai/gpt-4o-audio-preview",
10213
- name: "OpenAI: GPT-4o Audio",
10214
- api: "openai-completions",
10215
- provider: "openrouter",
10216
- baseUrl: "https://openrouter.ai/api/v1",
10217
- reasoning: false,
10218
- input: ["text"],
10219
- cost: {
10220
- input: 2.5,
10221
- output: 10,
10222
- cacheRead: 0,
10223
- cacheWrite: 0,
10224
- },
10225
- contextWindow: 128000,
10226
- maxTokens: 16384,
10227
- },
10228
10421
  "openai/gpt-4o-mini": {
10229
10422
  id: "openai/gpt-4o-mini",
10230
10423
  name: "OpenAI: GPT-4o-mini",
@@ -10372,11 +10565,11 @@ export const MODELS = {
10372
10565
  cost: {
10373
10566
  input: 1.25,
10374
10567
  output: 10,
10375
- cacheRead: 0.125,
10568
+ cacheRead: 0.13,
10376
10569
  cacheWrite: 0,
10377
10570
  },
10378
10571
  contextWindow: 128000,
10379
- maxTokens: 16384,
10572
+ maxTokens: 32000,
10380
10573
  },
10381
10574
  "openai/gpt-5.1-codex": {
10382
10575
  id: "openai/gpt-5.1-codex",
@@ -10389,7 +10582,7 @@ export const MODELS = {
10389
10582
  cost: {
10390
10583
  input: 1.25,
10391
10584
  output: 10,
10392
- cacheRead: 0.125,
10585
+ cacheRead: 0.13,
10393
10586
  cacheWrite: 0,
10394
10587
  },
10395
10588
  contextWindow: 400000,
@@ -10423,11 +10616,11 @@ export const MODELS = {
10423
10616
  cost: {
10424
10617
  input: 0.25,
10425
10618
  output: 2,
10426
- cacheRead: 0.03,
10619
+ cacheRead: 0.024999999999999998,
10427
10620
  cacheWrite: 0,
10428
10621
  },
10429
10622
  contextWindow: 400000,
10430
- maxTokens: 128000,
10623
+ maxTokens: 100000,
10431
10624
  },
10432
10625
  "openai/gpt-5.2": {
10433
10626
  id: "openai/gpt-5.2",
@@ -10463,7 +10656,7 @@ export const MODELS = {
10463
10656
  cacheWrite: 0,
10464
10657
  },
10465
10658
  contextWindow: 128000,
10466
- maxTokens: 32000,
10659
+ maxTokens: 16384,
10467
10660
  },
10468
10661
  "openai/gpt-5.2-codex": {
10469
10662
  id: "openai/gpt-5.2-codex",
@@ -10634,7 +10827,7 @@ export const MODELS = {
10634
10827
  provider: "openrouter",
10635
10828
  baseUrl: "https://openrouter.ai/api/v1",
10636
10829
  reasoning: true,
10637
- thinkingLevelMap: { "xhigh": "xhigh" },
10830
+ thinkingLevelMap: { "xhigh": "xhigh", "off": null, "minimal": null, "low": null },
10638
10831
  input: ["text", "image"],
10639
10832
  cost: {
10640
10833
  input: 30,
@@ -11016,8 +11209,8 @@ export const MODELS = {
11016
11209
  cacheRead: 0,
11017
11210
  cacheWrite: 0,
11018
11211
  },
11019
- contextWindow: 131072,
11020
- maxTokens: 8192,
11212
+ contextWindow: 262144,
11213
+ maxTokens: 32768,
11021
11214
  },
11022
11215
  "prime-intellect/intellect-3": {
11023
11216
  id: "prime-intellect/intellect-3",
@@ -11099,7 +11292,7 @@ export const MODELS = {
11099
11292
  input: 0.26,
11100
11293
  output: 0.78,
11101
11294
  cacheRead: 0,
11102
- cacheWrite: 0.325,
11295
+ cacheWrite: 0,
11103
11296
  },
11104
11297
  contextWindow: 1000000,
11105
11298
  maxTokens: 32768,
@@ -11677,7 +11870,7 @@ export const MODELS = {
11677
11870
  input: 0.065,
11678
11871
  output: 0.26,
11679
11872
  cacheRead: 0,
11680
- cacheWrite: 0.08125,
11873
+ cacheWrite: 0,
11681
11874
  },
11682
11875
  contextWindow: 1000000,
11683
11876
  maxTokens: 65536,
@@ -11694,7 +11887,7 @@ export const MODELS = {
11694
11887
  input: 0.26,
11695
11888
  output: 1.56,
11696
11889
  cacheRead: 0,
11697
- cacheWrite: 0.325,
11890
+ cacheWrite: 0,
11698
11891
  },
11699
11892
  contextWindow: 1000000,
11700
11893
  maxTokens: 65536,
@@ -11711,7 +11904,7 @@ export const MODELS = {
11711
11904
  input: 0.3,
11712
11905
  output: 1.7999999999999998,
11713
11906
  cacheRead: 0,
11714
- cacheWrite: 0,
11907
+ cacheWrite: 0.375,
11715
11908
  },
11716
11909
  contextWindow: 1000000,
11717
11910
  maxTokens: 65536,
@@ -11725,13 +11918,13 @@ export const MODELS = {
11725
11918
  reasoning: true,
11726
11919
  input: ["text", "image"],
11727
11920
  cost: {
11728
- input: 0.3,
11729
- output: 2,
11730
- cacheRead: 0.15,
11921
+ input: 0.29,
11922
+ output: 3.1999999999999997,
11923
+ cacheRead: 0,
11731
11924
  cacheWrite: 0,
11732
11925
  },
11733
11926
  contextWindow: 262144,
11734
- maxTokens: 65536,
11927
+ maxTokens: 262140,
11735
11928
  },
11736
11929
  "qwen/qwen3.6-35b-a3b": {
11737
11930
  id: "qwen/qwen3.6-35b-a3b",
@@ -11742,7 +11935,7 @@ export const MODELS = {
11742
11935
  reasoning: true,
11743
11936
  input: ["text", "image"],
11744
11937
  cost: {
11745
- input: 0.15,
11938
+ input: 0.14,
11746
11939
  output: 1,
11747
11940
  cacheRead: 0,
11748
11941
  cacheWrite: 0,
@@ -11810,10 +12003,10 @@ export const MODELS = {
11810
12003
  reasoning: true,
11811
12004
  input: ["text"],
11812
12005
  cost: {
11813
- input: 2.5,
11814
- output: 7.5,
11815
- cacheRead: 0,
11816
- cacheWrite: 3.125,
12006
+ input: 1.25,
12007
+ output: 3.75,
12008
+ cacheRead: 0.25,
12009
+ cacheWrite: 1.5625,
11817
12010
  },
11818
12011
  contextWindow: 1000000,
11819
12012
  maxTokens: 65536,
@@ -11903,6 +12096,23 @@ export const MODELS = {
11903
12096
  contextWindow: 262144,
11904
12097
  maxTokens: 16384,
11905
12098
  },
12099
+ "stepfun/step-3.7-flash": {
12100
+ id: "stepfun/step-3.7-flash",
12101
+ name: "StepFun: Step 3.7 Flash",
12102
+ api: "openai-completions",
12103
+ provider: "openrouter",
12104
+ baseUrl: "https://openrouter.ai/api/v1",
12105
+ reasoning: true,
12106
+ input: ["text", "image"],
12107
+ cost: {
12108
+ input: 0.19999999999999998,
12109
+ output: 1.15,
12110
+ cacheRead: 0.04,
12111
+ cacheWrite: 0,
12112
+ },
12113
+ contextWindow: 256000,
12114
+ maxTokens: 256000,
12115
+ },
11906
12116
  "tencent/hy3-preview": {
11907
12117
  id: "tencent/hy3-preview",
11908
12118
  name: "Tencent: Hy3 preview",
@@ -11912,13 +12122,13 @@ export const MODELS = {
11912
12122
  reasoning: true,
11913
12123
  input: ["text"],
11914
12124
  cost: {
11915
- input: 0.06599999999999999,
11916
- output: 0.26,
11917
- cacheRead: 0.029,
12125
+ input: 0.063,
12126
+ output: 0.21,
12127
+ cacheRead: 0.020999999999999998,
11918
12128
  cacheWrite: 0,
11919
12129
  },
11920
12130
  contextWindow: 262144,
11921
- maxTokens: 262144,
12131
+ maxTokens: 4096,
11922
12132
  },
11923
12133
  "thedrummer/rocinante-12b": {
11924
12134
  id: "thedrummer/rocinante-12b",
@@ -12150,13 +12360,13 @@ export const MODELS = {
12150
12360
  reasoning: true,
12151
12361
  input: ["text"],
12152
12362
  cost: {
12153
- input: 0.13,
12363
+ input: 0.125,
12154
12364
  output: 0.85,
12155
- cacheRead: 0.024999999999999998,
12365
+ cacheRead: 0.06,
12156
12366
  cacheWrite: 0,
12157
12367
  },
12158
12368
  contextWindow: 131072,
12159
- maxTokens: 98304,
12369
+ maxTokens: 131070,
12160
12370
  },
12161
12371
  "z-ai/glm-4.5-air:free": {
12162
12372
  id: "z-ai/glm-4.5-air:free",
@@ -12422,13 +12632,13 @@ export const MODELS = {
12422
12632
  reasoning: true,
12423
12633
  input: ["text", "image"],
12424
12634
  cost: {
12425
- input: 0.73,
12426
- output: 3.49,
12427
- cacheRead: 0.25,
12635
+ input: 0.684,
12636
+ output: 3.42,
12637
+ cacheRead: 0.144,
12428
12638
  cacheWrite: 0,
12429
12639
  },
12430
12640
  contextWindow: 262144,
12431
- maxTokens: 262142,
12641
+ maxTokens: 262144,
12432
12642
  },
12433
12643
  "~openai/gpt-latest": {
12434
12644
  id: "~openai/gpt-latest",
@@ -12826,20 +13036,20 @@ export const MODELS = {
12826
13036
  },
12827
13037
  "alibaba/qwen-3-235b": {
12828
13038
  id: "alibaba/qwen-3-235b",
12829
- name: "Qwen3 235B A22b Instruct 2507",
13039
+ name: "Qwen3 235B A22B",
12830
13040
  api: "anthropic-messages",
12831
13041
  provider: "vercel-ai-gateway",
12832
13042
  baseUrl: "https://ai-gateway.vercel.sh",
12833
13043
  reasoning: false,
12834
13044
  input: ["text"],
12835
13045
  cost: {
12836
- input: 0.6,
12837
- output: 1.2,
12838
- cacheRead: 0.6,
13046
+ input: 0.22,
13047
+ output: 0.88,
13048
+ cacheRead: 0,
12839
13049
  cacheWrite: 0,
12840
13050
  },
12841
- contextWindow: 131000,
12842
- maxTokens: 40000,
13051
+ contextWindow: 262144,
13052
+ maxTokens: 16384,
12843
13053
  },
12844
13054
  "alibaba/qwen-3-30b": {
12845
13055
  id: "alibaba/qwen-3-30b",
@@ -13270,6 +13480,25 @@ export const MODELS = {
13270
13480
  contextWindow: 1000000,
13271
13481
  maxTokens: 128000,
13272
13482
  },
13483
+ "anthropic/claude-opus-4.8": {
13484
+ id: "anthropic/claude-opus-4.8",
13485
+ name: "Claude Opus 4.8",
13486
+ api: "anthropic-messages",
13487
+ provider: "vercel-ai-gateway",
13488
+ baseUrl: "https://ai-gateway.vercel.sh",
13489
+ compat: { "forceAdaptiveThinking": true },
13490
+ reasoning: true,
13491
+ thinkingLevelMap: { "xhigh": "xhigh" },
13492
+ input: ["text", "image"],
13493
+ cost: {
13494
+ input: 5,
13495
+ output: 25,
13496
+ cacheRead: 0.5,
13497
+ cacheWrite: 6.25,
13498
+ },
13499
+ contextWindow: 1000000,
13500
+ maxTokens: 128000,
13501
+ },
13273
13502
  "anthropic/claude-sonnet-4": {
13274
13503
  id: "anthropic/claude-sonnet-4",
13275
13504
  name: "Claude Sonnet 4",
@@ -14870,7 +15099,7 @@ export const MODELS = {
14870
15099
  provider: "vercel-ai-gateway",
14871
15100
  baseUrl: "https://ai-gateway.vercel.sh",
14872
15101
  reasoning: true,
14873
- thinkingLevelMap: { "xhigh": "xhigh" },
15102
+ thinkingLevelMap: { "xhigh": "xhigh", "off": null, "minimal": null, "low": null },
14874
15103
  input: ["text", "image"],
14875
15104
  cost: {
14876
15105
  input: 30,
@@ -15051,6 +15280,23 @@ export const MODELS = {
15051
15280
  contextWindow: 200000,
15052
15281
  maxTokens: 8000,
15053
15282
  },
15283
+ "stepfun/step-3.7-flash": {
15284
+ id: "stepfun/step-3.7-flash",
15285
+ name: "Step 3.7 Flash",
15286
+ api: "anthropic-messages",
15287
+ provider: "vercel-ai-gateway",
15288
+ baseUrl: "https://ai-gateway.vercel.sh",
15289
+ reasoning: true,
15290
+ input: ["text", "image"],
15291
+ cost: {
15292
+ input: 0.19999999999999998,
15293
+ output: 1.15,
15294
+ cacheRead: 0.04,
15295
+ cacheWrite: 0,
15296
+ },
15297
+ contextWindow: 256000,
15298
+ maxTokens: 256000,
15299
+ },
15054
15300
  "xai/grok-4.1-fast-non-reasoning": {
15055
15301
  id: "xai/grok-4.1-fast-non-reasoning",
15056
15302
  name: "Grok 4.1 Fast Non-Reasoning",
@@ -15264,9 +15510,9 @@ export const MODELS = {
15264
15510
  reasoning: true,
15265
15511
  input: ["text", "image"],
15266
15512
  cost: {
15267
- input: 0.39999999999999997,
15268
- output: 2,
15269
- cacheRead: 0.08,
15513
+ input: 0.14,
15514
+ output: 0.28,
15515
+ cacheRead: 0.0028,
15270
15516
  cacheWrite: 0,
15271
15517
  },
15272
15518
  contextWindow: 1050000,
@@ -15281,9 +15527,9 @@ export const MODELS = {
15281
15527
  reasoning: true,
15282
15528
  input: ["text", "image"],
15283
15529
  cost: {
15284
- input: 1,
15285
- output: 3,
15286
- cacheRead: 0.19999999999999998,
15530
+ input: 0.435,
15531
+ output: 0.87,
15532
+ cacheRead: 0.0036,
15287
15533
  cacheWrite: 0,
15288
15534
  },
15289
15535
  contextWindow: 1050000,
@@ -15725,24 +15971,6 @@ export const MODELS = {
15725
15971
  },
15726
15972
  },
15727
15973
  "xiaomi-token-plan-ams": {
15728
- "mimo-v2-flash": {
15729
- id: "mimo-v2-flash",
15730
- name: "MiMo-V2-Flash",
15731
- api: "openai-completions",
15732
- provider: "xiaomi-token-plan-ams",
15733
- baseUrl: "https://token-plan-ams.xiaomimimo.com/v1",
15734
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
15735
- reasoning: true,
15736
- input: ["text"],
15737
- cost: {
15738
- input: 0.1,
15739
- output: 0.3,
15740
- cacheRead: 0.01,
15741
- cacheWrite: 0,
15742
- },
15743
- contextWindow: 262144,
15744
- maxTokens: 65536,
15745
- },
15746
15974
  "mimo-v2-omni": {
15747
15975
  id: "mimo-v2-omni",
15748
15976
  name: "MiMo-V2-Omni",
@@ -15817,24 +16045,6 @@ export const MODELS = {
15817
16045
  },
15818
16046
  },
15819
16047
  "xiaomi-token-plan-cn": {
15820
- "mimo-v2-flash": {
15821
- id: "mimo-v2-flash",
15822
- name: "MiMo-V2-Flash",
15823
- api: "openai-completions",
15824
- provider: "xiaomi-token-plan-cn",
15825
- baseUrl: "https://token-plan-cn.xiaomimimo.com/v1",
15826
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
15827
- reasoning: true,
15828
- input: ["text"],
15829
- cost: {
15830
- input: 0.1,
15831
- output: 0.3,
15832
- cacheRead: 0.01,
15833
- cacheWrite: 0,
15834
- },
15835
- contextWindow: 262144,
15836
- maxTokens: 65536,
15837
- },
15838
16048
  "mimo-v2-omni": {
15839
16049
  id: "mimo-v2-omni",
15840
16050
  name: "MiMo-V2-Omni",
@@ -15909,24 +16119,6 @@ export const MODELS = {
15909
16119
  },
15910
16120
  },
15911
16121
  "xiaomi-token-plan-sgp": {
15912
- "mimo-v2-flash": {
15913
- id: "mimo-v2-flash",
15914
- name: "MiMo-V2-Flash",
15915
- api: "openai-completions",
15916
- provider: "xiaomi-token-plan-sgp",
15917
- baseUrl: "https://token-plan-sgp.xiaomimimo.com/v1",
15918
- compat: { "requiresReasoningContentOnAssistantMessages": true, "thinkingFormat": "deepseek" },
15919
- reasoning: true,
15920
- input: ["text"],
15921
- cost: {
15922
- input: 0.1,
15923
- output: 0.3,
15924
- cacheRead: 0.01,
15925
- cacheWrite: 0,
15926
- },
15927
- contextWindow: 262144,
15928
- maxTokens: 65536,
15929
- },
15930
16122
  "mimo-v2-omni": {
15931
16123
  id: "mimo-v2-omni",
15932
16124
  name: "MiMo-V2-Omni",