@averyyy/pi-ai 0.80.3-piclient.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (650) hide show
  1. package/README.md +1564 -0
  2. package/dist/api/anthropic-messages.d.ts +71 -0
  3. package/dist/api/anthropic-messages.d.ts.map +1 -0
  4. package/dist/api/anthropic-messages.js +972 -0
  5. package/dist/api/anthropic-messages.js.map +1 -0
  6. package/dist/api/anthropic-messages.lazy.d.ts +3 -0
  7. package/dist/api/anthropic-messages.lazy.d.ts.map +1 -0
  8. package/dist/api/anthropic-messages.lazy.js +3 -0
  9. package/dist/api/anthropic-messages.lazy.js.map +1 -0
  10. package/dist/api/azure-openai-responses.d.ts +15 -0
  11. package/dist/api/azure-openai-responses.d.ts.map +1 -0
  12. package/dist/api/azure-openai-responses.js +219 -0
  13. package/dist/api/azure-openai-responses.js.map +1 -0
  14. package/dist/api/azure-openai-responses.lazy.d.ts +3 -0
  15. package/dist/api/azure-openai-responses.lazy.d.ts.map +1 -0
  16. package/dist/api/azure-openai-responses.lazy.js +3 -0
  17. package/dist/api/azure-openai-responses.lazy.js.map +1 -0
  18. package/dist/api/bedrock-converse-stream.d.ts +38 -0
  19. package/dist/api/bedrock-converse-stream.d.ts.map +1 -0
  20. package/dist/api/bedrock-converse-stream.js +872 -0
  21. package/dist/api/bedrock-converse-stream.js.map +1 -0
  22. package/dist/api/bedrock-converse-stream.lazy.d.ts +9 -0
  23. package/dist/api/bedrock-converse-stream.lazy.d.ts.map +1 -0
  24. package/dist/api/bedrock-converse-stream.lazy.js +30 -0
  25. package/dist/api/bedrock-converse-stream.lazy.js.map +1 -0
  26. package/dist/api/cloudflare.d.ts +9 -0
  27. package/dist/api/cloudflare.d.ts.map +1 -0
  28. package/dist/api/cloudflare.js +9 -0
  29. package/dist/api/cloudflare.js.map +1 -0
  30. package/dist/api/github-copilot-headers.d.ts +8 -0
  31. package/dist/api/github-copilot-headers.d.ts.map +1 -0
  32. package/dist/api/github-copilot-headers.js +29 -0
  33. package/dist/api/github-copilot-headers.js.map +1 -0
  34. package/dist/api/google-generative-ai.d.ts +13 -0
  35. package/dist/api/google-generative-ai.d.ts.map +1 -0
  36. package/dist/api/google-generative-ai.js +407 -0
  37. package/dist/api/google-generative-ai.js.map +1 -0
  38. package/dist/api/google-generative-ai.lazy.d.ts +3 -0
  39. package/dist/api/google-generative-ai.lazy.d.ts.map +1 -0
  40. package/dist/api/google-generative-ai.lazy.js +3 -0
  41. package/dist/api/google-generative-ai.lazy.js.map +1 -0
  42. package/dist/api/google-shared.d.ts +70 -0
  43. package/dist/api/google-shared.d.ts.map +1 -0
  44. package/dist/api/google-shared.js +329 -0
  45. package/dist/api/google-shared.js.map +1 -0
  46. package/dist/api/google-vertex.d.ts +15 -0
  47. package/dist/api/google-vertex.d.ts.map +1 -0
  48. package/dist/api/google-vertex.js +456 -0
  49. package/dist/api/google-vertex.js.map +1 -0
  50. package/dist/api/google-vertex.lazy.d.ts +3 -0
  51. package/dist/api/google-vertex.lazy.d.ts.map +1 -0
  52. package/dist/api/google-vertex.lazy.js +3 -0
  53. package/dist/api/google-vertex.lazy.js.map +1 -0
  54. package/dist/api/lazy.d.ts +15 -0
  55. package/dist/api/lazy.d.ts.map +1 -0
  56. package/dist/api/lazy.js +59 -0
  57. package/dist/api/lazy.js.map +1 -0
  58. package/dist/api/mistral-conversations.d.ts +25 -0
  59. package/dist/api/mistral-conversations.d.ts.map +1 -0
  60. package/dist/api/mistral-conversations.js +555 -0
  61. package/dist/api/mistral-conversations.js.map +1 -0
  62. package/dist/api/mistral-conversations.lazy.d.ts +3 -0
  63. package/dist/api/mistral-conversations.lazy.d.ts.map +1 -0
  64. package/dist/api/mistral-conversations.lazy.js +3 -0
  65. package/dist/api/mistral-conversations.lazy.js.map +1 -0
  66. package/dist/api/openai-codex-responses.d.ts +30 -0
  67. package/dist/api/openai-codex-responses.d.ts.map +1 -0
  68. package/dist/api/openai-codex-responses.js +1215 -0
  69. package/dist/api/openai-codex-responses.js.map +1 -0
  70. package/dist/api/openai-codex-responses.lazy.d.ts +3 -0
  71. package/dist/api/openai-codex-responses.lazy.d.ts.map +1 -0
  72. package/dist/api/openai-codex-responses.lazy.js +3 -0
  73. package/dist/api/openai-codex-responses.lazy.js.map +1 -0
  74. package/dist/api/openai-completions.d.ts +19 -0
  75. package/dist/api/openai-completions.d.ts.map +1 -0
  76. package/dist/api/openai-completions.js +1058 -0
  77. package/dist/api/openai-completions.js.map +1 -0
  78. package/dist/api/openai-completions.lazy.d.ts +3 -0
  79. package/dist/api/openai-completions.lazy.d.ts.map +1 -0
  80. package/dist/api/openai-completions.lazy.js +3 -0
  81. package/dist/api/openai-completions.lazy.js.map +1 -0
  82. package/dist/api/openai-prompt-cache.d.ts +3 -0
  83. package/dist/api/openai-prompt-cache.d.ts.map +1 -0
  84. package/dist/api/openai-prompt-cache.js +10 -0
  85. package/dist/api/openai-prompt-cache.js.map +1 -0
  86. package/dist/api/openai-responses-shared.d.ts +18 -0
  87. package/dist/api/openai-responses-shared.d.ts.map +1 -0
  88. package/dist/api/openai-responses-shared.js +482 -0
  89. package/dist/api/openai-responses-shared.js.map +1 -0
  90. package/dist/api/openai-responses.d.ts +13 -0
  91. package/dist/api/openai-responses.d.ts.map +1 -0
  92. package/dist/api/openai-responses.js +226 -0
  93. package/dist/api/openai-responses.js.map +1 -0
  94. package/dist/api/openai-responses.lazy.d.ts +3 -0
  95. package/dist/api/openai-responses.lazy.d.ts.map +1 -0
  96. package/dist/api/openai-responses.lazy.js +3 -0
  97. package/dist/api/openai-responses.lazy.js.map +1 -0
  98. package/dist/api/openrouter-images.d.ts +3 -0
  99. package/dist/api/openrouter-images.d.ts.map +1 -0
  100. package/dist/api/openrouter-images.js +126 -0
  101. package/dist/api/openrouter-images.js.map +1 -0
  102. package/dist/api/openrouter-images.lazy.d.ts +3 -0
  103. package/dist/api/openrouter-images.lazy.d.ts.map +1 -0
  104. package/dist/api/openrouter-images.lazy.js +4 -0
  105. package/dist/api/openrouter-images.lazy.js.map +1 -0
  106. package/dist/api/simple-options.d.ts +9 -0
  107. package/dist/api/simple-options.d.ts.map +1 -0
  108. package/dist/api/simple-options.js +52 -0
  109. package/dist/api/simple-options.js.map +1 -0
  110. package/dist/api/transform-messages.d.ts +8 -0
  111. package/dist/api/transform-messages.d.ts.map +1 -0
  112. package/dist/api/transform-messages.js +184 -0
  113. package/dist/api/transform-messages.js.map +1 -0
  114. package/dist/api-registry.d.ts +20 -0
  115. package/dist/api-registry.d.ts.map +1 -0
  116. package/dist/api-registry.js +44 -0
  117. package/dist/api-registry.js.map +1 -0
  118. package/dist/auth/context.d.ts +7 -0
  119. package/dist/auth/context.d.ts.map +1 -0
  120. package/dist/auth/context.js +42 -0
  121. package/dist/auth/context.js.map +1 -0
  122. package/dist/auth/credential-store.d.ts +16 -0
  123. package/dist/auth/credential-store.d.ts.map +1 -0
  124. package/dist/auth/credential-store.js +37 -0
  125. package/dist/auth/credential-store.js.map +1 -0
  126. package/dist/auth/helpers.d.ts +20 -0
  127. package/dist/auth/helpers.d.ts.map +1 -0
  128. package/dist/auth/helpers.js +46 -0
  129. package/dist/auth/helpers.js.map +1 -0
  130. package/dist/auth/resolve.d.ts +26 -0
  131. package/dist/auth/resolve.d.ts.map +1 -0
  132. package/dist/auth/resolve.js +101 -0
  133. package/dist/auth/resolve.js.map +1 -0
  134. package/dist/auth/types.d.ts +180 -0
  135. package/dist/auth/types.d.ts.map +1 -0
  136. package/dist/auth/types.js +2 -0
  137. package/dist/auth/types.js.map +1 -0
  138. package/dist/bedrock-provider.d.ts +5 -0
  139. package/dist/bedrock-provider.d.ts.map +1 -0
  140. package/dist/bedrock-provider.js +6 -0
  141. package/dist/bedrock-provider.js.map +1 -0
  142. package/dist/cli.d.ts +3 -0
  143. package/dist/cli.d.ts.map +1 -0
  144. package/dist/cli.js +130 -0
  145. package/dist/cli.js.map +1 -0
  146. package/dist/compat.d.ts +65 -0
  147. package/dist/compat.d.ts.map +1 -0
  148. package/dist/compat.js +182 -0
  149. package/dist/compat.js.map +1 -0
  150. package/dist/env-api-keys.d.ts +18 -0
  151. package/dist/env-api-keys.d.ts.map +1 -0
  152. package/dist/env-api-keys.js +145 -0
  153. package/dist/env-api-keys.js.map +1 -0
  154. package/dist/image-models.d.ts +10 -0
  155. package/dist/image-models.d.ts.map +1 -0
  156. package/dist/image-models.generated.d.ts +530 -0
  157. package/dist/image-models.generated.d.ts.map +1 -0
  158. package/dist/image-models.generated.js +532 -0
  159. package/dist/image-models.generated.js.map +1 -0
  160. package/dist/image-models.js +23 -0
  161. package/dist/image-models.js.map +1 -0
  162. package/dist/images-api-registry.d.ts +14 -0
  163. package/dist/images-api-registry.d.ts.map +1 -0
  164. package/dist/images-api-registry.js +22 -0
  165. package/dist/images-api-registry.js.map +1 -0
  166. package/dist/images-models.d.ts +93 -0
  167. package/dist/images-models.d.ts.map +1 -0
  168. package/dist/images-models.js +141 -0
  169. package/dist/images-models.js.map +1 -0
  170. package/dist/images.d.ts +4 -0
  171. package/dist/images.d.ts.map +1 -0
  172. package/dist/images.js +14 -0
  173. package/dist/images.js.map +1 -0
  174. package/dist/index.d.ts +31 -0
  175. package/dist/index.d.ts.map +1 -0
  176. package/dist/index.js +19 -0
  177. package/dist/index.js.map +1 -0
  178. package/dist/legacy-api-aliases.d.ts +42 -0
  179. package/dist/legacy-api-aliases.d.ts.map +1 -0
  180. package/dist/legacy-api-aliases.js +49 -0
  181. package/dist/legacy-api-aliases.js.map +1 -0
  182. package/dist/models.d.ts +142 -0
  183. package/dist/models.d.ts.map +1 -0
  184. package/dist/models.generated.d.ts +20965 -0
  185. package/dist/models.generated.d.ts.map +1 -0
  186. package/dist/models.generated.js +75 -0
  187. package/dist/models.generated.js.map +1 -0
  188. package/dist/models.js +238 -0
  189. package/dist/models.js.map +1 -0
  190. package/dist/oauth.d.ts +2 -0
  191. package/dist/oauth.d.ts.map +1 -0
  192. package/dist/oauth.js +2 -0
  193. package/dist/oauth.js.map +1 -0
  194. package/dist/providers/all.d.ts +21 -0
  195. package/dist/providers/all.d.ts.map +1 -0
  196. package/dist/providers/all.js +114 -0
  197. package/dist/providers/all.js.map +1 -0
  198. package/dist/providers/amazon-bedrock.d.ts +3 -0
  199. package/dist/providers/amazon-bedrock.d.ts.map +1 -0
  200. package/dist/providers/amazon-bedrock.js +39 -0
  201. package/dist/providers/amazon-bedrock.js.map +1 -0
  202. package/dist/providers/amazon-bedrock.models.d.ts +1837 -0
  203. package/dist/providers/amazon-bedrock.models.d.ts.map +1 -0
  204. package/dist/providers/amazon-bedrock.models.js +1794 -0
  205. package/dist/providers/amazon-bedrock.models.js.map +1 -0
  206. package/dist/providers/ant-ling.d.ts +3 -0
  207. package/dist/providers/ant-ling.d.ts.map +1 -0
  208. package/dist/providers/ant-ling.js +15 -0
  209. package/dist/providers/ant-ling.js.map +1 -0
  210. package/dist/providers/ant-ling.models.d.ts +86 -0
  211. package/dist/providers/ant-ling.models.d.ts.map +1 -0
  212. package/dist/providers/ant-ling.models.js +60 -0
  213. package/dist/providers/ant-ling.models.js.map +1 -0
  214. package/dist/providers/anthropic.d.ts +3 -0
  215. package/dist/providers/anthropic.d.ts.map +1 -0
  216. package/dist/providers/anthropic.js +20 -0
  217. package/dist/providers/anthropic.js.map +1 -0
  218. package/dist/providers/anthropic.models.d.ts +444 -0
  219. package/dist/providers/anthropic.models.d.ts.map +1 -0
  220. package/dist/providers/anthropic.models.js +423 -0
  221. package/dist/providers/anthropic.models.js.map +1 -0
  222. package/dist/providers/azure-openai-responses.d.ts +3 -0
  223. package/dist/providers/azure-openai-responses.d.ts.map +1 -0
  224. package/dist/providers/azure-openai-responses.js +14 -0
  225. package/dist/providers/azure-openai-responses.js.map +1 -0
  226. package/dist/providers/azure-openai-responses.models.d.ts +804 -0
  227. package/dist/providers/azure-openai-responses.models.d.ts.map +1 -0
  228. package/dist/providers/azure-openai-responses.models.js +743 -0
  229. package/dist/providers/azure-openai-responses.models.js.map +1 -0
  230. package/dist/providers/cerebras.d.ts +3 -0
  231. package/dist/providers/cerebras.d.ts.map +1 -0
  232. package/dist/providers/cerebras.js +15 -0
  233. package/dist/providers/cerebras.js.map +1 -0
  234. package/dist/providers/cerebras.models.d.ts +45 -0
  235. package/dist/providers/cerebras.models.d.ts.map +1 -0
  236. package/dist/providers/cerebras.models.js +41 -0
  237. package/dist/providers/cerebras.models.js.map +1 -0
  238. package/dist/providers/cloudflare-ai-gateway.d.ts +3 -0
  239. package/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -0
  240. package/dist/providers/cloudflare-ai-gateway.js +20 -0
  241. package/dist/providers/cloudflare-ai-gateway.js.map +1 -0
  242. package/dist/providers/cloudflare-ai-gateway.models.d.ts +765 -0
  243. package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -0
  244. package/dist/providers/cloudflare-ai-gateway.models.js +666 -0
  245. package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -0
  246. package/dist/providers/cloudflare-auth.d.ts +4 -0
  247. package/dist/providers/cloudflare-auth.d.ts.map +1 -0
  248. package/dist/providers/cloudflare-auth.js +85 -0
  249. package/dist/providers/cloudflare-auth.js.map +1 -0
  250. package/dist/providers/cloudflare-workers-ai.d.ts +3 -0
  251. package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -0
  252. package/dist/providers/cloudflare-workers-ai.js +14 -0
  253. package/dist/providers/cloudflare-workers-ai.js.map +1 -0
  254. package/dist/providers/cloudflare-workers-ai.models.d.ts +302 -0
  255. package/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -0
  256. package/dist/providers/cloudflare-workers-ai.models.js +239 -0
  257. package/dist/providers/cloudflare-workers-ai.models.js.map +1 -0
  258. package/dist/providers/cloudflare.d.ts +13 -0
  259. package/dist/providers/cloudflare.d.ts.map +1 -0
  260. package/dist/providers/cloudflare.js +26 -0
  261. package/dist/providers/cloudflare.js.map +1 -0
  262. package/dist/providers/deepseek.d.ts +3 -0
  263. package/dist/providers/deepseek.d.ts.map +1 -0
  264. package/dist/providers/deepseek.js +15 -0
  265. package/dist/providers/deepseek.js.map +1 -0
  266. package/dist/providers/deepseek.models.d.ts +63 -0
  267. package/dist/providers/deepseek.models.d.ts.map +1 -0
  268. package/dist/providers/deepseek.models.js +43 -0
  269. package/dist/providers/deepseek.models.js.map +1 -0
  270. package/dist/providers/faux.d.ts +97 -0
  271. package/dist/providers/faux.d.ts.map +1 -0
  272. package/dist/providers/faux.js +395 -0
  273. package/dist/providers/faux.js.map +1 -0
  274. package/dist/providers/fireworks.d.ts +3 -0
  275. package/dist/providers/fireworks.d.ts.map +1 -0
  276. package/dist/providers/fireworks.js +19 -0
  277. package/dist/providers/fireworks.js.map +1 -0
  278. package/dist/providers/fireworks.models.d.ts +376 -0
  279. package/dist/providers/fireworks.models.d.ts.map +1 -0
  280. package/dist/providers/fireworks.models.js +294 -0
  281. package/dist/providers/fireworks.models.js.map +1 -0
  282. package/dist/providers/github-copilot-headers.d.ts +8 -0
  283. package/dist/providers/github-copilot-headers.d.ts.map +1 -0
  284. package/dist/providers/github-copilot-headers.js +29 -0
  285. package/dist/providers/github-copilot-headers.js.map +1 -0
  286. package/dist/providers/github-copilot.d.ts +3 -0
  287. package/dist/providers/github-copilot.d.ts.map +1 -0
  288. package/dist/providers/github-copilot.js +25 -0
  289. package/dist/providers/github-copilot.js.map +1 -0
  290. package/dist/providers/github-copilot.models.d.ts +616 -0
  291. package/dist/providers/github-copilot.models.d.ts.map +1 -0
  292. package/dist/providers/github-copilot.models.js +426 -0
  293. package/dist/providers/github-copilot.models.js.map +1 -0
  294. package/dist/providers/google-shared.d.ts +70 -0
  295. package/dist/providers/google-shared.d.ts.map +1 -0
  296. package/dist/providers/google-shared.js +329 -0
  297. package/dist/providers/google-shared.js.map +1 -0
  298. package/dist/providers/google-vertex.d.ts +3 -0
  299. package/dist/providers/google-vertex.d.ts.map +1 -0
  300. package/dist/providers/google-vertex.js +35 -0
  301. package/dist/providers/google-vertex.js.map +1 -0
  302. package/dist/providers/google-vertex.models.d.ts +202 -0
  303. package/dist/providers/google-vertex.models.d.ts.map +1 -0
  304. package/dist/providers/google-vertex.models.js +182 -0
  305. package/dist/providers/google-vertex.models.js.map +1 -0
  306. package/dist/providers/google.d.ts +3 -0
  307. package/dist/providers/google.d.ts.map +1 -0
  308. package/dist/providers/google.js +15 -0
  309. package/dist/providers/google.js.map +1 -0
  310. package/dist/providers/google.models.d.ts +328 -0
  311. package/dist/providers/google.models.d.ts.map +1 -0
  312. package/dist/providers/google.models.js +288 -0
  313. package/dist/providers/google.models.js.map +1 -0
  314. package/dist/providers/groq.d.ts +3 -0
  315. package/dist/providers/groq.d.ts.map +1 -0
  316. package/dist/providers/groq.js +15 -0
  317. package/dist/providers/groq.js.map +1 -0
  318. package/dist/providers/groq.models.d.ts +128 -0
  319. package/dist/providers/groq.models.d.ts.map +1 -0
  320. package/dist/providers/groq.models.js +125 -0
  321. package/dist/providers/groq.models.js.map +1 -0
  322. package/dist/providers/huggingface.d.ts +3 -0
  323. package/dist/providers/huggingface.d.ts.map +1 -0
  324. package/dist/providers/huggingface.js +15 -0
  325. package/dist/providers/huggingface.js.map +1 -0
  326. package/dist/providers/huggingface.models.d.ts +963 -0
  327. package/dist/providers/huggingface.models.d.ts.map +1 -0
  328. package/dist/providers/huggingface.models.js +869 -0
  329. package/dist/providers/huggingface.models.js.map +1 -0
  330. package/dist/providers/images/openrouter.d.ts +3 -0
  331. package/dist/providers/images/openrouter.d.ts.map +1 -0
  332. package/dist/providers/images/openrouter.js +128 -0
  333. package/dist/providers/images/openrouter.js.map +1 -0
  334. package/dist/providers/images/register-builtins.d.ts +4 -0
  335. package/dist/providers/images/register-builtins.d.ts.map +1 -0
  336. package/dist/providers/images/register-builtins.js +34 -0
  337. package/dist/providers/images/register-builtins.js.map +1 -0
  338. package/dist/providers/kimi-coding.d.ts +3 -0
  339. package/dist/providers/kimi-coding.d.ts.map +1 -0
  340. package/dist/providers/kimi-coding.js +15 -0
  341. package/dist/providers/kimi-coding.js.map +1 -0
  342. package/dist/providers/kimi-coding.models.d.ts +63 -0
  343. package/dist/providers/kimi-coding.models.d.ts.map +1 -0
  344. package/dist/providers/kimi-coding.models.js +59 -0
  345. package/dist/providers/kimi-coding.models.js.map +1 -0
  346. package/dist/providers/minimax-cn.d.ts +3 -0
  347. package/dist/providers/minimax-cn.d.ts.map +1 -0
  348. package/dist/providers/minimax-cn.js +15 -0
  349. package/dist/providers/minimax-cn.js.map +1 -0
  350. package/dist/providers/minimax-cn.models.d.ts +54 -0
  351. package/dist/providers/minimax-cn.models.d.ts.map +1 -0
  352. package/dist/providers/minimax-cn.models.js +56 -0
  353. package/dist/providers/minimax-cn.models.js.map +1 -0
  354. package/dist/providers/minimax.d.ts +3 -0
  355. package/dist/providers/minimax.d.ts.map +1 -0
  356. package/dist/providers/minimax.js +15 -0
  357. package/dist/providers/minimax.js.map +1 -0
  358. package/dist/providers/minimax.models.d.ts +54 -0
  359. package/dist/providers/minimax.models.d.ts.map +1 -0
  360. package/dist/providers/minimax.models.js +56 -0
  361. package/dist/providers/minimax.models.js.map +1 -0
  362. package/dist/providers/mistral.d.ts +3 -0
  363. package/dist/providers/mistral.d.ts.map +1 -0
  364. package/dist/providers/mistral.js +15 -0
  365. package/dist/providers/mistral.js.map +1 -0
  366. package/dist/providers/mistral.models.d.ts +513 -0
  367. package/dist/providers/mistral.models.d.ts.map +1 -0
  368. package/dist/providers/mistral.models.js +515 -0
  369. package/dist/providers/mistral.models.js.map +1 -0
  370. package/dist/providers/moonshotai-cn.d.ts +3 -0
  371. package/dist/providers/moonshotai-cn.d.ts.map +1 -0
  372. package/dist/providers/moonshotai-cn.js +15 -0
  373. package/dist/providers/moonshotai-cn.js.map +1 -0
  374. package/dist/providers/moonshotai-cn.models.d.ts +234 -0
  375. package/dist/providers/moonshotai-cn.models.d.ts.map +1 -0
  376. package/dist/providers/moonshotai-cn.models.js +169 -0
  377. package/dist/providers/moonshotai-cn.models.js.map +1 -0
  378. package/dist/providers/moonshotai.d.ts +3 -0
  379. package/dist/providers/moonshotai.d.ts.map +1 -0
  380. package/dist/providers/moonshotai.js +15 -0
  381. package/dist/providers/moonshotai.js.map +1 -0
  382. package/dist/providers/moonshotai.models.d.ts +234 -0
  383. package/dist/providers/moonshotai.models.d.ts.map +1 -0
  384. package/dist/providers/moonshotai.models.js +169 -0
  385. package/dist/providers/moonshotai.models.js.map +1 -0
  386. package/dist/providers/nvidia.d.ts +3 -0
  387. package/dist/providers/nvidia.d.ts.map +1 -0
  388. package/dist/providers/nvidia.js +15 -0
  389. package/dist/providers/nvidia.js.map +1 -0
  390. package/dist/providers/nvidia.models.d.ts +563 -0
  391. package/dist/providers/nvidia.models.d.ts.map +1 -0
  392. package/dist/providers/nvidia.models.js +385 -0
  393. package/dist/providers/nvidia.models.js.map +1 -0
  394. package/dist/providers/openai-codex-responses.d.ts +30 -0
  395. package/dist/providers/openai-codex-responses.d.ts.map +1 -0
  396. package/dist/providers/openai-codex-responses.js +1173 -0
  397. package/dist/providers/openai-codex-responses.js.map +1 -0
  398. package/dist/providers/openai-codex.d.ts +3 -0
  399. package/dist/providers/openai-codex.d.ts.map +1 -0
  400. package/dist/providers/openai-codex.js +18 -0
  401. package/dist/providers/openai-codex.js.map +1 -0
  402. package/dist/providers/openai-codex.models.d.ts +87 -0
  403. package/dist/providers/openai-codex.models.d.ts.map +1 -0
  404. package/dist/providers/openai-codex.models.js +77 -0
  405. package/dist/providers/openai-codex.models.js.map +1 -0
  406. package/dist/providers/openai-completions.d.ts +19 -0
  407. package/dist/providers/openai-completions.d.ts.map +1 -0
  408. package/dist/providers/openai-completions.js +977 -0
  409. package/dist/providers/openai-completions.js.map +1 -0
  410. package/dist/providers/openai-prompt-cache.d.ts +3 -0
  411. package/dist/providers/openai-prompt-cache.d.ts.map +1 -0
  412. package/dist/providers/openai-prompt-cache.js +10 -0
  413. package/dist/providers/openai-prompt-cache.js.map +1 -0
  414. package/dist/providers/openai-responses-shared.d.ts +18 -0
  415. package/dist/providers/openai-responses-shared.d.ts.map +1 -0
  416. package/dist/providers/openai-responses-shared.js +496 -0
  417. package/dist/providers/openai-responses-shared.js.map +1 -0
  418. package/dist/providers/openai-responses.d.ts +13 -0
  419. package/dist/providers/openai-responses.d.ts.map +1 -0
  420. package/dist/providers/openai-responses.js +234 -0
  421. package/dist/providers/openai-responses.js.map +1 -0
  422. package/dist/providers/openai.d.ts +3 -0
  423. package/dist/providers/openai.d.ts.map +1 -0
  424. package/dist/providers/openai.js +15 -0
  425. package/dist/providers/openai.js.map +1 -0
  426. package/dist/providers/openai.models.d.ts +805 -0
  427. package/dist/providers/openai.models.d.ts.map +1 -0
  428. package/dist/providers/openai.models.js +743 -0
  429. package/dist/providers/openai.models.js.map +1 -0
  430. package/dist/providers/opencode-go.d.ts +3 -0
  431. package/dist/providers/opencode-go.d.ts.map +1 -0
  432. package/dist/providers/opencode-go.js +18 -0
  433. package/dist/providers/opencode-go.js.map +1 -0
  434. package/dist/providers/opencode-go.models.d.ts +309 -0
  435. package/dist/providers/opencode-go.models.d.ts.map +1 -0
  436. package/dist/providers/opencode-go.models.js +240 -0
  437. package/dist/providers/opencode-go.models.js.map +1 -0
  438. package/dist/providers/opencode.d.ts +3 -0
  439. package/dist/providers/opencode.d.ts.map +1 -0
  440. package/dist/providers/opencode.js +22 -0
  441. package/dist/providers/opencode.js.map +1 -0
  442. package/dist/providers/opencode.models.d.ts +976 -0
  443. package/dist/providers/opencode.models.d.ts.map +1 -0
  444. package/dist/providers/opencode.models.js +815 -0
  445. package/dist/providers/opencode.models.js.map +1 -0
  446. package/dist/providers/openrouter-images.d.ts +3 -0
  447. package/dist/providers/openrouter-images.d.ts.map +1 -0
  448. package/dist/providers/openrouter-images.js +14 -0
  449. package/dist/providers/openrouter-images.js.map +1 -0
  450. package/dist/providers/openrouter.d.ts +3 -0
  451. package/dist/providers/openrouter.d.ts.map +1 -0
  452. package/dist/providers/openrouter.js +15 -0
  453. package/dist/providers/openrouter.js.map +1 -0
  454. package/dist/providers/openrouter.models.d.ts +5402 -0
  455. package/dist/providers/openrouter.models.d.ts.map +1 -0
  456. package/dist/providers/openrouter.models.js +4634 -0
  457. package/dist/providers/openrouter.models.js.map +1 -0
  458. package/dist/providers/register-builtins.d.ts +35 -0
  459. package/dist/providers/register-builtins.d.ts.map +1 -0
  460. package/dist/providers/register-builtins.js +254 -0
  461. package/dist/providers/register-builtins.js.map +1 -0
  462. package/dist/providers/simple-options.d.ts +8 -0
  463. package/dist/providers/simple-options.d.ts.map +1 -0
  464. package/dist/providers/simple-options.js +42 -0
  465. package/dist/providers/simple-options.js.map +1 -0
  466. package/dist/providers/together.d.ts +3 -0
  467. package/dist/providers/together.d.ts.map +1 -0
  468. package/dist/providers/together.js +15 -0
  469. package/dist/providers/together.js.map +1 -0
  470. package/dist/providers/together.models.d.ts +598 -0
  471. package/dist/providers/together.models.d.ts.map +1 -0
  472. package/dist/providers/together.models.js +380 -0
  473. package/dist/providers/together.models.js.map +1 -0
  474. package/dist/providers/transform-messages.d.ts +8 -0
  475. package/dist/providers/transform-messages.d.ts.map +1 -0
  476. package/dist/providers/transform-messages.js +184 -0
  477. package/dist/providers/transform-messages.js.map +1 -0
  478. package/dist/providers/vercel-ai-gateway.d.ts +3 -0
  479. package/dist/providers/vercel-ai-gateway.d.ts.map +1 -0
  480. package/dist/providers/vercel-ai-gateway.js +15 -0
  481. package/dist/providers/vercel-ai-gateway.js.map +1 -0
  482. package/dist/providers/vercel-ai-gateway.models.d.ts +3230 -0
  483. package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -0
  484. package/dist/providers/vercel-ai-gateway.models.js +3187 -0
  485. package/dist/providers/vercel-ai-gateway.models.js.map +1 -0
  486. package/dist/providers/xai.d.ts +3 -0
  487. package/dist/providers/xai.d.ts.map +1 -0
  488. package/dist/providers/xai.js +15 -0
  489. package/dist/providers/xai.js.map +1 -0
  490. package/dist/providers/xai.models.d.ts +157 -0
  491. package/dist/providers/xai.models.d.ts.map +1 -0
  492. package/dist/providers/xai.models.js +131 -0
  493. package/dist/providers/xai.models.js.map +1 -0
  494. package/dist/providers/xiaomi-token-plan-ams.d.ts +3 -0
  495. package/dist/providers/xiaomi-token-plan-ams.d.ts.map +1 -0
  496. package/dist/providers/xiaomi-token-plan-ams.js +15 -0
  497. package/dist/providers/xiaomi-token-plan-ams.js.map +1 -0
  498. package/dist/providers/xiaomi-token-plan-ams.models.d.ts +108 -0
  499. package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -0
  500. package/dist/providers/xiaomi-token-plan-ams.models.js +95 -0
  501. package/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -0
  502. package/dist/providers/xiaomi-token-plan-cn.d.ts +3 -0
  503. package/dist/providers/xiaomi-token-plan-cn.d.ts.map +1 -0
  504. package/dist/providers/xiaomi-token-plan-cn.js +15 -0
  505. package/dist/providers/xiaomi-token-plan-cn.js.map +1 -0
  506. package/dist/providers/xiaomi-token-plan-cn.models.d.ts +108 -0
  507. package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -0
  508. package/dist/providers/xiaomi-token-plan-cn.models.js +95 -0
  509. package/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -0
  510. package/dist/providers/xiaomi-token-plan-sgp.d.ts +3 -0
  511. package/dist/providers/xiaomi-token-plan-sgp.d.ts.map +1 -0
  512. package/dist/providers/xiaomi-token-plan-sgp.js +15 -0
  513. package/dist/providers/xiaomi-token-plan-sgp.js.map +1 -0
  514. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts +108 -0
  515. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -0
  516. package/dist/providers/xiaomi-token-plan-sgp.models.js +95 -0
  517. package/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -0
  518. package/dist/providers/xiaomi.d.ts +3 -0
  519. package/dist/providers/xiaomi.d.ts.map +1 -0
  520. package/dist/providers/xiaomi.js +15 -0
  521. package/dist/providers/xiaomi.js.map +1 -0
  522. package/dist/providers/xiaomi.models.d.ts +129 -0
  523. package/dist/providers/xiaomi.models.d.ts.map +1 -0
  524. package/dist/providers/xiaomi.models.js +113 -0
  525. package/dist/providers/xiaomi.models.js.map +1 -0
  526. package/dist/providers/zai-coding-cn.d.ts +3 -0
  527. package/dist/providers/zai-coding-cn.d.ts.map +1 -0
  528. package/dist/providers/zai-coding-cn.js +15 -0
  529. package/dist/providers/zai-coding-cn.js.map +1 -0
  530. package/dist/providers/zai-coding-cn.models.d.ts +153 -0
  531. package/dist/providers/zai-coding-cn.models.d.ts.map +1 -0
  532. package/dist/providers/zai-coding-cn.models.js +114 -0
  533. package/dist/providers/zai-coding-cn.models.js.map +1 -0
  534. package/dist/providers/zai.d.ts +3 -0
  535. package/dist/providers/zai.d.ts.map +1 -0
  536. package/dist/providers/zai.js +15 -0
  537. package/dist/providers/zai.js.map +1 -0
  538. package/dist/providers/zai.models.d.ts +153 -0
  539. package/dist/providers/zai.models.d.ts.map +1 -0
  540. package/dist/providers/zai.models.js +114 -0
  541. package/dist/providers/zai.models.js.map +1 -0
  542. package/dist/session-resources.d.ts +4 -0
  543. package/dist/session-resources.d.ts.map +1 -0
  544. package/dist/session-resources.js +22 -0
  545. package/dist/session-resources.js.map +1 -0
  546. package/dist/stream.d.ts +8 -0
  547. package/dist/stream.d.ts.map +1 -0
  548. package/dist/stream.js +39 -0
  549. package/dist/stream.js.map +1 -0
  550. package/dist/types.d.ts +597 -0
  551. package/dist/types.d.ts.map +1 -0
  552. package/dist/types.js +2 -0
  553. package/dist/types.js.map +1 -0
  554. package/dist/utils/abort-signals.d.ts +6 -0
  555. package/dist/utils/abort-signals.d.ts.map +1 -0
  556. package/dist/utils/abort-signals.js +34 -0
  557. package/dist/utils/abort-signals.js.map +1 -0
  558. package/dist/utils/diagnostics.d.ts +19 -0
  559. package/dist/utils/diagnostics.d.ts.map +1 -0
  560. package/dist/utils/diagnostics.js +25 -0
  561. package/dist/utils/diagnostics.js.map +1 -0
  562. package/dist/utils/error-body.d.ts +25 -0
  563. package/dist/utils/error-body.d.ts.map +1 -0
  564. package/dist/utils/error-body.js +109 -0
  565. package/dist/utils/error-body.js.map +1 -0
  566. package/dist/utils/estimate.d.ts +17 -0
  567. package/dist/utils/estimate.d.ts.map +1 -0
  568. package/dist/utils/estimate.js +95 -0
  569. package/dist/utils/estimate.js.map +1 -0
  570. package/dist/utils/event-stream.d.ts +21 -0
  571. package/dist/utils/event-stream.d.ts.map +1 -0
  572. package/dist/utils/event-stream.js +81 -0
  573. package/dist/utils/event-stream.js.map +1 -0
  574. package/dist/utils/hash.d.ts +3 -0
  575. package/dist/utils/hash.d.ts.map +1 -0
  576. package/dist/utils/hash.js +14 -0
  577. package/dist/utils/hash.js.map +1 -0
  578. package/dist/utils/headers.d.ts +4 -0
  579. package/dist/utils/headers.d.ts.map +1 -0
  580. package/dist/utils/headers.js +18 -0
  581. package/dist/utils/headers.js.map +1 -0
  582. package/dist/utils/json-parse.d.ts +16 -0
  583. package/dist/utils/json-parse.d.ts.map +1 -0
  584. package/dist/utils/json-parse.js +113 -0
  585. package/dist/utils/json-parse.js.map +1 -0
  586. package/dist/utils/node-http-proxy.d.ts +4 -0
  587. package/dist/utils/node-http-proxy.d.ts.map +1 -0
  588. package/dist/utils/node-http-proxy.js +92 -0
  589. package/dist/utils/node-http-proxy.js.map +1 -0
  590. package/dist/utils/oauth/anthropic.d.ts +27 -0
  591. package/dist/utils/oauth/anthropic.d.ts.map +1 -0
  592. package/dist/utils/oauth/anthropic.js +367 -0
  593. package/dist/utils/oauth/anthropic.js.map +1 -0
  594. package/dist/utils/oauth/device-code.d.ts +21 -0
  595. package/dist/utils/oauth/device-code.d.ts.map +1 -0
  596. package/dist/utils/oauth/device-code.js +56 -0
  597. package/dist/utils/oauth/device-code.js.map +1 -0
  598. package/dist/utils/oauth/github-copilot.d.ts +32 -0
  599. package/dist/utils/oauth/github-copilot.d.ts.map +1 -0
  600. package/dist/utils/oauth/github-copilot.js +370 -0
  601. package/dist/utils/oauth/github-copilot.js.map +1 -0
  602. package/dist/utils/oauth/index.d.ts +58 -0
  603. package/dist/utils/oauth/index.d.ts.map +1 -0
  604. package/dist/utils/oauth/index.js +122 -0
  605. package/dist/utils/oauth/index.js.map +1 -0
  606. package/dist/utils/oauth/load.d.ts +5 -0
  607. package/dist/utils/oauth/load.d.ts.map +1 -0
  608. package/dist/utils/oauth/load.js +22 -0
  609. package/dist/utils/oauth/load.js.map +1 -0
  610. package/dist/utils/oauth/oauth-page.d.ts +3 -0
  611. package/dist/utils/oauth/oauth-page.d.ts.map +1 -0
  612. package/dist/utils/oauth/oauth-page.js +105 -0
  613. package/dist/utils/oauth/oauth-page.js.map +1 -0
  614. package/dist/utils/oauth/openai-codex.d.ts +45 -0
  615. package/dist/utils/oauth/openai-codex.d.ts.map +1 -0
  616. package/dist/utils/oauth/openai-codex.js +537 -0
  617. package/dist/utils/oauth/openai-codex.js.map +1 -0
  618. package/dist/utils/oauth/pkce.d.ts +13 -0
  619. package/dist/utils/oauth/pkce.d.ts.map +1 -0
  620. package/dist/utils/oauth/pkce.js +31 -0
  621. package/dist/utils/oauth/pkce.js.map +1 -0
  622. package/dist/utils/oauth/types.d.ts +64 -0
  623. package/dist/utils/oauth/types.d.ts.map +1 -0
  624. package/dist/utils/oauth/types.js +2 -0
  625. package/dist/utils/oauth/types.js.map +1 -0
  626. package/dist/utils/overflow.d.ts +57 -0
  627. package/dist/utils/overflow.d.ts.map +1 -0
  628. package/dist/utils/overflow.js +155 -0
  629. package/dist/utils/overflow.js.map +1 -0
  630. package/dist/utils/provider-env.d.ts +7 -0
  631. package/dist/utils/provider-env.d.ts.map +1 -0
  632. package/dist/utils/provider-env.js +44 -0
  633. package/dist/utils/provider-env.js.map +1 -0
  634. package/dist/utils/retry.d.ts +12 -0
  635. package/dist/utils/retry.d.ts.map +1 -0
  636. package/dist/utils/retry.js +86 -0
  637. package/dist/utils/retry.js.map +1 -0
  638. package/dist/utils/sanitize-unicode.d.ts +22 -0
  639. package/dist/utils/sanitize-unicode.d.ts.map +1 -0
  640. package/dist/utils/sanitize-unicode.js +26 -0
  641. package/dist/utils/sanitize-unicode.js.map +1 -0
  642. package/dist/utils/typebox-helpers.d.ts +17 -0
  643. package/dist/utils/typebox-helpers.d.ts.map +1 -0
  644. package/dist/utils/typebox-helpers.js +21 -0
  645. package/dist/utils/typebox-helpers.js.map +1 -0
  646. package/dist/utils/validation.d.ts +18 -0
  647. package/dist/utils/validation.d.ts.map +1 -0
  648. package/dist/utils/validation.js +281 -0
  649. package/dist/utils/validation.js.map +1 -0
  650. package/package.json +92 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"huggingface.models.js","sourceRoot":"","sources":["../../src/providers/huggingface.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAIjE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,sBAAsB,EAAE;QACvB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,wBAAwB,EAAE;QACzB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,wBAAwB,EAAE;QACzB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,wBAAwB,EAAE;QACzB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,sBAAsB,EAAE;QACvB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,sBAAsB,EAAE;QACvB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;KACsB;IACvC,oCAAoC,EAAE;QACrC,EAAE,EAAE,oCAAoC;QACxC,IAAI,EAAE,+BAA+B;QACrC,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,gBAAgB,EAAE;QACjB,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,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,mCAAmC,EAAE;QACpC,EAAE,EAAE,mCAAmC;QACvC,IAAI,EAAE,8BAA8B;QACpC,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,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,qCAAqC,EAAE;QACtC,EAAE,EAAE,qCAAqC;QACzC,IAAI,EAAE,gCAAgC;QACtC,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,uBAAuB,EAAE;QACxB,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,kCAAkC,EAAE;QACnC,EAAE,EAAE,kCAAkC;QACtC,IAAI,EAAE,6BAA6B;QACnC,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,kCAAkC,EAAE;QACnC,EAAE,EAAE,kCAAkC;QACtC,IAAI,EAAE,6BAA6B;QACnC,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,wBAAwB,EAAE;QACzB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,mBAAmB;QACzB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,kBAAkB,EAAE;QACnB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,sBAAsB,EAAE;QACvB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,wBAAwB,EAAE;QACzB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,mBAAmB;QACzB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,iBAAiB,EAAE;QAClB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,YAAY;QAClB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,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,kBAAkB,EAAE;QACnB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,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,sBAAsB,EAAE;QACvB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,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,0BAA0B,EAAE;QAC3B,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,IAAI;KACuB;IACvC,0BAA0B,EAAE;QAC3B,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;IACvC,yBAAyB,EAAE;QAC1B,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;KACsB;IACvC,8BAA8B,EAAE;QAC/B,EAAE,EAAE,8BAA8B;QAClC,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,2BAA2B,EAAE;QAC5B,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,+BAA+B,EAAE;QAChC,EAAE,EAAE,+BAA+B;QACnC,IAAI,EAAE,mBAAmB;QACzB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,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,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;IACvC,6BAA6B,EAAE;QAC9B,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,iBAAiB;QACvB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KACqB;IACvC,2BAA2B,EAAE;QAC5B,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,oBAAoB;QAC1B,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,uBAAuB,EAAE;QACxB,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,mCAAmC,EAAE;QACpC,EAAE,EAAE,mCAAmC;QACvC,IAAI,EAAE,wBAAwB;QAC9B,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,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,IAAI;KACuB;IACvC,6BAA6B,EAAE;QAC9B,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,kCAAkC,EAAE;QACnC,EAAE,EAAE,kCAAkC;QACtC,IAAI,EAAE,uBAAuB;QAC7B,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,6BAA6B,EAAE;QAC9B,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,sBAAsB,EAAE;QACvB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,sBAAsB,EAAE;QACvB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,WAAW;QACjB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,2BAA2B,EAAE;QAC5B,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,qBAAqB,EAAE;QACtB,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,cAAc;QACpB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,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,2BAA2B,EAAE;QAC5B,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,2BAA2B,EAAE;QAC5B,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,iBAAiB,EAAE;QAClB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,qBAAqB,EAAE;QACtB,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,aAAa;QACnB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,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,kBAAkB,EAAE;QACnB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,KAAK;QACpB,SAAS,EAAE,KAAK;KACsB;IACvC,iBAAiB,EAAE;QAClB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,iBAAiB,EAAE;QAClB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,uBAAuB,EAAE;QACxB,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,eAAe;QACrB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,eAAe,EAAE;QAChB,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,iBAAiB,EAAE;QAClB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;IACvC,iBAAiB,EAAE;QAClB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,SAAS;QACf,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,EAAC,uBAAuB,EAAC,KAAK,EAAC;QACvC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,MAAM;KACqB;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 HUGGINGFACE_MODELS = {\n\t\"MiniMaxAI/MiniMax-M2\": {\n\t\tid: \"MiniMaxAI/MiniMax-M2\",\n\t\tname: \"MiniMax-M2\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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: 128000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"MiniMaxAI/MiniMax-M2.1\": {\n\t\tid: \"MiniMaxAI/MiniMax-M2.1\",\n\t\tname: \"MiniMax-M2.1\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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<\"openai-completions\">,\n\t\"MiniMaxAI/MiniMax-M2.5\": {\n\t\tid: \"MiniMaxAI/MiniMax-M2.5\",\n\t\tname: \"MiniMax-M2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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.03,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"MiniMaxAI/MiniMax-M2.7\": {\n\t\tid: \"MiniMaxAI/MiniMax-M2.7\",\n\t\tname: \"MiniMax-M2.7\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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.06,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"MiniMaxAI/MiniMax-M3\": {\n\t\tid: \"MiniMaxAI/MiniMax-M3\",\n\t\tname: \"MiniMax-M3\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\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: 524288,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Qwen/Qwen3-235B-A22B\": {\n\t\tid: \"Qwen/Qwen3-235B-A22B\",\n\t\tname: \"Qwen3 235B-A22B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 0.8,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 40960,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Qwen/Qwen3-235B-A22B-Thinking-2507\": {\n\t\tid: \"Qwen/Qwen3-235B-A22B-Thinking-2507\",\n\t\tname: \"Qwen3-235B-A22B-Thinking-2507\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 3,\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<\"openai-completions\">,\n\t\"Qwen/Qwen3-32B\": {\n\t\tid: \"Qwen/Qwen3-32B\",\n\t\tname: \"Qwen3 32B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.29,\n\t\t\toutput: 0.59,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 131072,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Qwen/Qwen3-Coder-30B-A3B-Instruct\": {\n\t\tid: \"Qwen/Qwen3-Coder-30B-A3B-Instruct\",\n\t\tname: \"Qwen3-Coder 30B-A3B Instruct\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.07,\n\t\t\toutput: 0.26,\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\"Qwen/Qwen3-Coder-480B-A35B-Instruct\": {\n\t\tid: \"Qwen/Qwen3-Coder-480B-A35B-Instruct\",\n\t\tname: \"Qwen3-Coder-480B-A35B-Instruct\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 2,\n\t\t\toutput: 2,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 66536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Qwen/Qwen3-Coder-Next\": {\n\t\tid: \"Qwen/Qwen3-Coder-Next\",\n\t\tname: \"Qwen3-Coder-Next\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 1.5,\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\"Qwen/Qwen3-Next-80B-A3B-Instruct\": {\n\t\tid: \"Qwen/Qwen3-Next-80B-A3B-Instruct\",\n\t\tname: \"Qwen3-Next-80B-A3B-Instruct\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 1,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 66536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Qwen/Qwen3-Next-80B-A3B-Thinking\": {\n\t\tid: \"Qwen/Qwen3-Next-80B-A3B-Thinking\",\n\t\tname: \"Qwen3-Next-80B-A3B-Thinking\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 2,\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<\"openai-completions\">,\n\t\"Qwen/Qwen3.5-122B-A10B\": {\n\t\tid: \"Qwen/Qwen3.5-122B-A10B\",\n\t\tname: \"Qwen3.5 122B-A10B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.4,\n\t\t\toutput: 3.2,\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\"Qwen/Qwen3.5-27B\": {\n\t\tid: \"Qwen/Qwen3.5-27B\",\n\t\tname: \"Qwen3.5 27B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 2.4,\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\"Qwen/Qwen3.5-35B-A3B\": {\n\t\tid: \"Qwen/Qwen3.5-35B-A3B\",\n\t\tname: \"Qwen3.5 35B-A3B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 2,\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\"Qwen/Qwen3.5-397B-A17B\": {\n\t\tid: \"Qwen/Qwen3.5-397B-A17B\",\n\t\tname: \"Qwen3.5-397B-A17B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 3.6,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"openai-completions\">,\n\t\"Qwen/Qwen3.5-9B\": {\n\t\tid: \"Qwen/Qwen3.5-9B\",\n\t\tname: \"Qwen3.5 9B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.17,\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\"Qwen/Qwen3.6-27B\": {\n\t\tid: \"Qwen/Qwen3.6-27B\",\n\t\tname: \"Qwen3.6 27B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.47,\n\t\t\toutput: 3.19,\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\"Qwen/Qwen3.6-35B-A3B\": {\n\t\tid: \"Qwen/Qwen3.6-35B-A3B\",\n\t\tname: \"Qwen3.6 35B-A3B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.15,\n\t\t\toutput: 0.95,\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\"XiaomiMiMo/MiMo-V2-Flash\": {\n\t\tid: \"XiaomiMiMo/MiMo-V2-Flash\",\n\t\tname: \"MiMo-V2-Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.1,\n\t\t\toutput: 0.3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"openai-completions\">,\n\t\"XiaomiMiMo/MiMo-V2.5-Pro\": {\n\t\tid: \"XiaomiMiMo/MiMo-V2.5-Pro\",\n\t\tname: \"MiMo-V2.5-Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"deepseek-ai/DeepSeek-R1\": {\n\t\tid: \"deepseek-ai/DeepSeek-R1\",\n\t\tname: \"DeepSeek-R1\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.7,\n\t\t\toutput: 2.5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 64000,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"openai-completions\">,\n\t\"deepseek-ai/DeepSeek-R1-0528\": {\n\t\tid: \"deepseek-ai/DeepSeek-R1-0528\",\n\t\tname: \"DeepSeek-R1-0528\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 3,\n\t\t\toutput: 5,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 163840,\n\t\tmaxTokens: 163840,\n\t} satisfies Model<\"openai-completions\">,\n\t\"deepseek-ai/DeepSeek-V3.2\": {\n\t\tid: \"deepseek-ai/DeepSeek-V3.2\",\n\t\tname: \"DeepSeek-V3.2\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.28,\n\t\t\toutput: 0.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 163840,\n\t\tmaxTokens: 65536,\n\t} satisfies Model<\"openai-completions\">,\n\t\"deepseek-ai/DeepSeek-V4-Flash\": {\n\t\tid: \"deepseek-ai/DeepSeek-V4-Flash\",\n\t\tname: \"DeepSeek V4 Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.28,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 384000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"deepseek-ai/DeepSeek-V4-Pro\": {\n\t\tid: \"deepseek-ai/DeepSeek-V4-Pro\",\n\t\tname: \"DeepSeek V4 Pro\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.435,\n\t\t\toutput: 0.87,\n\t\t\tcacheRead: 0.003625,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1048576,\n\t\tmaxTokens: 393216,\n\t} satisfies Model<\"openai-completions\">,\n\t\"google/gemma-4-26B-A4B-it\": {\n\t\tid: \"google/gemma-4-26B-A4B-it\",\n\t\tname: \"Gemma 4 26B A4B IT\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.13,\n\t\t\toutput: 0.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"openai-completions\">,\n\t\"google/gemma-4-31B-it\": {\n\t\tid: \"google/gemma-4-31B-it\",\n\t\tname: \"Gemma 4 31B IT\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.14,\n\t\t\toutput: 0.4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"openai-completions\">,\n\t\"meta-llama/Llama-3.3-70B-Instruct\": {\n\t\tid: \"meta-llama/Llama-3.3-70B-Instruct\",\n\t\tname: \"Llama-3.3-70B-Instruct\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.59,\n\t\t\toutput: 0.79,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 131072,\n\t\tmaxTokens: 4096,\n\t} satisfies Model<\"openai-completions\">,\n\t\"moonshotai/Kimi-K2-Instruct\": {\n\t\tid: \"moonshotai/Kimi-K2-Instruct\",\n\t\tname: \"Kimi-K2-Instruct\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 131072,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"openai-completions\">,\n\t\"moonshotai/Kimi-K2-Instruct-0905\": {\n\t\tid: \"moonshotai/Kimi-K2-Instruct-0905\",\n\t\tname: \"Kimi-K2-Instruct-0905\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: false,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1,\n\t\t\toutput: 3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"openai-completions\">,\n\t\"moonshotai/Kimi-K2-Thinking\": {\n\t\tid: \"moonshotai/Kimi-K2-Thinking\",\n\t\tname: \"Kimi-K2-Thinking\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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.15,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 262144,\n\t} satisfies Model<\"openai-completions\">,\n\t\"moonshotai/Kimi-K2.5\": {\n\t\tid: \"moonshotai/Kimi-K2.5\",\n\t\tname: \"Kimi-K2.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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.1,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 262144,\n\t} satisfies Model<\"openai-completions\">,\n\t\"moonshotai/Kimi-K2.6\": {\n\t\tid: \"moonshotai/Kimi-K2.6\",\n\t\tname: \"Kimi-K2.6\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.95,\n\t\t\toutput: 4,\n\t\t\tcacheRead: 0.16,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 262144,\n\t} satisfies Model<\"openai-completions\">,\n\t\"moonshotai/Kimi-K2.7-Code\": {\n\t\tid: \"moonshotai/Kimi-K2.7-Code\",\n\t\tname: \"Kimi K2.7 Code\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.95,\n\t\t\toutput: 4,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 262144,\n\t} satisfies Model<\"openai-completions\">,\n\t\"openai/gpt-oss-120b\": {\n\t\tid: \"openai/gpt-oss-120b\",\n\t\tname: \"GPT OSS 120B\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.25,\n\t\t\toutput: 0.69,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 131072,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"openai-completions\">,\n\t\"stepfun-ai/Step-3.5-Flash\": {\n\t\tid: \"stepfun-ai/Step-3.5-Flash\",\n\t\tname: \"Step 3.5 Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.1,\n\t\t\toutput: 0.3,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 256000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"stepfun-ai/Step-3.7-Flash\": {\n\t\tid: \"stepfun-ai/Step-3.7-Flash\",\n\t\tname: \"Step 3.7 Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.2,\n\t\t\toutput: 1.15,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 256000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"zai-org/GLM-4.5\": {\n\t\tid: \"zai-org/GLM-4.5\",\n\t\tname: \"GLM-4.5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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: 131072,\n\t\tmaxTokens: 98304,\n\t} satisfies Model<\"openai-completions\">,\n\t\"zai-org/GLM-4.5-Air\": {\n\t\tid: \"zai-org/GLM-4.5-Air\",\n\t\tname: \"GLM-4.5-Air\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.13,\n\t\t\toutput: 0.85,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 131072,\n\t\tmaxTokens: 98304,\n\t} satisfies Model<\"openai-completions\">,\n\t\"zai-org/GLM-4.5V\": {\n\t\tid: \"zai-org/GLM-4.5V\",\n\t\tname: \"GLM-4.5V\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 1.8,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 65536,\n\t\tmaxTokens: 16384,\n\t} satisfies Model<\"openai-completions\">,\n\t\"zai-org/GLM-4.6\": {\n\t\tid: \"zai-org/GLM-4.6\",\n\t\tname: \"GLM-4.6\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.55,\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<\"openai-completions\">,\n\t\"zai-org/GLM-4.7\": {\n\t\tid: \"zai-org/GLM-4.7\",\n\t\tname: \"GLM-4.7\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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.11,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"zai-org/GLM-4.7-Flash\": {\n\t\tid: \"zai-org/GLM-4.7-Flash\",\n\t\tname: \"GLM-4.7-Flash\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 200000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"openai-completions\">,\n\t\"zai-org/GLM-5\": {\n\t\tid: \"zai-org/GLM-5\",\n\t\tname: \"GLM-5\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 202752,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"zai-org/GLM-5.1\": {\n\t\tid: \"zai-org/GLM-5.1\",\n\t\tname: \"GLM-5.1\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\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.2,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 202752,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"openai-completions\">,\n\t\"zai-org/GLM-5.2\": {\n\t\tid: \"zai-org/GLM-5.2\",\n\t\tname: \"GLM-5.2\",\n\t\tapi: \"openai-completions\",\n\t\tprovider: \"huggingface\",\n\t\tbaseUrl: \"https://router.huggingface.co/v1\",\n\t\tcompat: {\"supportsDeveloperRole\":false},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 1.4,\n\t\t\toutput: 4.4,\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<\"openai-completions\">,\n} as const;\n"]}
