@bastani/pi-ai 0.9.20-alpha.8 → 0.9.20

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 (370) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +172 -24
  3. package/dist/api/anthropic-messages.d.ts.map +1 -1
  4. package/dist/api/anthropic-messages.js +9 -3
  5. package/dist/api/anthropic-messages.js.map +1 -1
  6. package/dist/api/azure-openai-responses.d.ts.map +1 -1
  7. package/dist/api/azure-openai-responses.js +4 -1
  8. package/dist/api/azure-openai-responses.js.map +1 -1
  9. package/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  10. package/dist/api/bedrock-converse-stream.js +5 -3
  11. package/dist/api/bedrock-converse-stream.js.map +1 -1
  12. package/dist/api/cloudflare-workers-ai-system-one.d.ts +4 -0
  13. package/dist/api/cloudflare-workers-ai-system-one.d.ts.map +1 -0
  14. package/dist/api/cloudflare-workers-ai-system-one.js +43 -0
  15. package/dist/api/cloudflare-workers-ai-system-one.js.map +1 -0
  16. package/dist/api/cloudflare-workers-ai-system-one.lazy.d.ts +3 -0
  17. package/dist/api/cloudflare-workers-ai-system-one.lazy.d.ts.map +1 -0
  18. package/dist/api/cloudflare-workers-ai-system-one.lazy.js +4 -0
  19. package/dist/api/cloudflare-workers-ai-system-one.lazy.js.map +1 -0
  20. package/dist/api/cloudflare.d.ts +2 -0
  21. package/dist/api/cloudflare.d.ts.map +1 -1
  22. package/dist/api/cloudflare.js +2 -0
  23. package/dist/api/cloudflare.js.map +1 -1
  24. package/dist/api/constrained-sampling.d.ts +8 -3
  25. package/dist/api/constrained-sampling.d.ts.map +1 -1
  26. package/dist/api/constrained-sampling.js +29 -11
  27. package/dist/api/constrained-sampling.js.map +1 -1
  28. package/dist/api/google-generative-ai.d.ts.map +1 -1
  29. package/dist/api/google-generative-ai.js +1 -0
  30. package/dist/api/google-generative-ai.js.map +1 -1
  31. package/dist/api/google-vertex.d.ts.map +1 -1
  32. package/dist/api/google-vertex.js +1 -0
  33. package/dist/api/google-vertex.js.map +1 -1
  34. package/dist/api/mistral-conversations.d.ts.map +1 -1
  35. package/dist/api/mistral-conversations.js +3 -2
  36. package/dist/api/mistral-conversations.js.map +1 -1
  37. package/dist/api/openai-codex-responses.d.ts.map +1 -1
  38. package/dist/api/openai-codex-responses.js +20 -4
  39. package/dist/api/openai-codex-responses.js.map +1 -1
  40. package/dist/api/openai-completions.d.ts.map +1 -1
  41. package/dist/api/openai-completions.js +1 -0
  42. package/dist/api/openai-completions.js.map +1 -1
  43. package/dist/api/openai-responses-shared.d.ts +2 -1
  44. package/dist/api/openai-responses-shared.d.ts.map +1 -1
  45. package/dist/api/openai-responses-shared.js +1 -0
  46. package/dist/api/openai-responses-shared.js.map +1 -1
  47. package/dist/api/openai-responses.d.ts.map +1 -1
  48. package/dist/api/openai-responses.js +1 -0
  49. package/dist/api/openai-responses.js.map +1 -1
  50. package/dist/api/openrouter-images.d.ts +2 -1
  51. package/dist/api/openrouter-images.d.ts.map +1 -1
  52. package/dist/api/openrouter-images.js +1 -0
  53. package/dist/api/openrouter-images.js.map +1 -1
  54. package/dist/api/openrouter-images.lazy.d.ts.map +1 -1
  55. package/dist/api/openrouter-images.lazy.js.map +1 -1
  56. package/dist/api/pi-messages.d.ts.map +1 -1
  57. package/dist/api/pi-messages.js +1 -0
  58. package/dist/api/pi-messages.js.map +1 -1
  59. package/dist/api/simple-options.d.ts.map +1 -1
  60. package/dist/api/simple-options.js +1 -0
  61. package/dist/api/simple-options.js.map +1 -1
  62. package/dist/api/system-one-shared.d.ts +23 -0
  63. package/dist/api/system-one-shared.d.ts.map +1 -0
  64. package/dist/api/system-one-shared.js +170 -0
  65. package/dist/api/system-one-shared.js.map +1 -0
  66. package/dist/api/typesafe-system-one.d.ts +4 -0
  67. package/dist/api/typesafe-system-one.d.ts.map +1 -0
  68. package/dist/api/typesafe-system-one.js +19 -0
  69. package/dist/api/typesafe-system-one.js.map +1 -0
  70. package/dist/api/typesafe-system-one.lazy.d.ts +3 -0
  71. package/dist/api/typesafe-system-one.lazy.d.ts.map +1 -0
  72. package/dist/api/typesafe-system-one.lazy.js +4 -0
  73. package/dist/api/typesafe-system-one.lazy.js.map +1 -0
  74. package/dist/auth/resolve.d.ts +2 -8
  75. package/dist/auth/resolve.d.ts.map +1 -1
  76. package/dist/auth/resolve.js +3 -19
  77. package/dist/auth/resolve.js.map +1 -1
  78. package/dist/env-api-keys.d.ts.map +1 -1
  79. package/dist/env-api-keys.js +1 -0
  80. package/dist/env-api-keys.js.map +1 -1
  81. package/dist/image-models.d.ts +19 -8
  82. package/dist/image-models.d.ts.map +1 -1
  83. package/dist/image-models.js +14 -13
  84. package/dist/image-models.js.map +1 -1
  85. package/dist/images-api-registry.d.ts +7 -7
  86. package/dist/images-api-registry.d.ts.map +1 -1
  87. package/dist/images-api-registry.js.map +1 -1
  88. package/dist/images.d.ts +7 -2
  89. package/dist/images.d.ts.map +1 -1
  90. package/dist/images.js +5 -0
  91. package/dist/images.js.map +1 -1
  92. package/dist/index.d.ts +0 -1
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +0 -1
  95. package/dist/index.js.map +1 -1
  96. package/dist/model-catalog.d.ts +25 -9
  97. package/dist/model-catalog.d.ts.map +1 -1
  98. package/dist/model-catalog.js +14 -2
  99. package/dist/model-catalog.js.map +1 -1
  100. package/dist/models-store.d.ts +3 -2
  101. package/dist/models-store.d.ts.map +1 -1
  102. package/dist/models-store.js.map +1 -1
  103. package/dist/models.d.ts +95 -28
  104. package/dist/models.d.ts.map +1 -1
  105. package/dist/models.generated.d.ts +131 -41
  106. package/dist/models.generated.d.ts.map +1 -1
  107. package/dist/models.generated.js +131 -41
  108. package/dist/models.generated.js.map +1 -1
  109. package/dist/models.js +155 -28
  110. package/dist/models.js.map +1 -1
  111. package/dist/providers/all.d.ts +19 -13
  112. package/dist/providers/all.d.ts.map +1 -1
  113. package/dist/providers/all.js +25 -21
  114. package/dist/providers/all.js.map +1 -1
  115. package/dist/providers/amazon-bedrock.models.d.ts +4 -2
  116. package/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
  117. package/dist/providers/amazon-bedrock.models.js +4 -2
  118. package/dist/providers/amazon-bedrock.models.js.map +1 -1
  119. package/dist/providers/ant-ling.models.d.ts +4 -2
  120. package/dist/providers/ant-ling.models.d.ts.map +1 -1
  121. package/dist/providers/ant-ling.models.js +4 -2
  122. package/dist/providers/ant-ling.models.js.map +1 -1
  123. package/dist/providers/anthropic.models.d.ts +4 -2
  124. package/dist/providers/anthropic.models.d.ts.map +1 -1
  125. package/dist/providers/anthropic.models.js +4 -2
  126. package/dist/providers/anthropic.models.js.map +1 -1
  127. package/dist/providers/azure-openai-responses.models.d.ts +4 -2
  128. package/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
  129. package/dist/providers/azure-openai-responses.models.js +4 -2
  130. package/dist/providers/azure-openai-responses.models.js.map +1 -1
  131. package/dist/providers/baseten.models.d.ts +4 -2
  132. package/dist/providers/baseten.models.d.ts.map +1 -1
  133. package/dist/providers/baseten.models.js +4 -2
  134. package/dist/providers/baseten.models.js.map +1 -1
  135. package/dist/providers/cerebras.models.d.ts +4 -2
  136. package/dist/providers/cerebras.models.d.ts.map +1 -1
  137. package/dist/providers/cerebras.models.js +4 -2
  138. package/dist/providers/cerebras.models.js.map +1 -1
  139. package/dist/providers/cloudflare-ai-gateway.models.d.ts +4 -2
  140. package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
  141. package/dist/providers/cloudflare-ai-gateway.models.js +4 -2
  142. package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
  143. package/dist/providers/cloudflare-stream.d.ts +6 -2
  144. package/dist/providers/cloudflare-stream.d.ts.map +1 -1
  145. package/dist/providers/cloudflare-stream.js +6 -0
  146. package/dist/providers/cloudflare-stream.js.map +1 -1
  147. package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -1
  148. package/dist/providers/cloudflare-workers-ai.js +10 -3
  149. package/dist/providers/cloudflare-workers-ai.js.map +1 -1
  150. package/dist/providers/cloudflare-workers-ai.models.d.ts +4 -2
  151. package/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -1
  152. package/dist/providers/cloudflare-workers-ai.models.js +4 -2
  153. package/dist/providers/cloudflare-workers-ai.models.js.map +1 -1
  154. package/dist/providers/data/.manifest.json +1 -1
  155. package/dist/providers/data/amazon-bedrock.json +1 -1
  156. package/dist/providers/data/ant-ling.json +1 -1
  157. package/dist/providers/data/anthropic.json +1 -1
  158. package/dist/providers/data/azure-openai-responses.json +1 -1
  159. package/dist/providers/data/baseten.json +1 -1
  160. package/dist/providers/data/cerebras.json +1 -1
  161. package/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  162. package/dist/providers/data/cloudflare-workers-ai.json +1 -1
  163. package/dist/providers/data/deepseek.json +1 -1
  164. package/dist/providers/data/fireworks.json +1 -1
  165. package/dist/providers/data/github-copilot.json +1 -1
  166. package/dist/providers/data/google-vertex.json +1 -1
  167. package/dist/providers/data/google.json +1 -1
  168. package/dist/providers/data/groq.json +1 -1
  169. package/dist/providers/data/huggingface.json +1 -1
  170. package/dist/providers/data/kimi-coding.json +1 -1
  171. package/dist/providers/data/meta.json +1 -1
  172. package/dist/providers/data/minimax-cn.json +1 -1
  173. package/dist/providers/data/minimax.json +1 -1
  174. package/dist/providers/data/mistral.json +1 -1
  175. package/dist/providers/data/moonshotai-cn.json +1 -1
  176. package/dist/providers/data/moonshotai.json +1 -1
  177. package/dist/providers/data/nvidia.json +1 -1
  178. package/dist/providers/data/openai-codex.json +1 -1
  179. package/dist/providers/data/openai.json +1 -1
  180. package/dist/providers/data/opencode-go.json +1 -1
  181. package/dist/providers/data/opencode.json +1 -1
  182. package/dist/providers/data/openrouter.json +1 -1
  183. package/dist/providers/data/qwen-token-plan-cn.json +1 -1
  184. package/dist/providers/data/qwen-token-plan-individual.json +1 -1
  185. package/dist/providers/data/qwen-token-plan.json +1 -1
  186. package/dist/providers/data/radius.json +1 -1
  187. package/dist/providers/data/together.json +1 -1
  188. package/dist/providers/data/typesafe.json +1 -0
  189. package/dist/providers/data/vercel-ai-gateway.json +1 -1
  190. package/dist/providers/data/xai.json +1 -1
  191. package/dist/providers/data/xiaomi-token-plan-ams.json +1 -1
  192. package/dist/providers/data/xiaomi-token-plan-cn.json +1 -1
  193. package/dist/providers/data/xiaomi-token-plan-sgp.json +1 -1
  194. package/dist/providers/data/xiaomi.json +1 -1
  195. package/dist/providers/data/zai-coding-cn.json +1 -1
  196. package/dist/providers/data/zai.json +1 -1
  197. package/dist/providers/deepseek.models.d.ts +4 -2
  198. package/dist/providers/deepseek.models.d.ts.map +1 -1
  199. package/dist/providers/deepseek.models.js +4 -2
  200. package/dist/providers/deepseek.models.js.map +1 -1
  201. package/dist/providers/fireworks.models.d.ts +4 -2
  202. package/dist/providers/fireworks.models.d.ts.map +1 -1
  203. package/dist/providers/fireworks.models.js +4 -2
  204. package/dist/providers/fireworks.models.js.map +1 -1
  205. package/dist/providers/github-copilot.models.d.ts +4 -2
  206. package/dist/providers/github-copilot.models.d.ts.map +1 -1
  207. package/dist/providers/github-copilot.models.js +4 -2
  208. package/dist/providers/github-copilot.models.js.map +1 -1
  209. package/dist/providers/google-vertex.models.d.ts +4 -2
  210. package/dist/providers/google-vertex.models.d.ts.map +1 -1
  211. package/dist/providers/google-vertex.models.js +4 -2
  212. package/dist/providers/google-vertex.models.js.map +1 -1
  213. package/dist/providers/google.models.d.ts +4 -2
  214. package/dist/providers/google.models.d.ts.map +1 -1
  215. package/dist/providers/google.models.js +4 -2
  216. package/dist/providers/google.models.js.map +1 -1
  217. package/dist/providers/groq.models.d.ts +4 -2
  218. package/dist/providers/groq.models.d.ts.map +1 -1
  219. package/dist/providers/groq.models.js +4 -2
  220. package/dist/providers/groq.models.js.map +1 -1
  221. package/dist/providers/huggingface.models.d.ts +4 -2
  222. package/dist/providers/huggingface.models.d.ts.map +1 -1
  223. package/dist/providers/huggingface.models.js +4 -2
  224. package/dist/providers/huggingface.models.js.map +1 -1
  225. package/dist/providers/images/register-builtins.d.ts +1 -1
  226. package/dist/providers/images/register-builtins.d.ts.map +1 -1
  227. package/dist/providers/images/register-builtins.js.map +1 -1
  228. package/dist/providers/kimi-coding.models.d.ts +4 -2
  229. package/dist/providers/kimi-coding.models.d.ts.map +1 -1
  230. package/dist/providers/kimi-coding.models.js +4 -2
  231. package/dist/providers/kimi-coding.models.js.map +1 -1
  232. package/dist/providers/meta.models.d.ts +4 -2
  233. package/dist/providers/meta.models.d.ts.map +1 -1
  234. package/dist/providers/meta.models.js +4 -2
  235. package/dist/providers/meta.models.js.map +1 -1
  236. package/dist/providers/minimax-cn.models.d.ts +4 -2
  237. package/dist/providers/minimax-cn.models.d.ts.map +1 -1
  238. package/dist/providers/minimax-cn.models.js +4 -2
  239. package/dist/providers/minimax-cn.models.js.map +1 -1
  240. package/dist/providers/minimax.models.d.ts +4 -2
  241. package/dist/providers/minimax.models.d.ts.map +1 -1
  242. package/dist/providers/minimax.models.js +4 -2
  243. package/dist/providers/minimax.models.js.map +1 -1
  244. package/dist/providers/mistral.models.d.ts +4 -2
  245. package/dist/providers/mistral.models.d.ts.map +1 -1
  246. package/dist/providers/mistral.models.js +4 -2
  247. package/dist/providers/mistral.models.js.map +1 -1
  248. package/dist/providers/moonshotai-cn.models.d.ts +4 -2
  249. package/dist/providers/moonshotai-cn.models.d.ts.map +1 -1
  250. package/dist/providers/moonshotai-cn.models.js +4 -2
  251. package/dist/providers/moonshotai-cn.models.js.map +1 -1
  252. package/dist/providers/moonshotai.models.d.ts +4 -2
  253. package/dist/providers/moonshotai.models.d.ts.map +1 -1
  254. package/dist/providers/moonshotai.models.js +4 -2
  255. package/dist/providers/moonshotai.models.js.map +1 -1
  256. package/dist/providers/nvidia.models.d.ts +4 -2
  257. package/dist/providers/nvidia.models.d.ts.map +1 -1
  258. package/dist/providers/nvidia.models.js +4 -2
  259. package/dist/providers/nvidia.models.js.map +1 -1
  260. package/dist/providers/openai-codex.models.d.ts +4 -2
  261. package/dist/providers/openai-codex.models.d.ts.map +1 -1
  262. package/dist/providers/openai-codex.models.js +4 -2
  263. package/dist/providers/openai-codex.models.js.map +1 -1
  264. package/dist/providers/openai.models.d.ts +4 -2
  265. package/dist/providers/openai.models.d.ts.map +1 -1
  266. package/dist/providers/openai.models.js +4 -2
  267. package/dist/providers/openai.models.js.map +1 -1
  268. package/dist/providers/opencode-go.models.d.ts +4 -2
  269. package/dist/providers/opencode-go.models.d.ts.map +1 -1
  270. package/dist/providers/opencode-go.models.js +4 -2
  271. package/dist/providers/opencode-go.models.js.map +1 -1
  272. package/dist/providers/opencode.models.d.ts +4 -2
  273. package/dist/providers/opencode.models.d.ts.map +1 -1
  274. package/dist/providers/opencode.models.js +4 -2
  275. package/dist/providers/opencode.models.js.map +1 -1
  276. package/dist/providers/openrouter.d.ts.map +1 -1
  277. package/dist/providers/openrouter.js +11 -2
  278. package/dist/providers/openrouter.js.map +1 -1
  279. package/dist/providers/openrouter.models.d.ts +4 -2
  280. package/dist/providers/openrouter.models.d.ts.map +1 -1
  281. package/dist/providers/openrouter.models.js +4 -2
  282. package/dist/providers/openrouter.models.js.map +1 -1
  283. package/dist/providers/qwen-token-plan-cn.models.d.ts +4 -2
  284. package/dist/providers/qwen-token-plan-cn.models.d.ts.map +1 -1
  285. package/dist/providers/qwen-token-plan-cn.models.js +4 -2
  286. package/dist/providers/qwen-token-plan-cn.models.js.map +1 -1
  287. package/dist/providers/qwen-token-plan-individual.models.d.ts +4 -2
  288. package/dist/providers/qwen-token-plan-individual.models.d.ts.map +1 -1
  289. package/dist/providers/qwen-token-plan-individual.models.js +4 -2
  290. package/dist/providers/qwen-token-plan-individual.models.js.map +1 -1
  291. package/dist/providers/qwen-token-plan.models.d.ts +4 -2
  292. package/dist/providers/qwen-token-plan.models.d.ts.map +1 -1
  293. package/dist/providers/qwen-token-plan.models.js +4 -2
  294. package/dist/providers/qwen-token-plan.models.js.map +1 -1
  295. package/dist/providers/radius.models.d.ts +4 -2
  296. package/dist/providers/radius.models.d.ts.map +1 -1
  297. package/dist/providers/radius.models.js +4 -2
  298. package/dist/providers/radius.models.js.map +1 -1
  299. package/dist/providers/together.models.d.ts +4 -2
  300. package/dist/providers/together.models.d.ts.map +1 -1
  301. package/dist/providers/together.models.js +4 -2
  302. package/dist/providers/together.models.js.map +1 -1
  303. package/dist/providers/typesafe.d.ts +3 -0
  304. package/dist/providers/typesafe.d.ts.map +1 -0
  305. package/dist/providers/typesafe.js +18 -0
  306. package/dist/providers/typesafe.js.map +1 -0
  307. package/dist/providers/typesafe.models.d.ts +5 -0
  308. package/dist/providers/typesafe.models.d.ts.map +1 -0
  309. package/dist/providers/typesafe.models.js +8 -0
  310. package/dist/providers/typesafe.models.js.map +1 -0
  311. package/dist/providers/vercel-ai-gateway.models.d.ts +4 -2
  312. package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  313. package/dist/providers/vercel-ai-gateway.models.js +4 -2
  314. package/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  315. package/dist/providers/xai.models.d.ts +4 -2
  316. package/dist/providers/xai.models.d.ts.map +1 -1
  317. package/dist/providers/xai.models.js +4 -2
  318. package/dist/providers/xai.models.js.map +1 -1
  319. package/dist/providers/xiaomi-token-plan-ams.models.d.ts +4 -2
  320. package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -1
  321. package/dist/providers/xiaomi-token-plan-ams.models.js +4 -2
  322. package/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -1
  323. package/dist/providers/xiaomi-token-plan-cn.models.d.ts +4 -2
  324. package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -1
  325. package/dist/providers/xiaomi-token-plan-cn.models.js +4 -2
  326. package/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -1
  327. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts +4 -2
  328. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -1
  329. package/dist/providers/xiaomi-token-plan-sgp.models.js +4 -2
  330. package/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -1
  331. package/dist/providers/xiaomi.models.d.ts +4 -2
  332. package/dist/providers/xiaomi.models.d.ts.map +1 -1
  333. package/dist/providers/xiaomi.models.js +4 -2
  334. package/dist/providers/xiaomi.models.js.map +1 -1
  335. package/dist/providers/zai-coding-cn.models.d.ts +4 -2
  336. package/dist/providers/zai-coding-cn.models.d.ts.map +1 -1
  337. package/dist/providers/zai-coding-cn.models.js +4 -2
  338. package/dist/providers/zai-coding-cn.models.js.map +1 -1
  339. package/dist/providers/zai.models.d.ts +4 -2
  340. package/dist/providers/zai.models.d.ts.map +1 -1
  341. package/dist/providers/zai.models.js +4 -2
  342. package/dist/providers/zai.models.js.map +1 -1
  343. package/dist/types.d.ts +109 -26
  344. package/dist/types.d.ts.map +1 -1
  345. package/dist/types.js.map +1 -1
  346. package/dist/utils/headers.d.ts +1 -1
  347. package/dist/utils/headers.d.ts.map +1 -1
  348. package/dist/utils/headers.js +10 -8
  349. package/dist/utils/headers.js.map +1 -1
  350. package/dist/utils/model-operations.d.ts +11 -0
  351. package/dist/utils/model-operations.d.ts.map +1 -0
  352. package/dist/utils/model-operations.js +47 -0
  353. package/dist/utils/model-operations.js.map +1 -0
  354. package/dist/utils/models-error.d.ts +8 -0
  355. package/dist/utils/models-error.d.ts.map +1 -0
  356. package/dist/utils/models-error.js +19 -0
  357. package/dist/utils/models-error.js.map +1 -0
  358. package/package.json +1 -2
  359. package/dist/image-models.generated.d.ts +0 -830
  360. package/dist/image-models.generated.d.ts.map +0 -1
  361. package/dist/image-models.generated.js +0 -832
  362. package/dist/image-models.generated.js.map +0 -1
  363. package/dist/images-models.d.ts +0 -95
  364. package/dist/images-models.d.ts.map +0 -1
  365. package/dist/images-models.js +0 -143
  366. package/dist/images-models.js.map +0 -1
  367. package/dist/providers/openrouter-images.d.ts +0 -3
  368. package/dist/providers/openrouter-images.d.ts.map +0 -1
  369. package/dist/providers/openrouter-images.js +0 -22
  370. package/dist/providers/openrouter-images.js.map +0 -1
