@sammorrowdrums/mcpi-ai 0.70.8 → 0.85.0-bootstrap.0

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 (795) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +845 -486
  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 +1060 -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-responses.d.ts +15 -0
  12. package/dist/api/azure-openai-responses.d.ts.map +1 -0
  13. package/dist/api/azure-openai-responses.js +242 -0
  14. package/dist/api/azure-openai-responses.js.map +1 -0
  15. package/dist/api/azure-openai-responses.lazy.d.ts +3 -0
  16. package/dist/api/azure-openai-responses.lazy.d.ts.map +1 -0
  17. package/dist/api/azure-openai-responses.lazy.js +3 -0
  18. package/dist/api/azure-openai-responses.lazy.js.map +1 -0
  19. package/dist/api/bedrock-converse-stream.d.ts +38 -0
  20. package/dist/api/bedrock-converse-stream.d.ts.map +1 -0
  21. package/dist/api/bedrock-converse-stream.js +967 -0
  22. package/dist/api/bedrock-converse-stream.js.map +1 -0
  23. package/dist/api/bedrock-converse-stream.lazy.d.ts +9 -0
  24. package/dist/api/bedrock-converse-stream.lazy.d.ts.map +1 -0
  25. package/dist/api/bedrock-converse-stream.lazy.js +30 -0
  26. package/dist/api/bedrock-converse-stream.lazy.js.map +1 -0
  27. package/dist/api/cloudflare-gateway-binding.d.ts +69 -0
  28. package/dist/api/cloudflare-gateway-binding.d.ts.map +1 -0
  29. package/dist/api/cloudflare-gateway-binding.js +159 -0
  30. package/dist/api/cloudflare-gateway-binding.js.map +1 -0
  31. package/dist/api/cloudflare.d.ts +9 -0
  32. package/dist/api/cloudflare.d.ts.map +1 -0
  33. package/dist/api/cloudflare.js +9 -0
  34. package/dist/api/cloudflare.js.map +1 -0
  35. package/dist/api/constrained-sampling.d.ts +20 -0
  36. package/dist/api/constrained-sampling.d.ts.map +1 -0
  37. package/dist/api/constrained-sampling.js +222 -0
  38. package/dist/api/constrained-sampling.js.map +1 -0
  39. package/dist/{providers → api}/github-copilot-headers.d.ts +1 -1
  40. package/dist/api/github-copilot-headers.d.ts.map +1 -0
  41. package/dist/api/github-copilot-headers.js.map +1 -0
  42. package/dist/api/google-generative-ai.d.ts +13 -0
  43. package/dist/api/google-generative-ai.d.ts.map +1 -0
  44. package/dist/api/google-generative-ai.js +417 -0
  45. package/dist/api/google-generative-ai.js.map +1 -0
  46. package/dist/api/google-generative-ai.lazy.d.ts +3 -0
  47. package/dist/api/google-generative-ai.lazy.d.ts.map +1 -0
  48. package/dist/api/google-generative-ai.lazy.js +3 -0
  49. package/dist/api/google-generative-ai.lazy.js.map +1 -0
  50. package/dist/{providers → api}/google-shared.d.ts +23 -7
  51. package/dist/api/google-shared.d.ts.map +1 -0
  52. package/dist/{providers → api}/google-shared.js +76 -30
  53. package/dist/api/google-shared.js.map +1 -0
  54. package/dist/api/google-vertex.d.ts +15 -0
  55. package/dist/api/google-vertex.d.ts.map +1 -0
  56. package/dist/api/google-vertex.js +466 -0
  57. package/dist/api/google-vertex.js.map +1 -0
  58. package/dist/api/google-vertex.lazy.d.ts +3 -0
  59. package/dist/api/google-vertex.lazy.d.ts.map +1 -0
  60. package/dist/api/google-vertex.lazy.js +3 -0
  61. package/dist/api/google-vertex.lazy.js.map +1 -0
  62. package/dist/api/lazy.d.ts +19 -0
  63. package/dist/api/lazy.d.ts.map +1 -0
  64. package/dist/api/lazy.js +70 -0
  65. package/dist/api/lazy.js.map +1 -0
  66. package/dist/api/mistral-conversations.d.ts +25 -0
  67. package/dist/api/mistral-conversations.d.ts.map +1 -0
  68. package/dist/api/mistral-conversations.js +736 -0
  69. package/dist/api/mistral-conversations.js.map +1 -0
  70. package/dist/api/mistral-conversations.lazy.d.ts +3 -0
  71. package/dist/api/mistral-conversations.lazy.d.ts.map +1 -0
  72. package/dist/api/mistral-conversations.lazy.js +3 -0
  73. package/dist/api/mistral-conversations.lazy.js.map +1 -0
  74. package/dist/api/openai-codex-responses.d.ts +31 -0
  75. package/dist/api/openai-codex-responses.d.ts.map +1 -0
  76. package/dist/api/openai-codex-responses.js +1294 -0
  77. package/dist/api/openai-codex-responses.js.map +1 -0
  78. package/dist/api/openai-codex-responses.lazy.d.ts +3 -0
  79. package/dist/api/openai-codex-responses.lazy.d.ts.map +1 -0
  80. package/dist/api/openai-codex-responses.lazy.js +3 -0
  81. package/dist/api/openai-codex-responses.lazy.js.map +1 -0
  82. package/dist/api/openai-completions.d.ts +22 -0
  83. package/dist/api/openai-completions.d.ts.map +1 -0
  84. package/dist/api/openai-completions.js +1279 -0
  85. package/dist/api/openai-completions.js.map +1 -0
  86. package/dist/api/openai-completions.lazy.d.ts +3 -0
  87. package/dist/api/openai-completions.lazy.d.ts.map +1 -0
  88. package/dist/api/openai-completions.lazy.js +3 -0
  89. package/dist/api/openai-completions.lazy.js.map +1 -0
  90. package/dist/api/openai-prompt-cache.d.ts +3 -0
  91. package/dist/api/openai-prompt-cache.d.ts.map +1 -0
  92. package/dist/api/openai-prompt-cache.js +10 -0
  93. package/dist/api/openai-prompt-cache.js.map +1 -0
  94. package/dist/{providers → api}/openai-responses-shared.d.ts +11 -3
  95. package/dist/api/openai-responses-shared.d.ts.map +1 -0
  96. package/dist/api/openai-responses-shared.js +686 -0
  97. package/dist/api/openai-responses-shared.js.map +1 -0
  98. package/dist/{providers → api}/openai-responses.d.ts +5 -4
  99. package/dist/api/openai-responses.d.ts.map +1 -0
  100. package/dist/api/openai-responses.js +283 -0
  101. package/dist/api/openai-responses.js.map +1 -0
  102. package/dist/api/openai-responses.lazy.d.ts +3 -0
  103. package/dist/api/openai-responses.lazy.d.ts.map +1 -0
  104. package/dist/api/openai-responses.lazy.js +3 -0
  105. package/dist/api/openai-responses.lazy.js.map +1 -0
  106. package/dist/api/openrouter-images.d.ts +3 -0
  107. package/dist/api/openrouter-images.d.ts.map +1 -0
  108. package/dist/api/openrouter-images.js +132 -0
  109. package/dist/api/openrouter-images.js.map +1 -0
  110. package/dist/api/openrouter-images.lazy.d.ts +3 -0
  111. package/dist/api/openrouter-images.lazy.d.ts.map +1 -0
  112. package/dist/api/openrouter-images.lazy.js +4 -0
  113. package/dist/api/openrouter-images.lazy.js.map +1 -0
  114. package/dist/api/pi-messages.d.ts +97 -0
  115. package/dist/api/pi-messages.d.ts.map +1 -0
  116. package/dist/api/pi-messages.js +307 -0
  117. package/dist/api/pi-messages.js.map +1 -0
  118. package/dist/api/pi-messages.lazy.d.ts +3 -0
  119. package/dist/api/pi-messages.lazy.d.ts.map +1 -0
  120. package/dist/api/pi-messages.lazy.js +3 -0
  121. package/dist/api/pi-messages.lazy.js.map +1 -0
  122. package/dist/api/simple-options.d.ts +11 -0
  123. package/dist/api/simple-options.d.ts.map +1 -0
  124. package/dist/api/simple-options.js +59 -0
  125. package/dist/api/simple-options.js.map +1 -0
  126. package/dist/{providers → api}/transform-messages.d.ts +1 -1
  127. package/dist/api/transform-messages.d.ts.map +1 -0
  128. package/dist/{providers → api}/transform-messages.js +4 -1
  129. package/dist/api/transform-messages.js.map +1 -0
  130. package/dist/auth/context.d.ts +7 -0
  131. package/dist/auth/context.d.ts.map +1 -0
  132. package/dist/auth/context.js +42 -0
  133. package/dist/auth/context.js.map +1 -0
  134. package/dist/auth/credential-store.d.ts +17 -0
  135. package/dist/auth/credential-store.d.ts.map +1 -0
  136. package/dist/auth/credential-store.js +51 -0
  137. package/dist/auth/credential-store.js.map +1 -0
  138. package/dist/auth/helpers.d.ts +22 -0
  139. package/dist/auth/helpers.d.ts.map +1 -0
  140. package/dist/auth/helpers.js +53 -0
  141. package/dist/auth/helpers.js.map +1 -0
  142. package/dist/auth/oauth/anthropic.d.ts +9 -0
  143. package/dist/auth/oauth/anthropic.d.ts.map +1 -0
  144. package/dist/{utils → auth}/oauth/anthropic.js +66 -93
  145. package/dist/auth/oauth/anthropic.js.map +1 -0
  146. package/dist/auth/oauth/device-code.d.ts +23 -0
  147. package/dist/auth/oauth/device-code.d.ts.map +1 -0
  148. package/dist/auth/oauth/device-code.js +69 -0
  149. package/dist/auth/oauth/device-code.js.map +1 -0
  150. package/dist/auth/oauth/github-copilot.d.ts +6 -0
  151. package/dist/auth/oauth/github-copilot.d.ts.map +1 -0
  152. package/dist/auth/oauth/github-copilot.js +328 -0
  153. package/dist/auth/oauth/github-copilot.js.map +1 -0
  154. package/dist/auth/oauth/kimi-coding.d.ts +10 -0
  155. package/dist/auth/oauth/kimi-coding.d.ts.map +1 -0
  156. package/dist/auth/oauth/kimi-coding.js +261 -0
  157. package/dist/auth/oauth/kimi-coding.js.map +1 -0
  158. package/dist/auth/oauth/load.d.ts +27 -0
  159. package/dist/auth/oauth/load.d.ts.map +1 -0
  160. package/dist/auth/oauth/load.js +59 -0
  161. package/dist/auth/oauth/load.js.map +1 -0
  162. package/dist/auth/oauth/oauth-page.d.ts.map +1 -0
  163. package/dist/auth/oauth/oauth-page.js.map +1 -0
  164. package/dist/auth/oauth/openai-codex.d.ts +9 -0
  165. package/dist/auth/oauth/openai-codex.d.ts.map +1 -0
  166. package/dist/auth/oauth/openai-codex.js +450 -0
  167. package/dist/auth/oauth/openai-codex.js.map +1 -0
  168. package/dist/auth/oauth/openrouter.d.ts +15 -0
  169. package/dist/auth/oauth/openrouter.d.ts.map +1 -0
  170. package/dist/auth/oauth/openrouter.js +277 -0
  171. package/dist/auth/oauth/openrouter.js.map +1 -0
  172. package/dist/auth/oauth/pkce.d.ts.map +1 -0
  173. package/dist/auth/oauth/pkce.js.map +1 -0
  174. package/dist/auth/oauth/radius.d.ts +17 -0
  175. package/dist/auth/oauth/radius.d.ts.map +1 -0
  176. package/dist/auth/oauth/radius.js +321 -0
  177. package/dist/auth/oauth/radius.js.map +1 -0
  178. package/dist/auth/oauth/xai.d.ts +6 -0
  179. package/dist/auth/oauth/xai.d.ts.map +1 -0
  180. package/dist/auth/oauth/xai.js +190 -0
  181. package/dist/auth/oauth/xai.js.map +1 -0
  182. package/dist/auth/resolve.d.ts +27 -0
  183. package/dist/auth/resolve.d.ts.map +1 -0
  184. package/dist/auth/resolve.js +132 -0
  185. package/dist/auth/resolve.js.map +1 -0
  186. package/dist/auth/types.d.ts +231 -0
  187. package/dist/auth/types.d.ts.map +1 -0
  188. package/dist/auth/types.js.map +1 -0
  189. package/dist/bedrock-provider.d.ts +2 -2
  190. package/dist/bedrock-provider.d.ts.map +1 -1
  191. package/dist/bedrock-provider.js +3 -3
  192. package/dist/bedrock-provider.js.map +1 -1
  193. package/dist/bun-oauth.d.ts +3 -0
  194. package/dist/bun-oauth.d.ts.map +1 -0
  195. package/dist/bun-oauth.js +21 -0
  196. package/dist/bun-oauth.js.map +1 -0
  197. package/dist/cli.d.ts.map +1 -1
  198. package/dist/cli.js +60 -63
  199. package/dist/cli.js.map +1 -1
  200. package/dist/compat/extension-oauth-types.d.ts +39 -0
  201. package/dist/compat/extension-oauth-types.d.ts.map +1 -0
  202. package/dist/compat/extension-oauth-types.js +2 -0
  203. package/dist/compat/extension-oauth-types.js.map +1 -0
  204. package/dist/compat.d.ts +67 -0
  205. package/dist/compat.d.ts.map +1 -0
  206. package/dist/compat.js +199 -0
  207. package/dist/compat.js.map +1 -0
  208. package/dist/env-api-keys.d.ts +8 -5
  209. package/dist/env-api-keys.d.ts.map +1 -1
  210. package/dist/env-api-keys.js +60 -22
  211. package/dist/env-api-keys.js.map +1 -1
  212. package/dist/image-models.d.ts +10 -0
  213. package/dist/image-models.d.ts.map +1 -0
  214. package/dist/image-models.generated.d.ts +740 -0
  215. package/dist/image-models.generated.d.ts.map +1 -0
  216. package/dist/image-models.generated.js +742 -0
  217. package/dist/image-models.generated.js.map +1 -0
  218. package/dist/image-models.js +23 -0
  219. package/dist/image-models.js.map +1 -0
  220. package/dist/images-api-registry.d.ts +14 -0
  221. package/dist/images-api-registry.d.ts.map +1 -0
  222. package/dist/images-api-registry.js +22 -0
  223. package/dist/images-api-registry.js.map +1 -0
  224. package/dist/images-models.d.ts +95 -0
  225. package/dist/images-models.d.ts.map +1 -0
  226. package/dist/images-models.js +143 -0
  227. package/dist/images-models.js.map +1 -0
  228. package/dist/images.d.ts +4 -0
  229. package/dist/images.d.ts.map +1 -0
  230. package/dist/images.js +14 -0
  231. package/dist/images.js.map +1 -0
  232. package/dist/index.d.ts +32 -23
  233. package/dist/index.d.ts.map +1 -1
  234. package/dist/index.js +12 -4
  235. package/dist/index.js.map +1 -1
  236. package/dist/legacy-api-aliases.d.ts +42 -0
  237. package/dist/legacy-api-aliases.d.ts.map +1 -0
  238. package/dist/legacy-api-aliases.js +49 -0
  239. package/dist/legacy-api-aliases.js.map +1 -0
  240. package/dist/model-catalog.d.ts +17 -0
  241. package/dist/model-catalog.d.ts.map +1 -0
  242. package/dist/model-catalog.js +4 -0
  243. package/dist/model-catalog.js.map +1 -0
  244. package/dist/models-store.d.ts +29 -0
  245. package/dist/models-store.d.ts.map +1 -0
  246. package/dist/models-store.js +17 -0
  247. package/dist/models-store.js.map +1 -0
  248. package/dist/models.d.ts +191 -15
  249. package/dist/models.d.ts.map +1 -1
  250. package/dist/models.generated.d.ts +78 -15427
  251. package/dist/models.generated.d.ts.map +1 -1
  252. package/dist/models.generated.js +78 -15235
  253. package/dist/models.generated.js.map +1 -1
  254. package/dist/models.js +565 -38
  255. package/dist/models.js.map +1 -1
  256. package/dist/oauth.d.ts +2 -1
  257. package/dist/oauth.d.ts.map +1 -1
  258. package/dist/oauth.js +1 -1
  259. package/dist/oauth.js.map +1 -1
  260. package/dist/providers/all.d.ts +28 -0
  261. package/dist/providers/all.d.ts.map +1 -0
  262. package/dist/providers/all.js +131 -0
  263. package/dist/providers/all.js.map +1 -0
  264. package/dist/providers/amazon-bedrock.d.ts +2 -37
  265. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  266. package/dist/providers/amazon-bedrock.js +81 -724
  267. package/dist/providers/amazon-bedrock.js.map +1 -1
  268. package/dist/providers/amazon-bedrock.models.d.ts +4 -0
  269. package/dist/providers/amazon-bedrock.models.d.ts.map +1 -0
  270. package/dist/providers/amazon-bedrock.models.js +6 -0
  271. package/dist/providers/amazon-bedrock.models.js.map +1 -0
  272. package/dist/providers/ant-ling.d.ts +3 -0
  273. package/dist/providers/ant-ling.d.ts.map +1 -0
  274. package/dist/providers/ant-ling.js +15 -0
  275. package/dist/providers/ant-ling.js.map +1 -0
  276. package/dist/providers/ant-ling.models.d.ts +4 -0
  277. package/dist/providers/ant-ling.models.d.ts.map +1 -0
  278. package/dist/providers/ant-ling.models.js +6 -0
  279. package/dist/providers/ant-ling.models.js.map +1 -0
  280. package/dist/providers/anthropic.d.ts +2 -53
  281. package/dist/providers/anthropic.d.ts.map +1 -1
  282. package/dist/providers/anthropic.js +48 -940
  283. package/dist/providers/anthropic.js.map +1 -1
  284. package/dist/providers/anthropic.models.d.ts +4 -0
  285. package/dist/providers/anthropic.models.d.ts.map +1 -0
  286. package/dist/providers/anthropic.models.js +6 -0
  287. package/dist/providers/anthropic.models.js.map +1 -0
  288. package/dist/providers/azure-openai-responses.d.ts +2 -14
  289. package/dist/providers/azure-openai-responses.d.ts.map +1 -1
  290. package/dist/providers/azure-openai-responses.js +11 -184
  291. package/dist/providers/azure-openai-responses.js.map +1 -1
  292. package/dist/providers/azure-openai-responses.models.d.ts +4 -0
  293. package/dist/providers/azure-openai-responses.models.d.ts.map +1 -0
  294. package/dist/providers/azure-openai-responses.models.js +6 -0
  295. package/dist/providers/azure-openai-responses.models.js.map +1 -0
  296. package/dist/providers/baseten.d.ts +3 -0
  297. package/dist/providers/baseten.d.ts.map +1 -0
  298. package/dist/providers/baseten.js +15 -0
  299. package/dist/providers/baseten.js.map +1 -0
  300. package/dist/providers/baseten.models.d.ts +4 -0
  301. package/dist/providers/baseten.models.d.ts.map +1 -0
  302. package/dist/providers/baseten.models.js +6 -0
  303. package/dist/providers/baseten.models.js.map +1 -0
  304. package/dist/providers/cerebras.d.ts +3 -0
  305. package/dist/providers/cerebras.d.ts.map +1 -0
  306. package/dist/providers/cerebras.js +15 -0
  307. package/dist/providers/cerebras.js.map +1 -0
  308. package/dist/providers/cerebras.models.d.ts +4 -0
  309. package/dist/providers/cerebras.models.d.ts.map +1 -0
  310. package/dist/providers/cerebras.models.js +6 -0
  311. package/dist/providers/cerebras.models.js.map +1 -0
  312. package/dist/providers/cloudflare-ai-gateway.d.ts +3 -0
  313. package/dist/providers/cloudflare-ai-gateway.d.ts.map +1 -0
  314. package/dist/providers/cloudflare-ai-gateway.js +21 -0
  315. package/dist/providers/cloudflare-ai-gateway.js.map +1 -0
  316. package/dist/providers/cloudflare-ai-gateway.models.d.ts +4 -0
  317. package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -0
  318. package/dist/providers/cloudflare-ai-gateway.models.js +6 -0
  319. package/dist/providers/cloudflare-ai-gateway.models.js.map +1 -0
  320. package/dist/providers/cloudflare-auth.d.ts +4 -0
  321. package/dist/providers/cloudflare-auth.d.ts.map +1 -0
  322. package/dist/providers/cloudflare-auth.js +86 -0
  323. package/dist/providers/cloudflare-auth.js.map +1 -0
  324. package/dist/providers/cloudflare-stream.d.ts +8 -0
  325. package/dist/providers/cloudflare-stream.d.ts.map +1 -0
  326. package/dist/providers/cloudflare-stream.js +21 -0
  327. package/dist/providers/cloudflare-stream.js.map +1 -0
  328. package/dist/providers/cloudflare-workers-ai.d.ts +3 -0
  329. package/dist/providers/cloudflare-workers-ai.d.ts.map +1 -0
  330. package/dist/providers/cloudflare-workers-ai.js +15 -0
  331. package/dist/providers/cloudflare-workers-ai.js.map +1 -0
  332. package/dist/providers/cloudflare-workers-ai.models.d.ts +4 -0
  333. package/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -0
  334. package/dist/providers/cloudflare-workers-ai.models.js +6 -0
  335. package/dist/providers/cloudflare-workers-ai.models.js.map +1 -0
  336. package/dist/providers/data/.manifest.json +1 -0
  337. package/dist/providers/data/amazon-bedrock.json +1 -0
  338. package/dist/providers/data/ant-ling.json +1 -0
  339. package/dist/providers/data/anthropic.json +1 -0
  340. package/dist/providers/data/azure-openai-responses.json +1 -0
  341. package/dist/providers/data/baseten.json +1 -0
  342. package/dist/providers/data/cerebras.json +1 -0
  343. package/dist/providers/data/cloudflare-ai-gateway.json +1 -0
  344. package/dist/providers/data/cloudflare-workers-ai.json +1 -0
  345. package/dist/providers/data/deepseek.json +1 -0
  346. package/dist/providers/data/fireworks.json +1 -0
  347. package/dist/providers/data/github-copilot.json +1 -0
  348. package/dist/providers/data/google-vertex.json +1 -0
  349. package/dist/providers/data/google.json +1 -0
  350. package/dist/providers/data/groq.json +1 -0
  351. package/dist/providers/data/huggingface.json +1 -0
  352. package/dist/providers/data/kimi-coding.json +1 -0
  353. package/dist/providers/data/minimax-cn.json +1 -0
  354. package/dist/providers/data/minimax.json +1 -0
  355. package/dist/providers/data/mistral.json +1 -0
  356. package/dist/providers/data/moonshotai-cn.json +1 -0
  357. package/dist/providers/data/moonshotai.json +1 -0
  358. package/dist/providers/data/nvidia.json +1 -0
  359. package/dist/providers/data/openai-codex.json +1 -0
  360. package/dist/providers/data/openai.json +1 -0
  361. package/dist/providers/data/opencode-go.json +1 -0
  362. package/dist/providers/data/opencode.json +1 -0
  363. package/dist/providers/data/openrouter.json +1 -0
  364. package/dist/providers/data/qwen-token-plan-cn.json +1 -0
  365. package/dist/providers/data/qwen-token-plan-individual.json +1 -0
  366. package/dist/providers/data/qwen-token-plan.json +1 -0
  367. package/dist/providers/data/together.json +1 -0
  368. package/dist/providers/data/vercel-ai-gateway.json +1 -0
  369. package/dist/providers/data/xai.json +1 -0
  370. package/dist/providers/data/xiaomi-token-plan-ams.json +1 -0
  371. package/dist/providers/data/xiaomi-token-plan-cn.json +1 -0
  372. package/dist/providers/data/xiaomi-token-plan-sgp.json +1 -0
  373. package/dist/providers/data/xiaomi.json +1 -0
  374. package/dist/providers/data/zai-coding-cn.json +1 -0
  375. package/dist/providers/data/zai.json +1 -0
  376. package/dist/providers/deepseek.d.ts +3 -0
  377. package/dist/providers/deepseek.d.ts.map +1 -0
  378. package/dist/providers/deepseek.js +15 -0
  379. package/dist/providers/deepseek.js.map +1 -0
  380. package/dist/providers/deepseek.models.d.ts +4 -0
  381. package/dist/providers/deepseek.models.d.ts.map +1 -0
  382. package/dist/providers/deepseek.models.js +6 -0
  383. package/dist/providers/deepseek.models.js.map +1 -0
  384. package/dist/providers/faux.d.ts +53 -7
  385. package/dist/providers/faux.d.ts.map +1 -1
  386. package/dist/providers/faux.js +131 -11
  387. package/dist/providers/faux.js.map +1 -1
  388. package/dist/providers/fireworks.d.ts +3 -0
  389. package/dist/providers/fireworks.d.ts.map +1 -0
  390. package/dist/providers/fireworks.js +19 -0
  391. package/dist/providers/fireworks.js.map +1 -0
  392. package/dist/providers/fireworks.models.d.ts +4 -0
  393. package/dist/providers/fireworks.models.d.ts.map +1 -0
  394. package/dist/providers/fireworks.models.js +6 -0
  395. package/dist/providers/fireworks.models.js.map +1 -0
  396. package/dist/providers/github-copilot.d.ts +3 -0
  397. package/dist/providers/github-copilot.d.ts.map +1 -0
  398. package/dist/providers/github-copilot.js +35 -0
  399. package/dist/providers/github-copilot.js.map +1 -0
  400. package/dist/providers/github-copilot.models.d.ts +4 -0
  401. package/dist/providers/github-copilot.models.d.ts.map +1 -0
  402. package/dist/providers/github-copilot.models.js +6 -0
  403. package/dist/providers/github-copilot.models.js.map +1 -0
  404. package/dist/providers/google-vertex.d.ts +2 -14
  405. package/dist/providers/google-vertex.d.ts.map +1 -1
  406. package/dist/providers/google-vertex.js +86 -433
  407. package/dist/providers/google-vertex.js.map +1 -1
  408. package/dist/providers/google-vertex.models.d.ts +4 -0
  409. package/dist/providers/google-vertex.models.d.ts.map +1 -0
  410. package/dist/providers/google-vertex.models.js +6 -0
  411. package/dist/providers/google-vertex.models.js.map +1 -0
  412. package/dist/providers/google.d.ts +2 -12
  413. package/dist/providers/google.d.ts.map +1 -1
  414. package/dist/providers/google.js +12 -396
  415. package/dist/providers/google.js.map +1 -1
  416. package/dist/providers/google.models.d.ts +4 -0
  417. package/dist/providers/google.models.d.ts.map +1 -0
  418. package/dist/providers/google.models.js +6 -0
  419. package/dist/providers/google.models.js.map +1 -0
  420. package/dist/providers/groq.d.ts +3 -0
  421. package/dist/providers/groq.d.ts.map +1 -0
  422. package/dist/providers/groq.js +15 -0
  423. package/dist/providers/groq.js.map +1 -0
  424. package/dist/providers/groq.models.d.ts +4 -0
  425. package/dist/providers/groq.models.d.ts.map +1 -0
  426. package/dist/providers/groq.models.js +6 -0
  427. package/dist/providers/groq.models.js.map +1 -0
  428. package/dist/providers/huggingface.d.ts +3 -0
  429. package/dist/providers/huggingface.d.ts.map +1 -0
  430. package/dist/providers/huggingface.js +15 -0
  431. package/dist/providers/huggingface.js.map +1 -0
  432. package/dist/providers/huggingface.models.d.ts +4 -0
  433. package/dist/providers/huggingface.models.d.ts.map +1 -0
  434. package/dist/providers/huggingface.models.js +6 -0
  435. package/dist/providers/huggingface.models.js.map +1 -0
  436. package/dist/providers/images/register-builtins.d.ts +4 -0
  437. package/dist/providers/images/register-builtins.d.ts.map +1 -0
  438. package/dist/providers/images/register-builtins.js +34 -0
  439. package/dist/providers/images/register-builtins.js.map +1 -0
  440. package/dist/providers/kimi-coding.d.ts +3 -0
  441. package/dist/providers/kimi-coding.d.ts.map +1 -0
  442. package/dist/providers/kimi-coding.js +24 -0
  443. package/dist/providers/kimi-coding.js.map +1 -0
  444. package/dist/providers/kimi-coding.models.d.ts +4 -0
  445. package/dist/providers/kimi-coding.models.d.ts.map +1 -0
  446. package/dist/providers/kimi-coding.models.js +6 -0
  447. package/dist/providers/kimi-coding.models.js.map +1 -0
  448. package/dist/providers/minimax-cn.d.ts +3 -0
  449. package/dist/providers/minimax-cn.d.ts.map +1 -0
  450. package/dist/providers/minimax-cn.js +15 -0
  451. package/dist/providers/minimax-cn.js.map +1 -0
  452. package/dist/providers/minimax-cn.models.d.ts +4 -0
  453. package/dist/providers/minimax-cn.models.d.ts.map +1 -0
  454. package/dist/providers/minimax-cn.models.js +6 -0
  455. package/dist/providers/minimax-cn.models.js.map +1 -0
  456. package/dist/providers/minimax.d.ts +3 -0
  457. package/dist/providers/minimax.d.ts.map +1 -0
  458. package/dist/providers/minimax.js +15 -0
  459. package/dist/providers/minimax.js.map +1 -0
  460. package/dist/providers/minimax.models.d.ts +4 -0
  461. package/dist/providers/minimax.models.d.ts.map +1 -0
  462. package/dist/providers/minimax.models.js +6 -0
  463. package/dist/providers/minimax.models.js.map +1 -0
  464. package/dist/providers/mistral.d.ts +2 -24
  465. package/dist/providers/mistral.d.ts.map +1 -1
  466. package/dist/providers/mistral.js +12 -531
  467. package/dist/providers/mistral.js.map +1 -1
  468. package/dist/providers/mistral.models.d.ts +4 -0
  469. package/dist/providers/mistral.models.d.ts.map +1 -0
  470. package/dist/providers/mistral.models.js +6 -0
  471. package/dist/providers/mistral.models.js.map +1 -0
  472. package/dist/providers/moonshotai-cn.d.ts +3 -0
  473. package/dist/providers/moonshotai-cn.d.ts.map +1 -0
  474. package/dist/providers/moonshotai-cn.js +15 -0
  475. package/dist/providers/moonshotai-cn.js.map +1 -0
  476. package/dist/providers/moonshotai-cn.models.d.ts +4 -0
  477. package/dist/providers/moonshotai-cn.models.d.ts.map +1 -0
  478. package/dist/providers/moonshotai-cn.models.js +6 -0
  479. package/dist/providers/moonshotai-cn.models.js.map +1 -0
  480. package/dist/providers/moonshotai.d.ts +3 -0
  481. package/dist/providers/moonshotai.d.ts.map +1 -0
  482. package/dist/providers/moonshotai.js +15 -0
  483. package/dist/providers/moonshotai.js.map +1 -0
  484. package/dist/providers/moonshotai.models.d.ts +4 -0
  485. package/dist/providers/moonshotai.models.d.ts.map +1 -0
  486. package/dist/providers/moonshotai.models.js +6 -0
  487. package/dist/providers/moonshotai.models.js.map +1 -0
  488. package/dist/providers/nvidia.d.ts +3 -0
  489. package/dist/providers/nvidia.d.ts.map +1 -0
  490. package/dist/providers/nvidia.js +15 -0
  491. package/dist/providers/nvidia.js.map +1 -0
  492. package/dist/providers/nvidia.models.d.ts +4 -0
  493. package/dist/providers/nvidia.models.d.ts.map +1 -0
  494. package/dist/providers/nvidia.models.js +6 -0
  495. package/dist/providers/nvidia.models.js.map +1 -0
  496. package/dist/providers/openai-codex.d.ts +3 -0
  497. package/dist/providers/openai-codex.d.ts.map +1 -0
  498. package/dist/providers/openai-codex.js +22 -0
  499. package/dist/providers/openai-codex.js.map +1 -0
  500. package/dist/providers/openai-codex.models.d.ts +4 -0
  501. package/dist/providers/openai-codex.models.d.ts.map +1 -0
  502. package/dist/providers/openai-codex.models.js +6 -0
  503. package/dist/providers/openai-codex.models.js.map +1 -0
  504. package/dist/providers/openai.d.ts +3 -0
  505. package/dist/providers/openai.d.ts.map +1 -0
  506. package/dist/providers/openai.js +15 -0
  507. package/dist/providers/openai.js.map +1 -0
  508. package/dist/providers/openai.models.d.ts +4 -0
  509. package/dist/providers/openai.models.d.ts.map +1 -0
  510. package/dist/providers/openai.models.js +6 -0
  511. package/dist/providers/openai.models.js.map +1 -0
  512. package/dist/providers/opencode-go.d.ts +3 -0
  513. package/dist/providers/opencode-go.d.ts.map +1 -0
  514. package/dist/providers/opencode-go.js +20 -0
  515. package/dist/providers/opencode-go.js.map +1 -0
  516. package/dist/providers/opencode-go.models.d.ts +4 -0
  517. package/dist/providers/opencode-go.models.d.ts.map +1 -0
  518. package/dist/providers/opencode-go.models.js +6 -0
  519. package/dist/providers/opencode-go.models.js.map +1 -0
  520. package/dist/providers/opencode.d.ts +3 -0
  521. package/dist/providers/opencode.d.ts.map +1 -0
  522. package/dist/providers/opencode.js +22 -0
  523. package/dist/providers/opencode.js.map +1 -0
  524. package/dist/providers/opencode.models.d.ts +4 -0
  525. package/dist/providers/opencode.models.d.ts.map +1 -0
  526. package/dist/providers/opencode.models.js +6 -0
  527. package/dist/providers/opencode.models.js.map +1 -0
  528. package/dist/providers/openrouter-images.d.ts +3 -0
  529. package/dist/providers/openrouter-images.d.ts.map +1 -0
  530. package/dist/providers/openrouter-images.js +22 -0
  531. package/dist/providers/openrouter-images.js.map +1 -0
  532. package/dist/providers/openrouter.d.ts +3 -0
  533. package/dist/providers/openrouter.d.ts.map +1 -0
  534. package/dist/providers/openrouter.js +23 -0
  535. package/dist/providers/openrouter.js.map +1 -0
  536. package/dist/providers/openrouter.models.d.ts +4 -0
  537. package/dist/providers/openrouter.models.d.ts.map +1 -0
  538. package/dist/providers/openrouter.models.js +6 -0
  539. package/dist/providers/openrouter.models.js.map +1 -0
  540. package/dist/providers/qwen-token-plan-cn.d.ts +3 -0
  541. package/dist/providers/qwen-token-plan-cn.d.ts.map +1 -0
  542. package/dist/providers/qwen-token-plan-cn.js +15 -0
  543. package/dist/providers/qwen-token-plan-cn.js.map +1 -0
  544. package/dist/providers/qwen-token-plan-cn.models.d.ts +4 -0
  545. package/dist/providers/qwen-token-plan-cn.models.d.ts.map +1 -0
  546. package/dist/providers/qwen-token-plan-cn.models.js +6 -0
  547. package/dist/providers/qwen-token-plan-cn.models.js.map +1 -0
  548. package/dist/providers/qwen-token-plan-individual.d.ts +3 -0
  549. package/dist/providers/qwen-token-plan-individual.d.ts.map +1 -0
  550. package/dist/providers/qwen-token-plan-individual.js +15 -0
  551. package/dist/providers/qwen-token-plan-individual.js.map +1 -0
  552. package/dist/providers/qwen-token-plan-individual.models.d.ts +4 -0
  553. package/dist/providers/qwen-token-plan-individual.models.d.ts.map +1 -0
  554. package/dist/providers/qwen-token-plan-individual.models.js +6 -0
  555. package/dist/providers/qwen-token-plan-individual.models.js.map +1 -0
  556. package/dist/providers/qwen-token-plan.d.ts +3 -0
  557. package/dist/providers/qwen-token-plan.d.ts.map +1 -0
  558. package/dist/providers/qwen-token-plan.js +15 -0
  559. package/dist/providers/qwen-token-plan.js.map +1 -0
  560. package/dist/providers/qwen-token-plan.models.d.ts +4 -0
  561. package/dist/providers/qwen-token-plan.models.d.ts.map +1 -0
  562. package/dist/providers/qwen-token-plan.models.js +6 -0
  563. package/dist/providers/qwen-token-plan.models.js.map +1 -0
  564. package/dist/providers/radius-config.d.ts +26 -0
  565. package/dist/providers/radius-config.d.ts.map +1 -0
  566. package/dist/providers/radius-config.js +63 -0
  567. package/dist/providers/radius-config.js.map +1 -0
  568. package/dist/providers/radius.d.ts +9 -0
  569. package/dist/providers/radius.d.ts.map +1 -0
  570. package/dist/providers/radius.js +64 -0
  571. package/dist/providers/radius.js.map +1 -0
  572. package/dist/providers/together.d.ts +3 -0
  573. package/dist/providers/together.d.ts.map +1 -0
  574. package/dist/providers/together.js +15 -0
  575. package/dist/providers/together.js.map +1 -0
  576. package/dist/providers/together.models.d.ts +4 -0
  577. package/dist/providers/together.models.d.ts.map +1 -0
  578. package/dist/providers/together.models.js +6 -0
  579. package/dist/providers/together.models.js.map +1 -0
  580. package/dist/providers/vercel-ai-gateway.d.ts +3 -0
  581. package/dist/providers/vercel-ai-gateway.d.ts.map +1 -0
  582. package/dist/providers/vercel-ai-gateway.js +15 -0
  583. package/dist/providers/vercel-ai-gateway.js.map +1 -0
  584. package/dist/providers/vercel-ai-gateway.models.d.ts +4 -0
  585. package/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -0
  586. package/dist/providers/vercel-ai-gateway.models.js +6 -0
  587. package/dist/providers/vercel-ai-gateway.models.js.map +1 -0
  588. package/dist/providers/xai.d.ts +3 -0
  589. package/dist/providers/xai.d.ts.map +1 -0
  590. package/dist/providers/xai.js +28 -0
  591. package/dist/providers/xai.js.map +1 -0
  592. package/dist/providers/xai.models.d.ts +4 -0
  593. package/dist/providers/xai.models.d.ts.map +1 -0
  594. package/dist/providers/xai.models.js +6 -0
  595. package/dist/providers/xai.models.js.map +1 -0
  596. package/dist/providers/xiaomi-token-plan-ams.d.ts +3 -0
  597. package/dist/providers/xiaomi-token-plan-ams.d.ts.map +1 -0
  598. package/dist/providers/xiaomi-token-plan-ams.js +15 -0
  599. package/dist/providers/xiaomi-token-plan-ams.js.map +1 -0
  600. package/dist/providers/xiaomi-token-plan-ams.models.d.ts +4 -0
  601. package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -0
  602. package/dist/providers/xiaomi-token-plan-ams.models.js +6 -0
  603. package/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -0
  604. package/dist/providers/xiaomi-token-plan-cn.d.ts +3 -0
  605. package/dist/providers/xiaomi-token-plan-cn.d.ts.map +1 -0
  606. package/dist/providers/xiaomi-token-plan-cn.js +15 -0
  607. package/dist/providers/xiaomi-token-plan-cn.js.map +1 -0
  608. package/dist/providers/xiaomi-token-plan-cn.models.d.ts +4 -0
  609. package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -0
  610. package/dist/providers/xiaomi-token-plan-cn.models.js +6 -0
  611. package/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -0
  612. package/dist/providers/xiaomi-token-plan-sgp.d.ts +3 -0
  613. package/dist/providers/xiaomi-token-plan-sgp.d.ts.map +1 -0
  614. package/dist/providers/xiaomi-token-plan-sgp.js +15 -0
  615. package/dist/providers/xiaomi-token-plan-sgp.js.map +1 -0
  616. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts +4 -0
  617. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -0
  618. package/dist/providers/xiaomi-token-plan-sgp.models.js +6 -0
  619. package/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -0
  620. package/dist/providers/xiaomi.d.ts +3 -0
  621. package/dist/providers/xiaomi.d.ts.map +1 -0
  622. package/dist/providers/xiaomi.js +15 -0
  623. package/dist/providers/xiaomi.js.map +1 -0
  624. package/dist/providers/xiaomi.models.d.ts +4 -0
  625. package/dist/providers/xiaomi.models.d.ts.map +1 -0
  626. package/dist/providers/xiaomi.models.js +6 -0
  627. package/dist/providers/xiaomi.models.js.map +1 -0
  628. package/dist/providers/zai-coding-cn.d.ts +3 -0
  629. package/dist/providers/zai-coding-cn.d.ts.map +1 -0
  630. package/dist/providers/zai-coding-cn.js +15 -0
  631. package/dist/providers/zai-coding-cn.js.map +1 -0
  632. package/dist/providers/zai-coding-cn.models.d.ts +4 -0
  633. package/dist/providers/zai-coding-cn.models.d.ts.map +1 -0
  634. package/dist/providers/zai-coding-cn.models.js +6 -0
  635. package/dist/providers/zai-coding-cn.models.js.map +1 -0
  636. package/dist/providers/zai.d.ts +3 -0
  637. package/dist/providers/zai.d.ts.map +1 -0
  638. package/dist/providers/zai.js +15 -0
  639. package/dist/providers/zai.js.map +1 -0
  640. package/dist/providers/zai.models.d.ts +4 -0
  641. package/dist/providers/zai.models.d.ts.map +1 -0
  642. package/dist/providers/zai.models.js +6 -0
  643. package/dist/providers/zai.models.js.map +1 -0
  644. package/dist/session-resources.d.ts +4 -0
  645. package/dist/session-resources.d.ts.map +1 -0
  646. package/dist/session-resources.js +22 -0
  647. package/dist/session-resources.js.map +1 -0
  648. package/dist/types.d.ts +361 -49
  649. package/dist/types.d.ts.map +1 -1
  650. package/dist/types.js.map +1 -1
  651. package/dist/utils/abort-signals.d.ts +6 -0
  652. package/dist/utils/abort-signals.d.ts.map +1 -0
  653. package/dist/utils/abort-signals.js +34 -0
  654. package/dist/utils/abort-signals.js.map +1 -0
  655. package/dist/utils/abort.d.ts +8 -0
  656. package/dist/utils/abort.d.ts.map +1 -0
  657. package/dist/utils/abort.js +49 -0
  658. package/dist/utils/abort.js.map +1 -0
  659. package/dist/utils/deferred-tools.d.ts +9 -0
  660. package/dist/utils/deferred-tools.d.ts.map +1 -0
  661. package/dist/utils/deferred-tools.js +36 -0
  662. package/dist/utils/deferred-tools.js.map +1 -0
  663. package/dist/utils/diagnostics.d.ts +19 -0
  664. package/dist/utils/diagnostics.d.ts.map +1 -0
  665. package/dist/utils/diagnostics.js +25 -0
  666. package/dist/utils/diagnostics.js.map +1 -0
  667. package/dist/utils/error-body.d.ts +25 -0
  668. package/dist/utils/error-body.d.ts.map +1 -0
  669. package/dist/utils/error-body.js +133 -0
  670. package/dist/utils/error-body.js.map +1 -0
  671. package/dist/utils/estimate.d.ts +17 -0
  672. package/dist/utils/estimate.d.ts.map +1 -0
  673. package/dist/utils/estimate.js +116 -0
  674. package/dist/utils/estimate.js.map +1 -0
  675. package/dist/utils/event-stream.d.ts +3 -3
  676. package/dist/utils/event-stream.d.ts.map +1 -1
  677. package/dist/utils/event-stream.js +2 -2
  678. package/dist/utils/event-stream.js.map +1 -1
  679. package/dist/utils/headers.d.ts +2 -0
  680. package/dist/utils/headers.d.ts.map +1 -1
  681. package/dist/utils/headers.js +10 -0
  682. package/dist/utils/headers.js.map +1 -1
  683. package/dist/utils/node-http-proxy.d.ts +4 -0
  684. package/dist/utils/node-http-proxy.d.ts.map +1 -0
  685. package/dist/utils/node-http-proxy.js +92 -0
  686. package/dist/utils/node-http-proxy.js.map +1 -0
  687. package/dist/utils/overflow.d.ts +19 -4
  688. package/dist/utils/overflow.d.ts.map +1 -1
  689. package/dist/utils/overflow.js +44 -4
  690. package/dist/utils/overflow.js.map +1 -1
  691. package/dist/utils/pi-user-agent.d.ts +2 -0
  692. package/dist/utils/pi-user-agent.d.ts.map +1 -0
  693. package/dist/utils/pi-user-agent.js +12 -0
  694. package/dist/utils/pi-user-agent.js.map +1 -0
  695. package/dist/utils/provider-env.d.ts +7 -0
  696. package/dist/utils/provider-env.d.ts.map +1 -0
  697. package/dist/utils/provider-env.js +44 -0
  698. package/dist/utils/provider-env.js.map +1 -0
  699. package/dist/utils/provider-retry.d.ts +16 -0
  700. package/dist/utils/provider-retry.d.ts.map +1 -0
  701. package/dist/utils/provider-retry.js +94 -0
  702. package/dist/utils/provider-retry.js.map +1 -0
  703. package/dist/utils/retry.d.ts +53 -0
  704. package/dist/utils/retry.d.ts.map +1 -0
  705. package/dist/utils/retry.js +174 -0
  706. package/dist/utils/retry.js.map +1 -0
  707. package/dist/utils/text.d.ts +6 -0
  708. package/dist/utils/text.d.ts.map +1 -0
  709. package/dist/utils/text.js +10 -0
  710. package/dist/utils/text.js.map +1 -0
  711. package/dist/utils/uuid.d.ts +3 -0
  712. package/dist/utils/uuid.d.ts.map +1 -0
  713. package/dist/utils/uuid.js +46 -0
  714. package/dist/utils/uuid.js.map +1 -0
  715. package/dist/utils/validation.d.ts +1 -1
  716. package/dist/utils/validation.d.ts.map +1 -1
  717. package/dist/utils/validation.js +49 -21
  718. package/dist/utils/validation.js.map +1 -1
  719. package/package.json +52 -55
  720. package/dist/api-registry.d.ts +0 -20
  721. package/dist/api-registry.d.ts.map +0 -1
  722. package/dist/api-registry.js +0 -44
  723. package/dist/api-registry.js.map +0 -1
  724. package/dist/providers/github-copilot-headers.d.ts.map +0 -1
  725. package/dist/providers/github-copilot-headers.js.map +0 -1
  726. package/dist/providers/google-gemini-cli.d.ts +0 -74
  727. package/dist/providers/google-gemini-cli.d.ts.map +0 -1
  728. package/dist/providers/google-gemini-cli.js +0 -779
  729. package/dist/providers/google-gemini-cli.js.map +0 -1
  730. package/dist/providers/google-shared.d.ts.map +0 -1
  731. package/dist/providers/google-shared.js.map +0 -1
  732. package/dist/providers/openai-codex-responses.d.ts +0 -11
  733. package/dist/providers/openai-codex-responses.d.ts.map +0 -1
  734. package/dist/providers/openai-codex-responses.js +0 -779
  735. package/dist/providers/openai-codex-responses.js.map +0 -1
  736. package/dist/providers/openai-completions.d.ts +0 -19
  737. package/dist/providers/openai-completions.d.ts.map +0 -1
  738. package/dist/providers/openai-completions.js +0 -876
  739. package/dist/providers/openai-completions.js.map +0 -1
  740. package/dist/providers/openai-responses-shared.d.ts.map +0 -1
  741. package/dist/providers/openai-responses-shared.js +0 -483
  742. package/dist/providers/openai-responses-shared.js.map +0 -1
  743. package/dist/providers/openai-responses.d.ts.map +0 -1
  744. package/dist/providers/openai-responses.js +0 -208
  745. package/dist/providers/openai-responses.js.map +0 -1
  746. package/dist/providers/register-builtins.d.ts +0 -38
  747. package/dist/providers/register-builtins.d.ts.map +0 -1
  748. package/dist/providers/register-builtins.js +0 -261
  749. package/dist/providers/register-builtins.js.map +0 -1
  750. package/dist/providers/simple-options.d.ts +0 -8
  751. package/dist/providers/simple-options.d.ts.map +0 -1
  752. package/dist/providers/simple-options.js +0 -36
  753. package/dist/providers/simple-options.js.map +0 -1
  754. package/dist/providers/transform-messages.d.ts.map +0 -1
  755. package/dist/providers/transform-messages.js.map +0 -1
  756. package/dist/stream.d.ts +0 -8
  757. package/dist/stream.d.ts.map +0 -1
  758. package/dist/stream.js +0 -27
  759. package/dist/stream.js.map +0 -1
  760. package/dist/utils/oauth/anthropic.d.ts +0 -25
  761. package/dist/utils/oauth/anthropic.d.ts.map +0 -1
  762. package/dist/utils/oauth/anthropic.js.map +0 -1
  763. package/dist/utils/oauth/github-copilot.d.ts +0 -30
  764. package/dist/utils/oauth/github-copilot.d.ts.map +0 -1
  765. package/dist/utils/oauth/github-copilot.js +0 -292
  766. package/dist/utils/oauth/github-copilot.js.map +0 -1
  767. package/dist/utils/oauth/google-antigravity.d.ts +0 -26
  768. package/dist/utils/oauth/google-antigravity.d.ts.map +0 -1
  769. package/dist/utils/oauth/google-antigravity.js +0 -377
  770. package/dist/utils/oauth/google-antigravity.js.map +0 -1
  771. package/dist/utils/oauth/google-gemini-cli.d.ts +0 -26
  772. package/dist/utils/oauth/google-gemini-cli.d.ts.map +0 -1
  773. package/dist/utils/oauth/google-gemini-cli.js +0 -482
  774. package/dist/utils/oauth/google-gemini-cli.js.map +0 -1
  775. package/dist/utils/oauth/index.d.ts +0 -61
  776. package/dist/utils/oauth/index.d.ts.map +0 -1
  777. package/dist/utils/oauth/index.js +0 -131
  778. package/dist/utils/oauth/index.js.map +0 -1
  779. package/dist/utils/oauth/oauth-page.d.ts.map +0 -1
  780. package/dist/utils/oauth/oauth-page.js.map +0 -1
  781. package/dist/utils/oauth/openai-codex.d.ts +0 -34
  782. package/dist/utils/oauth/openai-codex.d.ts.map +0 -1
  783. package/dist/utils/oauth/openai-codex.js +0 -374
  784. package/dist/utils/oauth/openai-codex.js.map +0 -1
  785. package/dist/utils/oauth/pkce.d.ts.map +0 -1
  786. package/dist/utils/oauth/pkce.js.map +0 -1
  787. package/dist/utils/oauth/types.d.ts +0 -47
  788. package/dist/utils/oauth/types.d.ts.map +0 -1
  789. package/dist/utils/oauth/types.js.map +0 -1
  790. /package/dist/{providers → api}/github-copilot-headers.js +0 -0
  791. /package/dist/{utils → auth}/oauth/oauth-page.d.ts +0 -0
  792. /package/dist/{utils → auth}/oauth/oauth-page.js +0 -0
  793. /package/dist/{utils → auth}/oauth/pkce.d.ts +0 -0
  794. /package/dist/{utils → auth}/oauth/pkce.js +0 -0
  795. /package/dist/{utils/oauth → auth}/types.js +0 -0