@@ -0,0 +1,3 @@
1
+ import type { ImagesFunction, ImagesOptions } from "../../types.ts";
2
+ export declare const generateImagesOpenRouter: ImagesFunction<"openrouter-images", ImagesOptions>;
3
+ //# sourceMappingURL=openrouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/providers/images/openrouter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAIX,cAAc,EAEd,aAAa,EAEb,MAAM,gBAAgB,CAAC;AAoBxB,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,mBAAmB,EAAE,aAAa,CAmEvF,CAAC","sourcesContent":["import OpenAI from \"openai\";\nimport type {\n\tChatCompletion,\n\tChatCompletionContentPart,\n\tChatCompletionContentPartImage,\n\tChatCompletionContentPartText,\n\tChatCompletionCreateParamsNonStreaming,\n} from \"openai/resources/chat/completions.js\";\nimport type {\n\tAssistantImages,\n\tImageContent,\n\tImagesContext,\n\tImagesFunction,\n\tImagesModel,\n\tImagesOptions,\n\tTextContent,\n} from \"../../types.ts\";\nimport { headersToRecord } from \"../../utils/headers.ts\";\nimport { sanitizeSurrogates } from \"../../utils/sanitize-unicode.ts\";\n\ninterface OpenRouterGeneratedImage {\n\timage_url?: string | { url?: string };\n}\n\ntype OpenRouterImageGenerationMessage = ChatCompletion[\"choices\"][number][\"message\"] & {\n\timages?: OpenRouterGeneratedImage[];\n};\n\ntype OpenRouterImageGenerationChoice = ChatCompletion[\"choices\"][number] & {\n\tmessage: OpenRouterImageGenerationMessage;\n};\n\ntype OpenRouterImageGenerationResponse = ChatCompletion & {\n\tchoices: OpenRouterImageGenerationChoice[];\n};\n\nexport const generateImagesOpenRouter: ImagesFunction<\"openrouter-images\", ImagesOptions> = async (\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => {\n\tconst output: AssistantImages = {\n\t\tapi: model.api,\n\t\tprovider: model.provider,\n\t\tmodel: model.id,\n\t\toutput: [],\n\t\tstopReason: \"stop\",\n\t\ttimestamp: Date.now(),\n\t};\n\n\ttry {\n\t\tconst apiKey = options?.apiKey;\n\t\tif (!apiKey) {\n\t\t\tthrow new Error(`No API key for provider: ${model.provider}`);\n\t\t}\n\t\tconst client = createClient(model, apiKey, options?.headers);\n\t\tlet params = buildParams(model, context);\n\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\tif (nextParams !== undefined) {\n\t\t\tparams = nextParams as typeof params;\n\t\t}\n\t\tconst requestOptions = {\n\t\t\t...(options?.signal ? { signal: options.signal } : {}),\n\t\t\t...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n\t\t\tmaxRetries: options?.maxRetries ?? 0,\n\t\t};\n\t\tconst { data: response, response: rawResponse } = await client.chat.completions\n\t\t\t.create(params as unknown as ChatCompletionCreateParamsNonStreaming, requestOptions)\n\t\t\t.withResponse();\n\t\tawait options?.onResponse?.({ status: rawResponse.status, headers: headersToRecord(rawResponse.headers) }, model);\n\n\t\tconst imageResponse = response as OpenRouterImageGenerationResponse;\n\t\toutput.responseId = imageResponse.id;\n\t\tif (imageResponse.usage) {\n\t\t\toutput.usage = parseUsage(imageResponse.usage, model);\n\t\t}\n\n\t\tconst choice = imageResponse.choices[0];\n\t\tif (choice) {\n\t\t\tconst content = choice.message.content;\n\t\t\tif (typeof content === \"string\" && content.length > 0) {\n\t\t\t\toutput.output.push({ type: \"text\", text: content } satisfies TextContent);\n\t\t\t}\n\n\t\t\tfor (const image of choice.message.images ?? []) {\n\t\t\t\tconst imageUrl = typeof image.image_url === \"string\" ? image.image_url : image.image_url?.url;\n\t\t\t\tif (!imageUrl?.startsWith(\"data:\")) continue;\n\t\t\t\tconst matches = imageUrl.match(/^data:([^;]+);base64,(.+)$/);\n\t\t\t\tif (!matches) continue;\n\t\t\t\toutput.output.push({\n\t\t\t\t\ttype: \"image\",\n\t\t\t\t\tmimeType: matches[1],\n\t\t\t\t\tdata: matches[2],\n\t\t\t\t} satisfies ImageContent);\n\t\t\t}\n\t\t}\n\n\t\treturn output;\n\t} catch (error) {\n\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\toutput.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n\t\treturn output;\n\t}\n};\n\nfunction createClient(\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tapiKey: string,\n\toptionsHeaders?: Record<string, string>,\n): OpenAI {\n\treturn new OpenAI({\n\t\tapiKey,\n\t\tbaseURL: model.baseUrl,\n\t\tdangerouslyAllowBrowser: true,\n\t\tdefaultHeaders: {\n\t\t\t...model.headers,\n\t\t\t...optionsHeaders,\n\t\t},\n\t});\n}\n\ntype OpenRouterImagesCreateParams = Omit<ChatCompletionCreateParamsNonStreaming, \"modalities\"> & {\n\tmodalities: Array<\"image\" | \"text\">;\n};\n\nfunction buildParams(model: ImagesModel<\"openrouter-images\">, context: ImagesContext): OpenRouterImagesCreateParams {\n\tconst content: ChatCompletionContentPart[] = context.input.map((item): ChatCompletionContentPart => {\n\t\tif (item.type === \"text\") {\n\t\t\treturn {\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(item.text),\n\t\t\t} satisfies ChatCompletionContentPartText;\n\t\t}\n\t\treturn {\n\t\t\ttype: \"image_url\",\n\t\t\timage_url: {\n\t\t\t\turl: `data:${item.mimeType};base64,${item.data}`,\n\t\t\t},\n\t\t} satisfies ChatCompletionContentPartImage;\n\t});\n\n\treturn {\n\t\tmodel: model.id,\n\t\tmessages: [\n\t\t\t{\n\t\t\t\trole: \"user\" as const,\n\t\t\t\tcontent,\n\t\t\t},\n\t\t],\n\t\tstream: false,\n\t\tmodalities: model.output.includes(\"text\") ? [\"image\", \"text\"] : [\"image\"],\n\t};\n}\n\nfunction parseUsage(\n\trawUsage: {\n\t\tprompt_tokens?: number;\n\t\tcompletion_tokens?: number;\n\t\tprompt_tokens_details?: { cached_tokens?: number; cache_write_tokens?: number };\n\t},\n\tmodel: ImagesModel<\"openrouter-images\">,\n) {\n\tconst promptTokens = rawUsage.prompt_tokens || 0;\n\tconst reportedCachedTokens = rawUsage.prompt_tokens_details?.cached_tokens || 0;\n\tconst cacheWriteTokens = rawUsage.prompt_tokens_details?.cache_write_tokens || 0;\n\tconst cacheReadTokens =\n\t\tcacheWriteTokens > 0 ? Math.max(0, reportedCachedTokens - cacheWriteTokens) : reportedCachedTokens;\n\tconst input = Math.max(0, promptTokens - cacheReadTokens - cacheWriteTokens);\n\tconst output = rawUsage.completion_tokens || 0;\n\tconst usage = {\n\t\tinput,\n\t\toutput,\n\t\tcacheRead: cacheReadTokens,\n\t\tcacheWrite: cacheWriteTokens,\n\t\ttotalTokens: input + output + cacheReadTokens + cacheWriteTokens,\n\t\tcost: {\n\t\t\tinput: (model.cost.input / 1000000) * input,\n\t\t\toutput: (model.cost.output / 1000000) * output,\n\t\t\tcacheRead: (model.cost.cacheRead / 1000000) * cacheReadTokens,\n\t\t\tcacheWrite: (model.cost.cacheWrite / 1000000) * cacheWriteTokens,\n\t\t\ttotal: 0,\n\t\t},\n\t};\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage;\n}\n"]}
@@ -0,0 +1,128 @@
1
+ import OpenAI from "openai";
2
+ import { headersToRecord } from "../../utils/headers.js";
3
+ import { sanitizeSurrogates } from "../../utils/sanitize-unicode.js";
4
+ export const generateImagesOpenRouter = async (model, context, options) => {
5
+ const output = {
6
+ api: model.api,
7
+ provider: model.provider,
8
+ model: model.id,
9
+ output: [],
10
+ stopReason: "stop",
11
+ timestamp: Date.now(),
12
+ };
13
+ try {
14
+ const apiKey = options?.apiKey;
15
+ if (!apiKey) {
16
+ throw new Error(`No API key for provider: ${model.provider}`);
17
+ }
18
+ const client = createClient(model, apiKey, options?.headers);
19
+ let params = buildParams(model, context);
20
+ const nextParams = await options?.onPayload?.(params, model);
21
+ if (nextParams !== undefined) {
22
+ params = nextParams;
23
+ }
24
+ const requestOptions = {
25
+ ...(options?.signal ? { signal: options.signal } : {}),
26
+ ...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),
27
+ maxRetries: options?.maxRetries ?? 0,
28
+ };
29
+ const { data: response, response: rawResponse } = await client.chat.completions
30
+ .create(params, requestOptions)
31
+ .withResponse();
32
+ await options?.onResponse?.({ status: rawResponse.status, headers: headersToRecord(rawResponse.headers) }, model);
33
+ const imageResponse = response;
34
+ output.responseId = imageResponse.id;
35
+ if (imageResponse.usage) {
36
+ output.usage = parseUsage(imageResponse.usage, model);
37
+ }
38
+ const choice = imageResponse.choices[0];
39
+ if (choice) {
40
+ const content = choice.message.content;
41
+ if (typeof content === "string" && content.length > 0) {
42
+ output.output.push({ type: "text", text: content });
43
+ }
44
+ for (const image of choice.message.images ?? []) {
45
+ const imageUrl = typeof image.image_url === "string" ? image.image_url : image.image_url?.url;
46
+ if (!imageUrl?.startsWith("data:"))
47
+ continue;
48
+ const matches = imageUrl.match(/^data:([^;]+);base64,(.+)$/);
49
+ if (!matches)
50
+ continue;
51
+ output.output.push({
52
+ type: "image",
53
+ mimeType: matches[1],
54
+ data: matches[2],
55
+ });
56
+ }
57
+ }
58
+ return output;
59
+ }
60
+ catch (error) {
61
+ output.stopReason = options?.signal?.aborted ? "aborted" : "error";
62
+ output.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);
63
+ return output;
64
+ }
65
+ };
66
+ function createClient(model, apiKey, optionsHeaders) {
67
+ return new OpenAI({
68
+ apiKey,
69
+ baseURL: model.baseUrl,
70
+ dangerouslyAllowBrowser: true,
71
+ defaultHeaders: {
72
+ ...model.headers,
73
+ ...optionsHeaders,
74
+ },
75
+ });
76
+ }
77
+ function buildParams(model, context) {
78
+ const content = context.input.map((item) => {
79
+ if (item.type === "text") {
80
+ return {
81
+ type: "text",
82
+ text: sanitizeSurrogates(item.text),
83
+ };
84
+ }
85
+ return {
86
+ type: "image_url",
87
+ image_url: {
88
+ url: `data:${item.mimeType};base64,${item.data}`,
89
+ },
90
+ };
91
+ });
92
+ return {
93
+ model: model.id,
94
+ messages: [
95
+ {
96
+ role: "user",
97
+ content,
98
+ },
99
+ ],
100
+ stream: false,
101
+ modalities: model.output.includes("text") ? ["image", "text"] : ["image"],
102
+ };
103
+ }
104
+ function parseUsage(rawUsage, model) {
105
+ const promptTokens = rawUsage.prompt_tokens || 0;
106
+ const reportedCachedTokens = rawUsage.prompt_tokens_details?.cached_tokens || 0;
107
+ const cacheWriteTokens = rawUsage.prompt_tokens_details?.cache_write_tokens || 0;
108
+ const cacheReadTokens = cacheWriteTokens > 0 ? Math.max(0, reportedCachedTokens - cacheWriteTokens) : reportedCachedTokens;
109
+ const input = Math.max(0, promptTokens - cacheReadTokens - cacheWriteTokens);
110
+ const output = rawUsage.completion_tokens || 0;
111
+ const usage = {
112
+ input,
113
+ output,
114
+ cacheRead: cacheReadTokens,
115
+ cacheWrite: cacheWriteTokens,
116
+ totalTokens: input + output + cacheReadTokens + cacheWriteTokens,
117
+ cost: {
118
+ input: (model.cost.input / 1000000) * input,
119
+ output: (model.cost.output / 1000000) * output,
120
+ cacheRead: (model.cost.cacheRead / 1000000) * cacheReadTokens,
121
+ cacheWrite: (model.cost.cacheWrite / 1000000) * cacheWriteTokens,
122
+ total: 0,
123
+ },
124
+ };
125
+ usage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;
126
+ return usage;
127
+ }
128
+ //# sourceMappingURL=openrouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/providers/images/openrouter.ts"],"names":[],"mappings":"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","sourcesContent":["import OpenAI from \"openai\";\nimport type {\n\tChatCompletion,\n\tChatCompletionContentPart,\n\tChatCompletionContentPartImage,\n\tChatCompletionContentPartText,\n\tChatCompletionCreateParamsNonStreaming,\n} from \"openai/resources/chat/completions.js\";\nimport type {\n\tAssistantImages,\n\tImageContent,\n\tImagesContext,\n\tImagesFunction,\n\tImagesModel,\n\tImagesOptions,\n\tTextContent,\n} from \"../../types.ts\";\nimport { headersToRecord } from \"../../utils/headers.ts\";\nimport { sanitizeSurrogates } from \"../../utils/sanitize-unicode.ts\";\n\ninterface OpenRouterGeneratedImage {\n\timage_url?: string | { url?: string };\n}\n\ntype OpenRouterImageGenerationMessage = ChatCompletion[\"choices\"][number][\"message\"] & {\n\timages?: OpenRouterGeneratedImage[];\n};\n\ntype OpenRouterImageGenerationChoice = ChatCompletion[\"choices\"][number] & {\n\tmessage: OpenRouterImageGenerationMessage;\n};\n\ntype OpenRouterImageGenerationResponse = ChatCompletion & {\n\tchoices: OpenRouterImageGenerationChoice[];\n};\n\nexport const generateImagesOpenRouter: ImagesFunction<\"openrouter-images\", ImagesOptions> = async (\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => {\n\tconst output: AssistantImages = {\n\t\tapi: model.api,\n\t\tprovider: model.provider,\n\t\tmodel: model.id,\n\t\toutput: [],\n\t\tstopReason: \"stop\",\n\t\ttimestamp: Date.now(),\n\t};\n\n\ttry {\n\t\tconst apiKey = options?.apiKey;\n\t\tif (!apiKey) {\n\t\t\tthrow new Error(`No API key for provider: ${model.provider}`);\n\t\t}\n\t\tconst client = createClient(model, apiKey, options?.headers);\n\t\tlet params = buildParams(model, context);\n\t\tconst nextParams = await options?.onPayload?.(params, model);\n\t\tif (nextParams !== undefined) {\n\t\t\tparams = nextParams as typeof params;\n\t\t}\n\t\tconst requestOptions = {\n\t\t\t...(options?.signal ? { signal: options.signal } : {}),\n\t\t\t...(options?.timeoutMs !== undefined ? { timeout: options.timeoutMs } : {}),\n\t\t\tmaxRetries: options?.maxRetries ?? 0,\n\t\t};\n\t\tconst { data: response, response: rawResponse } = await client.chat.completions\n\t\t\t.create(params as unknown as ChatCompletionCreateParamsNonStreaming, requestOptions)\n\t\t\t.withResponse();\n\t\tawait options?.onResponse?.({ status: rawResponse.status, headers: headersToRecord(rawResponse.headers) }, model);\n\n\t\tconst imageResponse = response as OpenRouterImageGenerationResponse;\n\t\toutput.responseId = imageResponse.id;\n\t\tif (imageResponse.usage) {\n\t\t\toutput.usage = parseUsage(imageResponse.usage, model);\n\t\t}\n\n\t\tconst choice = imageResponse.choices[0];\n\t\tif (choice) {\n\t\t\tconst content = choice.message.content;\n\t\t\tif (typeof content === \"string\" && content.length > 0) {\n\t\t\t\toutput.output.push({ type: \"text\", text: content } satisfies TextContent);\n\t\t\t}\n\n\t\t\tfor (const image of choice.message.images ?? []) {\n\t\t\t\tconst imageUrl = typeof image.image_url === \"string\" ? image.image_url : image.image_url?.url;\n\t\t\t\tif (!imageUrl?.startsWith(\"data:\")) continue;\n\t\t\t\tconst matches = imageUrl.match(/^data:([^;]+);base64,(.+)$/);\n\t\t\t\tif (!matches) continue;\n\t\t\t\toutput.output.push({\n\t\t\t\t\ttype: \"image\",\n\t\t\t\t\tmimeType: matches[1],\n\t\t\t\t\tdata: matches[2],\n\t\t\t\t} satisfies ImageContent);\n\t\t\t}\n\t\t}\n\n\t\treturn output;\n\t} catch (error) {\n\t\toutput.stopReason = options?.signal?.aborted ? \"aborted\" : \"error\";\n\t\toutput.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);\n\t\treturn output;\n\t}\n};\n\nfunction createClient(\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tapiKey: string,\n\toptionsHeaders?: Record<string, string>,\n): OpenAI {\n\treturn new OpenAI({\n\t\tapiKey,\n\t\tbaseURL: model.baseUrl,\n\t\tdangerouslyAllowBrowser: true,\n\t\tdefaultHeaders: {\n\t\t\t...model.headers,\n\t\t\t...optionsHeaders,\n\t\t},\n\t});\n}\n\ntype OpenRouterImagesCreateParams = Omit<ChatCompletionCreateParamsNonStreaming, \"modalities\"> & {\n\tmodalities: Array<\"image\" | \"text\">;\n};\n\nfunction buildParams(model: ImagesModel<\"openrouter-images\">, context: ImagesContext): OpenRouterImagesCreateParams {\n\tconst content: ChatCompletionContentPart[] = context.input.map((item): ChatCompletionContentPart => {\n\t\tif (item.type === \"text\") {\n\t\t\treturn {\n\t\t\t\ttype: \"text\",\n\t\t\t\ttext: sanitizeSurrogates(item.text),\n\t\t\t} satisfies ChatCompletionContentPartText;\n\t\t}\n\t\treturn {\n\t\t\ttype: \"image_url\",\n\t\t\timage_url: {\n\t\t\t\turl: `data:${item.mimeType};base64,${item.data}`,\n\t\t\t},\n\t\t} satisfies ChatCompletionContentPartImage;\n\t});\n\n\treturn {\n\t\tmodel: model.id,\n\t\tmessages: [\n\t\t\t{\n\t\t\t\trole: \"user\" as const,\n\t\t\t\tcontent,\n\t\t\t},\n\t\t],\n\t\tstream: false,\n\t\tmodalities: model.output.includes(\"text\") ? [\"image\", \"text\"] : [\"image\"],\n\t};\n}\n\nfunction parseUsage(\n\trawUsage: {\n\t\tprompt_tokens?: number;\n\t\tcompletion_tokens?: number;\n\t\tprompt_tokens_details?: { cached_tokens?: number; cache_write_tokens?: number };\n\t},\n\tmodel: ImagesModel<\"openrouter-images\">,\n) {\n\tconst promptTokens = rawUsage.prompt_tokens || 0;\n\tconst reportedCachedTokens = rawUsage.prompt_tokens_details?.cached_tokens || 0;\n\tconst cacheWriteTokens = rawUsage.prompt_tokens_details?.cache_write_tokens || 0;\n\tconst cacheReadTokens =\n\t\tcacheWriteTokens > 0 ? Math.max(0, reportedCachedTokens - cacheWriteTokens) : reportedCachedTokens;\n\tconst input = Math.max(0, promptTokens - cacheReadTokens - cacheWriteTokens);\n\tconst output = rawUsage.completion_tokens || 0;\n\tconst usage = {\n\t\tinput,\n\t\toutput,\n\t\tcacheRead: cacheReadTokens,\n\t\tcacheWrite: cacheWriteTokens,\n\t\ttotalTokens: input + output + cacheReadTokens + cacheWriteTokens,\n\t\tcost: {\n\t\t\tinput: (model.cost.input / 1000000) * input,\n\t\t\toutput: (model.cost.output / 1000000) * output,\n\t\t\tcacheRead: (model.cost.cacheRead / 1000000) * cacheReadTokens,\n\t\t\tcacheWrite: (model.cost.cacheWrite / 1000000) * cacheWriteTokens,\n\t\t\ttotal: 0,\n\t\t},\n\t};\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import type { ImagesFunction, ImagesOptions } from "../../types.ts";
2
+ export declare const generateImagesOpenRouter: ImagesFunction<"openrouter-images", ImagesOptions>;
3
+ export declare function registerBuiltInImagesApiProviders(): void;
4
+ //# sourceMappingURL=register-builtins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-builtins.d.ts","sourceRoot":"","sources":["../../../src/providers/images/register-builtins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAkC,cAAc,EAAe,aAAa,EAAE,MAAM,gBAAgB,CAAC;AA2BjH,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,mBAAmB,EAAE,aAAa,CAWvF,CAAC;AAEF,wBAAgB,iCAAiC,IAAI,IAAI,CAKxD","sourcesContent":["import type { generateImages as generateImagesOpenRouterFunction } from \"../../api/openrouter-images.ts\";\nimport { registerImagesApiProvider } from \"../../images-api-registry.ts\";\nimport type { AssistantImages, ImagesContext, ImagesFunction, ImagesModel, ImagesOptions } from \"../../types.ts\";\n\ninterface OpenRouterImagesProviderModule {\n\tgenerateImages: typeof generateImagesOpenRouterFunction;\n}\n\nlet openRouterImagesProviderModulePromise: Promise<OpenRouterImagesProviderModule> | undefined;\n\nfunction createLazyLoadErrorImages(model: ImagesModel<\"openrouter-images\">, error: unknown): AssistantImages {\n\treturn {\n\t\tapi: model.api,\n\t\tprovider: model.provider,\n\t\tmodel: model.id,\n\t\toutput: [],\n\t\tstopReason: \"error\",\n\t\terrorMessage: error instanceof Error ? error.message : String(error),\n\t\ttimestamp: Date.now(),\n\t};\n}\n\nfunction loadOpenRouterImagesProviderModule(): Promise<OpenRouterImagesProviderModule> {\n\topenRouterImagesProviderModulePromise ||= import(\"../../api/openrouter-images.ts\").then(\n\t\t(module) => module as OpenRouterImagesProviderModule,\n\t);\n\treturn openRouterImagesProviderModulePromise;\n}\n\nexport const generateImagesOpenRouter: ImagesFunction<\"openrouter-images\", ImagesOptions> = async (\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => {\n\ttry {\n\t\tconst module = await loadOpenRouterImagesProviderModule();\n\t\treturn await module.generateImages(model, context, options);\n\t} catch (error) {\n\t\treturn createLazyLoadErrorImages(model, error);\n\t}\n};\n\nexport function registerBuiltInImagesApiProviders(): void {\n\tregisterImagesApiProvider({\n\t\tapi: \"openrouter-images\",\n\t\tgenerateImages: generateImagesOpenRouter,\n\t});\n}\n\nregisterBuiltInImagesApiProviders();\n"]}
@@ -0,0 +1,34 @@
1
+ import { registerImagesApiProvider } from "../../images-api-registry.js";
2
+ let openRouterImagesProviderModulePromise;
3
+ function createLazyLoadErrorImages(model, error) {
4
+ return {
5
+ api: model.api,
6
+ provider: model.provider,
7
+ model: model.id,
8
+ output: [],
9
+ stopReason: "error",
10
+ errorMessage: error instanceof Error ? error.message : String(error),
11
+ timestamp: Date.now(),
12
+ };
13
+ }
14
+ function loadOpenRouterImagesProviderModule() {
15
+ openRouterImagesProviderModulePromise ||= import("../../api/openrouter-images.js").then((module) => module);
16
+ return openRouterImagesProviderModulePromise;
17
+ }
18
+ export const generateImagesOpenRouter = async (model, context, options) => {
19
+ try {
20
+ const module = await loadOpenRouterImagesProviderModule();
21
+ return await module.generateImages(model, context, options);
22
+ }
23
+ catch (error) {
24
+ return createLazyLoadErrorImages(model, error);
25
+ }
26
+ };
27
+ export function registerBuiltInImagesApiProviders() {
28
+ registerImagesApiProvider({
29
+ api: "openrouter-images",
30
+ generateImages: generateImagesOpenRouter,
31
+ });
32
+ }
33
+ registerBuiltInImagesApiProviders();
34
+ //# sourceMappingURL=register-builtins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-builtins.js","sourceRoot":"","sources":["../../../src/providers/images/register-builtins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAOzE,IAAI,qCAA0F,CAAC;AAE/F,SAAS,yBAAyB,CAAC,KAAuC,EAAE,KAAc,EAAmB;IAC5G,OAAO;QACN,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,EAAE;QACf,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,OAAO;QACnB,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACpE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACrB,CAAC;AAAA,CACF;AAED,SAAS,kCAAkC,GAA4C;IACtF,qCAAqC,KAAK,MAAM,CAAC,gCAAgC,CAAC,CAAC,IAAI,CACtF,CAAC,MAAM,EAAE,EAAE,CAAC,MAAwC,CACpD,CAAC;IACF,OAAO,qCAAqC,CAAC;AAAA,CAC7C;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAuD,KAAK,EAChG,KAAuC,EACvC,OAAsB,EACtB,OAAuB,EACtB,EAAE,CAAC;IACJ,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,kCAAkC,EAAE,CAAC;QAC1D,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;AAAA,CACD,CAAC;AAEF,MAAM,UAAU,iCAAiC,GAAS;IACzD,yBAAyB,CAAC;QACzB,GAAG,EAAE,mBAAmB;QACxB,cAAc,EAAE,wBAAwB;KACxC,CAAC,CAAC;AAAA,CACH;AAED,iCAAiC,EAAE,CAAC","sourcesContent":["import type { generateImages as generateImagesOpenRouterFunction } from \"../../api/openrouter-images.ts\";\nimport { registerImagesApiProvider } from \"../../images-api-registry.ts\";\nimport type { AssistantImages, ImagesContext, ImagesFunction, ImagesModel, ImagesOptions } from \"../../types.ts\";\n\ninterface OpenRouterImagesProviderModule {\n\tgenerateImages: typeof generateImagesOpenRouterFunction;\n}\n\nlet openRouterImagesProviderModulePromise: Promise<OpenRouterImagesProviderModule> | undefined;\n\nfunction createLazyLoadErrorImages(model: ImagesModel<\"openrouter-images\">, error: unknown): AssistantImages {\n\treturn {\n\t\tapi: model.api,\n\t\tprovider: model.provider,\n\t\tmodel: model.id,\n\t\toutput: [],\n\t\tstopReason: \"error\",\n\t\terrorMessage: error instanceof Error ? error.message : String(error),\n\t\ttimestamp: Date.now(),\n\t};\n}\n\nfunction loadOpenRouterImagesProviderModule(): Promise<OpenRouterImagesProviderModule> {\n\topenRouterImagesProviderModulePromise ||= import(\"../../api/openrouter-images.ts\").then(\n\t\t(module) => module as OpenRouterImagesProviderModule,\n\t);\n\treturn openRouterImagesProviderModulePromise;\n}\n\nexport const generateImagesOpenRouter: ImagesFunction<\"openrouter-images\", ImagesOptions> = async (\n\tmodel: ImagesModel<\"openrouter-images\">,\n\tcontext: ImagesContext,\n\toptions?: ImagesOptions,\n) => {\n\ttry {\n\t\tconst module = await loadOpenRouterImagesProviderModule();\n\t\treturn await module.generateImages(model, context, options);\n\t} catch (error) {\n\t\treturn createLazyLoadErrorImages(model, error);\n\t}\n};\n\nexport function registerBuiltInImagesApiProviders(): void {\n\tregisterImagesApiProvider({\n\t\tapi: \"openrouter-images\",\n\t\tgenerateImages: generateImagesOpenRouter,\n\t});\n}\n\nregisterBuiltInImagesApiProviders();\n"]}
@@ -0,0 +1,3 @@
1
+ import { type Provider } from "../models.ts";
2
+ export declare function kimiCodingProvider(): Provider<"anthropic-messages">;
3
+ //# sourceMappingURL=kimi-coding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-coding.d.ts","sourceRoot":"","sources":["../../src/providers/kimi-coding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,kBAAkB,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CASnE","sourcesContent":["import { anthropicMessagesApi } from \"../api/anthropic-messages.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { KIMI_CODING_MODELS } from \"./kimi-coding.models.ts\";\n\nexport function kimiCodingProvider(): Provider<\"anthropic-messages\"> {\n\treturn createProvider({\n\t\tid: \"kimi-coding\",\n\t\tname: \"Kimi For Coding\",\n\t\tbaseUrl: \"https://api.kimi.com/coding\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Kimi API key\", [\"KIMI_API_KEY\"]) },\n\t\tmodels: Object.values(KIMI_CODING_MODELS),\n\t\tapi: anthropicMessagesApi(),\n\t});\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { anthropicMessagesApi } from "../api/anthropic-messages.lazy.js";
2
+ import { envApiKeyAuth } from "../auth/helpers.js";
3
+ import { createProvider } from "../models.js";
4
+ import { KIMI_CODING_MODELS } from "./kimi-coding.models.js";
5
+ export function kimiCodingProvider() {
6
+ return createProvider({
7
+ id: "kimi-coding",
8
+ name: "Kimi For Coding",
9
+ baseUrl: "https://api.kimi.com/coding",
10
+ auth: { apiKey: envApiKeyAuth("Kimi API key", ["KIMI_API_KEY"]) },
11
+ models: Object.values(KIMI_CODING_MODELS),
12
+ api: anthropicMessagesApi(),
13
+ });
14
+ }
15
+ //# sourceMappingURL=kimi-coding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-coding.js","sourceRoot":"","sources":["../../src/providers/kimi-coding.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,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,UAAU,kBAAkB,GAAmC;IACpE,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,6BAA6B;QACtC,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE;QACjE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACzC,GAAG,EAAE,oBAAoB,EAAE;KAC3B,CAAC,CAAC;AAAA,CACH","sourcesContent":["import { anthropicMessagesApi } from \"../api/anthropic-messages.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { KIMI_CODING_MODELS } from \"./kimi-coding.models.ts\";\n\nexport function kimiCodingProvider(): Provider<\"anthropic-messages\"> {\n\treturn createProvider({\n\t\tid: \"kimi-coding\",\n\t\tname: \"Kimi For Coding\",\n\t\tbaseUrl: \"https://api.kimi.com/coding\",\n\t\tauth: { apiKey: envApiKeyAuth(\"Kimi API key\", [\"KIMI_API_KEY\"]) },\n\t\tmodels: Object.values(KIMI_CODING_MODELS),\n\t\tapi: anthropicMessagesApi(),\n\t});\n}\n"]}
@@ -0,0 +1,63 @@
1
+ export declare const KIMI_CODING_MODELS: {
2
+ readonly k2p7: {
3
+ id: string;
4
+ name: string;
5
+ api: "anthropic-messages";
6
+ provider: string;
7
+ baseUrl: string;
8
+ headers: {
9
+ "User-Agent": string;
10
+ };
11
+ reasoning: true;
12
+ input: ("image" | "text")[];
13
+ cost: {
14
+ input: number;
15
+ output: number;
16
+ cacheRead: number;
17
+ cacheWrite: number;
18
+ };
19
+ contextWindow: number;
20
+ maxTokens: number;
21
+ };
22
+ readonly "kimi-for-coding": {
23
+ id: string;
24
+ name: string;
25
+ api: "anthropic-messages";
26
+ provider: string;
27
+ baseUrl: string;
28
+ headers: {
29
+ "User-Agent": string;
30
+ };
31
+ reasoning: true;
32
+ input: ("image" | "text")[];
33
+ cost: {
34
+ input: number;
35
+ output: number;
36
+ cacheRead: number;
37
+ cacheWrite: number;
38
+ };
39
+ contextWindow: number;
40
+ maxTokens: number;
41
+ };
42
+ readonly "kimi-k2-thinking": {
43
+ id: string;
44
+ name: string;
45
+ api: "anthropic-messages";
46
+ provider: string;
47
+ baseUrl: string;
48
+ headers: {
49
+ "User-Agent": string;
50
+ };
51
+ reasoning: true;
52
+ input: "text"[];
53
+ cost: {
54
+ input: number;
55
+ output: number;
56
+ cacheRead: number;
57
+ cacheWrite: number;
58
+ };
59
+ contextWindow: number;
60
+ maxTokens: number;
61
+ };
62
+ };
63
+ //# sourceMappingURL=kimi-coding.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-coding.models.d.ts","sourceRoot":"","sources":["../../src/providers/kimi-coding.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDrB,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 KIMI_CODING_MODELS = {\n\t\"k2p7\": {\n\t\tid: \"k2p7\",\n\t\tname: \"Kimi K2.7 Code\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"kimi-coding\",\n\t\tbaseUrl: \"https://api.kimi.com/coding\",\n\t\theaders: {\"User-Agent\":\"KimiCLI/1.5\"},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"kimi-for-coding\": {\n\t\tid: \"kimi-for-coding\",\n\t\tname: \"Kimi For Coding\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"kimi-coding\",\n\t\tbaseUrl: \"https://api.kimi.com/coding\",\n\t\theaders: {\"User-Agent\":\"KimiCLI/1.5\"},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"kimi-k2-thinking\": {\n\t\tid: \"kimi-k2-thinking\",\n\t\tname: \"Kimi K2 Thinking\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"kimi-coding\",\n\t\tbaseUrl: \"https://api.kimi.com/coding\",\n\t\theaders: {\"User-Agent\":\"KimiCLI/1.5\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"anthropic-messages\">,\n} as const;\n"]}
@@ -0,0 +1,59 @@
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 KIMI_CODING_MODELS = {
4
+ "k2p7": {
5
+ id: "k2p7",
6
+ name: "Kimi K2.7 Code",
7
+ api: "anthropic-messages",
8
+ provider: "kimi-coding",
9
+ baseUrl: "https://api.kimi.com/coding",
10
+ headers: { "User-Agent": "KimiCLI/1.5" },
11
+ reasoning: true,
12
+ input: ["text", "image"],
13
+ cost: {
14
+ input: 0,
15
+ output: 0,
16
+ cacheRead: 0,
17
+ cacheWrite: 0,
18
+ },
19
+ contextWindow: 262144,
20
+ maxTokens: 32768,
21
+ },
22
+ "kimi-for-coding": {
23
+ id: "kimi-for-coding",
24
+ name: "Kimi For Coding",
25
+ api: "anthropic-messages",
26
+ provider: "kimi-coding",
27
+ baseUrl: "https://api.kimi.com/coding",
28
+ headers: { "User-Agent": "KimiCLI/1.5" },
29
+ reasoning: true,
30
+ input: ["text", "image"],
31
+ cost: {
32
+ input: 0,
33
+ output: 0,
34
+ cacheRead: 0,
35
+ cacheWrite: 0,
36
+ },
37
+ contextWindow: 262144,
38
+ maxTokens: 32768,
39
+ },
40
+ "kimi-k2-thinking": {
41
+ id: "kimi-k2-thinking",
42
+ name: "Kimi K2 Thinking",
43
+ api: "anthropic-messages",
44
+ provider: "kimi-coding",
45
+ baseUrl: "https://api.kimi.com/coding",
46
+ headers: { "User-Agent": "KimiCLI/1.5" },
47
+ reasoning: true,
48
+ input: ["text"],
49
+ cost: {
50
+ input: 0,
51
+ output: 0,
52
+ cacheRead: 0,
53
+ cacheWrite: 0,
54
+ },
55
+ contextWindow: 262144,
56
+ maxTokens: 32768,
57
+ },
58
+ };
59
+ //# sourceMappingURL=kimi-coding.models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-coding.models.js","sourceRoot":"","sources":["../../src/providers/kimi-coding.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAIjE,MAAM,CAAC,MAAM,kBAAkB,GAAG;IACjC,MAAM,EAAE;QACP,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,gBAAgB;QACtB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE,EAAC,YAAY,EAAC,aAAa,EAAC;QACrC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,iBAAiB,EAAE;QAClB,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE,EAAC,YAAY,EAAC,aAAa,EAAC;QACrC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;SACb;QACD,aAAa,EAAE,MAAM;QACrB,SAAS,EAAE,KAAK;KACsB;IACvC,kBAAkB,EAAE;QACnB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE,aAAa;QACvB,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE,EAAC,YAAY,EAAC,aAAa,EAAC;QACrC,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,CAAC,MAAM,CAAC;QACf,IAAI,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,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 KIMI_CODING_MODELS = {\n\t\"k2p7\": {\n\t\tid: \"k2p7\",\n\t\tname: \"Kimi K2.7 Code\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"kimi-coding\",\n\t\tbaseUrl: \"https://api.kimi.com/coding\",\n\t\theaders: {\"User-Agent\":\"KimiCLI/1.5\"},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"kimi-for-coding\": {\n\t\tid: \"kimi-for-coding\",\n\t\tname: \"Kimi For Coding\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"kimi-coding\",\n\t\tbaseUrl: \"https://api.kimi.com/coding\",\n\t\theaders: {\"User-Agent\":\"KimiCLI/1.5\"},\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"kimi-k2-thinking\": {\n\t\tid: \"kimi-k2-thinking\",\n\t\tname: \"Kimi K2 Thinking\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"kimi-coding\",\n\t\tbaseUrl: \"https://api.kimi.com/coding\",\n\t\theaders: {\"User-Agent\":\"KimiCLI/1.5\"},\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0,\n\t\t\toutput: 0,\n\t\t\tcacheRead: 0,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 262144,\n\t\tmaxTokens: 32768,\n\t} satisfies Model<\"anthropic-messages\">,\n} as const;\n"]}
@@ -0,0 +1,3 @@
1
+ import { type Provider } from "../models.ts";
2
+ export declare function minimaxCnProvider(): Provider<"anthropic-messages">;
3
+ //# sourceMappingURL=minimax-cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimax-cn.d.ts","sourceRoot":"","sources":["../../src/providers/minimax-cn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7D,wBAAgB,iBAAiB,IAAI,QAAQ,CAAC,oBAAoB,CAAC,CASlE","sourcesContent":["import { anthropicMessagesApi } from \"../api/anthropic-messages.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { MINIMAX_CN_MODELS } from \"./minimax-cn.models.ts\";\n\nexport function minimaxCnProvider(): Provider<\"anthropic-messages\"> {\n\treturn createProvider({\n\t\tid: \"minimax-cn\",\n\t\tname: \"MiniMax CN\",\n\t\tbaseUrl: \"https://api.minimaxi.com/anthropic\",\n\t\tauth: { apiKey: envApiKeyAuth(\"MiniMax CN API key\", [\"MINIMAX_CN_API_KEY\"]) },\n\t\tmodels: Object.values(MINIMAX_CN_MODELS),\n\t\tapi: anthropicMessagesApi(),\n\t});\n}\n"]}
@@ -0,0 +1,15 @@
1
+ import { anthropicMessagesApi } from "../api/anthropic-messages.lazy.js";
2
+ import { envApiKeyAuth } from "../auth/helpers.js";
3
+ import { createProvider } from "../models.js";
4
+ import { MINIMAX_CN_MODELS } from "./minimax-cn.models.js";
5
+ export function minimaxCnProvider() {
6
+ return createProvider({
7
+ id: "minimax-cn",
8
+ name: "MiniMax CN",
9
+ baseUrl: "https://api.minimaxi.com/anthropic",
10
+ auth: { apiKey: envApiKeyAuth("MiniMax CN API key", ["MINIMAX_CN_API_KEY"]) },
11
+ models: Object.values(MINIMAX_CN_MODELS),
12
+ api: anthropicMessagesApi(),
13
+ });
14
+ }
15
+ //# sourceMappingURL=minimax-cn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimax-cn.js","sourceRoot":"","sources":["../../src/providers/minimax-cn.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,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,UAAU,iBAAiB,GAAmC;IACnE,OAAO,cAAc,CAAC;QACrB,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE;QAC7E,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACxC,GAAG,EAAE,oBAAoB,EAAE;KAC3B,CAAC,CAAC;AAAA,CACH","sourcesContent":["import { anthropicMessagesApi } from \"../api/anthropic-messages.lazy.ts\";\nimport { envApiKeyAuth } from \"../auth/helpers.ts\";\nimport { createProvider, type Provider } from \"../models.ts\";\nimport { MINIMAX_CN_MODELS } from \"./minimax-cn.models.ts\";\n\nexport function minimaxCnProvider(): Provider<\"anthropic-messages\"> {\n\treturn createProvider({\n\t\tid: \"minimax-cn\",\n\t\tname: \"MiniMax CN\",\n\t\tbaseUrl: \"https://api.minimaxi.com/anthropic\",\n\t\tauth: { apiKey: envApiKeyAuth(\"MiniMax CN API key\", [\"MINIMAX_CN_API_KEY\"]) },\n\t\tmodels: Object.values(MINIMAX_CN_MODELS),\n\t\tapi: anthropicMessagesApi(),\n\t});\n}\n"]}
@@ -0,0 +1,54 @@
1
+ export declare const MINIMAX_CN_MODELS: {
2
+ readonly "MiniMax-M2.7": {
3
+ id: string;
4
+ name: string;
5
+ api: "anthropic-messages";
6
+ provider: string;
7
+ baseUrl: string;
8
+ reasoning: true;
9
+ input: "text"[];
10
+ cost: {
11
+ input: number;
12
+ output: number;
13
+ cacheRead: number;
14
+ cacheWrite: number;
15
+ };
16
+ contextWindow: number;
17
+ maxTokens: number;
18
+ };
19
+ readonly "MiniMax-M2.7-highspeed": {
20
+ id: string;
21
+ name: string;
22
+ api: "anthropic-messages";
23
+ provider: string;
24
+ baseUrl: string;
25
+ reasoning: true;
26
+ input: "text"[];
27
+ cost: {
28
+ input: number;
29
+ output: number;
30
+ cacheRead: number;
31
+ cacheWrite: number;
32
+ };
33
+ contextWindow: number;
34
+ maxTokens: number;
35
+ };
36
+ readonly "MiniMax-M3": {
37
+ id: string;
38
+ name: string;
39
+ api: "anthropic-messages";
40
+ provider: string;
41
+ baseUrl: string;
42
+ reasoning: true;
43
+ input: ("image" | "text")[];
44
+ cost: {
45
+ input: number;
46
+ output: number;
47
+ cacheRead: number;
48
+ cacheWrite: number;
49
+ };
50
+ contextWindow: number;
51
+ maxTokens: number;
52
+ };
53
+ };
54
+ //# sourceMappingURL=minimax-cn.models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimax-cn.models.d.ts","sourceRoot":"","sources":["../../src/providers/minimax-cn.models.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDpB,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 MINIMAX_CN_MODELS = {\n\t\"MiniMax-M2.7\": {\n\t\tid: \"MiniMax-M2.7\",\n\t\tname: \"MiniMax-M2.7\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"minimax-cn\",\n\t\tbaseUrl: \"https://api.minimaxi.com/anthropic\",\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.06,\n\t\t\tcacheWrite: 0.375,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"MiniMax-M2.7-highspeed\": {\n\t\tid: \"MiniMax-M2.7-highspeed\",\n\t\tname: \"MiniMax-M2.7-highspeed\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"minimax-cn\",\n\t\tbaseUrl: \"https://api.minimaxi.com/anthropic\",\n\t\treasoning: true,\n\t\tinput: [\"text\"],\n\t\tcost: {\n\t\t\tinput: 0.6,\n\t\t\toutput: 2.4,\n\t\t\tcacheRead: 0.06,\n\t\t\tcacheWrite: 0.375,\n\t\t},\n\t\tcontextWindow: 204800,\n\t\tmaxTokens: 131072,\n\t} satisfies Model<\"anthropic-messages\">,\n\t\"MiniMax-M3\": {\n\t\tid: \"MiniMax-M3\",\n\t\tname: \"MiniMax-M3\",\n\t\tapi: \"anthropic-messages\",\n\t\tprovider: \"minimax-cn\",\n\t\tbaseUrl: \"https://api.minimaxi.com/anthropic\",\n\t\treasoning: true,\n\t\tinput: [\"text\", \"image\"],\n\t\tcost: {\n\t\t\tinput: 0.3,\n\t\t\toutput: 1.2,\n\t\t\tcacheRead: 0.06,\n\t\t\tcacheWrite: 0,\n\t\t},\n\t\tcontextWindow: 1000000,\n\t\tmaxTokens: 128000,\n\t} satisfies Model<\"anthropic-messages\">,\n} as const;\n"]}