@@ -1,6 +1,8 @@
1
1
  // This file is auto-generated by scripts/generate-models.ts
2
2
  // Do not edit manually - run 'npm run generate-models' to update
3
3
  import values from "./data/xiaomi.json" with { type: "json" };
4
- import { flattenModelCatalog } from "../model-catalog.js";
5
- export const XIAOMI_MODELS = flattenModelCatalog("xiaomi", values);
4
+ import { flattenChatModelCatalog, flattenImageModelCatalog, flattenClassifierModelCatalog } from "../model-catalog.js";
5
+ export const XIAOMI_MODELS = flattenChatModelCatalog("xiaomi", values);
6
+ export const XIAOMI_IMAGE_MODELS = flattenImageModelCatalog("xiaomi", values);
7
+ export const XIAOMI_CLASSIFIER_MODELS = flattenClassifierModelCatalog("xiaomi", values);
6
8
  //# sourceMappingURL=xiaomi.models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xiaomi.models.js","sourceRoot":"","sources":["../../src/providers/xiaomi.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,qBAAqB,CAAC;AAE7E,MAAM,CAAC,MAAM,aAAa,GACzB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,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 values from \"./data/xiaomi.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const XIAOMI_MODELS: ModelCatalog<typeof import(\"./data/xiaomi.json\", { with: { type: \"json\" } }), \"xiaomi\"> =\n\tflattenModelCatalog(\"xiaomi\", values);\n"]}