package/dist/types.d.ts CHANGED
@@ -1,10 +1,32 @@
1
- import type { AssistantMessageEventStream } from "./utils/event-stream.js";
2
- export type { AssistantMessageEventStream } from "./utils/event-stream.js";
3
- export type KnownApi = "openai-completions" | "mistral-conversations" | "openai-responses" | "azure-openai-responses" | "openai-codex-responses" | "anthropic-messages" | "bedrock-converse-stream" | "google-generative-ai" | "google-gemini-cli" | "google-vertex";
1
+ import type { TelemetryContext } from "@sammorrowdrums/mcpi-telemetry";
2
+ import type { AnthropicOptions } from "./api/anthropic-messages.ts";
3
+ import type { AzureOpenAIResponsesOptions } from "./api/azure-openai-responses.ts";
4
+ import type { BedrockOptions } from "./api/bedrock-converse-stream.ts";
5
+ import type { GoogleOptions } from "./api/google-generative-ai.ts";
6
+ import type { GoogleVertexOptions } from "./api/google-vertex.ts";
7
+ import type { MistralOptions } from "./api/mistral-conversations.ts";
8
+ import type { OpenAICodexResponsesOptions } from "./api/openai-codex-responses.ts";
9
+ import type { OpenAICompletionsOptions } from "./api/openai-completions.ts";
10
+ import type { OpenAIResponsesOptions } from "./api/openai-responses.ts";
11
+ import type { PiMessagesOptions } from "./api/pi-messages.ts";
12
+ import type { AssistantMessageDiagnostic } from "./utils/diagnostics.ts";
13
+ import type { AssistantMessageEventStream } from "./utils/event-stream.ts";
14
+ export type { AssistantMessageEventStream } from "./utils/event-stream.ts";
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";
4
16
  export type Api = KnownApi | (string & {});
