@draht/ai 2026.5.12 → 2026.7.7

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 (611) hide show
  1. package/dist/api/anthropic-messages.d.ts +71 -0
  2. package/dist/api/anthropic-messages.d.ts.map +1 -0
  3. package/dist/api/anthropic-messages.js +972 -0
  4. package/dist/api/anthropic-messages.js.map +1 -0
  5. package/dist/api/anthropic-messages.lazy.d.ts +3 -0
  6. package/dist/api/anthropic-messages.lazy.d.ts.map +1 -0
  7. package/dist/api/anthropic-messages.lazy.js +3 -0
  8. package/dist/api/anthropic-messages.lazy.js.map +1 -0
  9. package/dist/api/azure-openai-responses.d.ts +15 -0
  10. package/dist/api/azure-openai-responses.d.ts.map +1 -0
  11. package/dist/api/azure-openai-responses.js +222 -0
  12. package/dist/api/azure-openai-responses.js.map +1 -0
  13. package/dist/api/azure-openai-responses.lazy.d.ts +3 -0
  14. package/dist/api/azure-openai-responses.lazy.d.ts.map +1 -0
  15. package/dist/api/azure-openai-responses.lazy.js +3 -0
  16. package/dist/api/azure-openai-responses.lazy.js.map +1 -0
  17. package/dist/api/bedrock-converse-stream.d.ts +38 -0
  18. package/dist/api/bedrock-converse-stream.d.ts.map +1 -0
  19. package/dist/api/bedrock-converse-stream.js +876 -0
  20. package/dist/api/bedrock-converse-stream.js.map +1 -0
  21. package/dist/api/bedrock-converse-stream.lazy.d.ts +9 -0
  22. package/dist/api/bedrock-converse-stream.lazy.d.ts.map +1 -0
  23. package/dist/api/bedrock-converse-stream.lazy.js +30 -0
  24. package/dist/api/bedrock-converse-stream.lazy.js.map +1 -0
  25. package/dist/api/cloudflare.d.ts +9 -0
  26. package/dist/api/cloudflare.d.ts.map +1 -0
  27. package/dist/api/cloudflare.js +9 -0
  28. package/dist/api/cloudflare.js.map +1 -0
  29. package/dist/{providers → api}/github-copilot-headers.d.ts +1 -1
  30. package/dist/api/github-copilot-headers.d.ts.map +1 -0
  31. package/dist/api/github-copilot-headers.js.map +1 -0
  32. package/dist/api/google-generative-ai.d.ts +13 -0
  33. package/dist/api/google-generative-ai.d.ts.map +1 -0
  34. package/dist/api/google-generative-ai.js +407 -0
  35. package/dist/api/google-generative-ai.js.map +1 -0
  36. package/dist/api/google-generative-ai.lazy.d.ts +3 -0
  37. package/dist/api/google-generative-ai.lazy.d.ts.map +1 -0
  38. package/dist/api/google-generative-ai.lazy.js +3 -0
  39. package/dist/api/google-generative-ai.lazy.js.map +1 -0
  40. package/dist/{providers → api}/google-shared.d.ts +8 -3
  41. package/dist/api/google-shared.d.ts.map +1 -0
  42. package/dist/{providers → api}/google-shared.js +34 -17
  43. package/dist/api/google-shared.js.map +1 -0
  44. package/dist/api/google-vertex.d.ts +15 -0
  45. package/dist/api/google-vertex.d.ts.map +1 -0
  46. package/dist/api/google-vertex.js +456 -0
  47. package/dist/api/google-vertex.js.map +1 -0
  48. package/dist/api/google-vertex.lazy.d.ts +3 -0
  49. package/dist/api/google-vertex.lazy.d.ts.map +1 -0
  50. package/dist/api/google-vertex.lazy.js +3 -0
  51. package/dist/api/google-vertex.lazy.js.map +1 -0
  52. package/dist/api/lazy.d.ts +15 -0
  53. package/dist/api/lazy.d.ts.map +1 -0
  54. package/dist/api/lazy.js +59 -0
  55. package/dist/api/lazy.js.map +1 -0
  56. package/dist/api/mistral-conversations.d.ts +25 -0
  57. package/dist/api/mistral-conversations.d.ts.map +1 -0
  58. package/dist/api/mistral-conversations.js +555 -0
  59. package/dist/api/mistral-conversations.js.map +1 -0
  60. package/dist/api/mistral-conversations.lazy.d.ts +3 -0
  61. package/dist/api/mistral-conversations.lazy.d.ts.map +1 -0
  62. package/dist/api/mistral-conversations.lazy.js +3 -0
  63. package/dist/api/mistral-conversations.lazy.js.map +1 -0
  64. package/dist/api/openai-codex-responses.d.ts +30 -0
  65. package/dist/api/openai-codex-responses.d.ts.map +1 -0
  66. package/dist/api/openai-codex-responses.js +1228 -0
  67. package/dist/api/openai-codex-responses.js.map +1 -0
  68. package/dist/api/openai-codex-responses.lazy.d.ts +3 -0
  69. package/dist/api/openai-codex-responses.lazy.d.ts.map +1 -0
  70. package/dist/api/openai-codex-responses.lazy.js +3 -0
  71. package/dist/api/openai-codex-responses.lazy.js.map +1 -0
  72. package/dist/api/openai-completions.d.ts +19 -0
  73. package/dist/api/openai-completions.d.ts.map +1 -0
  74. package/dist/api/openai-completions.js +1061 -0
  75. package/dist/api/openai-completions.js.map +1 -0
  76. package/dist/api/openai-completions.lazy.d.ts +3 -0
  77. package/dist/api/openai-completions.lazy.d.ts.map +1 -0
  78. package/dist/api/openai-completions.lazy.js +3 -0
  79. package/dist/api/openai-completions.lazy.js.map +1 -0
  80. package/dist/api/openai-prompt-cache.d.ts +3 -0
  81. package/dist/api/openai-prompt-cache.d.ts.map +1 -0
  82. package/dist/api/openai-prompt-cache.js +10 -0
  83. package/dist/api/openai-prompt-cache.js.map +1 -0
  84. package/dist/{providers → api}/openai-responses-shared.d.ts +3 -2
  85. package/dist/api/openai-responses-shared.d.ts.map +1 -0
  86. package/dist/{providers → api}/openai-responses-shared.js +201 -189
  87. package/dist/api/openai-responses-shared.js.map +1 -0
  88. package/dist/{providers → api}/openai-responses.d.ts +3 -3
  89. package/dist/api/openai-responses.d.ts.map +1 -0
  90. package/dist/api/openai-responses.js +229 -0
  91. package/dist/api/openai-responses.js.map +1 -0
  92. package/dist/api/openai-responses.lazy.d.ts +3 -0
  93. package/dist/api/openai-responses.lazy.d.ts.map +1 -0
  94. package/dist/api/openai-responses.lazy.js +3 -0
  95. package/dist/api/openai-responses.lazy.js.map +1 -0
  96. package/dist/api/openrouter-images.d.ts +3 -0
  97. package/dist/api/openrouter-images.d.ts.map +1 -0
  98. package/dist/api/openrouter-images.js +126 -0
  99. package/dist/api/openrouter-images.js.map +1 -0
  100. package/dist/api/openrouter-images.lazy.d.ts +3 -0
  101. package/dist/api/openrouter-images.lazy.d.ts.map +1 -0
  102. package/dist/api/openrouter-images.lazy.js +4 -0
  103. package/dist/api/openrouter-images.lazy.js.map +1 -0
  104. package/dist/api/simple-options.d.ts +14 -0
  105. package/dist/api/simple-options.d.ts.map +1 -0
  106. package/dist/{providers → api}/simple-options.js +20 -4
  107. package/dist/api/simple-options.js.map +1 -0
  108. package/dist/{providers → api}/transform-messages.d.ts +1 -1
  109. package/dist/api/transform-messages.d.ts.map +1 -0
  110. package/dist/{providers → api}/transform-messages.js +66 -34
  111. package/dist/api/transform-messages.js.map +1 -0
  112. package/dist/auth/context.d.ts +7 -0
  113. package/dist/auth/context.d.ts.map +1 -0
  114. package/dist/auth/context.js +42 -0
  115. package/dist/auth/context.js.map +1 -0
  116. package/dist/auth/credential-store.d.ts +16 -0
  117. package/dist/auth/credential-store.d.ts.map +1 -0
  118. package/dist/auth/credential-store.js +37 -0
  119. package/dist/auth/credential-store.js.map +1 -0
  120. package/dist/auth/helpers.d.ts +20 -0
  121. package/dist/auth/helpers.d.ts.map +1 -0
  122. package/dist/auth/helpers.js +46 -0
  123. package/dist/auth/helpers.js.map +1 -0
  124. package/dist/auth/resolve.d.ts +26 -0
  125. package/dist/auth/resolve.d.ts.map +1 -0
  126. package/dist/auth/resolve.js +101 -0
  127. package/dist/auth/resolve.js.map +1 -0
  128. package/dist/auth/types.d.ts +180 -0
  129. package/dist/auth/types.d.ts.map +1 -0
  130. package/dist/auth/types.js +2 -0
  131. package/dist/auth/types.js.map +1 -0
  132. package/dist/bedrock-provider.d.ts +2 -2
  133. package/dist/bedrock-provider.d.ts.map +1 -1
  134. package/dist/bedrock-provider.js +3 -3
  135. package/dist/bedrock-provider.js.map +1 -1
  136. package/dist/cli.d.ts.map +1 -1
  137. package/dist/cli.js +14 -0
  138. package/dist/cli.js.map +1 -1
  139. package/dist/compat.d.ts +65 -0
  140. package/dist/compat.d.ts.map +1 -0
  141. package/dist/compat.js +182 -0
  142. package/dist/compat.js.map +1 -0
  143. package/dist/env-api-keys.d.ts +12 -3
  144. package/dist/env-api-keys.d.ts.map +1 -1
  145. package/dist/env-api-keys.js +77 -39
  146. package/dist/env-api-keys.js.map +1 -1
  147. package/dist/image-models.d.ts +10 -0
  148. package/dist/image-models.d.ts.map +1 -0
  149. package/dist/image-models.generated.d.ts +530 -0
  150. package/dist/image-models.generated.d.ts.map +1 -0
  151. package/dist/image-models.generated.js +532 -0
  152. package/dist/image-models.generated.js.map +1 -0
  153. package/dist/image-models.js +23 -0
  154. package/dist/image-models.js.map +1 -0
  155. package/dist/images-api-registry.d.ts +14 -0
  156. package/dist/images-api-registry.d.ts.map +1 -0
  157. package/dist/images-api-registry.js +22 -0
  158. package/dist/images-api-registry.js.map +1 -0
  159. package/dist/images-models.d.ts +93 -0
  160. package/dist/images-models.d.ts.map +1 -0
  161. package/dist/images-models.js +141 -0
  162. package/dist/images-models.js.map +1 -0
  163. package/dist/images.d.ts +4 -0
  164. package/dist/images.d.ts.map +1 -0
  165. package/dist/images.js +14 -0
  166. package/dist/images.js.map +1 -0
  167. package/dist/index.d.ts +30 -25
  168. package/dist/index.d.ts.map +1 -1
  169. package/dist/index.js +10 -5
  170. package/dist/index.js.map +1 -1
  171. package/dist/legacy-api-aliases.d.ts +42 -0
  172. package/dist/legacy-api-aliases.d.ts.map +1 -0
  173. package/dist/legacy-api-aliases.js +49 -0
  174. package/dist/legacy-api-aliases.js.map +1 -0
  175. package/dist/models.d.ts +136 -15
  176. package/dist/models.d.ts.map +1 -1
  177. package/dist/models.generated.d.ts +8134 -2008
  178. package/dist/models.generated.d.ts.map +1 -1
  179. package/dist/models.generated.js +70 -14888
  180. package/dist/models.generated.js.map +1 -1
  181. package/dist/models.js +218 -24
  182. package/dist/models.js.map +1 -1
  183. package/dist/oauth.d.ts +1 -1
  184. package/dist/oauth.d.ts.map +1 -1
  185. package/dist/oauth.js.map +1 -1
  186. package/dist/providers/all.d.ts +21 -0
  187. package/dist/providers/all.d.ts.map +1 -0
  188. package/dist/providers/all.js +114 -0
  189. package/dist/providers/all.js.map +1 -0
  190. package/dist/providers/amazon-bedrock.d.ts +2 -19
  191. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  192. package/dist/providers/amazon-bedrock.js +33 -649
  193. package/dist/providers/amazon-bedrock.js.map +1 -1
  194. package/dist/providers/amazon-bedrock.models.d.ts +1875 -0
  195. package/dist/providers/amazon-bedrock.models.d.ts.map +1 -0
  196. package/dist/providers/amazon-bedrock.models.js +1829 -0
  197. package/dist/providers/amazon-bedrock.models.js.map +1 -0
  198. package/dist/providers/ant-ling.d.ts +3 -0
  199. package/dist/providers/ant-ling.d.ts.map +1 -0
  200. package/dist/providers/ant-ling.js +15 -0
  201. package/dist/providers/ant-ling.js.map +1 -0
  202. package/dist/providers/ant-ling.models.d.ts +86 -0
  203. package/dist/providers/ant-ling.models.d.ts.map +1 -0
  204. package/dist/providers/ant-ling.models.js +60 -0
  205. package/dist/providers/ant-ling.models.js.map +1 -0
  206. package/dist/providers/anthropic.d.ts +2 -39
  207. package/dist/providers/anthropic.d.ts.map +1 -1
  208. package/dist/providers/anthropic.js +17 -771
  209. package/dist/providers/anthropic.js.map +1 -1
  210. package/dist/providers/anthropic.models.d.ts +274 -0
  211. package/dist/providers/anthropic.models.d.ts.map +1 -0
  212. package/dist/providers/anthropic.models.js +253 -0
  213. package/dist/providers/anthropic.models.js.map +1 -0
  214. package/dist/providers/azure-openai-responses.d.ts +2 -14
  215. package/dist/providers/azure-openai-responses.d.ts.map +1 -1
  216. package/dist/providers/azure-openai-responses.js +11 -173
  217. package/dist/providers/azure-openai-responses.js.map +1 -1
  218. package/dist/providers/azure-openai-responses.models.d.ts +804 -0
  219. package/dist/providers/azure-openai-responses.models.d.ts.map +1 -0
  220. package/dist/providers/azure-openai-responses.models.js +743 -0
  221. package/dist/providers/azure-openai-responses.models.js.map +1 -0
  222. package/dist/providers/cerebras.d.ts +3 -0
  223. package/dist/providers/cerebras.d.ts.map +1 -0
  224. package/dist/providers/cerebras.js +15 -0
  225. package/dist/providers/cerebras.js.map +1 -0
  226. package/dist/providers/cerebras.models.d.ts +66 -0
  227. package/dist/providers/cerebras.models.d.ts.map +1 -0
  228. package/dist/providers/cerebras.models.js +59 -0
  229. package/dist/providers/cerebras.models.js.map +1 -0
  230. package/dist/providers/cloudflare-ai-gateway.d.ts +3 -0
  231. package/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -0
  232. package/dist/providers/cloudflare-ai-gateway.js +20 -0
  233. package/dist/providers/cloudflare-ai-gateway.js.map +1 -0
  234. package/dist/providers/cloudflare-ai-gateway.models.d.ts +786 -0
  235. package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -0
  236. package/dist/providers/cloudflare-ai-gateway.models.js +684 -0
  237. package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -0
  238. package/dist/providers/cloudflare-auth.d.ts +4 -0
  239. package/dist/providers/cloudflare-auth.d.ts.map +1 -0
  240. package/dist/providers/cloudflare-auth.js +85 -0
  241. package/dist/providers/cloudflare-auth.js.map +1 -0
  242. package/dist/providers/cloudflare-workers-ai.d.ts +3 -0
  243. package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -0
  244. package/dist/providers/cloudflare-workers-ai.js +14 -0
  245. package/dist/providers/cloudflare-workers-ai.js.map +1 -0
  246. package/dist/providers/cloudflare-workers-ai.models.d.ts +302 -0
  247. package/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -0
  248. package/dist/providers/cloudflare-workers-ai.models.js +239 -0
  249. package/dist/providers/cloudflare-workers-ai.models.js.map +1 -0
  250. package/dist/providers/deepseek.d.ts +3 -0
  251. package/dist/providers/deepseek.d.ts.map +1 -0
  252. package/dist/providers/deepseek.js +15 -0
  253. package/dist/providers/deepseek.js.map +1 -0
  254. package/dist/providers/deepseek.models.d.ts +63 -0
  255. package/dist/providers/deepseek.models.d.ts.map +1 -0
  256. package/dist/providers/deepseek.models.js +43 -0
  257. package/dist/providers/deepseek.models.js.map +1 -0
  258. package/dist/providers/faux.d.ts +43 -2
  259. package/dist/providers/faux.d.ts.map +1 -1
  260. package/dist/providers/faux.js +35 -7
  261. package/dist/providers/faux.js.map +1 -1
  262. package/dist/providers/fireworks.d.ts +3 -0
  263. package/dist/providers/fireworks.d.ts.map +1 -0
  264. package/dist/providers/fireworks.js +19 -0
  265. package/dist/providers/fireworks.js.map +1 -0
  266. package/dist/providers/fireworks.models.d.ts +381 -0
  267. package/dist/providers/fireworks.models.d.ts.map +1 -0
  268. package/dist/providers/fireworks.models.js +295 -0
  269. package/dist/providers/fireworks.models.js.map +1 -0
  270. package/dist/providers/github-copilot.d.ts +3 -0
  271. package/dist/providers/github-copilot.d.ts.map +1 -0
  272. package/dist/providers/github-copilot.js +25 -0
  273. package/dist/providers/github-copilot.js.map +1 -0
  274. package/dist/providers/github-copilot.models.d.ts +698 -0
  275. package/dist/providers/github-copilot.models.d.ts.map +1 -0
  276. package/dist/providers/github-copilot.models.js +483 -0
  277. package/dist/providers/github-copilot.models.js.map +1 -0
  278. package/dist/providers/google-vertex.d.ts +2 -14
  279. package/dist/providers/google-vertex.d.ts.map +1 -1
  280. package/dist/providers/google-vertex.js +30 -414
  281. package/dist/providers/google-vertex.js.map +1 -1
  282. package/dist/providers/google-vertex.models.d.ts +202 -0
  283. package/dist/providers/google-vertex.models.d.ts.map +1 -0
  284. package/dist/providers/google-vertex.models.js +182 -0
  285. package/dist/providers/google-vertex.models.js.map +1 -0
  286. package/dist/providers/google.d.ts +2 -12
  287. package/dist/providers/google.d.ts.map +1 -1
  288. package/dist/providers/google.js +12 -396
  289. package/dist/providers/google.js.map +1 -1
  290. package/dist/providers/google.models.d.ts +328 -0
  291. package/dist/providers/google.models.d.ts.map +1 -0
  292. package/dist/providers/google.models.js +288 -0
  293. package/dist/providers/google.models.js.map +1 -0
  294. package/dist/providers/groq.d.ts +3 -0
  295. package/dist/providers/groq.d.ts.map +1 -0
  296. package/dist/providers/groq.js +15 -0
  297. package/dist/providers/groq.js.map +1 -0
  298. package/dist/providers/groq.models.d.ts +128 -0
  299. package/dist/providers/groq.models.d.ts.map +1 -0
  300. package/dist/providers/groq.models.js +125 -0
  301. package/dist/providers/groq.models.js.map +1 -0
  302. package/dist/providers/huggingface.d.ts +3 -0
  303. package/dist/providers/huggingface.d.ts.map +1 -0
  304. package/dist/providers/huggingface.js +15 -0
  305. package/dist/providers/huggingface.js.map +1 -0
  306. package/dist/providers/huggingface.models.d.ts +983 -0
  307. package/dist/providers/huggingface.models.d.ts.map +1 -0
  308. package/dist/providers/huggingface.models.js +887 -0
  309. package/dist/providers/huggingface.models.js.map +1 -0
  310. package/dist/providers/images/register-builtins.d.ts +4 -0
  311. package/dist/providers/images/register-builtins.d.ts.map +1 -0
  312. package/dist/providers/images/register-builtins.js +34 -0
  313. package/dist/providers/images/register-builtins.js.map +1 -0
  314. package/dist/providers/kimi-coding.d.ts +3 -0
  315. package/dist/providers/kimi-coding.d.ts.map +1 -0
  316. package/dist/providers/kimi-coding.js +15 -0
  317. package/dist/providers/kimi-coding.js.map +1 -0
  318. package/dist/providers/kimi-coding.models.d.ts +63 -0
  319. package/dist/providers/kimi-coding.models.d.ts.map +1 -0
  320. package/dist/providers/kimi-coding.models.js +59 -0
  321. package/dist/providers/kimi-coding.models.js.map +1 -0
  322. package/dist/providers/minimax-cn.d.ts +3 -0
  323. package/dist/providers/minimax-cn.d.ts.map +1 -0
  324. package/dist/providers/minimax-cn.js +15 -0
  325. package/dist/providers/minimax-cn.js.map +1 -0
  326. package/dist/providers/minimax-cn.models.d.ts +54 -0
  327. package/dist/providers/minimax-cn.models.d.ts.map +1 -0
  328. package/dist/providers/minimax-cn.models.js +56 -0
  329. package/dist/providers/minimax-cn.models.js.map +1 -0
  330. package/dist/providers/minimax.d.ts +3 -0
  331. package/dist/providers/minimax.d.ts.map +1 -0
  332. package/dist/providers/minimax.js +15 -0
  333. package/dist/providers/minimax.js.map +1 -0
  334. package/dist/providers/minimax.models.d.ts +54 -0
  335. package/dist/providers/minimax.models.d.ts.map +1 -0
  336. package/dist/providers/minimax.models.js +56 -0
  337. package/dist/providers/minimax.models.js.map +1 -0
  338. package/dist/providers/mistral.d.ts +2 -21
  339. package/dist/providers/mistral.d.ts.map +1 -1
  340. package/dist/providers/mistral.js +12 -498
  341. package/dist/providers/mistral.js.map +1 -1
  342. package/dist/providers/mistral.models.d.ts +513 -0
  343. package/dist/providers/mistral.models.d.ts.map +1 -0
  344. package/dist/providers/mistral.models.js +515 -0
  345. package/dist/providers/mistral.models.js.map +1 -0
  346. package/dist/providers/moonshotai-cn.d.ts +3 -0
  347. package/dist/providers/moonshotai-cn.d.ts.map +1 -0
  348. package/dist/providers/moonshotai-cn.js +15 -0
  349. package/dist/providers/moonshotai-cn.js.map +1 -0
  350. package/dist/providers/moonshotai-cn.models.d.ts +234 -0
  351. package/dist/providers/moonshotai-cn.models.d.ts.map +1 -0
  352. package/dist/providers/moonshotai-cn.models.js +169 -0
  353. package/dist/providers/moonshotai-cn.models.js.map +1 -0
  354. package/dist/providers/moonshotai.d.ts +3 -0
  355. package/dist/providers/moonshotai.d.ts.map +1 -0
  356. package/dist/providers/moonshotai.js +15 -0
  357. package/dist/providers/moonshotai.js.map +1 -0
  358. package/dist/providers/moonshotai.models.d.ts +234 -0
  359. package/dist/providers/moonshotai.models.d.ts.map +1 -0
  360. package/dist/providers/moonshotai.models.js +169 -0
  361. package/dist/providers/moonshotai.models.js.map +1 -0
  362. package/dist/providers/nvidia.d.ts +3 -0
  363. package/dist/providers/nvidia.d.ts.map +1 -0
  364. package/dist/providers/nvidia.js +15 -0
  365. package/dist/providers/nvidia.js.map +1 -0
  366. package/dist/providers/nvidia.models.d.ts +563 -0
  367. package/dist/providers/nvidia.models.d.ts.map +1 -0
  368. package/dist/providers/nvidia.models.js +385 -0
  369. package/dist/providers/nvidia.models.js.map +1 -0
  370. package/dist/providers/openai-codex.d.ts +3 -0
  371. package/dist/providers/openai-codex.d.ts.map +1 -0
  372. package/dist/providers/openai-codex.js +18 -0
  373. package/dist/providers/openai-codex.js.map +1 -0
  374. package/dist/providers/openai-codex.models.d.ts +87 -0
  375. package/dist/providers/openai-codex.models.d.ts.map +1 -0
  376. package/dist/providers/openai-codex.models.js +77 -0
  377. package/dist/providers/openai-codex.models.js.map +1 -0
  378. package/dist/providers/openai.d.ts +3 -0
  379. package/dist/providers/openai.d.ts.map +1 -0
  380. package/dist/providers/openai.js +15 -0
  381. package/dist/providers/openai.js.map +1 -0
  382. package/dist/providers/openai.models.d.ts +805 -0
  383. package/dist/providers/openai.models.d.ts.map +1 -0
  384. package/dist/providers/openai.models.js +743 -0
  385. package/dist/providers/openai.models.js.map +1 -0
  386. package/dist/providers/opencode-go.d.ts +3 -0
  387. package/dist/providers/opencode-go.d.ts.map +1 -0
  388. package/dist/providers/opencode-go.js +18 -0
  389. package/dist/providers/opencode-go.js.map +1 -0
  390. package/dist/providers/opencode-go.models.d.ts +309 -0
  391. package/dist/providers/opencode-go.models.d.ts.map +1 -0
  392. package/dist/providers/opencode-go.models.js +240 -0
  393. package/dist/providers/opencode-go.models.js.map +1 -0
  394. package/dist/providers/opencode.d.ts +3 -0
  395. package/dist/providers/opencode.d.ts.map +1 -0
  396. package/dist/providers/opencode.js +22 -0
  397. package/dist/providers/opencode.js.map +1 -0
  398. package/dist/providers/opencode.models.d.ts +1064 -0
  399. package/dist/providers/opencode.models.d.ts.map +1 -0
  400. package/dist/providers/opencode.models.js +888 -0
  401. package/dist/providers/opencode.models.js.map +1 -0
  402. package/dist/providers/openrouter-images.d.ts +3 -0
  403. package/dist/providers/openrouter-images.d.ts.map +1 -0
  404. package/dist/providers/openrouter-images.js +14 -0
  405. package/dist/providers/openrouter-images.js.map +1 -0
  406. package/dist/providers/openrouter.d.ts +3 -0
  407. package/dist/providers/openrouter.d.ts.map +1 -0
  408. package/dist/providers/openrouter.js +15 -0
  409. package/dist/providers/openrouter.js.map +1 -0
  410. package/dist/providers/openrouter.models.d.ts +5507 -0
  411. package/dist/providers/openrouter.models.d.ts.map +1 -0
  412. package/dist/providers/openrouter.models.js +4724 -0
  413. package/dist/providers/openrouter.models.js.map +1 -0
  414. package/dist/providers/together.d.ts +3 -0
  415. package/dist/providers/together.d.ts.map +1 -0
  416. package/dist/providers/together.js +15 -0
  417. package/dist/providers/together.js.map +1 -0
  418. package/dist/providers/together.models.d.ts +598 -0
  419. package/dist/providers/together.models.d.ts.map +1 -0
  420. package/dist/providers/together.models.js +380 -0
  421. package/dist/providers/together.models.js.map +1 -0
  422. package/dist/providers/vercel-ai-gateway.d.ts +3 -0
  423. package/dist/providers/vercel-ai-gateway.d.ts.map +1 -0
  424. package/dist/providers/vercel-ai-gateway.js +15 -0
  425. package/dist/providers/vercel-ai-gateway.js.map +1 -0
  426. package/dist/providers/vercel-ai-gateway.models.d.ts +3254 -0
  427. package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -0
  428. package/dist/providers/vercel-ai-gateway.models.js +3206 -0
  429. package/dist/providers/vercel-ai-gateway.models.js.map +1 -0
  430. package/dist/providers/xai.d.ts +3 -0
  431. package/dist/providers/xai.d.ts.map +1 -0
  432. package/dist/providers/xai.js +15 -0
  433. package/dist/providers/xai.js.map +1 -0
  434. package/dist/providers/xai.models.d.ts +157 -0
  435. package/dist/providers/xai.models.d.ts.map +1 -0
  436. package/dist/providers/xai.models.js +131 -0
  437. package/dist/providers/xai.models.js.map +1 -0
  438. package/dist/providers/xiaomi-token-plan-ams.d.ts +3 -0
  439. package/dist/providers/xiaomi-token-plan-ams.d.ts.map +1 -0
  440. package/dist/providers/xiaomi-token-plan-ams.js +15 -0
  441. package/dist/providers/xiaomi-token-plan-ams.js.map +1 -0
  442. package/dist/providers/xiaomi-token-plan-ams.models.d.ts +108 -0
  443. package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -0
  444. package/dist/providers/xiaomi-token-plan-ams.models.js +95 -0
  445. package/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -0
  446. package/dist/providers/xiaomi-token-plan-cn.d.ts +3 -0
  447. package/dist/providers/xiaomi-token-plan-cn.d.ts.map +1 -0
  448. package/dist/providers/xiaomi-token-plan-cn.js +15 -0
  449. package/dist/providers/xiaomi-token-plan-cn.js.map +1 -0
  450. package/dist/providers/xiaomi-token-plan-cn.models.d.ts +108 -0
  451. package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -0
  452. package/dist/providers/xiaomi-token-plan-cn.models.js +95 -0
  453. package/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -0
  454. package/dist/providers/xiaomi-token-plan-sgp.d.ts +3 -0
  455. package/dist/providers/xiaomi-token-plan-sgp.d.ts.map +1 -0
  456. package/dist/providers/xiaomi-token-plan-sgp.js +15 -0
  457. package/dist/providers/xiaomi-token-plan-sgp.js.map +1 -0
  458. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts +108 -0
  459. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -0
  460. package/dist/providers/xiaomi-token-plan-sgp.models.js +95 -0
  461. package/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -0
  462. package/dist/providers/xiaomi.d.ts +3 -0
  463. package/dist/providers/xiaomi.d.ts.map +1 -0
  464. package/dist/providers/xiaomi.js +15 -0
  465. package/dist/providers/xiaomi.js.map +1 -0
  466. package/dist/providers/xiaomi.models.d.ts +129 -0
  467. package/dist/providers/xiaomi.models.d.ts.map +1 -0
  468. package/dist/providers/xiaomi.models.js +113 -0
  469. package/dist/providers/xiaomi.models.js.map +1 -0
  470. package/dist/providers/zai-coding-cn.d.ts +3 -0
  471. package/dist/providers/zai-coding-cn.d.ts.map +1 -0
  472. package/dist/providers/zai-coding-cn.js +15 -0
  473. package/dist/providers/zai-coding-cn.js.map +1 -0
  474. package/dist/providers/zai-coding-cn.models.d.ts +153 -0
  475. package/dist/providers/zai-coding-cn.models.d.ts.map +1 -0
  476. package/dist/providers/zai-coding-cn.models.js +114 -0
  477. package/dist/providers/zai-coding-cn.models.js.map +1 -0
  478. package/dist/providers/zai.d.ts +3 -0
  479. package/dist/providers/zai.d.ts.map +1 -0
  480. package/dist/providers/zai.js +15 -0
  481. package/dist/providers/zai.js.map +1 -0
  482. package/dist/providers/zai.models.d.ts +153 -0
  483. package/dist/providers/zai.models.d.ts.map +1 -0
  484. package/dist/providers/zai.models.js +114 -0
  485. package/dist/providers/zai.models.js.map +1 -0
  486. package/dist/session-resources.d.ts +4 -0
  487. package/dist/session-resources.d.ts.map +1 -0
  488. package/dist/session-resources.js +22 -0
  489. package/dist/session-resources.js.map +1 -0
  490. package/dist/types.d.ts +262 -18
  491. package/dist/types.d.ts.map +1 -1
  492. package/dist/types.js.map +1 -1
  493. package/dist/utils/abort-signals.d.ts +6 -0
  494. package/dist/utils/abort-signals.d.ts.map +1 -0
  495. package/dist/utils/abort-signals.js +34 -0
  496. package/dist/utils/abort-signals.js.map +1 -0
  497. package/dist/utils/diagnostics.d.ts +19 -0
  498. package/dist/utils/diagnostics.d.ts.map +1 -0
  499. package/dist/utils/diagnostics.js +25 -0
  500. package/dist/utils/diagnostics.js.map +1 -0
  501. package/dist/utils/error-body.d.ts +25 -0
  502. package/dist/utils/error-body.d.ts.map +1 -0
  503. package/dist/utils/error-body.js +109 -0
  504. package/dist/utils/error-body.js.map +1 -0
  505. package/dist/utils/estimate.d.ts +17 -0
  506. package/dist/utils/estimate.d.ts.map +1 -0
  507. package/dist/utils/estimate.js +95 -0
  508. package/dist/utils/estimate.js.map +1 -0
  509. package/dist/utils/event-stream.d.ts +3 -3
  510. package/dist/utils/event-stream.d.ts.map +1 -1
  511. package/dist/utils/event-stream.js +2 -2
  512. package/dist/utils/event-stream.js.map +1 -1
  513. package/dist/utils/headers.d.ts +4 -0
  514. package/dist/utils/headers.d.ts.map +1 -0
  515. package/dist/utils/headers.js +18 -0
  516. package/dist/utils/headers.js.map +1 -0
  517. package/dist/utils/json-parse.d.ts +8 -1
  518. package/dist/utils/json-parse.d.ts.map +1 -1
  519. package/dist/utils/json-parse.js +89 -5
  520. package/dist/utils/json-parse.js.map +1 -1
  521. package/dist/utils/node-http-proxy.d.ts +4 -0
  522. package/dist/utils/node-http-proxy.d.ts.map +1 -0
  523. package/dist/utils/node-http-proxy.js +92 -0
  524. package/dist/utils/node-http-proxy.js.map +1 -0
  525. package/dist/utils/oauth/anthropic.d.ts +3 -1
  526. package/dist/utils/oauth/anthropic.d.ts.map +1 -1
  527. package/dist/utils/oauth/anthropic.js +33 -1
  528. package/dist/utils/oauth/anthropic.js.map +1 -1
  529. package/dist/utils/oauth/device-code.d.ts +23 -0
  530. package/dist/utils/oauth/device-code.d.ts.map +1 -0
  531. package/dist/utils/oauth/device-code.js +69 -0
  532. package/dist/utils/oauth/device-code.js.map +1 -0
  533. package/dist/utils/oauth/github-copilot.d.ts +5 -3
  534. package/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  535. package/dist/utils/oauth/github-copilot.js +158 -79
  536. package/dist/utils/oauth/github-copilot.js.map +1 -1
  537. package/dist/utils/oauth/index.d.ts +8 -11
  538. package/dist/utils/oauth/index.d.ts.map +1 -1
  539. package/dist/utils/oauth/index.js +2 -11
  540. package/dist/utils/oauth/index.js.map +1 -1
  541. package/dist/utils/oauth/load.d.ts +5 -0
  542. package/dist/utils/oauth/load.d.ts.map +1 -0
  543. package/dist/utils/oauth/load.js +22 -0
  544. package/dist/utils/oauth/load.js.map +1 -0
  545. package/dist/utils/oauth/openai-codex.d.ts +13 -2
  546. package/dist/utils/oauth/openai-codex.d.ts.map +1 -1
  547. package/dist/utils/oauth/openai-codex.js +237 -73
  548. package/dist/utils/oauth/openai-codex.js.map +1 -1
  549. package/dist/utils/oauth/types.d.ts +18 -1
  550. package/dist/utils/oauth/types.d.ts.map +1 -1
  551. package/dist/utils/oauth/types.js.map +1 -1
  552. package/dist/utils/overflow.d.ts +8 -3
  553. package/dist/utils/overflow.d.ts.map +1 -1
  554. package/dist/utils/overflow.js +29 -3
  555. package/dist/utils/overflow.js.map +1 -1
  556. package/dist/utils/provider-env.d.ts +7 -0
  557. package/dist/utils/provider-env.d.ts.map +1 -0
  558. package/dist/utils/provider-env.js +44 -0
  559. package/dist/utils/provider-env.js.map +1 -0
  560. package/dist/utils/retry.d.ts +12 -0
  561. package/dist/utils/retry.d.ts.map +1 -0
  562. package/dist/utils/retry.js +87 -0
  563. package/dist/utils/retry.js.map +1 -0
  564. package/dist/utils/typebox-helpers.d.ts +1 -1
  565. package/dist/utils/typebox-helpers.d.ts.map +1 -1
  566. package/dist/utils/typebox-helpers.js +1 -1
  567. package/dist/utils/typebox-helpers.js.map +1 -1
  568. package/dist/utils/validation.d.ts +1 -1
  569. package/dist/utils/validation.d.ts.map +1 -1
  570. package/dist/utils/validation.js +230 -41
  571. package/dist/utils/validation.js.map +1 -1
  572. package/package.json +24 -44
  573. package/dist/api-registry.d.ts +0 -20
  574. package/dist/api-registry.d.ts.map +0 -1
  575. package/dist/api-registry.js +0 -44
  576. package/dist/api-registry.js.map +0 -1
  577. package/dist/providers/github-copilot-headers.d.ts.map +0 -1
  578. package/dist/providers/github-copilot-headers.js.map +0 -1
  579. package/dist/providers/google-gemini-cli.d.ts +0 -74
  580. package/dist/providers/google-gemini-cli.d.ts.map +0 -1
  581. package/dist/providers/google-gemini-cli.js +0 -776
  582. package/dist/providers/google-gemini-cli.js.map +0 -1
  583. package/dist/providers/google-shared.d.ts.map +0 -1
  584. package/dist/providers/google-shared.js.map +0 -1
  585. package/dist/providers/openai-codex-responses.d.ts +0 -9
  586. package/dist/providers/openai-codex-responses.d.ts.map +0 -1
  587. package/dist/providers/openai-codex-responses.js +0 -741
  588. package/dist/providers/openai-codex-responses.js.map +0 -1
  589. package/dist/providers/openai-completions.d.ts +0 -15
  590. package/dist/providers/openai-completions.d.ts.map +0 -1
  591. package/dist/providers/openai-completions.js +0 -760
  592. package/dist/providers/openai-completions.js.map +0 -1
  593. package/dist/providers/openai-responses-shared.d.ts.map +0 -1
  594. package/dist/providers/openai-responses-shared.js.map +0 -1
  595. package/dist/providers/openai-responses.d.ts.map +0 -1
  596. package/dist/providers/openai-responses.js +0 -190
  597. package/dist/providers/openai-responses.js.map +0 -1
  598. package/dist/providers/register-builtins.d.ts +0 -38
  599. package/dist/providers/register-builtins.d.ts.map +0 -1
  600. package/dist/providers/register-builtins.js +0 -261
  601. package/dist/providers/register-builtins.js.map +0 -1
  602. package/dist/providers/simple-options.d.ts +0 -13
  603. package/dist/providers/simple-options.d.ts.map +0 -1
  604. package/dist/providers/simple-options.js.map +0 -1
  605. package/dist/providers/transform-messages.d.ts.map +0 -1
  606. package/dist/providers/transform-messages.js.map +0 -1
  607. package/dist/stream.d.ts +0 -8
  608. package/dist/stream.d.ts.map +0 -1
  609. package/dist/stream.js +0 -27
  610. package/dist/stream.js.map +0 -1
  611. /package/dist/{providers → api}/github-copilot-headers.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amazon-bedrock.models.js","sourceRoot":"","sources":["../../src/providers/amazon-bedrock.models.ts"],"names":[],"mappings":"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","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const AMAZON_BEDROCK_MODELS = {\n\t\"amazon.nova-2-lite-v1:0\": {\n\t\tid: \"amazon.nova-2-lite-v1:0\",\n\t\tname: \"Nova 2 Lite\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.33,\n\t\t\toutput: 2.75,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"amazon.nova-lite-v1:0\": {\n\t\tid: \"amazon.nova-lite-v1:0\",\n\t\tname: \"Nova Lite\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.24,\n\t\t\tcacheRead: 0.015,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 300000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"amazon.nova-micro-v1:0\": {\n\t\tid: \"amazon.nova-micro-v1:0\",\n\t\tname: \"Nova Micro\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.035,\n\t\t\toutput: 0.14,\n\t\t\tcacheRead: 0.00875,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"amazon.nova-pro-v1:0\": {\n\t\tid: \"amazon.nova-pro-v1:0\",\n\t\tname: \"Nova Pro\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.8,\n\t\t\toutput: 3.2,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 300000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-fable-5\": {\n\t\tid: \"anthropic.claude-fable-5\",\n\t\tname: \"Claude Fable 5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 10,\n\t\t\toutput: 50,\n\t\t\tcacheRead: 1,\n\t\t\tcacheWrite: 12.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-1-20250805-v1:0\": {\n\t\tid: \"anthropic.claude-opus-4-1-20250805-v1:0\",\n\t\tname: \"Claude Opus 4.1\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 15,\n\t\t\toutput: 75,\n\t\t\tcacheRead: 1.5,\n\t\t\tcacheWrite: 18.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-5-20251101-v1:0\": {\n\t\tid: \"anthropic.claude-opus-4-5-20251101-v1:0\",\n\t\tname: \"Claude Opus 4.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"anthropic.claude-opus-4-6-v1\",\n\t\tname: \"Claude Opus 4.6\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-7\": {\n\t\tid: \"anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-opus-4-8\": {\n\t\tid: \"anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-sonnet-4-6\": {\n\t\tid: \"anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"anthropic.claude-sonnet-5\": {\n\t\tid: \"anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"au.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (AU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"au.anthropic.claude-opus-4-6-v1\",\n\t\tname: \"AU Anthropic Claude Opus 4.6\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 16.5,\n\t\t\toutput: 82.5,\n\t\t\tcacheRead: 1.65,\n\t\t\tcacheWrite: 20.625,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-opus-4-8\": {\n\t\tid: \"au.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (AU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"au.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (AU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"au.anthropic.claude-sonnet-4-6\",\n\t\tname: \"AU Anthropic Claude Sonnet 4.6\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3.3,\n\t\t\toutput: 16.5,\n\t\t\tcacheRead: 0.33,\n\t\t\tcacheWrite: 4.125,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"au.anthropic.claude-sonnet-5\": {\n\t\tid: \"au.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (AU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"deepseek.r1-v1:0\": {\n\t\tid: \"deepseek.r1-v1:0\",\n\t\tname: \"DeepSeek-R1\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.35,\n\t\t\toutput: 5.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"deepseek.v3-v1:0\": {\n\t\tid: \"deepseek.v3-v1:0\",\n\t\tname: \"DeepSeek-V3.1\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.58,\n\t\t\toutput: 1.68,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 163840,\n\t\tmaxTokens: 81920,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"deepseek.v3.2\": {\n\t\tid: \"deepseek.v3.2\",\n\t\tname: \"DeepSeek-V3.2\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.62,\n\t\t\toutput: 1.85,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 163840,\n\t\tmaxTokens: 81920,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-fable-5\": {\n\t\tid: \"eu.anthropic.claude-fable-5\",\n\t\tname: \"Claude Fable 5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 11,\n\t\t\toutput: 55,\n\t\t\tcacheRead: 1.1,\n\t\t\tcacheWrite: 13.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"eu.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.1,\n\t\t\toutput: 5.5,\n\t\t\tcacheRead: 0.11,\n\t\t\tcacheWrite: 1.375,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-opus-4-5-20251101-v1:0\": {\n\t\tid: \"eu.anthropic.claude-opus-4-5-20251101-v1:0\",\n\t\tname: \"Claude Opus 4.5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 27.5,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 6.875,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"eu.anthropic.claude-opus-4-6-v1\",\n\t\tname: \"Claude Opus 4.6 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 27.5,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 6.875,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-opus-4-7\": {\n\t\tid: \"eu.anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 27.5,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 6.875,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-opus-4-8\": {\n\t\tid: \"eu.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 27.5,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 6.875,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"eu.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3.3,\n\t\t\toutput: 16.5,\n\t\t\tcacheRead: 0.33,\n\t\t\tcacheWrite: 4.125,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"eu.anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3.3,\n\t\t\toutput: 16.5,\n\t\t\tcacheRead: 0.33,\n\t\t\tcacheWrite: 4.125,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"eu.anthropic.claude-sonnet-5\": {\n\t\tid: \"eu.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (EU)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.eu-central-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2.2,\n\t\t\toutput: 11,\n\t\t\tcacheRead: 0.22,\n\t\t\tcacheWrite: 2.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-fable-5\": {\n\t\tid: \"global.anthropic.claude-fable-5\",\n\t\tname: \"Claude Fable 5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 10,\n\t\t\toutput: 50,\n\t\t\tcacheRead: 1,\n\t\t\tcacheWrite: 12.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"global.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-opus-4-5-20251101-v1:0\": {\n\t\tid: \"global.anthropic.claude-opus-4-5-20251101-v1:0\",\n\t\tname: \"Claude Opus 4.5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"global.anthropic.claude-opus-4-6-v1\",\n\t\tname: \"Claude Opus 4.6 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-opus-4-7\": {\n\t\tid: \"global.anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-opus-4-8\": {\n\t\tid: \"global.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"global.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"global.anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"global.anthropic.claude-sonnet-5\": {\n\t\tid: \"global.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (Global)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"google.gemma-3-27b-it\": {\n\t\tid: \"google.gemma-3-27b-it\",\n\t\tname: \"Google Gemma 3 27B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.12,\n\t\t\toutput: 0.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 202752,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"google.gemma-3-4b-it\": {\n\t\tid: \"google.gemma-3-4b-it\",\n\t\tname: \"Gemma 3 4B IT\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.04,\n\t\t\toutput: 0.08,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"jp.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-opus-4-7\": {\n\t\tid: \"jp.anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-opus-4-8\": {\n\t\tid: \"jp.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"jp.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"jp.anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"jp.anthropic.claude-sonnet-5\": {\n\t\tid: \"jp.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (JP)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama3-1-70b-instruct-v1:0\": {\n\t\tid: \"meta.llama3-1-70b-instruct-v1:0\",\n\t\tname: \"Llama 3.1 70B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.72,\n\t\t\toutput: 0.72,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama3-1-8b-instruct-v1:0\": {\n\t\tid: \"meta.llama3-1-8b-instruct-v1:0\",\n\t\tname: \"Llama 3.1 8B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.22,\n\t\t\toutput: 0.22,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama3-3-70b-instruct-v1:0\": {\n\t\tid: \"meta.llama3-3-70b-instruct-v1:0\",\n\t\tname: \"Llama 3.3 70B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.72,\n\t\t\toutput: 0.72,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama4-maverick-17b-instruct-v1:0\": {\n\t\tid: \"meta.llama4-maverick-17b-instruct-v1:0\",\n\t\tname: \"Llama 4 Maverick 17B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.24,\n\t\t\toutput: 0.97,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"meta.llama4-scout-17b-instruct-v1:0\": {\n\t\tid: \"meta.llama4-scout-17b-instruct-v1:0\",\n\t\tname: \"Llama 4 Scout 17B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.17,\n\t\t\toutput: 0.66,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 3500000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"minimax.minimax-m2\": {\n\t\tid: \"minimax.minimax-m2\",\n\t\tname: \"MiniMax M2\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204608,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"minimax.minimax-m2.1\": {\n\t\tid: \"minimax.minimax-m2.1\",\n\t\tname: \"MiniMax M2.1\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"minimax.minimax-m2.5\": {\n\t\tid: \"minimax.minimax-m2.5\",\n\t\tname: \"MiniMax M2.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 196608,\n\t\tmaxTokens: 98304,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.devstral-2-123b\": {\n\t\tid: \"mistral.devstral-2-123b\",\n\t\tname: \"Devstral 2 123B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.4,\n\t\t\toutput: 2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.magistral-small-2509\": {\n\t\tid: \"mistral.magistral-small-2509\",\n\t\tname: \"Magistral Small 1.2\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 40000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.ministral-3-14b-instruct\": {\n\t\tid: \"mistral.ministral-3-14b-instruct\",\n\t\tname: \"Ministral 14B 3.0\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 0.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.ministral-3-3b-instruct\": {\n\t\tid: \"mistral.ministral-3-3b-instruct\",\n\t\tname: \"Ministral 3 3B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.1,\n\t\t\toutput: 0.1,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.ministral-3-8b-instruct\": {\n\t\tid: \"mistral.ministral-3-8b-instruct\",\n\t\tname: \"Ministral 3 8B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.15,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.mistral-large-3-675b-instruct\": {\n\t\tid: \"mistral.mistral-large-3-675b-instruct\",\n\t\tname: \"Mistral Large 3\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.5,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 256000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.pixtral-large-2502-v1:0\": {\n\t\tid: \"mistral.pixtral-large-2502-v1:0\",\n\t\tname: \"Pixtral Large (25.02)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.voxtral-mini-3b-2507\": {\n\t\tid: \"mistral.voxtral-mini-3b-2507\",\n\t\tname: \"Voxtral Mini 3B 2507\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.04,\n\t\t\toutput: 0.04,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"mistral.voxtral-small-24b-2507\": {\n\t\tid: \"mistral.voxtral-small-24b-2507\",\n\t\tname: \"Voxtral Small 24B 2507\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.35,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 32000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"moonshot.kimi-k2-thinking\": {\n\t\tid: \"moonshot.kimi-k2-thinking\",\n\t\tname: \"Kimi K2 Thinking\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 2.5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262143,\n\t\tmaxTokens: 16000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"moonshotai.kimi-k2.5\": {\n\t\tid: \"moonshotai.kimi-k2.5\",\n\t\tname: \"Kimi K2.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262143,\n\t\tmaxTokens: 16000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"nvidia.nemotron-nano-12b-v2\": {\n\t\tid: \"nvidia.nemotron-nano-12b-v2\",\n\t\tname: \"NVIDIA Nemotron Nano 12B v2 VL BF16\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"nvidia.nemotron-nano-3-30b\": {\n\t\tid: \"nvidia.nemotron-nano-3-30b\",\n\t\tname: \"NVIDIA Nemotron Nano 3 30B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.24,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"nvidia.nemotron-nano-9b-v2\": {\n\t\tid: \"nvidia.nemotron-nano-9b-v2\",\n\t\tname: \"NVIDIA Nemotron Nano 9B v2\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.23,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"nvidia.nemotron-super-3-120b\": {\n\t\tid: \"nvidia.nemotron-super-3-120b\",\n\t\tname: \"NVIDIA Nemotron 3 Super 120B A12B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.65,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-5.4\": {\n\t\tid: \"openai.gpt-5.4\",\n\t\tname: \"GPT-5.4\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2.75,\n\t\t\toutput: 16.5,\n\t\t\tcacheRead: 0.275,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 272000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-5.5\": {\n\t\tid: \"openai.gpt-5.5\",\n\t\tname: \"GPT-5.5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5.5,\n\t\t\toutput: 33,\n\t\t\tcacheRead: 0.55,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 272000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-120b\": {\n\t\tid: \"openai.gpt-oss-120b\",\n\t\tname: \"gpt-oss-120b\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-120b-1:0\": {\n\t\tid: \"openai.gpt-oss-120b-1:0\",\n\t\tname: \"gpt-oss-120b\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-20b\": {\n\t\tid: \"openai.gpt-oss-20b\",\n\t\tname: \"gpt-oss-20b\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.07,\n\t\t\toutput: 0.3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-20b-1:0\": {\n\t\tid: \"openai.gpt-oss-20b-1:0\",\n\t\tname: \"gpt-oss-20b\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.07,\n\t\t\toutput: 0.3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-safeguard-120b\": {\n\t\tid: \"openai.gpt-oss-safeguard-120b\",\n\t\tname: \"GPT OSS Safeguard 120B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"openai.gpt-oss-safeguard-20b\": {\n\t\tid: \"openai.gpt-oss-safeguard-20b\",\n\t\tname: \"GPT OSS Safeguard 20B\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.07,\n\t\t\toutput: 0.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-235b-a22b-2507-v1:0\": {\n\t\tid: \"qwen.qwen3-235b-a22b-2507-v1:0\",\n\t\tname: \"Qwen3 235B A22B 2507\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.22,\n\t\t\toutput: 0.88,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-32b-v1:0\": {\n\t\tid: \"qwen.qwen3-32b-v1:0\",\n\t\tname: \"Qwen3 32B (dense)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 16384,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-coder-30b-a3b-v1:0\": {\n\t\tid: \"qwen.qwen3-coder-30b-a3b-v1:0\",\n\t\tname: \"Qwen3 Coder 30B A3B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-coder-480b-a35b-v1:0\": {\n\t\tid: \"qwen.qwen3-coder-480b-a35b-v1:0\",\n\t\tname: \"Qwen3 Coder 480B A35B Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.22,\n\t\t\toutput: 1.8,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 131072,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-coder-next\": {\n\t\tid: \"qwen.qwen3-coder-next\",\n\t\tname: \"Qwen3 Coder Next\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.22,\n\t\t\toutput: 1.8,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 131072,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-next-80b-a3b\": {\n\t\tid: \"qwen.qwen3-next-80b-a3b\",\n\t\tname: \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 1.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262000,\n\t\tmaxTokens: 262000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"qwen.qwen3-vl-235b-a22b\": {\n\t\tid: \"qwen.qwen3-vl-235b-a22b\",\n\t\tname: \"Qwen/Qwen3-VL-235B-A22B-Instruct\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262000,\n\t\tmaxTokens: 262000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-fable-5\": {\n\t\tid: \"us.anthropic.claude-fable-5\",\n\t\tname: \"Claude Fable 5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 10,\n\t\t\toutput: 50,\n\t\t\tcacheRead: 1,\n\t\t\tcacheWrite: 12.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-haiku-4-5-20251001-v1:0\": {\n\t\tid: \"us.anthropic.claude-haiku-4-5-20251001-v1:0\",\n\t\tname: \"Claude Haiku 4.5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0.1,\n\t\t\tcacheWrite: 1.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-1-20250805-v1:0\": {\n\t\tid: \"us.anthropic.claude-opus-4-1-20250805-v1:0\",\n\t\tname: \"Claude Opus 4.1 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 15,\n\t\t\toutput: 75,\n\t\t\tcacheRead: 1.5,\n\t\t\tcacheWrite: 18.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 32000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-5-20251101-v1:0\": {\n\t\tid: \"us.anthropic.claude-opus-4-5-20251101-v1:0\",\n\t\tname: \"Claude Opus 4.5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-6-v1\": {\n\t\tid: \"us.anthropic.claude-opus-4-6-v1\",\n\t\tname: \"Claude Opus 4.6 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"max\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-7\": {\n\t\tid: \"us.anthropic.claude-opus-4-7\",\n\t\tname: \"Claude Opus 4.7 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-opus-4-8\": {\n\t\tid: \"us.anthropic.claude-opus-4-8\",\n\t\tname: \"Claude Opus 4.8 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 5,\n\t\t\toutput: 25,\n\t\t\tcacheRead: 0.5,\n\t\t\tcacheWrite: 6.25,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-sonnet-4-5-20250929-v1:0\": {\n\t\tid: \"us.anthropic.claude-sonnet-4-5-20250929-v1:0\",\n\t\tname: \"Claude Sonnet 4.5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-sonnet-4-6\": {\n\t\tid: \"us.anthropic.claude-sonnet-4-6\",\n\t\tname: \"Claude Sonnet 4.6 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 15,\n\t\t\tcacheRead: 0.3,\n\t\t\tcacheWrite: 3.75,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 64000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.anthropic.claude-sonnet-5\": {\n\t\tid: \"us.anthropic.claude-sonnet-5\",\n\t\tname: \"Claude Sonnet 5 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 2.5,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.deepseek.r1-v1:0\": {\n\t\tid: \"us.deepseek.r1-v1:0\",\n\t\tname: \"DeepSeek-R1 (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.35,\n\t\t\toutput: 5.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 128000,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.meta.llama4-maverick-17b-instruct-v1:0\": {\n\t\tid: \"us.meta.llama4-maverick-17b-instruct-v1:0\",\n\t\tname: \"Llama 4 Maverick 17B Instruct (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.24,\n\t\t\toutput: 0.97,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"us.meta.llama4-scout-17b-instruct-v1:0\": {\n\t\tid: \"us.meta.llama4-scout-17b-instruct-v1:0\",\n\t\tname: \"Llama 4 Scout 17B Instruct (US)\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: false,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.17,\n\t\t\toutput: 0.66,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 3500000,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"writer.palmyra-x4-v1:0\": {\n\t\tid: \"writer.palmyra-x4-v1:0\",\n\t\tname: \"Palmyra X4\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 2.5,\n\t\t\toutput: 10,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 122880,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"writer.palmyra-x5-v1:0\": {\n\t\tid: \"writer.palmyra-x5-v1:0\",\n\t\tname: \"Palmyra X5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1040000,\n\t\tmaxTokens: 8192,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"xai.grok-4.3\": {\n\t\tid: \"xai.grok-4.3\",\n\t\tname: \"Grok 4.3\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 1.25,\n\t\t\toutput: 2.5,\n\t\t\tcacheRead: 0.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"zai.glm-4.7\": {\n\t\tid: \"zai.glm-4.7\",\n\t\tname: \"GLM-4.7\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 2.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"zai.glm-4.7-flash\": {\n\t\tid: \"zai.glm-4.7-flash\",\n\t\tname: \"GLM-4.7-Flash\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.07,\n\t\t\toutput: 0.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n\t\"zai.glm-5\": {\n\t\tid: \"zai.glm-5\",\n\t\tname: \"GLM-5\",\n\t\tapi: \"bedrock-converse-stream\",\n\t\tprovider: \"amazon-bedrock\",\n\t\tbaseUrl: \"https://bedrock-runtime.us-east-1.amazonaws.com\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 3.2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 202752,\n\t\tmaxTokens: 101376,\n\t} satisfies Model<\"bedrock-converse-stream\">,\n} as const;\n"]}
@@ -0,0 +1,3 @@
1
+ import { type Provider } from "../models.ts";
2
+ export declare function antLingProvider(): Provider<"openai-completions">;
3
+ //# sourceMappingURL=ant-ling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ant-ling.d.ts","sourceRoot":"","sources":["../../src/providers/ant-ling.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,eAAe,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAShE","sourcesContent":["import { openAICompletionsApi } from \"../api/openai-completions.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { ANT_LING_MODELS } from \"./ant-ling.models.ts\";\n\nexport function antLingProvider(): Provider<\"openai-completions\"> {\n\treturn createProvider({\n\t\tid: \"ant-ling\",\n\t\tname: \"Ant Ling\",\n\t\tbaseUrl: \"https://api.ant-ling.com/v1\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Ant Ling API key\", [\"ANT_LING_API_KEY\"]) },\n\t\tmodels: Object.values(ANT_LING_MODELS),\n\t\tapi: openAICompletionsApi(),\n\t});\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { openAICompletionsApi } from "../api/openai-completions.lazy.js";
2
+ import { envApiKeyAuth } from "../auth/helpers.js";
3
+ import { createProvider } from "../models.js";
4
+ import { ANT_LING_MODELS } from "./ant-ling.models.js";
5
+ export function antLingProvider() {
6
+ return createProvider({
7
+ id: "ant-ling",
8
+ name: "Ant Ling",
9
+ baseUrl: "https://api.ant-ling.com/v1",
10
+ auth: { apiKey: envApiKeyAuth("Ant Ling API key", ["ANT_LING_API_KEY"]) },
11
+ models: Object.values(ANT_LING_MODELS),
12
+ api: openAICompletionsApi(),
13
+ });
14
+ }
15
+ //# sourceMappingURL=ant-ling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ant-ling.js","sourceRoot":"","sources":["../../src/providers/ant-ling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAiB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,UAAU,eAAe,GAAmC;IACjE,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,6BAA6B;QACtC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,kBAAkB,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE;QACzE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QACtC,GAAG,EAAE,oBAAoB,EAAE;KAC3B,CAAC,CAAC;AAAA,CACH","sourcesContent":["import { openAICompletionsApi } from \"../api/openai-completions.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { ANT_LING_MODELS } from \"./ant-ling.models.ts\";\n\nexport function antLingProvider(): Provider<\"openai-completions\"> {\n\treturn createProvider({\n\t\tid: \"ant-ling\",\n\t\tname: \"Ant Ling\",\n\t\tbaseUrl: \"https://api.ant-ling.com/v1\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Ant Ling API key\", [\"ANT_LING_API_KEY\"]) },\n\t\tmodels: Object.values(ANT_LING_MODELS),\n\t\tapi: openAICompletionsApi(),\n\t});\n}\n"]}
@@ -0,0 +1,86 @@
1
+ export declare const ANT_LING_MODELS: {
2
+ readonly "Ling-2.6-1T": {
3
+ id: string;
4
+ name: string;
5
+ api: "openai-completions";
6
+ provider: string;
7
+ baseUrl: string;
8
+ compat: {
9
+ supportsStore: false;
10
+ supportsDeveloperRole: false;
11
+ supportsReasoningEffort: false;
12
+ maxTokensField: "max_tokens";
13
+ thinkingFormat: "ant-ling";
14
+ supportsLongCacheRetention: false;
15
+ };
16
+ reasoning: false;
17
+ input: "text"[];
18
+ cost: {
19
+ input: number;
20
+ output: number;
21
+ cacheRead: number;
22
+ cacheWrite: number;
23
+ };
24
+ contextWindow: number;
25
+ maxTokens: number;
26
+ };
27
+ readonly "Ling-2.6-flash": {
28
+ id: string;
29
+ name: string;
30
+ api: "openai-completions";
31
+ provider: string;
32
+ baseUrl: string;
33
+ compat: {
34
+ supportsStore: false;
35
+ supportsDeveloperRole: false;
36
+ supportsReasoningEffort: false;
37
+ maxTokensField: "max_tokens";
38
+ thinkingFormat: "ant-ling";
39
+ supportsLongCacheRetention: false;
40
+ };
41
+ reasoning: false;
42
+ input: "text"[];
43
+ cost: {
44
+ input: number;
45
+ output: number;
46
+ cacheRead: number;
47
+ cacheWrite: number;
48
+ };
49
+ contextWindow: number;
50
+ maxTokens: number;
51
+ };
52
+ readonly "Ring-2.6-1T": {
53
+ id: string;
54
+ name: string;
55
+ api: "openai-completions";
56
+ provider: string;
57
+ baseUrl: string;
58
+ compat: {
59
+ supportsStore: false;
60
+ supportsDeveloperRole: false;
61
+ supportsReasoningEffort: false;
62
+ maxTokensField: "max_tokens";
63
+ thinkingFormat: "ant-ling";
64
+ supportsLongCacheRetention: false;
65
+ };
66
+ reasoning: true;
67
+ thinkingLevelMap: {
68
+ off: null;
69
+ minimal: null;
70
+ low: null;
71
+ medium: null;
72
+ high: string;
73
+ xhigh: string;
74
+ };
75
+ input: "text"[];
76
+ cost: {
77
+ input: number;
78
+ output: number;
79
+ cacheRead: number;
80
+ cacheWrite: number;
81
+ };
82
+ contextWindow: number;
83
+ maxTokens: number;
84
+ };
85
+ };
86
+ //# sourceMappingURL=ant-ling.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ant-ling.models.d.ts","sourceRoot":"","sources":["../../src/providers/ant-ling.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDlB,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const ANT_LING_MODELS = {\n\t\"Ling-2.6-1T\": {\n\t\tid: \"Ling-2.6-1T\",\n\t\tname: \"Ling 2.6 1T\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"ant-ling\",\n\t\tbaseUrl: \"https://api.ant-ling.com/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\",\"thinkingFormat\":\"ant-ling\",\"supportsLongCacheRetention\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.25,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Ling-2.6-flash\": {\n\t\tid: \"Ling-2.6-flash\",\n\t\tname: \"Ling 2.6 Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"ant-ling\",\n\t\tbaseUrl: \"https://api.ant-ling.com/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\",\"thinkingFormat\":\"ant-ling\",\"supportsLongCacheRetention\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.01,\n\t\t\toutput: 0.02,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Ring-2.6-1T\": {\n\t\tid: \"Ring-2.6-1T\",\n\t\tname: \"Ring 2.6 1T\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"ant-ling\",\n\t\tbaseUrl: \"https://api.ant-ling.com/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\",\"thinkingFormat\":\"ant-ling\",\"supportsLongCacheRetention\":false},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":null,\"medium\":null,\"high\":\"high\",\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.25,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n} as const;\n"]}
@@ -0,0 +1,60 @@
1
+ // This file is auto-generated by scripts/generate-models.ts
2
+ // Do not edit manually - run 'npm run generate-models' to update
3
+ export const ANT_LING_MODELS = {
4
+ "Ling-2.6-1T": {
5
+ id: "Ling-2.6-1T",
6
+ name: "Ling 2.6 1T",
7
+ api: "openai-completions",
8
+ provider: "ant-ling",
9
+ baseUrl: "https://api.ant-ling.com/v1",
10
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "thinkingFormat": "ant-ling", "supportsLongCacheRetention": false },
11
+ reasoning: false,
12
+ input: ["text"],
13
+ cost: {
14
+ input: 0.06,
15
+ output: 0.25,
16
+ cacheRead: 0,
17
+ cacheWrite: 0,
18
+ },
19
+ contextWindow: 262144,
20
+ maxTokens: 65536,
21
+ },
22
+ "Ling-2.6-flash": {
23
+ id: "Ling-2.6-flash",
24
+ name: "Ling 2.6 Flash",
25
+ api: "openai-completions",
26
+ provider: "ant-ling",
27
+ baseUrl: "https://api.ant-ling.com/v1",
28
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "thinkingFormat": "ant-ling", "supportsLongCacheRetention": false },
29
+ reasoning: false,
30
+ input: ["text"],
31
+ cost: {
32
+ input: 0.01,
33
+ output: 0.02,
34
+ cacheRead: 0,
35
+ cacheWrite: 0,
36
+ },
37
+ contextWindow: 262144,
38
+ maxTokens: 65536,
39
+ },
40
+ "Ring-2.6-1T": {
41
+ id: "Ring-2.6-1T",
42
+ name: "Ring 2.6 1T",
43
+ api: "openai-completions",
44
+ provider: "ant-ling",
45
+ baseUrl: "https://api.ant-ling.com/v1",
46
+ compat: { "supportsStore": false, "supportsDeveloperRole": false, "supportsReasoningEffort": false, "maxTokensField": "max_tokens", "thinkingFormat": "ant-ling", "supportsLongCacheRetention": false },
47
+ reasoning: true,
48
+ thinkingLevelMap: { "off": null, "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
49
+ input: ["text"],
50
+ cost: {
51
+ input: 0.06,
52
+ output: 0.25,
53
+ cacheRead: 0,
54
+ cacheWrite: 0,
55
+ },
56
+ contextWindow: 262144,
57
+ maxTokens: 65536,
58
+ },
59
+ };
60
+ //# sourceMappingURL=ant-ling.models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ant-ling.models.js","sourceRoot":"","sources":["../../src/providers/ant-ling.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAIjE,MAAM,CAAC,MAAM,eAAe,GAAG;IAC9B,aAAa,EAAE;QACd,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,6BAA6B;QACtC,MAAM,EAAE,EAAC,eAAe,EAAC,KAAK,EAAC,uBAAuB,EAAC,KAAK,EAAC,yBAAyB,EAAC,KAAK,EAAC,gBAAgB,EAAC,YAAY,EAAC,gBAAgB,EAAC,UAAU,EAAC,4BAA4B,EAAC,KAAK,EAAC;QAC1L,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,gBAAgB,EAAE;QACjB,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,6BAA6B;QACtC,MAAM,EAAE,EAAC,eAAe,EAAC,KAAK,EAAC,uBAAuB,EAAC,KAAK,EAAC,yBAAyB,EAAC,KAAK,EAAC,gBAAgB,EAAC,YAAY,EAAC,gBAAgB,EAAC,UAAU,EAAC,4BAA4B,EAAC,KAAK,EAAC;QAC1L,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,aAAa,EAAE;QACd,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,UAAU;QACpB,OAAO,EAAE,6BAA6B;QACtC,MAAM,EAAE,EAAC,eAAe,EAAC,KAAK,EAAC,uBAAuB,EAAC,KAAK,EAAC,yBAAyB,EAAC,KAAK,EAAC,gBAAgB,EAAC,YAAY,EAAC,gBAAgB,EAAC,UAAU,EAAC,4BAA4B,EAAC,KAAK,EAAC;QAC1L,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,EAAC,KAAK,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC;QACpG,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;CAC9B,CAAC","sourcesContent":["// This file is auto-generated by scripts/generate-models.ts\n// Do not edit manually - run 'npm run generate-models' to update\n\nimport type { Model } from \"../types.ts\";\n\nexport const ANT_LING_MODELS = {\n\t\"Ling-2.6-1T\": {\n\t\tid: \"Ling-2.6-1T\",\n\t\tname: \"Ling 2.6 1T\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"ant-ling\",\n\t\tbaseUrl: \"https://api.ant-ling.com/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\",\"thinkingFormat\":\"ant-ling\",\"supportsLongCacheRetention\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.25,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Ling-2.6-flash\": {\n\t\tid: \"Ling-2.6-flash\",\n\t\tname: \"Ling 2.6 Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"ant-ling\",\n\t\tbaseUrl: \"https://api.ant-ling.com/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\",\"thinkingFormat\":\"ant-ling\",\"supportsLongCacheRetention\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.01,\n\t\t\toutput: 0.02,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Ring-2.6-1T\": {\n\t\tid: \"Ring-2.6-1T\",\n\t\tname: \"Ring 2.6 1T\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"ant-ling\",\n\t\tbaseUrl: \"https://api.ant-ling.com/v1\",\n\t\tcompat: {\"supportsStore\":false,\"supportsDeveloperRole\":false,\"supportsReasoningEffort\":false,\"maxTokensField\":\"max_tokens\",\"thinkingFormat\":\"ant-ling\",\"supportsLongCacheRetention\":false},\n\t\treasoning: true,\n\t\tthinkingLevelMap: {\"off\":null,\"minimal\":null,\"low\":null,\"medium\":null,\"high\":\"high\",\"xhigh\":\"xhigh\"},\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.06,\n\t\t\toutput: 0.25,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n} as const;\n"]}
@@ -1,40 +1,3 @@
1
- import Anthropic from "@anthropic-ai/sdk";
2
- import type { SimpleStreamOptions, StreamFunction, StreamOptions } from "../types.js";
3
- export type AnthropicEffort = "low" | "medium" | "high" | "max";
4
- export interface AnthropicOptions extends StreamOptions {
5
- /**
6
- * Enable extended thinking.
7
- * For Opus 4.6 and Sonnet 4.6: uses adaptive thinking (model decides when/how much to think).
8
- * For older models: uses budget-based thinking with thinkingBudgetTokens.
9
- */
10
- thinkingEnabled?: boolean;
11
- /**
12
- * Token budget for extended thinking (older models only).
13
- * Ignored for Opus 4.6 and Sonnet 4.6, which use adaptive thinking.
14
- */
15
- thinkingBudgetTokens?: number;
16
- /**
17
- * Effort level for adaptive thinking (Opus 4.6 and Sonnet 4.6).
18
- * Controls how much thinking Claude allocates:
19
- * - "max": Always thinks with no constraints (Opus 4.6 only)
20
- * - "high": Always thinks, deep reasoning (default)
21
- * - "medium": Moderate thinking, may skip for simple queries
22
- * - "low": Minimal thinking, skips for simple tasks
23
- * Ignored for older models.
24
- */
25
- effort?: AnthropicEffort;
26
- interleavedThinking?: boolean;
27
- toolChoice?: "auto" | "any" | "none" | {
28
- type: "tool";
29
- name: string;
30
- };
31
- /**
32
- * Pre-built Anthropic client instance. When provided, skips internal client
33
- * construction entirely. Use this to inject alternative SDK clients such as
34
- * `AnthropicVertex` that shares the same messaging API.
35
- */
36
- client?: Anthropic;
37
- }
38
- export declare const streamAnthropic: StreamFunction<"anthropic-messages", AnthropicOptions>;
39
- export declare const streamSimpleAnthropic: StreamFunction<"anthropic-messages", SimpleStreamOptions>;
1
+ import { type Provider } from "../models.ts";
2
+ export declare function anthropicProvider(): Provider<"anthropic-messages">;
40
3
  //# sourceMappingURL=anthropic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAQ1C,OAAO,KAAK,EAQX,mBAAmB,EAEnB,cAAc,EACd,aAAa,EAMb,MAAM,aAAa,CAAC;AAmJrB,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAEhE,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACtD;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACnB;AAYD,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,oBAAoB,EAAE,gBAAgB,CAkPlF,CAAC;AAuCF,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,oBAAoB,EAAE,mBAAmB,CAuC3F,CAAC","sourcesContent":["import Anthropic from \"@anthropic-ai/sdk\";\nimport type {\n\tContentBlockParam,\n\tMessageCreateParamsStreaming,\n\tMessageParam,\n} from \"@anthropic-ai/sdk/resources/messages.js\";\nimport { getEnvApiKey } from \"../env-api-keys.js\";\nimport { calculateCost, supportsMax } from \"../models.js\";\nimport type {\n\tApi,\n\tAssistantMessage,\n\tCacheRetention,\n\tContext,\n\tImageContent,\n\tMessage,\n\tModel,\n\tSimpleStreamOptions,\n\tStopReason,\n\tStreamFunction,\n\tStreamOptions,\n\tTextContent,\n\tThinkingContent,\n\tTool,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.js\";\nimport { AssistantMessageEventStream } from \"../utils/event-stream.js\";\nimport { parseStreamingJson } from \"../utils/json-parse.js\";\nimport { sanitizeSurrogates } from \"../utils/sanitize-unicode.js\";\n\nimport { buildCopilotDynamicHeaders, hasCopilotVisionInput } from \"./github-copilot-headers.js\";\nimport { adjustMaxTokensForThinking, buildBaseOptions } from \"./simple-options.js\";\nimport { transformMessages } from \"./transform-messages.js\";\n\n/**\n * Resolve cache retention preference.\n * Defaults to \"short\" and uses PI_CACHE_RETENTION for backward compatibility.\n */\nfunction resolveCacheRetention(cacheRetention?: CacheRetention): CacheRetention {\n\tif (cacheRetention) {\n\t\treturn cacheRetention;\n\t}\n\tif (typeof process !== \"undefined\" && process.env.PI_CACHE_RETENTION === \"long\") {\n\t\treturn \"long\";\n\t}\n\treturn \"short\";\n}\n\nfunction getCacheControl(\n\tbaseUrl: string,\n\tcacheRetention?: CacheRetention,\n): { retention: CacheRetention; cacheControl?: { type: \"ephemeral\"; ttl?: \"1h\" } } {\n\tconst retention = resolveCacheRetention(cacheRetention);\n\tif (retention === \"none\") {\n\t\treturn { retention };\n\t}\n\tconst ttl = retention === \"long\" && baseUrl.includes(\"api.anthropic.com\") ? \"1h\" : undefined;\n\treturn {\n\t\tretention,\n\t\tcacheControl: { type: \"ephemeral\", ...(ttl && { ttl }) },\n\t};\n}\n\n// Stealth mode: Mimic Claude Code's identity, headers, and tool naming.\n// Source: https://cchistory.mariozechner.at/data/prompts-2.1.100.md\n// To update: https://github.com/badlogic/cchistory\nconst claudeCodeVersion = \"2.1.100\";\n// Build hash suffix that Claude Code appends to the billing header's cc_version.\n// Each real release has its own hash (e.g. 2.1.100 -> \"1af\", 2.1.90 -> \"232\").\n// This value only needs to parse; it is not cryptographically verified server-side.\nconst claudeCodeBuild = \"1af\";\n// First line of Claude Code's system prompt. Anthropic uses this to classify\n// traffic as first-party Claude Code (vs third-party SDK usage) for billing.\nconst claudeCodeBillingHeader = `x-anthropic-billing-header: cc_version=${claudeCodeVersion}.${claudeCodeBuild}; cc_entrypoint=sdk-cli; cch=00000;`;\n// Identity statement that immediately follows the billing header in real Claude Code.\nconst claudeCodeIdentity = \"You are a Claude agent, built on Anthropic's Claude Agent SDK.\";\n\n// Claude Code 2.1.100 tool names (canonical casing), both active and deferred\n// (deferred tools are loaded on-demand via ToolSearch but still use these names).\nconst claudeCodeTools = [\n\t\"Agent\",\n\t\"AskUserQuestion\",\n\t\"Bash\",\n\t\"CronCreate\",\n\t\"CronDelete\",\n\t\"CronList\",\n\t\"Edit\",\n\t\"EnterPlanMode\",\n\t\"EnterWorktree\",\n\t\"ExitPlanMode\",\n\t\"ExitWorktree\",\n\t\"Glob\",\n\t\"Grep\",\n\t\"Monitor\",\n\t\"NotebookEdit\",\n\t\"Read\",\n\t\"RemoteTrigger\",\n\t\"Skill\",\n\t\"TaskOutput\",\n\t\"TaskStop\",\n\t\"TodoWrite\",\n\t\"ToolSearch\",\n\t\"WebFetch\",\n\t\"WebSearch\",\n\t\"Write\",\n];\n\nconst ccToolLookup = new Map(claudeCodeTools.map((t) => [t.toLowerCase(), t]));\n\n// Convert tool name to CC canonical casing if it matches (case-insensitive)\nconst toClaudeCodeName = (name: string) => ccToolLookup.get(name.toLowerCase()) ?? name;\nconst fromClaudeCodeName = (name: string, tools?: Tool[]) => {\n\tif (tools && tools.length > 0) {\n\t\tconst lowerName = name.toLowerCase();\n\t\tconst matchedTool = tools.find((tool) => tool.name.toLowerCase() === lowerName);\n\t\tif (matchedTool) return matchedTool.name;\n\t}\n\treturn name;\n};\n\n/**\n * Convert content blocks to Anthropic API format\n */\nfunction convertContentBlocks(content: (TextContent | ImageContent)[]):\n\t| string\n\t| Array<\n\t\t\t| { type: \"text\"; text: string }\n\t\t\t| {\n\t\t\t\t\ttype: \"image\";\n\t\t\t\t\tsource: {\n\t\t\t\t\t\ttype: \"base64\";\n\t\t\t\t\t\tmedia_type: \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\";\n\t\t\t\t\t\tdata: string;\n\t\t\t\t\t};\n\t\t\t }\n\t > {\n\t// If only text blocks, return as concatenated string for simplicity\n\tconst hasImages = content.some((c) => c.type === \"image\");\n\tif (!hasImages) {\n\t\treturn sanitizeSurrogates(content.map((c) => (c as TextContent).text).join(\"\\n\"));\n\t}\n\n\t// If we have images, convert to content block array\n\tconst blocks = content.map((block) => {\n\t\tif (block.type === \"text\") {\n\t\t\treturn {\n\t\t\t\ttype: \"text\" as const,\n\t\t\t\ttext: sanitizeSurrogates(block.text),\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"image\" as const,\n\t\t\tsource: {\n\t\t\t\ttype: \"base64\" as const,\n\t\t\t\tmedia_type: block.mimeType as \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\",\n\t\t\t\tdata: block.data,\n\t\t\t},\n\t\t};\n\t});\n\n\t// If only images (no text), add placeholder text block\n\tconst hasText = blocks.some((b) => b.type === \"text\");\n\tif (!hasText) {\n\t\tblocks.unshift({\n\t\t\ttype: \"text\" as const,\n\t\t\ttext: \"(see attached image)\",\n\t\t});\n\t}\n\n\treturn blocks;\n}\n\nexport type AnthropicEffort = \"low\" | \"medium\" | \"high\" | \"max\";\n\nexport interface AnthropicOptions extends StreamOptions {\n\t/**\n\t * Enable extended thinking.\n\t * For Opus 4.6 and Sonnet 4.6: uses adaptive thinking (model decides when/how much to think).\n\t * For older models: uses budget-based thinking with thinkingBudgetTokens.\n\t */\n\tthinkingEnabled?: boolean;\n\t/**\n\t * Token budget for extended thinking (older models only).\n\t * Ignored for Opus 4.6 and Sonnet 4.6, which use adaptive thinking.\n\t */\n\tthinkingBudgetTokens?: number;\n\t/**\n\t * Effort level for adaptive thinking (Opus 4.6 and Sonnet 4.6).\n\t * Controls how much thinking Claude allocates:\n\t * - \"max\": Always thinks with no constraints (Opus 4.6 only)\n\t * - \"high\": Always thinks, deep reasoning (default)\n\t * - \"medium\": Moderate thinking, may skip for simple queries\n\t * - \"low\": Minimal thinking, skips for simple tasks\n\t * Ignored for older models.\n\t */\n\teffort?: AnthropicEffort;\n\tinterleavedThinking?: boolean;\n\ttoolChoice?: \"auto\" | \"any\" | \"none\" | { type: \"tool\"; name: string };\n\t/**\n\t * Pre-built Anthropic client instance. When provided, skips internal client\n\t * construction entirely. Use this to inject alternative SDK clients such as\n\t * `AnthropicVertex` that shares the same messaging API.\n\t */\n\tclient?: Anthropic;\n}\n\nfunction mergeHeaders(...headerSources: (Record<string, string> | undefined)[]): Record<string, string> {\n\tconst merged: Record<string, string> = {};\n\tfor (const headers of headerSources) {\n\t\tif (headers) {\n\t\t\tObject.assign(merged, headers);\n\t\t}\n\t}\n\treturn merged;\n}\n\nexport const streamAnthropic: StreamFunction<\"anthropic-messages\", AnthropicOptions> = (\n\tmodel: Model<\"anthropic-messages\">,\n\tcontext: Context,\n\toptions?: AnthropicOptions,\n): AssistantMessageEventStream => {\n\tconst stream = new AssistantMessageEventStream();\n\n\t(async () => {\n\t\tconst output: AssistantMessage = {\n\t\t\trole: \"assistant\",\n\t\t\tcontent: [],\n\t\t\tapi: model.api as Api,\n\t\t\tprovider: model.provider,\n\t\t\tmodel: model.id,\n\t\t\tusage: {\n\t\t\t\tinput: 0,\n\t\t\t\toutput: 0,\n\t\t\t\tcacheRead: 0,\n\t\t\t\tcacheWrite: 0,\n\t\t\t\ttotalTokens: 0,\n\t\t\t\tcost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 },\n\t\t\t},\n\t\t\tstopReason: \"stop\",\n\t\t\ttimestamp: Date.now(),\n\t\t};\n\n\t\ttry {\n\t\t\tlet client: Anthropic;\n\t\t\tlet isOAuth: boolean;\n\n\t\t\tif (options?.client) {\n\t\t\t\tclient = options.client;\n\t\t\t\tisOAuth = false;\n\t\t\t} else {\n\t\t\t\tconst apiKey = options?.apiKey ?? getEnvApiKey(model.provider) ?? \"\";\n\n\t\t\t\tlet copilotDynamicHeaders: Record<string, string> | undefined;\n\t\t\t\tif (model.provider === \"github-copilot\") {\n\t\t\t\t\tconst hasImages = hasCopilotVisionInput(context.messages);\n\t\t\t\t\tcopilotDynamicHeaders = buildCopilotDynamicHeaders({\n\t\t\t\t\t\tmessages: context.messages,\n\t\t\t\t\t\thasImages,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tconst created = createClient(\n\t\t\t\t\tmodel,\n\t\t\t\t\tapiKey,\n\t\t\t\t\toptions?.interleavedThinking ?? true,\n\t\t\t\t\toptions?.headers,\n\t\t\t\t\tcopilotDynamicHeaders,\n\t\t\t\t);\n\t\t\t\tclient = created.client;\n\t\t\t\tisOAuth = created.isOAuthToken;\n\t\t\t}\n\t\t\tlet params = buildParams(model, context, isOAuth, options);\n\t\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\t\tif (nextParams !== undefined) {\n\t\t\t\tparams = nextParams as MessageCreateParamsStreaming;\n\t\t\t}\n\t\t\tconst anthropicStream = client.messages.stream({ ...params, stream: true }, { signal: options?.signal });\n\t\t\tstream.push({ type: \"start\", partial: output });\n\n\t\t\ttype Block = (ThinkingContent | TextContent | (ToolCall & { partialJson: string })) & { index: number };\n\t\t\tconst blocks = output.content as Block[];\n\n\t\t\tfor await (const event of anthropicStream) {\n\t\t\t\tif (event.type === \"message_start\") {\n\t\t\t\t\toutput.responseId = event.message.id;\n\t\t\t\t\t// Capture initial token usage from message_start event\n\t\t\t\t\t// This ensures we have input token counts even if the stream is aborted early\n\t\t\t\t\toutput.usage.input = event.message.usage.input_tokens || 0;\n\t\t\t\t\toutput.usage.output = event.message.usage.output_tokens || 0;\n\t\t\t\t\toutput.usage.cacheRead = event.message.usage.cache_read_input_tokens || 0;\n\t\t\t\t\toutput.usage.cacheWrite = event.message.usage.cache_creation_input_tokens || 0;\n\t\t\t\t\t// Anthropic doesn't provide total_tokens, compute from components\n\t\t\t\t\toutput.usage.totalTokens =\n\t\t\t\t\t\toutput.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n\t\t\t\t\tcalculateCost(model, output.usage);\n\t\t\t\t} else if (event.type === \"content_block_start\") {\n\t\t\t\t\tif (event.content_block.type === \"text\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: \"\",\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"text_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t} else if (event.content_block.type === \"thinking\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\tthinking: \"\",\n\t\t\t\t\t\t\tthinkingSignature: \"\",\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t} else if (event.content_block.type === \"redacted_thinking\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\tthinking: \"[Reasoning redacted]\",\n\t\t\t\t\t\t\tthinkingSignature: event.content_block.data,\n\t\t\t\t\t\t\tredacted: true,\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"thinking_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t} else if (event.content_block.type === \"tool_use\") {\n\t\t\t\t\t\tconst block: Block = {\n\t\t\t\t\t\t\ttype: \"toolCall\",\n\t\t\t\t\t\t\tid: event.content_block.id,\n\t\t\t\t\t\t\tname: isOAuth\n\t\t\t\t\t\t\t\t? fromClaudeCodeName(event.content_block.name, context.tools)\n\t\t\t\t\t\t\t\t: event.content_block.name,\n\t\t\t\t\t\t\targuments: (event.content_block.input as Record<string, any>) ?? {},\n\t\t\t\t\t\t\tpartialJson: \"\",\n\t\t\t\t\t\t\tindex: event.index,\n\t\t\t\t\t\t};\n\t\t\t\t\t\toutput.content.push(block);\n\t\t\t\t\t\tstream.push({ type: \"toolcall_start\", contentIndex: output.content.length - 1, partial: output });\n\t\t\t\t\t}\n\t\t\t\t} else if (event.type === \"content_block_delta\") {\n\t\t\t\t\tif (event.delta.type === \"text_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"text\") {\n\t\t\t\t\t\t\tblock.text += event.delta.text;\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"text_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tdelta: event.delta.text,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (event.delta.type === \"thinking_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"thinking\") {\n\t\t\t\t\t\t\tblock.thinking += event.delta.thinking;\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"thinking_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tdelta: event.delta.thinking,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (event.delta.type === \"input_json_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"toolCall\") {\n\t\t\t\t\t\t\tblock.partialJson += event.delta.partial_json;\n\t\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialJson);\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_delta\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tdelta: event.delta.partial_json,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (event.delta.type === \"signature_delta\") {\n\t\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\t\tif (block && block.type === \"thinking\") {\n\t\t\t\t\t\t\tblock.thinkingSignature = block.thinkingSignature || \"\";\n\t\t\t\t\t\t\tblock.thinkingSignature += event.delta.signature;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.type === \"content_block_stop\") {\n\t\t\t\t\tconst index = blocks.findIndex((b) => b.index === event.index);\n\t\t\t\t\tconst block = blocks[index];\n\t\t\t\t\tif (block) {\n\t\t\t\t\t\tdelete (block as any).index;\n\t\t\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"text_end\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tcontent: block.text,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"thinking_end\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\tcontent: block.thinking,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else if (block.type === \"toolCall\") {\n\t\t\t\t\t\t\tblock.arguments = parseStreamingJson(block.partialJson);\n\t\t\t\t\t\t\tdelete (block as any).partialJson;\n\t\t\t\t\t\t\tstream.push({\n\t\t\t\t\t\t\t\ttype: \"toolcall_end\",\n\t\t\t\t\t\t\t\tcontentIndex: index,\n\t\t\t\t\t\t\t\ttoolCall: block,\n\t\t\t\t\t\t\t\tpartial: output,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (event.type === \"message_delta\") {\n\t\t\t\t\tif (event.delta.stop_reason) {\n\t\t\t\t\t\toutput.stopReason = mapStopReason(event.delta.stop_reason);\n\t\t\t\t\t}\n\t\t\t\t\t// Only update usage fields if present (not null).\n\t\t\t\t\t// Preserves input_tokens from message_start when proxies omit it in message_delta.\n\t\t\t\t\tif (event.usage.input_tokens != null) {\n\t\t\t\t\t\toutput.usage.input = event.usage.input_tokens;\n\t\t\t\t\t}\n\t\t\t\t\tif (event.usage.output_tokens != null) {\n\t\t\t\t\t\toutput.usage.output = event.usage.output_tokens;\n\t\t\t\t\t}\n\t\t\t\t\tif (event.usage.cache_read_input_tokens != null) {\n\t\t\t\t\t\toutput.usage.cacheRead = event.usage.cache_read_input_tokens;\n\t\t\t\t\t}\n\t\t\t\t\tif (event.usage.cache_creation_input_tokens != null) {\n\t\t\t\t\t\toutput.usage.cacheWrite = event.usage.cache_creation_input_tokens;\n\t\t\t\t\t}\n\t\t\t\t\t// Anthropic doesn't provide total_tokens, compute from components\n\t\t\t\t\toutput.usage.totalTokens =\n\t\t\t\t\t\toutput.usage.input + output.usage.output + output.usage.cacheRead + output.usage.cacheWrite;\n\t\t\t\t\tcalculateCost(model, output.usage);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (options?.signal?.aborted) {\n\t\t\t\tthrow new Error(\"Request was aborted\");\n\t\t\t}\n\n\t\t\tif (output.stopReason === \"aborted\" || output.stopReason === \"error\") {\n\t\t\t\tthrow new Error(\"An unknown error occurred\");\n\t\t\t}\n\n\t\t\tstream.push({ type: \"done\", reason: output.stopReason, message: output });\n\t\t\tstream.end();\n\t\t} catch (error) {\n\t\t\tfor (const block of output.content) delete (block as any).index;\n\t\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\t\toutput.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n\t\t\tstream.push({ type: \"error\", reason: output.stopReason, error: output });\n\t\t\tstream.end();\n\t\t}\n\t})();\n\n\treturn stream;\n};\n\n/**\n * Check if a model supports adaptive thinking (Opus 4.6 and Sonnet 4.6)\n */\nfunction supportsAdaptiveThinking(modelId: string): boolean {\n\t// Opus 4.6 and Sonnet 4.6 model IDs (with or without date suffix)\n\treturn (\n\t\tmodelId.includes(\"opus-4-6\") ||\n\t\tmodelId.includes(\"opus-4.6\") ||\n\t\tmodelId.includes(\"sonnet-4-6\") ||\n\t\tmodelId.includes(\"sonnet-4.6\")\n\t);\n}\n\n/**\n * Map ThinkingLevel to Anthropic effort levels for adaptive thinking.\n * Note: effort \"max\" is only valid on Opus models that pass `supportsMax`.\n */\nfunction mapThinkingLevelToEffort(level: SimpleStreamOptions[\"reasoning\"], modelId: string): AnthropicEffort {\n\tconst supportsMaxEffort = supportsMax({ id: modelId } as Model<Api>);\n\tswitch (level) {\n\t\tcase \"minimal\":\n\t\t\treturn \"low\";\n\t\tcase \"low\":\n\t\t\treturn \"low\";\n\t\tcase \"medium\":\n\t\t\treturn \"medium\";\n\t\tcase \"high\":\n\t\t\treturn \"high\";\n\t\tcase \"xhigh\":\n\t\t\treturn supportsMaxEffort ? \"max\" : \"high\";\n\t\tcase \"max\":\n\t\t\treturn supportsMaxEffort ? \"max\" : \"high\";\n\t\tdefault:\n\t\t\treturn \"high\";\n\t}\n}\n\nexport const streamSimpleAnthropic: StreamFunction<\"anthropic-messages\", SimpleStreamOptions> = (\n\tmodel: Model<\"anthropic-messages\">,\n\tcontext: Context,\n\toptions?: SimpleStreamOptions,\n): AssistantMessageEventStream => {\n\tconst apiKey = options?.apiKey || getEnvApiKey(model.provider);\n\tif (!apiKey) {\n\t\tthrow new Error(`No API key for provider: ${model.provider}`);\n\t}\n\n\tconst base = buildBaseOptions(model, options, apiKey);\n\tif (!options?.reasoning) {\n\t\treturn streamAnthropic(model, context, { ...base, thinkingEnabled: false } satisfies AnthropicOptions);\n\t}\n\n\t// For Opus 4.6 and Sonnet 4.6: use adaptive thinking with effort level\n\t// For older models: use budget-based thinking\n\tif (supportsAdaptiveThinking(model.id)) {\n\t\tconst effort = mapThinkingLevelToEffort(options.reasoning, model.id);\n\t\treturn streamAnthropic(model, context, {\n\t\t\t...base,\n\t\t\tthinkingEnabled: true,\n\t\t\teffort,\n\t\t} satisfies AnthropicOptions);\n\t}\n\n\tconst adjusted = adjustMaxTokensForThinking(\n\t\tbase.maxTokens || 0,\n\t\tmodel.maxTokens,\n\t\toptions.reasoning,\n\t\toptions.thinkingBudgets,\n\t);\n\n\treturn streamAnthropic(model, context, {\n\t\t...base,\n\t\tmaxTokens: adjusted.maxTokens,\n\t\tthinkingEnabled: true,\n\t\tthinkingBudgetTokens: adjusted.thinkingBudget,\n\t} satisfies AnthropicOptions);\n};\n\nfunction isOAuthToken(apiKey: string): boolean {\n\treturn apiKey.includes(\"sk-ant-oat\");\n}\n\nfunction createClient(\n\tmodel: Model<\"anthropic-messages\">,\n\tapiKey: string,\n\tinterleavedThinking: boolean,\n\toptionsHeaders?: Record<string, string>,\n\tdynamicHeaders?: Record<string, string>,\n): { client: Anthropic; isOAuthToken: boolean } {\n\t// Adaptive thinking models (Opus 4.6, Sonnet 4.6) have interleaved thinking built-in.\n\t// The beta header is deprecated on Opus 4.6 and redundant on Sonnet 4.6, so skip it.\n\tconst needsInterleavedBeta = interleavedThinking && !supportsAdaptiveThinking(model.id);\n\n\t// Copilot: Bearer auth, selective betas (no fine-grained-tool-streaming)\n\tif (model.provider === \"github-copilot\") {\n\t\tconst betaFeatures: string[] = [];\n\t\tif (needsInterleavedBeta) {\n\t\t\tbetaFeatures.push(\"interleaved-thinking-2025-05-14\");\n\t\t}\n\n\t\tconst client = new Anthropic({\n\t\t\tapiKey: null,\n\t\t\tauthToken: apiKey,\n\t\t\tbaseURL: model.baseUrl,\n\t\t\tdangerouslyAllowBrowser: true,\n\t\t\tdefaultHeaders: mergeHeaders(\n\t\t\t\t{\n\t\t\t\t\taccept: \"application/json\",\n\t\t\t\t\t\"anthropic-dangerous-direct-browser-access\": \"true\",\n\t\t\t\t\t...(betaFeatures.length > 0 ? { \"anthropic-beta\": betaFeatures.join(\",\") } : {}),\n\t\t\t\t},\n\t\t\t\tmodel.headers,\n\t\t\t\tdynamicHeaders,\n\t\t\t\toptionsHeaders,\n\t\t\t),\n\t\t});\n\n\t\treturn { client, isOAuthToken: false };\n\t}\n\n\tconst betaFeatures = [\"fine-grained-tool-streaming-2025-05-14\"];\n\tif (needsInterleavedBeta) {\n\t\tbetaFeatures.push(\"interleaved-thinking-2025-05-14\");\n\t}\n\n\t// OAuth: Bearer auth, Claude Code identity headers\n\tif (isOAuthToken(apiKey)) {\n\t\tconst client = new Anthropic({\n\t\t\tapiKey: null,\n\t\t\tauthToken: apiKey,\n\t\t\tbaseURL: model.baseUrl,\n\t\t\tdangerouslyAllowBrowser: true,\n\t\t\tdefaultHeaders: mergeHeaders(\n\t\t\t\t{\n\t\t\t\t\taccept: \"application/json\",\n\t\t\t\t\t\"anthropic-dangerous-direct-browser-access\": \"true\",\n\t\t\t\t\t\"anthropic-beta\": `claude-code-20250219,oauth-2025-04-20,${betaFeatures.join(\",\")}`,\n\t\t\t\t\t\"user-agent\": `claude-cli/${claudeCodeVersion}`,\n\t\t\t\t\t\"x-app\": \"cli\",\n\t\t\t\t},\n\t\t\t\tmodel.headers,\n\t\t\t\toptionsHeaders,\n\t\t\t),\n\t\t});\n\n\t\treturn { client, isOAuthToken: true };\n\t}\n\n\t// API key auth\n\tconst client = new Anthropic({\n\t\tapiKey,\n\t\tbaseURL: model.baseUrl,\n\t\tdangerouslyAllowBrowser: true,\n\t\tdefaultHeaders: mergeHeaders(\n\t\t\t{\n\t\t\t\taccept: \"application/json\",\n\t\t\t\t\"anthropic-dangerous-direct-browser-access\": \"true\",\n\t\t\t\t\"anthropic-beta\": betaFeatures.join(\",\"),\n\t\t\t},\n\t\t\tmodel.headers,\n\t\t\toptionsHeaders,\n\t\t),\n\t});\n\n\treturn { client, isOAuthToken: false };\n}\n\nfunction buildParams(\n\tmodel: Model<\"anthropic-messages\">,\n\tcontext: Context,\n\tisOAuthToken: boolean,\n\toptions?: AnthropicOptions,\n): MessageCreateParamsStreaming {\n\tconst { cacheControl } = getCacheControl(model.baseUrl, options?.cacheRetention);\n\tconst params: MessageCreateParamsStreaming = {\n\t\tmodel: model.id,\n\t\tmessages: convertMessages(context.messages, model, isOAuthToken, cacheControl),\n\t\tmax_tokens: options?.maxTokens || (model.maxTokens / 3) | 0,\n\t\tstream: true,\n\t};\n\n\t// For OAuth tokens, we MUST prepend the Claude Code billing header and identity.\n\t// Anthropic inspects the first system block to classify traffic as first-party\n\t// Claude Code (billed against the Claude subscription) vs third-party SDK usage\n\t// (billed as extra usage per token). Without these exact strings, Pro/Max/Team\n\t// subscriptions are metered as third-party.\n\tif (isOAuthToken) {\n\t\tparams.system = [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: `${claudeCodeBillingHeader}\\n${claudeCodeIdentity}`,\n\t\t\t\t...(cacheControl ? { cache_control: cacheControl } : {}),\n\t\t\t},\n\t\t];\n\t\tif (context.systemPrompt) {\n\t\t\tparams.system.push({\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(context.systemPrompt),\n\t\t\t\t...(cacheControl ? { cache_control: cacheControl } : {}),\n\t\t\t});\n\t\t}\n\t} else if (context.systemPrompt) {\n\t\t// Add cache control to system prompt for non-OAuth tokens\n\t\tparams.system = [\n\t\t\t{\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(context.systemPrompt),\n\t\t\t\t...(cacheControl ? { cache_control: cacheControl } : {}),\n\t\t\t},\n\t\t];\n\t}\n\n\t// Temperature is incompatible with extended thinking (adaptive or budget-based).\n\tif (options?.temperature !== undefined && !options?.thinkingEnabled) {\n\t\tparams.temperature = options.temperature;\n\t}\n\n\tif (context.tools) {\n\t\tparams.tools = convertTools(context.tools, isOAuthToken);\n\t}\n\n\t// Configure thinking mode: adaptive (Opus 4.6 and Sonnet 4.6),\n\t// budget-based (older models), or explicitly disabled.\n\tif (model.reasoning) {\n\t\tif (options?.thinkingEnabled) {\n\t\t\tif (supportsAdaptiveThinking(model.id)) {\n\t\t\t\t// Adaptive thinking: Claude decides when and how much to think\n\t\t\t\tparams.thinking = { type: \"adaptive\" };\n\t\t\t\tif (options.effort) {\n\t\t\t\t\tparams.output_config = { effort: options.effort };\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Budget-based thinking for older models\n\t\t\t\tparams.thinking = {\n\t\t\t\t\ttype: \"enabled\",\n\t\t\t\t\tbudget_tokens: options.thinkingBudgetTokens || 1024,\n\t\t\t\t};\n\t\t\t}\n\t\t} else if (options?.thinkingEnabled === false) {\n\t\t\tparams.thinking = { type: \"disabled\" };\n\t\t}\n\t}\n\n\tif (options?.metadata) {\n\t\tconst userId = options.metadata.user_id;\n\t\tif (typeof userId === \"string\") {\n\t\t\tparams.metadata = { user_id: userId };\n\t\t}\n\t}\n\n\tif (options?.toolChoice) {\n\t\tif (typeof options.toolChoice === \"string\") {\n\t\t\tparams.tool_choice = { type: options.toolChoice };\n\t\t} else {\n\t\t\tparams.tool_choice = options.toolChoice;\n\t\t}\n\t}\n\n\treturn params;\n}\n\n// Normalize tool call IDs to match Anthropic's required pattern and length\nfunction normalizeToolCallId(id: string): string {\n\treturn id.replace(/[^a-zA-Z0-9_-]/g, \"_\").slice(0, 64);\n}\n\nfunction convertMessages(\n\tmessages: Message[],\n\tmodel: Model<\"anthropic-messages\">,\n\tisOAuthToken: boolean,\n\tcacheControl?: { type: \"ephemeral\"; ttl?: \"1h\" },\n): MessageParam[] {\n\tconst params: MessageParam[] = [];\n\n\t// Transform messages for cross-provider compatibility\n\tconst transformedMessages = transformMessages(messages, model, normalizeToolCallId);\n\n\tfor (let i = 0; i < transformedMessages.length; i++) {\n\t\tconst msg = transformedMessages[i];\n\n\t\tif (msg.role === \"user\") {\n\t\t\tif (typeof msg.content === \"string\") {\n\t\t\t\tif (msg.content.trim().length > 0) {\n\t\t\t\t\tparams.push({\n\t\t\t\t\t\trole: \"user\",\n\t\t\t\t\t\tcontent: sanitizeSurrogates(msg.content),\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst blocks: ContentBlockParam[] = msg.content.map((item) => {\n\t\t\t\t\tif (item.type === \"text\") {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: sanitizeSurrogates(item.text),\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: \"image\",\n\t\t\t\t\t\t\tsource: {\n\t\t\t\t\t\t\t\ttype: \"base64\",\n\t\t\t\t\t\t\t\tmedia_type: item.mimeType as \"image/jpeg\" | \"image/png\" | \"image/gif\" | \"image/webp\",\n\t\t\t\t\t\t\t\tdata: item.data,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tlet filteredBlocks = !model?.input.includes(\"image\") ? blocks.filter((b) => b.type !== \"image\") : blocks;\n\t\t\t\tfilteredBlocks = filteredBlocks.filter((b) => {\n\t\t\t\t\tif (b.type === \"text\") {\n\t\t\t\t\t\treturn b.text.trim().length > 0;\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\t\t\t\tif (filteredBlocks.length === 0) continue;\n\t\t\t\tparams.push({\n\t\t\t\t\trole: \"user\",\n\t\t\t\t\tcontent: filteredBlocks,\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (msg.role === \"assistant\") {\n\t\t\tconst blocks: ContentBlockParam[] = [];\n\n\t\t\tfor (const block of msg.content) {\n\t\t\t\tif (block.type === \"text\") {\n\t\t\t\t\tif (block.text.trim().length === 0) continue;\n\t\t\t\t\tblocks.push({\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: sanitizeSurrogates(block.text),\n\t\t\t\t\t});\n\t\t\t\t} else if (block.type === \"thinking\") {\n\t\t\t\t\t// Redacted thinking: pass the opaque payload back as redacted_thinking\n\t\t\t\t\tif (block.redacted) {\n\t\t\t\t\t\tblocks.push({\n\t\t\t\t\t\t\ttype: \"redacted_thinking\",\n\t\t\t\t\t\t\tdata: block.thinkingSignature!,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tif (block.thinking.trim().length === 0) continue;\n\t\t\t\t\t// If thinking signature is missing/empty (e.g., from aborted stream),\n\t\t\t\t\t// convert to plain text block without <thinking> tags to avoid API rejection\n\t\t\t\t\t// and prevent Claude from mimicking the tags in responses\n\t\t\t\t\tif (!block.thinkingSignature || block.thinkingSignature.trim().length === 0) {\n\t\t\t\t\t\tblocks.push({\n\t\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\t\ttext: sanitizeSurrogates(block.thinking),\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblocks.push({\n\t\t\t\t\t\t\ttype: \"thinking\",\n\t\t\t\t\t\t\tthinking: sanitizeSurrogates(block.thinking),\n\t\t\t\t\t\t\tsignature: block.thinkingSignature,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else if (block.type === \"toolCall\") {\n\t\t\t\t\tblocks.push({\n\t\t\t\t\t\ttype: \"tool_use\",\n\t\t\t\t\t\tid: block.id,\n\t\t\t\t\t\tname: isOAuthToken ? toClaudeCodeName(block.name) : block.name,\n\t\t\t\t\t\tinput: block.arguments ?? {},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (blocks.length === 0) continue;\n\t\t\tparams.push({\n\t\t\t\trole: \"assistant\",\n\t\t\t\tcontent: blocks,\n\t\t\t});\n\t\t} else if (msg.role === \"toolResult\") {\n\t\t\t// Collect all consecutive toolResult messages, needed for z.ai Anthropic endpoint\n\t\t\tconst toolResults: ContentBlockParam[] = [];\n\n\t\t\t// Add the current tool result\n\t\t\ttoolResults.push({\n\t\t\t\ttype: \"tool_result\",\n\t\t\t\ttool_use_id: msg.toolCallId,\n\t\t\t\tcontent: convertContentBlocks(msg.content),\n\t\t\t\tis_error: msg.isError,\n\t\t\t});\n\n\t\t\t// Look ahead for consecutive toolResult messages\n\t\t\tlet j = i + 1;\n\t\t\twhile (j < transformedMessages.length && transformedMessages[j].role === \"toolResult\") {\n\t\t\t\tconst nextMsg = transformedMessages[j] as ToolResultMessage; // We know it's a toolResult\n\t\t\t\ttoolResults.push({\n\t\t\t\t\ttype: \"tool_result\",\n\t\t\t\t\ttool_use_id: nextMsg.toolCallId,\n\t\t\t\t\tcontent: convertContentBlocks(nextMsg.content),\n\t\t\t\t\tis_error: nextMsg.isError,\n\t\t\t\t});\n\t\t\t\tj++;\n\t\t\t}\n\n\t\t\t// Skip the messages we've already processed\n\t\t\ti = j - 1;\n\n\t\t\t// Add a single user message with all tool results\n\t\t\tparams.push({\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: toolResults,\n\t\t\t});\n\t\t}\n\t}\n\n\t// Add cache_control to the last user message to cache conversation history\n\tif (cacheControl && params.length > 0) {\n\t\tconst lastMessage = params[params.length - 1];\n\t\tif (lastMessage.role === \"user\") {\n\t\t\tif (Array.isArray(lastMessage.content)) {\n\t\t\t\tconst lastBlock = lastMessage.content[lastMessage.content.length - 1];\n\t\t\t\tif (\n\t\t\t\t\tlastBlock &&\n\t\t\t\t\t(lastBlock.type === \"text\" || lastBlock.type === \"image\" || lastBlock.type === \"tool_result\")\n\t\t\t\t) {\n\t\t\t\t\t(lastBlock as any).cache_control = cacheControl;\n\t\t\t\t}\n\t\t\t} else if (typeof lastMessage.content === \"string\") {\n\t\t\t\tlastMessage.content = [\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"text\",\n\t\t\t\t\t\ttext: lastMessage.content,\n\t\t\t\t\t\tcache_control: cacheControl,\n\t\t\t\t\t},\n\t\t\t\t] as any;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn params;\n}\n\nfunction convertTools(tools: Tool[], isOAuthToken: boolean): Anthropic.Messages.Tool[] {\n\tif (!tools) return [];\n\n\treturn tools.map((tool) => {\n\t\tconst jsonSchema = tool.parameters as any; // TypeBox already generates JSON Schema\n\n\t\treturn {\n\t\t\tname: isOAuthToken ? toClaudeCodeName(tool.name) : tool.name,\n\t\t\tdescription: tool.description,\n\t\t\tinput_schema: {\n\t\t\t\ttype: \"object\" as const,\n\t\t\t\tproperties: jsonSchema.properties || {},\n\t\t\t\trequired: jsonSchema.required || [],\n\t\t\t},\n\t\t};\n\t});\n}\n\nfunction mapStopReason(reason: Anthropic.Messages.StopReason | string): StopReason {\n\tswitch (reason) {\n\t\tcase \"end_turn\":\n\t\t\treturn \"stop\";\n\t\tcase \"max_tokens\":\n\t\t\treturn \"length\";\n\t\tcase \"tool_use\":\n\t\t\treturn \"toolUse\";\n\t\tcase \"refusal\":\n\t\t\treturn \"error\";\n\t\tcase \"pause_turn\": // Stop is good enough -> resubmit\n\t\t\treturn \"stop\";\n\t\tcase \"stop_sequence\":\n\t\t\treturn \"stop\"; // We don't supply stop sequences, so this should never happen\n\t\tcase \"sensitive\": // Content flagged by safety filters (not yet in SDK types)\n\t\t\treturn \"error\";\n\t\tdefault:\n\t\t\t// Handle unknown stop reasons gracefully (API may add new values)\n\t\t\tthrow new Error(`Unhandled stop reason: ${reason}`);\n\t}\n}\n"]}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7D,wBAAgB,iBAAiB,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CAalE","sourcesContent":["import { anthropicMessagesApi } from \"../api/anthropic-messages.lazy.ts\";\nimport { envApiKeyAuth, lazyOAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { loadAnthropicOAuth } from \"../utils/oauth/load.ts\";\nimport { ANTHROPIC_MODELS } from \"./anthropic.models.ts\";\n\nexport function anthropicProvider(): Provider<\"anthropic-messages\"> {\n\treturn createProvider({\n\t\tid: \"anthropic\",\n\t\tname: \"Anthropic\",\n\t\tbaseUrl: \"https://api.anthropic.com\",\n\t\tauth: {\n\t\t\t// ANTHROPIC_OAUTH_TOKEN takes precedence over ANTHROPIC_API_KEY\n\t\t\tapiKey: envApiKeyAuth(\"Anthropic API key\", [\"ANTHROPIC_OAUTH_TOKEN\", \"ANTHROPIC_API_KEY\"]),\n\t\t\toauth: lazyOAuth({ name: \"Anthropic (Claude Pro/Max)\", load: loadAnthropicOAuth }),\n\t\t},\n\t\tmodels: Object.values(ANTHROPIC_MODELS),\n\t\tapi: anthropicMessagesApi(),\n\t});\n}\n"]}