1
+ {"version":3,"file":"xiaomi.models.js","sourceRoot":"","sources":["../../src/providers/xiaomi.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,6BAA6B,EAA8E,MAAM,qBAAqB,CAAC;AAEnM,MAAM,CAAC,MAAM,aAAa,GACzB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAC/B,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,wBAAwB,GACpC,6BAA6B,CAAC,QAAQ,EAAE,MAAM,CAAC,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 values from \"./data/xiaomi.json\" with { type: \"json\" };\nimport { flattenChatModelCatalog, flattenImageModelCatalog, flattenClassifierModelCatalog, type ChatModelCatalog, type ImageModelCatalog, type ClassifierModelCatalog } from \"../model-catalog.ts\";\n\nexport const XIAOMI_MODELS: ChatModelCatalog<typeof import(\"./data/xiaomi.json\", { with: { type: \"json\" } }), \"xiaomi\"> =\n\tflattenChatModelCatalog(\"xiaomi\", values);\n\nexport const XIAOMI_IMAGE_MODELS: ImageModelCatalog<typeof import(\"./data/xiaomi.json\", { with: { type: \"json\" } }), \"xiaomi\"> =\n\tflattenImageModelCatalog(\"xiaomi\", values);\n\nexport const XIAOMI_CLASSIFIER_MODELS: ClassifierModelCatalog<typeof import(\"./data/xiaomi.json\", { with: { type: \"json\" } }), \"xiaomi\"> =\n\tflattenClassifierModelCatalog(\"xiaomi\", values);\n"]}
@@ -1,3 +1,5 @@
1
- import { type ModelCatalog } from "../model-catalog.ts";
2
- export declare const ZAI_CODING_CN_MODELS: ModelCatalog<typeof import("./data/zai-coding-cn.json", { with: { type: "json" } }), "zai-coding-cn">;
1
+ import { type ChatModelCatalog, type ImageModelCatalog, type ClassifierModelCatalog } from "../model-catalog.ts";
2
+ export declare const ZAI_CODING_CN_MODELS: ChatModelCatalog<typeof import("./data/zai-coding-cn.json", { with: { type: "json" } }), "zai-coding-cn">;
3
+ export declare const ZAI_CODING_CN_IMAGE_MODELS: ImageModelCatalog<typeof import("./data/zai-coding-cn.json", { with: { type: "json" } }), "zai-coding-cn">;
4
+ export declare const ZAI_CODING_CN_CLASSIFIER_MODELS: ClassifierModelCatalog<typeof import("./data/zai-coding-cn.json", { with: { type: "json" } }), "zai-coding-cn">;
3
5
  //# sourceMappingURL=zai-coding-cn.models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zai-coding-cn.models.d.ts","sourceRoot":"","sources":["../../src/providers/zai-coding-cn.models.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,oBAAoB,EAAE,YAAY,CAAC,cAAc,2BAA2B,EAAU,UAAE,IAAI,EAAE,MAAM,IAAE,CAAG,EAAE,eAAe,CAC1F,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 values from \"./data/zai-coding-cn.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const ZAI_CODING_CN_MODELS: ModelCatalog<typeof import(\"./data/zai-coding-cn.json\", { with: { type: \"json\" } }), \"zai-coding-cn\"> =\n\tflattenModelCatalog(\"zai-coding-cn\", values);\n"]}
