@ny4n/ai 0.0.0-stage → 1.0.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 (821) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1940 -2
  3. package/dist/api/anthropic-messages.d.ts +71 -0
  4. package/dist/api/anthropic-messages.d.ts.map +1 -0
  5. package/dist/api/anthropic-messages.js +1310 -0
  6. package/dist/api/anthropic-messages.js.map +1 -0
  7. package/dist/api/anthropic-messages.lazy.d.ts +3 -0
  8. package/dist/api/anthropic-messages.lazy.d.ts.map +1 -0
  9. package/dist/api/anthropic-messages.lazy.js +3 -0
  10. package/dist/api/anthropic-messages.lazy.js.map +1 -0
  11. package/dist/api/azure-openai-config.d.ts +15 -0
  12. package/dist/api/azure-openai-config.d.ts.map +1 -0
  13. package/dist/api/azure-openai-config.js +76 -0
  14. package/dist/api/azure-openai-config.js.map +1 -0
  15. package/dist/api/azure-openai-responses.d.ts +14 -0
  16. package/dist/api/azure-openai-responses.d.ts.map +1 -0
  17. package/dist/api/azure-openai-responses.js +194 -0
  18. package/dist/api/azure-openai-responses.js.map +1 -0
  19. package/dist/api/azure-openai-responses.lazy.d.ts +3 -0
  20. package/dist/api/azure-openai-responses.lazy.d.ts.map +1 -0
  21. package/dist/api/azure-openai-responses.lazy.js +3 -0
  22. package/dist/api/azure-openai-responses.lazy.js.map +1 -0
  23. package/dist/api/bedrock-converse-stream.d.ts +38 -0
  24. package/dist/api/bedrock-converse-stream.d.ts.map +1 -0
  25. package/dist/api/bedrock-converse-stream.js +1147 -0
  26. package/dist/api/bedrock-converse-stream.js.map +1 -0
  27. package/dist/api/bedrock-converse-stream.lazy.d.ts +9 -0
  28. package/dist/api/bedrock-converse-stream.lazy.d.ts.map +1 -0
  29. package/dist/api/bedrock-converse-stream.lazy.js +30 -0
  30. package/dist/api/bedrock-converse-stream.lazy.js.map +1 -0
  31. package/dist/api/classifier-shared.d.ts +21 -0
  32. package/dist/api/classifier-shared.d.ts.map +1 -0
  33. package/dist/api/classifier-shared.js +98 -0
  34. package/dist/api/classifier-shared.js.map +1 -0
  35. package/dist/api/cloudflare-ai-binding.d.ts +77 -0
  36. package/dist/api/cloudflare-ai-binding.d.ts.map +1 -0
  37. package/dist/api/cloudflare-ai-binding.js +72 -0
  38. package/dist/api/cloudflare-ai-binding.js.map +1 -0
  39. package/dist/api/cloudflare-workers-ai-system-one.d.ts +4 -0
  40. package/dist/api/cloudflare-workers-ai-system-one.d.ts.map +1 -0
  41. package/dist/api/cloudflare-workers-ai-system-one.js +49 -0
  42. package/dist/api/cloudflare-workers-ai-system-one.js.map +1 -0
  43. package/dist/api/cloudflare-workers-ai-system-one.lazy.d.ts +3 -0
  44. package/dist/api/cloudflare-workers-ai-system-one.lazy.d.ts.map +1 -0
  45. package/dist/api/cloudflare-workers-ai-system-one.lazy.js +4 -0
  46. package/dist/api/cloudflare-workers-ai-system-one.lazy.js.map +1 -0
  47. package/dist/api/cloudflare.d.ts +11 -0
  48. package/dist/api/cloudflare.d.ts.map +1 -0
  49. package/dist/api/cloudflare.js +11 -0
  50. package/dist/api/cloudflare.js.map +1 -0
  51. package/dist/api/constrained-sampling.d.ts +26 -0
  52. package/dist/api/constrained-sampling.d.ts.map +1 -0
  53. package/dist/api/constrained-sampling.js +233 -0
  54. package/dist/api/constrained-sampling.js.map +1 -0
  55. package/dist/api/github-copilot-headers.d.ts +8 -0
  56. package/dist/api/github-copilot-headers.d.ts.map +1 -0
  57. package/dist/api/github-copilot-headers.js +29 -0
  58. package/dist/api/github-copilot-headers.js.map +1 -0
  59. package/dist/api/google-generative-ai.d.ts +13 -0
  60. package/dist/api/google-generative-ai.d.ts.map +1 -0
  61. package/dist/api/google-generative-ai.js +370 -0
  62. package/dist/api/google-generative-ai.js.map +1 -0
  63. package/dist/api/google-generative-ai.lazy.d.ts +3 -0
  64. package/dist/api/google-generative-ai.lazy.d.ts.map +1 -0
  65. package/dist/api/google-generative-ai.lazy.js +3 -0
  66. package/dist/api/google-generative-ai.lazy.js.map +1 -0
  67. package/dist/api/google-shared.d.ts +93 -0
  68. package/dist/api/google-shared.d.ts.map +1 -0
  69. package/dist/api/google-shared.js +451 -0
  70. package/dist/api/google-shared.js.map +1 -0
  71. package/dist/api/google-vertex.d.ts +15 -0
  72. package/dist/api/google-vertex.d.ts.map +1 -0
  73. package/dist/api/google-vertex.js +431 -0
  74. package/dist/api/google-vertex.js.map +1 -0
  75. package/dist/api/google-vertex.lazy.d.ts +3 -0
  76. package/dist/api/google-vertex.lazy.d.ts.map +1 -0
  77. package/dist/api/google-vertex.lazy.js +3 -0
  78. package/dist/api/google-vertex.lazy.js.map +1 -0
  79. package/dist/api/lazy.d.ts +19 -0
  80. package/dist/api/lazy.d.ts.map +1 -0
  81. package/dist/api/lazy.js +71 -0
  82. package/dist/api/lazy.js.map +1 -0
  83. package/dist/api/llama-cpp-classify.d.ts +33 -0
  84. package/dist/api/llama-cpp-classify.d.ts.map +1 -0
  85. package/dist/api/llama-cpp-classify.js +367 -0
  86. package/dist/api/llama-cpp-classify.js.map +1 -0
  87. package/dist/api/llama-cpp-classify.lazy.d.ts +3 -0
  88. package/dist/api/llama-cpp-classify.lazy.d.ts.map +1 -0
  89. package/dist/api/llama-cpp-classify.lazy.js +4 -0
  90. package/dist/api/llama-cpp-classify.lazy.js.map +1 -0
  91. package/dist/api/mistral-conversations.d.ts +25 -0
  92. package/dist/api/mistral-conversations.d.ts.map +1 -0
  93. package/dist/api/mistral-conversations.js +766 -0
  94. package/dist/api/mistral-conversations.js.map +1 -0
  95. package/dist/api/mistral-conversations.lazy.d.ts +3 -0
  96. package/dist/api/mistral-conversations.lazy.d.ts.map +1 -0
  97. package/dist/api/mistral-conversations.lazy.js +3 -0
  98. package/dist/api/mistral-conversations.lazy.js.map +1 -0
  99. package/dist/api/openai-codex-responses.d.ts +31 -0
  100. package/dist/api/openai-codex-responses.d.ts.map +1 -0
  101. package/dist/api/openai-codex-responses.js +1321 -0
  102. package/dist/api/openai-codex-responses.js.map +1 -0
  103. package/dist/api/openai-codex-responses.lazy.d.ts +3 -0
  104. package/dist/api/openai-codex-responses.lazy.d.ts.map +1 -0
  105. package/dist/api/openai-codex-responses.lazy.js +3 -0
  106. package/dist/api/openai-codex-responses.lazy.js.map +1 -0
  107. package/dist/api/openai-completions.d.ts +26 -0
  108. package/dist/api/openai-completions.d.ts.map +1 -0
  109. package/dist/api/openai-completions.js +1345 -0
  110. package/dist/api/openai-completions.js.map +1 -0
  111. package/dist/api/openai-completions.lazy.d.ts +3 -0
  112. package/dist/api/openai-completions.lazy.d.ts.map +1 -0
  113. package/dist/api/openai-completions.lazy.js +3 -0
  114. package/dist/api/openai-completions.lazy.js.map +1 -0
  115. package/dist/api/openai-decisions.d.ts +4 -0
  116. package/dist/api/openai-decisions.d.ts.map +1 -0
  117. package/dist/api/openai-decisions.js +162 -0
  118. package/dist/api/openai-decisions.js.map +1 -0
  119. package/dist/api/openai-decisions.lazy.d.ts +3 -0
  120. package/dist/api/openai-decisions.lazy.d.ts.map +1 -0
  121. package/dist/api/openai-decisions.lazy.js +4 -0
  122. package/dist/api/openai-decisions.lazy.js.map +1 -0
  123. package/dist/api/openai-prompt-cache.d.ts +3 -0
  124. package/dist/api/openai-prompt-cache.d.ts.map +1 -0
  125. package/dist/api/openai-prompt-cache.js +10 -0
  126. package/dist/api/openai-prompt-cache.js.map +1 -0
  127. package/dist/api/openai-responses-shared.d.ts +29 -0
  128. package/dist/api/openai-responses-shared.d.ts.map +1 -0
  129. package/dist/api/openai-responses-shared.js +704 -0
  130. package/dist/api/openai-responses-shared.js.map +1 -0
  131. package/dist/api/openai-responses.d.ts +14 -0
  132. package/dist/api/openai-responses.d.ts.map +1 -0
  133. package/dist/api/openai-responses.js +314 -0
  134. package/dist/api/openai-responses.js.map +1 -0
  135. package/dist/api/openai-responses.lazy.d.ts +3 -0
  136. package/dist/api/openai-responses.lazy.d.ts.map +1 -0
  137. package/dist/api/openai-responses.lazy.js +3 -0
  138. package/dist/api/openai-responses.lazy.js.map +1 -0
  139. package/dist/api/openrouter-images.d.ts +4 -0
  140. package/dist/api/openrouter-images.d.ts.map +1 -0
  141. package/dist/api/openrouter-images.js +133 -0
  142. package/dist/api/openrouter-images.js.map +1 -0
  143. package/dist/api/openrouter-images.lazy.d.ts +3 -0
  144. package/dist/api/openrouter-images.lazy.d.ts.map +1 -0
  145. package/dist/api/openrouter-images.lazy.js +4 -0
  146. package/dist/api/openrouter-images.lazy.js.map +1 -0
  147. package/dist/api/simple-options.d.ts +16 -0
  148. package/dist/api/simple-options.d.ts.map +1 -0
  149. package/dist/api/simple-options.js +73 -0
  150. package/dist/api/simple-options.js.map +1 -0
  151. package/dist/api/system-one-shared.d.ts +22 -0
  152. package/dist/api/system-one-shared.d.ts.map +1 -0
  153. package/dist/api/system-one-shared.js +99 -0
  154. package/dist/api/system-one-shared.js.map +1 -0
  155. package/dist/api/transform-messages.d.ts +8 -0
  156. package/dist/api/transform-messages.d.ts.map +1 -0
  157. package/dist/api/transform-messages.js +201 -0
  158. package/dist/api/transform-messages.js.map +1 -0
  159. package/dist/api/typesafe-system-one.d.ts +4 -0
  160. package/dist/api/typesafe-system-one.d.ts.map +1 -0
  161. package/dist/api/typesafe-system-one.js +20 -0
  162. package/dist/api/typesafe-system-one.js.map +1 -0
  163. package/dist/api/typesafe-system-one.lazy.d.ts +3 -0
  164. package/dist/api/typesafe-system-one.lazy.d.ts.map +1 -0
  165. package/dist/api/typesafe-system-one.lazy.js +4 -0
  166. package/dist/api/typesafe-system-one.lazy.js.map +1 -0
  167. package/dist/api-options.d.ts +39 -0
  168. package/dist/api-options.d.ts.map +1 -0
  169. package/dist/api-options.js +9 -0
  170. package/dist/api-options.js.map +1 -0
  171. package/dist/auth/context.d.ts +7 -0
  172. package/dist/auth/context.d.ts.map +1 -0
  173. package/dist/auth/context.js +42 -0
  174. package/dist/auth/context.js.map +1 -0
  175. package/dist/auth/credential-store.d.ts +17 -0
  176. package/dist/auth/credential-store.d.ts.map +1 -0
  177. package/dist/auth/credential-store.js +51 -0
  178. package/dist/auth/credential-store.js.map +1 -0
  179. package/dist/auth/helpers.d.ts +22 -0
  180. package/dist/auth/helpers.d.ts.map +1 -0
  181. package/dist/auth/helpers.js +53 -0
  182. package/dist/auth/helpers.js.map +1 -0
  183. package/dist/auth/oauth/anthropic.d.ts +9 -0
  184. package/dist/auth/oauth/anthropic.d.ts.map +1 -0
  185. package/dist/auth/oauth/anthropic.js +257 -0
  186. package/dist/auth/oauth/anthropic.js.map +1 -0
  187. package/dist/auth/oauth/callback-server.d.ts +55 -0
  188. package/dist/auth/oauth/callback-server.d.ts.map +1 -0
  189. package/dist/auth/oauth/callback-server.js +146 -0
  190. package/dist/auth/oauth/callback-server.js.map +1 -0
  191. package/dist/auth/oauth/device-code.d.ts +24 -0
  192. package/dist/auth/oauth/device-code.d.ts.map +1 -0
  193. package/dist/auth/oauth/device-code.js +69 -0
  194. package/dist/auth/oauth/device-code.js.map +1 -0
  195. package/dist/auth/oauth/github-copilot.d.ts +6 -0
  196. package/dist/auth/oauth/github-copilot.d.ts.map +1 -0
  197. package/dist/auth/oauth/github-copilot.js +392 -0
  198. package/dist/auth/oauth/github-copilot.js.map +1 -0
  199. package/dist/auth/oauth/kimi-coding.d.ts +10 -0
  200. package/dist/auth/oauth/kimi-coding.d.ts.map +1 -0
  201. package/dist/auth/oauth/kimi-coding.js +248 -0
  202. package/dist/auth/oauth/kimi-coding.js.map +1 -0
  203. package/dist/auth/oauth/load.d.ts +23 -0
  204. package/dist/auth/oauth/load.d.ts.map +1 -0
  205. package/dist/auth/oauth/load.js +64 -0
  206. package/dist/auth/oauth/load.js.map +1 -0
  207. package/dist/auth/oauth/meta.d.ts +17 -0
  208. package/dist/auth/oauth/meta.d.ts.map +1 -0
  209. package/dist/auth/oauth/meta.js +190 -0
  210. package/dist/auth/oauth/meta.js.map +1 -0
  211. package/dist/auth/oauth/openai-chatgpt.d.ts +9 -0
  212. package/dist/auth/oauth/openai-chatgpt.d.ts.map +1 -0
  213. package/dist/auth/oauth/openai-chatgpt.js +263 -0
  214. package/dist/auth/oauth/openai-chatgpt.js.map +1 -0
  215. package/dist/auth/oauth/openai-codex.d.ts +9 -0
  216. package/dist/auth/oauth/openai-codex.d.ts.map +1 -0
  217. package/dist/auth/oauth/openai-codex.js +346 -0
  218. package/dist/auth/oauth/openai-codex.js.map +1 -0
  219. package/dist/auth/oauth/openrouter.d.ts +15 -0
  220. package/dist/auth/oauth/openrouter.d.ts.map +1 -0
  221. package/dist/auth/oauth/openrouter.js +158 -0
  222. package/dist/auth/oauth/openrouter.js.map +1 -0
  223. package/dist/auth/oauth/pkce.d.ts +13 -0
  224. package/dist/auth/oauth/pkce.d.ts.map +1 -0
  225. package/dist/auth/oauth/pkce.js +31 -0
  226. package/dist/auth/oauth/pkce.js.map +1 -0
  227. package/dist/auth/oauth/xai.d.ts +6 -0
  228. package/dist/auth/oauth/xai.d.ts.map +1 -0
  229. package/dist/auth/oauth/xai.js +190 -0
  230. package/dist/auth/oauth/xai.js.map +1 -0
  231. package/dist/auth/resolve.d.ts +36 -0
  232. package/dist/auth/resolve.d.ts.map +1 -0
  233. package/dist/auth/resolve.js +140 -0
  234. package/dist/auth/resolve.js.map +1 -0
  235. package/dist/auth/types.d.ts +245 -0
  236. package/dist/auth/types.d.ts.map +1 -0
  237. package/dist/auth/types.js +2 -0
  238. package/dist/auth/types.js.map +1 -0
  239. package/dist/bedrock-provider.d.ts +5 -0
  240. package/dist/bedrock-provider.d.ts.map +1 -0
  241. package/dist/bedrock-provider.js +6 -0
  242. package/dist/bedrock-provider.js.map +1 -0
  243. package/dist/bun-oauth.d.ts +6 -0
  244. package/dist/bun-oauth.d.ts.map +1 -0
  245. package/dist/bun-oauth.js +26 -0
  246. package/dist/bun-oauth.js.map +1 -0
  247. package/dist/cli.d.ts +3 -0
  248. package/dist/cli.d.ts.map +1 -0
  249. package/dist/cli.js +115 -0
  250. package/dist/cli.js.map +1 -0
  251. package/dist/compat/extension-oauth-types.d.ts +39 -0
  252. package/dist/compat/extension-oauth-types.d.ts.map +1 -0
  253. package/dist/compat/extension-oauth-types.js +2 -0
  254. package/dist/compat/extension-oauth-types.js.map +1 -0
  255. package/dist/compat.d.ts +66 -0
  256. package/dist/compat.d.ts.map +1 -0
  257. package/dist/compat.js +199 -0
  258. package/dist/compat.js.map +1 -0
  259. package/dist/contracts/index.d.ts +30 -0
  260. package/dist/contracts/index.d.ts.map +1 -0
  261. package/dist/contracts/index.js +12 -0
  262. package/dist/contracts/index.js.map +1 -0
  263. package/dist/env-api-keys.d.ts +26 -0
  264. package/dist/env-api-keys.d.ts.map +1 -0
  265. package/dist/env-api-keys.js +162 -0
  266. package/dist/env-api-keys.js.map +1 -0
  267. package/dist/image-models.d.ts +21 -0
  268. package/dist/image-models.d.ts.map +1 -0
  269. package/dist/image-models.js +24 -0
  270. package/dist/image-models.js.map +1 -0
  271. package/dist/images-api-registry.d.ts +14 -0
  272. package/dist/images-api-registry.d.ts.map +1 -0
  273. package/dist/images-api-registry.js +22 -0
  274. package/dist/images-api-registry.js.map +1 -0
  275. package/dist/images.d.ts +9 -0
  276. package/dist/images.d.ts.map +1 -0
  277. package/dist/images.js +19 -0
  278. package/dist/images.js.map +1 -0
  279. package/dist/index.d.ts +36 -0
  280. package/dist/index.d.ts.map +1 -0
  281. package/dist/index.js +24 -0
  282. package/dist/index.js.map +1 -0
  283. package/dist/legacy-api-aliases.d.ts +42 -0
  284. package/dist/legacy-api-aliases.d.ts.map +1 -0
  285. package/dist/legacy-api-aliases.js +49 -0
  286. package/dist/legacy-api-aliases.js.map +1 -0
  287. package/dist/model-catalog.d.ts +33 -0
  288. package/dist/model-catalog.d.ts.map +1 -0
  289. package/dist/model-catalog.js +16 -0
  290. package/dist/model-catalog.js.map +1 -0
  291. package/dist/models-store.d.ts +30 -0
  292. package/dist/models-store.d.ts.map +1 -0
  293. package/dist/models-store.js +17 -0
  294. package/dist/models-store.js.map +1 -0
  295. package/dist/models.d.ts +250 -0
  296. package/dist/models.d.ts.map +1 -0
  297. package/dist/models.generated.d.ts +171 -0
  298. package/dist/models.generated.d.ts.map +1 -0
  299. package/dist/models.generated.js +173 -0
  300. package/dist/models.generated.js.map +1 -0
  301. package/dist/models.js +644 -0
  302. package/dist/models.js.map +1 -0
  303. package/dist/oauth.d.ts +3 -0
  304. package/dist/oauth.d.ts.map +1 -0
  305. package/dist/oauth.js +2 -0
  306. package/dist/oauth.js.map +1 -0
  307. package/dist/providers/all.d.ts +31 -0
  308. package/dist/providers/all.d.ts.map +1 -0
  309. package/dist/providers/all.js +134 -0
  310. package/dist/providers/all.js.map +1 -0
  311. package/dist/providers/amazon-bedrock.d.ts +3 -0
  312. package/dist/providers/amazon-bedrock.d.ts.map +1 -0
  313. package/dist/providers/amazon-bedrock.js +93 -0
  314. package/dist/providers/amazon-bedrock.js.map +1 -0
  315. package/dist/providers/amazon-bedrock.models.d.ts +6 -0
  316. package/dist/providers/amazon-bedrock.models.d.ts.map +1 -0
  317. package/dist/providers/amazon-bedrock.models.js +8 -0
  318. package/dist/providers/amazon-bedrock.models.js.map +1 -0
  319. package/dist/providers/ant-ling.d.ts +3 -0
  320. package/dist/providers/ant-ling.d.ts.map +1 -0
  321. package/dist/providers/ant-ling.js +15 -0
  322. package/dist/providers/ant-ling.js.map +1 -0
  323. package/dist/providers/ant-ling.models.d.ts +6 -0
  324. package/dist/providers/ant-ling.models.d.ts.map +1 -0
  325. package/dist/providers/ant-ling.models.js +8 -0
  326. package/dist/providers/ant-ling.models.js.map +1 -0
  327. package/dist/providers/anthropic.d.ts +3 -0
  328. package/dist/providers/anthropic.d.ts.map +1 -0
  329. package/dist/providers/anthropic.js +78 -0
  330. package/dist/providers/anthropic.js.map +1 -0
  331. package/dist/providers/anthropic.models.d.ts +6 -0
  332. package/dist/providers/anthropic.models.d.ts.map +1 -0
  333. package/dist/providers/anthropic.models.js +8 -0
  334. package/dist/providers/anthropic.models.js.map +1 -0
  335. package/dist/providers/azure.d.ts +3 -0
  336. package/dist/providers/azure.d.ts.map +1 -0
  337. package/dist/providers/azure.js +46 -0
  338. package/dist/providers/azure.js.map +1 -0
  339. package/dist/providers/azure.models.d.ts +6 -0
  340. package/dist/providers/azure.models.d.ts.map +1 -0
  341. package/dist/providers/azure.models.js +8 -0
  342. package/dist/providers/azure.models.js.map +1 -0
  343. package/dist/providers/baseten.d.ts +3 -0
  344. package/dist/providers/baseten.d.ts.map +1 -0
  345. package/dist/providers/baseten.js +15 -0
  346. package/dist/providers/baseten.js.map +1 -0
  347. package/dist/providers/baseten.models.d.ts +6 -0
  348. package/dist/providers/baseten.models.d.ts.map +1 -0
  349. package/dist/providers/baseten.models.js +8 -0
  350. package/dist/providers/baseten.models.js.map +1 -0
  351. package/dist/providers/cerebras.d.ts +3 -0
  352. package/dist/providers/cerebras.d.ts.map +1 -0
  353. package/dist/providers/cerebras.js +15 -0
  354. package/dist/providers/cerebras.js.map +1 -0
  355. package/dist/providers/cerebras.models.d.ts +6 -0
  356. package/dist/providers/cerebras.models.d.ts.map +1 -0
  357. package/dist/providers/cerebras.models.js +8 -0
  358. package/dist/providers/cerebras.models.js.map +1 -0
  359. package/dist/providers/cloudflare-ai-gateway.d.ts +5 -0
  360. package/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -0
  361. package/dist/providers/cloudflare-ai-gateway.js +25 -0
  362. package/dist/providers/cloudflare-ai-gateway.js.map +1 -0
  363. package/dist/providers/cloudflare-ai-gateway.models.d.ts +6 -0
  364. package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -0
  365. package/dist/providers/cloudflare-ai-gateway.models.js +8 -0
  366. package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -0
  367. package/dist/providers/cloudflare-auth.d.ts +4 -0
  368. package/dist/providers/cloudflare-auth.d.ts.map +1 -0
  369. package/dist/providers/cloudflare-auth.js +86 -0
  370. package/dist/providers/cloudflare-auth.js.map +1 -0
  371. package/dist/providers/cloudflare-stream.d.ts +12 -0
  372. package/dist/providers/cloudflare-stream.d.ts.map +1 -0
  373. package/dist/providers/cloudflare-stream.js +27 -0
  374. package/dist/providers/cloudflare-stream.js.map +1 -0
  375. package/dist/providers/cloudflare-workers-ai.d.ts +3 -0
  376. package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -0
  377. package/dist/providers/cloudflare-workers-ai.js +22 -0
  378. package/dist/providers/cloudflare-workers-ai.js.map +1 -0
  379. package/dist/providers/cloudflare-workers-ai.models.d.ts +6 -0
  380. package/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -0
  381. package/dist/providers/cloudflare-workers-ai.models.js +8 -0
  382. package/dist/providers/cloudflare-workers-ai.models.js.map +1 -0
  383. package/dist/providers/data/.manifest.json +1 -0
  384. package/dist/providers/data/amazon-bedrock.json +1 -0
  385. package/dist/providers/data/ant-ling.json +1 -0
  386. package/dist/providers/data/anthropic.json +1 -0
  387. package/dist/providers/data/azure.json +1 -0
  388. package/dist/providers/data/baseten.json +1 -0
  389. package/dist/providers/data/cerebras.json +1 -0
  390. package/dist/providers/data/cloudflare-ai-gateway.json +1 -0
  391. package/dist/providers/data/cloudflare-workers-ai.json +1 -0
  392. package/dist/providers/data/deepseek.json +1 -0
  393. package/dist/providers/data/fireworks.json +1 -0
  394. package/dist/providers/data/github-copilot.json +1 -0
  395. package/dist/providers/data/google-vertex.json +1 -0
  396. package/dist/providers/data/google.json +1 -0
  397. package/dist/providers/data/groq.json +1 -0
  398. package/dist/providers/data/huggingface.json +1 -0
  399. package/dist/providers/data/kimi-coding.json +1 -0
  400. package/dist/providers/data/meta.json +1 -0
  401. package/dist/providers/data/minimax-cn.json +1 -0
  402. package/dist/providers/data/minimax.json +1 -0
  403. package/dist/providers/data/mistral.json +1 -0
  404. package/dist/providers/data/moonshotai-cn.json +1 -0
  405. package/dist/providers/data/moonshotai.json +1 -0
  406. package/dist/providers/data/nvidia.json +1 -0
  407. package/dist/providers/data/openai-codex.json +1 -0
  408. package/dist/providers/data/openai.json +1 -0
  409. package/dist/providers/data/opencode-go.json +1 -0
  410. package/dist/providers/data/opencode.json +1 -0
  411. package/dist/providers/data/openrouter.json +1 -0
  412. package/dist/providers/data/qwen-token-plan-cn.json +1 -0
  413. package/dist/providers/data/qwen-token-plan-individual.json +1 -0
  414. package/dist/providers/data/qwen-token-plan.json +1 -0
  415. package/dist/providers/data/together.json +1 -0
  416. package/dist/providers/data/typesafe.json +1 -0
  417. package/dist/providers/data/vercel-ai-gateway.json +1 -0
  418. package/dist/providers/data/xai.json +1 -0
  419. package/dist/providers/data/xiaomi-token-plan-ams.json +1 -0
  420. package/dist/providers/data/xiaomi-token-plan-cn.json +1 -0
  421. package/dist/providers/data/xiaomi-token-plan-sgp.json +1 -0
  422. package/dist/providers/data/xiaomi.json +1 -0
  423. package/dist/providers/data/zai-coding-cn.json +1 -0
  424. package/dist/providers/data/zai.json +1 -0
  425. package/dist/providers/deepseek.d.ts +3 -0
  426. package/dist/providers/deepseek.d.ts.map +1 -0
  427. package/dist/providers/deepseek.js +15 -0
  428. package/dist/providers/deepseek.js.map +1 -0
  429. package/dist/providers/deepseek.models.d.ts +6 -0
  430. package/dist/providers/deepseek.models.d.ts.map +1 -0
  431. package/dist/providers/deepseek.models.js +8 -0
  432. package/dist/providers/deepseek.models.js.map +1 -0
  433. package/dist/providers/faux.d.ts +103 -0
  434. package/dist/providers/faux.d.ts.map +1 -0
  435. package/dist/providers/faux.js +506 -0
  436. package/dist/providers/faux.js.map +1 -0
  437. package/dist/providers/fireworks.d.ts +3 -0
  438. package/dist/providers/fireworks.d.ts.map +1 -0
  439. package/dist/providers/fireworks.js +19 -0
  440. package/dist/providers/fireworks.js.map +1 -0
  441. package/dist/providers/fireworks.models.d.ts +6 -0
  442. package/dist/providers/fireworks.models.d.ts.map +1 -0
  443. package/dist/providers/fireworks.models.js +8 -0
  444. package/dist/providers/fireworks.models.js.map +1 -0
  445. package/dist/providers/github-copilot.d.ts +3 -0
  446. package/dist/providers/github-copilot.d.ts.map +1 -0
  447. package/dist/providers/github-copilot.js +35 -0
  448. package/dist/providers/github-copilot.js.map +1 -0
  449. package/dist/providers/github-copilot.models.d.ts +6 -0
  450. package/dist/providers/github-copilot.models.d.ts.map +1 -0
  451. package/dist/providers/github-copilot.models.js +8 -0
  452. package/dist/providers/github-copilot.models.js.map +1 -0
  453. package/dist/providers/google-vertex.d.ts +3 -0
  454. package/dist/providers/google-vertex.d.ts.map +1 -0
  455. package/dist/providers/google-vertex.js +94 -0
  456. package/dist/providers/google-vertex.js.map +1 -0
  457. package/dist/providers/google-vertex.models.d.ts +6 -0
  458. package/dist/providers/google-vertex.models.d.ts.map +1 -0
  459. package/dist/providers/google-vertex.models.js +8 -0
  460. package/dist/providers/google-vertex.models.js.map +1 -0
  461. package/dist/providers/google.d.ts +3 -0
  462. package/dist/providers/google.d.ts.map +1 -0
  463. package/dist/providers/google.js +15 -0
  464. package/dist/providers/google.js.map +1 -0
  465. package/dist/providers/google.models.d.ts +6 -0
  466. package/dist/providers/google.models.d.ts.map +1 -0
  467. package/dist/providers/google.models.js +8 -0
  468. package/dist/providers/google.models.js.map +1 -0
  469. package/dist/providers/groq.d.ts +3 -0
  470. package/dist/providers/groq.d.ts.map +1 -0
  471. package/dist/providers/groq.js +15 -0
  472. package/dist/providers/groq.js.map +1 -0
  473. package/dist/providers/groq.models.d.ts +6 -0
  474. package/dist/providers/groq.models.d.ts.map +1 -0
  475. package/dist/providers/groq.models.js +8 -0
  476. package/dist/providers/groq.models.js.map +1 -0
  477. package/dist/providers/huggingface.d.ts +3 -0
  478. package/dist/providers/huggingface.d.ts.map +1 -0
  479. package/dist/providers/huggingface.js +15 -0
  480. package/dist/providers/huggingface.js.map +1 -0
  481. package/dist/providers/huggingface.models.d.ts +6 -0
  482. package/dist/providers/huggingface.models.d.ts.map +1 -0
  483. package/dist/providers/huggingface.models.js +8 -0
  484. package/dist/providers/huggingface.models.js.map +1 -0
  485. package/dist/providers/images/register-builtins.d.ts +4 -0
  486. package/dist/providers/images/register-builtins.d.ts.map +1 -0
  487. package/dist/providers/images/register-builtins.js +34 -0
  488. package/dist/providers/images/register-builtins.js.map +1 -0
  489. package/dist/providers/kimi-coding.d.ts +3 -0
  490. package/dist/providers/kimi-coding.d.ts.map +1 -0
  491. package/dist/providers/kimi-coding.js +24 -0
  492. package/dist/providers/kimi-coding.js.map +1 -0
  493. package/dist/providers/kimi-coding.models.d.ts +6 -0
  494. package/dist/providers/kimi-coding.models.d.ts.map +1 -0
  495. package/dist/providers/kimi-coding.models.js +8 -0
  496. package/dist/providers/kimi-coding.models.js.map +1 -0
  497. package/dist/providers/meta.d.ts +3 -0
  498. package/dist/providers/meta.d.ts.map +1 -0
  499. package/dist/providers/meta.js +24 -0
  500. package/dist/providers/meta.js.map +1 -0
  501. package/dist/providers/meta.models.d.ts +6 -0
  502. package/dist/providers/meta.models.d.ts.map +1 -0
  503. package/dist/providers/meta.models.js +8 -0
  504. package/dist/providers/meta.models.js.map +1 -0
  505. package/dist/providers/minimax-cn.d.ts +3 -0
  506. package/dist/providers/minimax-cn.d.ts.map +1 -0
  507. package/dist/providers/minimax-cn.js +15 -0
  508. package/dist/providers/minimax-cn.js.map +1 -0
  509. package/dist/providers/minimax-cn.models.d.ts +6 -0
  510. package/dist/providers/minimax-cn.models.d.ts.map +1 -0
  511. package/dist/providers/minimax-cn.models.js +8 -0
  512. package/dist/providers/minimax-cn.models.js.map +1 -0
  513. package/dist/providers/minimax.d.ts +3 -0
  514. package/dist/providers/minimax.d.ts.map +1 -0
  515. package/dist/providers/minimax.js +15 -0
  516. package/dist/providers/minimax.js.map +1 -0
  517. package/dist/providers/minimax.models.d.ts +6 -0
  518. package/dist/providers/minimax.models.d.ts.map +1 -0
  519. package/dist/providers/minimax.models.js +8 -0
  520. package/dist/providers/minimax.models.js.map +1 -0
  521. package/dist/providers/mistral.d.ts +3 -0
  522. package/dist/providers/mistral.d.ts.map +1 -0
  523. package/dist/providers/mistral.js +15 -0
  524. package/dist/providers/mistral.js.map +1 -0
  525. package/dist/providers/mistral.models.d.ts +6 -0
  526. package/dist/providers/mistral.models.d.ts.map +1 -0
  527. package/dist/providers/mistral.models.js +8 -0
  528. package/dist/providers/mistral.models.js.map +1 -0
  529. package/dist/providers/moonshotai-cn.d.ts +3 -0
  530. package/dist/providers/moonshotai-cn.d.ts.map +1 -0
  531. package/dist/providers/moonshotai-cn.js +15 -0
  532. package/dist/providers/moonshotai-cn.js.map +1 -0
  533. package/dist/providers/moonshotai-cn.models.d.ts +6 -0
  534. package/dist/providers/moonshotai-cn.models.d.ts.map +1 -0
  535. package/dist/providers/moonshotai-cn.models.js +8 -0
  536. package/dist/providers/moonshotai-cn.models.js.map +1 -0
  537. package/dist/providers/moonshotai.d.ts +3 -0
  538. package/dist/providers/moonshotai.d.ts.map +1 -0
  539. package/dist/providers/moonshotai.js +15 -0
  540. package/dist/providers/moonshotai.js.map +1 -0
  541. package/dist/providers/moonshotai.models.d.ts +6 -0
  542. package/dist/providers/moonshotai.models.d.ts.map +1 -0
  543. package/dist/providers/moonshotai.models.js +8 -0
  544. package/dist/providers/moonshotai.models.js.map +1 -0
  545. package/dist/providers/nvidia.d.ts +3 -0
  546. package/dist/providers/nvidia.d.ts.map +1 -0
  547. package/dist/providers/nvidia.js +15 -0
  548. package/dist/providers/nvidia.js.map +1 -0
  549. package/dist/providers/nvidia.models.d.ts +6 -0
  550. package/dist/providers/nvidia.models.d.ts.map +1 -0
  551. package/dist/providers/nvidia.models.js +8 -0
  552. package/dist/providers/nvidia.models.js.map +1 -0
  553. package/dist/providers/openai-codex.d.ts +3 -0
  554. package/dist/providers/openai-codex.d.ts.map +1 -0
  555. package/dist/providers/openai-codex.js +22 -0
  556. package/dist/providers/openai-codex.js.map +1 -0
  557. package/dist/providers/openai-codex.models.d.ts +6 -0
  558. package/dist/providers/openai-codex.models.d.ts.map +1 -0
  559. package/dist/providers/openai-codex.models.js +8 -0
  560. package/dist/providers/openai-codex.models.js.map +1 -0
  561. package/dist/providers/openai.d.ts +3 -0
  562. package/dist/providers/openai.d.ts.map +1 -0
  563. package/dist/providers/openai.js +33 -0
  564. package/dist/providers/openai.js.map +1 -0
  565. package/dist/providers/openai.models.d.ts +6 -0
  566. package/dist/providers/openai.models.d.ts.map +1 -0
  567. package/dist/providers/openai.models.js +8 -0
  568. package/dist/providers/openai.models.js.map +1 -0
  569. package/dist/providers/opencode-go.d.ts +3 -0
  570. package/dist/providers/opencode-go.d.ts.map +1 -0
  571. package/dist/providers/opencode-go.js +21 -0
  572. package/dist/providers/opencode-go.js.map +1 -0
  573. package/dist/providers/opencode-go.models.d.ts +6 -0
  574. package/dist/providers/opencode-go.models.d.ts.map +1 -0
  575. package/dist/providers/opencode-go.models.js +8 -0
  576. package/dist/providers/opencode-go.models.js.map +1 -0
  577. package/dist/providers/opencode-headers.d.ts +4 -0
  578. package/dist/providers/opencode-headers.d.ts.map +1 -0
  579. package/dist/providers/opencode-headers.js +22 -0
  580. package/dist/providers/opencode-headers.js.map +1 -0
  581. package/dist/providers/opencode.d.ts +5 -0
  582. package/dist/providers/opencode.d.ts.map +1 -0
  583. package/dist/providers/opencode.js +26 -0
  584. package/dist/providers/opencode.js.map +1 -0
  585. package/dist/providers/opencode.models.d.ts +6 -0
  586. package/dist/providers/opencode.models.d.ts.map +1 -0
  587. package/dist/providers/opencode.models.js +8 -0
  588. package/dist/providers/opencode.models.js.map +1 -0
  589. package/dist/providers/openrouter.d.ts +3 -0
  590. package/dist/providers/openrouter.d.ts.map +1 -0
  591. package/dist/providers/openrouter.js +36 -0
  592. package/dist/providers/openrouter.js.map +1 -0
  593. package/dist/providers/openrouter.models.d.ts +6 -0
  594. package/dist/providers/openrouter.models.d.ts.map +1 -0
  595. package/dist/providers/openrouter.models.js +8 -0
  596. package/dist/providers/openrouter.models.js.map +1 -0
  597. package/dist/providers/qwen-token-plan-cn.d.ts +3 -0
  598. package/dist/providers/qwen-token-plan-cn.d.ts.map +1 -0
  599. package/dist/providers/qwen-token-plan-cn.js +15 -0
  600. package/dist/providers/qwen-token-plan-cn.js.map +1 -0
  601. package/dist/providers/qwen-token-plan-cn.models.d.ts +6 -0
  602. package/dist/providers/qwen-token-plan-cn.models.d.ts.map +1 -0
  603. package/dist/providers/qwen-token-plan-cn.models.js +8 -0
  604. package/dist/providers/qwen-token-plan-cn.models.js.map +1 -0
  605. package/dist/providers/qwen-token-plan-individual.d.ts +3 -0
  606. package/dist/providers/qwen-token-plan-individual.d.ts.map +1 -0
  607. package/dist/providers/qwen-token-plan-individual.js +15 -0
  608. package/dist/providers/qwen-token-plan-individual.js.map +1 -0
  609. package/dist/providers/qwen-token-plan-individual.models.d.ts +6 -0
  610. package/dist/providers/qwen-token-plan-individual.models.d.ts.map +1 -0
  611. package/dist/providers/qwen-token-plan-individual.models.js +8 -0
  612. package/dist/providers/qwen-token-plan-individual.models.js.map +1 -0
  613. package/dist/providers/qwen-token-plan.d.ts +3 -0
  614. package/dist/providers/qwen-token-plan.d.ts.map +1 -0
  615. package/dist/providers/qwen-token-plan.js +15 -0
  616. package/dist/providers/qwen-token-plan.js.map +1 -0
  617. package/dist/providers/qwen-token-plan.models.d.ts +6 -0
  618. package/dist/providers/qwen-token-plan.models.d.ts.map +1 -0
  619. package/dist/providers/qwen-token-plan.models.js +8 -0
  620. package/dist/providers/qwen-token-plan.models.js.map +1 -0
  621. package/dist/providers/together.d.ts +3 -0
  622. package/dist/providers/together.d.ts.map +1 -0
  623. package/dist/providers/together.js +15 -0
  624. package/dist/providers/together.js.map +1 -0
  625. package/dist/providers/together.models.d.ts +6 -0
  626. package/dist/providers/together.models.d.ts.map +1 -0
  627. package/dist/providers/together.models.js +8 -0
  628. package/dist/providers/together.models.js.map +1 -0
  629. package/dist/providers/typesafe.d.ts +3 -0
  630. package/dist/providers/typesafe.d.ts.map +1 -0
  631. package/dist/providers/typesafe.js +18 -0
  632. package/dist/providers/typesafe.js.map +1 -0
  633. package/dist/providers/typesafe.models.d.ts +6 -0
  634. package/dist/providers/typesafe.models.d.ts.map +1 -0
  635. package/dist/providers/typesafe.models.js +8 -0
  636. package/dist/providers/typesafe.models.js.map +1 -0
  637. package/dist/providers/vercel-ai-gateway.d.ts +3 -0
  638. package/dist/providers/vercel-ai-gateway.d.ts.map +1 -0
  639. package/dist/providers/vercel-ai-gateway.js +18 -0
  640. package/dist/providers/vercel-ai-gateway.js.map +1 -0
  641. package/dist/providers/vercel-ai-gateway.models.d.ts +6 -0
  642. package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -0
  643. package/dist/providers/vercel-ai-gateway.models.js +8 -0
  644. package/dist/providers/vercel-ai-gateway.models.js.map +1 -0
  645. package/dist/providers/xai.d.ts +3 -0
  646. package/dist/providers/xai.d.ts.map +1 -0
  647. package/dist/providers/xai.js +24 -0
  648. package/dist/providers/xai.js.map +1 -0
  649. package/dist/providers/xai.models.d.ts +6 -0
  650. package/dist/providers/xai.models.d.ts.map +1 -0
  651. package/dist/providers/xai.models.js +8 -0
  652. package/dist/providers/xai.models.js.map +1 -0
  653. package/dist/providers/xiaomi-token-plan-ams.d.ts +3 -0
  654. package/dist/providers/xiaomi-token-plan-ams.d.ts.map +1 -0
  655. package/dist/providers/xiaomi-token-plan-ams.js +15 -0
  656. package/dist/providers/xiaomi-token-plan-ams.js.map +1 -0
  657. package/dist/providers/xiaomi-token-plan-ams.models.d.ts +6 -0
  658. package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -0
  659. package/dist/providers/xiaomi-token-plan-ams.models.js +8 -0
  660. package/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -0
  661. package/dist/providers/xiaomi-token-plan-cn.d.ts +3 -0
  662. package/dist/providers/xiaomi-token-plan-cn.d.ts.map +1 -0
  663. package/dist/providers/xiaomi-token-plan-cn.js +15 -0
  664. package/dist/providers/xiaomi-token-plan-cn.js.map +1 -0
  665. package/dist/providers/xiaomi-token-plan-cn.models.d.ts +6 -0
  666. package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -0
  667. package/dist/providers/xiaomi-token-plan-cn.models.js +8 -0
  668. package/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -0
  669. package/dist/providers/xiaomi-token-plan-sgp.d.ts +3 -0
  670. package/dist/providers/xiaomi-token-plan-sgp.d.ts.map +1 -0
  671. package/dist/providers/xiaomi-token-plan-sgp.js +15 -0
  672. package/dist/providers/xiaomi-token-plan-sgp.js.map +1 -0
  673. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts +6 -0
  674. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -0
  675. package/dist/providers/xiaomi-token-plan-sgp.models.js +8 -0
  676. package/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -0
  677. package/dist/providers/xiaomi.d.ts +3 -0
  678. package/dist/providers/xiaomi.d.ts.map +1 -0
  679. package/dist/providers/xiaomi.js +15 -0
  680. package/dist/providers/xiaomi.js.map +1 -0
  681. package/dist/providers/xiaomi.models.d.ts +6 -0
  682. package/dist/providers/xiaomi.models.d.ts.map +1 -0
  683. package/dist/providers/xiaomi.models.js +8 -0
  684. package/dist/providers/xiaomi.models.js.map +1 -0
  685. package/dist/providers/zai-coding-cn.d.ts +3 -0
  686. package/dist/providers/zai-coding-cn.d.ts.map +1 -0
  687. package/dist/providers/zai-coding-cn.js +15 -0
  688. package/dist/providers/zai-coding-cn.js.map +1 -0
  689. package/dist/providers/zai-coding-cn.models.d.ts +6 -0
  690. package/dist/providers/zai-coding-cn.models.d.ts.map +1 -0
  691. package/dist/providers/zai-coding-cn.models.js +8 -0
  692. package/dist/providers/zai-coding-cn.models.js.map +1 -0
  693. package/dist/providers/zai.d.ts +3 -0
  694. package/dist/providers/zai.d.ts.map +1 -0
  695. package/dist/providers/zai.js +15 -0
  696. package/dist/providers/zai.js.map +1 -0
  697. package/dist/providers/zai.models.d.ts +6 -0
  698. package/dist/providers/zai.models.d.ts.map +1 -0
  699. package/dist/providers/zai.models.js +8 -0
  700. package/dist/providers/zai.models.js.map +1 -0
  701. package/dist/schemas/compat-schema.d.ts +338 -0
  702. package/dist/schemas/compat-schema.d.ts.map +1 -0
  703. package/dist/schemas/compat-schema.js +375 -0
  704. package/dist/schemas/compat-schema.js.map +1 -0
  705. package/dist/schemas/model-schema.d.ts +91 -0
  706. package/dist/schemas/model-schema.d.ts.map +1 -0
  707. package/dist/schemas/model-schema.js +55 -0
  708. package/dist/schemas/model-schema.js.map +1 -0
  709. package/dist/session-resources.d.ts +4 -0
  710. package/dist/session-resources.d.ts.map +1 -0
  711. package/dist/session-resources.js +22 -0
  712. package/dist/session-resources.js.map +1 -0
  713. package/dist/types.d.ts +645 -0
  714. package/dist/types.d.ts.map +1 -0
  715. package/dist/types.js +2 -0
  716. package/dist/types.js.map +1 -0
  717. package/dist/utils/abort-signals.d.ts +6 -0
  718. package/dist/utils/abort-signals.d.ts.map +1 -0
  719. package/dist/utils/abort-signals.js +34 -0
  720. package/dist/utils/abort-signals.js.map +1 -0
  721. package/dist/utils/abort.d.ts +8 -0
  722. package/dist/utils/abort.d.ts.map +1 -0
  723. package/dist/utils/abort.js +49 -0
  724. package/dist/utils/abort.js.map +1 -0
  725. package/dist/utils/assistant-message-frame.d.ts +77 -0
  726. package/dist/utils/assistant-message-frame.d.ts.map +1 -0
  727. package/dist/utils/assistant-message-frame.js +425 -0
  728. package/dist/utils/assistant-message-frame.js.map +1 -0
  729. package/dist/utils/diagnostics.d.ts +20 -0
  730. package/dist/utils/diagnostics.d.ts.map +1 -0
  731. package/dist/utils/diagnostics.js +25 -0
  732. package/dist/utils/diagnostics.js.map +1 -0
  733. package/dist/utils/error-body.d.ts +25 -0
  734. package/dist/utils/error-body.d.ts.map +1 -0
  735. package/dist/utils/error-body.js +133 -0
  736. package/dist/utils/error-body.js.map +1 -0
  737. package/dist/utils/estimate.d.ts +17 -0
  738. package/dist/utils/estimate.d.ts.map +1 -0
  739. package/dist/utils/estimate.js +95 -0
  740. package/dist/utils/estimate.js.map +1 -0
  741. package/dist/utils/event-stream.d.ts +30 -0
  742. package/dist/utils/event-stream.d.ts.map +1 -0
  743. package/dist/utils/event-stream.js +124 -0
  744. package/dist/utils/event-stream.js.map +1 -0
  745. package/dist/utils/hash.d.ts +3 -0
  746. package/dist/utils/hash.d.ts.map +1 -0
  747. package/dist/utils/hash.js +14 -0
  748. package/dist/utils/hash.js.map +1 -0
  749. package/dist/utils/headers.d.ts +4 -0
  750. package/dist/utils/headers.d.ts.map +1 -0
  751. package/dist/utils/headers.js +20 -0
  752. package/dist/utils/headers.js.map +1 -0
  753. package/dist/utils/json-parse.d.ts +16 -0
  754. package/dist/utils/json-parse.d.ts.map +1 -0
  755. package/dist/utils/json-parse.js +113 -0
  756. package/dist/utils/json-parse.js.map +1 -0
  757. package/dist/utils/model-operations.d.ts +34 -0
  758. package/dist/utils/model-operations.d.ts.map +1 -0
  759. package/dist/utils/model-operations.js +129 -0
  760. package/dist/utils/model-operations.js.map +1 -0
  761. package/dist/utils/models-error.d.ts +8 -0
  762. package/dist/utils/models-error.d.ts.map +1 -0
  763. package/dist/utils/models-error.js +19 -0
  764. package/dist/utils/models-error.js.map +1 -0
  765. package/dist/utils/node-http-proxy.d.ts +4 -0
  766. package/dist/utils/node-http-proxy.d.ts.map +1 -0
  767. package/dist/utils/node-http-proxy.js +133 -0
  768. package/dist/utils/node-http-proxy.js.map +1 -0
  769. package/dist/utils/nyan-user-agent.d.ts +2 -0
  770. package/dist/utils/nyan-user-agent.d.ts.map +1 -0
  771. package/dist/utils/nyan-user-agent.js +12 -0
  772. package/dist/utils/nyan-user-agent.js.map +1 -0
  773. package/dist/utils/oauth-page.d.ts +3 -0
  774. package/dist/utils/oauth-page.d.ts.map +1 -0
  775. package/dist/utils/oauth-page.js +105 -0
  776. package/dist/utils/oauth-page.js.map +1 -0
  777. package/dist/utils/overflow.d.ts +69 -0
  778. package/dist/utils/overflow.d.ts.map +1 -0
  779. package/dist/utils/overflow.js +179 -0
  780. package/dist/utils/overflow.js.map +1 -0
  781. package/dist/utils/provider-env.d.ts +7 -0
  782. package/dist/utils/provider-env.d.ts.map +1 -0
  783. package/dist/utils/provider-env.js +42 -0
  784. package/dist/utils/provider-env.js.map +1 -0
  785. package/dist/utils/provider-retry.d.ts +18 -0
  786. package/dist/utils/provider-retry.d.ts.map +1 -0
  787. package/dist/utils/provider-retry.js +97 -0
  788. package/dist/utils/provider-retry.js.map +1 -0
  789. package/dist/utils/retry.d.ts +58 -0
  790. package/dist/utils/retry.d.ts.map +1 -0
  791. package/dist/utils/retry.js +196 -0
  792. package/dist/utils/retry.js.map +1 -0
  793. package/dist/utils/sanitize-unicode.d.ts +22 -0
  794. package/dist/utils/sanitize-unicode.d.ts.map +1 -0
  795. package/dist/utils/sanitize-unicode.js +26 -0
  796. package/dist/utils/sanitize-unicode.js.map +1 -0
  797. package/dist/utils/sleep.d.ts +2 -0
  798. package/dist/utils/sleep.d.ts.map +1 -0
  799. package/dist/utils/sleep.js +15 -0
  800. package/dist/utils/sleep.js.map +1 -0
  801. package/dist/utils/text.d.ts +14 -0
  802. package/dist/utils/text.d.ts.map +1 -0
  803. package/dist/utils/text.js +36 -0
  804. package/dist/utils/text.js.map +1 -0
  805. package/dist/utils/transcript.d.ts +87 -0
  806. package/dist/utils/transcript.d.ts.map +1 -0
  807. package/dist/utils/transcript.js +207 -0
  808. package/dist/utils/transcript.js.map +1 -0
  809. package/dist/utils/typebox-helpers.d.ts +17 -0
  810. package/dist/utils/typebox-helpers.d.ts.map +1 -0
  811. package/dist/utils/typebox-helpers.js +21 -0
  812. package/dist/utils/typebox-helpers.js.map +1 -0
  813. package/dist/utils/uuid.d.ts +3 -0
  814. package/dist/utils/uuid.d.ts.map +1 -0
  815. package/dist/utils/uuid.js +42 -0
  816. package/dist/utils/uuid.js.map +1 -0
  817. package/dist/utils/validation.d.ts +18 -0
  818. package/dist/utils/validation.d.ts.map +1 -0
  819. package/dist/utils/validation.js +309 -0
  820. package/dist/utils/validation.js.map +1 -0
  821. package/package.json +113 -5