5
- export type KnownProvider = "amazon-bedrock" | "anthropic" | "google" | "google-gemini-cli" | "google-antigravity" | "google-vertex" | "openai" | "azure-openai-responses" | "openai-codex" | "github-copilot" | "xai" | "groq" | "cerebras" | "openrouter" | "vercel-ai-gateway" | "zai" | "mistral" | "minimax" | "minimax-cn" | "huggingface" | "fireworks" | "opencode" | "opencode-go" | "kimi-coding";
6
- export type Provider = KnownProvider | string;
7
- export type ThinkingLevel = "minimal" | "low" | "medium" | "high" | "xhigh";
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" | "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
+ export type ProviderId = KnownProvider | string;
21
+ export type KnownImagesProvider = "openrouter";
22
+ export type ImagesProviderId = KnownImagesProvider | string;
23
+ export type ThinkingLevel = "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
24
+ export type ModelThinkingLevel = "off" | ThinkingLevel;
25
+ export type ThinkingLevelMap = Partial<Record<ModelThinkingLevel, string | null>>;
26
+ export type ChatTemplateKwargValue = string | number | boolean | null | {
27
+ $var: "thinking.enabled" | "thinking.effort";
28
+ omitWhenOff?: boolean;
29
+ };
8
30
  /** Token budgets for each thinking level (token-based providers only) */