1
+ {"version":3,"file":"zai-coding-cn.models.d.ts","sourceRoot":"","sources":["../../src/providers/zai-coding-cn.models.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoF,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEnM,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,CAAC,cAAc,2BAA2B,EAAU,UAAE,IAAI,EAAE,MAAM,IAAE,CAAG,EAAE,eAAe,CAC1F,CAAC;AAElD,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,CAAC,cAAc,2BAA2B,EAAU,UAAE,IAAI,EAAE,MAAM,IAAE,CAAG,EAAE,eAAe,CAChG,CAAC;AAEnD,eAAO,MAAM,+BAA+B,EAAE,sBAAsB,CAAC,cAAc,2BAA2B,EAAU,UAAE,IAAI,EAAE,MAAM,IAAE,CAAG,EAAE,eAAe,CACrG,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 values from \"./data/zai-coding-cn.json\" with { type: \"json\" };\nimport { flattenChatModelCatalog, flattenImageModelCatalog, flattenClassifierModelCatalog, type ChatModelCatalog, type ImageModelCatalog, type ClassifierModelCatalog } from \"../model-catalog.ts\";\n\nexport const ZAI_CODING_CN_MODELS: ChatModelCatalog<typeof import(\"./data/zai-coding-cn.json\", { with: { type: \"json\" } }), \"zai-coding-cn\"> =\n\tflattenChatModelCatalog(\"zai-coding-cn\", values);\n\nexport const ZAI_CODING_CN_IMAGE_MODELS: ImageModelCatalog<typeof import(\"./data/zai-coding-cn.json\", { with: { type: \"json\" } }), \"zai-coding-cn\"> =\n\tflattenImageModelCatalog(\"zai-coding-cn\", values);\n\nexport const ZAI_CODING_CN_CLASSIFIER_MODELS: ClassifierModelCatalog<typeof import(\"./data/zai-coding-cn.json\", { with: { type: \"json\" } }), \"zai-coding-cn\"> =\n\tflattenClassifierModelCatalog(\"zai-coding-cn\", values);\n"]}
@@ -1,6 +1,8 @@
1
1
  // This file is auto-generated by scripts/generate-models.ts