@@ -0,0 +1,645 @@
1
+ import type { TelemetryContext } from "@ny4n/telemetry";
2
+ import type { AnthropicMessagesCompat, BedrockCompat, MistralConversationsCompat, OpenAICompletionsCompat, OpenAIResponsesCompat } from "./schemas/compat-schema.ts";
3
+ import type { CacheRetention, ModelCost, ModelInputLimits, ModelInputModality, ModelPromptCache, ModelThinkingLevel, ThinkingLevel, ThinkingLevelMap } from "./schemas/model-schema.ts";
4
+ import type { AssistantMessageDiagnostic } from "./utils/diagnostics.ts";
5
+ import type { AssistantMessageEventStream } from "./utils/event-stream.ts";
6
+ export type { AnthropicAllowedFallbackModel, AnthropicMessagesCompat, BedrockCompat, ChatTemplateKwargValue, MistralConversationsCompat, OpenAICompletionsCompat, OpenAIResponsesCompat, OpenRouterRouting, SessionAffinityFormat, ThinkingTokenBudgetField, VercelGatewayRouting, } from "./schemas/compat-schema.ts";
7
+ export type { CacheRetention, ModelCost, ModelCostRates, ModelCostTier, ModelImageInputLimits, ModelImageResizeOptions, ModelInputLimits, ModelInputModality, ModelPromptCache, ModelThinkingLevel, ThinkingLevel, ThinkingLevelMap, } from "./schemas/model-schema.ts";
8
+ export type { AssistantMessageEventStream } from "./utils/event-stream.ts";
9
+ 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";
10
+ export type Api = KnownApi | (string & {});
11
+ export type KnownImageApi = "openrouter-images";
12
+ export type ImageApi = KnownImageApi | (string & {});
13
+ export type KnownClassifierApi = "typesafe-system-one" | "cloudflare-workers-ai-system-one" | "llama-cpp-classify" | "openai-decisions";
14
+ export type ClassifierApi = KnownClassifierApi | (string & {});
15
+ export type KnownProvider = "amazon-bedrock" | "ant-ling" | "anthropic" | "google" | "google-vertex" | "openai" | "azure" | "openai-codex" | "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";
16
+ export type ProviderId = KnownProvider | string;
17
+ export type ToolChoice = "auto" | "none";
18
+ export type SamplingParams = Record<string, unknown>;
19
+ export type SamplingParamsByThinkingLevel = Partial<Record<ModelThinkingLevel, SamplingParams>>;
20
+ /** Token budgets for each thinking level (token-based providers only) */
21
+ export interface ThinkingBudgets {
22
+ minimal?: number;
23
+ low?: number;
24
+ medium?: number;
25
+ high?: number;
26
+ }
27
+ export type Transport = "sse" | "websocket" | "websocket-cached" | "auto";
28
+ /** Provider-scoped environment overrides. Values take precedence over process.env. */
29
+ export type ProviderEnv = Record<string, string>;
30
+ export type ProviderHeaders = Record<string, string | null>;
31
+ export type FetchFunction = typeof globalThis.fetch;
32
+ export interface ProviderResponse {
33
+ status: number;
34
+ headers: Record<string, string>;
35
+ }
36
+ /** Authentication, HTTP transport, and lifecycle callbacks shared by provider requests. */
37
+ export interface ProviderRequestOptions<TModel = Model<Api>> {
38
+ signal?: AbortSignal;
39
+ /** Explicit parent context for telemetry produced by this logical request. */
40
+ telemetryContext?: TelemetryContext;
41
+ apiKey?: string;
42
+ /**
43
+ * Optional fetch implementation for provider HTTP requests.
44
+ * Defaults to `globalThis.fetch`. Provider adapters that cannot inject a custom implementation may reject it.
45
+ * This does not affect WebSocket transports.
46
+ */
47
+ fetch?: FetchFunction;
48
+ /**
49
+ * Provider-scoped environment values. These take precedence over process.env for
50
+ * provider configuration such as regional settings, endpoint placeholders, and
51
+ * proxy variables.
52
+ */
53
+ env?: ProviderEnv;
54
+ /**
55
+ * Optional callback for inspecting or replacing provider payloads before sending.
56
+ * Return undefined to keep the payload unchanged.
57
+ */
58
+ onPayload?: (payload: unknown, model: TModel) => unknown | undefined | Promise<unknown | undefined>;
59
+ /**
60
+ * Optional callback invoked after an HTTP response is received.
61
+ */
62
+ onResponse?: (response: ProviderResponse, model: TModel) => void | Promise<void>;
63
+ /**
64
+ * Optional custom HTTP headers to include in API requests.
65
+ * Merged with provider defaults; caller values override default headers.
66
+ * On AWS Bedrock these are injected via a Smithy `build`-step middleware so
67
+ * they are covered by SigV4 signing; reserved headers (`x-amz-*`,
68
+ * `authorization`, `host`) are silently ignored to preserve SigV4 / bearer auth.
69
+ * A null value suppresses a provider/API default header with the same name.
70
+ */
71
+ headers?: ProviderHeaders;
72
+ /**
73
+ * HTTP request timeout in milliseconds for providers/SDKs that support it.
74
+ * For example, OpenAI and Anthropic SDK clients default to 10 minutes.
75
+ */
76
+ timeoutMs?: number;
77
+ /**
78
+ * Maximum retry attempts for providers/SDKs that support client-side retries.
79
+ * For example, OpenAI and Anthropic SDK clients default to 2.
80
+ */
81
+ maxRetries?: number;
82
+ /**
83
+ * Maximum delay in milliseconds to wait for a retry when the server requests a long wait.
84
+ * If the server's requested delay exceeds this value, the request fails immediately
85
+ * with an error containing the requested delay, allowing higher-level retry logic
86
+ * to handle it with user visibility.
87
+ * Default: 60000 (60 seconds). Set to 0 to disable the cap.
88
+ */
89
+ maxRetryDelayMs?: number;
90
+ }
91
+ export interface StreamOptions extends ProviderRequestOptions<Model<Api>> {
92
+ /**
93
+ * Optional callback invoked after an HTTP response is received and before
94
+ * its body stream is consumed.
95
+ */
96
+ onResponse?: (response: ProviderResponse, model: Model<Api>) => void | Promise<void>;
97
+ /**
98
+ * Optional observer for each parsed provider stream event before Nyan normalization.
99
+ * Event data is adapter-owned and must be treated as read-only.
100
+ * Adapter support is explicit; unsupported adapters do not invoke it.
101
+ */
102
+ onProviderStreamEvent?: (data: unknown, model: Model<Api>) => void | Promise<void>;
103
+ temperature?: number;
104
+ /**
105
+ * Arbitrary sampling parameters merged into the request body as-is, after the named request
106
+ * fields, so keys here override them. Lets custom OpenAI-compatible servers (llama.cpp, vLLM,
107
+ * SGLang, ...) receive parameters nyan does not model, e.g. `top_p`, `top_k`, `min_p`,
108
+ * `repetition_penalty`. Merged over `Model.samplingParams` per key. Only applied by
109
+ * OpenAI-compatible adapters (completions, responses, Azure responses); other APIs ignore it.
110
+ */
111
+ samplingParams?: SamplingParams;
112
+ maxTokens?: number;
113
+ /**
114
+ * Preferred transport for providers that support multiple transports.
115
+ * Providers that do not support this option ignore it.
116
+ */
117
+ transport?: Transport;
118
+ /**
119
+ * Prompt cache retention preference. Providers map this to their supported values.
120
+ * Default: "short".
121
+ */
122
+ cacheRetention?: CacheRetention;
123
+ /**
124
+ * Optional session identifier for providers that support session-based caching.
125
+ * Providers can use this to enable prompt caching, request routing, or other
126
+ * session-aware features. Ignored by providers that don't support it.
127
+ */
128
+ sessionId?: string;
129
+ /**
130
+ * WebSocket connect timeout in milliseconds for providers that support
131
+ * WebSocket transports. This covers the connection/open handshake only;
132
+ * stream idleness after connection uses timeoutMs.
133
+ */
134
+ websocketConnectTimeoutMs?: number;
135
+ /**
136
+ * Optional metadata to include in API requests.
137
+ * Providers extract the fields they understand and ignore the rest.
138
+ * For example, Anthropic uses `user_id` for abuse tracking and rate limiting.
139
+ */
140
+ metadata?: Record<string, unknown>;
141
+ }
142
+ export type ProviderStreamOptions = StreamOptions & Record<string, unknown>;
143
+ export interface DeferredFetchOptions extends ProviderRequestOptions<Model<Api>> {
144
+ /**
145
+ * Maximum provider long-poll duration in milliseconds.
146
+ * Defaults to 0, which performs one status check.
147
+ */
148
+ wait?: number;
149
+ }
150
+ /** Request options for best-effort deferred-response cancellation. */
151
+ export type DeferredCancelOptions = ProviderRequestOptions<Model<Api>>;
152
+ /**
153
+ * The uniform stream contract of an API implementation module: every module
154
+ * under `src/api/` exports `stream` and `streamSimple`; capable modules may also
155
+ * export deferred-response methods. Lazy wrappers (`lazyApi()`) and provider
156
+ * factories pass these around as values. This is the untyped dispatch shape;
157
+ * per-API option typing lives on the implementation modules themselves and on
158
+ * `Provider.stream()` via `ApiStreamOptions`.
159
+ */
160
+ export interface ProviderStreams {
161
+ stream(model: Model<Api>, context: TranscriptContext, options?: StreamOptions): AssistantMessageEventStream;
162
+ streamSimple(model: Model<Api>, context: TranscriptContext, options?: SimpleStreamOptions): AssistantMessageEventStream;
163
+ fetchDeferred?(model: Model<Api>, handle: DeferredHandle, options?: DeferredFetchOptions): AssistantMessageEventStream;
164
+ cancelDeferred?(model: Model<Api>, handle: DeferredHandle, options?: DeferredCancelOptions): Promise<void>;
165
+ }
166
+ /**
167
+ * The uniform contract of an image-generation API implementation module:
168
+ * every image API module under `src/api/` exports exactly `generateImages`,
169
+ * so the module itself satisfies this interface. Lazy wrappers and
170
+ * `createProvider({ images })` pass these around as values.
171
+ */
172
+ export interface ProviderImages {
173
+ generateImages(model: ImageModel<ImageApi>, context: ImagesContext, options?: ImagesOptions): Promise<AssistantImages>;
174
+ }
175
+ /** The uniform contract implemented by classifier API modules. */
176
+ export interface ProviderClassifier {
177
+ classify(model: ClassifierModel<ClassifierApi>, context: ClassifierContext, options?: ClassifierOptions): Promise<ClassifierResult>;
178
+ }
179
+ export interface ClassifierOptions extends ProviderRequestOptions<ClassifierModel<ClassifierApi>> {
180
+ /**
181
+ * Divides the answer logits by this value before they are normalized into probabilities.
182
+ * Values above 1 soften the distribution; values below 1 sharpen it. Must be positive.
183
+ * APIs that cannot apply it ignore it.
184
+ */
185
+ temperature?: number;
186
+ }
187
+ export interface ImagesOptions extends ProviderRequestOptions<ImageModel<ImageApi>> {
188
+ /**
189
+ * Optional metadata to include in API requests.
190
+ * Providers extract the fields they understand and ignore the rest.
191
+ */
192
+ metadata?: Record<string, unknown>;
193
+ }
194
+ export type ProviderImagesOptions = ImagesOptions & Record<string, unknown>;
195
+ export interface SimpleStreamOptions extends StreamOptions {
196
+ /** Provider-neutral tool selection for simple requests. When omitted, adapters use provider-specific behavior. */
197
+ toolChoice?: ToolChoice;
198
+ reasoning?: ThinkingLevel;
199
+ /** Ask a capable provider to return a durable handle and continue the request asynchronously. */
200
+ deferred?: boolean | {
201
+ window?: "15m" | "1h" | "24h";
202
+ };
203
+ /** Custom token budgets for thinking levels (token-based providers only) */
204
+ thinkingBudgets?: ThinkingBudgets;
205
+ }
206
+ export type StreamFunction<TApi extends Api = Api, TOptions extends StreamOptions = StreamOptions> = (model: Model<TApi>, context: TranscriptContext, options?: TOptions) => AssistantMessageEventStream;
207
+ export type ImagesFunction<TOptions extends ImagesOptions = ImagesOptions> = (model: ImageModel<ImageApi>, context: ImagesContext, options?: TOptions) => Promise<AssistantImages>;
208
+ export type ClassifierFunction<TOptions extends ClassifierOptions = ClassifierOptions> = (model: ClassifierModel<ClassifierApi>, context: ClassifierContext, options?: TOptions) => Promise<ClassifierResult>;
209
+ export interface TextSignatureV1 {
210
+ v: 1;
211
+ id: string;
212
+ phase?: "commentary" | "final_answer";
213
+ }
214
+ export interface TextContent {
215
+ type: "text";
216
+ text: string;
217
+ textSignature?: string;
218
+ }
219
+ export interface ThinkingContent {
220
+ type: "thinking";
221
+ thinking: string;
222
+ thinkingSignature?: string;
223
+ /** When true, the thinking content was redacted by safety filters. The opaque
224
+ * encrypted payload is stored in `thinkingSignature` so it can be passed back
225
+ * to the API for multi-turn continuity. */
226
+ redacted?: boolean;
227
+ }
228
+ export interface ImageContent {
229
+ type: "image";
230
+ data: string;
231
+ mimeType: string;
232
+ }
233
+ export interface ToolCall {
234
+ type: "toolCall";
235
+ id: string;
236
+ name: string;
237
+ arguments: JsonObject;
238
+ thoughtSignature?: string;
239
+ /** OpenAI Responses namespace for calls to dynamically loaded or namespaced tools. */
240
+ namespace?: string;
241
+ }
242
+ export interface Usage {
243
+ input: number;
244
+ output: number;
245
+ cacheRead: number;
246
+ cacheWrite: number;
247
+ /** Subset of `cacheWrite` written with 1h retention. Only Anthropic reports this split. */
248
+ cacheWrite1h?: number;
249
+ /**
250
+ * Reasoning/thinking tokens, when the provider reports them. This is a subset of
251
+ * `output`: `output` already includes these tokens. Set to a number (possibly 0) by
252
+ * providers that expose a reasoning breakdown; left undefined by providers that don't.
253
+ */
254
+ reasoning?: number;
255
+ totalTokens: number;
256
+ cost: {
257
+ input: number;
258
+ output: number;
259
+ cacheRead: number;
260
+ cacheWrite: number;
261
+ total: number;
262
+ };
263
+ }
264
+ export type StopReason = "pending" | "stop" | "length" | "toolUse" | "error" | "aborted" | "deferred";
265
+ export type JsonValue = null | boolean | number | string | readonly JsonValue[] | JsonObject;
266
+ export type JsonObject = {
267
+ [key: string]: JsonValue;
268
+ };
269
+ type IsAny<T> = 0 extends 1 & T ? true : false;
270
+ type IsExactlyJsonValue<T> = [T] extends [JsonValue] ? ([JsonValue] extends [T] ? true : false) : false;
271
+ type IsJsonProperty<T> = IsAny<T> extends true ? false : unknown extends T ? false : [Exclude<T, undefined>] extends [never] ? true : IsJsonCompatible<Exclude<T, undefined>>;
272
+ type InvalidJsonKeys<T extends object> = {
273
+ [TKey in keyof T]-?: TKey extends string | number ? (IsJsonProperty<T[TKey]> extends true ? never : TKey) : TKey;
274
+ }[keyof T];
275
+ type IsJsonCompatible<T> = IsAny<T> extends true ? false : unknown extends T ? false : IsExactlyJsonValue<T> extends true ? true : T extends null | boolean | number | string ? true : T extends undefined ? false : T extends readonly (infer TItem)[] ? IsJsonCompatible<TItem> : T extends (...args: never[]) => unknown ? false : T extends object ? [InvalidJsonKeys<T>] extends [never] ? true : false : false;
276
+ /** The JSON representation of a typed in-memory value. Optional object properties remain optional. */
277
+ export type JsonRepresentation<T> = IsAny<T> extends true ? JsonValue : unknown extends T ? JsonValue : [T] extends [JsonValue] ? T : T extends readonly unknown[] ? {
278
+ [TKey in keyof T]: JsonRepresentation<Exclude<T[TKey], undefined>>;
279
+ } : T extends object ? {
280
+ [TKey in keyof T]: JsonRepresentation<Exclude<T[TKey], undefined>>;
281
+ } : never;
282
+ export interface DeferredHandle {
283
+ provider: string;
284
+ modelId: string;
285
+ api: string;
286
+ /** Provider token, such as a response id or batch id plus row id. */
287
+ id: string;
288
+ expiresAt?: number;
289
+ pollAfterMs?: number;
290
+ /** Provider conversion data required to reconstruct the final assistant message. */
291
+ data?: JsonValue;
292
+ }
293
+ /**
294
+ * System instructions and tool declarations at one point in the transcript.
295
+ *
296
+ * The leading system message is the system prompt. Later system messages change it:
297
+ * `content` adds instructions from that point on, `sections` replace or remove named
298
+ * prompt sections, and `toolsAdded`/`toolsRemoved` change the tool set. Replaying
299
+ * every system message in order yields the current prompt and tools. Providers that
300
+ * accept system messages mid-conversation send each one in place; other providers
301
+ * rebuild the leading system message from the replayed state.
302
+ */
303
+ export interface SystemMessage {
304
+ role: "system";
305
+ /** Instruction text. On the leading message this is the base prompt; later, additional instructions. */
306
+ content: string | TextContent[];
307
+ /**
308
+ * Named, ordered prompt sections rendered verbatim after `content`. The leading message
309
+ * declares them; later messages replace sections by name, and `null` removes one. Keep
310
+ * each section self-delimiting (a tag, a heading) so the model can relate an update to
311
+ * the original. Avoid integer-like names; JSON objects reorder those.
312
+ */
313
+ sections?: Record<string, string | null>;
314
+ /** Complete definitions of tools that become available at this point. */
315
+ toolsAdded?: Tool[];
316
+ /** Tools that stop being available at this point. */
317
+ toolsRemoved?: ToolReference[];
318
+ timestamp: number;
319
+ }
320
+ export interface UserMessage {
321
+ role: "user";
322
+ content: string | (TextContent | ImageContent)[];
323
+ timestamp: number;
324
+ }
325
+ export interface AssistantMessage {
326
+ role: "assistant";
327
+ content: (TextContent | ThinkingContent | ToolCall)[];
328
+ api: Api;
329
+ provider: ProviderId;
330
+ model: string;
331
+ responseModel?: string;
332
+ responseId?: string;
333
+ /** Exact provider-native effort level used for this response. Absent for legacy or unmanaged responses. */
334
+ providerThinkingLevel?: string;
335
+ /** Nyan thinking level the agent loop requested for this response. Absent outside the agent loop and for legacy responses. */
336
+ thinkingLevel?: ModelThinkingLevel;
337
+ diagnostics?: AssistantMessageDiagnostic[];
338
+ usage: Usage;
339
+ stopReason: StopReason;
340
+ deferred?: DeferredHandle;
341
+ errorMessage?: string;
342
+ rawStopReason?: string;
343
+ /**
344
+ * Provider indication of whether the model explicitly ended its turn.
345
+ * Preserved for debugging and does not currently affect agent control flow.
346
+ */
347
+ endTurn?: boolean;
348
+ /** Unix timestamp in milliseconds when the request started. */
349
+ timestamp: number;
350
+ /**
351
+ * Milliseconds from `timestamp` until the response ended, measured with a monotonic clock. Set by
352
+ * `AssistantMessageEventStream` on the final message of a response it saw start; absent for legacy messages and
353
+ * for deferred results fetched later.
354
+ */
355
+ durationMs?: number;
356
+ }
357
+ /** A tool call that another tool made while it ran, for example from a codemode script. */
358
+ export interface NestedToolCallRecord {
359
+ id: string;
360
+ name: string;
361
+ /** Omitted when over the size limits; `argumentsBytes` then gives their size. */
362
+ arguments?: JsonObject;
363
+ /** UTF-8 size of the arguments as JSON, set when `arguments` is omitted. */
364
+ argumentsBytes?: number;
365
+ /** `unfinished`: the call was still running when the calling tool finished. */
366
+ status: "ok" | "error" | "unfinished";
367
+ durationMs?: number;
368
+ /** Error text, truncated. */
369
+ error?: string;
370
+ }
371
+ /** Bounded record of the nested calls a tool made. Results are not recorded. */
372
+ export interface NestedToolCalls {
373
+ calls: NestedToolCallRecord[];
374
+ /** False when calls were dropped, arguments omitted, or calls had not finished. */
375
+ complete: boolean;
376
+ }
377
+ export type ToolResultMessage<TDetails = JsonValue> = IsJsonCompatible<TDetails> extends true ? {
378
+ role: "toolResult";
379
+ toolCallId: string;
380
+ toolName: string;
381
+ content: (TextContent | ImageContent)[];
382
+ details?: JsonRepresentation<TDetails>;
383
+ /** Usage from the tool execution itself, if available. Not part of main LLM context accounting. */
384
+ usage?: Usage;
385
+ /** Calls this tool made to other tools. Kept for the session record; not sent to the model. */
386
+ nestedCalls?: NestedToolCalls;
387
+ isError: boolean;
388
+ /** Unix timestamp in milliseconds when the result was created. */
389
+ timestamp: number;
390
+ /** Milliseconds the tool's execution took, measured with a monotonic clock. Absent for legacy results. */
391
+ durationMs?: number;
392
+ } : never;
393
+ export type Message = SystemMessage | UserMessage | AssistantMessage | ToolResultMessage;
394
+ export type ImagesInputContent = TextContent | ImageContent;
395
+ export type ImagesOutputContent = TextContent | ImageContent;
396
+ export interface ImagesContext {
397
+ input: ImagesInputContent[];
398
+ }
399
+ export type ImagesStopReason = "stop" | "error" | "aborted";
400
+ export interface AssistantImages {
401
+ api: ImageApi;
402
+ provider: ProviderId;
403
+ model: string;
404
+ output: ImagesOutputContent[];
405
+ responseId?: string;
406
+ usage?: Usage;
407
+ stopReason: ImagesStopReason;
408
+ errorMessage?: string;
409
+ timestamp: number;
410
+ }
411
+ export interface ClassifierChoiceQuestion {
412
+ type: "choice";
413
+ instructions: string;
414
+ criteria: Record<string, string>;
415
+ }
416
+ export interface ClassifierScoreQuestion {
417
+ type: "score";
418
+ instructions: string;
419
+ criteria: string[];
420
+ }
421
+ export interface ClassifierBoolQuestion {
422
+ type: "bool";
423
+ instructions: string;
424
+ criteria: {
425
+ true: string;
426
+ false: string;
427
+ };
428
+ }
429
+ export type ClassifierQuestion = ClassifierChoiceQuestion | ClassifierScoreQuestion | ClassifierBoolQuestion;
430
+ export interface ClassifierContext {
431
+ state: JsonObject;
432
+ /**
433
+ * Images judged together with `state`. Only models whose `input` includes `"image"` accept them;
434
+ * other models return an error result.
435
+ */
436
+ images?: ImageContent[];
437
+ questions: Record<string, ClassifierQuestion>;
438
+ }
439
+ export interface ClassifierChoiceAnswer {
440
+ type: "choice";
441
+ choice: string;
442
+ probabilities: Record<string, number>;
443
+ confidence: number;
444
+ }
445
+ export interface ClassifierScoreAnswer {
446
+ type: "score";
447
+ score: number;
448
+ confidence: number;
449
+ }
450
+ export interface ClassifierBoolAnswer {
451
+ type: "bool";
452
+ probability: number;
453
+ }
454
+ export type ClassifierAnswer = ClassifierChoiceAnswer | ClassifierScoreAnswer | ClassifierBoolAnswer;
455
+ export type ClassifierStopReason = "stop" | "error" | "aborted";
456
+ export interface ClassifierResult {
457
+ api: ClassifierApi;
458
+ provider: ProviderId;
459
+ model: string;
460
+ answers: Record<string, ClassifierAnswer>;
461
+ /** Token usage and its cost at the model's catalog price, when the service reports token counts. */
462
+ usage?: Usage;
463
+ stopReason: ClassifierStopReason;
464
+ errorMessage?: string;
465
+ timestamp: number;
466
+ }
467
+ import type { TSchema } from "typebox";
468
+ /** OpenAI grammar variants for constrained sampling. */
469
+ export type GrammarFormat = "openai_lark" | "openai_regex";
470
+ export type GrammarVariants = Partial<Record<GrammarFormat, string>>;
471
+ /**
472
+ * Optional provider-side constrained sampling configs for a tool.
473
+ *
474
+ * The `json_schema` value roughly maps to the concept of `strict` in APIs which is
475
+ * implemented as json-schema constrained sampling by APIs. Grammar variants let
476
+ * callers provide provider-specific encodings of the same intended language.
477
+ */
478
+ export type ConstrainedSamplingConfig = {
479
+ type: "json_schema";
480
+ strict: "prefer" | "require";
481
+ } | {
482
+ type: "grammar";
483
+ variants: GrammarVariants;
484
+ };
485
+ export interface Tool<TParameters extends TSchema = TSchema> {
486
+ name: string;
487
+ description: string;
488
+ parameters: TParameters;
489
+ constrainedSampling?: false | ConstrainedSamplingConfig;
490
+ }
491
+ export interface ToolReference {
492
+ name: string;
493
+ }
494
+ /**
495
+ * Request input accepted by the public stream entry points (`Models.stream()`,
496
+ * `streamSimple()`, ...). `systemPrompt` and `tools` are shorthand for a leading
497
+ * system message; `normalizeContext()` folds them into one before the request
498
+ * reaches a provider.
499
+ */
500
+ export interface Context {
501
+ systemPrompt?: string;
502
+ messages: Message[];
503
+ tools?: Tool[];
504
+ }
505
+ declare const transcriptContextBrand: unique symbol;
506
+ /**
507
+ * Normalized request context passed to providers and API implementations. The
508
+ * prompt and tool declarations are carried by the transcript's system messages.
509
+ * Only `normalizeContext()` produces this type, so a raw `Context` cannot reach
510
+ * provider code by accident.
511
+ */
512
+ export type TranscriptContext = {
513
+ messages: Message[];
514
+ readonly [transcriptContextBrand]: true;
515
+ };
516
+ /**
517
+ * Event protocol for AssistantMessageEventStream.
518
+ *
519
+ * Successful streams emit `start` before partial updates and terminate with
520
+ * `done`. A stream may terminate directly with `error` when request setup fails
521
+ * before generation starts; after `start`, failures also terminate with `error`.
522
+ * Direct `streamSimple()` calls throw synchronously when request auth is missing.
523
+ * Updates and `done` must never appear before `start`.
524
+ *
525
+ * `partial` is the shared live response-so-far helper, not an event-time
526
+ * snapshot. Text and thinking blocks are empty when their `*_start` event is
527
+ * emitted and grow only through their corresponding `*_delta` events until the
528
+ * authoritative `*_end`. Redacted thinking may be complete at start and emit no
529
+ * deltas. Tool-call arguments at `toolcall_start` are provider-specific;
530
+ * `toolcall_delta` carries subsequent JSON updates.
531
+ */
532
+ export type AssistantMessageEvent = {
533
+ type: "start";
534
+ partial: AssistantMessage;
535
+ } | {
536
+ type: "text_start";
537
+ contentIndex: number;
538
+ partial: AssistantMessage;
539
+ } | {
540
+ type: "text_delta";
541
+ contentIndex: number;
542
+ delta: string;
543
+ partial: AssistantMessage;
544
+ } | {
545
+ type: "text_end";
546
+ contentIndex: number;
547
+ content: string;
548
+ partial: AssistantMessage;
549
+ } | {
550
+ type: "thinking_start";
551
+ contentIndex: number;
552
+ partial: AssistantMessage;
553
+ } | {
554
+ type: "thinking_delta";
555
+ contentIndex: number;
556
+ delta: string;
557
+ partial: AssistantMessage;
558
+ } | {
559
+ type: "thinking_end";
560
+ contentIndex: number;
561
+ content: string;
562
+ partial: AssistantMessage;
563
+ } | {
564
+ type: "toolcall_start";
565
+ contentIndex: number;
566
+ partial: AssistantMessage;
567
+ } | {
568
+ type: "toolcall_delta";
569
+ contentIndex: number;
570
+ delta: string;
571
+ partial: AssistantMessage;
572
+ } | {
573
+ type: "toolcall_end";
574
+ contentIndex: number;
575
+ toolCall: ToolCall;
576
+ partial: AssistantMessage;
577
+ } | {
578
+ type: "done";
579
+ reason: Extract<StopReason, "stop" | "length" | "toolUse" | "deferred">;
580
+ message: AssistantMessage;
581
+ } | {
582
+ type: "error";
583
+ reason: Extract<StopReason, "aborted" | "error">;
584
+ error: AssistantMessage;
585
+ };
586
+ /** Fields shared by every catalog entry, regardless of what you can do with it. */
587
+ export interface BaseModel<TApi extends string> {
588
+ id: string;
589
+ name: string;
590
+ api: TApi;
591
+ provider: ProviderId;
592
+ baseUrl: string;
593
+ input: ModelInputModality[];
594
+ /** Provider input limits and cache-safe preprocessing metadata. */
595
+ inputLimits?: ModelInputLimits;
596
+ cost: ModelCost;
597
+ headers?: Record<string, string>;
598
+ }
599
+ /** Chat model: usable with `stream()` and friends. */
600
+ export interface Model<TApi extends Api> extends BaseModel<TApi> {
601
+ /**
602
+ * Optional: chat is the default model type, so models without `type` are chat
603
+ * models. Narrow mixed model lists with `isModelType()` instead of comparing
604
+ * `type` directly.
605
+ */
606
+ type?: "chat";
607
+ reasoning: boolean;
608
+ /**
609
+ * Maps nyan thinking levels to provider/model-specific values.
610
+ * Missing keys use provider defaults. null marks a level as unsupported.
611
+ */
612
+ thinkingLevelMap?: ThinkingLevelMap;
613
+ /** Prompt cache lifetimes per retention tier. Unset when the provider's cache behavior is unknown. */
614
+ promptCache?: ModelPromptCache;
615
+ contextWindow: number;
616
+ maxTokens: number;
617
+ /** Default sampling parameters for this model. See {@link StreamOptions.samplingParams}; per-request keys override these. */
618
+ samplingParams?: SamplingParams;
619
+ /** Sampling parameter overrides selected by the effective nyan thinking level. */
620
+ samplingParamsByThinkingLevel?: SamplingParamsByThinkingLevel;
621
+ /** Compatibility overrides for OpenAI-compatible APIs. If not set, auto-detected from baseUrl. */
622
+ 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;
623
+ }
624
+ /** Image-generation model: usable with `generateImages()` only. */
625
+ export interface ImageModel<TApi extends ImageApi> extends BaseModel<TApi> {
626
+ type: "image";
627
+ /** Output modalities. Always includes `"image"`; `"text"` means the model can also return text blocks. */
628
+ output: ("text" | "image")[];
629
+ }
630
+ /** Structured classifier model: usable with `classify()` only. */
631
+ export interface ClassifierModel<TApi extends ClassifierApi> extends BaseModel<TApi> {
632
+ type: "classifier";
633
+ contextWindow: number;
634
+ }
635
+ /** Model shape for each model type. */
636
+ export interface ModelTypeMap {
637
+ chat: Model<Api>;
638
+ image: ImageModel<ImageApi>;
639
+ classifier: ClassifierModel<ClassifierApi>;
640
+ }
641
+ /** What a catalog entry is for. Decides which `Models` operation accepts it. */
642
+ export type ModelType = keyof ModelTypeMap;
643
+ /** Anything a provider can list. Narrow with `isModelType()`. */
644
+ export type AnyModel = ModelTypeMap[ModelType];
645
+ //# sourceMappingURL=types.d.ts.map