9
31
  export interface ThinkingBudgets {
10
32
  minimal?: number;
@@ -13,48 +35,62 @@ export interface ThinkingBudgets {
13
35
  high?: number;
14
36
  }
15
37
  export type CacheRetention = "none" | "short" | "long";
16
- export type Transport = "sse" | "websocket" | "auto";
38
+ export type Transport = "sse" | "websocket" | "websocket-cached" | "auto";
39
+ /** Provider-scoped environment overrides. Values take precedence over process.env. */
40
+ export type ProviderEnv = Record<string, string>;
41
+ export type ProviderHeaders = Record<string, string | null>;
42
+ export type FetchFunction = typeof globalThis.fetch;
43
+ export type SessionAffinityFormat = "openai" | "openai-nosession" | "openrouter";
17
44
  export interface ProviderResponse {
18
45
  status: number;
19
46
  headers: Record<string, string>;
20
47
  }
21
- export interface StreamOptions {
22
- temperature?: number;
23
- maxTokens?: number;
48
+ /** Authentication, HTTP transport, and lifecycle callbacks shared by provider requests. */
49
+ export interface ProviderRequestOptions<TModel = Model<Api>> {
24
50
  signal?: AbortSignal;
51
+ /** Explicit parent context for telemetry produced by this logical request. */
52
+ telemetryContext?: TelemetryContext;
25
53
  apiKey?: string;
26
54
  /**
27
- * Preferred transport for providers that support multiple transports.
28
- * Providers that do not support this option ignore it.
29
- */
30
- transport?: Transport;
31
- /**
32
- * Prompt cache retention preference. Providers map this to their supported values.
33
- * Default: "short".
55
+ * Optional fetch implementation for provider HTTP requests.
56
+ * Defaults to `globalThis.fetch`. Provider adapters that cannot inject a custom implementation may reject it.
57
+ * This does not affect WebSocket transports.
34
58
  */
35
- cacheRetention?: CacheRetention;
59
+ fetch?: FetchFunction;
36
60
  /**
37
- * Optional session identifier for providers that support session-based caching.
38
- * Providers can use this to enable prompt caching, request routing, or other
39
- * session-aware features. Ignored by providers that don't support it.
61
+ * Provider-scoped environment values. These take precedence over process.env for
62
+ * provider configuration such as regional settings, endpoint placeholders, and
63
+ * proxy variables.
40
64
  */
41
- sessionId?: string;
65
+ env?: ProviderEnv;
42
66
  /**
43
67
  * Optional callback for inspecting or replacing provider payloads before sending.
44
68
  * Return undefined to keep the payload unchanged.
45
69
  */
46
- onPayload?: (payload: unknown, model: Model<Api>) => unknown | undefined | Promise<unknown | undefined>;
70
+ onPayload?: (payload: unknown, model: TModel) => unknown | undefined | Promise<unknown | undefined>;
47
71
  /**
48
- * Optional callback invoked after an HTTP response is received and before
49
- * its body stream is consumed.
72
+ * Optional callback invoked after an HTTP response is received.
50
73
  */
51
- onResponse?: (response: ProviderResponse, model: Model<Api>) => void | Promise<void>;
74
+ onResponse?: (response: ProviderResponse, model: TModel) => void | Promise<void>;
52
75
  /**
53
76
  * Optional custom HTTP headers to include in API requests.
54
- * Merged with provider defaults; can override default headers.
55
- * Not supported by all providers (e.g., AWS Bedrock uses SDK auth).
77
+ * Merged with provider defaults; caller values override default headers.
78
+ * On AWS Bedrock these are injected via a Smithy `build`-step middleware so
79
+ * they are covered by SigV4 signing; reserved headers (`x-amz-*`,
80
+ * `authorization`, `host`) are silently ignored to preserve SigV4 / bearer auth.
81
+ * A null value suppresses a provider/API default header with the same name.
56
82
  */
57
- headers?: Record<string, string>;
83
+ headers?: ProviderHeaders;
84
+ /**
85
+ * HTTP request timeout in milliseconds for providers/SDKs that support it.
86
+ * For example, OpenAI and Anthropic SDK clients default to 10 minutes.
87
+ */
88
+ timeoutMs?: number;
89
+ /**
90
+ * Maximum retry attempts for providers/SDKs that support client-side retries.
91
+ * For example, OpenAI and Anthropic SDK clients default to 2.
92
+ */
93
+ maxRetries?: number;
58
94
  /**
59
95
  * Maximum delay in milliseconds to wait for a retry when the server requests a long wait.
60
96
  * If the server's requested delay exceeds this value, the request fails immediately
@@ -63,6 +99,45 @@ export interface StreamOptions {
63
99
  * Default: 60000 (60 seconds). Set to 0 to disable the cap.
64
100
  */
65
101
  maxRetryDelayMs?: number;
102
+ }
103
+ export interface StreamOptions extends ProviderRequestOptions<Model<Api>> {
104
+ /**
105
+ * Optional callback invoked after an HTTP response is received and before
106
+ * its body stream is consumed.
107
+ */
108
+ onResponse?: (response: ProviderResponse, model: Model<Api>) => void | Promise<void>;
109
+ temperature?: number;
110
+ /**
111
+ * Arbitrary sampling parameters merged into the request body as-is, after the named request
112
+ * fields, so keys here override them. Lets custom OpenAI-compatible servers (llama.cpp, vLLM,
113
+ * SGLang, ...) receive parameters mcpi does not model, e.g. `top_p`, `top_k`, `min_p`,
114
+ * `repetition_penalty`. Merged over `Model.samplingParams` per key. Only applied by
115
+ * OpenAI-compatible adapters (completions, responses, Azure responses); other APIs ignore it.
116
+ */
117
+ samplingParams?: Record<string, unknown>;
118
+ maxTokens?: number;
119
+ /**
120
+ * Preferred transport for providers that support multiple transports.
121
+ * Providers that do not support this option ignore it.
122
+ */
123
+ transport?: Transport;
124
+ /**
125
+ * Prompt cache retention preference. Providers map this to their supported values.
126
+ * Default: "short".
127
+ */
128
+ cacheRetention?: CacheRetention;
129
+ /**
130
+ * Optional session identifier for providers that support session-based caching.
131
+ * Providers can use this to enable prompt caching, request routing, or other
132
+ * session-aware features. Ignored by providers that don't support it.
133
+ */
134
+ sessionId?: string;
135
+ /**
136
+ * WebSocket connect timeout in milliseconds for providers that support
137
+ * WebSocket transports. This covers the connection/open handshake only;
138
+ * stream idleness after connection uses timeoutMs.
139
+ */
140
+ websocketConnectTimeoutMs?: number;
66
141
  /**
67
142
  * Optional metadata to include in API requests.
68
143
  * Providers extract the fields they understand and ignore the rest.
@@ -71,12 +146,79 @@ export interface StreamOptions {
71
146
  metadata?: Record<string, unknown>;
72
147
  }
73
148
  export type ProviderStreamOptions = StreamOptions & Record<string, unknown>;
149
+ export interface DeferredFetchOptions extends ProviderRequestOptions<Model<Api>> {
150
+ /**
151
+ * Maximum provider long-poll duration in milliseconds.
152
+ * Defaults to 0, which performs one status check.
153
+ */
154
+ wait?: number;
155
+ }
156
+ /** Request options for best-effort deferred-response cancellation. */
157
+ export type DeferredCancelOptions = ProviderRequestOptions<Model<Api>>;
158
+ /**
159
+ * Maps known APIs to their full provider-specific stream option types.
160
+ * Type-only imports from API implementation modules are erased at emit, so
161
+ * this is tree-shake safe.
162
+ */
163
+ export interface ApiOptionsMap {
164
+ "anthropic-messages": AnthropicOptions;
165
+ "openai-completions": OpenAICompletionsOptions;
166
+ "openai-responses": OpenAIResponsesOptions;
167
+ "openai-codex-responses": OpenAICodexResponsesOptions;
168
+ "azure-openai-responses": AzureOpenAIResponsesOptions;
169
+ "google-generative-ai": GoogleOptions;
170
+ "google-vertex": GoogleVertexOptions;
171
+ "mistral-conversations": MistralOptions;
172
+ "bedrock-converse-stream": BedrockOptions;
173
+ "pi-messages": PiMessagesOptions;
174
+ }
175
+ /**
176
+ * Full stream options for an API. Known APIs resolve to their concrete option
177
+ * type; custom API strings fall back to the generic shape.
178
+ */
179
+ export type ApiStreamOptions<TApi extends Api> = TApi extends keyof ApiOptionsMap ? ApiOptionsMap[TApi] : StreamOptions & Record<string, unknown>;
180
+ /**
181
+ * The uniform stream contract of an API implementation module: every module
182
+ * under `src/api/` exports `stream` and `streamSimple`; capable modules may also
183
+ * export deferred-response methods. Lazy wrappers (`lazyApi()`) and provider
184
+ * factories pass these around as values. This is the untyped dispatch shape;
185
+ * per-API option typing lives on the implementation modules themselves and on
186
+ * `Provider.stream()` via `ApiStreamOptions`.
187
+ */
188
+ export interface ProviderStreams {
189
+ stream(model: Model<Api>, context: Context, options?: StreamOptions): AssistantMessageEventStream;
190
+ streamSimple(model: Model<Api>, context: Context, options?: SimpleStreamOptions): AssistantMessageEventStream;
191
+ fetchDeferred?(model: Model<Api>, handle: DeferredHandle, options?: DeferredFetchOptions): AssistantMessageEventStream;
192
+ cancelDeferred?(model: Model<Api>, handle: DeferredHandle, options?: DeferredCancelOptions): Promise<void>;
193
+ }
194
+ /**
195
+ * The uniform contract of an image-generation API implementation module:
196
+ * every image API module under `src/api/` exports exactly `generateImages`,
197
+ * so the module itself satisfies this interface. Lazy wrappers and image
198
+ * provider factories pass these around as values.
199
+ */
200
+ export interface ProviderImages {
201
+ generateImages(model: ImagesModel<ImagesApi>, context: ImagesContext, options?: ImagesOptions): Promise<AssistantImages>;
202
+ }
203
+ export interface ImagesOptions extends ProviderRequestOptions<ImagesModel<ImagesApi>> {
204
+ /**
205
+ * Optional metadata to include in API requests.
206
+ * Providers extract the fields they understand and ignore the rest.
207
+ */
208
+ metadata?: Record<string, unknown>;
209
+ }
210
+ export type ProviderImagesOptions = ImagesOptions & Record<string, unknown>;
74
211
  export interface SimpleStreamOptions extends StreamOptions {
75
212
  reasoning?: ThinkingLevel;
213
+ /** Ask a capable provider to return a durable handle and continue the request asynchronously. */
214
+ deferred?: boolean | {
215
+ window?: "15m" | "1h" | "24h";
216
+ };
76
217
  /** Custom token budgets for thinking levels (token-based providers only) */
77
218
  thinkingBudgets?: ThinkingBudgets;
78
219
  }
79
220
  export type StreamFunction<TApi extends Api = Api, TOptions extends StreamOptions = StreamOptions> = (model: Model<TApi>, context: Context, options?: TOptions) => AssistantMessageEventStream;
221
+ export type ImagesFunction<TApi extends ImagesApi = ImagesApi, TOptions extends ImagesOptions = ImagesOptions> = (model: ImagesModel<TApi>, context: ImagesContext, options?: TOptions) => Promise<AssistantImages>;
80
222
  export interface TextSignatureV1 {
81
223
  v: 1;
82
224
  id: string;
@@ -107,12 +249,22 @@ export interface ToolCall {
107
249
  name: string;
108
250
  arguments: Record<string, any>;
109
251
  thoughtSignature?: string;
252
+ /** OpenAI Responses namespace for calls to dynamically loaded or namespaced tools. */
253
+ namespace?: string;
110
254
  }
111
255
  export interface Usage {
112
256
  input: number;
113
257
  output: number;
114
258
  cacheRead: number;
115
259
  cacheWrite: number;
260
+ /** Subset of `cacheWrite` written with 1h retention. Only Anthropic reports this split. */
261
+ cacheWrite1h?: number;
262
+ /**
263
+ * Reasoning/thinking tokens, when the provider reports them. This is a subset of
264
+ * `output`: `output` already includes these tokens. Set to a number (possibly 0) by
265
+ * providers that expose a reasoning breakdown; left undefined by providers that don't.
266
+ */
267
+ reasoning?: number;
116
268
  totalTokens: number;
117
269
  cost: {
118
270
  input: number;
@@ -122,7 +274,21 @@ export interface Usage {
122
274
  total: number;
123
275
  };
124
276
  }
125
- export type StopReason = "stop" | "length" | "toolUse" | "error" | "aborted";
277
+ export type StopReason = "pending" | "stop" | "length" | "toolUse" | "error" | "aborted" | "deferred";
278
+ export type JsonValue = string | number | boolean | null | JsonValue[] | {
279
+ [key: string]: JsonValue;
280
+ };
281
+ export interface DeferredHandle {
282
+ provider: string;
283
+ modelId: string;
284
+ api: string;
285
+ /** Provider token, such as a response id or batch id plus row id. */
286
+ id: string;
287
+ expiresAt?: number;
288
+ pollAfterMs?: number;
289
+ /** Provider conversion data required to reconstruct the final assistant message. */
290
+ data?: JsonValue;
291
+ }
126
292
  export interface UserMessage {
127
293
  role: "user";
128
294
  content: string | (TextContent | ImageContent)[];
@@ -132,12 +298,21 @@ export interface AssistantMessage {
132
298
  role: "assistant";
133
299
  content: (TextContent | ThinkingContent | ToolCall)[];
134
300
  api: Api;
135
- provider: Provider;
301
+ provider: ProviderId;
136
302
  model: string;
303
+ responseModel?: string;
137
304
  responseId?: string;
305
+ diagnostics?: AssistantMessageDiagnostic[];
138
306
  usage: Usage;
139
307
  stopReason: StopReason;
308
+ deferred?: DeferredHandle;
140
309
  errorMessage?: string;
310
+ rawStopReason?: string;
311
+ /**
312
+ * Provider indication of whether the model explicitly ended its turn.
313
+ * Preserved for debugging and does not currently affect agent control flow.
314
+ */
315
+ endTurn?: boolean;
141
316
  timestamp: number;
142
317
  }
143
318
  export interface ToolResultMessage<TDetails = any> {
@@ -146,15 +321,58 @@ export interface ToolResultMessage<TDetails = any> {
146
321
  toolName: string;
147
322
  content: (TextContent | ImageContent)[];
148
323
  details?: TDetails;
324
+ /** Usage from the tool execution itself, if available. Not part of main LLM context accounting. */
325
+ usage?: Usage;
326
+ /**
327
+ * Names from `Context.tools` that became available after this result.
328
+ * Providers with native deferred tool loading use this as the load point;
329
+ * other providers ignore it and use `Context.tools` normally.
330
+ */
331
+ addedToolNames?: string[];
149
332
  isError: boolean;
150
333
  timestamp: number;
151
334
  }
152
335
  export type Message = UserMessage | AssistantMessage | ToolResultMessage;
336
+ export type ImagesInputContent = TextContent | ImageContent;
337
+ export type ImagesOutputContent = TextContent | ImageContent;
338
+ export interface ImagesContext {
339
+ input: ImagesInputContent[];
340
+ }
341
+ export type ImagesStopReason = "stop" | "error" | "aborted";
342
+ export interface AssistantImages {
343
+ api: ImagesApi;
344
+ provider: ImagesProviderId;
345
+ model: string;
346
+ output: ImagesOutputContent[];
347
+ responseId?: string;
348
+ usage?: Usage;
349
+ stopReason: ImagesStopReason;
350
+ errorMessage?: string;
351
+ timestamp: number;
352
+ }
153
353
  import type { TSchema } from "typebox";
354
+ /** OpenAI grammar variants for constrained sampling. */
355
+ export type GrammarFormat = "openai_lark" | "openai_regex";
356
+ export type GrammarVariants = Partial<Record<GrammarFormat, string>>;
357
+ /**
358
+ * Optional provider-side constrained sampling configs for a tool.
359
+ *
360
+ * The `json_schema` value roughly maps to the concept of `strict` in APIs which is
361
+ * implemented as json-schema constrained sampling by APIs. Grammar variants let
362
+ * callers provide provider-specific encodings of the same intended language.
363
+ */
364
+ export type ConstrainedSamplingConfig = {
365
+ type: "json_schema";
366
+ strict: "prefer" | "require";
367
+ } | {
368
+ type: "grammar";
369
+ variants: GrammarVariants;
370
+ };
154
371
  export interface Tool<TParameters extends TSchema = TSchema> {
155
372
  name: string;
156
373
  description: string;
157
374
  parameters: TParameters;
375
+ constrainedSampling?: false | ConstrainedSamplingConfig;
158
376
  }
159
377
  export interface Context {
160
378
  systemPrompt?: string;
@@ -216,7 +434,7 @@ export type AssistantMessageEvent = {
216
434
  partial: AssistantMessage;
217
435
  } | {
218
436
  type: "done";
219
- reason: Extract<StopReason, "stop" | "length" | "toolUse">;
437
+ reason: Extract<StopReason, "stop" | "length" | "toolUse" | "deferred">;
220
438
  message: AssistantMessage;
221
439
  } | {
222
440
  type: "error";
@@ -234,10 +452,10 @@ export interface OpenAICompletionsCompat {
234
452
  supportsDeveloperRole?: boolean;
235
453
  /** Whether the provider supports `reasoning_effort`. Default: auto-detected from URL. */
236
454
  supportsReasoningEffort?: boolean;
237
- /** Optional mapping from pi-ai reasoning levels to provider/model-specific `reasoning_effort` values. */
238
- reasoningEffortMap?: Partial<Record<ThinkingLevel, string>>;
239
455
  /** Whether the provider supports `stream_options: { include_usage: true }` for token usage in streaming responses. Default: true. */
240
456
  supportsUsageInStreaming?: boolean;
457
+ /** Whether streamed responses include `finish_reason`. When false, mcpi infers `stop` or `toolUse` when the stream ends. Default: true. */
458
+ supportsFinishReason?: boolean;
241
459
  /** Which field to use for max tokens. Default: auto-detected from URL. */
242
460
  maxTokensField?: "max_completion_tokens" | "max_tokens";
243
461
  /** Whether tool results require the `name` field. Default: auto-detected from URL. */
@@ -246,29 +464,55 @@ export interface OpenAICompletionsCompat {
246
464
  requiresAssistantAfterToolResult?: boolean;
247
465
  /** Whether thinking blocks must be converted to text blocks with <thinking> delimiters. Default: auto-detected from URL. */
248
466
  requiresThinkingAsText?: boolean;
249
- /** Format for reasoning/thinking parameter. "openai" uses reasoning_effort, "openrouter" uses reasoning: { effort }, "zai" uses top-level enable_thinking: boolean, "qwen" uses top-level enable_thinking: boolean, and "qwen-chat-template" uses chat_template_kwargs.enable_thinking. Default: "openai". */
250
- thinkingFormat?: "openai" | "openrouter" | "zai" | "qwen" | "qwen-chat-template";
251
- /** OpenRouter-specific routing preferences. Only used when baseUrl points to OpenRouter. */
467
+ /** Whether all replayed assistant messages must include an empty reasoning_content field when reasoning is enabled. Default: auto-detected from URL. */
468
+ requiresReasoningContentOnAssistantMessages?: boolean;
469
+ /** Format for reasoning/thinking parameter. "openai" uses reasoning_effort, "openrouter" uses reasoning: { effort }, "deepseek" uses thinking: { type } plus reasoning_effort when supported, "together" uses reasoning: { enabled } plus reasoning_effort when supported, "baseten" uses configurable chat_template_args plus reasoning_effort when supported, "zai" uses thinking: { type }, "qwen" uses top-level enable_thinking: boolean, "qwen-chat-template" uses chat_template_kwargs.enable_thinking and preserve_thinking, "chat-template" uses configurable chat_template_kwargs, "string-thinking" uses top-level thinking: string, and "ant-ling" uses reasoning: { effort } only when the mapped effort is non-null. Default: "openai". */
470
+ thinkingFormat?: "openai" | "openrouter" | "deepseek" | "together" | "baseten" | "zai" | "qwen" | "chat-template" | "qwen-chat-template" | "string-thinking" | "ant-ling";
471
+ /** Kwargs to send as `chat_template_kwargs` when `thinkingFormat` is `chat-template`. Use `{ "$var": "thinking.enabled" }` or `{ "$var": "thinking.effort" }` for mcpi-controlled thinking values. */
472
+ chatTemplateKwargs?: Record<string, ChatTemplateKwargValue>;
473
+ /** Arguments to send as `chat_template_args` when `thinkingFormat` is `baseten`. Use `{ "$var": "thinking.enabled" }` or `{ "$var": "thinking.effort" }` for mcpi-controlled thinking values. */
474
+ chatTemplateArgs?: Record<string, ChatTemplateKwargValue>;
475
+ /** OpenRouter-compatible routing preferences sent as the `provider` request field. */
252
476
  openRouterRouting?: OpenRouterRouting;
253
477
  /** Vercel AI Gateway routing preferences. Only used when baseUrl points to Vercel AI Gateway. */
254
478
  vercelGatewayRouting?: VercelGatewayRouting;
255
479
  /** Whether z.ai supports top-level `tool_stream: true` for streaming tool call deltas. Default: false. */
256
480
  zaiToolStream?: boolean;
481
+ /** Whether the provider supports top-level `thinking_token_budget` to cap reasoning tokens (vLLM). Reasoning and the answer share `max_tokens` on these endpoints, so without a budget a reasoning-heavy turn can consume the whole response and emit no answer. Default: false. */
482
+ supportsThinkingTokenBudget?: boolean;
483
+ /** Whether the provider supports OpenAI custom tools with Lark/regex grammar formats. When false, grammar-constrained tools fall back to normal function tools. Default: false; the generated model catalog enables it for capable models. */
484
+ supportsOpenAIGrammarTools?: boolean;
257
485
  /** Whether the provider supports the `strict` field in tool definitions. Default: true. */
258
486
  supportsStrictMode?: boolean;
259
- /** Cache control convention for prompt caching. "anthropic" applies Anthropic-style `cache_control` markers to the system prompt, last tool definition, and last user/assistant text content. */
487
+ /** Cache control convention for prompt caching. "anthropic" applies Anthropic-style `cache_control` markers to the system prompt, last tool definition, and last user, assistant, or tool-result text content. */
260
488
  cacheControlFormat?: "anthropic";
261
- /** Whether to send known session-affinity headers (`session_id`, `x-client-request-id`, `x-session-affinity`) from `options.sessionId` when caching is enabled. Default: false. */
489
+ /** Whether to send session-affinity data from `options.sessionId`. Default: false. */
262
490
  sendSessionAffinityHeaders?: boolean;
491
+ /** Provider-specific deferred tool serialization mode. */
492
+ deferredToolsMode?: "kimi";
493
+ /** Session-affinity header format: `openai` sends `session_id`, `x-client-request-id`, and `x-session-affinity`; `openai-nosession` sends `x-client-request-id` and `x-session-affinity`; `openrouter` sends `x-session-id`. Does not affect the `prompt_cache_key` body param, which is governed by cache retention. Default: auto-detected. */
494
+ sessionAffinityFormat?: SessionAffinityFormat;
263
495
  /** Whether the provider supports long prompt cache retention (`prompt_cache_retention: "24h"` or Anthropic-style `cache_control.ttl: "1h"`, depending on format). Default: true. */
264
496
  supportsLongCacheRetention?: boolean;
265
497
  }
266
498
  /** Compatibility settings for OpenAI Responses APIs. */
267
499
  export interface OpenAIResponsesCompat {
268
- /** Whether to send the OpenAI `session_id` cache-affinity header from `options.sessionId` when caching is enabled. Default: true. */
269
- sendSessionIdHeader?: boolean;
500
+ /** Whether the provider supports the `developer` role (vs `system`). Default: true. */
501
+ supportsDeveloperRole?: boolean;
502
+ /** Session-affinity header format: `openai` sends `session_id` and `x-client-request-id`; `openai-nosession` sends `x-client-request-id`; `openrouter` sends `x-session-id`. Does not affect the `prompt_cache_key` body param, which is governed by cache retention. Default: auto-detected. */
503
+ sessionAffinityFormat?: SessionAffinityFormat;
270
504
  /** Whether the provider supports `prompt_cache_retention: "24h"`. Default: true. */
271
505
  supportsLongCacheRetention?: boolean;
506
+ /** Whether the provider supports strict JSON-schema function tools. Defaults are API-specific; generated OpenAI models enable it explicitly. */
507
+ supportsStrictMode?: boolean;
508
+ /** Whether to emit OpenAI custom tools with Lark/regex grammar formats. When false, grammar-constrained tools fall back to normal function tools. Default: false; the generated model catalog enables it for capable models. */
509
+ supportsOpenAIGrammarTools?: boolean;
510
+ /** Whether the model supports message-anchored `additional_tools` input items. Default: false. */
511
+ supportsAdditionalTools?: boolean;
512
+ /** Whether the model supports client-executed tool search for deferred tools. Default: false. */
513
+ supportsToolSearch?: boolean;
514
+ /** Whether the model accepts `prompt_cache_options` (OpenAI GPT-5.6+ explicit prompt caching). Older OpenAI models reject the parameter. Default: false. */
515
+ supportsExplicitPromptCacheMode?: boolean;
272
516
  }
273
517
  /** Compatibility settings for Anthropic Messages-compatible APIs. */
274
518
  export interface AnthropicMessagesCompat {
@@ -282,6 +526,53 @@ export interface AnthropicMessagesCompat {
282
526
  supportsEagerToolInputStreaming?: boolean;
283
527
  /** Whether the provider supports Anthropic long cache retention (`cache_control.ttl: "1h"`). Default: true. */
284
528
  supportsLongCacheRetention?: boolean;
529
+ /**
530
+ * Whether to send the `x-session-affinity` header from `options.sessionId`
531
+ * when caching is enabled. Required for providers like Fireworks that use
532
+ * session affinity for prompt cache routing (requests to the same replica
533
+ * maximize cache hits).
534
+ * Default: false.
535
+ */
536
+ sendSessionAffinityHeaders?: boolean;
537
+ /**
538
+ * Whether the provider supports Anthropic-style `cache_control` markers on
539
+ * tool definitions. When false, `cache_control` is omitted from tool params.
540
+ * Some Anthropic-compatible providers (e.g., Fireworks) do not support this
541
+ * field on tools and may reject or ignore it.
542
+ * Default: true.
543
+ */
544
+ supportsCacheControlOnTools?: boolean;
545
+ /**
546
+ * Whether the model accepts the Anthropic `temperature` request field.
547
+ * Claude Opus 4.7+ rejects non-default temperature values.
548
+ * Default: true.
549
+ */
550
+ supportsTemperature?: boolean;
551
+ /**
552
+ * Whether to force adaptive thinking (`thinking.type: "adaptive"` plus
553
+ * `output_config.effort`) regardless of the model id. Built-in models that
554
+ * require adaptive thinking set this in generated metadata. Custom
555
+ * Anthropic-compatible providers can set this to `true` for any model whose
556
+ * upstream requires the adaptive format. Set to `false` to
557
+ * opt out on overridden built-in models.
558
+ * Default: false.
559
+ */
560
+ forceAdaptiveThinking?: boolean;
561
+ /** Whether to replay empty thinking signatures as `signature: ""` instead of converting thinking to text. Default: false. */
562
+ allowEmptySignature?: boolean;
563
+ /** Whether the provider supports Anthropic strict tool schemas. Default: false; generated Anthropic models enable it explicitly. */
564
+ supportsStrictTools?: boolean;
565
+ /**
566
+ * Whether the provider supports deferred tools loaded by `tool_reference`
567
+ * blocks in tool results. Default: true for first-party Anthropic models
568
+ * except Haiku and models older than Claude 4.5; false for other providers.
569
+ */
570
+ supportsToolReferences?: boolean;
571
+ }
572
+ /** Compatibility settings for Amazon Bedrock models. */
573
+ export interface BedrockCompat {
574
+ /** Whether the model supports Bedrock strict tool schemas. Default: false. */
575
+ supportsStrictMode?: boolean;
285
576
  }
286
577
  /**
287
578
  * OpenRouter provider routing preferences.
@@ -362,24 +653,45 @@ export interface VercelGatewayRouting {
362
653
  /** List of provider slugs to try in order (e.g., ["anthropic", "openai"]). */
363
654
  order?: string[];
364
655
  }
656
+ export interface ModelCostRates {
657
+ input: number;
658
+ output: number;
659
+ cacheRead: number;
660
+ cacheWrite: number;
661
+ }
662
+ export interface ModelCostTier extends ModelCostRates {
663
+ /** Use this tier for requests whose total input usage exceeds this token count. */
664
+ inputTokensAbove: number;
665
+ }
666
+ export interface ModelCost extends ModelCostRates {
667
+ /** Request-wide pricing tiers. The highest matching input threshold applies to the full request. */
668
+ tiers?: ModelCostTier[];
669
+ }
365
670
  export interface Model<TApi extends Api> {
366
671
  id: string;
367
672
  name: string;
368
673
  api: TApi;
369
- provider: Provider;
674
+ provider: ProviderId;
370
675
  baseUrl: string;
371
676
  reasoning: boolean;
677
+ /**
678
+ * Maps mcpi thinking levels to provider/model-specific values.
679
+ * Missing keys use provider defaults. null marks a level as unsupported.
680
+ */
681
+ thinkingLevelMap?: ThinkingLevelMap;
372
682
  input: ("text" | "image")[];
373
- cost: {
374
- input: number;
375
- output: number;
376
- cacheRead: number;
377
- cacheWrite: number;
378
- };
683
+ cost: ModelCost;
379
684
  contextWindow: number;
380
685
  maxTokens: number;
686
+ /** Default sampling parameters for this model. See {@link StreamOptions.samplingParams}; per-request keys override these. */
687
+ samplingParams?: Record<string, unknown>;
381
688
  headers?: Record<string, string>;
382
689
  /** Compatibility overrides for OpenAI-compatible APIs. If not set, auto-detected from baseUrl. */
383
- compat?: TApi extends "openai-completions" ? OpenAICompletionsCompat : TApi extends "openai-responses" ? OpenAIResponsesCompat : TApi extends "anthropic-messages" ? AnthropicMessagesCompat : never;
690
+ 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 : never;
691
+ }
692
+ export interface ImagesModel<TApi extends ImagesApi> extends Omit<Model<Api>, "api" | "provider" | "reasoning" | "contextWindow" | "maxTokens" | "compat"> {
693
+ api: TApi;
694
+ provider: ImagesProviderId;
695
+ output: ("text" | "image")[];
384
696
  }
385
697
  //# sourceMappingURL=types.d.ts.map