2
2
  // Do not edit manually - run 'npm run generate-models' to update
3
3
  import values from "./data/zai-coding-cn.json" with { type: "json" };
4
- import { flattenModelCatalog } from "../model-catalog.js";
5
- export const ZAI_CODING_CN_MODELS = flattenModelCatalog("zai-coding-cn", values);
4
+ import { flattenChatModelCatalog, flattenImageModelCatalog, flattenClassifierModelCatalog } from "../model-catalog.js";
5
+ export const ZAI_CODING_CN_MODELS = flattenChatModelCatalog("zai-coding-cn", values);
6
+ export const ZAI_CODING_CN_IMAGE_MODELS = flattenImageModelCatalog("zai-coding-cn", values);
7
+ export const ZAI_CODING_CN_CLASSIFIER_MODELS = flattenClassifierModelCatalog("zai-coding-cn", values);
6
8
  //# sourceMappingURL=zai-coding-cn.models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zai-coding-cn.models.js","sourceRoot":"","sources":["../../src/providers/zai-coding-cn.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAqB,MAAM,qBAAqB,CAAC;AAE7E,MAAM,CAAC,MAAM,oBAAoB,GAChC,mBAAmB,CAAC,eAAe,EAAE,MAAM,CAAC,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 values from \"./data/zai-coding-cn.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const ZAI_CODING_CN_MODELS: ModelCatalog<typeof import(\"./data/zai-coding-cn.json\", { with: { type: \"json\" } }), \"zai-coding-cn\"> =\n\tflattenModelCatalog(\"zai-coding-cn\", values);\n"]}
1
+ {"version":3,"file":"zai-coding-cn.models.js","sourceRoot":"","sources":["../../src/providers/zai-coding-cn.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,6BAA6B,EAA8E,MAAM,qBAAqB,CAAC;AAEnM,MAAM,CAAC,MAAM,oBAAoB,GAChC,uBAAuB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,0BAA0B,GACtC,wBAAwB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,+BAA+B,GAC3C,6BAA6B,CAAC,eAAe,EAAE,MAAM,CAAC,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 values from \"./data/zai-coding-cn.json\" with { type: \"json\" };\nimport { flattenChatModelCatalog, flattenImageModelCatalog, flattenClassifierModelCatalog, type ChatModelCatalog, type ImageModelCatalog, type ClassifierModelCatalog } from \"../model-catalog.ts\";\n\nexport const ZAI_CODING_CN_MODELS: ChatModelCatalog<typeof import(\"./data/zai-coding-cn.json\", { with: { type: \"json\" } }), \"zai-coding-cn\"> =\n\tflattenChatModelCatalog(\"zai-coding-cn\", values);\n\nexport const ZAI_CODING_CN_IMAGE_MODELS: ImageModelCatalog<typeof import(\"./data/zai-coding-cn.json\", { with: { type: \"json\" } }), \"zai-coding-cn\"> =\n\tflattenImageModelCatalog(\"zai-coding-cn\", values);\n\nexport const ZAI_CODING_CN_CLASSIFIER_MODELS: ClassifierModelCatalog<typeof import(\"./data/zai-coding-cn.json\", { with: { type: \"json\" } }), \"zai-coding-cn\"> =\n\tflattenClassifierModelCatalog(\"zai-coding-cn\", values);\n"]}
@@ -1,3 +1,5 @@
1
- import { type ModelCatalog } from "../model-catalog.ts";
2
- export declare const ZAI_MODELS: ModelCatalog<typeof import("./data/zai.json", { with: { type: "json" } }), "zai">;
1
+ import { type ChatModelCatalog, type ImageModelCatalog, type ClassifierModelCatalog } from "../model-catalog.ts";
2
+ export declare const ZAI_MODELS: ChatModelCatalog<typeof import("./data/zai.json", { with: { type: "json" } }), "zai">;
3
+ export declare const ZAI_IMAGE_MODELS: ImageModelCatalog<typeof import("./data/zai.json", { with: { type: "json" } }), "zai">;
4
+ export declare const ZAI_CLASSIFIER_MODELS: ClassifierModelCatalog<typeof import("./data/zai.json", { with: { type: "json" } }), "zai">;
3
5
  //# sourceMappingURL=zai.models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zai.models.d.ts","sourceRoot":"","sources":["../../src/providers/zai.models.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE7E,eAAO,MAAM,UAAU,EAAE,YAAY,CAAC,cAAc,iBAAiB,EAAU,UAAE,IAAI,EAAE,MAAM,IAAE,CAAG,EAAE,KAAK,CACtE,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 values from \"./data/zai.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const ZAI_MODELS: ModelCatalog<typeof import(\"./data/zai.json\", { with: { type: \"json\" } }), \"zai\"> =\n\tflattenModelCatalog(\"zai\", values);\n"]}
