@psnext/slingcli 2.5.20260623-1 → 2.5.20260705-1

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 (445) hide show
  1. package/node_modules/@aws/lambda-invoke-store/README.md +25 -1
  2. package/node_modules/@aws/lambda-invoke-store/dist-cjs/invoke-store.js +12 -0
  3. package/node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js +12 -0
  4. package/node_modules/@aws/lambda-invoke-store/dist-types/invoke-store.d.ts +6 -0
  5. package/node_modules/@aws/lambda-invoke-store/package.json +1 -1
  6. package/node_modules/@aws-sdk/core/account-id-endpoint.d.ts +1 -3
  7. package/node_modules/@aws-sdk/core/client.d.ts +1 -3
  8. package/node_modules/@aws-sdk/core/httpAuthSchemes.d.ts +1 -3
  9. package/node_modules/@aws-sdk/core/package.json +10 -17
  10. package/node_modules/@aws-sdk/core/protocols.d.ts +1 -3
  11. package/node_modules/@aws-sdk/core/util.d.ts +1 -3
  12. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  13. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js +172 -1
  14. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-cjs/index.js +3 -51
  15. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/index.js +3 -3
  16. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +3 -3
  17. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/package.json +4 -4
  18. package/node_modules/@aws-sdk/credential-provider-http/package.json +8 -10
  19. package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
  20. package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
  21. package/node_modules/@aws-sdk/credential-provider-node/package.json +11 -11
  22. package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
  23. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +6 -6
  24. package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
  25. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +58 -3
  26. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -8
  27. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +4 -4
  28. package/node_modules/@aws-sdk/middleware-eventstream/package.json +4 -4
  29. package/node_modules/@aws-sdk/middleware-websocket/package.json +7 -7
  30. package/node_modules/@aws-sdk/nested-clients/cognito-identity.d.ts +1 -3
  31. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +13 -25
  32. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +13 -17
  33. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +12 -15
  34. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +12 -15
  35. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +13 -25
  36. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/commandBuilder.js +6 -0
  37. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/commands/GetCredentialsForIdentityCommand.js +2 -14
  38. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/commands/GetIdCommand.js +2 -14
  39. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/index.js +1 -0
  40. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.browser.js +0 -2
  41. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.js +1 -2
  42. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.native.js +0 -2
  43. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.shared.js +2 -0
  44. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commandBuilder.js +8 -0
  45. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenCommand.js +2 -17
  46. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/index.js +1 -0
  47. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.browser.js +0 -2
  48. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +1 -2
  49. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.native.js +0 -2
  50. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.shared.js +2 -0
  51. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commandBuilder.js +6 -0
  52. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/commands/GetRoleCredentialsCommand.js +2 -14
  53. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/index.js +1 -0
  54. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.browser.js +0 -2
  55. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +1 -2
  56. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.native.js +0 -2
  57. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.shared.js +2 -0
  58. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commandBuilder.js +6 -0
  59. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/CreateTokenCommand.js +2 -14
  60. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/index.js +1 -0
  61. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.browser.js +0 -2
  62. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +1 -2
  63. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.native.js +0 -2
  64. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.shared.js +2 -0
  65. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commandBuilder.js +6 -0
  66. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleCommand.js +2 -14
  67. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.js +2 -14
  68. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/index.js +1 -0
  69. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.browser.js +0 -2
  70. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +1 -2
  71. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.native.js +0 -2
  72. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js +2 -0
  73. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/commandBuilder.d.ts +18 -0
  74. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/commands/GetCredentialsForIdentityCommand.d.ts +3 -8
  75. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/commands/GetIdCommand.d.ts +3 -8
  76. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/index.d.ts +1 -0
  77. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.browser.d.ts +2 -2
  78. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +2 -2
  79. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.native.d.ts +2 -2
  80. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.shared.d.ts +1 -0
  81. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/commandBuilder.d.ts +18 -0
  82. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/commands/CreateOAuth2TokenCommand.d.ts +3 -8
  83. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/index.d.ts +1 -0
  84. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.browser.d.ts +2 -2
  85. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +2 -2
  86. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.native.d.ts +2 -2
  87. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.shared.d.ts +1 -0
  88. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/commandBuilder.d.ts +18 -0
  89. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/commands/GetRoleCredentialsCommand.d.ts +3 -8
  90. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/index.d.ts +1 -0
  91. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.browser.d.ts +2 -2
  92. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +2 -2
  93. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.native.d.ts +2 -2
  94. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.shared.d.ts +1 -0
  95. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/commandBuilder.d.ts +18 -0
  96. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/commands/CreateTokenCommand.d.ts +3 -8
  97. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/index.d.ts +1 -0
  98. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.browser.d.ts +2 -2
  99. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +2 -2
  100. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.native.d.ts +2 -2
  101. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.shared.d.ts +1 -0
  102. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commandBuilder.d.ts +18 -0
  103. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleCommand.d.ts +3 -8
  104. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.d.ts +3 -8
  105. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/index.d.ts +1 -0
  106. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.browser.d.ts +2 -2
  107. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +2 -2
  108. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.native.d.ts +2 -2
  109. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.shared.d.ts +1 -0
  110. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/commandBuilder.d.ts +46 -0
  111. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/commands/GetCredentialsForIdentityCommand.d.ts +7 -16
  112. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/commands/GetIdCommand.d.ts +7 -16
  113. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/index.d.ts +1 -0
  114. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.browser.d.ts +8 -2
  115. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +8 -2
  116. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.native.d.ts +8 -2
  117. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.shared.d.ts +1 -0
  118. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/commandBuilder.d.ts +42 -0
  119. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/commands/CreateOAuth2TokenCommand.d.ts +3 -8
  120. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/index.d.ts +1 -0
  121. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.browser.d.ts +8 -2
  122. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +8 -2
  123. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.native.d.ts +8 -2
  124. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.shared.d.ts +1 -0
  125. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/commandBuilder.d.ts +42 -0
  126. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/commands/GetRoleCredentialsCommand.d.ts +3 -8
  127. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/index.d.ts +1 -0
  128. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.browser.d.ts +8 -2
  129. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +8 -2
  130. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.native.d.ts +8 -2
  131. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.shared.d.ts +1 -0
  132. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/commandBuilder.d.ts +42 -0
  133. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/commands/CreateTokenCommand.d.ts +3 -8
  134. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/index.d.ts +1 -0
  135. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.browser.d.ts +8 -2
  136. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +8 -2
  137. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.native.d.ts +8 -2
  138. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.shared.d.ts +1 -0
  139. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/commandBuilder.d.ts +46 -0
  140. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/commands/AssumeRoleCommand.d.ts +7 -16
  141. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.d.ts +7 -16
  142. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/index.d.ts +1 -0
  143. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.browser.d.ts +8 -2
  144. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +8 -2
  145. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.native.d.ts +8 -2
  146. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.shared.d.ts +1 -0
  147. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-cjs/index.js +3 -51
  148. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/index.js +3 -3
  149. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +3 -3
  150. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/package.json +4 -4
  151. package/node_modules/@aws-sdk/nested-clients/package.json +8 -10
  152. package/node_modules/@aws-sdk/nested-clients/signin.d.ts +1 -3
  153. package/node_modules/@aws-sdk/nested-clients/sso-oidc.d.ts +1 -3
  154. package/node_modules/@aws-sdk/nested-clients/sso.d.ts +1 -3
  155. package/node_modules/@aws-sdk/nested-clients/sts.d.ts +1 -3
  156. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +4 -4
  157. package/node_modules/@aws-sdk/types/package.json +2 -2
  158. package/node_modules/@aws-sdk/xml-builder/dist-cjs/index.js +236 -3
  159. package/node_modules/@aws-sdk/xml-builder/package.json +3 -4
  160. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +10 -1
  161. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +9 -8
  162. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +20 -2
  163. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +2 -1
  164. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js +1 -1
  165. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  166. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +51 -47
  167. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +11 -17
  168. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +25 -11
  169. package/node_modules/@earendil-works/pi-ai/dist/api/cloudflare.js +0 -18
  170. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +8 -4
  171. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +8 -4
  172. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +1 -1
  173. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +68 -43
  174. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +38 -29
  175. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +189 -204
  176. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +26 -35
  177. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js +4 -6
  178. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +11 -2
  179. package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js +2 -2
  180. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js +19 -4
  181. package/node_modules/@earendil-works/pi-ai/dist/compat.js +81 -7
  182. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +60 -45
  183. package/node_modules/@earendil-works/pi-ai/dist/images-models.js +7 -3
  184. package/node_modules/@earendil-works/pi-ai/dist/index.js +1 -0
  185. package/node_modules/@earendil-works/pi-ai/dist/legacy-api-aliases.js +49 -0
  186. package/node_modules/@earendil-works/pi-ai/dist/models.js +7 -3
  187. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js +149 -12
  188. package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.js +3 -3
  189. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js +18 -34
  190. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js +20 -0
  191. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.js +2 -2
  192. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js +39 -9
  193. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-auth.js +85 -0
  194. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.js +2 -2
  195. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.js +13 -13
  196. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js +2 -2
  197. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js +1 -20
  198. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js +20 -1
  199. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +57 -0
  200. package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.js +1 -1
  201. package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.js +72 -0
  202. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.js +4 -4
  203. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.js +4 -4
  204. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.js +4 -4
  205. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js +23 -4
  206. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js +16 -16
  207. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js +90 -17
  208. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +390 -102
  209. package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.js +39 -20
  210. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +389 -80
  211. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.js +7 -0
  212. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js +12 -12
  213. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js +12 -12
  214. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js +12 -12
  215. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.js +15 -15
  216. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js +6 -6
  217. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js +6 -6
  218. package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js +109 -0
  219. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.js +95 -0
  220. package/node_modules/@earendil-works/pi-ai/dist/utils/headers.js +10 -0
  221. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +15 -2
  222. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +3 -2
  223. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +2 -2
  224. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +3 -0
  225. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +87 -0
  226. package/node_modules/@earendil-works/pi-ai/package.json +1 -33
  227. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js +13 -25
  228. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +50 -34
  229. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +13 -5
  230. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +11 -11
  231. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +11 -1
  232. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +33 -1
  233. package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.js +28 -1
  234. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +2 -4
  235. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +15 -18
  236. package/node_modules/@earendil-works/pi-coding-agent/dist/core/project-trust.js +1 -1
  237. package/node_modules/@earendil-works/pi-coding-agent/dist/core/provider-attribution.js +0 -10
  238. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js +2 -0
  239. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +96 -73
  240. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +19 -0
  241. package/node_modules/@earendil-works/pi-coding-agent/dist/core/timings.js +24 -14
  242. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +20 -5
  243. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +2 -2
  244. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +12 -25
  245. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +2 -1
  246. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +20 -4
  247. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.js +23 -15
  248. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-entry.js +52 -0
  249. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-editor.js +12 -3
  250. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector.js +14 -3
  251. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +13 -1
  252. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/status-indicator.js +60 -0
  253. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js +19 -6
  254. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +180 -155
  255. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +14 -0
  256. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +16 -0
  257. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +7 -0
  258. package/node_modules/@earendil-works/pi-coding-agent/dist/rpc-entry.js +10 -0
  259. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-convert.js +21 -15
  260. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-process.js +83 -0
  261. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/mime.js +41 -0
  262. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +12 -12
  263. package/node_modules/@earendil-works/pi-coding-agent/package.json +8 -5
  264. package/node_modules/@earendil-works/pi-orchestrator/dist/cli.js +136 -0
  265. package/node_modules/@earendil-works/pi-orchestrator/dist/config.js +55 -0
  266. package/node_modules/@earendil-works/pi-orchestrator/dist/handler.js +105 -0
  267. package/node_modules/@earendil-works/pi-orchestrator/dist/index.js +11 -0
  268. package/node_modules/@earendil-works/pi-orchestrator/dist/ipc/client.js +56 -0
  269. package/node_modules/@earendil-works/pi-orchestrator/dist/ipc/protocol.js +12 -0
  270. package/node_modules/@earendil-works/pi-orchestrator/dist/ipc/server.js +145 -0
  271. package/node_modules/@earendil-works/pi-orchestrator/dist/radius.js +365 -0
  272. package/node_modules/@earendil-works/pi-orchestrator/dist/rpc-process.js +168 -0
  273. package/node_modules/@earendil-works/pi-orchestrator/dist/serve.js +70 -0
  274. package/node_modules/@earendil-works/pi-orchestrator/dist/storage.js +58 -0
  275. package/node_modules/@earendil-works/pi-orchestrator/dist/supervisor.js +290 -0
  276. package/node_modules/@earendil-works/pi-orchestrator/dist/types.js +2 -0
  277. package/node_modules/@earendil-works/pi-orchestrator/package.json +45 -0
  278. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +3 -0
  279. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  280. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.browser.js +358 -145
  281. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.js +462 -142
  282. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.native.js +358 -145
  283. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +18 -0
  284. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +108 -63
  285. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +11 -8
  286. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +11 -8
  287. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +5 -2
  288. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +30 -36
  289. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +85 -137
  290. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +30 -36
  291. package/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Js.js +30 -0
  292. package/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Node.js +24 -0
  293. package/node_modules/@smithy/core/dist-es/submodules/checksum/index.browser.js +7 -1
  294. package/node_modules/@smithy/core/dist-es/submodules/checksum/index.js +7 -1
  295. package/node_modules/@smithy/core/dist-es/submodules/checksum/index.native.js +7 -1
  296. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Js.js +92 -0
  297. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Node.js +29 -0
  298. package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Js.js +179 -0
  299. package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Node.js +59 -0
  300. package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256WebCrypto.js +71 -0
  301. package/node_modules/@smithy/core/dist-es/submodules/client/index.js +1 -0
  302. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/client-command-builder.js +17 -0
  303. package/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/config.js +6 -1
  304. package/node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.js +92 -0
  305. package/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/constants.js +3 -0
  306. package/node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/resolveDefaultsModeConfig.js +3 -56
  307. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/EventStreamCodec.js +5 -3
  308. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/splitMessage.js +7 -6
  309. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +4 -1
  310. package/node_modules/@smithy/core/dist-es/submodules/serde/concatBytes.js +15 -0
  311. package/node_modules/@smithy/core/dist-es/submodules/serde/index.browser.js +2 -0
  312. package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +2 -0
  313. package/node_modules/@smithy/core/dist-es/submodules/serde/index.native.js +2 -0
  314. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.js +35 -27
  315. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.js +2 -1
  316. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.browser.js +12 -38
  317. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.js +18 -33
  318. package/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.browser.js +3 -0
  319. package/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.js +3 -0
  320. package/node_modules/@smithy/core/dist-types/submodules/checksum/crc32/Crc32Js.d.ts +18 -0
  321. package/node_modules/@smithy/core/dist-types/submodules/checksum/crc32/Crc32Node.d.ts +18 -0
  322. package/node_modules/@smithy/core/dist-types/submodules/checksum/index.browser.d.ts +7 -1
  323. package/node_modules/@smithy/core/dist-types/submodules/checksum/index.d.ts +7 -1
  324. package/node_modules/@smithy/core/dist-types/submodules/checksum/index.native.d.ts +7 -1
  325. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5/Md5Js.d.ts +19 -0
  326. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5/Md5Node.d.ts +17 -0
  327. package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256Js.d.ts +28 -0
  328. package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256Node.d.ts +13 -0
  329. package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256WebCrypto.d.ts +22 -0
  330. package/node_modules/@smithy/core/dist-types/submodules/client/index.d.ts +1 -0
  331. package/node_modules/@smithy/core/dist-types/submodules/client/smithy-client/client-command-builder.d.ts +22 -0
  332. package/node_modules/@smithy/core/dist-types/submodules/client/smithy-client/command.d.ts +5 -6
  333. package/node_modules/@smithy/core/dist-types/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.d.ts +7 -0
  334. package/node_modules/@smithy/core/dist-types/submodules/config/defaults-mode/constants.d.ts +12 -0
  335. package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.browser.d.ts +4 -5
  336. package/node_modules/@smithy/core/dist-types/submodules/endpoints/index.d.ts +4 -5
  337. package/node_modules/@smithy/core/dist-types/submodules/endpoints/middleware-endpoint/adaptors/getEndpointFromInstructions.d.ts +3 -4
  338. package/node_modules/@smithy/core/dist-types/submodules/endpoints/middleware-endpoint/endpointMiddleware.d.ts +1 -2
  339. package/node_modules/@smithy/core/dist-types/submodules/endpoints/middleware-endpoint/getEndpointPlugin.d.ts +1 -2
  340. package/node_modules/@smithy/core/dist-types/submodules/serde/concatBytes.d.ts +6 -0
  341. package/node_modules/@smithy/core/dist-types/submodules/serde/index.browser.d.ts +2 -0
  342. package/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts +2 -0
  343. package/node_modules/@smithy/core/dist-types/submodules/serde/index.native.d.ts +2 -0
  344. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/checksum/ChecksumStream.d.ts +29 -12
  345. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/stream-collector.browser.d.ts +8 -2
  346. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/stream-collector.d.ts +4 -1
  347. package/node_modules/@smithy/core/package.json +5 -5
  348. package/node_modules/@smithy/credential-provider-imds/package.json +3 -3
  349. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +2 -55
  350. package/node_modules/@smithy/fetch-http-handler/dist-es/index.js +2 -2
  351. package/node_modules/@smithy/fetch-http-handler/dist-types/index.d.ts +2 -2
  352. package/node_modules/@smithy/fetch-http-handler/package.json +4 -4
  353. package/node_modules/@smithy/signature-v4/package.json +3 -4
  354. package/node_modules/@smithy/types/dist-types/index.d.ts +1 -0
  355. package/node_modules/@smithy/types/package.json +1 -1
  356. package/node_modules/@types/node/README.md +1 -1
  357. package/node_modules/@types/node/buffer.d.ts +64 -25
  358. package/node_modules/@types/node/crypto.d.ts +18 -5
  359. package/node_modules/@types/node/diagnostics_channel.d.ts +254 -23
  360. package/node_modules/@types/node/dns.d.ts +1 -1
  361. package/node_modules/@types/node/ffi.d.ts +486 -0
  362. package/node_modules/@types/node/fs/promises.d.ts +3 -0
  363. package/node_modules/@types/node/fs.d.ts +21 -6
  364. package/node_modules/@types/node/http.d.ts +25 -0
  365. package/node_modules/@types/node/index.d.ts +1 -0
  366. package/node_modules/@types/node/package.json +2 -2
  367. package/node_modules/@types/node/process.d.ts +14 -1
  368. package/node_modules/@types/node/quic.d.ts +92 -11
  369. package/node_modules/@types/node/sqlite.d.ts +55 -0
  370. package/node_modules/@types/node/stream/iter.d.ts +150 -0
  371. package/node_modules/@types/node/stream.d.ts +32 -0
  372. package/node_modules/@types/node/test.d.ts +112 -2
  373. package/node_modules/@types/node/ts5.6/index.d.ts +1 -0
  374. package/node_modules/@types/node/ts5.7/index.d.ts +1 -0
  375. package/node_modules/@types/node/util.d.ts +19 -2
  376. package/node_modules/@types/node/v8.d.ts +84 -2
  377. package/node_modules/@types/node/worker_threads.d.ts +8 -7
  378. package/node_modules/brace-expansion/dist/commonjs/index.js +24 -14
  379. package/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -1
  380. package/node_modules/brace-expansion/dist/esm/index.js +24 -14
  381. package/node_modules/brace-expansion/dist/esm/index.js.map +1 -1
  382. package/node_modules/brace-expansion/package.json +2 -2
  383. package/node_modules/google-auth-library/build/src/auth/googleauth.js +1 -1
  384. package/node_modules/google-auth-library/package.json +4 -4
  385. package/node_modules/protobufjs/dist/light/protobuf.js +2 -2
  386. package/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
  387. package/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
  388. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
  389. package/node_modules/protobufjs/dist/protobuf.js +5 -2
  390. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  391. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  392. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  393. package/node_modules/protobufjs/package.json +1 -1
  394. package/node_modules/protobufjs/src/parse.js +3 -0
  395. package/package.json +7 -6
  396. package/slingshot/index.js +293 -295
  397. package/node_modules/@aws-crypto/crc32/CHANGELOG.md +0 -100
  398. package/node_modules/@aws-crypto/crc32/LICENSE +0 -201
  399. package/node_modules/@aws-crypto/crc32/README.md +0 -16
  400. package/node_modules/@aws-crypto/crc32/build/main/aws_crc32.d.ts +0 -7
  401. package/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js +0 -31
  402. package/node_modules/@aws-crypto/crc32/build/main/aws_crc32.js.map +0 -1
  403. package/node_modules/@aws-crypto/crc32/build/main/index.d.ts +0 -7
  404. package/node_modules/@aws-crypto/crc32/build/main/index.js +0 -108
  405. package/node_modules/@aws-crypto/crc32/build/main/index.js.map +0 -1
  406. package/node_modules/@aws-crypto/crc32/build/module/aws_crc32.d.ts +0 -7
  407. package/node_modules/@aws-crypto/crc32/build/module/aws_crc32.js +0 -28
  408. package/node_modules/@aws-crypto/crc32/build/module/aws_crc32.js.map +0 -1
  409. package/node_modules/@aws-crypto/crc32/build/module/index.d.ts +0 -7
  410. package/node_modules/@aws-crypto/crc32/build/module/index.js +0 -103
  411. package/node_modules/@aws-crypto/crc32/build/module/index.js.map +0 -1
  412. package/node_modules/@aws-crypto/crc32/package.json +0 -32
  413. package/node_modules/@aws-crypto/crc32/src/aws_crc32.ts +0 -24
  414. package/node_modules/@aws-crypto/crc32/src/index.ts +0 -92
  415. package/node_modules/@aws-crypto/crc32/tsconfig.json +0 -9
  416. package/node_modules/@aws-crypto/crc32/tsconfig.module.json +0 -7
  417. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.browser.js +0 -869
  418. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.native.js +0 -862
  419. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js +0 -42
  420. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.browser.js +0 -27
  421. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js +0 -71
  422. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js +0 -49
  423. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js +0 -13
  424. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.browser.js +0 -2
  425. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +0 -8
  426. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js +0 -41
  427. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +0 -5
  428. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/stream-collector/index.d.ts +0 -7
  429. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js +0 -29
  430. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js +0 -25
  431. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +0 -8
  432. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js +0 -41
  433. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +0 -5
  434. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/stream-collector/index.d.ts +0 -7
  435. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.browser.js +0 -57
  436. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +0 -234
  437. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js +0 -44
  438. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5-js/constants.js +0 -3
  439. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5-js/md5.js +0 -168
  440. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5-js/constants.d.ts +0 -12
  441. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5-js/md5.d.ts +0 -16
  442. package/node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js +0 -53
  443. package/node_modules/@smithy/fetch-http-handler/dist-types/stream-collector.d.ts +0 -2
  444. /package/node_modules/@smithy/{core/dist-es/submodules/endpoints/middleware-endpoint/types.js → types/dist-es/endpoints/EndpointParameterInstructions.js} +0 -0
  445. /package/node_modules/@smithy/{core/dist-types/submodules/endpoints/middleware-endpoint/types.d.ts → types/dist-types/endpoints/EndpointParameterInstructions.d.ts} +0 -0
