@qqbrowser/qbot-dsh 0.1.0 → 0.1.2

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 (629) hide show
  1. package/cordis.patch.yml +50 -0
  2. package/lib/args-w1okyL78.js +9 -0
  3. package/lib/bin.js +1 -2
  4. package/lib/client.js +1 -0
  5. package/lib/content-review-CqDoh3wY.js +1 -0
  6. package/lib/content-review.js +1 -0
  7. package/lib/dump-config-CIL0Goqj.js +1 -0
  8. package/lib/gateway-port-CSFbDyoZ.js +1 -0
  9. package/lib/index.js +1 -0
  10. package/lib/llm-gateway-openai.js +17 -0
  11. package/lib/native-protocol-DdrIh89-.js +2 -0
  12. package/lib/{plugin-DNAeLZbb.js → plugin-viWCLnSr.js} +1 -1
  13. package/lib/profile-boot-CxJUSdnu.js +1 -0
  14. package/lib/profile-boot-DCgBQ4qO.js +8 -0
  15. package/lib/qb-auth-C2ofR1zn.js +4 -0
  16. package/lib/qb-auth.js +1 -0
  17. package/lib/web-search-dsh.js +1 -0
  18. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-cjs/index.js +7 -2
  19. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js +3 -0
  20. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +3 -0
  21. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/package.json +1 -1
  22. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-cjs/index.js +7 -2
  23. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js +3 -0
  24. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +3 -0
  25. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/package.json +1 -1
  26. package/node_modules/@deepseek-ai/cordis-plugin-hmr/package.json +1 -1
  27. package/node_modules/@deepseek-ai/dsh-agent/package.json +1 -1
  28. package/node_modules/@deepseek-ai/dsh-agent-default-model/package.json +1 -1
  29. package/node_modules/@deepseek-ai/dsh-agent-instructions/lib/index.js +3 -3
  30. package/node_modules/@deepseek-ai/dsh-agent-instructions/package.json +1 -1
  31. package/node_modules/@deepseek-ai/dsh-agent-loop/package.json +1 -1
  32. package/node_modules/@deepseek-ai/dsh-agent-presets/package.json +1 -1
  33. package/node_modules/@deepseek-ai/dsh-agent-tool-presentation/package.json +1 -1
  34. package/node_modules/@deepseek-ai/dsh-anonymous-user-id/package.json +1 -1
  35. package/node_modules/@deepseek-ai/dsh-api-gateway/package.json +1 -1
  36. package/node_modules/@deepseek-ai/dsh-api-remotes/package.json +1 -1
  37. package/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js +12 -12
  38. package/node_modules/@deepseek-ai/dsh-app-boot/package.json +1 -1
  39. package/node_modules/@deepseek-ai/dsh-atomic-write/package.json +1 -1
  40. package/node_modules/@deepseek-ai/dsh-attachment/package.json +1 -1
  41. package/node_modules/@deepseek-ai/dsh-attachment-local/lib/index.js +1 -1
  42. package/node_modules/@deepseek-ai/dsh-attachment-local/package.json +1 -1
  43. package/node_modules/@deepseek-ai/dsh-base/cordis.patch.yml +6 -37
  44. package/node_modules/@deepseek-ai/dsh-base/package.json +1 -1
  45. package/node_modules/@deepseek-ai/dsh-bash-local/package.json +1 -1
  46. package/node_modules/@deepseek-ai/dsh-bash-sandbox/package.json +1 -1
  47. package/node_modules/@deepseek-ai/dsh-brand/package.json +1 -1
  48. package/node_modules/@deepseek-ai/dsh-client-connection/package.json +1 -1
  49. package/node_modules/@deepseek-ai/dsh-client-hmr/package.json +1 -1
  50. package/node_modules/@deepseek-ai/dsh-client-locale/lib/client.js +1 -1
  51. package/node_modules/@deepseek-ai/dsh-client-locale/package.json +1 -1
  52. package/node_modules/@deepseek-ai/dsh-client-modules/package.json +1 -1
  53. package/node_modules/@deepseek-ai/dsh-client-runtime/package.json +1 -1
  54. package/node_modules/@deepseek-ai/dsh-client-schema-form/package.json +1 -1
  55. package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/lib/client.js +1 -1
  56. package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/package.json +1 -1
  57. package/node_modules/@deepseek-ai/dsh-client-ui-attachment/package.json +1 -1
  58. package/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +1 -1
  59. package/node_modules/@deepseek-ai/dsh-client-ui-commands/package.json +1 -1
  60. package/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +8 -8
  61. package/node_modules/@deepseek-ai/dsh-client-ui-conversation/package.json +1 -1
  62. package/node_modules/@deepseek-ai/dsh-client-ui-cordis/lib/client.js +3 -3
  63. package/node_modules/@deepseek-ai/dsh-client-ui-cordis/package.json +1 -1
  64. package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/client.js +1 -1
  65. package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/package.json +1 -1
  66. package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/lib/client.js +1 -1
  67. package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/package.json +1 -1
  68. package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/package.json +1 -1
  69. package/node_modules/@deepseek-ai/dsh-client-ui-goal/lib/client.js +1 -1
  70. package/node_modules/@deepseek-ai/dsh-client-ui-goal/package.json +1 -1
  71. package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/lib/client.js +1 -1
  72. package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/package.json +1 -1
  73. package/node_modules/@deepseek-ai/dsh-client-ui-jobs/lib/client.js +1 -1
  74. package/node_modules/@deepseek-ai/dsh-client-ui-jobs/package.json +1 -1
  75. package/node_modules/@deepseek-ai/dsh-client-ui-layout/lib/client.js +1 -1
  76. package/node_modules/@deepseek-ai/dsh-client-ui-layout/package.json +1 -1
  77. package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/lib/client.js +1 -1
  78. package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/package.json +1 -1
  79. package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +1 -1
  80. package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/package.json +1 -1
  81. package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/lib/client.js +1 -1
  82. package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/package.json +1 -1
  83. package/node_modules/@deepseek-ai/dsh-client-ui-plan/lib/client.js +1 -1
  84. package/node_modules/@deepseek-ai/dsh-client-ui-plan/package.json +1 -1
  85. package/node_modules/@deepseek-ai/dsh-client-ui-primitives/package.json +1 -1
  86. package/node_modules/@deepseek-ai/dsh-client-ui-settings/lib/client.js +1 -1
  87. package/node_modules/@deepseek-ai/dsh-client-ui-settings/package.json +1 -1
  88. package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
  89. package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/package.json +1 -1
  90. package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +3 -3
  91. package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/package.json +1 -1
  92. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js +1 -1
  93. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/package.json +1 -1
  94. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/lib/client.js +1 -1
  95. package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/package.json +1 -1
  96. package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
  97. package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/package.json +1 -1
  98. package/node_modules/@deepseek-ai/dsh-client-ui-skill/lib/client.js +3 -3
  99. package/node_modules/@deepseek-ai/dsh-client-ui-skill/package.json +1 -1
  100. package/node_modules/@deepseek-ai/dsh-client-ui-slots/package.json +1 -1
  101. package/node_modules/@deepseek-ai/dsh-client-ui-subagent/lib/client.js +1 -1
  102. package/node_modules/@deepseek-ai/dsh-client-ui-subagent/package.json +1 -1
  103. package/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/client.js +1 -1
  104. package/node_modules/@deepseek-ai/dsh-client-ui-theme/package.json +1 -1
  105. package/node_modules/@deepseek-ai/dsh-client-ui-tool/lib/client.js +4 -4
  106. package/node_modules/@deepseek-ai/dsh-client-ui-tool/package.json +1 -1
  107. package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/lib/client.js +14 -14
  108. package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/package.json +1 -1
  109. package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/lib/client.js +1 -1
  110. package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/package.json +1 -1
  111. package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/lib/client.js +1 -1
  112. package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/package.json +1 -1
  113. package/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +1 -1
  114. package/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +1 -1
  115. package/node_modules/@deepseek-ai/dsh-client-web/package.json +1 -1
  116. package/node_modules/@deepseek-ai/dsh-client-web-react/package.json +1 -1
  117. package/node_modules/@deepseek-ai/dsh-cmdline/lib/index.js +1 -1
  118. package/node_modules/@deepseek-ai/dsh-cmdline/package.json +1 -1
  119. package/node_modules/@deepseek-ai/dsh-code-runtime/package.json +1 -1
  120. package/node_modules/@deepseek-ai/dsh-code-runtime-worker-thread/package.json +1 -1
  121. package/node_modules/@deepseek-ai/dsh-command-compact/package.json +1 -1
  122. package/node_modules/@deepseek-ai/dsh-command-feedback/package.json +1 -1
  123. package/node_modules/@deepseek-ai/dsh-command-goal/package.json +1 -1
  124. package/node_modules/@deepseek-ai/dsh-commands/package.json +1 -1
  125. package/node_modules/@deepseek-ai/dsh-compaction/package.json +1 -1
  126. package/node_modules/@deepseek-ai/dsh-compaction-basic/package.json +1 -1
  127. package/node_modules/@deepseek-ai/dsh-compaction-tool-result-pruner/package.json +1 -1
  128. package/node_modules/@deepseek-ai/dsh-cordis-client-runner/package.json +1 -1
  129. package/node_modules/@deepseek-ai/dsh-cordis-host-runner/package.json +1 -1
  130. package/node_modules/@deepseek-ai/dsh-credentials/package.json +1 -1
  131. package/node_modules/@deepseek-ai/dsh-credentials-local/lib/index.js +1 -1
  132. package/node_modules/@deepseek-ai/dsh-credentials-local/package.json +1 -1
  133. package/node_modules/@deepseek-ai/dsh-fs/package.json +1 -1
  134. package/node_modules/@deepseek-ai/dsh-fs-local/package.json +1 -1
  135. package/node_modules/@deepseek-ai/dsh-fs-observation-policy/package.json +1 -1
  136. package/node_modules/@deepseek-ai/dsh-fs-sandbox/package.json +1 -1
  137. package/node_modules/@deepseek-ai/dsh-goal/package.json +1 -1
  138. package/node_modules/@deepseek-ai/dsh-goal-round-driver/package.json +1 -1
  139. package/node_modules/@deepseek-ai/dsh-headless/lib/index.js +4 -4
  140. package/node_modules/@deepseek-ai/dsh-headless/lib/startup.js +3 -3
  141. package/node_modules/@deepseek-ai/dsh-headless/package.json +1 -1
  142. package/node_modules/@deepseek-ai/dsh-home-paths/lib/index.js +1 -1
  143. package/node_modules/@deepseek-ai/dsh-home-paths/package.json +1 -1
  144. package/node_modules/@deepseek-ai/dsh-host-apiproxy/package.json +1 -1
  145. package/node_modules/@deepseek-ai/dsh-host-directory-picker/package.json +1 -1
  146. package/node_modules/@deepseek-ai/dsh-host-directory-picker-auto/package.json +1 -1
  147. package/node_modules/@deepseek-ai/dsh-host-directory-picker-browse/package.json +1 -1
  148. package/node_modules/@deepseek-ai/dsh-host-directory-picker-native/package.json +1 -1
  149. package/node_modules/@deepseek-ai/dsh-host-frontend-static/package.json +1 -1
  150. package/node_modules/@deepseek-ai/dsh-host-plugin-inventory/package.json +1 -1
  151. package/node_modules/@deepseek-ai/dsh-host-webserver/lib/index.js +1 -1
  152. package/node_modules/@deepseek-ai/dsh-host-webserver/package.json +1 -1
  153. package/node_modules/@deepseek-ai/dsh-invariants/package.json +1 -1
  154. package/node_modules/@deepseek-ai/dsh-jobs/package.json +1 -1
  155. package/node_modules/@deepseek-ai/dsh-jobs-local/package.json +1 -1
  156. package/node_modules/@deepseek-ai/dsh-launch-environment/package.json +1 -1
  157. package/node_modules/@deepseek-ai/dsh-llm/package.json +1 -1
  158. package/node_modules/@deepseek-ai/dsh-llm-deepseek/package.json +1 -1
  159. package/node_modules/@deepseek-ai/dsh-llm-pi-ai/lib/index.js +1 -1
  160. package/node_modules/@deepseek-ai/dsh-llm-pi-ai/package.json +1 -1
  161. package/node_modules/@deepseek-ai/dsh-llm-retry/package.json +1 -1
  162. package/node_modules/@deepseek-ai/dsh-mcp-client/package.json +1 -1
  163. package/node_modules/@deepseek-ai/dsh-message-feedback/package.json +1 -1
  164. package/node_modules/@deepseek-ai/dsh-native-command/package.json +1 -1
  165. package/node_modules/@deepseek-ai/dsh-output-retention/package.json +1 -1
  166. package/node_modules/@deepseek-ai/dsh-permission-presets/package.json +1 -1
  167. package/node_modules/@deepseek-ai/dsh-persona/package.json +1 -1
  168. package/node_modules/@deepseek-ai/dsh-plan-mode/package.json +1 -1
  169. package/node_modules/@deepseek-ai/dsh-pwsh-local/package.json +1 -1
  170. package/node_modules/@deepseek-ai/dsh-pwsh-sandbox/package.json +1 -1
  171. package/node_modules/@deepseek-ai/dsh-repeat-tool-reminder/package.json +1 -1
  172. package/node_modules/@deepseek-ai/dsh-sandbox/package.json +1 -1
  173. package/node_modules/@deepseek-ai/dsh-sandbox-local/package.json +1 -1
  174. package/node_modules/@deepseek-ai/dsh-sandbox-policy/package.json +1 -1
  175. package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/lib/index.js +1 -1
  176. package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/lib/runner.js +1 -1
  177. package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/package.json +1 -1
  178. package/node_modules/@deepseek-ai/dsh-schedule/package.json +1 -1
  179. package/node_modules/@deepseek-ai/dsh-scope/package.json +1 -1
  180. package/node_modules/@deepseek-ai/dsh-session/package.json +1 -1
  181. package/node_modules/@deepseek-ai/dsh-session-checkpoint-policy/package.json +1 -1
  182. package/node_modules/@deepseek-ai/dsh-session-log-export/lib/client.js +1 -1
  183. package/node_modules/@deepseek-ai/dsh-session-log-export/package.json +1 -1
  184. package/node_modules/@deepseek-ai/dsh-session-persistence/package.json +1 -1
  185. package/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/package.json +1 -1
  186. package/node_modules/@deepseek-ai/dsh-session-projection/package.json +1 -1
  187. package/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +1 -1
  188. package/node_modules/@deepseek-ai/dsh-session-query/package.json +1 -1
  189. package/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +1 -1
  190. package/node_modules/@deepseek-ai/dsh-session-reference/package.json +1 -1
  191. package/node_modules/@deepseek-ai/dsh-session-stats/package.json +1 -1
  192. package/node_modules/@deepseek-ai/dsh-session-telemetry/package.json +1 -1
  193. package/node_modules/@deepseek-ai/dsh-session-telemetry-otel/package.json +1 -1
  194. package/node_modules/@deepseek-ai/dsh-session-title/package.json +1 -1
  195. package/node_modules/@deepseek-ai/dsh-session-title-first-prompt-llm/package.json +1 -1
  196. package/node_modules/@deepseek-ai/dsh-session-title-llm/package.json +1 -1
  197. package/node_modules/@deepseek-ai/dsh-settings/package.json +1 -1
  198. package/node_modules/@deepseek-ai/dsh-settings-file/package.json +1 -1
  199. package/node_modules/@deepseek-ai/dsh-shell/package.json +1 -1
  200. package/node_modules/@deepseek-ai/dsh-shell-env/lib/index.js +1 -1
  201. package/node_modules/@deepseek-ai/dsh-shell-env/package.json +1 -1
  202. package/node_modules/@deepseek-ai/dsh-skill/package.json +1 -1
  203. package/node_modules/@deepseek-ai/dsh-skill-badge/package.json +1 -1
  204. package/node_modules/@deepseek-ai/dsh-skill-filesystem/package.json +1 -1
  205. package/node_modules/@deepseek-ai/dsh-spill/package.json +1 -1
  206. package/node_modules/@deepseek-ai/dsh-spill-local/package.json +1 -1
  207. package/node_modules/@deepseek-ai/dsh-spill-policy/package.json +1 -1
  208. package/node_modules/@deepseek-ai/dsh-storage/package.json +1 -1
  209. package/node_modules/@deepseek-ai/dsh-storage-domain/package.json +1 -1
  210. package/node_modules/@deepseek-ai/dsh-storage-json/package.json +1 -1
  211. package/node_modules/@deepseek-ai/dsh-subagent/package.json +1 -1
  212. package/node_modules/@deepseek-ai/dsh-subagent-fork-in-process/package.json +1 -1
  213. package/node_modules/@deepseek-ai/dsh-subagent-in-process-driver/package.json +1 -1
  214. package/node_modules/@deepseek-ai/dsh-subagent-spawn-in-process/package.json +1 -1
  215. package/node_modules/@deepseek-ai/dsh-subprocess/lib/index.js +1 -1
  216. package/node_modules/@deepseek-ai/dsh-subprocess/package.json +1 -1
  217. package/node_modules/@deepseek-ai/dsh-subprocess-local/package.json +1 -1
  218. package/node_modules/@deepseek-ai/dsh-system-prompt/package.json +1 -1
  219. package/node_modules/@deepseek-ai/dsh-terminal/package.json +1 -1
  220. package/node_modules/@deepseek-ai/dsh-terminal-bash/package.json +1 -1
  221. package/node_modules/@deepseek-ai/dsh-time-context/package.json +1 -1
  222. package/node_modules/@deepseek-ai/dsh-timeout/package.json +1 -1
  223. package/node_modules/@deepseek-ai/dsh-tmux-context/package.json +1 -1
  224. package/node_modules/@deepseek-ai/dsh-token-meter/package.json +1 -1
  225. package/node_modules/@deepseek-ai/dsh-tool-ask-user/package.json +1 -1
  226. package/node_modules/@deepseek-ai/dsh-tool-bash/package.json +1 -1
  227. package/node_modules/@deepseek-ai/dsh-tool-bash-persistent/package.json +1 -1
  228. package/node_modules/@deepseek-ai/dsh-tool-call-timeout-policy/package.json +1 -1
  229. package/node_modules/@deepseek-ai/dsh-tool-cordis/lib/index.js +5 -29
  230. package/node_modules/@deepseek-ai/dsh-tool-cordis/package.json +1 -1
  231. package/node_modules/@deepseek-ai/dsh-tool-fs/package.json +1 -1
  232. package/node_modules/@deepseek-ai/dsh-tool-fs-search/package.json +1 -1
  233. package/node_modules/@deepseek-ai/dsh-tool-goal/package.json +1 -1
  234. package/node_modules/@deepseek-ai/dsh-tool-jobs/package.json +1 -1
  235. package/node_modules/@deepseek-ai/dsh-tool-pwsh/package.json +1 -1
  236. package/node_modules/@deepseek-ai/dsh-tool-ralph/package.json +1 -1
  237. package/node_modules/@deepseek-ai/dsh-tool-skill/package.json +1 -1
  238. package/node_modules/@deepseek-ai/dsh-tool-str-replace-editor/package.json +1 -1
  239. package/node_modules/@deepseek-ai/dsh-tool-subagent/package.json +1 -1
  240. package/node_modules/@deepseek-ai/dsh-tool-subagent-control/package.json +1 -1
  241. package/node_modules/@deepseek-ai/dsh-tool-subagent-report/package.json +1 -1
  242. package/node_modules/@deepseek-ai/dsh-tool-todo/package.json +1 -1
  243. package/node_modules/@deepseek-ai/dsh-tool-web/package.json +1 -1
  244. package/node_modules/@deepseek-ai/dsh-tool-workflow/package.json +1 -1
  245. package/node_modules/@deepseek-ai/dsh-tools/package.json +1 -1
  246. package/node_modules/@deepseek-ai/dsh-typert-loader/package.json +1 -1
  247. package/node_modules/@deepseek-ai/dsh-typert-protocol/package.json +1 -1
  248. package/node_modules/@deepseek-ai/dsh-typert-registry/package.json +1 -1
  249. package/node_modules/@deepseek-ai/dsh-user-approval/package.json +1 -1
  250. package/node_modules/@deepseek-ai/dsh-user-questions/package.json +1 -1
  251. package/node_modules/@deepseek-ai/dsh-web/lib/index.js +1 -1
  252. package/node_modules/@deepseek-ai/dsh-web/package.json +1 -1
  253. package/node_modules/@deepseek-ai/dsh-web-app/cordis.patch.yml +0 -1
  254. package/node_modules/@deepseek-ai/dsh-web-app/lib/index.js +1 -1
  255. package/node_modules/@deepseek-ai/dsh-web-app/lib/startup.js +4 -5
  256. package/node_modules/@deepseek-ai/dsh-web-app/package.json +1 -1
  257. package/node_modules/@deepseek-ai/dsh-web-frontend/package.json +1 -1
  258. package/node_modules/@deepseek-ai/dsh-web-search-deepseek/package.json +1 -1
  259. package/node_modules/@deepseek-ai/dsh-workflow/package.json +1 -1
  260. package/node_modules/@deepseek-ai/dsh-workflow-worker-thread/lib/worker.cjs +9 -8
  261. package/node_modules/@deepseek-ai/dsh-workflow-worker-thread/package.json +1 -1
  262. package/node_modules/@deepseek-ai/dsh-workspace/package.json +1 -1
  263. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +5 -5
  264. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +1 -1
  265. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +1 -1
  266. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +1 -1
  267. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +1 -1
  268. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +3 -3
  269. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +4 -4
  270. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +5 -5
  271. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +6 -6
  272. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +1 -1
  273. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js +1 -1
  274. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js +2 -2
  275. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +1 -1
  276. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.js +1 -1
  277. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js +1 -1
  278. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  279. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  280. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  281. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  282. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  283. package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
  284. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  285. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  286. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -1
  287. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -1
  288. package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
  289. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  290. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
  291. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
  292. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js +5 -5
  293. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  294. package/node_modules/@koromix/koffi-darwin-arm64/darwin_arm64/koffi.node +0 -0
  295. package/node_modules/@koromix/koffi-darwin-arm64/package.json +1 -1
  296. package/node_modules/@koromix/koffi-darwin-x64/darwin_x64/koffi.node +0 -0
  297. package/node_modules/@koromix/koffi-darwin-x64/package.json +1 -1
  298. package/node_modules/@koromix/koffi-win32-x64/package.json +1 -1
  299. package/node_modules/@koromix/koffi-win32-x64/win32_x64/koffi.node +0 -0
  300. package/node_modules/@smithy/core/dist-cjs/index.js +3 -1
  301. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +126 -39
  302. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +14 -3
  303. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +3 -1
  304. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +3 -1
  305. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +10 -1
  306. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +10 -1
  307. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +16 -2
  308. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +4 -1
  309. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +4 -1
  310. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +4 -1
  311. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +4 -1
  312. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +4 -1
  313. package/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +7 -0
  314. package/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/DefaultIdentityProviderConfig.js +3 -0
  315. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-decode.js +29 -13
  316. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-encode.js +12 -4
  317. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeDeserializer.js +9 -0
  318. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeSerializer.js +7 -0
  319. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeDeserializer2.js +44 -15
  320. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeSerializer2.js +22 -4
  321. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +5 -0
  322. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/checksum.js +3 -0
  323. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js +4 -1
  324. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/object-mapping.js +6 -1
  325. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/serde-json.js +4 -1
  326. package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/resolveEndpoint.js +3 -0
  327. package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +7 -0
  328. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js +4 -1
  329. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +9 -0
  330. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +5 -0
  331. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +3 -0
  332. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/parseRetryAfterHeader.js +4 -1
  333. package/node_modules/@smithy/core/dist-es/submodules/serde/index.browser.js +1 -0
  334. package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +1 -0
  335. package/node_modules/@smithy/core/dist-es/submodules/serde/index.native.js +1 -0
  336. package/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js +3 -0
  337. package/node_modules/@smithy/core/dist-es/submodules/transport/hasOwn.js +3 -0
  338. package/node_modules/@smithy/core/dist-es/submodules/transport/index.js +1 -0
  339. package/node_modules/@smithy/core/dist-es/submodules/transport/toEndpointV1.js +3 -0
  340. package/node_modules/@smithy/core/package.json +1 -1
  341. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +19 -7
  342. package/node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js +4 -1
  343. package/node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js +4 -1
  344. package/node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js +4 -1
  345. package/node_modules/@smithy/signature-v4/dist-es/headerUtil.js +10 -3
  346. package/node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js +4 -1
  347. package/node_modules/@smithy/signature-v4/dist-es/prepareRequest.js +4 -1
  348. package/node_modules/@smithy/signature-v4/package.json +1 -1
  349. package/node_modules/koffi/package.json +1 -1
  350. package/node_modules/koffi/src/koffi/index.cjs +1 -1
  351. package/node_modules/koffi/src/koffi/index.js +1 -1
  352. package/node_modules/koffi/src/koffi/indirect.cjs +1 -1
  353. package/node_modules/koffi/src/koffi/indirect.js +1 -1
  354. package/node_modules/negotiator/lib/accept.js +54 -0
  355. package/node_modules/negotiator/lib/charset.js +10 -34
  356. package/node_modules/negotiator/lib/encoding.js +9 -30
  357. package/node_modules/negotiator/lib/language.js +15 -36
  358. package/node_modules/negotiator/lib/mediaType.js +16 -134
  359. package/node_modules/negotiator/node_modules/content-type/LICENSE +22 -0
  360. package/node_modules/negotiator/node_modules/content-type/dist/index.js +176 -0
  361. package/node_modules/negotiator/node_modules/content-type/package.json +1 -0
  362. package/node_modules/negotiator/package.json +1 -1
  363. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  364. package/node_modules/typebox/build/format/_idna.mjs +1 -1
  365. package/node_modules/typebox/build/format/_puny.mjs +1 -1
  366. package/node_modules/typebox/build/format/uuid.mjs +1 -1
  367. package/node_modules/typebox/build/guard/emit.mjs +1 -1
  368. package/node_modules/typebox/build/guard/guard.mjs +1 -1
  369. package/node_modules/typebox/build/guard/string.mjs +1 -1
  370. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  371. package/node_modules/typebox/build/schema/engine/_guard.mjs +1 -0
  372. package/node_modules/typebox/build/schema/engine/boolean.mjs +1 -1
  373. package/node_modules/typebox/build/schema/engine/index.mjs +1 -1
  374. package/node_modules/typebox/build/schema/engine/schema.mjs +1 -1
  375. package/node_modules/typebox/build/schema/engine/type.mjs +1 -1
  376. package/node_modules/typebox/build/schema/types/_guard.mjs +1 -0
  377. package/node_modules/typebox/build/schema/types/index.mjs +1 -1
  378. package/node_modules/typebox/build/schema/types/schema.mjs +1 -1
  379. package/node_modules/typebox/build/system/locale/ar_001.mjs +1 -1
  380. package/node_modules/typebox/build/system/locale/bn_BD.mjs +1 -1
  381. package/node_modules/typebox/build/system/locale/cs_CZ.mjs +1 -1
  382. package/node_modules/typebox/build/system/locale/de_DE.mjs +1 -1
  383. package/node_modules/typebox/build/system/locale/el_GR.mjs +1 -1
  384. package/node_modules/typebox/build/system/locale/en_US.mjs +1 -1
  385. package/node_modules/typebox/build/system/locale/es_419.mjs +1 -1
  386. package/node_modules/typebox/build/system/locale/es_AR.mjs +1 -1
  387. package/node_modules/typebox/build/system/locale/es_ES.mjs +1 -1
  388. package/node_modules/typebox/build/system/locale/es_MX.mjs +1 -1
  389. package/node_modules/typebox/build/system/locale/fa_IR.mjs +1 -1
  390. package/node_modules/typebox/build/system/locale/fil_PH.mjs +1 -1
  391. package/node_modules/typebox/build/system/locale/fr_CA.mjs +1 -1
  392. package/node_modules/typebox/build/system/locale/fr_FR.mjs +1 -1
  393. package/node_modules/typebox/build/system/locale/ha_NG.mjs +1 -1
  394. package/node_modules/typebox/build/system/locale/hi_IN.mjs +1 -1
  395. package/node_modules/typebox/build/system/locale/hu_HU.mjs +1 -1
  396. package/node_modules/typebox/build/system/locale/id_ID.mjs +1 -1
  397. package/node_modules/typebox/build/system/locale/it_IT.mjs +1 -1
  398. package/node_modules/typebox/build/system/locale/ja_JP.mjs +1 -1
  399. package/node_modules/typebox/build/system/locale/ko_KR.mjs +1 -1
  400. package/node_modules/typebox/build/system/locale/ms_MY.mjs +1 -1
  401. package/node_modules/typebox/build/system/locale/nl_NL.mjs +1 -1
  402. package/node_modules/typebox/build/system/locale/pl_PL.mjs +1 -1
  403. package/node_modules/typebox/build/system/locale/pt_BR.mjs +1 -1
  404. package/node_modules/typebox/build/system/locale/pt_PT.mjs +1 -1
  405. package/node_modules/typebox/build/system/locale/ro_RO.mjs +1 -1
  406. package/node_modules/typebox/build/system/locale/ru_RU.mjs +1 -1
  407. package/node_modules/typebox/build/system/locale/sv_SE.mjs +1 -1
  408. package/node_modules/typebox/build/system/locale/sw_TZ.mjs +1 -1
  409. package/node_modules/typebox/build/system/locale/th_TH.mjs +1 -1
  410. package/node_modules/typebox/build/system/locale/tr_TR.mjs +1 -1
  411. package/node_modules/typebox/build/system/locale/uk_UA.mjs +1 -1
  412. package/node_modules/typebox/build/system/locale/ur_PK.mjs +1 -1
  413. package/node_modules/typebox/build/system/locale/vi_VN.mjs +1 -1
  414. package/node_modules/typebox/build/system/locale/yo_NG.mjs +1 -1
  415. package/node_modules/typebox/build/system/locale/zh_Hans.mjs +1 -1
  416. package/node_modules/typebox/build/system/locale/zh_Hant.mjs +1 -1
  417. package/node_modules/typebox/build/system/memory/clone.mjs +1 -1
  418. package/node_modules/typebox/build/system/settings/settings.mjs +1 -1
  419. package/node_modules/typebox/build/type/action/_optional.mjs +1 -0
  420. package/node_modules/typebox/build/type/action/_readonly.mjs +1 -0
  421. package/node_modules/typebox/build/type/action/awaited.mjs +1 -0
  422. package/node_modules/typebox/build/type/action/conditional.mjs +1 -1
  423. package/node_modules/typebox/build/type/action/index.mjs +1 -1
  424. package/node_modules/typebox/build/type/action/mapped.mjs +1 -1
  425. package/node_modules/typebox/build/type/action/module.mjs +1 -1
  426. package/node_modules/typebox/build/type/action/options.mjs +1 -0
  427. package/node_modules/typebox/build/type/engine/awaited/instantiate.mjs +1 -0
  428. package/node_modules/typebox/build/type/engine/call/distribute_arguments.mjs +1 -1
  429. package/node_modules/typebox/build/type/engine/call/instantiate.mjs +1 -1
  430. package/node_modules/typebox/build/type/engine/call/resolve_arguments.mjs +1 -1
  431. package/node_modules/typebox/build/type/engine/constructor_parameters/instantiate.mjs +1 -1
  432. package/node_modules/typebox/build/type/engine/cyclic/candidates.mjs +1 -1
  433. package/node_modules/typebox/build/type/engine/cyclic/check.mjs +1 -1
  434. package/node_modules/typebox/build/type/engine/cyclic/dependencies.mjs +1 -1
  435. package/node_modules/typebox/build/type/engine/cyclic/extends.mjs +1 -1
  436. package/node_modules/typebox/build/type/engine/cyclic/instantiate.mjs +1 -1
  437. package/node_modules/typebox/build/type/engine/enum/enum_to_union.mjs +1 -0
  438. package/node_modules/typebox/build/type/engine/enum/index.mjs +1 -1
  439. package/node_modules/typebox/build/type/engine/evaluate/broaden.mjs +1 -1
  440. package/node_modules/typebox/build/type/engine/evaluate/composite.mjs +1 -1
  441. package/node_modules/typebox/build/type/engine/evaluate/distribute.mjs +1 -1
  442. package/node_modules/typebox/build/type/engine/evaluate/evaluate.mjs +1 -1
  443. package/node_modules/typebox/build/type/engine/exclude/operation.mjs +1 -1
  444. package/node_modules/typebox/build/type/engine/extract/operation.mjs +1 -1
  445. package/node_modules/typebox/build/type/engine/index.mjs +1 -1
  446. package/node_modules/typebox/build/type/engine/indexable/from_enum.mjs +1 -1
  447. package/node_modules/typebox/build/type/engine/indexable/from_template_literal.mjs +1 -1
  448. package/node_modules/typebox/build/type/engine/indexable/from_type.mjs +1 -1
  449. package/node_modules/typebox/build/type/engine/indexed/instantiate.mjs +1 -1
  450. package/node_modules/typebox/build/type/engine/instantiate.mjs +1 -1
  451. package/node_modules/typebox/build/type/engine/intrinsics/from_template_literal.mjs +1 -1
  452. package/node_modules/typebox/build/type/engine/keyof/instantiate.mjs +1 -1
  453. package/node_modules/typebox/build/type/engine/mapped/mapped_operation.mjs +1 -1
  454. package/node_modules/typebox/build/type/engine/mapped/mapped_variants.mjs +1 -1
  455. package/node_modules/typebox/build/type/engine/module/instantiate.mjs +1 -1
  456. package/node_modules/typebox/build/type/engine/object/from_type.mjs +1 -1
  457. package/node_modules/typebox/build/type/engine/object/from_union.mjs +1 -1
  458. package/node_modules/typebox/build/type/engine/options/index.mjs +1 -0
  459. package/node_modules/typebox/build/type/engine/options/instantiate.mjs +1 -0
  460. package/node_modules/typebox/build/type/engine/parameters/instantiate.mjs +1 -1
  461. package/node_modules/typebox/build/type/engine/partial/from_intersect.mjs +1 -1
  462. package/node_modules/typebox/build/type/engine/partial/from_object.mjs +1 -1
  463. package/node_modules/typebox/build/type/engine/partial/from_type.mjs +1 -1
  464. package/node_modules/typebox/build/type/engine/readonly_object/from_array.mjs +1 -1
  465. package/node_modules/typebox/build/type/engine/readonly_object/from_intersect.mjs +1 -1
  466. package/node_modules/typebox/build/type/engine/readonly_object/from_object.mjs +1 -1
  467. package/node_modules/typebox/build/type/engine/readonly_object/from_tuple.mjs +1 -1
  468. package/node_modules/typebox/build/type/engine/readonly_object/from_type.mjs +1 -1
  469. package/node_modules/typebox/build/type/engine/record/from_key_enum.mjs +1 -1
  470. package/node_modules/typebox/build/type/engine/record/from_key_template_literal.mjs +1 -1
  471. package/node_modules/typebox/build/type/engine/ref/instantiate.mjs +1 -1
  472. package/node_modules/typebox/build/type/engine/required/from_intersect.mjs +1 -1
  473. package/node_modules/typebox/build/type/engine/required/from_object.mjs +1 -1
  474. package/node_modules/typebox/build/type/engine/required/from_type.mjs +1 -1
  475. package/node_modules/typebox/build/type/engine/template_literal/decode.mjs +1 -1
  476. package/node_modules/typebox/build/type/engine/template_literal/encode.mjs +1 -1
  477. package/node_modules/typebox/build/type/engine/template_literal/is_finite.mjs +1 -1
  478. package/node_modules/typebox/build/type/engine/this/expand_this.mjs +1 -1
  479. package/node_modules/typebox/build/type/extends/async_iterator.mjs +1 -0
  480. package/node_modules/typebox/build/type/extends/enum.mjs +1 -1
  481. package/node_modules/typebox/build/type/extends/extends_left.mjs +1 -1
  482. package/node_modules/typebox/build/type/extends/extends_right.mjs +1 -1
  483. package/node_modules/typebox/build/type/extends/inference.mjs +1 -1
  484. package/node_modules/typebox/build/type/extends/iterator.mjs +1 -0
  485. package/node_modules/typebox/build/type/extends/object.mjs +1 -1
  486. package/node_modules/typebox/build/type/extends/parameters.mjs +1 -1
  487. package/node_modules/typebox/build/type/extends/promise.mjs +1 -0
  488. package/node_modules/typebox/build/type/extends/template_literal.mjs +1 -1
  489. package/node_modules/typebox/build/type/extends/tuple.mjs +1 -1
  490. package/node_modules/typebox/build/type/extends/union.mjs +1 -1
  491. package/node_modules/typebox/build/type/script/mapping.mjs +1 -1
  492. package/node_modules/typebox/build/type/script/parser.mjs +6 -6
  493. package/node_modules/typebox/build/type/script/script.mjs +1 -1
  494. package/node_modules/typebox/build/type/script/token/internal/guard.mjs +1 -1
  495. package/node_modules/typebox/build/type/script/token/until.mjs +1 -1
  496. package/node_modules/typebox/build/type/types/_immutable.mjs +1 -1
  497. package/node_modules/typebox/build/type/types/_optional.mjs +1 -1
  498. package/node_modules/typebox/build/type/types/_readonly.mjs +1 -1
  499. package/node_modules/typebox/build/type/types/_refine.mjs +1 -1
  500. package/node_modules/typebox/build/type/types/async_iterator.mjs +1 -0
  501. package/node_modules/typebox/build/type/types/base.mjs +1 -0
  502. package/node_modules/typebox/build/type/types/call.mjs +1 -1
  503. package/node_modules/typebox/build/type/types/deferred.mjs +1 -1
  504. package/node_modules/typebox/build/type/types/enum.mjs +1 -1
  505. package/node_modules/typebox/build/type/types/index.mjs +1 -1
  506. package/node_modules/typebox/build/type/types/iterator.mjs +1 -0
  507. package/node_modules/typebox/build/type/types/number.mjs +1 -1
  508. package/node_modules/typebox/build/type/types/promise.mjs +1 -0
  509. package/node_modules/typebox/build/type/types/record.mjs +1 -1
  510. package/node_modules/typebox/build/typebox.mjs +1 -1
  511. package/node_modules/typebox/build/value/clean/clean.mjs +1 -1
  512. package/node_modules/typebox/build/value/clean/from_base.mjs +1 -0
  513. package/node_modules/typebox/build/value/clean/from_intersect.mjs +1 -1
  514. package/node_modules/typebox/build/value/clean/from_type.mjs +1 -1
  515. package/node_modules/typebox/build/value/clean/from_union.mjs +1 -1
  516. package/node_modules/typebox/build/value/clone/clone.mjs +1 -1
  517. package/node_modules/typebox/build/value/codec/decode.mjs +1 -1
  518. package/node_modules/typebox/build/value/codec/encode.mjs +1 -1
  519. package/node_modules/typebox/build/value/codec/from_array.mjs +1 -1
  520. package/node_modules/typebox/build/value/codec/from_object.mjs +1 -1
  521. package/node_modules/typebox/build/value/codec/from_record.mjs +1 -1
  522. package/node_modules/typebox/build/value/codec/from_tuple.mjs +1 -1
  523. package/node_modules/typebox/build/value/codec/from_union.mjs +1 -1
  524. package/node_modules/typebox/build/value/convert/from_base.mjs +1 -0
  525. package/node_modules/typebox/build/value/convert/from_enum.mjs +1 -1
  526. package/node_modules/typebox/build/value/convert/from_template_literal.mjs +1 -1
  527. package/node_modules/typebox/build/value/convert/from_type.mjs +1 -1
  528. package/node_modules/typebox/build/value/create/from_async_iterator.mjs +1 -0
  529. package/node_modules/typebox/build/value/create/from_base.mjs +1 -0
  530. package/node_modules/typebox/build/value/create/from_enum.mjs +1 -1
  531. package/node_modules/typebox/build/value/create/from_iterator.mjs +1 -0
  532. package/node_modules/typebox/build/value/create/from_promise.mjs +1 -0
  533. package/node_modules/typebox/build/value/create/from_type.mjs +1 -1
  534. package/node_modules/typebox/build/value/default/from_base.mjs +1 -0
  535. package/node_modules/typebox/build/value/default/from_object.mjs +1 -1
  536. package/node_modules/typebox/build/value/default/from_type.mjs +1 -1
  537. package/node_modules/typebox/build/value/index.mjs +1 -1
  538. package/node_modules/typebox/build/value/mutate/error.mjs +1 -0
  539. package/node_modules/typebox/build/value/mutate/from_array.mjs +1 -0
  540. package/node_modules/typebox/build/value/mutate/from_object.mjs +1 -0
  541. package/node_modules/typebox/build/value/mutate/from_unknown.mjs +1 -0
  542. package/node_modules/typebox/build/value/mutate/from_value.mjs +1 -0
  543. package/node_modules/typebox/build/value/mutate/index.mjs +1 -0
  544. package/node_modules/typebox/build/value/mutate/mutate.mjs +1 -0
  545. package/node_modules/typebox/build/value/repair/from_base.mjs +1 -0
  546. package/node_modules/typebox/build/value/repair/from_enum.mjs +1 -1
  547. package/node_modules/typebox/build/value/repair/from_type.mjs +1 -1
  548. package/node_modules/typebox/build/value/shared/union_priority_sort.mjs +1 -1
  549. package/node_modules/typebox/build/value/value.mjs +1 -1
  550. package/node_modules/typebox/package.json +1 -1
  551. package/package.json +1 -1
  552. package/lib/args-DcHS9iff.js +0 -9
  553. package/lib/dump-config-xQTUTTDD.js +0 -1
  554. package/lib/profile-boot-BkordgJK.js +0 -1
  555. package/lib/profile-boot-DDo03lXi.js +0 -8
  556. package/node_modules/@deepseek-ai/dsh-content-review/LICENSE +0 -21
  557. package/node_modules/@deepseek-ai/dsh-content-review/lib/index.js +0 -1
  558. package/node_modules/@deepseek-ai/dsh-content-review/lib/invariant.js +0 -1
  559. package/node_modules/@deepseek-ai/dsh-content-review/package.json +0 -1
  560. package/node_modules/@deepseek-ai/dsh-home-quarantine-macos/LICENSE +0 -21
  561. package/node_modules/@deepseek-ai/dsh-home-quarantine-macos/lib/index.js +0 -1
  562. package/node_modules/@deepseek-ai/dsh-home-quarantine-macos/lib/invariant.js +0 -1
  563. package/node_modules/@deepseek-ai/dsh-home-quarantine-macos/package.json +0 -1
  564. package/node_modules/@deepseek-ai/dsh-llm-gateway-openai/LICENSE +0 -21
  565. package/node_modules/@deepseek-ai/dsh-llm-gateway-openai/lib/index.js +0 -17
  566. package/node_modules/@deepseek-ai/dsh-llm-gateway-openai/lib/invariant.js +0 -1
  567. package/node_modules/@deepseek-ai/dsh-llm-gateway-openai/package.json +0 -1
  568. package/node_modules/@deepseek-ai/dsh-qb-auth/LICENSE +0 -21
  569. package/node_modules/@deepseek-ai/dsh-qb-auth/lib/index.js +0 -4
  570. package/node_modules/@deepseek-ai/dsh-qb-auth/lib/invariant.js +0 -1
  571. package/node_modules/@deepseek-ai/dsh-qb-auth/package.json +0 -1
  572. package/node_modules/@deepseek-ai/dsh-web-search-dsh/LICENSE +0 -21
  573. package/node_modules/@deepseek-ai/dsh-web-search-dsh/lib/index.js +0 -1
  574. package/node_modules/@deepseek-ai/dsh-web-search-dsh/lib/invariant.js +0 -1
  575. package/node_modules/@deepseek-ai/dsh-web-search-dsh/package.json +0 -1
  576. package/node_modules/@napi-rs/xattr/LICENSE +0 -21
  577. package/node_modules/@napi-rs/xattr/index.js +0 -567
  578. package/node_modules/@napi-rs/xattr/package.json +0 -1
  579. package/node_modules/@napi-rs/xattr-darwin-arm64/package.json +0 -1
  580. package/node_modules/@napi-rs/xattr-darwin-arm64/xattr.darwin-arm64.node +0 -0
  581. package/node_modules/@napi-rs/xattr-darwin-x64/package.json +0 -1
  582. package/node_modules/@napi-rs/xattr-darwin-x64/xattr.darwin-x64.node +0 -0
  583. package/node_modules/@parcel/watcher/LICENSE +0 -21
  584. package/node_modules/@parcel/watcher/index.js +0 -44
  585. package/node_modules/@parcel/watcher/index.js.flow +0 -45
  586. package/node_modules/@parcel/watcher/package.json +0 -1
  587. package/node_modules/@parcel/watcher/scripts/build-from-source.js +0 -16
  588. package/node_modules/@parcel/watcher/wrapper.js +0 -88
  589. package/node_modules/@parcel/watcher-darwin-arm64/LICENSE +0 -21
  590. package/node_modules/@parcel/watcher-darwin-arm64/package.json +0 -1
  591. package/node_modules/@parcel/watcher-darwin-arm64/watcher.node +0 -0
  592. package/node_modules/@parcel/watcher-darwin-x64/LICENSE +0 -21
  593. package/node_modules/@parcel/watcher-darwin-x64/package.json +0 -1
  594. package/node_modules/@parcel/watcher-darwin-x64/watcher.node +0 -0
  595. package/node_modules/@parcel/watcher-win32-x64/LICENSE +0 -21
  596. package/node_modules/@parcel/watcher-win32-x64/package.json +0 -1
  597. package/node_modules/@parcel/watcher-win32-x64/watcher.node +0 -0
  598. package/node_modules/is-extglob/LICENSE +0 -21
  599. package/node_modules/is-extglob/index.js +0 -20
  600. package/node_modules/is-extglob/package.json +0 -1
  601. package/node_modules/is-glob/LICENSE +0 -21
  602. package/node_modules/is-glob/index.js +0 -150
  603. package/node_modules/is-glob/package.json +0 -1
  604. package/node_modules/typebox/build/type/action/_add_immutable.mjs +0 -1
  605. package/node_modules/typebox/build/type/action/_add_optional.mjs +0 -1
  606. package/node_modules/typebox/build/type/action/_add_readonly.mjs +0 -1
  607. package/node_modules/typebox/build/type/action/_remove_immutable.mjs +0 -1
  608. package/node_modules/typebox/build/type/action/_remove_optional.mjs +0 -1
  609. package/node_modules/typebox/build/type/action/_remove_readonly.mjs +0 -1
  610. package/node_modules/typebox/build/type/action/with.mjs +0 -1
  611. package/node_modules/typebox/build/type/engine/immutable/instantiate_add.mjs +0 -1
  612. package/node_modules/typebox/build/type/engine/immutable/instantiate_remove.mjs +0 -1
  613. package/node_modules/typebox/build/type/engine/indexable/from_dependent.mjs +0 -1
  614. package/node_modules/typebox/build/type/engine/object/from_dependent.mjs +0 -1
  615. package/node_modules/typebox/build/type/engine/optional/instantiate_add.mjs +0 -1
  616. package/node_modules/typebox/build/type/engine/optional/instantiate_remove.mjs +0 -1
  617. package/node_modules/typebox/build/type/engine/partial/from_dependent.mjs +0 -1
  618. package/node_modules/typebox/build/type/engine/priority/index.mjs +0 -1
  619. package/node_modules/typebox/build/type/engine/priority/priority.mjs +0 -1
  620. package/node_modules/typebox/build/type/engine/readonly/instantiate_add.mjs +0 -1
  621. package/node_modules/typebox/build/type/engine/readonly/instantiate_remove.mjs +0 -1
  622. package/node_modules/typebox/build/type/engine/readonly_object/from_dependent.mjs +0 -1
  623. package/node_modules/typebox/build/type/engine/required/from_dependent.mjs +0 -1
  624. package/node_modules/typebox/build/type/engine/with/instantiate.mjs +0 -1
  625. package/node_modules/typebox/build/type/extends/dependent.mjs +0 -1
  626. package/node_modules/typebox/build/type/extends/record.mjs +0 -1
  627. package/node_modules/typebox/build/type/types/dependent.mjs +0 -1
  628. /package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/lib/{types-D2_FQYSK.js → types-DE3U0cmQ.js} +0 -0
  629. /package/node_modules/typebox/build/type/engine/{with → awaited}/index.mjs +0 -0