1
+ {"version":3,"file":"zai.models.d.ts","sourceRoot":"","sources":["../../src/providers/zai.models.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoF,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAEnM,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,cAAc,iBAAiB,EAAU,UAAE,IAAI,EAAE,MAAM,IAAE,CAAG,EAAE,KAAK,CACtE,CAAC;AAExC,eAAO,MAAM,gBAAgB,EAAE,iBAAiB,CAAC,cAAc,iBAAiB,EAAU,UAAE,IAAI,EAAE,MAAM,IAAE,CAAG,EAAE,KAAK,CAC5E,CAAC;AAEzC,eAAO,MAAM,qBAAqB,EAAE,sBAAsB,CAAC,cAAc,iBAAiB,EAAU,UAAE,IAAI,EAAE,MAAM,IAAE,CAAG,EAAE,KAAK,CACjF,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 values from \"./data/zai.json\" with { type: \"json\" };\nimport { flattenChatModelCatalog, flattenImageModelCatalog, flattenClassifierModelCatalog, type ChatModelCatalog, type ImageModelCatalog, type ClassifierModelCatalog } from \"../model-catalog.ts\";\n\nexport const ZAI_MODELS: ChatModelCatalog<typeof import(\"./data/zai.json\", { with: { type: \"json\" } }), \"zai\"> =\n\tflattenChatModelCatalog(\"zai\", values);\n\nexport const ZAI_IMAGE_MODELS: ImageModelCatalog<typeof import(\"./data/zai.json\", { with: { type: \"json\" } }), \"zai\"> =\n\tflattenImageModelCatalog(\"zai\", values);\n\nexport const ZAI_CLASSIFIER_MODELS: ClassifierModelCatalog<typeof import(\"./data/zai.json\", { with: { type: \"json\" } }), \"zai\"> =\n\tflattenClassifierModelCatalog(\"zai\", values);\n"]}
@@ -1,6 +1,8 @@
1
1
  // This file is auto-generated by scripts/generate-models.ts
2
2
  // Do not edit manually - run 'npm run generate-models' to update
3
3
  import values from "./data/zai.json" with { type: "json" };
4
- import { flattenModelCatalog } from "../model-catalog.js";
5
- export const ZAI_MODELS = flattenModelCatalog("zai", values);
4
+ import { flattenChatModelCatalog, flattenImageModelCatalog, flattenClassifierModelCatalog } from "../model-catalog.js";
5
+ export const ZAI_MODELS = flattenChatModelCatalog("zai", values);
6
+ export const ZAI_IMAGE_MODELS = flattenImageModelCatalog("zai", values);
7
+ export const ZAI_CLASSIFIER_MODELS = flattenClassifierModelCatalog("zai", values);
6
8
  //# sourceMappingURL=zai.models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zai.models.js","sourceRoot":"","sources":["../../src/providers/zai.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,qBAAqB,CAAC;AAE7E,MAAM,CAAC,MAAM,UAAU,GACtB,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,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 values from \"./data/zai.json\" with { type: \"json\" };\nimport { flattenModelCatalog, type ModelCatalog } from \"../model-catalog.ts\";\n\nexport const ZAI_MODELS: ModelCatalog<typeof import(\"./data/zai.json\", { with: { type: \"json\" } }), \"zai\"> =\n\tflattenModelCatalog(\"zai\", values);\n"]}
1
+ {"version":3,"file":"zai.models.js","sourceRoot":"","sources":["../../src/providers/zai.models.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,iEAAiE;AAEjE,OAAO,MAAM,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,6BAA6B,EAA8E,MAAM,qBAAqB,CAAC;AAEnM,MAAM,CAAC,MAAM,UAAU,GACtB,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,gBAAgB,GAC5B,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,qBAAqB,GACjC,6BAA6B,CAAC,KAAK,EAAE,MAAM,CAAC,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 values from \"./data/zai.json\" with { type: \"json\" };\nimport { flattenChatModelCatalog, flattenImageModelCatalog, flattenClassifierModelCatalog, type ChatModelCatalog, type ImageModelCatalog, type ClassifierModelCatalog } from \"../model-catalog.ts\";\n\nexport const ZAI_MODELS: ChatModelCatalog<typeof import(\"./data/zai.json\", { with: { type: \"json\" } }), \"zai\"> =\n\tflattenChatModelCatalog(\"zai\", values);\n\nexport const ZAI_IMAGE_MODELS: ImageModelCatalog<typeof import(\"./data/zai.json\", { with: { type: \"json\" } }), \"zai\"> =\n\tflattenImageModelCatalog(\"zai\", values);\n\nexport const ZAI_CLASSIFIER_MODELS: ClassifierModelCatalog<typeof import(\"./data/zai.json\", { with: { type: \"json\" } }), \"zai\"> =\n\tflattenClassifierModelCatalog(\"zai\", values);\n"]}
package/dist/types.d.ts CHANGED
@@ -14,12 +14,12 @@ import type { AssistantMessageEventStream } from "./utils/event-stream.ts";
14
14
  export type { AssistantMessageEventStream } from "./utils/event-stream.ts";
15
15
  export type KnownApi = "openai-completions" | "mistral-conversations" | "openai-responses" | "azure-openai-responses" | "openai-codex-responses" | "anthropic-messages" | "bedrock-converse-stream" | "google-generative-ai" | "google-vertex" | "pi-messages";
16
16
  export type Api = KnownApi | (string & {});