@@ -7,6 +7,7 @@ export const OPENROUTER_MODELS = {
7
7
  api: "openai-completions",
8
8
  provider: "openrouter",
9
9
  baseUrl: "https://openrouter.ai/api/v1",
10
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
10
11
  reasoning: false,
11
12
  input: ["text"],
12
13
  cost: {
@@ -24,6 +25,7 @@ export const OPENROUTER_MODELS = {
24
25
  api: "openai-completions",
25
26
  provider: "openrouter",
26
27
  baseUrl: "https://openrouter.ai/api/v1",
28
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
27
29
  reasoning: true,
28
30
  input: ["text", "image"],
29
31
  cost: {
@@ -41,6 +43,7 @@ export const OPENROUTER_MODELS = {
41
43
  api: "openai-completions",
42
44
  provider: "openrouter",
43
45
  baseUrl: "https://openrouter.ai/api/v1",
46
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
44
47
  reasoning: false,
45
48
  input: ["text", "image"],
46
49
  cost: {
@@ -58,6 +61,7 @@ export const OPENROUTER_MODELS = {
58
61
  api: "openai-completions",
59
62
  provider: "openrouter",
60
63
  baseUrl: "https://openrouter.ai/api/v1",
64
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
61
65
  reasoning: false,
62
66
  input: ["text"],
63
67
  cost: {
@@ -75,6 +79,7 @@ export const OPENROUTER_MODELS = {
75
79
  api: "openai-completions",
76
80
  provider: "openrouter",
77
81
  baseUrl: "https://openrouter.ai/api/v1",
82
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
78
83
  reasoning: false,
79
84
  input: ["text", "image"],
80
85
  cost: {
@@ -92,6 +97,7 @@ export const OPENROUTER_MODELS = {
92
97
  api: "openai-completions",
93
98
  provider: "openrouter",
94
99
  baseUrl: "https://openrouter.ai/api/v1",
100
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
95
101
  reasoning: false,
96
102
  input: ["text", "image"],
97
103
  cost: {
@@ -109,6 +115,7 @@ export const OPENROUTER_MODELS = {
109
115
  api: "openai-completions",
110
116
  provider: "openrouter",
111
117
  baseUrl: "https://openrouter.ai/api/v1",
118
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
112
119
  reasoning: false,
113
120
  input: ["text", "image"],
114
121
  cost: {
@@ -126,6 +133,7 @@ export const OPENROUTER_MODELS = {
126
133
  api: "openai-completions",
127
134
  provider: "openrouter",
128
135
  baseUrl: "https://openrouter.ai/api/v1",
136
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
129
137
  reasoning: true,
130
138
  input: ["text", "image"],
131
139
  cost: {
@@ -143,6 +151,7 @@ export const OPENROUTER_MODELS = {
143
151
  api: "openai-completions",
144
152
  provider: "openrouter",
145
153
  baseUrl: "https://openrouter.ai/api/v1",
154
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
146
155
  reasoning: true,
147
156
  input: ["text", "image"],
148
157
  cost: {
@@ -160,6 +169,7 @@ export const OPENROUTER_MODELS = {
160
169
  api: "openai-completions",
161
170
  provider: "openrouter",
162
171
  baseUrl: "https://openrouter.ai/api/v1",
172
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
163
173
  reasoning: true,
164
174
  input: ["text", "image"],
165
175
  cost: {
@@ -177,6 +187,7 @@ export const OPENROUTER_MODELS = {
177
187
  api: "openai-completions",
178
188
  provider: "openrouter",
179
189
  baseUrl: "https://openrouter.ai/api/v1",
190
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
180
191
  reasoning: true,
181
192
  input: ["text", "image"],
182
193
  cost: {
@@ -194,6 +205,7 @@ export const OPENROUTER_MODELS = {
194
205
  api: "openai-completions",
195
206
  provider: "openrouter",
196
207
  baseUrl: "https://openrouter.ai/api/v1",
208
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
197
209
  reasoning: true,
198
210
  input: ["text", "image"],
199
211
  cost: {
@@ -211,6 +223,7 @@ export const OPENROUTER_MODELS = {
211
223
  api: "openai-completions",
212
224
  provider: "openrouter",
213
225
  baseUrl: "https://openrouter.ai/api/v1",
226
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
214
227
  reasoning: true,
215
228
  thinkingLevelMap: { "xhigh": "max" },
216
229
  input: ["text", "image"],
@@ -223,30 +236,13 @@ export const OPENROUTER_MODELS = {
223
236
  contextWindow: 1000000,
224
237
  maxTokens: 128000,
225
238
  },
226
- "anthropic/claude-opus-4.6-fast": {
227
- id: "anthropic/claude-opus-4.6-fast",
228
- name: "Anthropic: Claude Opus 4.6 (Fast)",
229
- api: "openai-completions",
230
- provider: "openrouter",
231
- baseUrl: "https://openrouter.ai/api/v1",
232
- reasoning: true,
233
- thinkingLevelMap: { "xhigh": "max" },
234
- input: ["text", "image"],
235
- cost: {
236
- input: 30,
237
- output: 150,
238
- cacheRead: 3,
239
- cacheWrite: 37.5,
240
- },
241
- contextWindow: 1000000,
242
- maxTokens: 128000,
243
- },
244
239
  "anthropic/claude-opus-4.7": {
245
240
  id: "anthropic/claude-opus-4.7",
246
241
  name: "Anthropic: Claude Opus 4.7",
247
242
  api: "openai-completions",
248
243
  provider: "openrouter",
249
244
  baseUrl: "https://openrouter.ai/api/v1",
245
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
250
246
  reasoning: true,
251
247
  thinkingLevelMap: { "xhigh": "xhigh" },
252
248
  input: ["text", "image"],
@@ -265,6 +261,7 @@ export const OPENROUTER_MODELS = {
265
261
  api: "openai-completions",
266
262
  provider: "openrouter",
267
263
  baseUrl: "https://openrouter.ai/api/v1",
264
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
268
265
  reasoning: true,
269
266
  thinkingLevelMap: { "xhigh": "xhigh" },
270
267
  input: ["text", "image"],
@@ -283,6 +280,7 @@ export const OPENROUTER_MODELS = {
283
280
  api: "openai-completions",
284
281
  provider: "openrouter",
285
282
  baseUrl: "https://openrouter.ai/api/v1",
283
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
286
284
  reasoning: true,
287
285
  thinkingLevelMap: { "xhigh": "xhigh" },
288
286
  input: ["text", "image"],
@@ -301,6 +299,7 @@ export const OPENROUTER_MODELS = {
301
299
  api: "openai-completions",
302
300
  provider: "openrouter",
303
301
  baseUrl: "https://openrouter.ai/api/v1",
302
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
304
303
  reasoning: true,
305
304
  thinkingLevelMap: { "xhigh": "xhigh" },
306
305
  input: ["text", "image"],
@@ -319,6 +318,7 @@ export const OPENROUTER_MODELS = {
319
318
  api: "openai-completions",
320
319
  provider: "openrouter",
321
320
  baseUrl: "https://openrouter.ai/api/v1",
321
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
322
322
  reasoning: true,
323
323
  input: ["text", "image"],
324
324
  cost: {
@@ -336,6 +336,7 @@ export const OPENROUTER_MODELS = {
336
336
  api: "openai-completions",
337
337
  provider: "openrouter",
338
338
  baseUrl: "https://openrouter.ai/api/v1",
339
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
339
340
  reasoning: true,
340
341
  input: ["text", "image"],
341
342
  cost: {
@@ -353,6 +354,7 @@ export const OPENROUTER_MODELS = {
353
354
  api: "openai-completions",
354
355
  provider: "openrouter",
355
356
  baseUrl: "https://openrouter.ai/api/v1",
357
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
356
358
  reasoning: true,
357
359
  input: ["text", "image"],
358
360
  cost: {
@@ -364,12 +366,31 @@ export const OPENROUTER_MODELS = {
364
366
  contextWindow: 1000000,
365
367
  maxTokens: 128000,
366
368
  },
369
+ "anthropic/claude-sonnet-5": {
370
+ id: "anthropic/claude-sonnet-5",
371
+ name: "Anthropic: Claude Sonnet 5",
372
+ api: "openai-completions",
373
+ provider: "openrouter",
374
+ baseUrl: "https://openrouter.ai/api/v1",
375
+ compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
376
+ reasoning: true,
377
+ input: ["text", "image"],
378
+ cost: {
379
+ input: 2,
380
+ output: 10,
381
+ cacheRead: 0.2,
382
+ cacheWrite: 2.5,
383
+ },
384
+ contextWindow: 1000000,
385
+ maxTokens: 128000,
386
+ },
367
387
  "arcee-ai/trinity-large-thinking": {
368
388
  id: "arcee-ai/trinity-large-thinking",
369
389
  name: "Arcee AI: Trinity Large Thinking",
370
390
  api: "openai-completions",
371
391
  provider: "openrouter",
372
392
  baseUrl: "https://openrouter.ai/api/v1",
393
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
373
394
  reasoning: true,
374
395
  input: ["text"],
375
396
  cost: {
@@ -387,6 +408,7 @@ export const OPENROUTER_MODELS = {
387
408
  api: "openai-completions",
388
409
  provider: "openrouter",
389
410
  baseUrl: "https://openrouter.ai/api/v1",
411
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
390
412
  reasoning: true,
391
413
  input: ["text"],
392
414
  cost: {
@@ -404,6 +426,7 @@ export const OPENROUTER_MODELS = {
404
426
  api: "openai-completions",
405
427
  provider: "openrouter",
406
428
  baseUrl: "https://openrouter.ai/api/v1",
429
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
407
430
  reasoning: false,
408
431
  input: ["text"],
409
432
  cost: {
@@ -421,6 +444,7 @@ export const OPENROUTER_MODELS = {
421
444
  api: "openai-completions",
422
445
  provider: "openrouter",
423
446
  baseUrl: "https://openrouter.ai/api/v1",
447
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
424
448
  reasoning: true,
425
449
  input: ["text", "image"],
426
450
  cost: {
@@ -438,6 +462,7 @@ export const OPENROUTER_MODELS = {
438
462
  api: "openai-completions",
439
463
  provider: "openrouter",
440
464
  baseUrl: "https://openrouter.ai/api/v1",
465
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
441
466
  reasoning: true,
442
467
  input: ["text", "image"],
443
468
  cost: {
@@ -455,6 +480,7 @@ export const OPENROUTER_MODELS = {
455
480
  api: "openai-completions",
456
481
  provider: "openrouter",
457
482
  baseUrl: "https://openrouter.ai/api/v1",
483
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
458
484
  reasoning: true,
459
485
  input: ["text", "image"],
460
486
  cost: {
@@ -472,6 +498,7 @@ export const OPENROUTER_MODELS = {
472
498
  api: "openai-completions",
473
499
  provider: "openrouter",
474
500
  baseUrl: "https://openrouter.ai/api/v1",
501
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
475
502
  reasoning: true,
476
503
  input: ["text", "image"],
477
504
  cost: {
@@ -489,6 +516,7 @@ export const OPENROUTER_MODELS = {
489
516
  api: "openai-completions",
490
517
  provider: "openrouter",
491
518
  baseUrl: "https://openrouter.ai/api/v1",
519
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
492
520
  reasoning: true,
493
521
  input: ["text", "image"],
494
522
  cost: {
@@ -506,6 +534,7 @@ export const OPENROUTER_MODELS = {
506
534
  api: "openai-completions",
507
535
  provider: "openrouter",
508
536
  baseUrl: "https://openrouter.ai/api/v1",
537
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
509
538
  reasoning: false,
510
539
  input: ["text"],
511
540
  cost: {
@@ -523,6 +552,7 @@ export const OPENROUTER_MODELS = {
523
552
  api: "openai-completions",
524
553
  provider: "openrouter",
525
554
  baseUrl: "https://openrouter.ai/api/v1",
555
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
526
556
  reasoning: false,
527
557
  input: ["text"],
528
558
  cost: {
@@ -540,6 +570,7 @@ export const OPENROUTER_MODELS = {
540
570
  api: "openai-completions",
541
571
  provider: "openrouter",
542
572
  baseUrl: "https://openrouter.ai/api/v1",
573
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
543
574
  reasoning: true,
544
575
  input: ["text"],
545
576
  cost: {
@@ -557,6 +588,7 @@ export const OPENROUTER_MODELS = {
557
588
  api: "openai-completions",
558
589
  provider: "openrouter",
559
590
  baseUrl: "https://openrouter.ai/api/v1",
591
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
560
592
  reasoning: false,
561
593
  input: ["text"],
562
594
  cost: {
@@ -574,11 +606,12 @@ export const OPENROUTER_MODELS = {
574
606
  api: "openai-completions",
575
607
  provider: "openrouter",
576
608
  baseUrl: "https://openrouter.ai/api/v1",
609
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
577
610
  reasoning: false,
578
611
  input: ["text"],
579
612
  cost: {
580
- input: 0.2,
581
- output: 0.77,
613
+ input: 0.24,
614
+ output: 0.9,
582
615
  cacheRead: 0.135,
583
616
  cacheWrite: 0,
584
617
  },
@@ -591,6 +624,7 @@ export const OPENROUTER_MODELS = {
591
624
  api: "openai-completions",
592
625
  provider: "openrouter",
593
626
  baseUrl: "https://openrouter.ai/api/v1",
627
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
594
628
  reasoning: true,
595
629
  input: ["text"],
596
630
  cost: {
@@ -608,6 +642,7 @@ export const OPENROUTER_MODELS = {
608
642
  api: "openai-completions",
609
643
  provider: "openrouter",
610
644
  baseUrl: "https://openrouter.ai/api/v1",
645
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
611
646
  reasoning: true,
612
647
  input: ["text"],
613
648
  cost: {
@@ -625,6 +660,7 @@ export const OPENROUTER_MODELS = {
625
660
  api: "openai-completions",
626
661
  provider: "openrouter",
627
662
  baseUrl: "https://openrouter.ai/api/v1",
663
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
628
664
  reasoning: true,
629
665
  input: ["text"],
630
666
  cost: {
@@ -642,6 +678,7 @@ export const OPENROUTER_MODELS = {
642
678
  api: "openai-completions",
643
679
  provider: "openrouter",
644
680
  baseUrl: "https://openrouter.ai/api/v1",
681
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
645
682
  reasoning: true,
646
683
  input: ["text"],
647
684
  cost: {
@@ -659,12 +696,13 @@ export const OPENROUTER_MODELS = {
659
696
  api: "openai-completions",
660
697
  provider: "openrouter",
661
698
  baseUrl: "https://openrouter.ai/api/v1",
699
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
662
700
  reasoning: true,
663
701
  input: ["text"],
664
702
  cost: {
665
703
  input: 0.2288,
666
704
  output: 0.3432,
667
- cacheRead: 0,
705
+ cacheRead: 0.02288,
668
706
  cacheWrite: 0,
669
707
  },
670
708
  contextWindow: 131072,
@@ -676,6 +714,7 @@ export const OPENROUTER_MODELS = {
676
714
  api: "openai-completions",
677
715
  provider: "openrouter",
678
716
  baseUrl: "https://openrouter.ai/api/v1",
717
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
679
718
  reasoning: true,
680
719
  input: ["text"],
681
720
  cost: {
@@ -693,18 +732,18 @@ export const OPENROUTER_MODELS = {
693
732
  api: "openai-completions",
694
733
  provider: "openrouter",
695
734
  baseUrl: "https://openrouter.ai/api/v1",
696
- compat: { "requiresReasoningContentOnAssistantMessages": true },
735
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter", "requiresReasoningContentOnAssistantMessages": true },
697
736
  reasoning: true,
698
737
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
699
738
  input: ["text"],
700
739
  cost: {
701
740
  input: 0.09,
702
741
  output: 0.18,
703
- cacheRead: 0.02,
742
+ cacheRead: 0.018,
704
743
  cacheWrite: 0,
705
744
  },
706
745
  contextWindow: 1048576,
707
- maxTokens: 65536,
746
+ maxTokens: 16384,
708
747
  },
709
748
  "deepseek/deepseek-v4-pro": {
710
749
  id: "deepseek/deepseek-v4-pro",
@@ -712,7 +751,7 @@ export const OPENROUTER_MODELS = {
712
751
  api: "openai-completions",
713
752
  provider: "openrouter",
714
753
  baseUrl: "https://openrouter.ai/api/v1",
715
- compat: { "requiresReasoningContentOnAssistantMessages": true },
754
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter", "requiresReasoningContentOnAssistantMessages": true },
716
755
  reasoning: true,
717
756
  thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
718
757
  input: ["text"],
@@ -731,6 +770,7 @@ export const OPENROUTER_MODELS = {
731
770
  api: "openai-completions",
732
771
  provider: "openrouter",
733
772
  baseUrl: "https://openrouter.ai/api/v1",
773
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
734
774
  reasoning: true,
735
775
  input: ["text", "image"],
736
776
  cost: {
@@ -748,6 +788,7 @@ export const OPENROUTER_MODELS = {
748
788
  api: "openai-completions",
749
789
  provider: "openrouter",
750
790
  baseUrl: "https://openrouter.ai/api/v1",
791
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
751
792
  reasoning: true,
752
793
  input: ["text", "image"],
753
794
  cost: {
@@ -765,6 +806,7 @@ export const OPENROUTER_MODELS = {
765
806
  api: "openai-completions",
766
807
  provider: "openrouter",
767
808
  baseUrl: "https://openrouter.ai/api/v1",
809
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
768
810
  reasoning: true,
769
811
  input: ["text", "image"],
770
812
  cost: {
@@ -782,6 +824,7 @@ export const OPENROUTER_MODELS = {
782
824
  api: "openai-completions",
783
825
  provider: "openrouter",
784
826
  baseUrl: "https://openrouter.ai/api/v1",
827
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
785
828
  reasoning: true,
786
829
  input: ["text", "image"],
787
830
  cost: {
@@ -799,6 +842,7 @@ export const OPENROUTER_MODELS = {
799
842
  api: "openai-completions",
800
843
  provider: "openrouter",
801
844
  baseUrl: "https://openrouter.ai/api/v1",
845
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
802
846
  reasoning: true,
803
847
  input: ["text", "image"],
804
848
  cost: {
@@ -816,6 +860,7 @@ export const OPENROUTER_MODELS = {
816
860
  api: "openai-completions",
817
861
  provider: "openrouter",
818
862
  baseUrl: "https://openrouter.ai/api/v1",
863
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
819
864
  reasoning: true,
820
865
  input: ["text", "image"],
821
866
  cost: {
@@ -833,6 +878,7 @@ export const OPENROUTER_MODELS = {
833
878
  api: "openai-completions",
834
879
  provider: "openrouter",
835
880
  baseUrl: "https://openrouter.ai/api/v1",
881
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
836
882
  reasoning: true,
837
883
  input: ["text", "image"],
838
884
  cost: {
@@ -850,6 +896,7 @@ export const OPENROUTER_MODELS = {
850
896
  api: "openai-completions",
851
897
  provider: "openrouter",
852
898
  baseUrl: "https://openrouter.ai/api/v1",
899
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
853
900
  reasoning: true,
854
901
  input: ["text", "image"],
855
902
  cost: {
@@ -867,6 +914,7 @@ export const OPENROUTER_MODELS = {
867
914
  api: "openai-completions",
868
915
  provider: "openrouter",
869
916
  baseUrl: "https://openrouter.ai/api/v1",
917
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
870
918
  reasoning: true,
871
919
  input: ["text", "image"],
872
920
  cost: {
@@ -884,6 +932,7 @@ export const OPENROUTER_MODELS = {
884
932
  api: "openai-completions",
885
933
  provider: "openrouter",
886
934
  baseUrl: "https://openrouter.ai/api/v1",
935
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
887
936
  reasoning: true,
888
937
  input: ["text", "image"],
889
938
  cost: {
@@ -901,6 +950,7 @@ export const OPENROUTER_MODELS = {
901
950
  api: "openai-completions",
902
951
  provider: "openrouter",
903
952
  baseUrl: "https://openrouter.ai/api/v1",
953
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
904
954
  reasoning: true,
905
955
  input: ["text", "image"],
906
956
  cost: {
@@ -918,6 +968,7 @@ export const OPENROUTER_MODELS = {
918
968
  api: "openai-completions",
919
969
  provider: "openrouter",
920
970
  baseUrl: "https://openrouter.ai/api/v1",
971
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
921
972
  reasoning: true,
922
973
  input: ["text", "image"],
923
974
  cost: {
@@ -935,6 +986,7 @@ export const OPENROUTER_MODELS = {
935
986
  api: "openai-completions",
936
987
  provider: "openrouter",
937
988
  baseUrl: "https://openrouter.ai/api/v1",
989
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
938
990
  reasoning: true,
939
991
  input: ["text", "image"],
940
992
  cost: {
@@ -952,6 +1004,7 @@ export const OPENROUTER_MODELS = {
952
1004
  api: "openai-completions",
953
1005
  provider: "openrouter",
954
1006
  baseUrl: "https://openrouter.ai/api/v1",
1007
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
955
1008
  reasoning: false,
956
1009
  input: ["text", "image"],
957
1010
  cost: {
@@ -969,6 +1022,7 @@ export const OPENROUTER_MODELS = {
969
1022
  api: "openai-completions",
970
1023
  provider: "openrouter",
971
1024
  baseUrl: "https://openrouter.ai/api/v1",
1025
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
972
1026
  reasoning: false,
973
1027
  input: ["text", "image"],
974
1028
  cost: {
@@ -986,6 +1040,7 @@ export const OPENROUTER_MODELS = {
986
1040
  api: "openai-completions",
987
1041
  provider: "openrouter",
988
1042
  baseUrl: "https://openrouter.ai/api/v1",
1043
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
989
1044
  reasoning: true,
990
1045
  input: ["text", "image"],
991
1046
  cost: {
@@ -1003,6 +1058,7 @@ export const OPENROUTER_MODELS = {
1003
1058
  api: "openai-completions",
1004
1059
  provider: "openrouter",
1005
1060
  baseUrl: "https://openrouter.ai/api/v1",
1061
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1006
1062
  reasoning: true,
1007
1063
  input: ["text", "image"],
1008
1064
  cost: {
@@ -1020,6 +1076,7 @@ export const OPENROUTER_MODELS = {
1020
1076
  api: "openai-completions",
1021
1077
  provider: "openrouter",
1022
1078
  baseUrl: "https://openrouter.ai/api/v1",
1079
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1023
1080
  reasoning: true,
1024
1081
  input: ["text", "image"],
1025
1082
  cost: {
@@ -1037,6 +1094,7 @@ export const OPENROUTER_MODELS = {
1037
1094
  api: "openai-completions",
1038
1095
  provider: "openrouter",
1039
1096
  baseUrl: "https://openrouter.ai/api/v1",
1097
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1040
1098
  reasoning: true,
1041
1099
  input: ["text", "image"],
1042
1100
  cost: {
@@ -1054,6 +1112,7 @@ export const OPENROUTER_MODELS = {
1054
1112
  api: "openai-completions",
1055
1113
  provider: "openrouter",
1056
1114
  baseUrl: "https://openrouter.ai/api/v1",
1115
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1057
1116
  reasoning: false,
1058
1117
  input: ["text"],
1059
1118
  cost: {
@@ -1071,6 +1130,7 @@ export const OPENROUTER_MODELS = {
1071
1130
  api: "openai-completions",
1072
1131
  provider: "openrouter",
1073
1132
  baseUrl: "https://openrouter.ai/api/v1",
1133
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1074
1134
  reasoning: true,
1075
1135
  thinkingLevelMap: { "off": null },
1076
1136
  input: ["text"],
@@ -1089,6 +1149,7 @@ export const OPENROUTER_MODELS = {
1089
1149
  api: "openai-completions",
1090
1150
  provider: "openrouter",
1091
1151
  baseUrl: "https://openrouter.ai/api/v1",
1152
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1092
1153
  reasoning: false,
1093
1154
  input: ["text"],
1094
1155
  cost: {
@@ -1106,6 +1167,7 @@ export const OPENROUTER_MODELS = {
1106
1167
  api: "openai-completions",
1107
1168
  provider: "openrouter",
1108
1169
  baseUrl: "https://openrouter.ai/api/v1",
1170
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1109
1171
  reasoning: false,
1110
1172
  input: ["text"],
1111
1173
  cost: {
@@ -1123,6 +1185,7 @@ export const OPENROUTER_MODELS = {
1123
1185
  api: "openai-completions",
1124
1186
  provider: "openrouter",
1125
1187
  baseUrl: "https://openrouter.ai/api/v1",
1188
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1126
1189
  reasoning: true,
1127
1190
  input: ["text"],
1128
1191
  cost: {
@@ -1140,6 +1203,7 @@ export const OPENROUTER_MODELS = {
1140
1203
  api: "openai-completions",
1141
1204
  provider: "openrouter",
1142
1205
  baseUrl: "https://openrouter.ai/api/v1",
1206
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1143
1207
  reasoning: false,
1144
1208
  input: ["text"],
1145
1209
  cost: {
@@ -1157,6 +1221,7 @@ export const OPENROUTER_MODELS = {
1157
1221
  api: "openai-completions",
1158
1222
  provider: "openrouter",
1159
1223
  baseUrl: "https://openrouter.ai/api/v1",
1224
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1160
1225
  reasoning: true,
1161
1226
  input: ["text"],
1162
1227
  cost: {
@@ -1174,6 +1239,7 @@ export const OPENROUTER_MODELS = {
1174
1239
  api: "openai-completions",
1175
1240
  provider: "openrouter",
1176
1241
  baseUrl: "https://openrouter.ai/api/v1",
1242
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1177
1243
  reasoning: false,
1178
1244
  input: ["text"],
1179
1245
  cost: {
@@ -1191,6 +1257,7 @@ export const OPENROUTER_MODELS = {
1191
1257
  api: "openai-completions",
1192
1258
  provider: "openrouter",
1193
1259
  baseUrl: "https://openrouter.ai/api/v1",
1260
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1194
1261
  reasoning: false,
1195
1262
  input: ["text"],
1196
1263
  cost: {
@@ -1208,6 +1275,7 @@ export const OPENROUTER_MODELS = {
1208
1275
  api: "openai-completions",
1209
1276
  provider: "openrouter",
1210
1277
  baseUrl: "https://openrouter.ai/api/v1",
1278
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1211
1279
  reasoning: false,
1212
1280
  input: ["text"],
1213
1281
  cost: {
@@ -1225,6 +1293,7 @@ export const OPENROUTER_MODELS = {
1225
1293
  api: "openai-completions",
1226
1294
  provider: "openrouter",
1227
1295
  baseUrl: "https://openrouter.ai/api/v1",
1296
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1228
1297
  reasoning: false,
1229
1298
  input: ["text"],
1230
1299
  cost: {
@@ -1242,6 +1311,7 @@ export const OPENROUTER_MODELS = {
1242
1311
  api: "openai-completions",
1243
1312
  provider: "openrouter",
1244
1313
  baseUrl: "https://openrouter.ai/api/v1",
1314
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1245
1315
  reasoning: false,
1246
1316
  input: ["text", "image"],
1247
1317
  cost: {
@@ -1259,6 +1329,7 @@ export const OPENROUTER_MODELS = {
1259
1329
  api: "openai-completions",
1260
1330
  provider: "openrouter",
1261
1331
  baseUrl: "https://openrouter.ai/api/v1",
1332
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1262
1333
  reasoning: false,
1263
1334
  input: ["text", "image"],
1264
1335
  cost: {
@@ -1276,6 +1347,7 @@ export const OPENROUTER_MODELS = {
1276
1347
  api: "openai-completions",
1277
1348
  provider: "openrouter",
1278
1349
  baseUrl: "https://openrouter.ai/api/v1",
1350
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1279
1351
  reasoning: true,
1280
1352
  input: ["text"],
1281
1353
  cost: {
@@ -1293,16 +1365,17 @@ export const OPENROUTER_MODELS = {
1293
1365
  api: "openai-completions",
1294
1366
  provider: "openrouter",
1295
1367
  baseUrl: "https://openrouter.ai/api/v1",
1368
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1296
1369
  reasoning: true,
1297
1370
  input: ["text"],
1298
1371
  cost: {
1299
1372
  input: 0.255,
1300
- output: 1,
1301
- cacheRead: 0.03,
1373
+ output: 1.02,
1374
+ cacheRead: 0,
1302
1375
  cacheWrite: 0,
1303
1376
  },
1304
1377
  contextWindow: 204800,
1305
- maxTokens: 196608,
1378
+ maxTokens: 131072,
1306
1379
  },
1307
1380
  "minimax/minimax-m2.1": {
1308
1381
  id: "minimax/minimax-m2.1",
@@ -1310,16 +1383,17 @@ export const OPENROUTER_MODELS = {
1310
1383
  api: "openai-completions",
1311
1384
  provider: "openrouter",
1312
1385
  baseUrl: "https://openrouter.ai/api/v1",
1386
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1313
1387
  reasoning: true,
1314
1388
  input: ["text"],
1315
1389
  cost: {
1316
- input: 0.29,
1317
- output: 0.95,
1390
+ input: 0.3,
1391
+ output: 1.2,
1318
1392
  cacheRead: 0.03,
1319
1393
  cacheWrite: 0,
1320
1394
  },
1321
1395
  contextWindow: 204800,
1322
- maxTokens: 196608,
1396
+ maxTokens: 131072,
1323
1397
  },
1324
1398
  "minimax/minimax-m2.5": {
1325
1399
  id: "minimax/minimax-m2.5",
@@ -1327,12 +1401,13 @@ export const OPENROUTER_MODELS = {
1327
1401
  api: "openai-completions",
1328
1402
  provider: "openrouter",
1329
1403
  baseUrl: "https://openrouter.ai/api/v1",
1404
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1330
1405
  reasoning: true,
1331
1406
  input: ["text"],
1332
1407
  cost: {
1333
- input: 0.15,
1334
- output: 0.9,
1335
- cacheRead: 0.05,
1408
+ input: 0.12,
1409
+ output: 0.48,
1410
+ cacheRead: 0,
1336
1411
  cacheWrite: 0,
1337
1412
  },
1338
1413
  contextWindow: 204800,
@@ -1344,11 +1419,12 @@ export const OPENROUTER_MODELS = {
1344
1419
  api: "openai-completions",
1345
1420
  provider: "openrouter",
1346
1421
  baseUrl: "https://openrouter.ai/api/v1",
1422
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1347
1423
  reasoning: true,
1348
1424
  input: ["text"],
1349
1425
  cost: {
1350
- input: 0.24,
1351
- output: 0.96,
1426
+ input: 0.18,
1427
+ output: 0.72,
1352
1428
  cacheRead: 0,
1353
1429
  cacheWrite: 0,
1354
1430
  },
@@ -1361,6 +1437,7 @@ export const OPENROUTER_MODELS = {
1361
1437
  api: "openai-completions",
1362
1438
  provider: "openrouter",
1363
1439
  baseUrl: "https://openrouter.ai/api/v1",
1440
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1364
1441
  reasoning: true,
1365
1442
  input: ["text", "image"],
1366
1443
  cost: {
@@ -1378,6 +1455,7 @@ export const OPENROUTER_MODELS = {
1378
1455
  api: "openai-completions",
1379
1456
  provider: "openrouter",
1380
1457
  baseUrl: "https://openrouter.ai/api/v1",
1458
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1381
1459
  reasoning: false,
1382
1460
  input: ["text"],
1383
1461
  cost: {
@@ -1395,6 +1473,7 @@ export const OPENROUTER_MODELS = {
1395
1473
  api: "openai-completions",
1396
1474
  provider: "openrouter",
1397
1475
  baseUrl: "https://openrouter.ai/api/v1",
1476
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1398
1477
  reasoning: false,
1399
1478
  input: ["text"],
1400
1479
  cost: {
@@ -1412,6 +1491,7 @@ export const OPENROUTER_MODELS = {
1412
1491
  api: "openai-completions",
1413
1492
  provider: "openrouter",
1414
1493
  baseUrl: "https://openrouter.ai/api/v1",
1494
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1415
1495
  reasoning: false,
1416
1496
  input: ["text", "image"],
1417
1497
  cost: {
@@ -1429,6 +1509,7 @@ export const OPENROUTER_MODELS = {
1429
1509
  api: "openai-completions",
1430
1510
  provider: "openrouter",
1431
1511
  baseUrl: "https://openrouter.ai/api/v1",
1512
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1432
1513
  reasoning: false,
1433
1514
  input: ["text", "image"],
1434
1515
  cost: {
@@ -1446,6 +1527,7 @@ export const OPENROUTER_MODELS = {
1446
1527
  api: "openai-completions",
1447
1528
  provider: "openrouter",
1448
1529
  baseUrl: "https://openrouter.ai/api/v1",
1530
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1449
1531
  reasoning: false,
1450
1532
  input: ["text", "image"],
1451
1533
  cost: {
@@ -1463,6 +1545,7 @@ export const OPENROUTER_MODELS = {
1463
1545
  api: "openai-completions",
1464
1546
  provider: "openrouter",
1465
1547
  baseUrl: "https://openrouter.ai/api/v1",
1548
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1466
1549
  reasoning: false,
1467
1550
  input: ["text"],
1468
1551
  cost: {
@@ -1480,6 +1563,7 @@ export const OPENROUTER_MODELS = {
1480
1563
  api: "openai-completions",
1481
1564
  provider: "openrouter",
1482
1565
  baseUrl: "https://openrouter.ai/api/v1",
1566
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1483
1567
  reasoning: false,
1484
1568
  input: ["text"],
1485
1569
  cost: {
@@ -1497,6 +1581,7 @@ export const OPENROUTER_MODELS = {
1497
1581
  api: "openai-completions",
1498
1582
  provider: "openrouter",
1499
1583
  baseUrl: "https://openrouter.ai/api/v1",
1584
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1500
1585
  reasoning: false,
1501
1586
  input: ["text", "image"],
1502
1587
  cost: {
@@ -1514,6 +1599,7 @@ export const OPENROUTER_MODELS = {
1514
1599
  api: "openai-completions",
1515
1600
  provider: "openrouter",
1516
1601
  baseUrl: "https://openrouter.ai/api/v1",
1602
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1517
1603
  reasoning: false,
1518
1604
  input: ["text", "image"],
1519
1605
  cost: {
@@ -1531,6 +1617,7 @@ export const OPENROUTER_MODELS = {
1531
1617
  api: "openai-completions",
1532
1618
  provider: "openrouter",
1533
1619
  baseUrl: "https://openrouter.ai/api/v1",
1620
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1534
1621
  reasoning: true,
1535
1622
  input: ["text", "image"],
1536
1623
  cost: {
@@ -1548,6 +1635,7 @@ export const OPENROUTER_MODELS = {
1548
1635
  api: "openai-completions",
1549
1636
  provider: "openrouter",
1550
1637
  baseUrl: "https://openrouter.ai/api/v1",
1638
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1551
1639
  reasoning: false,
1552
1640
  input: ["text", "image"],
1553
1641
  cost: {
@@ -1565,6 +1653,7 @@ export const OPENROUTER_MODELS = {
1565
1653
  api: "openai-completions",
1566
1654
  provider: "openrouter",
1567
1655
  baseUrl: "https://openrouter.ai/api/v1",
1656
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1568
1657
  reasoning: false,
1569
1658
  input: ["text"],
1570
1659
  cost: {
@@ -1582,6 +1671,7 @@ export const OPENROUTER_MODELS = {
1582
1671
  api: "openai-completions",
1583
1672
  provider: "openrouter",
1584
1673
  baseUrl: "https://openrouter.ai/api/v1",
1674
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1585
1675
  reasoning: false,
1586
1676
  input: ["text"],
1587
1677
  cost: {
@@ -1599,6 +1689,7 @@ export const OPENROUTER_MODELS = {
1599
1689
  api: "openai-completions",
1600
1690
  provider: "openrouter",
1601
1691
  baseUrl: "https://openrouter.ai/api/v1",
1692
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1602
1693
  reasoning: true,
1603
1694
  input: ["text", "image"],
1604
1695
  cost: {
@@ -1616,6 +1707,7 @@ export const OPENROUTER_MODELS = {
1616
1707
  api: "openai-completions",
1617
1708
  provider: "openrouter",
1618
1709
  baseUrl: "https://openrouter.ai/api/v1",
1710
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1619
1711
  reasoning: false,
1620
1712
  input: ["text", "image"],
1621
1713
  cost: {
@@ -1633,6 +1725,7 @@ export const OPENROUTER_MODELS = {
1633
1725
  api: "openai-completions",
1634
1726
  provider: "openrouter",
1635
1727
  baseUrl: "https://openrouter.ai/api/v1",
1728
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1636
1729
  reasoning: false,
1637
1730
  input: ["text"],
1638
1731
  cost: {
@@ -1650,6 +1743,7 @@ export const OPENROUTER_MODELS = {
1650
1743
  api: "openai-completions",
1651
1744
  provider: "openrouter",
1652
1745
  baseUrl: "https://openrouter.ai/api/v1",
1746
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1653
1747
  reasoning: false,
1654
1748
  input: ["text"],
1655
1749
  cost: {
@@ -1667,6 +1761,7 @@ export const OPENROUTER_MODELS = {
1667
1761
  api: "openai-completions",
1668
1762
  provider: "openrouter",
1669
1763
  baseUrl: "https://openrouter.ai/api/v1",
1764
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1670
1765
  reasoning: false,
1671
1766
  input: ["text"],
1672
1767
  cost: {
@@ -1676,7 +1771,7 @@ export const OPENROUTER_MODELS = {
1676
1771
  cacheWrite: 0,
1677
1772
  },
1678
1773
  contextWindow: 131072,
1679
- maxTokens: 32768,
1774
+ maxTokens: 100352,
1680
1775
  },
1681
1776
  "moonshotai/kimi-k2-0905": {
1682
1777
  id: "moonshotai/kimi-k2-0905",
@@ -1684,6 +1779,7 @@ export const OPENROUTER_MODELS = {
1684
1779
  api: "openai-completions",
1685
1780
  provider: "openrouter",
1686
1781
  baseUrl: "https://openrouter.ai/api/v1",
1782
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1687
1783
  reasoning: false,
1688
1784
  input: ["text"],
1689
1785
  cost: {
@@ -1693,7 +1789,7 @@ export const OPENROUTER_MODELS = {
1693
1789
  cacheWrite: 0,
1694
1790
  },
1695
1791
  contextWindow: 262144,
1696
- maxTokens: 262144,
1792
+ maxTokens: 100352,
1697
1793
  },
1698
1794
  "moonshotai/kimi-k2-thinking": {
1699
1795
  id: "moonshotai/kimi-k2-thinking",
@@ -1701,16 +1797,17 @@ export const OPENROUTER_MODELS = {
1701
1797
  api: "openai-completions",
1702
1798
  provider: "openrouter",
1703
1799
  baseUrl: "https://openrouter.ai/api/v1",
1800
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1704
1801
  reasoning: true,
1705
1802
  input: ["text"],
1706
1803
  cost: {
1707
1804
  input: 0.6,
1708
1805
  output: 2.5,
1709
- cacheRead: 0,
1806
+ cacheRead: 0.15,
1710
1807
  cacheWrite: 0,
1711
1808
  },
1712
1809
  contextWindow: 262144,
1713
- maxTokens: 262144,
1810
+ maxTokens: 100352,
1714
1811
  },
1715
1812
  "moonshotai/kimi-k2.5": {
1716
1813
  id: "moonshotai/kimi-k2.5",
@@ -1718,6 +1815,7 @@ export const OPENROUTER_MODELS = {
1718
1815
  api: "openai-completions",
1719
1816
  provider: "openrouter",
1720
1817
  baseUrl: "https://openrouter.ai/api/v1",
1818
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1721
1819
  reasoning: true,
1722
1820
  input: ["text", "image"],
1723
1821
  cost: {
@@ -1735,13 +1833,13 @@ export const OPENROUTER_MODELS = {
1735
1833
  api: "openai-completions",
1736
1834
  provider: "openrouter",
1737
1835
  baseUrl: "https://openrouter.ai/api/v1",
1738
- compat: { "supportsDeveloperRole": false, "requiresReasoningContentOnAssistantMessages": true },
1836
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter", "requiresReasoningContentOnAssistantMessages": true },
1739
1837
  reasoning: true,
1740
1838
  input: ["text", "image"],
1741
1839
  cost: {
1742
1840
  input: 0.66,
1743
1841
  output: 3.41,
1744
- cacheRead: 0.144,
1842
+ cacheRead: 0.14,
1745
1843
  cacheWrite: 0,
1746
1844
  },
1747
1845
  contextWindow: 262144,
@@ -1753,16 +1851,17 @@ export const OPENROUTER_MODELS = {
1753
1851
  api: "openai-completions",
1754
1852
  provider: "openrouter",
1755
1853
  baseUrl: "https://openrouter.ai/api/v1",
1854
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1756
1855
  reasoning: true,
1757
1856
  input: ["text", "image"],
1758
1857
  cost: {
1759
- input: 0.68,
1760
- output: 3.41,
1761
- cacheRead: 0.144,
1858
+ input: 0.74,
1859
+ output: 3.5,
1860
+ cacheRead: 0.15,
1762
1861
  cacheWrite: 0,
1763
1862
  },
1764
1863
  contextWindow: 262144,
1765
- maxTokens: 262144,
1864
+ maxTokens: 16384,
1766
1865
  },
1767
1866
  "nvidia/llama-3.3-nemotron-super-49b-v1.5": {
1768
1867
  id: "nvidia/llama-3.3-nemotron-super-49b-v1.5",
@@ -1770,6 +1869,7 @@ export const OPENROUTER_MODELS = {
1770
1869
  api: "openai-completions",
1771
1870
  provider: "openrouter",
1772
1871
  baseUrl: "https://openrouter.ai/api/v1",
1872
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1773
1873
  reasoning: true,
1774
1874
  input: ["text"],
1775
1875
  cost: {
@@ -1787,6 +1887,7 @@ export const OPENROUTER_MODELS = {
1787
1887
  api: "openai-completions",
1788
1888
  provider: "openrouter",
1789
1889
  baseUrl: "https://openrouter.ai/api/v1",
1890
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1790
1891
  reasoning: true,
1791
1892
  input: ["text"],
1792
1893
  cost: {
@@ -1804,6 +1905,7 @@ export const OPENROUTER_MODELS = {
1804
1905
  api: "openai-completions",
1805
1906
  provider: "openrouter",
1806
1907
  baseUrl: "https://openrouter.ai/api/v1",
1908
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1807
1909
  reasoning: true,
1808
1910
  input: ["text"],
1809
1911
  cost: {
@@ -1821,6 +1923,7 @@ export const OPENROUTER_MODELS = {
1821
1923
  api: "openai-completions",
1822
1924
  provider: "openrouter",
1823
1925
  baseUrl: "https://openrouter.ai/api/v1",
1926
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1824
1927
  reasoning: true,
1825
1928
  input: ["text", "image"],
1826
1929
  cost: {
@@ -1838,10 +1941,11 @@ export const OPENROUTER_MODELS = {
1838
1941
  api: "openai-completions",
1839
1942
  provider: "openrouter",
1840
1943
  baseUrl: "https://openrouter.ai/api/v1",
1944
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1841
1945
  reasoning: true,
1842
1946
  input: ["text"],
1843
1947
  cost: {
1844
- input: 0.09,
1948
+ input: 0.08,
1845
1949
  output: 0.45,
1846
1950
  cacheRead: 0,
1847
1951
  cacheWrite: 0,
@@ -1855,6 +1959,7 @@ export const OPENROUTER_MODELS = {
1855
1959
  api: "openai-completions",
1856
1960
  provider: "openrouter",
1857
1961
  baseUrl: "https://openrouter.ai/api/v1",
1962
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1858
1963
  reasoning: true,
1859
1964
  input: ["text"],
1860
1965
  cost: {
@@ -1872,6 +1977,7 @@ export const OPENROUTER_MODELS = {
1872
1977
  api: "openai-completions",
1873
1978
  provider: "openrouter",
1874
1979
  baseUrl: "https://openrouter.ai/api/v1",
1980
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1875
1981
  reasoning: true,
1876
1982
  input: ["text"],
1877
1983
  cost: {
@@ -1889,6 +1995,7 @@ export const OPENROUTER_MODELS = {
1889
1995
  api: "openai-completions",
1890
1996
  provider: "openrouter",
1891
1997
  baseUrl: "https://openrouter.ai/api/v1",
1998
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1892
1999
  reasoning: true,
1893
2000
  input: ["text"],
1894
2001
  cost: {
@@ -1906,6 +2013,7 @@ export const OPENROUTER_MODELS = {
1906
2013
  api: "openai-completions",
1907
2014
  provider: "openrouter",
1908
2015
  baseUrl: "https://openrouter.ai/api/v1",
2016
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1909
2017
  reasoning: true,
1910
2018
  input: ["text", "image"],
1911
2019
  cost: {
@@ -1923,6 +2031,7 @@ export const OPENROUTER_MODELS = {
1923
2031
  api: "openai-completions",
1924
2032
  provider: "openrouter",
1925
2033
  baseUrl: "https://openrouter.ai/api/v1",
2034
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
1926
2035
  reasoning: true,
1927
2036
  input: ["text"],
1928
2037
  cost: {
@@ -1940,6 +2049,7 @@ export const OPENROUTER_MODELS = {
1940
2049
  api: "openai-completions",
1941
2050
  provider: "openrouter",
1942
2051
  baseUrl: "https://openrouter.ai/api/v1",
2052
+ compat: { "thinkingFormat": "openrouter" },
1943
2053
  reasoning: false,
1944
2054
  input: ["text"],
1945
2055
  cost: {
@@ -1957,6 +2067,7 @@ export const OPENROUTER_MODELS = {
1957
2067
  api: "openai-completions",
1958
2068
  provider: "openrouter",
1959
2069
  baseUrl: "https://openrouter.ai/api/v1",
2070
+ compat: { "thinkingFormat": "openrouter" },
1960
2071
  reasoning: false,
1961
2072
  input: ["text"],
1962
2073
  cost: {
@@ -1974,6 +2085,7 @@ export const OPENROUTER_MODELS = {
1974
2085
  api: "openai-completions",
1975
2086
  provider: "openrouter",
1976
2087
  baseUrl: "https://openrouter.ai/api/v1",
2088
+ compat: { "thinkingFormat": "openrouter" },
1977
2089
  reasoning: false,
1978
2090
  input: ["text"],
1979
2091
  cost: {
@@ -1991,6 +2103,7 @@ export const OPENROUTER_MODELS = {
1991
2103
  api: "openai-completions",
1992
2104
  provider: "openrouter",
1993
2105
  baseUrl: "https://openrouter.ai/api/v1",
2106
+ compat: { "thinkingFormat": "openrouter" },
1994
2107
  reasoning: false,
1995
2108
  input: ["text"],
1996
2109
  cost: {
@@ -2008,6 +2121,7 @@ export const OPENROUTER_MODELS = {
2008
2121
  api: "openai-completions",
2009
2122
  provider: "openrouter",
2010
2123
  baseUrl: "https://openrouter.ai/api/v1",
2124
+ compat: { "thinkingFormat": "openrouter" },
2011
2125
  reasoning: false,
2012
2126
  input: ["text", "image"],
2013
2127
  cost: {
@@ -2025,6 +2139,7 @@ export const OPENROUTER_MODELS = {
2025
2139
  api: "openai-completions",
2026
2140
  provider: "openrouter",
2027
2141
  baseUrl: "https://openrouter.ai/api/v1",
2142
+ compat: { "thinkingFormat": "openrouter" },
2028
2143
  reasoning: false,
2029
2144
  input: ["text"],
2030
2145
  cost: {
@@ -2042,6 +2157,7 @@ export const OPENROUTER_MODELS = {
2042
2157
  api: "openai-completions",
2043
2158
  provider: "openrouter",
2044
2159
  baseUrl: "https://openrouter.ai/api/v1",
2160
+ compat: { "thinkingFormat": "openrouter" },
2045
2161
  reasoning: false,
2046
2162
  input: ["text", "image"],
2047
2163
  cost: {
@@ -2059,6 +2175,7 @@ export const OPENROUTER_MODELS = {
2059
2175
  api: "openai-completions",
2060
2176
  provider: "openrouter",
2061
2177
  baseUrl: "https://openrouter.ai/api/v1",
2178
+ compat: { "thinkingFormat": "openrouter" },
2062
2179
  reasoning: false,
2063
2180
  input: ["text", "image"],
2064
2181
  cost: {
@@ -2076,6 +2193,7 @@ export const OPENROUTER_MODELS = {
2076
2193
  api: "openai-completions",
2077
2194
  provider: "openrouter",
2078
2195
  baseUrl: "https://openrouter.ai/api/v1",
2196
+ compat: { "thinkingFormat": "openrouter" },
2079
2197
  reasoning: false,
2080
2198
  input: ["text", "image"],
2081
2199
  cost: {
@@ -2093,6 +2211,7 @@ export const OPENROUTER_MODELS = {
2093
2211
  api: "openai-completions",
2094
2212
  provider: "openrouter",
2095
2213
  baseUrl: "https://openrouter.ai/api/v1",
2214
+ compat: { "thinkingFormat": "openrouter" },
2096
2215
  reasoning: false,
2097
2216
  input: ["text", "image"],
2098
2217
  cost: {
@@ -2110,6 +2229,7 @@ export const OPENROUTER_MODELS = {
2110
2229
  api: "openai-completions",
2111
2230
  provider: "openrouter",
2112
2231
  baseUrl: "https://openrouter.ai/api/v1",
2232
+ compat: { "thinkingFormat": "openrouter" },
2113
2233
  reasoning: false,
2114
2234
  input: ["text", "image"],
2115
2235
  cost: {
@@ -2127,6 +2247,7 @@ export const OPENROUTER_MODELS = {
2127
2247
  api: "openai-completions",
2128
2248
  provider: "openrouter",
2129
2249
  baseUrl: "https://openrouter.ai/api/v1",
2250
+ compat: { "thinkingFormat": "openrouter" },
2130
2251
  reasoning: false,
2131
2252
  input: ["text", "image"],
2132
2253
  cost: {
@@ -2144,6 +2265,7 @@ export const OPENROUTER_MODELS = {
2144
2265
  api: "openai-completions",
2145
2266
  provider: "openrouter",
2146
2267
  baseUrl: "https://openrouter.ai/api/v1",
2268
+ compat: { "thinkingFormat": "openrouter" },
2147
2269
  reasoning: false,
2148
2270
  input: ["text", "image"],
2149
2271
  cost: {
@@ -2161,6 +2283,7 @@ export const OPENROUTER_MODELS = {
2161
2283
  api: "openai-completions",
2162
2284
  provider: "openrouter",
2163
2285
  baseUrl: "https://openrouter.ai/api/v1",
2286
+ compat: { "thinkingFormat": "openrouter" },
2164
2287
  reasoning: false,
2165
2288
  input: ["text", "image"],
2166
2289
  cost: {
@@ -2178,6 +2301,7 @@ export const OPENROUTER_MODELS = {
2178
2301
  api: "openai-completions",
2179
2302
  provider: "openrouter",
2180
2303
  baseUrl: "https://openrouter.ai/api/v1",
2304
+ compat: { "thinkingFormat": "openrouter" },
2181
2305
  reasoning: false,
2182
2306
  input: ["text", "image"],
2183
2307
  cost: {
@@ -2195,6 +2319,7 @@ export const OPENROUTER_MODELS = {
2195
2319
  api: "openai-completions",
2196
2320
  provider: "openrouter",
2197
2321
  baseUrl: "https://openrouter.ai/api/v1",
2322
+ compat: { "thinkingFormat": "openrouter" },
2198
2323
  reasoning: true,
2199
2324
  input: ["text", "image"],
2200
2325
  cost: {
@@ -2212,6 +2337,7 @@ export const OPENROUTER_MODELS = {
2212
2337
  api: "openai-completions",
2213
2338
  provider: "openrouter",
2214
2339
  baseUrl: "https://openrouter.ai/api/v1",
2340
+ compat: { "thinkingFormat": "openrouter" },
2215
2341
  reasoning: true,
2216
2342
  input: ["text", "image"],
2217
2343
  cost: {
@@ -2229,6 +2355,7 @@ export const OPENROUTER_MODELS = {
2229
2355
  api: "openai-completions",
2230
2356
  provider: "openrouter",
2231
2357
  baseUrl: "https://openrouter.ai/api/v1",
2358
+ compat: { "thinkingFormat": "openrouter" },
2232
2359
  reasoning: true,
2233
2360
  input: ["text", "image"],
2234
2361
  cost: {
@@ -2246,6 +2373,7 @@ export const OPENROUTER_MODELS = {
2246
2373
  api: "openai-completions",
2247
2374
  provider: "openrouter",
2248
2375
  baseUrl: "https://openrouter.ai/api/v1",
2376
+ compat: { "thinkingFormat": "openrouter" },
2249
2377
  reasoning: true,
2250
2378
  input: ["text", "image"],
2251
2379
  cost: {
@@ -2263,6 +2391,7 @@ export const OPENROUTER_MODELS = {
2263
2391
  api: "openai-completions",
2264
2392
  provider: "openrouter",
2265
2393
  baseUrl: "https://openrouter.ai/api/v1",
2394
+ compat: { "thinkingFormat": "openrouter" },
2266
2395
  reasoning: true,
2267
2396
  input: ["text", "image"],
2268
2397
  cost: {
@@ -2280,6 +2409,7 @@ export const OPENROUTER_MODELS = {
2280
2409
  api: "openai-completions",
2281
2410
  provider: "openrouter",
2282
2411
  baseUrl: "https://openrouter.ai/api/v1",
2412
+ compat: { "thinkingFormat": "openrouter" },
2283
2413
  reasoning: true,
2284
2414
  input: ["text", "image"],
2285
2415
  cost: {
@@ -2297,6 +2427,7 @@ export const OPENROUTER_MODELS = {
2297
2427
  api: "openai-completions",
2298
2428
  provider: "openrouter",
2299
2429
  baseUrl: "https://openrouter.ai/api/v1",
2430
+ compat: { "thinkingFormat": "openrouter" },
2300
2431
  reasoning: false,
2301
2432
  input: ["text", "image"],
2302
2433
  cost: {
@@ -2314,6 +2445,7 @@ export const OPENROUTER_MODELS = {
2314
2445
  api: "openai-completions",
2315
2446
  provider: "openrouter",
2316
2447
  baseUrl: "https://openrouter.ai/api/v1",
2448
+ compat: { "thinkingFormat": "openrouter" },
2317
2449
  reasoning: true,
2318
2450
  input: ["text", "image"],
2319
2451
  cost: {
@@ -2331,6 +2463,7 @@ export const OPENROUTER_MODELS = {
2331
2463
  api: "openai-completions",
2332
2464
  provider: "openrouter",
2333
2465
  baseUrl: "https://openrouter.ai/api/v1",
2466
+ compat: { "thinkingFormat": "openrouter" },
2334
2467
  reasoning: true,
2335
2468
  input: ["text", "image"],
2336
2469
  cost: {
@@ -2348,6 +2481,7 @@ export const OPENROUTER_MODELS = {
2348
2481
  api: "openai-completions",
2349
2482
  provider: "openrouter",
2350
2483
  baseUrl: "https://openrouter.ai/api/v1",
2484
+ compat: { "thinkingFormat": "openrouter" },
2351
2485
  reasoning: true,
2352
2486
  input: ["text", "image"],
2353
2487
  cost: {
@@ -2365,6 +2499,7 @@ export const OPENROUTER_MODELS = {
2365
2499
  api: "openai-completions",
2366
2500
  provider: "openrouter",
2367
2501
  baseUrl: "https://openrouter.ai/api/v1",
2502
+ compat: { "thinkingFormat": "openrouter" },
2368
2503
  reasoning: true,
2369
2504
  thinkingLevelMap: { "xhigh": "xhigh" },
2370
2505
  input: ["text", "image"],
@@ -2383,6 +2518,7 @@ export const OPENROUTER_MODELS = {
2383
2518
  api: "openai-completions",
2384
2519
  provider: "openrouter",
2385
2520
  baseUrl: "https://openrouter.ai/api/v1",
2521
+ compat: { "thinkingFormat": "openrouter" },
2386
2522
  reasoning: false,
2387
2523
  thinkingLevelMap: { "xhigh": "xhigh" },
2388
2524
  input: ["text", "image"],
@@ -2401,6 +2537,7 @@ export const OPENROUTER_MODELS = {
2401
2537
  api: "openai-completions",
2402
2538
  provider: "openrouter",
2403
2539
  baseUrl: "https://openrouter.ai/api/v1",
2540
+ compat: { "thinkingFormat": "openrouter" },
2404
2541
  reasoning: true,
2405
2542
  thinkingLevelMap: { "xhigh": "xhigh" },
2406
2543
  input: ["text", "image"],
@@ -2419,6 +2556,7 @@ export const OPENROUTER_MODELS = {
2419
2556
  api: "openai-completions",
2420
2557
  provider: "openrouter",
2421
2558
  baseUrl: "https://openrouter.ai/api/v1",
2559
+ compat: { "thinkingFormat": "openrouter" },
2422
2560
  reasoning: true,
2423
2561
  thinkingLevelMap: { "xhigh": "xhigh" },
2424
2562
  input: ["text", "image"],
@@ -2437,6 +2575,7 @@ export const OPENROUTER_MODELS = {
2437
2575
  api: "openai-completions",
2438
2576
  provider: "openrouter",
2439
2577
  baseUrl: "https://openrouter.ai/api/v1",
2578
+ compat: { "thinkingFormat": "openrouter" },
2440
2579
  reasoning: false,
2441
2580
  thinkingLevelMap: { "xhigh": "xhigh" },
2442
2581
  input: ["text", "image"],
@@ -2455,6 +2594,7 @@ export const OPENROUTER_MODELS = {
2455
2594
  api: "openai-completions",
2456
2595
  provider: "openrouter",
2457
2596
  baseUrl: "https://openrouter.ai/api/v1",
2597
+ compat: { "thinkingFormat": "openrouter" },
2458
2598
  reasoning: true,
2459
2599
  thinkingLevelMap: { "xhigh": "xhigh" },
2460
2600
  input: ["text", "image"],
@@ -2473,6 +2613,7 @@ export const OPENROUTER_MODELS = {
2473
2613
  api: "openai-completions",
2474
2614
  provider: "openrouter",
2475
2615
  baseUrl: "https://openrouter.ai/api/v1",
2616
+ compat: { "thinkingFormat": "openrouter" },
2476
2617
  reasoning: true,
2477
2618
  thinkingLevelMap: { "xhigh": "xhigh" },
2478
2619
  input: ["text", "image"],
@@ -2491,6 +2632,7 @@ export const OPENROUTER_MODELS = {
2491
2632
  api: "openai-completions",
2492
2633
  provider: "openrouter",
2493
2634
  baseUrl: "https://openrouter.ai/api/v1",
2635
+ compat: { "thinkingFormat": "openrouter" },
2494
2636
  reasoning: true,
2495
2637
  thinkingLevelMap: { "xhigh": "xhigh" },
2496
2638
  input: ["text", "image"],
@@ -2509,6 +2651,7 @@ export const OPENROUTER_MODELS = {
2509
2651
  api: "openai-completions",
2510
2652
  provider: "openrouter",
2511
2653
  baseUrl: "https://openrouter.ai/api/v1",
2654
+ compat: { "thinkingFormat": "openrouter" },
2512
2655
  reasoning: true,
2513
2656
  thinkingLevelMap: { "xhigh": "xhigh" },
2514
2657
  input: ["text", "image"],
@@ -2527,6 +2670,7 @@ export const OPENROUTER_MODELS = {
2527
2670
  api: "openai-completions",
2528
2671
  provider: "openrouter",
2529
2672
  baseUrl: "https://openrouter.ai/api/v1",
2673
+ compat: { "thinkingFormat": "openrouter" },
2530
2674
  reasoning: true,
2531
2675
  thinkingLevelMap: { "xhigh": "xhigh" },
2532
2676
  input: ["text", "image"],
@@ -2545,6 +2689,7 @@ export const OPENROUTER_MODELS = {
2545
2689
  api: "openai-completions",
2546
2690
  provider: "openrouter",
2547
2691
  baseUrl: "https://openrouter.ai/api/v1",
2692
+ compat: { "thinkingFormat": "openrouter" },
2548
2693
  reasoning: true,
2549
2694
  thinkingLevelMap: { "xhigh": "xhigh" },
2550
2695
  input: ["text", "image"],
@@ -2563,6 +2708,7 @@ export const OPENROUTER_MODELS = {
2563
2708
  api: "openai-completions",
2564
2709
  provider: "openrouter",
2565
2710
  baseUrl: "https://openrouter.ai/api/v1",
2711
+ compat: { "thinkingFormat": "openrouter" },
2566
2712
  reasoning: true,
2567
2713
  thinkingLevelMap: { "xhigh": "xhigh", "off": null, "minimal": null, "low": null },
2568
2714
  input: ["text", "image"],
@@ -2581,6 +2727,7 @@ export const OPENROUTER_MODELS = {
2581
2727
  api: "openai-completions",
2582
2728
  provider: "openrouter",
2583
2729
  baseUrl: "https://openrouter.ai/api/v1",
2730
+ compat: { "thinkingFormat": "openrouter" },
2584
2731
  reasoning: false,
2585
2732
  input: ["text"],
2586
2733
  cost: {
@@ -2598,6 +2745,7 @@ export const OPENROUTER_MODELS = {
2598
2745
  api: "openai-completions",
2599
2746
  provider: "openrouter",
2600
2747
  baseUrl: "https://openrouter.ai/api/v1",
2748
+ compat: { "thinkingFormat": "openrouter" },
2601
2749
  reasoning: false,
2602
2750
  input: ["text"],
2603
2751
  cost: {
@@ -2615,6 +2763,7 @@ export const OPENROUTER_MODELS = {
2615
2763
  api: "openai-completions",
2616
2764
  provider: "openrouter",
2617
2765
  baseUrl: "https://openrouter.ai/api/v1",
2766
+ compat: { "thinkingFormat": "openrouter" },
2618
2767
  reasoning: false,
2619
2768
  input: ["text", "image"],
2620
2769
  cost: {
@@ -2632,16 +2781,17 @@ export const OPENROUTER_MODELS = {
2632
2781
  api: "openai-completions",
2633
2782
  provider: "openrouter",
2634
2783
  baseUrl: "https://openrouter.ai/api/v1",
2784
+ compat: { "thinkingFormat": "openrouter" },
2635
2785
  reasoning: true,
2636
2786
  input: ["text"],
2637
2787
  cost: {
2638
- input: 0.039,
2639
- output: 0.18,
2788
+ input: 0.03,
2789
+ output: 0.15,
2640
2790
  cacheRead: 0,
2641
2791
  cacheWrite: 0,
2642
2792
  },
2643
2793
  contextWindow: 131072,
2644
- maxTokens: 4096,
2794
+ maxTokens: 131072,
2645
2795
  },
2646
2796
  "openai/gpt-oss-120b:free": {
2647
2797
  id: "openai/gpt-oss-120b:free",
@@ -2649,6 +2799,7 @@ export const OPENROUTER_MODELS = {
2649
2799
  api: "openai-completions",
2650
2800
  provider: "openrouter",
2651
2801
  baseUrl: "https://openrouter.ai/api/v1",
2802
+ compat: { "thinkingFormat": "openrouter" },
2652
2803
  reasoning: true,
2653
2804
  input: ["text"],
2654
2805
  cost: {
@@ -2666,6 +2817,7 @@ export const OPENROUTER_MODELS = {
2666
2817
  api: "openai-completions",
2667
2818
  provider: "openrouter",
2668
2819
  baseUrl: "https://openrouter.ai/api/v1",
2820
+ compat: { "thinkingFormat": "openrouter" },
2669
2821
  reasoning: true,
2670
2822
  input: ["text"],
2671
2823
  cost: {
@@ -2683,6 +2835,7 @@ export const OPENROUTER_MODELS = {
2683
2835
  api: "openai-completions",
2684
2836
  provider: "openrouter",
2685
2837
  baseUrl: "https://openrouter.ai/api/v1",
2838
+ compat: { "thinkingFormat": "openrouter" },
2686
2839
  reasoning: true,
2687
2840
  input: ["text"],
2688
2841
  cost: {
@@ -2700,6 +2853,7 @@ export const OPENROUTER_MODELS = {
2700
2853
  api: "openai-completions",
2701
2854
  provider: "openrouter",
2702
2855
  baseUrl: "https://openrouter.ai/api/v1",
2856
+ compat: { "thinkingFormat": "openrouter" },
2703
2857
  reasoning: true,
2704
2858
  input: ["text"],
2705
2859
  cost: {
@@ -2717,6 +2871,7 @@ export const OPENROUTER_MODELS = {
2717
2871
  api: "openai-completions",
2718
2872
  provider: "openrouter",
2719
2873
  baseUrl: "https://openrouter.ai/api/v1",
2874
+ compat: { "thinkingFormat": "openrouter" },
2720
2875
  reasoning: true,
2721
2876
  input: ["text", "image"],
2722
2877
  cost: {
@@ -2734,6 +2889,7 @@ export const OPENROUTER_MODELS = {
2734
2889
  api: "openai-completions",
2735
2890
  provider: "openrouter",
2736
2891
  baseUrl: "https://openrouter.ai/api/v1",
2892
+ compat: { "thinkingFormat": "openrouter" },
2737
2893
  reasoning: true,
2738
2894
  input: ["text", "image"],
2739
2895
  cost: {
@@ -2751,6 +2907,7 @@ export const OPENROUTER_MODELS = {
2751
2907
  api: "openai-completions",
2752
2908
  provider: "openrouter",
2753
2909
  baseUrl: "https://openrouter.ai/api/v1",
2910
+ compat: { "thinkingFormat": "openrouter" },
2754
2911
  reasoning: true,
2755
2912
  input: ["text", "image"],
2756
2913
  cost: {
@@ -2768,6 +2925,7 @@ export const OPENROUTER_MODELS = {
2768
2925
  api: "openai-completions",
2769
2926
  provider: "openrouter",
2770
2927
  baseUrl: "https://openrouter.ai/api/v1",
2928
+ compat: { "thinkingFormat": "openrouter" },
2771
2929
  reasoning: true,
2772
2930
  input: ["text"],
2773
2931
  cost: {
@@ -2785,6 +2943,7 @@ export const OPENROUTER_MODELS = {
2785
2943
  api: "openai-completions",
2786
2944
  provider: "openrouter",
2787
2945
  baseUrl: "https://openrouter.ai/api/v1",
2946
+ compat: { "thinkingFormat": "openrouter" },
2788
2947
  reasoning: true,
2789
2948
  input: ["text"],
2790
2949
  cost: {
@@ -2802,6 +2961,7 @@ export const OPENROUTER_MODELS = {
2802
2961
  api: "openai-completions",
2803
2962
  provider: "openrouter",
2804
2963
  baseUrl: "https://openrouter.ai/api/v1",
2964
+ compat: { "thinkingFormat": "openrouter" },
2805
2965
  reasoning: true,
2806
2966
  input: ["text", "image"],
2807
2967
  cost: {
@@ -2819,6 +2979,7 @@ export const OPENROUTER_MODELS = {
2819
2979
  api: "openai-completions",
2820
2980
  provider: "openrouter",
2821
2981
  baseUrl: "https://openrouter.ai/api/v1",
2982
+ compat: { "thinkingFormat": "openrouter" },
2822
2983
  reasoning: true,
2823
2984
  input: ["text", "image"],
2824
2985
  cost: {
@@ -2836,6 +2997,7 @@ export const OPENROUTER_MODELS = {
2836
2997
  api: "openai-completions",
2837
2998
  provider: "openrouter",
2838
2999
  baseUrl: "https://openrouter.ai/api/v1",
3000
+ compat: { "thinkingFormat": "openrouter" },
2839
3001
  reasoning: true,
2840
3002
  input: ["text", "image"],
2841
3003
  cost: {
@@ -2853,6 +3015,7 @@ export const OPENROUTER_MODELS = {
2853
3015
  api: "openai-completions",
2854
3016
  provider: "openrouter",
2855
3017
  baseUrl: "https://openrouter.ai/api/v1",
3018
+ compat: { "thinkingFormat": "openrouter" },
2856
3019
  reasoning: true,
2857
3020
  input: ["text", "image"],
2858
3021
  cost: {
@@ -2870,6 +3033,7 @@ export const OPENROUTER_MODELS = {
2870
3033
  api: "openai-completions",
2871
3034
  provider: "openrouter",
2872
3035
  baseUrl: "https://openrouter.ai/api/v1",
3036
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
2873
3037
  reasoning: true,
2874
3038
  input: ["text", "image"],
2875
3039
  cost: {
@@ -2887,6 +3051,7 @@ export const OPENROUTER_MODELS = {
2887
3051
  api: "openai-completions",
2888
3052
  provider: "openrouter",
2889
3053
  baseUrl: "https://openrouter.ai/api/v1",
3054
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
2890
3055
  reasoning: true,
2891
3056
  input: ["text", "image"],
2892
3057
  cost: {
@@ -2904,6 +3069,7 @@ export const OPENROUTER_MODELS = {
2904
3069
  api: "openai-completions",
2905
3070
  provider: "openrouter",
2906
3071
  baseUrl: "https://openrouter.ai/api/v1",
3072
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
2907
3073
  reasoning: true,
2908
3074
  input: ["text"],
2909
3075
  cost: {
@@ -2915,13 +3081,32 @@ export const OPENROUTER_MODELS = {
2915
3081
  contextWindow: 1000000,
2916
3082
  maxTokens: 30000,
2917
3083
  },
2918
- "openrouter/owl-alpha": {
2919
- id: "openrouter/owl-alpha",
2920
- name: "Owl Alpha",
3084
+ "poolside/laguna-m.1": {
3085
+ id: "poolside/laguna-m.1",
3086
+ name: "Poolside: Laguna M.1",
2921
3087
  api: "openai-completions",
2922
3088
  provider: "openrouter",
2923
3089
  baseUrl: "https://openrouter.ai/api/v1",
2924
- reasoning: false,
3090
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3091
+ reasoning: true,
3092
+ input: ["text"],
3093
+ cost: {
3094
+ input: 0.2,
3095
+ output: 0.4,
3096
+ cacheRead: 0.1,
3097
+ cacheWrite: 0,
3098
+ },
3099
+ contextWindow: 262144,
3100
+ maxTokens: 32768,
3101
+ },
3102
+ "poolside/laguna-m.1:free": {
3103
+ id: "poolside/laguna-m.1:free",
3104
+ name: "Poolside: Laguna M.1 (free)",
3105
+ api: "openai-completions",
3106
+ provider: "openrouter",
3107
+ baseUrl: "https://openrouter.ai/api/v1",
3108
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3109
+ reasoning: true,
2925
3110
  input: ["text"],
2926
3111
  cost: {
2927
3112
  input: 0,
@@ -2929,32 +3114,34 @@ export const OPENROUTER_MODELS = {
2929
3114
  cacheRead: 0,
2930
3115
  cacheWrite: 0,
2931
3116
  },
2932
- contextWindow: 1048756,
2933
- maxTokens: 262144,
3117
+ contextWindow: 262144,
3118
+ maxTokens: 32768,
2934
3119
  },
2935
- "poolside/laguna-m.1": {
2936
- id: "poolside/laguna-m.1",
2937
- name: "Poolside: Laguna M.1",
3120
+ "poolside/laguna-xs-2.1": {
3121
+ id: "poolside/laguna-xs-2.1",
3122
+ name: "Poolside: Laguna XS 2.1",
2938
3123
  api: "openai-completions",
2939
3124
  provider: "openrouter",
2940
3125
  baseUrl: "https://openrouter.ai/api/v1",
3126
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
2941
3127
  reasoning: true,
2942
3128
  input: ["text"],
2943
3129
  cost: {
2944
- input: 0.2,
2945
- output: 0.4,
2946
- cacheRead: 0.1,
3130
+ input: 0.06,
3131
+ output: 0.12,
3132
+ cacheRead: 0.03,
2947
3133
  cacheWrite: 0,
2948
3134
  },
2949
3135
  contextWindow: 262144,
2950
3136
  maxTokens: 32768,
2951
3137
  },
2952
- "poolside/laguna-m.1:free": {
2953
- id: "poolside/laguna-m.1:free",
2954
- name: "Poolside: Laguna M.1 (free)",
3138
+ "poolside/laguna-xs-2.1:free": {
3139
+ id: "poolside/laguna-xs-2.1:free",
3140
+ name: "Poolside: Laguna XS 2.1 (free)",
2955
3141
  api: "openai-completions",
2956
3142
  provider: "openrouter",
2957
3143
  baseUrl: "https://openrouter.ai/api/v1",
3144
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
2958
3145
  reasoning: true,
2959
3146
  input: ["text"],
2960
3147
  cost: {
@@ -2972,6 +3159,7 @@ export const OPENROUTER_MODELS = {
2972
3159
  api: "openai-completions",
2973
3160
  provider: "openrouter",
2974
3161
  baseUrl: "https://openrouter.ai/api/v1",
3162
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
2975
3163
  reasoning: true,
2976
3164
  input: ["text"],
2977
3165
  cost: {
@@ -2989,6 +3177,7 @@ export const OPENROUTER_MODELS = {
2989
3177
  api: "openai-completions",
2990
3178
  provider: "openrouter",
2991
3179
  baseUrl: "https://openrouter.ai/api/v1",
3180
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
2992
3181
  reasoning: true,
2993
3182
  input: ["text"],
2994
3183
  cost: {
@@ -3006,6 +3195,7 @@ export const OPENROUTER_MODELS = {
3006
3195
  api: "openai-completions",
3007
3196
  provider: "openrouter",
3008
3197
  baseUrl: "https://openrouter.ai/api/v1",
3198
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3009
3199
  reasoning: false,
3010
3200
  input: ["text"],
3011
3201
  cost: {
@@ -3023,6 +3213,7 @@ export const OPENROUTER_MODELS = {
3023
3213
  api: "openai-completions",
3024
3214
  provider: "openrouter",
3025
3215
  baseUrl: "https://openrouter.ai/api/v1",
3216
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3026
3217
  reasoning: false,
3027
3218
  input: ["text"],
3028
3219
  cost: {
@@ -3040,6 +3231,7 @@ export const OPENROUTER_MODELS = {
3040
3231
  api: "openai-completions",
3041
3232
  provider: "openrouter",
3042
3233
  baseUrl: "https://openrouter.ai/api/v1",
3234
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3043
3235
  reasoning: false,
3044
3236
  input: ["text"],
3045
3237
  cost: {
@@ -3057,6 +3249,7 @@ export const OPENROUTER_MODELS = {
3057
3249
  api: "openai-completions",
3058
3250
  provider: "openrouter",
3059
3251
  baseUrl: "https://openrouter.ai/api/v1",
3252
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3060
3253
  reasoning: false,
3061
3254
  input: ["text"],
3062
3255
  cost: {
@@ -3074,6 +3267,7 @@ export const OPENROUTER_MODELS = {
3074
3267
  api: "openai-completions",
3075
3268
  provider: "openrouter",
3076
3269
  baseUrl: "https://openrouter.ai/api/v1",
3270
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3077
3271
  reasoning: true,
3078
3272
  input: ["text"],
3079
3273
  cost: {
@@ -3091,6 +3285,7 @@ export const OPENROUTER_MODELS = {
3091
3285
  api: "openai-completions",
3092
3286
  provider: "openrouter",
3093
3287
  baseUrl: "https://openrouter.ai/api/v1",
3288
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3094
3289
  reasoning: true,
3095
3290
  input: ["text"],
3096
3291
  cost: {
@@ -3108,6 +3303,7 @@ export const OPENROUTER_MODELS = {
3108
3303
  api: "openai-completions",
3109
3304
  provider: "openrouter",
3110
3305
  baseUrl: "https://openrouter.ai/api/v1",
3306
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3111
3307
  reasoning: true,
3112
3308
  input: ["text"],
3113
3309
  cost: {
@@ -3125,6 +3321,7 @@ export const OPENROUTER_MODELS = {
3125
3321
  api: "openai-completions",
3126
3322
  provider: "openrouter",
3127
3323
  baseUrl: "https://openrouter.ai/api/v1",
3324
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3128
3325
  reasoning: false,
3129
3326
  input: ["text"],
3130
3327
  cost: {
@@ -3142,16 +3339,17 @@ export const OPENROUTER_MODELS = {
3142
3339
  api: "openai-completions",
3143
3340
  provider: "openrouter",
3144
3341
  baseUrl: "https://openrouter.ai/api/v1",
3342
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3145
3343
  reasoning: true,
3146
3344
  input: ["text"],
3147
3345
  cost: {
3148
- input: 0.1,
3149
- output: 0.1,
3150
- cacheRead: 0.1,
3346
+ input: 0.1495,
3347
+ output: 1.495,
3348
+ cacheRead: 0,
3151
3349
  cacheWrite: 0,
3152
3350
  },
3153
3351
  contextWindow: 262144,
3154
- maxTokens: 262144,
3352
+ maxTokens: 4096,
3155
3353
  },
3156
3354
  "qwen/qwen3-30b-a3b": {
3157
3355
  id: "qwen/qwen3-30b-a3b",
@@ -3159,6 +3357,7 @@ export const OPENROUTER_MODELS = {
3159
3357
  api: "openai-completions",
3160
3358
  provider: "openrouter",
3161
3359
  baseUrl: "https://openrouter.ai/api/v1",
3360
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3162
3361
  reasoning: true,
3163
3362
  input: ["text"],
3164
3363
  cost: {
@@ -3176,6 +3375,7 @@ export const OPENROUTER_MODELS = {
3176
3375
  api: "openai-completions",
3177
3376
  provider: "openrouter",
3178
3377
  baseUrl: "https://openrouter.ai/api/v1",
3378
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3179
3379
  reasoning: false,
3180
3380
  input: ["text"],
3181
3381
  cost: {
@@ -3193,16 +3393,17 @@ export const OPENROUTER_MODELS = {
3193
3393
  api: "openai-completions",
3194
3394
  provider: "openrouter",
3195
3395
  baseUrl: "https://openrouter.ai/api/v1",
3396
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3196
3397
  reasoning: true,
3197
3398
  input: ["text"],
3198
3399
  cost: {
3199
- input: 0.08,
3200
- output: 0.4,
3201
- cacheRead: 0.08,
3400
+ input: 0.13,
3401
+ output: 1.56,
3402
+ cacheRead: 0,
3202
3403
  cacheWrite: 0,
3203
3404
  },
3204
3405
  contextWindow: 131072,
3205
- maxTokens: 131072,
3406
+ maxTokens: 32768,
3206
3407
  },
3207
3408
  "qwen/qwen3-32b": {
3208
3409
  id: "qwen/qwen3-32b",
@@ -3210,6 +3411,7 @@ export const OPENROUTER_MODELS = {
3210
3411
  api: "openai-completions",
3211
3412
  provider: "openrouter",
3212
3413
  baseUrl: "https://openrouter.ai/api/v1",
3414
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3213
3415
  reasoning: true,
3214
3416
  input: ["text"],
3215
3417
  cost: {
@@ -3227,12 +3429,13 @@ export const OPENROUTER_MODELS = {
3227
3429
  api: "openai-completions",
3228
3430
  provider: "openrouter",
3229
3431
  baseUrl: "https://openrouter.ai/api/v1",
3432
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3230
3433
  reasoning: true,
3231
3434
  input: ["text"],
3232
3435
  cost: {
3233
- input: 0.05,
3234
- output: 0.4,
3235
- cacheRead: 0.05,
3436
+ input: 0.117,
3437
+ output: 0.455,
3438
+ cacheRead: 0,
3236
3439
  cacheWrite: 0,
3237
3440
  },
3238
3441
  contextWindow: 131072,
@@ -3244,6 +3447,7 @@ export const OPENROUTER_MODELS = {
3244
3447
  api: "openai-completions",
3245
3448
  provider: "openrouter",
3246
3449
  baseUrl: "https://openrouter.ai/api/v1",
3450
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3247
3451
  reasoning: false,
3248
3452
  input: ["text"],
3249
3453
  cost: {
@@ -3261,6 +3465,7 @@ export const OPENROUTER_MODELS = {
3261
3465
  api: "openai-completions",
3262
3466
  provider: "openrouter",
3263
3467
  baseUrl: "https://openrouter.ai/api/v1",
3468
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3264
3469
  reasoning: false,
3265
3470
  input: ["text"],
3266
3471
  cost: {
@@ -3278,6 +3483,7 @@ export const OPENROUTER_MODELS = {
3278
3483
  api: "openai-completions",
3279
3484
  provider: "openrouter",
3280
3485
  baseUrl: "https://openrouter.ai/api/v1",
3486
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3281
3487
  reasoning: false,
3282
3488
  input: ["text"],
3283
3489
  cost: {
@@ -3295,6 +3501,7 @@ export const OPENROUTER_MODELS = {
3295
3501
  api: "openai-completions",
3296
3502
  provider: "openrouter",
3297
3503
  baseUrl: "https://openrouter.ai/api/v1",
3504
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3298
3505
  reasoning: false,
3299
3506
  input: ["text"],
3300
3507
  cost: {
@@ -3312,6 +3519,7 @@ export const OPENROUTER_MODELS = {
3312
3519
  api: "openai-completions",
3313
3520
  provider: "openrouter",
3314
3521
  baseUrl: "https://openrouter.ai/api/v1",
3522
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3315
3523
  reasoning: false,
3316
3524
  input: ["text"],
3317
3525
  cost: {
@@ -3329,6 +3537,7 @@ export const OPENROUTER_MODELS = {
3329
3537
  api: "openai-completions",
3330
3538
  provider: "openrouter",
3331
3539
  baseUrl: "https://openrouter.ai/api/v1",
3540
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3332
3541
  reasoning: false,
3333
3542
  input: ["text"],
3334
3543
  cost: {
@@ -3346,6 +3555,7 @@ export const OPENROUTER_MODELS = {
3346
3555
  api: "openai-completions",
3347
3556
  provider: "openrouter",
3348
3557
  baseUrl: "https://openrouter.ai/api/v1",
3558
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3349
3559
  reasoning: false,
3350
3560
  input: ["text"],
3351
3561
  cost: {
@@ -3363,6 +3573,7 @@ export const OPENROUTER_MODELS = {
3363
3573
  api: "openai-completions",
3364
3574
  provider: "openrouter",
3365
3575
  baseUrl: "https://openrouter.ai/api/v1",
3576
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3366
3577
  reasoning: true,
3367
3578
  input: ["text"],
3368
3579
  cost: {
@@ -3380,6 +3591,7 @@ export const OPENROUTER_MODELS = {
3380
3591
  api: "openai-completions",
3381
3592
  provider: "openrouter",
3382
3593
  baseUrl: "https://openrouter.ai/api/v1",
3594
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3383
3595
  reasoning: false,
3384
3596
  input: ["text"],
3385
3597
  cost: {
@@ -3397,6 +3609,7 @@ export const OPENROUTER_MODELS = {
3397
3609
  api: "openai-completions",
3398
3610
  provider: "openrouter",
3399
3611
  baseUrl: "https://openrouter.ai/api/v1",
3612
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3400
3613
  reasoning: false,
3401
3614
  input: ["text"],
3402
3615
  cost: {
@@ -3414,6 +3627,7 @@ export const OPENROUTER_MODELS = {
3414
3627
  api: "openai-completions",
3415
3628
  provider: "openrouter",
3416
3629
  baseUrl: "https://openrouter.ai/api/v1",
3630
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3417
3631
  reasoning: true,
3418
3632
  input: ["text"],
3419
3633
  cost: {
@@ -3431,6 +3645,7 @@ export const OPENROUTER_MODELS = {
3431
3645
  api: "openai-completions",
3432
3646
  provider: "openrouter",
3433
3647
  baseUrl: "https://openrouter.ai/api/v1",
3648
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3434
3649
  reasoning: false,
3435
3650
  input: ["text", "image"],
3436
3651
  cost: {
@@ -3448,6 +3663,7 @@ export const OPENROUTER_MODELS = {
3448
3663
  api: "openai-completions",
3449
3664
  provider: "openrouter",
3450
3665
  baseUrl: "https://openrouter.ai/api/v1",
3666
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3451
3667
  reasoning: true,
3452
3668
  input: ["text", "image"],
3453
3669
  cost: {
@@ -3465,6 +3681,7 @@ export const OPENROUTER_MODELS = {
3465
3681
  api: "openai-completions",
3466
3682
  provider: "openrouter",
3467
3683
  baseUrl: "https://openrouter.ai/api/v1",
3684
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3468
3685
  reasoning: false,
3469
3686
  input: ["text", "image"],
3470
3687
  cost: {
@@ -3482,6 +3699,7 @@ export const OPENROUTER_MODELS = {
3482
3699
  api: "openai-completions",
3483
3700
  provider: "openrouter",
3484
3701
  baseUrl: "https://openrouter.ai/api/v1",
3702
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3485
3703
  reasoning: true,
3486
3704
  input: ["text", "image"],
3487
3705
  cost: {
@@ -3499,6 +3717,7 @@ export const OPENROUTER_MODELS = {
3499
3717
  api: "openai-completions",
3500
3718
  provider: "openrouter",
3501
3719
  baseUrl: "https://openrouter.ai/api/v1",
3720
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3502
3721
  reasoning: false,
3503
3722
  input: ["text", "image"],
3504
3723
  cost: {
@@ -3516,11 +3735,12 @@ export const OPENROUTER_MODELS = {
3516
3735
  api: "openai-completions",
3517
3736
  provider: "openrouter",
3518
3737
  baseUrl: "https://openrouter.ai/api/v1",
3738
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3519
3739
  reasoning: false,
3520
3740
  input: ["text", "image"],
3521
3741
  cost: {
3522
- input: 0.08,
3523
- output: 0.5,
3742
+ input: 0.117,
3743
+ output: 0.455,
3524
3744
  cacheRead: 0,
3525
3745
  cacheWrite: 0,
3526
3746
  },
@@ -3533,6 +3753,7 @@ export const OPENROUTER_MODELS = {
3533
3753
  api: "openai-completions",
3534
3754
  provider: "openrouter",
3535
3755
  baseUrl: "https://openrouter.ai/api/v1",
3756
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3536
3757
  reasoning: true,
3537
3758
  input: ["text", "image"],
3538
3759
  cost: {
@@ -3550,6 +3771,7 @@ export const OPENROUTER_MODELS = {
3550
3771
  api: "openai-completions",
3551
3772
  provider: "openrouter",
3552
3773
  baseUrl: "https://openrouter.ai/api/v1",
3774
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3553
3775
  reasoning: true,
3554
3776
  input: ["text", "image"],
3555
3777
  cost: {
@@ -3567,6 +3789,7 @@ export const OPENROUTER_MODELS = {
3567
3789
  api: "openai-completions",
3568
3790
  provider: "openrouter",
3569
3791
  baseUrl: "https://openrouter.ai/api/v1",
3792
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3570
3793
  reasoning: true,
3571
3794
  input: ["text", "image"],
3572
3795
  cost: {
@@ -3584,16 +3807,17 @@ export const OPENROUTER_MODELS = {
3584
3807
  api: "openai-completions",
3585
3808
  provider: "openrouter",
3586
3809
  baseUrl: "https://openrouter.ai/api/v1",
3810
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3587
3811
  reasoning: true,
3588
3812
  input: ["text", "image"],
3589
3813
  cost: {
3590
3814
  input: 0.14,
3591
3815
  output: 1,
3592
- cacheRead: 0,
3816
+ cacheRead: 0.05,
3593
3817
  cacheWrite: 0,
3594
3818
  },
3595
3819
  contextWindow: 262144,
3596
- maxTokens: 262144,
3820
+ maxTokens: 81920,
3597
3821
  },
3598
3822
  "qwen/qwen3.5-397b-a17b": {
3599
3823
  id: "qwen/qwen3.5-397b-a17b",
@@ -3601,6 +3825,7 @@ export const OPENROUTER_MODELS = {
3601
3825
  api: "openai-completions",
3602
3826
  provider: "openrouter",
3603
3827
  baseUrl: "https://openrouter.ai/api/v1",
3828
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3604
3829
  reasoning: true,
3605
3830
  input: ["text", "image"],
3606
3831
  cost: {
@@ -3618,6 +3843,7 @@ export const OPENROUTER_MODELS = {
3618
3843
  api: "openai-completions",
3619
3844
  provider: "openrouter",
3620
3845
  baseUrl: "https://openrouter.ai/api/v1",
3846
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3621
3847
  reasoning: true,
3622
3848
  input: ["text", "image"],
3623
3849
  cost: {
@@ -3635,6 +3861,7 @@ export const OPENROUTER_MODELS = {
3635
3861
  api: "openai-completions",
3636
3862
  provider: "openrouter",
3637
3863
  baseUrl: "https://openrouter.ai/api/v1",
3864
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3638
3865
  reasoning: true,
3639
3866
  input: ["text", "image"],
3640
3867
  cost: {
@@ -3652,6 +3879,7 @@ export const OPENROUTER_MODELS = {
3652
3879
  api: "openai-completions",
3653
3880
  provider: "openrouter",
3654
3881
  baseUrl: "https://openrouter.ai/api/v1",
3882
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3655
3883
  reasoning: true,
3656
3884
  input: ["text", "image"],
3657
3885
  cost: {
@@ -3669,6 +3897,7 @@ export const OPENROUTER_MODELS = {
3669
3897
  api: "openai-completions",
3670
3898
  provider: "openrouter",
3671
3899
  baseUrl: "https://openrouter.ai/api/v1",
3900
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3672
3901
  reasoning: true,
3673
3902
  input: ["text", "image"],
3674
3903
  cost: {
@@ -3686,12 +3915,13 @@ export const OPENROUTER_MODELS = {
3686
3915
  api: "openai-completions",
3687
3916
  provider: "openrouter",
3688
3917
  baseUrl: "https://openrouter.ai/api/v1",
3918
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3689
3919
  reasoning: true,
3690
3920
  input: ["text", "image"],
3691
3921
  cost: {
3692
- input: 0.2885,
3693
- output: 3.17,
3694
- cacheRead: 0,
3922
+ input: 0.285,
3923
+ output: 2.4,
3924
+ cacheRead: 0.15,
3695
3925
  cacheWrite: 0,
3696
3926
  },
3697
3927
  contextWindow: 262144,
@@ -3703,6 +3933,7 @@ export const OPENROUTER_MODELS = {
3703
3933
  api: "openai-completions",
3704
3934
  provider: "openrouter",
3705
3935
  baseUrl: "https://openrouter.ai/api/v1",
3936
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3706
3937
  reasoning: true,
3707
3938
  input: ["text", "image"],
3708
3939
  cost: {
@@ -3720,6 +3951,7 @@ export const OPENROUTER_MODELS = {
3720
3951
  api: "openai-completions",
3721
3952
  provider: "openrouter",
3722
3953
  baseUrl: "https://openrouter.ai/api/v1",
3954
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3723
3955
  reasoning: true,
3724
3956
  input: ["text", "image"],
3725
3957
  cost: {
@@ -3737,6 +3969,7 @@ export const OPENROUTER_MODELS = {
3737
3969
  api: "openai-completions",
3738
3970
  provider: "openrouter",
3739
3971
  baseUrl: "https://openrouter.ai/api/v1",
3972
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3740
3973
  reasoning: true,
3741
3974
  input: ["text"],
3742
3975
  cost: {
@@ -3754,6 +3987,7 @@ export const OPENROUTER_MODELS = {
3754
3987
  api: "openai-completions",
3755
3988
  provider: "openrouter",
3756
3989
  baseUrl: "https://openrouter.ai/api/v1",
3990
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3757
3991
  reasoning: true,
3758
3992
  input: ["text", "image"],
3759
3993
  cost: {
@@ -3771,6 +4005,7 @@ export const OPENROUTER_MODELS = {
3771
4005
  api: "openai-completions",
3772
4006
  provider: "openrouter",
3773
4007
  baseUrl: "https://openrouter.ai/api/v1",
4008
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3774
4009
  reasoning: true,
3775
4010
  input: ["text"],
3776
4011
  cost: {
@@ -3788,6 +4023,7 @@ export const OPENROUTER_MODELS = {
3788
4023
  api: "openai-completions",
3789
4024
  provider: "openrouter",
3790
4025
  baseUrl: "https://openrouter.ai/api/v1",
4026
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3791
4027
  reasoning: true,
3792
4028
  input: ["text", "image"],
3793
4029
  cost: {
@@ -3805,6 +4041,7 @@ export const OPENROUTER_MODELS = {
3805
4041
  api: "openai-completions",
3806
4042
  provider: "openrouter",
3807
4043
  baseUrl: "https://openrouter.ai/api/v1",
4044
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3808
4045
  reasoning: false,
3809
4046
  input: ["text", "image"],
3810
4047
  cost: {
@@ -3822,6 +4059,7 @@ export const OPENROUTER_MODELS = {
3822
4059
  api: "openai-completions",
3823
4060
  provider: "openrouter",
3824
4061
  baseUrl: "https://openrouter.ai/api/v1",
4062
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3825
4063
  reasoning: false,
3826
4064
  input: ["text"],
3827
4065
  cost: {
@@ -3833,12 +4071,31 @@ export const OPENROUTER_MODELS = {
3833
4071
  contextWindow: 256000,
3834
4072
  maxTokens: 128000,
3835
4073
  },
4074
+ "sakana/fugu-ultra": {
4075
+ id: "sakana/fugu-ultra",
4076
+ name: "Sakana: Fugu Ultra",
4077
+ api: "openai-completions",
4078
+ provider: "openrouter",
4079
+ baseUrl: "https://openrouter.ai/api/v1",
4080
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4081
+ reasoning: true,
4082
+ input: ["text", "image"],
4083
+ cost: {
4084
+ input: 5,
4085
+ output: 30,
4086
+ cacheRead: 0.5,
4087
+ cacheWrite: 0,
4088
+ },
4089
+ contextWindow: 1000000,
4090
+ maxTokens: 128000,
4091
+ },
3836
4092
  "sao10k/l3.1-euryale-70b": {
3837
4093
  id: "sao10k/l3.1-euryale-70b",
3838
4094
  name: "Sao10K: Llama 3.1 Euryale 70B v2.2",
3839
4095
  api: "openai-completions",
3840
4096
  provider: "openrouter",
3841
4097
  baseUrl: "https://openrouter.ai/api/v1",
4098
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3842
4099
  reasoning: false,
3843
4100
  input: ["text"],
3844
4101
  cost: {
@@ -3856,16 +4113,17 @@ export const OPENROUTER_MODELS = {
3856
4113
  api: "openai-completions",
3857
4114
  provider: "openrouter",
3858
4115
  baseUrl: "https://openrouter.ai/api/v1",
4116
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3859
4117
  reasoning: true,
3860
4118
  input: ["text"],
3861
4119
  cost: {
3862
- input: 0.09,
4120
+ input: 0.1,
3863
4121
  output: 0.3,
3864
- cacheRead: 0.02,
4122
+ cacheRead: 0,
3865
4123
  cacheWrite: 0,
3866
4124
  },
3867
4125
  contextWindow: 262144,
3868
- maxTokens: 16384,
4126
+ maxTokens: 65536,
3869
4127
  },
3870
4128
  "stepfun/step-3.7-flash": {
3871
4129
  id: "stepfun/step-3.7-flash",
@@ -3873,6 +4131,7 @@ export const OPENROUTER_MODELS = {
3873
4131
  api: "openai-completions",
3874
4132
  provider: "openrouter",
3875
4133
  baseUrl: "https://openrouter.ai/api/v1",
4134
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3876
4135
  reasoning: true,
3877
4136
  input: ["text", "image"],
3878
4137
  cost: {
@@ -3890,6 +4149,7 @@ export const OPENROUTER_MODELS = {
3890
4149
  api: "openai-completions",
3891
4150
  provider: "openrouter",
3892
4151
  baseUrl: "https://openrouter.ai/api/v1",
4152
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3893
4153
  reasoning: true,
3894
4154
  input: ["text"],
3895
4155
  cost: {
@@ -3907,6 +4167,7 @@ export const OPENROUTER_MODELS = {
3907
4167
  api: "openai-completions",
3908
4168
  provider: "openrouter",
3909
4169
  baseUrl: "https://openrouter.ai/api/v1",
4170
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3910
4171
  reasoning: false,
3911
4172
  input: ["text"],
3912
4173
  cost: {
@@ -3924,6 +4185,7 @@ export const OPENROUTER_MODELS = {
3924
4185
  api: "openai-completions",
3925
4186
  provider: "openrouter",
3926
4187
  baseUrl: "https://openrouter.ai/api/v1",
4188
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3927
4189
  reasoning: true,
3928
4190
  input: ["text"],
3929
4191
  cost: {
@@ -3941,6 +4203,7 @@ export const OPENROUTER_MODELS = {
3941
4203
  api: "openai-completions",
3942
4204
  provider: "openrouter",
3943
4205
  baseUrl: "https://openrouter.ai/api/v1",
4206
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3944
4207
  reasoning: true,
3945
4208
  input: ["text", "image"],
3946
4209
  cost: {
@@ -3958,6 +4221,7 @@ export const OPENROUTER_MODELS = {
3958
4221
  api: "openai-completions",
3959
4222
  provider: "openrouter",
3960
4223
  baseUrl: "https://openrouter.ai/api/v1",
4224
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3961
4225
  reasoning: true,
3962
4226
  input: ["text", "image"],
3963
4227
  cost: {
@@ -3975,6 +4239,7 @@ export const OPENROUTER_MODELS = {
3975
4239
  api: "openai-completions",
3976
4240
  provider: "openrouter",
3977
4241
  baseUrl: "https://openrouter.ai/api/v1",
4242
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3978
4243
  reasoning: true,
3979
4244
  input: ["text", "image"],
3980
4245
  cost: {
@@ -3992,16 +4257,17 @@ export const OPENROUTER_MODELS = {
3992
4257
  api: "openai-completions",
3993
4258
  provider: "openrouter",
3994
4259
  baseUrl: "https://openrouter.ai/api/v1",
4260
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3995
4261
  reasoning: true,
3996
4262
  input: ["text", "image"],
3997
4263
  cost: {
3998
- input: 0.14,
4264
+ input: 0.105,
3999
4265
  output: 0.28,
4000
- cacheRead: 0.0028,
4266
+ cacheRead: 0,
4001
4267
  cacheWrite: 0,
4002
4268
  },
4003
4269
  contextWindow: 1048576,
4004
- maxTokens: 131072,
4270
+ maxTokens: 4096,
4005
4271
  },
4006
4272
  "xiaomi/mimo-v2.5-pro": {
4007
4273
  id: "xiaomi/mimo-v2.5-pro",
@@ -4009,6 +4275,7 @@ export const OPENROUTER_MODELS = {
4009
4275
  api: "openai-completions",
4010
4276
  provider: "openrouter",
4011
4277
  baseUrl: "https://openrouter.ai/api/v1",
4278
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4012
4279
  reasoning: true,
4013
4280
  input: ["text"],
4014
4281
  cost: {
@@ -4026,6 +4293,7 @@ export const OPENROUTER_MODELS = {
4026
4293
  api: "openai-completions",
4027
4294
  provider: "openrouter",
4028
4295
  baseUrl: "https://openrouter.ai/api/v1",
4296
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4029
4297
  reasoning: true,
4030
4298
  input: ["text"],
4031
4299
  cost: {
@@ -4043,6 +4311,7 @@ export const OPENROUTER_MODELS = {
4043
4311
  api: "openai-completions",
4044
4312
  provider: "openrouter",
4045
4313
  baseUrl: "https://openrouter.ai/api/v1",
4314
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4046
4315
  reasoning: true,
4047
4316
  input: ["text"],
4048
4317
  cost: {
@@ -4060,6 +4329,7 @@ export const OPENROUTER_MODELS = {
4060
4329
  api: "openai-completions",
4061
4330
  provider: "openrouter",
4062
4331
  baseUrl: "https://openrouter.ai/api/v1",
4332
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4063
4333
  reasoning: true,
4064
4334
  input: ["text", "image"],
4065
4335
  cost: {
@@ -4077,6 +4347,7 @@ export const OPENROUTER_MODELS = {
4077
4347
  api: "openai-completions",
4078
4348
  provider: "openrouter",
4079
4349
  baseUrl: "https://openrouter.ai/api/v1",
4350
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4080
4351
  reasoning: true,
4081
4352
  input: ["text"],
4082
4353
  cost: {
@@ -4094,6 +4365,7 @@ export const OPENROUTER_MODELS = {
4094
4365
  api: "openai-completions",
4095
4366
  provider: "openrouter",
4096
4367
  baseUrl: "https://openrouter.ai/api/v1",
4368
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4097
4369
  reasoning: true,
4098
4370
  input: ["text", "image"],
4099
4371
  cost: {
@@ -4111,6 +4383,7 @@ export const OPENROUTER_MODELS = {
4111
4383
  api: "openai-completions",
4112
4384
  provider: "openrouter",
4113
4385
  baseUrl: "https://openrouter.ai/api/v1",
4386
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4114
4387
  reasoning: true,
4115
4388
  input: ["text"],
4116
4389
  cost: {
@@ -4128,6 +4401,7 @@ export const OPENROUTER_MODELS = {
4128
4401
  api: "openai-completions",
4129
4402
  provider: "openrouter",
4130
4403
  baseUrl: "https://openrouter.ai/api/v1",
4404
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4131
4405
  reasoning: true,
4132
4406
  input: ["text"],
4133
4407
  cost: {
@@ -4145,6 +4419,7 @@ export const OPENROUTER_MODELS = {
4145
4419
  api: "openai-completions",
4146
4420
  provider: "openrouter",
4147
4421
  baseUrl: "https://openrouter.ai/api/v1",
4422
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4148
4423
  reasoning: true,
4149
4424
  input: ["text"],
4150
4425
  cost: {
@@ -4162,6 +4437,7 @@ export const OPENROUTER_MODELS = {
4162
4437
  api: "openai-completions",
4163
4438
  provider: "openrouter",
4164
4439
  baseUrl: "https://openrouter.ai/api/v1",
4440
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4165
4441
  reasoning: true,
4166
4442
  input: ["text"],
4167
4443
  cost: {
@@ -4179,16 +4455,17 @@ export const OPENROUTER_MODELS = {
4179
4455
  api: "openai-completions",
4180
4456
  provider: "openrouter",
4181
4457
  baseUrl: "https://openrouter.ai/api/v1",
4458
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4182
4459
  reasoning: true,
4183
4460
  input: ["text"],
4184
4461
  cost: {
4185
- input: 0.98,
4186
- output: 3.08,
4187
- cacheRead: 0.49,
4462
+ input: 0.966,
4463
+ output: 3.036,
4464
+ cacheRead: 0.1794,
4188
4465
  cacheWrite: 0,
4189
4466
  },
4190
4467
  contextWindow: 202752,
4191
- maxTokens: 65535,
4468
+ maxTokens: 128000,
4192
4469
  },
4193
4470
  "z-ai/glm-5.2": {
4194
4471
  id: "z-ai/glm-5.2",
@@ -4196,17 +4473,18 @@ export const OPENROUTER_MODELS = {
4196
4473
  api: "openai-completions",
4197
4474
  provider: "openrouter",
4198
4475
  baseUrl: "https://openrouter.ai/api/v1",
4476
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4199
4477
  reasoning: true,
4200
4478
  thinkingLevelMap: { "xhigh": "xhigh" },
4201
4479
  input: ["text"],
4202
4480
  cost: {
4203
- input: 0.98,
4204
- output: 3.08,
4205
- cacheRead: 0.182,
4481
+ input: 0.728,
4482
+ output: 2.288,
4483
+ cacheRead: 0.1352,
4206
4484
  cacheWrite: 0,
4207
4485
  },
4208
4486
  contextWindow: 1048576,
4209
- maxTokens: 4096,
4487
+ maxTokens: 131072,
4210
4488
  },
4211
4489
  "z-ai/glm-5v-turbo": {
4212
4490
  id: "z-ai/glm-5v-turbo",
@@ -4214,6 +4492,7 @@ export const OPENROUTER_MODELS = {
4214
4492
  api: "openai-completions",
4215
4493
  provider: "openrouter",
4216
4494
  baseUrl: "https://openrouter.ai/api/v1",
4495
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4217
4496
  reasoning: true,
4218
4497
  input: ["text", "image"],
4219
4498
  cost: {
@@ -4231,6 +4510,7 @@ export const OPENROUTER_MODELS = {
4231
4510
  api: "openai-completions",
4232
4511
  provider: "openrouter",
4233
4512
  baseUrl: "https://openrouter.ai/api/v1",
4513
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4234
4514
  reasoning: true,
4235
4515
  input: ["text", "image"],
4236
4516
  cost: {
@@ -4248,6 +4528,7 @@ export const OPENROUTER_MODELS = {
4248
4528
  api: "openai-completions",
4249
4529
  provider: "openrouter",
4250
4530
  baseUrl: "https://openrouter.ai/api/v1",
4531
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4251
4532
  reasoning: true,
4252
4533
  input: ["text", "image"],
4253
4534
  cost: {
@@ -4265,6 +4546,7 @@ export const OPENROUTER_MODELS = {
4265
4546
  api: "openai-completions",
4266
4547
  provider: "openrouter",
4267
4548
  baseUrl: "https://openrouter.ai/api/v1",
4549
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4268
4550
  reasoning: true,
4269
4551
  input: ["text", "image"],
4270
4552
  cost: {
@@ -4282,13 +4564,14 @@ export const OPENROUTER_MODELS = {
4282
4564
  api: "openai-completions",
4283
4565
  provider: "openrouter",
4284
4566
  baseUrl: "https://openrouter.ai/api/v1",
4567
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4285
4568
  reasoning: true,
4286
4569
  input: ["text", "image"],
4287
4570
  cost: {
4288
- input: 3,
4289
- output: 15,
4290
- cacheRead: 0.3,
4291
- cacheWrite: 3.75,
4571
+ input: 2,
4572
+ output: 10,
4573
+ cacheRead: 0.2,
4574
+ cacheWrite: 2.5,
4292
4575
  },
4293
4576
  contextWindow: 1000000,
4294
4577
  maxTokens: 128000,
@@ -4299,6 +4582,7 @@ export const OPENROUTER_MODELS = {
4299
4582
  api: "openai-completions",
4300
4583
  provider: "openrouter",
4301
4584
  baseUrl: "https://openrouter.ai/api/v1",
4585
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4302
4586
  reasoning: true,
4303
4587
  input: ["text", "image"],
4304
4588
  cost: {
@@ -4316,6 +4600,7 @@ export const OPENROUTER_MODELS = {
4316
4600
  api: "openai-completions",
4317
4601
  provider: "openrouter",
4318
4602
  baseUrl: "https://openrouter.ai/api/v1",
4603
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4319
4604
  reasoning: true,
4320
4605
  input: ["text", "image"],
4321
4606
  cost: {
@@ -4333,12 +4618,13 @@ export const OPENROUTER_MODELS = {
4333
4618
  api: "openai-completions",
4334
4619
  provider: "openrouter",
4335
4620
  baseUrl: "https://openrouter.ai/api/v1",
4621
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4336
4622
  reasoning: true,
4337
4623
  input: ["text", "image"],
4338
4624
  cost: {
4339
4625
  input: 0.66,
4340
4626
  output: 3.41,
4341
- cacheRead: 0.144,
4627
+ cacheRead: 0.14,
4342
4628
  cacheWrite: 0,
4343
4629
  },
4344
4630
  contextWindow: 262144,
@@ -4350,6 +4636,7 @@ export const OPENROUTER_MODELS = {
4350
4636
  api: "openai-completions",
4351
4637
  provider: "openrouter",
4352
4638
  baseUrl: "https://openrouter.ai/api/v1",
4639
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4353
4640
  reasoning: true,
4354
4641
  input: ["text", "image"],
4355
4642
  cost: {
@@ -4367,6 +4654,7 @@ export const OPENROUTER_MODELS = {
4367
4654
  api: "openai-completions",
4368
4655
  provider: "openrouter",
4369
4656
  baseUrl: "https://openrouter.ai/api/v1",
4657
+ compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
4370
4658
  reasoning: true,
4371
4659
  input: ["text", "image"],
4372
4660
  cost: {