@@ -1,7 +1,7 @@
1
- var m=Object.defineProperty;var a=(r,t)=>m(r,"name",{value:t,configurable:!0});import{appendAssistantMessageDiagnostic as l,createAssistantMessageDiagnostic as y}from"../utils/diagnostics.js";import{AssistantMessageEventStream as w}from"../utils/event-stream.js";import{headersToRecord as b,providerHeadersToRecord as I}from"../utils/headers.js";import{parseStreamingJson as k}from"../utils/json-parse.js";import{getProviderEnvValue as E}from"../utils/provider-env.js";export class PiMessagesResponseError extends Error{static{a(this,"PiMessagesResponseError")}code;diagnosticDetails;constructor(t,n,e){super(t),this.name="PiMessagesResponseError",this.code=n,this.diagnosticDetails=e}}function R(r){try{const t=JSON.parse(r),n=t?.error;return t&&typeof n=="object"&&n!==null&&!Array.isArray(n)?t:void 0}catch{return}}a(R,"parsePiMessagesErrorBody");function _(r){return r.length>8192?`${r.slice(0,8192)}…`:r}a(_,"truncateDiagnosticString");function M(r,t,n){const e=typeof n?.error?.message=="string"?n.error.message:void 0,s=typeof n?.error?.code=="string"?n.error.code:void 0,o=e??t,i=s?` (${s})`:"";return`${r.status} ${r.statusText}: ${o}${i}`}a(M,"formatPiMessagesResponseError");function S(r,t,n,e){const s=R(e),o=typeof s?.error?.code=="string"?s.error.code:void 0;return new PiMessagesResponseError(M(n,e,s),o,{version:1,provider:r.provider,model:r.id,url:t.toString(),status:n.status,statusText:n.statusText,error:s?.error,body:s?void 0:_(e),timestampMs:Date.now()})}a(S,"createPiMessagesResponseError");function f(){return{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}a(f,"createEmptyUsage");function h(r,t){t&&l(r,{type:"pi_messages_rewrite",timestamp:Date.now(),details:{...t}})}a(h,"appendRewriteDiagnostic");function P(r){const t={role:"assistant",content:[],api:r.api,provider:r.provider,model:r.id,usage:f(),stopReason:"pending",timestamp:Date.now()},n=new Map;return e=>{switch(e.type){case"done":return Object.assign(t,{stopReason:e.reason,usage:e.usage,responseId:e.responseId}),h(t,e.rewrite),{type:"done",reason:e.reason,message:t};case"error":return Object.assign(t,{stopReason:e.reason,usage:e.usage,errorMessage:e.errorMessage,responseId:e.responseId}),h(t,e.rewrite),{type:"error",reason:e.reason,error:t};case"start":break;case"text_start":t.content[e.contentIndex]={type:"text",text:""};break;case"text_delta":t.content[e.contentIndex].text+=e.delta;break;case"text_end":Object.assign(t.content[e.contentIndex],{text:e.content,textSignature:e.contentSignature});break;case"thinking_start":t.content[e.contentIndex]={type:"thinking",thinking:""};break;case"thinking_delta":t.content[e.contentIndex].thinking+=e.delta;break;case"thinking_end":Object.assign(t.content[e.contentIndex],{thinking:e.content,thinkingSignature:e.contentSignature,redacted:e.redacted});break;case"toolcall_start":t.content[e.contentIndex]={type:"toolCall",id:e.id,name:e.toolName,arguments:{}},n.set(e.contentIndex,"");break;case"toolcall_delta":{const s=`${n.get(e.contentIndex)??""}${e.delta}`;n.set(e.contentIndex,s),t.content[e.contentIndex].arguments=k(s);break}case"toolcall_end":return Object.assign(t.content[e.contentIndex],e.toolCall),n.delete(e.contentIndex),{type:"toolcall_end",contentIndex:e.contentIndex,toolCall:t.content[e.contentIndex],partial:t}}return{...e,partial:t}}}a(P,"createEventConverter");async function*$(r){const t=new TextDecoder,n=r.getReader();let e="";try{for(;;){const{done:s,value:o}=await n.read();e+=s?t.decode():t.decode(o,{stream:!0}),e=e.replace(/\r\n/g,`
1
+ var m=Object.defineProperty;var a=(r,t)=>m(r,"name",{value:t,configurable:!0});import{appendAssistantMessageDiagnostic as l,createAssistantMessageDiagnostic as y}from"../utils/diagnostics.js";import{AssistantMessageEventStream as w}from"../utils/event-stream.js";import{headersToRecord as b,providerHeadersToRecord as I}from"../utils/headers.js";import{parseStreamingJson as k}from"../utils/json-parse.js";import{getProviderEnvValue as E}from"../utils/provider-env.js";export class PiMessagesResponseError extends Error{static{a(this,"PiMessagesResponseError")}code;diagnosticDetails;constructor(t,n,e){super(t),this.name="PiMessagesResponseError",this.code=n,this.diagnosticDetails=e}}function R(r){try{const t=JSON.parse(r),n=t?.error;return t&&typeof n=="object"&&n!==null&&!Array.isArray(n)?t:void 0}catch{return}}a(R,"parsePiMessagesErrorBody");function _(r){return r.length>8192?`${r.slice(0,8192)}…`:r}a(_,"truncateDiagnosticString");function M(r,t,n){const e=typeof n?.error?.message=="string"?n.error.message:void 0,s=typeof n?.error?.code=="string"?n.error.code:void 0,o=e??t,i=s?` (${s})`:"";return`${r.status} ${r.statusText}: ${o}${i}`}a(M,"formatPiMessagesResponseError");function S(r,t,n,e){const s=R(e),o=typeof s?.error?.code=="string"?s.error.code:void 0;return new PiMessagesResponseError(M(n,e,s),o,{version:1,provider:r.provider,model:r.id,url:t.toString(),status:n.status,statusText:n.statusText,error:s?.error,body:s?void 0:_(e),timestampMs:Date.now()})}a(S,"createPiMessagesResponseError");function f(){return{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}a(f,"createEmptyUsage");function h(r,t){t&&l(r,{type:"pi_messages_rewrite",timestamp:Date.now(),details:{...t}})}a(h,"appendRewriteDiagnostic");function P(r){const t={role:"assistant",content:[],api:r.api,provider:r.provider,model:r.id,usage:f(),stopReason:"stop",timestamp:Date.now()},n=new Map;return e=>{switch(e.type){case"done":return Object.assign(t,{stopReason:e.reason,usage:e.usage,responseId:e.responseId}),h(t,e.rewrite),{type:"done",reason:e.reason,message:t};case"error":return Object.assign(t,{stopReason:e.reason,usage:e.usage,errorMessage:e.errorMessage,responseId:e.responseId}),h(t,e.rewrite),{type:"error",reason:e.reason,error:t};case"start":break;case"text_start":t.content[e.contentIndex]={type:"text",text:""};break;case"text_delta":t.content[e.contentIndex].text+=e.delta;break;case"text_end":Object.assign(t.content[e.contentIndex],{text:e.content,textSignature:e.contentSignature});break;case"thinking_start":t.content[e.contentIndex]={type:"thinking",thinking:""};break;case"thinking_delta":t.content[e.contentIndex].thinking+=e.delta;break;case"thinking_end":Object.assign(t.content[e.contentIndex],{thinking:e.content,thinkingSignature:e.contentSignature,redacted:e.redacted});break;case"toolcall_start":t.content[e.contentIndex]={type:"toolCall",id:e.id,name:e.toolName,arguments:{}},n.set(e.contentIndex,"");break;case"toolcall_delta":{const s=`${n.get(e.contentIndex)??""}${e.delta}`;n.set(e.contentIndex,s),t.content[e.contentIndex].arguments=k(s);break}case"toolcall_end":return Object.assign(t.content[e.contentIndex],e.toolCall),n.delete(e.contentIndex),{type:"toolcall_end",contentIndex:e.contentIndex,toolCall:t.content[e.contentIndex],partial:t}}return{...e,partial:t}}}a(P,"createEventConverter");async function*$(r){const t=new TextDecoder,n=r.getReader();let e="";try{for(;;){const{done:s,value:o}=await n.read();e+=s?t.decode():t.decode(o,{stream:!0}),e=e.replace(/\r\n/g,`
2
2
  `);let i=e.indexOf(`
3
3
 
4
4
  `);for(;i!==-1;){const d=x(e.slice(0,i));d&&(yield d),e=e.slice(i+2),i=e.indexOf(`
5
5
 
6
6
  `)}if(s)break}if(e.trim()){const s=x(e);s&&(yield s)}}finally{n.releaseLock()}}a($,"readPiMessagesEvents");function x(r){const t=r.split(`
7
- `).find(n=>n.startsWith("data:"))?.slice(5).trim();return t&&t!=="[DONE]"?JSON.parse(t):void 0}a(x,"parsePiMessagesEvent");function D(r,t,n){const e=n?"aborted":"error",s={role:"assistant",content:[],api:r.api,provider:r.provider,model:r.id,usage:f(),stopReason:e,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()};return!n&&t instanceof PiMessagesResponseError&&l(s,y("pi_messages_response_failure",t,t.diagnosticDetails)),{type:"error",reason:e,error:s}}a(D,"createErrorEvent");function O(r,t){return r||(E("PI_CACHE_RETENTION",t)==="long"?"long":void 0)}a(O,"resolveCacheRetention");export const stream=a((r,t,n)=>{const e=new w,s=P(r);return(async()=>{try{const o=n?.apiKey;if(!o)throw new Error(`No API key provided for provider "${r.provider}"`);const i=new URL(`${r.baseUrl.replace(/\/+$/u,"")}/messages`);n?.debug&&i.searchParams.set("debug","1");let d={model:r.id,context:t,options:{temperature:n?.temperature,maxTokens:n?.maxTokens,reasoning:n?.reasoning,cacheRetention:O(n?.cacheRetention,n?.env),sessionId:n?.sessionId,toolChoice:n?.toolChoice}};const p=await n?.onPayload?.(d,r);p!==void 0&&(d=p);const c=await(n?.fetch??globalThis.fetch)(i,{method:"POST",headers:{authorization:`Bearer ${o}`,accept:"text/event-stream","content-type":"application/json",...I(n?.headers)},body:JSON.stringify(d),signal:n?.signal});if(await n?.onResponse?.({status:c.status,headers:b(c.headers)},r),!c.ok){const u=await c.text();throw S(r,i,c,u)}if(!c.body)throw new Error(`${r.provider} response has no body`);for await(const u of $(c.body)){const g=s(u);if(e.push(g),g.type==="done"||g.type==="error")return}throw new Error(`${r.provider} stream ended without a terminal event`)}catch(o){e.push(D(r,o,n?.signal?.aborted??!1))}})(),e},"stream"),streamSimple=a((r,t,n)=>{const e=n;return stream(r,t,{...n,reasoning:n?.reasoning,toolChoice:e?.toolChoice,debug:e?.debug})},"streamSimple");
7
+ `).find(n=>n.startsWith("data:"))?.slice(5).trim();return t&&t!=="[DONE]"?JSON.parse(t):void 0}a(x,"parsePiMessagesEvent");function D(r,t,n){const e=n?"aborted":"error",s={role:"assistant",content:[],api:r.api,provider:r.provider,model:r.id,usage:f(),stopReason:e,errorMessage:t instanceof Error?t.message:String(t),timestamp:Date.now()};return!n&&t instanceof PiMessagesResponseError&&l(s,y("pi_messages_response_failure",t,t.diagnosticDetails)),{type:"error",reason:e,error:s}}a(D,"createErrorEvent");function O(r,t){return r||(E("PI_CACHE_RETENTION",t)==="long"?"long":void 0)}a(O,"resolveCacheRetention");export const stream=a((r,t,n)=>{const e=new w,s=P(r);return(async()=>{try{const o=n?.apiKey;if(!o)throw new Error(`No API key provided for provider "${r.provider}"`);const i=new URL(`${r.baseUrl.replace(/\/+$/u,"")}/messages`);n?.debug&&i.searchParams.set("debug","1");let d={model:r.id,context:t,options:{temperature:n?.temperature,maxTokens:n?.maxTokens,reasoning:n?.reasoning,cacheRetention:O(n?.cacheRetention,n?.env),sessionId:n?.sessionId,toolChoice:n?.toolChoice}};const p=await n?.onPayload?.(d,r);p!==void 0&&(d=p);const c=await fetch(i,{method:"POST",headers:{authorization:`Bearer ${o}`,accept:"text/event-stream","content-type":"application/json",...I(n?.headers)},body:JSON.stringify(d),signal:n?.signal});if(await n?.onResponse?.({status:c.status,headers:b(c.headers)},r),!c.ok){const u=await c.text();throw S(r,i,c,u)}if(!c.body)throw new Error(`${r.provider} response has no body`);for await(const u of $(c.body)){const g=s(u);if(e.push(g),g.type==="done"||g.type==="error")return}throw new Error(`${r.provider} stream ended without a terminal event`)}catch(o){e.push(D(r,o,n?.signal?.aborted??!1))}})(),e},"stream"),streamSimple=a((r,t,n)=>{const e=n;return stream(r,t,{...n,reasoning:n?.reasoning,toolChoice:e?.toolChoice,debug:e?.debug})},"streamSimple");
@@ -1 +1 @@
1
- var x=Object.defineProperty;var s=(t,n)=>x(t,"name",{value:n,configurable:!0});import{estimateContextTokens as h}from"../utils/estimate.js";const d=4096,u=1;export function clampMaxTokensToContext(t,n,e){if(t.contextWindow<=0)return Math.max(u,e);const a=t.contextWindow-h(n).tokens-d;return Math.min(e,Math.max(u,a))}s(clampMaxTokensToContext,"clampMaxTokensToContext");export function buildBaseOptions(t,n,e,a){return{temperature:e?.temperature,maxTokens:clampMaxTokensToContext(t,n,e?.maxTokens??t.maxTokens),signal:e?.signal,apiKey:a||e?.apiKey,fetch:e?.fetch,transport:e?.transport,cacheRetention:e?.cacheRetention,sessionId:e?.sessionId,headers:e?.headers,onPayload:e?.onPayload,onResponse:e?.onResponse,timeoutMs:e?.timeoutMs,websocketConnectTimeoutMs:e?.websocketConnectTimeoutMs,maxRetries:e?.maxRetries,maxRetryDelayMs:e?.maxRetryDelayMs,metadata:e?.metadata,env:e?.env}}s(buildBaseOptions,"buildBaseOptions");export function clampReasoning(t){return t==="xhigh"||t==="max"?"high":t}s(clampReasoning,"clampReasoning");export function adjustMaxTokensForThinking(t,n,e,a){const c={...{minimal:1024,low:2048,medium:8192,high:16384},...a},i=1024,o=clampReasoning(e);let r=c[o];const m=t===void 0?n:Math.min(t+r,n);return m<=r&&(r=Math.max(0,m-i)),{maxTokens:m,thinkingBudget:r}}s(adjustMaxTokensForThinking,"adjustMaxTokensForThinking");
1
+ var x=Object.defineProperty;var s=(t,n)=>x(t,"name",{value:n,configurable:!0});import{estimateContextTokens as d}from"../utils/estimate.js";const h=4096,i=1;export function clampMaxTokensToContext(t,n,e){if(t.contextWindow<=0)return Math.max(i,e);const a=t.contextWindow-d(n).tokens-h;return Math.min(e,Math.max(i,a))}s(clampMaxTokensToContext,"clampMaxTokensToContext");export function buildBaseOptions(t,n,e,a){return{temperature:e?.temperature,maxTokens:clampMaxTokensToContext(t,n,e?.maxTokens??t.maxTokens),signal:e?.signal,apiKey:a||e?.apiKey,transport:e?.transport,cacheRetention:e?.cacheRetention,sessionId:e?.sessionId,headers:e?.headers,onPayload:e?.onPayload,onResponse:e?.onResponse,timeoutMs:e?.timeoutMs,websocketConnectTimeoutMs:e?.websocketConnectTimeoutMs,maxRetries:e?.maxRetries,maxRetryDelayMs:e?.maxRetryDelayMs,metadata:e?.metadata,env:e?.env}}s(buildBaseOptions,"buildBaseOptions");export function clampReasoning(t){return t==="xhigh"||t==="max"?"high":t}s(clampReasoning,"clampReasoning");export function adjustMaxTokensForThinking(t,n,e,a){const u={...{minimal:1024,low:2048,medium:8192,high:16384},...a},c=1024,o=clampReasoning(e);let r=u[o];const m=t===void 0?n:Math.min(t+r,n);return m<=r&&(r=Math.max(0,m-c)),{maxTokens:m,thinkingBudget:r}}s(adjustMaxTokensForThinking,"adjustMaxTokensForThinking");
@@ -1 +1 @@
1
- var L=Object.defineProperty;var n=(e,r)=>L(e,"name",{value:r,configurable:!0});import{createServer as U}from"node:http";import{getProviderEnvValue as v}from"../../utils/provider-env.js";import{oauthErrorHtml as E,oauthSuccessHtml as S}from"./oauth-page.js";import{generatePKCE as T}from"./pkce.js";const C="https://openrouter.ai/auth",P="https://openrouter.ai/api/v1/auth/keys",H=300*1e3,I=3e4;function x(){return v("PI_OAUTH_CALLBACK_HOST")||"127.0.0.1"}n(x,"getCallbackHost");function w(e,r,a){e.statusCode=r,e.setHeader("content-type","text/html; charset=utf-8"),e.setHeader("cache-control","no-store"),e.end(a)}n(w,"sendHtml");function $(e){const r=e.trim();if(r){try{return new URL(r).searchParams.get("code")??void 0}catch{}return r.includes("code=")?new URLSearchParams(r).get("code")??void 0:r}}n($,"parseAuthorizationInput");function z(e){if(typeof e.error_description=="string")return e.error_description;if(typeof e.message=="string")return e.message;if(typeof e.error=="string")return e.error;if(e.error&&typeof e.error=="object"&&!Array.isArray(e.error)){const r=e.error.message;if(typeof r=="string")return r}}n(z,"errorDetail");async function _(e,r,a){if(a?.aborted)throw new Error("Login cancelled");const u=new AbortController,i=n(()=>u.abort(a?.reason),"onAbort");a?.addEventListener("abort",i,{once:!0});const f=setTimeout(()=>u.abort(new Error("OpenRouter OAuth token exchange timed out")),I);let s,t={};try{s=await fetch(P,{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify({code:e,code_verifier:r,code_challenge_method:"S256"}),signal:u.signal});try{const o=await s.json();o&&typeof o=="object"&&!Array.isArray(o)&&(t=o)}catch{if(s.ok)throw new Error("OpenRouter OAuth returned invalid JSON")}}catch(o){throw a?.aborted?new Error("Login cancelled"):u.signal.aborted?new Error("OpenRouter OAuth token exchange timed out"):o}finally{clearTimeout(f),a?.removeEventListener("abort",i)}if(!s.ok){const o=z(t);throw new Error(`OpenRouter OAuth key exchange failed (HTTP ${s.status})${o?`: ${o}`:""}`)}if(typeof t.key!="string"||t.key.length===0)throw new Error('OpenRouter OAuth response carries no "key"');return{type:"oauth",access:t.key,refresh:"",expires:Number.MAX_SAFE_INTEGER}}n(_,"exchangeAuthorizationCode");async function N(e,r,a){if(a?.aborted)throw new Error("Login cancelled");const u=x();let i=n(()=>{},"resolveCredential"),f=n(()=>{},"rejectCredential");const s=new Promise((c,l)=>{i=c,f=l});let t,o=!1,y=!1,g,p;const h=n(()=>{g&&clearTimeout(g),p&&a?.removeEventListener("abort",p),t.close()},"close"),m=n(c=>{y||(y=!0,h(),"credential"in c?i(c.credential):f(c.error))},"finish");if(t=U((c,l)=>{(async()=>{const O=new URL(c.url??"/",`http://${u}`);if(c.method!=="GET"||O.pathname!==e){w(l,404,E("OAuth callback route not found."));return}if(o||y){w(l,409,E("This OAuth callback has already been used."));return}const A=O.searchParams.get("error");if(A){const d=O.searchParams.get("error_description")??A;w(l,400,E("OpenRouter authorization was denied.",d)),m({error:new Error(`OpenRouter authorization failed: ${d}`)});return}const k=O.searchParams.get("code");if(!k){w(l,400,E("OpenRouter returned no authorization code."));return}o=!0;try{const d=await _(k,r,a);w(l,200,S("Signed in to OpenRouter. You may now close this page.")),m({credential:d})}catch(d){const R=d instanceof Error?d.message:"Unknown token exchange error";w(l,502,E("OpenRouter key exchange failed.",R)),m({error:d instanceof Error?d:new Error(R)})}})()}),await new Promise((c,l)=>{t.once("error",l),t.listen(0,u,()=>{t.removeListener("error",l),c()})}),t.on("error",c=>m({error:c})),p=n(()=>m({error:new Error("Login cancelled")}),"onAbort"),a?.addEventListener("abort",p,{once:!0}),a?.aborted)throw h(),new Error("Login cancelled");g=setTimeout(()=>m({error:new Error("OpenRouter OAuth login timed out")}),H);const b=t.address();if(!b||typeof b=="string")throw h(),new Error("Could not determine the OpenRouter OAuth callback port");return{callbackUrl:`http://${u}:${b.port}${e}`,close:h,cancelWait:n(()=>{o||m({credential:null})},"cancelWait"),waitForCredential:n(()=>s,"waitForCredential")}}n(N,"startCallbackServer");async function M(e){const{verifier:r,challenge:a}=await T(),u=`/oauth/callback/${crypto.randomUUID()}`,i=await N(u,r,e.signal),f=new AbortController;let s,t;try{const o=new URL(C);o.search=new URLSearchParams({callback_url:i.callbackUrl,code_challenge:a,code_challenge_method:"S256"}).toString(),e.notify({type:"progress",message:`Listening for OpenRouter OAuth callback on ${i.callbackUrl}`}),e.notify({type:"auth_url",url:o.toString(),instructions:"Complete sign-in in your browser. If the browser is on another machine, paste the final redirect URL here."});const y=e.prompt({type:"manual_code",message:"Complete sign-in in your browser, or paste the authorization code / redirect URL here:",placeholder:i.callbackUrl,signal:f.signal}).then(h=>{s=h,i.cancelWait()}).catch(h=>{t=h instanceof Error?h:new Error(String(h)),i.cancelWait()}),g=await i.waitForCredential();if(t)throw t;if(g)return g;if(await y,t)throw t;const p=s?$(s):void 0;if(!p)throw new Error("Missing authorization code");return e.notify({type:"progress",message:"Exchanging authorization code for an API key..."}),await _(p,r,e.signal)}finally{f.abort(),i.close()}}n(M,"loginOpenRouter");export const openRouterOAuth={name:"OpenRouter OAuth",loginLabel:"Sign in with OpenRouter",login:M,async refresh(e){return e},async toAuth(e){return{apiKey:e.access}}};
1
+ var R=Object.defineProperty;var o=(e,n)=>R(e,"name",{value:n,configurable:!0});import{createServer as _}from"node:http";import{getProviderEnvValue as L}from"../../utils/provider-env.js";import{oauthErrorHtml as g,oauthSuccessHtml as v}from"./oauth-page.js";import{generatePKCE as T}from"./pkce.js";const S="https://openrouter.ai/auth",U="https://openrouter.ai/api/v1/auth/keys",C=300*1e3,H=3e4;function P(){return L("PI_OAUTH_CALLBACK_HOST")||"127.0.0.1"}o(P,"getCallbackHost");function p(e,n,r){e.statusCode=n,e.setHeader("content-type","text/html; charset=utf-8"),e.setHeader("cache-control","no-store"),e.end(r)}o(p,"sendHtml");function $(e){if(typeof e.error_description=="string")return e.error_description;if(typeof e.message=="string")return e.message;if(typeof e.error=="string")return e.error;if(e.error&&typeof e.error=="object"&&!Array.isArray(e.error)){const n=e.error.message;if(typeof n=="string")return n}}o($,"errorDetail");async function x(e,n,r){if(r?.aborted)throw new Error("Login cancelled");const s=new AbortController,l=o(()=>s.abort(r?.reason),"onAbort");r?.addEventListener("abort",l,{once:!0});const d=setTimeout(()=>s.abort(new Error("OpenRouter OAuth token exchange timed out")),H);let f,t={};try{f=await fetch(U,{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify({code:e,code_verifier:n,code_challenge_method:"S256"}),signal:s.signal});try{const a=await f.json();a&&typeof a=="object"&&!Array.isArray(a)&&(t=a)}catch{if(f.ok)throw new Error("OpenRouter OAuth returned invalid JSON")}}catch(a){throw r?.aborted?new Error("Login cancelled"):s.signal.aborted?new Error("OpenRouter OAuth token exchange timed out"):a}finally{clearTimeout(d),r?.removeEventListener("abort",l)}if(!f.ok){const a=$(t);throw new Error(`OpenRouter OAuth key exchange failed (HTTP ${f.status})${a?`: ${a}`:""}`)}if(typeof t.key!="string"||t.key.length===0)throw new Error('OpenRouter OAuth response carries no "key"');return{type:"oauth",access:t.key,refresh:"",expires:Number.MAX_SAFE_INTEGER}}o(x,"exchangeAuthorizationCode");async function N(e,n,r){if(r?.aborted)throw new Error("Login cancelled");const s=P();let l=o(()=>{},"resolveCredential"),d=o(()=>{},"rejectCredential");const f=new Promise((c,i)=>{l=c,d=i});let t,a=!1,O=!1,E,m;const h=o(c=>{O||(O=!0,E&&clearTimeout(E),m&&r?.removeEventListener("abort",m),t.close(),"credential"in c?l(c.credential):d(c.error))},"finish");if(t=_((c,i)=>{(async()=>{const w=new URL(c.url??"/",`http://${s}`);if(c.method!=="GET"||w.pathname!==e){p(i,404,g("OAuth callback route not found."));return}if(a||O){p(i,409,g("This OAuth callback has already been used."));return}const A=w.searchParams.get("error");if(A){const u=w.searchParams.get("error_description")??A;p(i,400,g("OpenRouter authorization was denied.",u)),h({error:new Error(`OpenRouter authorization failed: ${u}`)});return}const b=w.searchParams.get("code");if(!b){p(i,400,g("OpenRouter returned no authorization code."));return}a=!0;try{const u=await x(b,n,r);p(i,200,v("Signed in to OpenRouter. You may now close this page.")),h({credential:u})}catch(u){const k=u instanceof Error?u.message:"Unknown token exchange error";p(i,502,g("OpenRouter key exchange failed.",k)),h({error:u instanceof Error?u:new Error(k)})}})()}),await new Promise((c,i)=>{t.once("error",i),t.listen(0,s,()=>{t.removeListener("error",i),c()})}),t.on("error",c=>h({error:c})),m=o(()=>h({error:new Error("Login cancelled")}),"onAbort"),r?.addEventListener("abort",m,{once:!0}),r?.aborted)throw r.removeEventListener("abort",m),t.close(),new Error("Login cancelled");E=setTimeout(()=>h({error:new Error("OpenRouter OAuth login timed out")}),C);const y=t.address();if(!y||typeof y=="string")throw h({error:new Error("Could not determine the OpenRouter OAuth callback port")}),new Error("Could not determine the OpenRouter OAuth callback port");return{callbackUrl:`http://${s}:${y.port}${e}`,credential:f,close:o(()=>h({error:new Error("Login cancelled")}),"close")}}o(N,"startCallbackServer");async function I(e){const{verifier:n,challenge:r}=await T(),s=`/oauth/callback/${crypto.randomUUID()}`,l=await N(s,n,e.signal),d=new URL(S);d.search=new URLSearchParams({callback_url:l.callbackUrl,code_challenge:r,code_challenge_method:"S256"}).toString(),e.notify({type:"progress",message:`Listening for OpenRouter OAuth callback on ${l.callbackUrl}`}),e.notify({type:"auth_url",url:d.toString(),instructions:"Complete sign-in in your browser."});try{return await l.credential}finally{l.close()}}o(I,"loginOpenRouter");export const openRouterOAuth={name:"OpenRouter OAuth",loginLabel:"Sign in with OpenRouter",login:I,async refresh(e){return e},async toAuth(e){return{apiKey:e.access}}};
@@ -1 +1 @@
1
- var l=Object.defineProperty;var u=(t,e)=>l(t,"name",{value:e,configurable:!0});import{formatThrownValue as w}from"../utils/diagnostics.js";export class ModelsError extends Error{static{u(this,"ModelsError")}code;constructor(e,n,a){super(d(n,a?.cause),a),this.name="ModelsError",this.code=e}}function d(t,e){if(e==null)return t;const n=w(e).trim();return!n||t.includes(n)?t:`${t}: ${n}`}u(d,"withCauseDetail");export async function resolveProviderAuth(t,e,n,a){const i=a?.env?A(n,a.env):n;if(a?.apiKey!==void 0&&t.auth.apiKey)return s(i,t.auth.apiKey,t.id,{type:"api_key",key:a.apiKey,env:a.env});const r=await M(e,t.id);if(r){if(r.type==="oauth"&&t.auth.oauth)return K(e,t.id,t.auth.oauth,r,a?.minOAuthValidityMs);if(r.type==="api_key"&&t.auth.apiKey){const f=a?.env?{...r,env:{...r.env,...a.env}}:r;return s(i,t.auth.apiKey,t.id,f)}return}return t.auth.apiKey?s(i,t.auth.apiKey,t.id,void 0):void 0}u(resolveProviderAuth,"resolveProviderAuth");function A(t,e){return{env:u(async n=>e[n]||await t.env(n),"env"),fileExists:u(n=>t.fileExists(n),"fileExists")}}u(A,"overlayEnvAuthContext");const x=300*1e3;async function K(t,e,n,a,i){const r=Math.max(x,i??0),f=u(o=>Date.now()+r>=o.expires,"expiresSoon");let c=a;if(f(c)){let o;try{o=await t.modify(e,async h=>{if(h?.type==="oauth"&&f(h))try{return await n.refresh(h)}catch(y){throw new ModelsError("oauth",`OAuth refresh failed for ${e}`,{cause:y})}})}catch(h){throw h instanceof ModelsError?h:new ModelsError("auth",`Credential store modify failed for ${e}`,{cause:h})}if(o?.type!=="oauth")return;if(c=o,i!==void 0&&f(c))throw new ModelsError("oauth",`OAuth refresh returned a token that expires too soon for ${e}`)}try{return{auth:await n.toAuth(c),source:"OAuth"}}catch(o){throw new ModelsError("oauth",`OAuth auth derivation failed for ${e}`,{cause:o})}}u(K,"resolveStoredOAuth");async function s(t,e,n,a){try{return await e.resolve({ctx:t,credential:a})}catch(i){throw new ModelsError("auth",`API key auth failed for provider ${n}`,{cause:i})}}u(s,"resolveApiKey");async function M(t,e){try{return await t.read(e)}catch(n){throw new ModelsError("auth",`Credential store read failed for ${e}`,{cause:n})}}u(M,"readCredential");
1
+ var c=Object.defineProperty;var r=(t,e)=>c(t,"name",{value:e,configurable:!0});import{formatThrownValue as y}from"../utils/diagnostics.js";export class ModelsError extends Error{static{r(this,"ModelsError")}code;constructor(e,n,a){super(s(n,a?.cause),a),this.name="ModelsError",this.code=e}}function s(t,e){if(e==null)return t;const n=y(e).trim();return!n||t.includes(n)?t:`${t}: ${n}`}r(s,"withCauseDetail");export async function resolveProviderAuth(t,e,n,a){const i=a?.env?l(n,a.env):n;if(a?.apiKey!==void 0&&t.auth.apiKey)return h(i,t.auth.apiKey,t.id,{type:"api_key",key:a.apiKey,env:a.env});const u=await d(e,t.id);if(u){if(u.type==="oauth"&&t.auth.oauth)return w(e,t.id,t.auth.oauth,u);if(u.type==="api_key"&&t.auth.apiKey){const f=a?.env?{...u,env:{...u.env,...a.env}}:u;return h(i,t.auth.apiKey,t.id,f)}return}return t.auth.apiKey?h(i,t.auth.apiKey,t.id,void 0):void 0}r(resolveProviderAuth,"resolveProviderAuth");function l(t,e){return{env:r(async n=>e[n]||await t.env(n),"env"),fileExists:r(n=>t.fileExists(n),"fileExists")}}r(l,"overlayEnvAuthContext");async function w(t,e,n,a){let i=a;if(Date.now()>=i.expires){let u;try{u=await t.modify(e,async f=>{if(f?.type==="oauth"&&!(Date.now()<f.expires))try{return await n.refresh(f)}catch(o){throw new ModelsError("oauth",`OAuth refresh failed for ${e}`,{cause:o})}})}catch(f){throw f instanceof ModelsError?f:new ModelsError("auth",`Credential store modify failed for ${e}`,{cause:f})}if(u?.type!=="oauth")return;i=u}try{return{auth:await n.toAuth(i),source:"OAuth"}}catch(u){throw new ModelsError("oauth",`OAuth auth derivation failed for ${e}`,{cause:u})}}r(w,"resolveStoredOAuth");async function h(t,e,n,a){try{return await e.resolve({ctx:t,credential:a})}catch(i){throw new ModelsError("auth",`API key auth failed for provider ${n}`,{cause:i})}}r(h,"resolveApiKey");async function d(t,e){try{return await t.read(e)}catch(n){throw new ModelsError("auth",`Credential store read failed for ${e}`,{cause:n})}}r(d,"readCredential");
@@ -1 +1 @@
1
- {"schemaVersion":3,"generatedAt":"2026-07-29T22:27:21.904Z","structureHash":"5d82f5b1946bdf6d01733aa2a4e4410849c6d44a2ad3038171078c17aed367ce","files":{"amazon-bedrock.json":"1aabd3227d32b332727eec7638cebdbd1323d2e7eedbf9b174226c5d38196df9","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"fea1226a62396c8d4a3d9c3b7f65d4dc527ac025d05719880418d3a2b0665a69","azure-openai-responses.json":"2d13ecc23826b5be73f3628fca5f70cc2c5c15ff609b41e4acba8167cd40934b","cerebras.json":"3fd3e19b83ab4be07d27817e25e5be0ffe4158b1394f0311d6a22d9f03847728","cloudflare-ai-gateway.json":"692b375a3bcb11743a9c1899442caecc3861163d9424356d3d073d9fa5c04091","cloudflare-workers-ai.json":"03b19d69433c843512e953390d51d4578e9b91f19098a9b14ff820c001623598","deepseek.json":"0dcc807a4e5827b488c6ceac87884ff6e735e01cf4f2ddfec9dd812e6fde041b","fireworks.json":"befd3127f292d32e62306da05469e93e10d8b0e6572dbc2df991e3f9671e12f2","github-copilot.json":"3b30436a39d6be22dc8f809e8a7e25e85d2c91a5c9f180692ebf71be70163c60","google-vertex.json":"99d0b89ac9d8dc460ed922236abffbe88c9381af4d35046d2ad3a8f08fa2560c","google.json":"bcf8a8d59ccbb75bc6fb4a261a37ac4b7c806f40ee7313b4411178964be5fa37","groq.json":"868c90a897f75f866e09a585f6aee5cb991e40a9c3281497b5842a23de7d9add","huggingface.json":"d1952ba962c983a9f52a50323cf2475081a69b26b79467b3a9a9a06f8ab68899","kimi-coding.json":"ba42a26a69e5cb2122c0b384ba572efae93f42239ad86f26c2b7320a14aa75a1","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"44531201e872713923b7544a1f75a048d31fa25292e3e1f9f896f608a52e412d","moonshotai-cn.json":"1e6146ff3477883636448c0f44222f0a52b3c4562ef8f4eecf7e941cdd59d12e","moonshotai.json":"d8d5209873058ddccd37c1f026833e2ea3f9476c3dc9628b4a940d407acc0b2e","nvidia.json":"33c498ab62940fe9ca659826c35cc922a77938a5f7edbe4443c10d9133323e87","openai-codex.json":"c3313710bc6910e6bbcb06d5867247e97ec3fa6c2af9bc780f8a3eefb03e32e1","openai.json":"8e3852ef3567b23d2ab03b0f52f1caeb77e6e776f248e6111f851ccbe0fca8b6","opencode-go.json":"57a677764bc885c83fbbba46ad5d418baabe012a062424a0f6d8d488352102ce","opencode.json":"d4df3d4d4f8ef5970fbdfd02cdd5a643bddd5a1664307bb45da3503615a3e08e","openrouter.json":"f57911b114dbf272d311234696738288fdafc676383771179392b289834901c8","qwen-token-plan-cn.json":"9c5d76e655f9e74818c4bd137b4385252b92a0615f42da7ffabb4d61a4dc2f1a","qwen-token-plan.json":"4f89469fe53236f97c789b019d426e180f3a944b65c833c8b9a5415c2557ff24","together.json":"7192caa28dc8b59bca1d62d291708903413aac63e44d7b76362294171f2df018","vercel-ai-gateway.json":"de7354638dadbb40b8d83b6022de91e82d4dcc5c84088f1fe7033b3b3731502c","xai.json":"4cbdbfbbf915246369b9bacbc6f1feeb56accdac9f3444456343f750547f2f38","xiaomi-token-plan-ams.json":"7ce8ed244672c45737d286ff3ca9c3a2686a5d4b2f0c5f71ab9348c14b14daf3","xiaomi-token-plan-cn.json":"684892b5fe6fa371d6040d2011c0fa33facd650d2eaf19f5dbee8efb33016200","xiaomi-token-plan-sgp.json":"b19e79b82ac4fdcb080e6d220106797504c885ed70b27fc2b3c1aa4810f32963","xiaomi.json":"810368d3828c8bb9498012a0d48639030c0c216b8c13e79da02daa515aa23448","zai-coding-cn.json":"7408bc46d80b2199987f54f0df41126ef16e0621d7c0f90aaa1d70df3abb590b","zai.json":"602457a21f65879fc5273deaf89243e9b00c0c29c5503ae97ed4d2fb4548ed2b"}}
1
+ {"schemaVersion":3,"generatedAt":"2026-07-25T12:44:19.521Z","structureHash":"1a3c7cf59ada71c94abe4540976960524ee933034491c75d6418e2abc1b42535","files":{"amazon-bedrock.json":"1aabd3227d32b332727eec7638cebdbd1323d2e7eedbf9b174226c5d38196df9","ant-ling.json":"4979fe79d99ed97382d7ce40170c6132e932e77906de1eb54464c042e7d63633","anthropic.json":"fea1226a62396c8d4a3d9c3b7f65d4dc527ac025d05719880418d3a2b0665a69","azure-openai-responses.json":"2d13ecc23826b5be73f3628fca5f70cc2c5c15ff609b41e4acba8167cd40934b","cerebras.json":"3fd3e19b83ab4be07d27817e25e5be0ffe4158b1394f0311d6a22d9f03847728","cloudflare-ai-gateway.json":"9974b65a0c6dda063ea3a30f4a819cab7bf70f9a25e5e3ee2feaf85cfc167b9b","cloudflare-workers-ai.json":"03b19d69433c843512e953390d51d4578e9b91f19098a9b14ff820c001623598","deepseek.json":"0dcc807a4e5827b488c6ceac87884ff6e735e01cf4f2ddfec9dd812e6fde041b","fireworks.json":"0ea306d50e72343439f71995dcda0776473e0e43a8500c4ff42769f085fee09d","github-copilot.json":"1215a0792908480ff709a26954b1c4b76bcfec5d31f31d0843d505770c764c1e","google-vertex.json":"99d0b89ac9d8dc460ed922236abffbe88c9381af4d35046d2ad3a8f08fa2560c","google.json":"bcf8a8d59ccbb75bc6fb4a261a37ac4b7c806f40ee7313b4411178964be5fa37","groq.json":"868c90a897f75f866e09a585f6aee5cb991e40a9c3281497b5842a23de7d9add","huggingface.json":"e001db7b5925939c5850f31cd08b323cd40eb586222e2f74d7890eb52a30f161","kimi-coding.json":"ba42a26a69e5cb2122c0b384ba572efae93f42239ad86f26c2b7320a14aa75a1","minimax-cn.json":"8ccd71ff838f4b78bb88809babb0dc32a4fcfaec2bc4f4083841000428df4f77","minimax.json":"253edd4c910a41c8bb252400ba099f3a4de0a8900ce154319288ab091b372987","mistral.json":"44531201e872713923b7544a1f75a048d31fa25292e3e1f9f896f608a52e412d","moonshotai-cn.json":"1e6146ff3477883636448c0f44222f0a52b3c4562ef8f4eecf7e941cdd59d12e","moonshotai.json":"d8d5209873058ddccd37c1f026833e2ea3f9476c3dc9628b4a940d407acc0b2e","nvidia.json":"f476e23d9c3743c8ed3bb24a7d43b33cf90d1539ebe61c070ea2323555853e25","openai-codex.json":"c3313710bc6910e6bbcb06d5867247e97ec3fa6c2af9bc780f8a3eefb03e32e1","openai.json":"8e3852ef3567b23d2ab03b0f52f1caeb77e6e776f248e6111f851ccbe0fca8b6","opencode-go.json":"57a677764bc885c83fbbba46ad5d418baabe012a062424a0f6d8d488352102ce","opencode.json":"905b27bf3d7e48f35ca862991411b97a93782ad92b24129a2c3ee377fd1e3675","openrouter.json":"bc3e1ea3de6cb962c92ec3bd45f4e73c85ba2ad62ba824253498b41f8acc2b1e","qwen-token-plan-cn.json":"a1495ccc21835c51d438207652f948aa9ecf4a3d784e81deaf313e484bdab1ec","qwen-token-plan.json":"597fae649f549a8ffb0b6a28426ea6761b7ece41a78b6fdef49ca970ac029970","together.json":"1d46a57e99da9be6f7e78d8f98f5610adbb266df3de7b0a13652d6fa175086e7","vercel-ai-gateway.json":"61242947db49d08e4a70ccf4cd16eea9d58758effc35c2f6abdd953f8da64013","xai.json":"4cbdbfbbf915246369b9bacbc6f1feeb56accdac9f3444456343f750547f2f38","xiaomi-token-plan-ams.json":"7ce8ed244672c45737d286ff3ca9c3a2686a5d4b2f0c5f71ab9348c14b14daf3","xiaomi-token-plan-cn.json":"684892b5fe6fa371d6040d2011c0fa33facd650d2eaf19f5dbee8efb33016200","xiaomi-token-plan-sgp.json":"b19e79b82ac4fdcb080e6d220106797504c885ed70b27fc2b3c1aa4810f32963","xiaomi.json":"810368d3828c8bb9498012a0d48639030c0c216b8c13e79da02daa515aa23448","zai-coding-cn.json":"28fcb04ce65b4c6612a6b866902e0c832e18b685e5374578c4e2872569131d39","zai.json":"474670a0cf1109f4c296ea93d2c5c6eb8f53541dc9c0bddbb0e6cb054b971ebe"}}
@@ -1 +1 @@
1
- {"anthropic-messages":{"claude-3-5-haiku":{"id":"claude-3-5-haiku","name":"Claude Haiku 3.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":0.8,"output":4,"cacheRead":0.08,"cacheWrite":1},"contextWindow":200000,"maxTokens":8192,"compat":{"sendSessionAffinityHeaders":true}},"claude-3-haiku":{"id":"claude-3-haiku","name":"Claude Haiku 3","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":0.25,"output":1.25,"cacheRead":0.03,"cacheWrite":0.3},"contextWindow":200000,"maxTokens":4096,"compat":{"sendSessionAffinityHeaders":true}},"claude-3-opus":{"id":"claude-3-opus","name":"Claude Opus 3","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":15,"output":75,"cacheRead":1.5,"cacheWrite":18.75},"contextWindow":200000,"maxTokens":4096,"compat":{"sendSessionAffinityHeaders":true}},"claude-3-sonnet":{"id":"claude-3-sonnet","name":"Claude Sonnet 3","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0.3},"contextWindow":200000,"maxTokens":4096,"compat":{"sendSessionAffinityHeaders":true}},"claude-3.5-haiku":{"id":"claude-3.5-haiku","name":"Claude Haiku 3.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":0.8,"output":4,"cacheRead":0.08,"cacheWrite":1},"contextWindow":200000,"maxTokens":8192,"compat":{"sendSessionAffinityHeaders":true}},"claude-3.5-sonnet":{"id":"claude-3.5-sonnet","name":"Claude Sonnet 3.5 v2","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":8192,"compat":{"sendSessionAffinityHeaders":true}},"claude-fable-5":{"id":"claude-fable-5","name":"Claude Fable 5","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true},"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"}},"claude-haiku-4-5":{"id":"claude-haiku-4-5","name":"Claude Haiku 4.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true}},"claude-opus-4":{"id":"claude-opus-4","name":"Claude Opus 4 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":75,"cacheRead":1.5,"cacheWrite":18.75},"contextWindow":200000,"maxTokens":32000,"compat":{"sendSessionAffinityHeaders":true}},"claude-opus-4-1":{"id":"claude-opus-4-1","name":"Claude Opus 4.1 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":75,"cacheRead":1.5,"cacheWrite":18.75},"contextWindow":200000,"maxTokens":32000,"compat":{"sendSessionAffinityHeaders":true}},"claude-opus-4-5":{"id":"claude-opus-4-5","name":"Claude Opus 4.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true}},"claude-opus-4-6":{"id":"claude-opus-4-6","name":"Claude Opus 4.6 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true},"thinkingLevelMap":{"max":"max"}},"claude-opus-4-7":{"id":"claude-opus-4-7","name":"Claude Opus 4.7","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true,"supportsTemperature":false},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"}},"claude-opus-4-8":{"id":"claude-opus-4-8","name":"Claude Opus 4.8","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true,"supportsTemperature":false},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"}},"claude-opus-5":{"id":"claude-opus-5","name":"Claude Opus 5","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true,"supportsTemperature":false},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"}},"claude-sonnet-4":{"id":"claude-sonnet-4","name":"Claude Sonnet 4 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true}},"claude-sonnet-4-5":{"id":"claude-sonnet-4-5","name":"Claude Sonnet 4.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true}},"claude-sonnet-4-6":{"id":"claude-sonnet-4-6","name":"Claude Sonnet 4.6","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true},"thinkingLevelMap":{"max":"max"}},"claude-sonnet-5":{"id":"claude-sonnet-5","name":"Claude Sonnet 5","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"}}},"openai-completions":{"workers-ai/@cf/moonshotai/kimi-k2.5":{"id":"workers-ai/@cf/moonshotai/kimi-k2.5","name":"Kimi K2.5","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text","image"],"cost":{"input":0.6,"output":3,"cacheRead":0.1,"cacheWrite":0},"contextWindow":256000,"maxTokens":256000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}},"workers-ai/@cf/moonshotai/kimi-k2.6":{"id":"workers-ai/@cf/moonshotai/kimi-k2.6","name":"Kimi K2.6","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"contextWindow":256000,"maxTokens":256000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}},"workers-ai/@cf/nvidia/nemotron-3-120b-a12b":{"id":"workers-ai/@cf/nvidia/nemotron-3-120b-a12b","name":"Nemotron 3 Super 120B","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text"],"cost":{"input":0.5,"output":1.5,"cacheRead":0,"cacheWrite":0},"contextWindow":256000,"maxTokens":256000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}},"workers-ai/@cf/zai-org/glm-4.7-flash":{"id":"workers-ai/@cf/zai-org/glm-4.7-flash","name":"GLM-4.7-Flash","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text"],"cost":{"input":0.06,"output":0.4,"cacheRead":0,"cacheWrite":0},"contextWindow":131072,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}},"workers-ai/@cf/zai-org/glm-5.2":{"id":"workers-ai/@cf/zai-org/glm-5.2","name":"Glm 5.2","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"contextWindow":262144,"maxTokens":262144,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}}},"openai-responses":{"gpt-4":{"id":"gpt-4","name":"GPT-4","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":false,"input":["text"],"cost":{"input":30,"output":60,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":8192},"gpt-4-turbo":{"id":"gpt-4-turbo","name":"GPT-4 Turbo","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":false,"input":["text","image"],"cost":{"input":10,"output":30,"cacheRead":0,"cacheWrite":0},"contextWindow":128000,"maxTokens":4096},"gpt-4o":{"id":"gpt-4o","name":"GPT-4o","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-4o-mini":{"id":"gpt-4o-mini","name":"GPT-4o mini","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":false,"input":["text","image"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.08,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-5.1":{"id":"gpt-5.1","name":"GPT-5.1","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.13,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.1-codex":{"id":"gpt-5.1-codex","name":"GPT-5.1 Codex","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2":{"id":"gpt-5.2","name":"GPT-5.2","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-codex":{"id":"gpt-5.2-codex","name":"GPT-5.2 Codex","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex":{"id":"gpt-5.3-codex","name":"GPT-5.3 Codex","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4":{"id":"gpt-5.4","name":"GPT-5.4","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5":{"id":"gpt-5.5","name":"GPT-5.5","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":6,"cacheRead":0.1,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-sol":{"id":"gpt-5.6-sol","name":"GPT-5.6 Sol","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-terra":{"id":"gpt-5.6-terra","name":"GPT-5.6 Terra","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"o1":{"id":"o1","name":"o1","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":60,"cacheRead":7.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"o3":{"id":"o3","name":"o3","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"o3-mini":{"id":"o3-mini","name":"o3-mini","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.55,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"o3-pro":{"id":"o3-pro","name":"o3-pro","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":20,"output":80,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"o4-mini":{"id":"o4-mini","name":"o4-mini","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.28,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}
1
+ {"anthropic-messages":{"claude-3-5-haiku":{"id":"claude-3-5-haiku","name":"Claude Haiku 3.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":0.8,"output":4,"cacheRead":0.08,"cacheWrite":1},"contextWindow":200000,"maxTokens":8192,"compat":{"sendSessionAffinityHeaders":true}},"claude-3-haiku":{"id":"claude-3-haiku","name":"Claude Haiku 3","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":0.25,"output":1.25,"cacheRead":0.03,"cacheWrite":0.3},"contextWindow":200000,"maxTokens":4096,"compat":{"sendSessionAffinityHeaders":true}},"claude-3-opus":{"id":"claude-3-opus","name":"Claude Opus 3","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":15,"output":75,"cacheRead":1.5,"cacheWrite":18.75},"contextWindow":200000,"maxTokens":4096,"compat":{"sendSessionAffinityHeaders":true}},"claude-3-sonnet":{"id":"claude-3-sonnet","name":"Claude Sonnet 3","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0.3},"contextWindow":200000,"maxTokens":4096,"compat":{"sendSessionAffinityHeaders":true}},"claude-3.5-haiku":{"id":"claude-3.5-haiku","name":"Claude Haiku 3.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":0.8,"output":4,"cacheRead":0.08,"cacheWrite":1},"contextWindow":200000,"maxTokens":8192,"compat":{"sendSessionAffinityHeaders":true}},"claude-3.5-sonnet":{"id":"claude-3.5-sonnet","name":"Claude Sonnet 3.5 v2","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":false,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":8192,"compat":{"sendSessionAffinityHeaders":true}},"claude-fable-5":{"id":"claude-fable-5","name":"Claude Fable 5","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true},"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"}},"claude-haiku-4-5":{"id":"claude-haiku-4-5","name":"Claude Haiku 4.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true}},"claude-opus-4":{"id":"claude-opus-4","name":"Claude Opus 4 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":75,"cacheRead":1.5,"cacheWrite":18.75},"contextWindow":200000,"maxTokens":32000,"compat":{"sendSessionAffinityHeaders":true}},"claude-opus-4-1":{"id":"claude-opus-4-1","name":"Claude Opus 4.1 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":75,"cacheRead":1.5,"cacheWrite":18.75},"contextWindow":200000,"maxTokens":32000,"compat":{"sendSessionAffinityHeaders":true}},"claude-opus-4-5":{"id":"claude-opus-4-5","name":"Claude Opus 4.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true}},"claude-opus-4-6":{"id":"claude-opus-4-6","name":"Claude Opus 4.6 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true},"thinkingLevelMap":{"max":"max"}},"claude-opus-4-7":{"id":"claude-opus-4-7","name":"Claude Opus 4.7","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true,"supportsTemperature":false},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"}},"claude-opus-4-8":{"id":"claude-opus-4-8","name":"Claude Opus 4.8","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true,"supportsTemperature":false},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"}},"claude-sonnet-4":{"id":"claude-sonnet-4","name":"Claude Sonnet 4 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true}},"claude-sonnet-4-5":{"id":"claude-sonnet-4-5","name":"Claude Sonnet 4.5 (latest)","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true}},"claude-sonnet-4-6":{"id":"claude-sonnet-4-6","name":"Claude Sonnet 4.6","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":64000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true},"thinkingLevelMap":{"max":"max"}},"claude-sonnet-5":{"id":"claude-sonnet-5","name":"Claude Sonnet 5","api":"anthropic-messages","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"compat":{"sendSessionAffinityHeaders":true,"forceAdaptiveThinking":true},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"}}},"openai-completions":{"workers-ai/@cf/moonshotai/kimi-k2.5":{"id":"workers-ai/@cf/moonshotai/kimi-k2.5","name":"Kimi K2.5","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text","image"],"cost":{"input":0.6,"output":3,"cacheRead":0.1,"cacheWrite":0},"contextWindow":256000,"maxTokens":256000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}},"workers-ai/@cf/moonshotai/kimi-k2.6":{"id":"workers-ai/@cf/moonshotai/kimi-k2.6","name":"Kimi K2.6","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"contextWindow":256000,"maxTokens":256000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}},"workers-ai/@cf/nvidia/nemotron-3-120b-a12b":{"id":"workers-ai/@cf/nvidia/nemotron-3-120b-a12b","name":"Nemotron 3 Super 120B","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text"],"cost":{"input":0.5,"output":1.5,"cacheRead":0,"cacheWrite":0},"contextWindow":256000,"maxTokens":256000,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}},"workers-ai/@cf/zai-org/glm-4.7-flash":{"id":"workers-ai/@cf/zai-org/glm-4.7-flash","name":"GLM-4.7-Flash","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text"],"cost":{"input":0.06,"output":0.4,"cacheRead":0,"cacheWrite":0},"contextWindow":131072,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}},"workers-ai/@cf/zai-org/glm-5.2":{"id":"workers-ai/@cf/zai-org/glm-5.2","name":"Glm 5.2","api":"openai-completions","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"contextWindow":262144,"maxTokens":262144,"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false,"maxTokensField":"max_tokens","supportsStrictMode":false,"supportsLongCacheRetention":false,"sendSessionAffinityHeaders":true}}},"openai-responses":{"gpt-4":{"id":"gpt-4","name":"GPT-4","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":false,"input":["text"],"cost":{"input":30,"output":60,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":8192},"gpt-4-turbo":{"id":"gpt-4-turbo","name":"GPT-4 Turbo","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":false,"input":["text","image"],"cost":{"input":10,"output":30,"cacheRead":0,"cacheWrite":0},"contextWindow":128000,"maxTokens":4096},"gpt-4o":{"id":"gpt-4o","name":"GPT-4o","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":false,"input":["text","image"],"cost":{"input":2.5,"output":10,"cacheRead":1.25,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-4o-mini":{"id":"gpt-4o-mini","name":"GPT-4o mini","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":false,"input":["text","image"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.08,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384},"gpt-5.1":{"id":"gpt-5.1","name":"GPT-5.1","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.13,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.1-codex":{"id":"gpt-5.1-codex","name":"GPT-5.1 Codex","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2":{"id":"gpt-5.2","name":"GPT-5.2","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-codex":{"id":"gpt-5.2-codex","name":"GPT-5.2 Codex","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex":{"id":"gpt-5.3-codex","name":"GPT-5.3 Codex","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4":{"id":"gpt-5.4","name":"GPT-5.4","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5":{"id":"gpt-5.5","name":"GPT-5.5","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":6,"cacheRead":0.1,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-sol":{"id":"gpt-5.6-sol","name":"GPT-5.6 Sol","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-terra":{"id":"gpt-5.6-terra","name":"GPT-5.6 Terra","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0},"contextWindow":1050000,"maxTokens":128000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"o1":{"id":"o1","name":"o1","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":15,"output":60,"cacheRead":7.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"o3":{"id":"o3","name":"o3","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"o3-mini":{"id":"o3-mini","name":"o3-mini","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.55,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"o3-pro":{"id":"o3-pro","name":"o3-pro","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":20,"output":80,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}},"o4-mini":{"id":"o4-mini","name":"o4-mini","api":"openai-responses","provider":"cloudflare-ai-gateway","baseUrl":"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai","reasoning":true,"input":["text","image"],"cost":{"input":1.1,"output":4.4,"cacheRead":0.28,"cacheWrite":0},"contextWindow":200000,"maxTokens":100000,"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}
@@ -1 +1 @@
1
- {"anthropic-messages":{"accounts/fireworks/models/deepseek-v4-flash":{"id":"accounts/fireworks/models/deepseek-v4-flash","name":"DeepSeek V4 Flash","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.028,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/deepseek-v4-pro":{"id":"accounts/fireworks/models/deepseek-v4-pro","name":"DeepSeek V4 Pro","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":1.74,"output":3.48,"cacheRead":0.145,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/gpt-oss-120b":{"id":"accounts/fireworks/models/gpt-oss-120b","name":"GPT OSS 120B","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.015,"cacheWrite":0},"contextWindow":131072,"maxTokens":32768,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/gpt-oss-20b":{"id":"accounts/fireworks/models/gpt-oss-20b","name":"GPT OSS 20B","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.07,"output":0.3,"cacheRead":0.035,"cacheWrite":0},"contextWindow":131072,"maxTokens":32768,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/kimi-k2p6":{"id":"accounts/fireworks/models/kimi-k2p6","name":"Kimi K2.6","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/kimi-k2p7-code":{"id":"accounts/fireworks/models/kimi-k2p7-code","name":"Kimi K2.7 Code","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/kimi-k3":{"id":"accounts/fireworks/models/kimi-k3","name":"Kimi K3","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/minimax-m2p7":{"id":"accounts/fireworks/models/minimax-m2p7","name":"MiniMax-M2.7","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":196608,"maxTokens":196608,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/minimax-m3":{"id":"accounts/fireworks/models/minimax-m3","name":"MiniMax-M3","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":512000,"maxTokens":512000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/qwen3p7-plus":{"id":"accounts/fireworks/models/qwen3p7-plus","name":"Qwen 3.7 Plus","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.08,"cacheWrite":0},"contextWindow":262144,"maxTokens":65536,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p6-fast":{"id":"accounts/fireworks/routers/kimi-k2p6-fast","name":"Kimi K2.6 Fast","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.3,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p6-turbo":{"id":"accounts/fireworks/routers/kimi-k2p6-turbo","name":"Kimi K2.6 Turbo","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.3,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p7-code-fast":{"id":"accounts/fireworks/routers/kimi-k2p7-code-fast","name":"Kimi K2.7 Code Fast","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":1.9,"output":8,"cacheRead":0.38,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k3-fast":{"id":"accounts/fireworks/routers/kimi-k3-fast","name":"Kimi K3 Fast","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":4.5,"output":22.5,"cacheRead":0.45,"cacheWrite":0},"contextWindow":1048576,"maxTokens":131072,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}}},"openai-completions":{"accounts/fireworks/models/glm-5p2":{"id":"accounts/fireworks/models/glm-5p2","name":"GLM 5.2","api":"openai-completions","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.14,"cacheWrite":0},"contextWindow":1048575,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false},"thinkingLevelMap":{"off":"none","minimal":null,"low":"high","medium":"high","high":"high","xhigh":null,"max":"max"}},"accounts/fireworks/routers/glm-5p2-fast":{"id":"accounts/fireworks/routers/glm-5p2-fast","name":"GLM 5.2 Fast","api":"openai-completions","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference/v1","reasoning":true,"input":["text"],"cost":{"input":2.1,"output":6.6,"cacheRead":0.21,"cacheWrite":0},"contextWindow":1048575,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false},"thinkingLevelMap":{"off":"none","minimal":null,"low":"high","medium":"high","high":"high","xhigh":null,"max":"max"}}}}
1
+ {"anthropic-messages":{"accounts/fireworks/models/deepseek-v4-flash":{"id":"accounts/fireworks/models/deepseek-v4-flash","name":"DeepSeek V4 Flash","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.14,"output":0.28,"cacheRead":0.028,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/deepseek-v4-pro":{"id":"accounts/fireworks/models/deepseek-v4-pro","name":"DeepSeek V4 Pro","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":1.74,"output":3.48,"cacheRead":0.145,"cacheWrite":0},"contextWindow":1000000,"maxTokens":384000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/glm-5p1":{"id":"accounts/fireworks/models/glm-5p1","name":"GLM 5.1","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.26,"cacheWrite":0},"contextWindow":202800,"maxTokens":131072,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/gpt-oss-120b":{"id":"accounts/fireworks/models/gpt-oss-120b","name":"GPT OSS 120B","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.15,"output":0.6,"cacheRead":0.015,"cacheWrite":0},"contextWindow":131072,"maxTokens":32768,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/gpt-oss-20b":{"id":"accounts/fireworks/models/gpt-oss-20b","name":"GPT OSS 20B","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.07,"output":0.3,"cacheRead":0.035,"cacheWrite":0},"contextWindow":131072,"maxTokens":32768,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/kimi-k2p6":{"id":"accounts/fireworks/models/kimi-k2p6","name":"Kimi K2.6","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.16,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/kimi-k2p7-code":{"id":"accounts/fireworks/models/kimi-k2p7-code","name":"Kimi K2.7 Code","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/minimax-m2p7":{"id":"accounts/fireworks/models/minimax-m2p7","name":"MiniMax-M2.7","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":196608,"maxTokens":196608,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/minimax-m3":{"id":"accounts/fireworks/models/minimax-m3","name":"MiniMax-M3","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.3,"output":1.2,"cacheRead":0.06,"cacheWrite":0},"contextWindow":512000,"maxTokens":512000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/models/qwen3p7-plus":{"id":"accounts/fireworks/models/qwen3p7-plus","name":"Qwen 3.7 Plus","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":0.4,"output":1.6,"cacheRead":0.08,"cacheWrite":0},"contextWindow":262144,"maxTokens":65536,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/glm-5p1-fast":{"id":"accounts/fireworks/routers/glm-5p1-fast","name":"GLM 5.1 Fast","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text"],"cost":{"input":2.8,"output":8.8,"cacheRead":0.52,"cacheWrite":0},"contextWindow":202800,"maxTokens":131072,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p6-fast":{"id":"accounts/fireworks/routers/kimi-k2p6-fast","name":"Kimi K2.6 Fast","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.3,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p6-turbo":{"id":"accounts/fireworks/routers/kimi-k2p6-turbo","name":"Kimi K2.6 Turbo","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.3,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}},"accounts/fireworks/routers/kimi-k2p7-code-fast":{"id":"accounts/fireworks/routers/kimi-k2p7-code-fast","name":"Kimi K2.7 Code Fast","api":"anthropic-messages","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference","reasoning":true,"input":["text","image"],"cost":{"input":1.9,"output":8,"cacheRead":0.38,"cacheWrite":0},"contextWindow":262000,"maxTokens":262000,"compat":{"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}}},"openai-completions":{"accounts/fireworks/models/glm-5p2":{"id":"accounts/fireworks/models/glm-5p2","name":"GLM 5.2","api":"openai-completions","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference/v1","reasoning":true,"input":["text"],"cost":{"input":1.4,"output":4.4,"cacheRead":0.14,"cacheWrite":0},"contextWindow":1048575,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false},"thinkingLevelMap":{"off":"none","minimal":null,"low":"high","medium":"high","high":"high","xhigh":null,"max":"max"}},"accounts/fireworks/routers/glm-5p2-fast":{"id":"accounts/fireworks/routers/glm-5p2-fast","name":"GLM 5.2 Fast","api":"openai-completions","provider":"fireworks","baseUrl":"https://api.fireworks.ai/inference/v1","reasoning":true,"input":["text"],"cost":{"input":2.1,"output":6.6,"cacheRead":0.21,"cacheWrite":0},"contextWindow":1048575,"maxTokens":131072,"compat":{"supportsStore":false,"supportsDeveloperRole":false},"thinkingLevelMap":{"off":"none","minimal":null,"low":"high","medium":"high","high":"high","xhigh":null,"max":"max"}}}}
@@ -1 +1 @@
1
- {"anthropic-messages":{"claude-haiku-4.5":{"id":"claude-haiku-4.5","name":"Claude Haiku 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-opus-4.5":{"id":"claude-opus-4.5","name":"Claude Opus 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"}},"claude-opus-4.6":{"id":"claude-opus-4.6","name":"Claude Opus 4.6","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"max":"max"},"compat":{"forceAdaptiveThinking":true}},"claude-opus-4.7":{"id":"claude-opus-4.7","name":"Claude Opus 4.7","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-opus-4.8":{"id":"claude-opus-4.8","name":"Claude Opus 4.8","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-opus-5":{"id":"claude-opus-5","name":"Claude Opus 5","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-sonnet-4":{"id":"claude-sonnet-4","name":"Claude Sonnet 4 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":216000,"maxTokens":16000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-sonnet-4.5":{"id":"claude-sonnet-4.5","name":"Claude Sonnet 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-sonnet-4.6":{"id":"claude-sonnet-4.6","name":"Claude Sonnet 4.6","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true}},"claude-sonnet-5":{"id":"claude-sonnet-5","name":"Claude Sonnet 5","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true}}},"openai-completions":{"claude-fable-5":{"id":"claude-fable-5","name":"Claude Fable 5","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false},"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"}},"gemini-2.5-pro":{"id":"gemini-2.5-pro","name":"Gemini 2.5 Pro","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":128000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3-flash-preview":{"id":"gemini-3-flash-preview","name":"Gemini 3 Flash Preview","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0},"contextWindow":128000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3.1-pro-preview":{"id":"gemini-3.1-pro-preview","name":"Gemini 3.1 Pro Preview","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3.5-flash":{"id":"gemini-3.5-flash","name":"Gemini 3.5 Flash","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.5,"output":9,"cacheRead":0.15,"cacheWrite":0},"contextWindow":200000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gpt-4.1":{"id":"gpt-4.1","name":"GPT-4.1","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":false,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"kimi-k2.7-code":{"id":"kimi-k2.7-code","name":"Kimi K2.7 Code","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"contextWindow":256000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}}},"openai-responses":{"gpt-5-mini":{"id":"gpt-5-mini","name":"GPT-5 Mini","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":2,"cacheRead":0.025,"cacheWrite":0},"contextWindow":264000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":null,"max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2":{"id":"gpt-5.2","name":"GPT-5.2","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-codex":{"id":"gpt-5.2-codex","name":"GPT-5.2 Codex","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex":{"id":"gpt-5.3-codex","name":"GPT-5.3 Codex","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4":{"id":"gpt-5.4","name":"GPT-5.4","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":5,"output":22.5,"cacheRead":0.5,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-mini":{"id":"gpt-5.4-mini","name":"GPT-5.4 mini","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-nano":{"id":"gpt-5.4-nano","name":"GPT-5.4 nano","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.25,"cacheRead":0.02,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5":{"id":"gpt-5.5","name":"GPT-5.5","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":6,"cacheRead":0.1,"cacheWrite":1.25,"tiers":[{"inputTokensAbove":200000,"input":2,"output":9,"cacheRead":0.2,"cacheWrite":2.5}]},"contextWindow":1050000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-sol":{"id":"gpt-5.6-sol","name":"GPT-5.6 Sol","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":6.25,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":12.5}]},"contextWindow":1050000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-terra":{"id":"gpt-5.6-terra","name":"GPT-5.6 Terra","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":3.125,"tiers":[{"inputTokensAbove":272000,"input":5,"output":22.5,"cacheRead":0.5,"cacheWrite":6.25}]},"contextWindow":1050000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"mai-code-1-flash-picker":{"id":"mai-code-1-flash-picker","name":"MAI-Code-1-Flash","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":256000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}
1
+ {"anthropic-messages":{"claude-haiku-4.5":{"id":"claude-haiku-4.5","name":"Claude Haiku 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":5,"cacheRead":0.1,"cacheWrite":1.25},"contextWindow":200000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-opus-4.5":{"id":"claude-opus-4.5","name":"Claude Opus 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":200000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"}},"claude-opus-4.6":{"id":"claude-opus-4.6","name":"Claude Opus 4.6","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"max":"max"},"compat":{"forceAdaptiveThinking":true}},"claude-opus-4.7":{"id":"claude-opus-4.7","name":"Claude Opus 4.7","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-opus-4.8":{"id":"claude-opus-4.8","name":"Claude Opus 4.8","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-opus-5":{"id":"claude-opus-5","name":"Claude Opus 5","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":25,"cacheRead":0.5,"cacheWrite":6.25},"contextWindow":1000000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true,"supportsTemperature":false}},"claude-sonnet-4":{"id":"claude-sonnet-4","name":"Claude Sonnet 4 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":216000,"maxTokens":16000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-sonnet-4.5":{"id":"claude-sonnet-4.5","name":"Claude Sonnet 4.5 (latest)","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":200000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsEagerToolInputStreaming":false}},"claude-sonnet-4.6":{"id":"claude-sonnet-4.6","name":"Claude Sonnet 4.6","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":3,"output":15,"cacheRead":0.3,"cacheWrite":3.75},"contextWindow":1000000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"max":"max","minimal":"low"},"compat":{"forceAdaptiveThinking":true}},"claude-sonnet-5":{"id":"claude-sonnet-5","name":"Claude Sonnet 5","api":"anthropic-messages","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":10,"cacheRead":0.2,"cacheWrite":2.5},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"xhigh":"xhigh","max":"max"},"compat":{"forceAdaptiveThinking":true}}},"openai-completions":{"claude-fable-5":{"id":"claude-fable-5","name":"Claude Fable 5","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":10,"output":50,"cacheRead":1,"cacheWrite":12.5},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false},"thinkingLevelMap":{"off":null,"xhigh":"xhigh","max":"max"}},"gemini-2.5-pro":{"id":"gemini-2.5-pro","name":"Gemini 2.5 Pro","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.25,"output":10,"cacheRead":0.125,"cacheWrite":0},"contextWindow":128000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3-flash-preview":{"id":"gemini-3-flash-preview","name":"Gemini 3 Flash Preview","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.5,"output":3,"cacheRead":0.05,"cacheWrite":0},"contextWindow":128000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3.1-pro-preview":{"id":"gemini-3.1-pro-preview","name":"Gemini 3.1 Pro Preview","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2,"output":12,"cacheRead":0.2,"cacheWrite":0,"tiers":[{"inputTokensAbove":200000,"input":4,"output":18,"cacheRead":0.4,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gemini-3.5-flash":{"id":"gemini-3.5-flash","name":"Gemini 3.5 Flash","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.5,"output":9,"cacheRead":0.15,"cacheWrite":0},"contextWindow":200000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"gpt-4.1":{"id":"gpt-4.1","name":"GPT-4.1","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":false,"input":["text","image"],"cost":{"input":2,"output":8,"cacheRead":0.5,"cacheWrite":0},"contextWindow":128000,"maxTokens":16384,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}},"kimi-k2.7-code":{"id":"kimi-k2.7-code","name":"Kimi K2.7 Code","api":"openai-completions","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.95,"output":4,"cacheRead":0.19,"cacheWrite":0},"contextWindow":256000,"maxTokens":32000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"compat":{"supportsStore":false,"supportsDeveloperRole":false,"supportsReasoningEffort":false}}},"openai-responses":{"gpt-5-mini":{"id":"gpt-5-mini","name":"GPT-5 Mini","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.25,"output":2,"cacheRead":0.025,"cacheWrite":0},"contextWindow":264000,"maxTokens":64000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":null,"max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2":{"id":"gpt-5.2","name":"GPT-5.2","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.2-codex":{"id":"gpt-5.2-codex","name":"GPT-5.2 Codex","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.3-codex":{"id":"gpt-5.3-codex","name":"GPT-5.3 Codex","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1.75,"output":14,"cacheRead":0.175,"cacheWrite":0},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4":{"id":"gpt-5.4","name":"GPT-5.4","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":5,"output":22.5,"cacheRead":0.5,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-mini":{"id":"gpt-5.4-mini","name":"GPT-5.4 mini","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.4-nano":{"id":"gpt-5.4-nano","name":"GPT-5.4 nano","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":0.2,"output":1.25,"cacheRead":0.02,"cacheWrite":0},"contextWindow":400000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","xhigh":"xhigh"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.5":{"id":"gpt-5.5","name":"GPT-5.5","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":0,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":0}]},"contextWindow":1000000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":null},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-luna":{"id":"gpt-5.6-luna","name":"GPT-5.6 Luna","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":1,"output":6,"cacheRead":0.1,"cacheWrite":1.25,"tiers":[{"inputTokensAbove":200000,"input":2,"output":9,"cacheRead":0.2,"cacheWrite":2.5}]},"contextWindow":1050000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-sol":{"id":"gpt-5.6-sol","name":"GPT-5.6 Sol","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":5,"output":30,"cacheRead":0.5,"cacheWrite":6.25,"tiers":[{"inputTokensAbove":272000,"input":10,"output":45,"cacheRead":1,"cacheWrite":12.5}]},"contextWindow":1050000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"gpt-5.6-terra":{"id":"gpt-5.6-terra","name":"GPT-5.6 Terra","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text","image"],"cost":{"input":2.5,"output":15,"cacheRead":0.25,"cacheWrite":3.125,"tiers":[{"inputTokensAbove":272000,"input":5,"output":22.5,"cacheRead":0.5,"cacheWrite":6.25}]},"contextWindow":1050000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":"low","low":"low","medium":"medium","high":"high","xhigh":"xhigh","max":"max"},"compat":{"supportsOpenAIGrammarTools":true}},"mai-code-1-flash-picker":{"id":"mai-code-1-flash-picker","name":"MAI-Code-1-Flash","api":"openai-responses","provider":"github-copilot","baseUrl":"https://api.individual.githubcopilot.com","reasoning":true,"input":["text"],"cost":{"input":0.75,"output":4.5,"cacheRead":0.075,"cacheWrite":0},"contextWindow":256000,"maxTokens":128000,"headers":{"User-Agent":"GitHubCopilotChat/0.35.0","Editor-Version":"vscode/1.107.0","Editor-Plugin-Version":"copilot-chat/0.35.0","Copilot-Integration-Id":"vscode-chat"},"thinkingLevelMap":{"off":null,"minimal":null,"low":"low","medium":"medium","high":"high","xhigh":null,"max":null}}}}