17
- export type KnownImagesApi = "openrouter-images";
18
- export type ImagesApi = KnownImagesApi | (string & {});
19
- export type KnownProvider = "amazon-bedrock" | "ant-ling" | "anthropic" | "google" | "google-vertex" | "openai" | "azure-openai-responses" | "openai-codex" | "radius" | "nvidia" | "deepseek" | "github-copilot" | "xai" | "groq" | "cerebras" | "openrouter" | "vercel-ai-gateway" | "zai" | "zai-coding-cn" | "mistral" | "minimax" | "minimax-cn" | "moonshotai" | "moonshotai-cn" | "huggingface" | "fireworks" | "together" | "baseten" | "opencode" | "opencode-go" | "kimi-coding" | "meta" | "cloudflare-workers-ai" | "cloudflare-ai-gateway" | "qwen-token-plan" | "qwen-token-plan-cn" | "qwen-token-plan-individual" | "xiaomi" | "xiaomi-token-plan-cn" | "xiaomi-token-plan-ams" | "xiaomi-token-plan-sgp";
17
+ export type KnownImageApi = "openrouter-images";
18
+ export type ImageApi = KnownImageApi | (string & {});
19
+ export type KnownClassifierApi = "typesafe-system-one" | "cloudflare-workers-ai-system-one";
20
+ export type ClassifierApi = KnownClassifierApi | (string & {});
21
+ export type KnownProvider = "amazon-bedrock" | "ant-ling" | "anthropic" | "google" | "google-vertex" | "openai" | "azure-openai-responses" | "openai-codex" | "radius" | "typesafe" | "nvidia" | "deepseek" | "github-copilot" | "xai" | "groq" | "cerebras" | "openrouter" | "vercel-ai-gateway" | "zai" | "zai-coding-cn" | "mistral" | "minimax" | "minimax-cn" | "moonshotai" | "moonshotai-cn" | "huggingface" | "fireworks" | "together" | "baseten" | "opencode" | "opencode-go" | "kimi-coding" | "meta" | "cloudflare-workers-ai" | "cloudflare-ai-gateway" | "qwen-token-plan" | "qwen-token-plan-cn" | "qwen-token-plan-individual" | "xiaomi" | "xiaomi-token-plan-cn" | "xiaomi-token-plan-ams" | "xiaomi-token-plan-sgp";
20
22
  export type ProviderId = KnownProvider | string;
21
- export type KnownImagesProvider = "openrouter";
22
- export type ImagesProviderId = KnownImagesProvider | string;
23
23
  export type ToolChoice = "auto" | "none";
24
24
  export type ThinkingLevel = "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
25
25
  export type ModelThinkingLevel = "off" | ThinkingLevel;
@@ -114,6 +114,12 @@ export interface StreamOptions extends ProviderRequestOptions<Model<Api>> {
114
114
  * its body stream is consumed.
115
115
  */
116
116
  onResponse?: (response: ProviderResponse, model: Model<Api>) => void | Promise<void>;
117
+ /**
118
+ * Optional observer for each parsed provider stream event before Pi normalization.
119
+ * Event data is adapter-owned and must be treated as read-only.
120
+ * Adapter support is explicit; unsupported adapters do not invoke it.
121
+ */
122
+ onProviderStreamEvent?: (data: unknown, model: Model<Api>) => void | Promise<void>;
117
123
  temperature?: number;
118
124
  /**
119
125
  * Arbitrary sampling parameters merged into the request body as-is, after the named request
@@ -215,13 +221,19 @@ export interface ProviderStreams {
215
221
  /**
216
222
  * The uniform contract of an image-generation API implementation module:
217
223
  * every image API module under `src/api/` exports exactly `generateImages`,
218
- * so the module itself satisfies this interface. Lazy wrappers and image
219
- * provider factories pass these around as values.
224
+ * so the module itself satisfies this interface. Lazy wrappers and
225
+ * `createProvider({ images })` pass these around as values.
220
226
  */
221
227
  export interface ProviderImages {
222
- generateImages(model: ImagesModel<ImagesApi>, context: ImagesContext, options?: ImagesOptions): Promise<AssistantImages>;
228
+ generateImages(model: ImageModel<ImageApi>, context: ImagesContext, options?: ImagesOptions): Promise<AssistantImages>;
229
+ }
230
+ /** The uniform contract implemented by classifier API modules. */
231
+ export interface ProviderClassifier {
232
+ classify(model: ClassifierModel<ClassifierApi>, context: ClassifierContext, options?: ClassifierOptions): Promise<ClassifierResult>;
223
233
  }
224
- export interface ImagesOptions extends ProviderRequestOptions<ImagesModel<ImagesApi>> {
234
+ export interface ClassifierOptions extends ProviderRequestOptions<ClassifierModel<ClassifierApi>> {
235
+ }
236
+ export interface ImagesOptions extends ProviderRequestOptions<ImageModel<ImageApi>> {
225
237
  /**
226
238
  * Optional metadata to include in API requests.
227
239
  * Providers extract the fields they understand and ignore the rest.
@@ -246,7 +258,8 @@ export interface SimpleStreamOptions extends StreamOptions {
246
258
  thinkingBudgets?: ThinkingBudgets;
247
259
  }
248
260
  export type StreamFunction<TApi extends Api = Api, TOptions extends StreamOptions = StreamOptions> = (model: Model<TApi>, context: TranscriptContext, options?: TOptions) => AssistantMessageEventStream;
249
- export type ImagesFunction<TApi extends ImagesApi = ImagesApi, TOptions extends ImagesOptions = ImagesOptions> = (model: ImagesModel<TApi>, context: ImagesContext, options?: TOptions) => Promise<AssistantImages>;
261
+ export type ImagesFunction<TOptions extends ImagesOptions = ImagesOptions> = (model: ImageModel<ImageApi>, context: ImagesContext, options?: TOptions) => Promise<AssistantImages>;
262
+ export type ClassifierFunction<TOptions extends ClassifierOptions = ClassifierOptions> = (model: ClassifierModel<ClassifierApi>, context: ClassifierContext, options?: TOptions) => Promise<ClassifierResult>;
250
263
  export interface TextSignatureV1 {
251
264
  v: 1;
252
265
  id: string;
@@ -454,8 +467,8 @@ export interface ImagesContext {
454
467
  }
455
468
  export type ImagesStopReason = "stop" | "error" | "aborted";
456
469
  export interface AssistantImages {
457
- api: ImagesApi;
458
- provider: ImagesProviderId;
470
+ api: ImageApi;
471
+ provider: ProviderId;
459
472
  model: string;
460
473
  output: ImagesOutputContent[];
461
474
  responseId?: string;
@@ -464,6 +477,55 @@ export interface AssistantImages {
464
477
  errorMessage?: string;
465
478
  timestamp: number;
466
479
  }
480
+ export interface ClassifierChoiceQuestion {
481
+ type: "choice";
482
+ instructions: string;
483
+ criteria: Record<string, string>;
484
+ }
485
+ export interface ClassifierScoreQuestion {
486
+ type: "score";
487
+ instructions: string;
488
+ criteria: string[];
489
+ }
490
+ export interface ClassifierBoolQuestion {
491
+ type: "bool";
492
+ instructions: string;
493
+ criteria: {
494
+ true: string;
495
+ false: string;
496
+ };
497
+ }
498
+ export type ClassifierQuestion = ClassifierChoiceQuestion | ClassifierScoreQuestion | ClassifierBoolQuestion;
499
+ export interface ClassifierContext {
500
+ state: JsonObject;
501
+ questions: Record<string, ClassifierQuestion>;
502
+ }
503
+ export interface ClassifierChoiceAnswer {
504
+ type: "choice";
505
+ choice: string;
506
+ probabilities: Record<string, number>;
507
+ confidence: number;
508
+ }
509
+ export interface ClassifierScoreAnswer {
510
+ type: "score";
511
+ score: number;
512
+ confidence: number;
513
+ }
514
+ export interface ClassifierBoolAnswer {
515
+ type: "bool";
516
+ probability: number;
517
+ }
518
+ export type ClassifierAnswer = ClassifierChoiceAnswer | ClassifierScoreAnswer | ClassifierBoolAnswer;
519
+ export type ClassifierStopReason = "stop" | "error" | "aborted";
520
+ export interface ClassifierResult {
521
+ api: ClassifierApi;
522
+ provider: ProviderId;
523
+ model: string;
524
+ answers: Record<string, ClassifierAnswer>;
525
+ stopReason: ClassifierStopReason;
526
+ errorMessage?: string;
527
+ timestamp: number;
528
+ }
467
529
  import type { TSchema } from "typebox";
468
530
  /** OpenAI grammar variants for constrained sampling. */
469
531
  export type GrammarFormat = "openai_lark" | "openai_regex";
@@ -943,34 +1005,39 @@ export interface ModelFastRoute {
943
1005
  /** Anthropic inference speed to send with the request. Set only for Claude models that support fast mode. */
944
1006
  speed?: "fast";
945
1007
  }
946
- export interface Model<TApi extends Api> {
1008
+ /** Fields shared by every catalog entry, regardless of what you can do with it. */
1009
+ export interface BaseModel<TApi extends string> {
947
1010
  id: string;
948
1011
  name: string;
949
1012
  api: TApi;
950
1013
  provider: ProviderId;
951
1014
  baseUrl: string;
1015
+ input: ("text" | "image" | "pdf")[];
1016
+ /** Provider input limits and cache-safe preprocessing metadata. */
1017
+ inputLimits?: ModelInputLimits;
1018
+ cost: ModelCost;
1019
+ headers?: Record<string, string>;
1020
+ }
1021
+ /** Chat model: usable with `stream()` and friends. */
1022
+ export interface Model<TApi extends Api> extends BaseModel<TApi> {
1023
+ /**
1024
+ * Optional: chat is the default model type, so models without `type` are chat
1025
+ * models. Narrow mixed model lists with `isModelType()` instead of comparing
1026
+ * `type` directly.
1027
+ */
1028
+ type?: "chat";
952
1029
  reasoning: boolean;
953
1030
  /**
954
1031
  * Maps pi thinking levels to provider/model-specific values.
955
1032
  * Missing keys use provider defaults. null marks a level as unsupported.
956
1033
  */
957
1034
  thinkingLevelMap?: ThinkingLevelMap;
958
- /**
959
- * Modalities Atomic can send to this model. `"pdf"` is set only where a runtime can serialize
960
- * a document block — the Anthropic Messages and Amazon Bedrock Converse paths — so a provider
961
- * that publishes PDF support but has no such path here stays at `["text", "image"]`.
962
- */
963
- input: ("text" | "image" | "pdf")[];
964
- /** Provider input limits and cache-safe preprocessing metadata. */
965
- inputLimits?: ModelInputLimits;
966
- cost: ModelCost;
967
1035
  /** Prompt cache lifetimes per retention tier. Unset when the provider's cache behavior is unknown. */
968
1036
  promptCache?: ModelPromptCache;
969
1037
  contextWindow: number;
970
1038
  maxTokens: number;
971
1039
  /** Default sampling parameters for this model. See {@link StreamOptions.samplingParams}; per-request keys override these. */
972
1040
  samplingParams?: Record<string, unknown>;
973
- headers?: Record<string, string>;
974
1041
  /**
975
1042
  * Marks this model as the fast-inference variant of {@link ModelFastRoute.baseModelId} and carries the
976
1043
  * upstream routing it needs. Absent on every normal model.
@@ -979,9 +1046,25 @@ export interface Model<TApi extends Api> {
979
1046
  /** Compatibility overrides for OpenAI-compatible APIs. If not set, auto-detected from baseUrl. */
980
1047
  compat?: TApi extends "openai-completions" ? OpenAICompletionsCompat : TApi extends "openai-responses" | "azure-openai-responses" | "openai-codex-responses" ? OpenAIResponsesCompat : TApi extends "anthropic-messages" ? AnthropicMessagesCompat : TApi extends "bedrock-converse-stream" ? BedrockCompat : TApi extends "mistral-conversations" ? MistralConversationsCompat : never;
981
1048
  }
982
- export interface ImagesModel<TApi extends ImagesApi> extends Omit<Model<Api>, "api" | "provider" | "reasoning" | "contextWindow" | "maxTokens" | "compat"> {
983
- api: TApi;
984
- provider: ImagesProviderId;
1049
+ /** Image-generation model: usable with `generateImages()` only. */
1050
+ export interface ImageModel<TApi extends ImageApi> extends BaseModel<TApi> {
1051
+ type: "image";
1052
+ /** Output modalities. Always includes `"image"`; `"text"` means the model can also return text blocks. */
985
1053
  output: ("text" | "image")[];
986
1054
  }
1055
+ /** Structured classifier model: usable with `classify()` only. */
1056
+ export interface ClassifierModel<TApi extends ClassifierApi> extends BaseModel<TApi> {
1057
+ type: "classifier";
1058
+ contextWindow: number;
1059
+ }
1060
+ /** Model shape for each model type. */
1061
+ export interface ModelTypeMap {
1062
+ chat: Model<Api>;
1063
+ image: ImageModel<ImageApi>;
1064
+ classifier: ClassifierModel<ClassifierApi>;
1065
+ }
1066
+ /** What a catalog entry is for. Decides which `Models` operation accepts it. */
1067
+ export type ModelType = keyof ModelTypeMap;
1068
+ /** Anything a provider can list. Narrow with `isModelType()`. */
1069
+ export type AnyModel = ModelTypeMap[ModelType];
987
1070
  //# sourceMappingURL=types.d.ts.map