@prometheus-ai/ai 0.5.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 (369) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +1184 -0
  3. package/dist/types/api-registry.d.ts +30 -0
  4. package/dist/types/auth-broker/client.d.ts +66 -0
  5. package/dist/types/auth-broker/index.d.ts +6 -0
  6. package/dist/types/auth-broker/refresher.d.ts +25 -0
  7. package/dist/types/auth-broker/remote-store.d.ts +101 -0
  8. package/dist/types/auth-broker/server.d.ts +32 -0
  9. package/dist/types/auth-broker/snapshot-cache.d.ts +17 -0
  10. package/dist/types/auth-broker/types.d.ts +107 -0
  11. package/dist/types/auth-broker/wire-schemas.d.ts +412 -0
  12. package/dist/types/auth-gateway/http.d.ts +39 -0
  13. package/dist/types/auth-gateway/index.d.ts +3 -0
  14. package/dist/types/auth-gateway/server.d.ts +36 -0
  15. package/dist/types/auth-gateway/types.d.ts +117 -0
  16. package/dist/types/auth-storage.d.ts +762 -0
  17. package/dist/types/index.d.ts +49 -0
  18. package/dist/types/model-cache.d.ts +17 -0
  19. package/dist/types/model-manager.d.ts +64 -0
  20. package/dist/types/model-thinking.d.ts +100 -0
  21. package/dist/types/models.d.ts +12 -0
  22. package/dist/types/provider-details.d.ts +24 -0
  23. package/dist/types/provider-models/bundled-references.d.ts +4 -0
  24. package/dist/types/provider-models/descriptors.d.ts +50 -0
  25. package/dist/types/provider-models/google.d.ts +24 -0
  26. package/dist/types/provider-models/index.d.ts +5 -0
  27. package/dist/types/provider-models/ollama.d.ts +7 -0
  28. package/dist/types/provider-models/openai-compat.d.ts +323 -0
  29. package/dist/types/provider-models/special.d.ts +16 -0
  30. package/dist/types/providers/amazon-bedrock.d.ts +38 -0
  31. package/dist/types/providers/anthropic-client.d.ts +99 -0
  32. package/dist/types/providers/anthropic-messages-server-schema.d.ts +465 -0
  33. package/dist/types/providers/anthropic-messages-server.d.ts +17 -0
  34. package/dist/types/providers/anthropic-wire.d.ts +262 -0
  35. package/dist/types/providers/anthropic.d.ts +206 -0
  36. package/dist/types/providers/aws-credentials.d.ts +43 -0
  37. package/dist/types/providers/aws-eventstream.d.ts +38 -0
  38. package/dist/types/providers/aws-sigv4.d.ts +55 -0
  39. package/dist/types/providers/azure-openai-responses.d.ts +15 -0
  40. package/dist/types/providers/cursor/gen/agent_pb.d.ts +13022 -0
  41. package/dist/types/providers/cursor.d.ts +43 -0
  42. package/dist/types/providers/error-message.d.ts +27 -0
  43. package/dist/types/providers/github-copilot-headers.d.ts +40 -0
  44. package/dist/types/providers/gitlab-duo.d.ts +27 -0
  45. package/dist/types/providers/google-auth.d.ts +24 -0
  46. package/dist/types/providers/google-gemini-cli.d.ts +81 -0
  47. package/dist/types/providers/google-gemini-headers.d.ts +18 -0
  48. package/dist/types/providers/google-shared.d.ts +171 -0
  49. package/dist/types/providers/google-types.d.ts +138 -0
  50. package/dist/types/providers/google-vertex.d.ts +7 -0
  51. package/dist/types/providers/google.d.ts +4 -0
  52. package/dist/types/providers/grammar.d.ts +1 -0
  53. package/dist/types/providers/kimi.d.ts +27 -0
  54. package/dist/types/providers/mock.d.ts +173 -0
  55. package/dist/types/providers/ollama.d.ts +6 -0
  56. package/dist/types/providers/openai-anthropic-shim.d.ts +31 -0
  57. package/dist/types/providers/openai-chat-server-schema.d.ts +817 -0
  58. package/dist/types/providers/openai-chat-server.d.ts +16 -0
  59. package/dist/types/providers/openai-codex/constants.d.ts +26 -0
  60. package/dist/types/providers/openai-codex/request-transformer.d.ts +49 -0
  61. package/dist/types/providers/openai-codex/response-handler.d.ts +17 -0
  62. package/dist/types/providers/openai-codex-responses.d.ts +67 -0
  63. package/dist/types/providers/openai-completions-compat.d.ts +27 -0
  64. package/dist/types/providers/openai-completions.d.ts +54 -0
  65. package/dist/types/providers/openai-responses-server-schema.d.ts +392 -0
  66. package/dist/types/providers/openai-responses-server.d.ts +17 -0
  67. package/dist/types/providers/openai-responses-shared.d.ts +105 -0
  68. package/dist/types/providers/openai-responses.d.ts +66 -0
  69. package/dist/types/providers/prometheus-native-client.d.ts +13 -0
  70. package/dist/types/providers/prometheus-native-server.d.ts +68 -0
  71. package/dist/types/providers/register-builtins.d.ts +31 -0
  72. package/dist/types/providers/synthetic.d.ts +26 -0
  73. package/dist/types/providers/transform-messages.d.ts +12 -0
  74. package/dist/types/providers/vision-guard.d.ts +20 -0
  75. package/dist/types/providers/xai-responses.d.ts +23 -0
  76. package/dist/types/rate-limit-utils.d.ts +19 -0
  77. package/dist/types/stream.d.ts +28 -0
  78. package/dist/types/types.d.ts +819 -0
  79. package/dist/types/usage/claude.d.ts +4 -0
  80. package/dist/types/usage/gemini.d.ts +2 -0
  81. package/dist/types/usage/github-copilot.d.ts +7 -0
  82. package/dist/types/usage/google-antigravity.d.ts +2 -0
  83. package/dist/types/usage/kimi.d.ts +2 -0
  84. package/dist/types/usage/minimax-code.d.ts +2 -0
  85. package/dist/types/usage/openai-codex.d.ts +3 -0
  86. package/dist/types/usage/shared.d.ts +1 -0
  87. package/dist/types/usage/zai.d.ts +2 -0
  88. package/dist/types/usage.d.ts +260 -0
  89. package/dist/types/utils/abort.d.ts +19 -0
  90. package/dist/types/utils/abortable-iterator.d.ts +4 -0
  91. package/dist/types/utils/anthropic-auth.d.ts +35 -0
  92. package/dist/types/utils/discovery/antigravity.d.ts +61 -0
  93. package/dist/types/utils/discovery/codex.d.ts +38 -0
  94. package/dist/types/utils/discovery/cursor.d.ts +23 -0
  95. package/dist/types/utils/discovery/gemini.d.ts +25 -0
  96. package/dist/types/utils/discovery/index.d.ts +4 -0
  97. package/dist/types/utils/discovery/openai-compatible.d.ts +72 -0
  98. package/dist/types/utils/event-stream.d.ts +28 -0
  99. package/dist/types/utils/fireworks-model-id.d.ts +10 -0
  100. package/dist/types/utils/foundry.d.ts +1 -0
  101. package/dist/types/utils/http-inspector.d.ts +31 -0
  102. package/dist/types/utils/idle-iterator.d.ts +78 -0
  103. package/dist/types/utils/json-parse.d.ts +37 -0
  104. package/dist/types/utils/oauth/__tests__/xai-oauth.test.d.ts +1 -0
  105. package/dist/types/utils/oauth/alibaba-coding-plan.d.ts +18 -0
  106. package/dist/types/utils/oauth/anthropic.d.ts +22 -0
  107. package/dist/types/utils/oauth/api-key-login.d.ts +35 -0
  108. package/dist/types/utils/oauth/api-key-validation.d.ts +27 -0
  109. package/dist/types/utils/oauth/callback-server.d.ts +57 -0
  110. package/dist/types/utils/oauth/cerebras.d.ts +1 -0
  111. package/dist/types/utils/oauth/cloudflare-ai-gateway.d.ts +18 -0
  112. package/dist/types/utils/oauth/cursor.d.ts +15 -0
  113. package/dist/types/utils/oauth/deepseek.d.ts +10 -0
  114. package/dist/types/utils/oauth/firepass.d.ts +1 -0
  115. package/dist/types/utils/oauth/fireworks.d.ts +1 -0
  116. package/dist/types/utils/oauth/github-copilot.d.ts +38 -0
  117. package/dist/types/utils/oauth/gitlab-duo.d.ts +3 -0
  118. package/dist/types/utils/oauth/google-antigravity.d.ts +11 -0
  119. package/dist/types/utils/oauth/google-gemini-cli.d.ts +10 -0
  120. package/dist/types/utils/oauth/google-oauth-shared.d.ts +28 -0
  121. package/dist/types/utils/oauth/huggingface.d.ts +19 -0
  122. package/dist/types/utils/oauth/index.d.ts +38 -0
  123. package/dist/types/utils/oauth/kagi.d.ts +17 -0
  124. package/dist/types/utils/oauth/kilo.d.ts +5 -0
  125. package/dist/types/utils/oauth/kimi.d.ts +21 -0
  126. package/dist/types/utils/oauth/litellm.d.ts +18 -0
  127. package/dist/types/utils/oauth/lm-studio.d.ts +17 -0
  128. package/dist/types/utils/oauth/minimax-code.d.ts +28 -0
  129. package/dist/types/utils/oauth/moonshot.d.ts +1 -0
  130. package/dist/types/utils/oauth/nanogpt.d.ts +1 -0
  131. package/dist/types/utils/oauth/nvidia.d.ts +18 -0
  132. package/dist/types/utils/oauth/ollama-cloud.d.ts +2 -0
  133. package/dist/types/utils/oauth/ollama.d.ts +18 -0
  134. package/dist/types/utils/oauth/openai-codex.d.ts +21 -0
  135. package/dist/types/utils/oauth/opencode.d.ts +18 -0
  136. package/dist/types/utils/oauth/openrouter.d.ts +1 -0
  137. package/dist/types/utils/oauth/parallel.d.ts +17 -0
  138. package/dist/types/utils/oauth/perplexity.d.ts +9 -0
  139. package/dist/types/utils/oauth/pkce.d.ts +8 -0
  140. package/dist/types/utils/oauth/qianfan.d.ts +17 -0
  141. package/dist/types/utils/oauth/qwen-portal.d.ts +19 -0
  142. package/dist/types/utils/oauth/synthetic.d.ts +1 -0
  143. package/dist/types/utils/oauth/tavily.d.ts +17 -0
  144. package/dist/types/utils/oauth/together.d.ts +1 -0
  145. package/dist/types/utils/oauth/types.d.ts +44 -0
  146. package/dist/types/utils/oauth/venice.d.ts +18 -0
  147. package/dist/types/utils/oauth/vercel-ai-gateway.d.ts +18 -0
  148. package/dist/types/utils/oauth/vllm.d.ts +16 -0
  149. package/dist/types/utils/oauth/wafer.d.ts +2 -0
  150. package/dist/types/utils/oauth/xai-oauth.d.ts +60 -0
  151. package/dist/types/utils/oauth/xiaomi.d.ts +25 -0
  152. package/dist/types/utils/oauth/zai.d.ts +18 -0
  153. package/dist/types/utils/oauth/zenmux.d.ts +1 -0
  154. package/dist/types/utils/oauth/zhipu.d.ts +18 -0
  155. package/dist/types/utils/overflow.d.ts +54 -0
  156. package/dist/types/utils/parse-bind.d.ts +23 -0
  157. package/dist/types/utils/provider-response.d.ts +3 -0
  158. package/dist/types/utils/request-debug.d.ts +29 -0
  159. package/dist/types/utils/retry-after.d.ts +3 -0
  160. package/dist/types/utils/retry.d.ts +26 -0
  161. package/dist/types/utils/schema/adapt.d.ts +24 -0
  162. package/dist/types/utils/schema/compatibility.d.ts +30 -0
  163. package/dist/types/utils/schema/dereference.d.ts +11 -0
  164. package/dist/types/utils/schema/draft.d.ts +10 -0
  165. package/dist/types/utils/schema/equality.d.ts +4 -0
  166. package/dist/types/utils/schema/fields.d.ts +49 -0
  167. package/dist/types/utils/schema/index.d.ts +13 -0
  168. package/dist/types/utils/schema/json-schema-validator.d.ts +12 -0
  169. package/dist/types/utils/schema/meta-validator.d.ts +2 -0
  170. package/dist/types/utils/schema/normalize.d.ts +93 -0
  171. package/dist/types/utils/schema/spill.d.ts +8 -0
  172. package/dist/types/utils/schema/stamps.d.ts +25 -0
  173. package/dist/types/utils/schema/types.d.ts +4 -0
  174. package/dist/types/utils/schema/wire.d.ts +53 -0
  175. package/dist/types/utils/schema/zod-decontaminate.d.ts +31 -0
  176. package/dist/types/utils/sdk-stream-timeout.d.ts +33 -0
  177. package/dist/types/utils/sse-debug.d.ts +10 -0
  178. package/dist/types/utils/stream-markup-healing.d.ts +80 -0
  179. package/dist/types/utils/tool-choice.d.ts +50 -0
  180. package/dist/types/utils/validation.d.ts +17 -0
  181. package/dist/types/utils.d.ts +28 -0
  182. package/package.json +142 -0
  183. package/src/api-registry.ts +96 -0
  184. package/src/auth-broker/client.ts +358 -0
  185. package/src/auth-broker/index.ts +6 -0
  186. package/src/auth-broker/refresher.ts +117 -0
  187. package/src/auth-broker/remote-store.ts +637 -0
  188. package/src/auth-broker/server.ts +644 -0
  189. package/src/auth-broker/snapshot-cache.ts +174 -0
  190. package/src/auth-broker/types.ts +130 -0
  191. package/src/auth-broker/wire-schemas.ts +200 -0
  192. package/src/auth-gateway/http.ts +194 -0
  193. package/src/auth-gateway/index.ts +3 -0
  194. package/src/auth-gateway/server.ts +822 -0
  195. package/src/auth-gateway/types.ts +143 -0
  196. package/src/auth-storage.ts +4608 -0
  197. package/src/index.ts +54 -0
  198. package/src/model-cache.ts +129 -0
  199. package/src/model-manager.ts +469 -0
  200. package/src/model-thinking.ts +756 -0
  201. package/src/models.json +60287 -0
  202. package/src/models.json.d.ts +9 -0
  203. package/src/models.ts +56 -0
  204. package/src/prompts/turn-aborted-guidance.md +4 -0
  205. package/src/provider-details.ts +90 -0
  206. package/src/provider-models/bundled-references.ts +38 -0
  207. package/src/provider-models/descriptors.ts +364 -0
  208. package/src/provider-models/google.ts +88 -0
  209. package/src/provider-models/index.ts +5 -0
  210. package/src/provider-models/ollama.ts +153 -0
  211. package/src/provider-models/openai-compat.ts +2904 -0
  212. package/src/provider-models/special.ts +67 -0
  213. package/src/providers/amazon-bedrock.ts +873 -0
  214. package/src/providers/anthropic-client.ts +318 -0
  215. package/src/providers/anthropic-messages-server-schema.ts +243 -0
  216. package/src/providers/anthropic-messages-server.ts +681 -0
  217. package/src/providers/anthropic-wire.ts +268 -0
  218. package/src/providers/anthropic.ts +3106 -0
  219. package/src/providers/aws-credentials.ts +501 -0
  220. package/src/providers/aws-eventstream.ts +185 -0
  221. package/src/providers/aws-sigv4.ts +218 -0
  222. package/src/providers/azure-openai-responses.ts +361 -0
  223. package/src/providers/cursor/gen/agent_pb.ts +15274 -0
  224. package/src/providers/cursor/proto/agent.proto +3526 -0
  225. package/src/providers/cursor/proto/buf.gen.yaml +6 -0
  226. package/src/providers/cursor/proto/buf.yaml +17 -0
  227. package/src/providers/cursor.ts +2621 -0
  228. package/src/providers/error-message.ts +21 -0
  229. package/src/providers/github-copilot-headers.ts +140 -0
  230. package/src/providers/gitlab-duo.ts +372 -0
  231. package/src/providers/google-auth.ts +252 -0
  232. package/src/providers/google-gemini-cli.ts +809 -0
  233. package/src/providers/google-gemini-headers.ts +41 -0
  234. package/src/providers/google-shared.ts +917 -0
  235. package/src/providers/google-types.ts +167 -0
  236. package/src/providers/google-vertex.ts +91 -0
  237. package/src/providers/google.ts +41 -0
  238. package/src/providers/grammar.ts +70 -0
  239. package/src/providers/kimi.ts +52 -0
  240. package/src/providers/mock.ts +496 -0
  241. package/src/providers/ollama.ts +644 -0
  242. package/src/providers/openai-anthropic-shim.ts +138 -0
  243. package/src/providers/openai-chat-server-schema.ts +252 -0
  244. package/src/providers/openai-chat-server.ts +647 -0
  245. package/src/providers/openai-codex/constants.ts +43 -0
  246. package/src/providers/openai-codex/request-transformer.ts +161 -0
  247. package/src/providers/openai-codex/response-handler.ts +81 -0
  248. package/src/providers/openai-codex-responses.ts +3027 -0
  249. package/src/providers/openai-completions-compat.ts +320 -0
  250. package/src/providers/openai-completions.ts +2002 -0
  251. package/src/providers/openai-responses-server-schema.ts +290 -0
  252. package/src/providers/openai-responses-server.ts +1183 -0
  253. package/src/providers/openai-responses-shared.ts +956 -0
  254. package/src/providers/openai-responses.ts +679 -0
  255. package/src/providers/prometheus-native-client.ts +228 -0
  256. package/src/providers/prometheus-native-server.ts +212 -0
  257. package/src/providers/register-builtins.ts +457 -0
  258. package/src/providers/synthetic.ts +50 -0
  259. package/src/providers/transform-messages.ts +382 -0
  260. package/src/providers/vision-guard.ts +52 -0
  261. package/src/providers/xai-responses.ts +82 -0
  262. package/src/rate-limit-utils.ts +91 -0
  263. package/src/stream.ts +1068 -0
  264. package/src/types.ts +965 -0
  265. package/src/usage/claude.ts +482 -0
  266. package/src/usage/gemini.ts +250 -0
  267. package/src/usage/github-copilot.ts +421 -0
  268. package/src/usage/google-antigravity.ts +201 -0
  269. package/src/usage/kimi.ts +271 -0
  270. package/src/usage/minimax-code.ts +31 -0
  271. package/src/usage/openai-codex.ts +503 -0
  272. package/src/usage/shared.ts +10 -0
  273. package/src/usage/zai.ts +247 -0
  274. package/src/usage.ts +185 -0
  275. package/src/utils/abort.ts +51 -0
  276. package/src/utils/abortable-iterator.ts +69 -0
  277. package/src/utils/anthropic-auth.ts +93 -0
  278. package/src/utils/discovery/antigravity.ts +261 -0
  279. package/src/utils/discovery/codex.ts +371 -0
  280. package/src/utils/discovery/cursor.ts +306 -0
  281. package/src/utils/discovery/gemini.ts +248 -0
  282. package/src/utils/discovery/index.ts +4 -0
  283. package/src/utils/discovery/openai-compatible.ts +224 -0
  284. package/src/utils/event-stream.ts +142 -0
  285. package/src/utils/fireworks-model-id.ts +30 -0
  286. package/src/utils/foundry.ts +8 -0
  287. package/src/utils/http-inspector.ts +176 -0
  288. package/src/utils/idle-iterator.ts +273 -0
  289. package/src/utils/json-parse.ts +182 -0
  290. package/src/utils/oauth/__tests__/xai-oauth.test.ts +107 -0
  291. package/src/utils/oauth/alibaba-coding-plan.ts +59 -0
  292. package/src/utils/oauth/anthropic.ts +273 -0
  293. package/src/utils/oauth/api-key-login.ts +87 -0
  294. package/src/utils/oauth/api-key-validation.ts +92 -0
  295. package/src/utils/oauth/callback-server.ts +276 -0
  296. package/src/utils/oauth/cerebras.ts +16 -0
  297. package/src/utils/oauth/cloudflare-ai-gateway.ts +48 -0
  298. package/src/utils/oauth/cursor.ts +157 -0
  299. package/src/utils/oauth/deepseek.ts +53 -0
  300. package/src/utils/oauth/firepass.ts +24 -0
  301. package/src/utils/oauth/fireworks.ts +15 -0
  302. package/src/utils/oauth/github-copilot.ts +362 -0
  303. package/src/utils/oauth/gitlab-duo.ts +123 -0
  304. package/src/utils/oauth/google-antigravity.ts +200 -0
  305. package/src/utils/oauth/google-gemini-cli.ts +256 -0
  306. package/src/utils/oauth/google-oauth-shared.ts +110 -0
  307. package/src/utils/oauth/huggingface.ts +62 -0
  308. package/src/utils/oauth/index.ts +502 -0
  309. package/src/utils/oauth/kagi.ts +47 -0
  310. package/src/utils/oauth/kilo.ts +87 -0
  311. package/src/utils/oauth/kimi.ts +254 -0
  312. package/src/utils/oauth/litellm.ts +47 -0
  313. package/src/utils/oauth/lm-studio.ts +38 -0
  314. package/src/utils/oauth/minimax-code.ts +80 -0
  315. package/src/utils/oauth/moonshot.ts +23 -0
  316. package/src/utils/oauth/nanogpt.ts +15 -0
  317. package/src/utils/oauth/nvidia.ts +70 -0
  318. package/src/utils/oauth/oauth.html +199 -0
  319. package/src/utils/oauth/ollama-cloud.ts +28 -0
  320. package/src/utils/oauth/ollama.ts +47 -0
  321. package/src/utils/oauth/openai-codex.ts +299 -0
  322. package/src/utils/oauth/opencode.ts +49 -0
  323. package/src/utils/oauth/openrouter.ts +20 -0
  324. package/src/utils/oauth/parallel.ts +46 -0
  325. package/src/utils/oauth/perplexity.ts +206 -0
  326. package/src/utils/oauth/pkce.ts +18 -0
  327. package/src/utils/oauth/qianfan.ts +58 -0
  328. package/src/utils/oauth/qwen-portal.ts +60 -0
  329. package/src/utils/oauth/synthetic.ts +15 -0
  330. package/src/utils/oauth/tavily.ts +46 -0
  331. package/src/utils/oauth/together.ts +16 -0
  332. package/src/utils/oauth/types.ts +102 -0
  333. package/src/utils/oauth/venice.ts +59 -0
  334. package/src/utils/oauth/vercel-ai-gateway.ts +47 -0
  335. package/src/utils/oauth/vllm.ts +40 -0
  336. package/src/utils/oauth/wafer.ts +50 -0
  337. package/src/utils/oauth/xai-oauth.ts +342 -0
  338. package/src/utils/oauth/xiaomi.ts +194 -0
  339. package/src/utils/oauth/zai.ts +60 -0
  340. package/src/utils/oauth/zenmux.ts +15 -0
  341. package/src/utils/oauth/zhipu.ts +60 -0
  342. package/src/utils/overflow.ts +137 -0
  343. package/src/utils/parse-bind.ts +54 -0
  344. package/src/utils/provider-response.ts +30 -0
  345. package/src/utils/request-debug.ts +336 -0
  346. package/src/utils/retry-after.ts +110 -0
  347. package/src/utils/retry.ts +54 -0
  348. package/src/utils/schema/CONSTRAINTS.md +164 -0
  349. package/src/utils/schema/adapt.ts +36 -0
  350. package/src/utils/schema/compatibility.ts +435 -0
  351. package/src/utils/schema/dereference.ts +98 -0
  352. package/src/utils/schema/draft.ts +341 -0
  353. package/src/utils/schema/equality.ts +97 -0
  354. package/src/utils/schema/fields.ts +191 -0
  355. package/src/utils/schema/index.ts +13 -0
  356. package/src/utils/schema/json-schema-validator.ts +577 -0
  357. package/src/utils/schema/meta-validator.ts +167 -0
  358. package/src/utils/schema/normalize.ts +1588 -0
  359. package/src/utils/schema/spill.ts +43 -0
  360. package/src/utils/schema/stamps.ts +97 -0
  361. package/src/utils/schema/types.ts +10 -0
  362. package/src/utils/schema/wire.ts +293 -0
  363. package/src/utils/schema/zod-decontaminate.ts +331 -0
  364. package/src/utils/sdk-stream-timeout.ts +43 -0
  365. package/src/utils/sse-debug.ts +289 -0
  366. package/src/utils/stream-markup-healing.ts +612 -0
  367. package/src/utils/tool-choice.ts +99 -0
  368. package/src/utils/validation.ts +1024 -0
  369. package/src/utils.ts +166 -0
@@ -0,0 +1,323 @@
1
+ import type { ModelManagerOptions } from "../model-manager";
2
+ import type { Api, Model, Provider } from "../types";
3
+ export interface ModelsDevModel {
4
+ id?: string;
5
+ name?: string;
6
+ tool_call?: boolean;
7
+ reasoning?: boolean;
8
+ limit?: {
9
+ context?: number;
10
+ output?: number;
11
+ };
12
+ cost?: {
13
+ input?: number;
14
+ output?: number;
15
+ cache_read?: number;
16
+ cache_write?: number;
17
+ };
18
+ modalities?: {
19
+ input?: string[];
20
+ };
21
+ status?: string;
22
+ provider?: {
23
+ npm?: string;
24
+ };
25
+ }
26
+ export interface OpenAIModelManagerConfig {
27
+ apiKey?: string;
28
+ baseUrl?: string;
29
+ }
30
+ export declare function openaiModelManagerOptions(config?: OpenAIModelManagerConfig): ModelManagerOptions<"openai-responses">;
31
+ export interface GroqModelManagerConfig {
32
+ apiKey?: string;
33
+ baseUrl?: string;
34
+ }
35
+ export declare function groqModelManagerOptions(config?: GroqModelManagerConfig): ModelManagerOptions<"openai-completions">;
36
+ export interface CerebrasModelManagerConfig {
37
+ apiKey?: string;
38
+ baseUrl?: string;
39
+ }
40
+ export declare function cerebrasModelManagerOptions(config?: CerebrasModelManagerConfig): ModelManagerOptions<"openai-completions">;
41
+ export interface HuggingfaceModelManagerConfig {
42
+ apiKey?: string;
43
+ baseUrl?: string;
44
+ }
45
+ export declare function huggingfaceModelManagerOptions(config?: HuggingfaceModelManagerConfig): ModelManagerOptions<"openai-completions">;
46
+ export interface NvidiaModelManagerConfig {
47
+ apiKey?: string;
48
+ baseUrl?: string;
49
+ }
50
+ export declare function nvidiaModelManagerOptions(config?: NvidiaModelManagerConfig): ModelManagerOptions<"openai-completions">;
51
+ export interface XaiModelManagerConfig {
52
+ apiKey?: string;
53
+ baseUrl?: string;
54
+ }
55
+ export declare function xaiModelManagerOptions(config?: XaiModelManagerConfig): ModelManagerOptions<"openai-completions">;
56
+ export interface XaiOAuthModelManagerConfig {
57
+ apiKey?: string;
58
+ baseUrl?: string;
59
+ }
60
+ interface XAICuratedModel {
61
+ id: string;
62
+ contextWindow: number;
63
+ name?: string;
64
+ /** Whether the model reasons natively. Defaults to true for Grok-4.x family. */
65
+ reasoning?: boolean;
66
+ /**
67
+ * Whether xAI accepts the `reasoning.effort` wire param for this model.
68
+ * Default true. When false: picker hides the effort dial (via
69
+ * getSupportedEfforts in model-thinking.ts) AND wire-side already omits
70
+ * the param via GROK_EFFORT_CAPABLE_PREFIXES in providers/xai-responses.ts.
71
+ * Must agree with that allowlist; two truths kept in sync by curated-catalog
72
+ * author convention until a follow-up Op: compress unifies them.
73
+ */
74
+ supportsReasoningEffort?: boolean;
75
+ /**
76
+ * Input modalities this model accepts. Defaults to `["text"]` when absent.
77
+ * Vision-capable Grok models MUST list `"image"` here so the curated layer
78
+ * overrides `fetchOpenAICompatibleModels`' default of `["text"]` (which
79
+ * otherwise strips image capability on every online refresh).
80
+ */
81
+ input?: ("text" | "image")[];
82
+ }
83
+ export declare const XAI_OAUTH_CURATED_MODELS: readonly XAICuratedModel[];
84
+ /**
85
+ * Render `XAI_OAUTH_CURATED_MODELS` as full `Model<"openai-responses">` entries.
86
+ *
87
+ * Single source of truth for the curated to Model fan-in, consumed by both
88
+ * - {@link xaiOAuthModelManagerOptions} (runtime static seed handed to the model
89
+ * manager so the picker is populated on a fresh login), and
90
+ * - `packages/ai/scripts/generate-models.ts` (bundles the same entries into
91
+ * `models.json`, so the synchronous `ModelRegistry.#loadModels()` boot path
92
+ * sees `xai-oauth` without waiting for a refresh — fixes the boot-time
93
+ * default-model reset when `modelRoles.default = "xai-oauth/<id>"`).
94
+ *
95
+ * `reasoning` defaults to `true` for the Grok-4.x family; the explicit
96
+ * `grok-4.20-0309-non-reasoning` entry opts out via `XAICuratedModel.reasoning`.
97
+ * `maxTokens` uses `UNK_MAX_TOKENS` so id-keyed overlays from a successful
98
+ * dynamic fetch merge cleanly. Mirrors
99
+ * `hermes-agent/hermes_cli/models.py:_XAI_STATIC_FALLBACK`.
100
+ */
101
+ export declare function buildXaiOAuthStaticSeed(baseUrl?: string): Model<"openai-responses">[];
102
+ export declare function xaiOAuthModelManagerOptions(config?: XaiOAuthModelManagerConfig): ModelManagerOptions<"openai-responses">;
103
+ export interface DeepSeekModelManagerConfig {
104
+ apiKey?: string;
105
+ baseUrl?: string;
106
+ }
107
+ export declare function deepseekModelManagerOptions(config?: DeepSeekModelManagerConfig): ModelManagerOptions<"openai-completions">;
108
+ export interface ZhipuCodingPlanModelManagerConfig {
109
+ apiKey?: string;
110
+ baseUrl?: string;
111
+ }
112
+ export declare function zhipuCodingPlanModelManagerOptions(config?: ZhipuCodingPlanModelManagerConfig): ModelManagerOptions<"openai-completions">;
113
+ /**
114
+ * Fireworks-published cap for the Kimi K2 family. Fireworks' `/v1/models`
115
+ * envelope generically reports `max_completion_tokens: 65536` for every Kimi
116
+ * deployment, but Kimi K2 (instruct / thinking / turbo) on Fireworks is
117
+ * documented to ship long reasoning traces that should be bounded — capping
118
+ * at 32,768 prevents handing callers a budget the router cannot honor.
119
+ * See https://github.com/uttamtrivedi/Prometheus/issues/1849.
120
+ */
121
+ export declare const FIREWORKS_KIMI_MAX_TOKENS = 32768;
122
+ /**
123
+ * Returns true for any Kimi K2.x public model id served by Fireworks-backed
124
+ * providers (`fireworks` direct, `firepass` router). Matches both the public
125
+ * catalog id (`kimi-k2.5`, `kimi-k2.6`, `kimi-k2.6-turbo`) and the canonical
126
+ * Fireworks wire id (`accounts/fireworks/{models,routers}/kimi-k2…`).
127
+ */
128
+ export declare function isFireworksKimiK2ModelId(modelId: string): boolean;
129
+ /**
130
+ * Clamp the Kimi K2 family's `maxTokens` to {@link FIREWORKS_KIMI_MAX_TOKENS}
131
+ * on Fireworks-backed providers, leaving every other model untouched.
132
+ */
133
+ export declare function clampFireworksKimiMaxTokens(modelId: string, candidate: number): number;
134
+ export interface FireworksModelManagerConfig {
135
+ apiKey?: string;
136
+ baseUrl?: string;
137
+ }
138
+ export declare function fireworksModelManagerOptions(config?: FireworksModelManagerConfig): ModelManagerOptions<"openai-completions">;
139
+ export interface FirepassModelManagerConfig {
140
+ apiKey?: string;
141
+ baseUrl?: string;
142
+ }
143
+ /**
144
+ * Fire Pass is a Fireworks subscription product that exposes a single router
145
+ * model (Kimi K2.6 Turbo) under `accounts/fireworks/routers/kimi-k2p6-turbo`.
146
+ * The dedicated `fpk_…` keys do not authorize `/v1/models`, so this manager
147
+ * never performs dynamic discovery — the bundled catalog entry is canonical.
148
+ * See https://docs.fireworks.ai/firepass.
149
+ */
150
+ export declare function firepassModelManagerOptions(_config?: FirepassModelManagerConfig): ModelManagerOptions<"openai-completions">;
151
+ export interface WaferModelManagerConfig {
152
+ apiKey?: string;
153
+ baseUrl?: string;
154
+ }
155
+ export declare function waferPassModelManagerOptions(config?: WaferModelManagerConfig): ModelManagerOptions<"openai-completions">;
156
+ export declare function waferServerlessModelManagerOptions(config?: WaferModelManagerConfig): ModelManagerOptions<"openai-completions">;
157
+ export interface MistralModelManagerConfig {
158
+ apiKey?: string;
159
+ baseUrl?: string;
160
+ }
161
+ export declare function mistralModelManagerOptions(config?: MistralModelManagerConfig): ModelManagerOptions<"openai-completions">;
162
+ export interface OpenCodeModelManagerConfig {
163
+ apiKey?: string;
164
+ baseUrl?: string;
165
+ }
166
+ export declare function opencodeZenModelManagerOptions(config?: OpenCodeModelManagerConfig): ModelManagerOptions<Api>;
167
+ export declare function opencodeGoModelManagerOptions(config?: OpenCodeModelManagerConfig): ModelManagerOptions<Api>;
168
+ export interface OllamaModelManagerConfig {
169
+ apiKey?: string;
170
+ baseUrl?: string;
171
+ }
172
+ export declare function ollamaModelManagerOptions(config?: OllamaModelManagerConfig): ModelManagerOptions<"openai-responses">;
173
+ export interface OpenRouterModelManagerConfig {
174
+ apiKey?: string;
175
+ baseUrl?: string;
176
+ }
177
+ export declare function openrouterModelManagerOptions(config?: OpenRouterModelManagerConfig): ModelManagerOptions<"openai-completions">;
178
+ export interface ZenMuxModelManagerConfig {
179
+ apiKey?: string;
180
+ baseUrl?: string;
181
+ }
182
+ export declare function zenmuxModelManagerOptions(config?: ZenMuxModelManagerConfig): ModelManagerOptions<Api>;
183
+ export interface KiloModelManagerConfig {
184
+ apiKey?: string;
185
+ baseUrl?: string;
186
+ }
187
+ export declare function kiloModelManagerOptions(config?: KiloModelManagerConfig): ModelManagerOptions<"openai-completions">;
188
+ export interface AlibabaCodingPlanModelManagerConfig {
189
+ apiKey?: string;
190
+ baseUrl?: string;
191
+ }
192
+ export declare function alibabaCodingPlanModelManagerOptions(config?: AlibabaCodingPlanModelManagerConfig): ModelManagerOptions<"openai-completions">;
193
+ export interface VercelAiGatewayModelManagerConfig {
194
+ apiKey?: string;
195
+ baseUrl?: string;
196
+ }
197
+ export declare function vercelAiGatewayModelManagerOptions(config?: VercelAiGatewayModelManagerConfig): ModelManagerOptions<"anthropic-messages">;
198
+ export interface KimiCodeModelManagerConfig {
199
+ apiKey?: string;
200
+ baseUrl?: string;
201
+ }
202
+ export declare function kimiCodeModelManagerOptions(config?: KimiCodeModelManagerConfig): ModelManagerOptions<"openai-completions">;
203
+ export interface LmStudioModelManagerConfig {
204
+ apiKey?: string;
205
+ baseUrl?: string;
206
+ }
207
+ export declare function lmStudioModelManagerOptions(config?: LmStudioModelManagerConfig): ModelManagerOptions<"openai-completions">;
208
+ export interface SyntheticModelManagerConfig {
209
+ apiKey?: string;
210
+ baseUrl?: string;
211
+ }
212
+ export declare function syntheticModelManagerOptions(config?: SyntheticModelManagerConfig): ModelManagerOptions<"openai-completions">;
213
+ export interface VeniceModelManagerConfig {
214
+ apiKey?: string;
215
+ baseUrl?: string;
216
+ }
217
+ export declare function veniceModelManagerOptions(config?: VeniceModelManagerConfig): ModelManagerOptions<"openai-completions">;
218
+ export interface TogetherModelManagerConfig {
219
+ apiKey?: string;
220
+ baseUrl?: string;
221
+ }
222
+ export declare function togetherModelManagerOptions(config?: TogetherModelManagerConfig): ModelManagerOptions<"openai-completions">;
223
+ export interface MoonshotModelManagerConfig {
224
+ apiKey?: string;
225
+ baseUrl?: string;
226
+ }
227
+ export declare function moonshotModelManagerOptions(config?: MoonshotModelManagerConfig): ModelManagerOptions<"openai-completions">;
228
+ export interface QwenPortalModelManagerConfig {
229
+ apiKey?: string;
230
+ baseUrl?: string;
231
+ }
232
+ export declare function qwenPortalModelManagerOptions(config?: QwenPortalModelManagerConfig): ModelManagerOptions<"openai-completions">;
233
+ export interface QianfanModelManagerConfig {
234
+ apiKey?: string;
235
+ baseUrl?: string;
236
+ }
237
+ export declare function qianfanModelManagerOptions(config?: QianfanModelManagerConfig): ModelManagerOptions<"openai-completions">;
238
+ export interface CloudflareAiGatewayModelManagerConfig {
239
+ apiKey?: string;
240
+ baseUrl?: string;
241
+ }
242
+ export declare function cloudflareAiGatewayModelManagerOptions(config?: CloudflareAiGatewayModelManagerConfig): ModelManagerOptions<"anthropic-messages">;
243
+ /** Region codes for Xiaomi Token Plan clusters exposed as separate login providers. */
244
+ export type XiaomiTokenPlanRegion = "sgp" | "ams" | "cn";
245
+ /** Configures Xiaomi standard or regional Token Plan OpenAI-compatible model discovery. */
246
+ export interface XiaomiModelManagerConfig {
247
+ apiKey?: string;
248
+ baseUrl?: string;
249
+ providerId?: Provider;
250
+ tokenPlanRegion?: XiaomiTokenPlanRegion;
251
+ }
252
+ /** Builds a Xiaomi model manager, preserving Token Plan region provider ids during discovery. */
253
+ export declare function xiaomiModelManagerOptions(config?: XiaomiModelManagerConfig): ModelManagerOptions<"openai-completions">;
254
+ export interface LiteLLMModelManagerConfig {
255
+ apiKey?: string;
256
+ baseUrl?: string;
257
+ }
258
+ export declare function litellmModelManagerOptions(config?: LiteLLMModelManagerConfig): ModelManagerOptions<"openai-completions">;
259
+ export interface VllmModelManagerConfig {
260
+ apiKey?: string;
261
+ baseUrl?: string;
262
+ }
263
+ export declare function vllmModelManagerOptions(config?: VllmModelManagerConfig): ModelManagerOptions<"openai-completions">;
264
+ export interface NanoGptModelManagerConfig {
265
+ apiKey?: string;
266
+ baseUrl?: string;
267
+ }
268
+ export declare function nanoGptModelManagerOptions(config?: NanoGptModelManagerConfig): ModelManagerOptions<"openai-completions">;
269
+ export interface GithubCopilotModelManagerConfig {
270
+ apiKey?: string;
271
+ baseUrl?: string;
272
+ }
273
+ export declare function githubCopilotModelManagerOptions(config?: GithubCopilotModelManagerConfig): ModelManagerOptions<Api>;
274
+ export interface AnthropicModelManagerConfig {
275
+ apiKey?: string;
276
+ baseUrl?: string;
277
+ }
278
+ export declare function anthropicModelManagerOptions(config?: AnthropicModelManagerConfig): ModelManagerOptions<"anthropic-messages">;
279
+ export declare const UNK_CONTEXT_WINDOW = 222222;
280
+ export declare const UNK_MAX_TOKENS = 8888;
281
+ /** Describes how to map models.dev API data for a single provider. */
282
+ export interface ModelsDevProviderDescriptor {
283
+ /** Key in the models.dev API response JSON (e.g., "anthropic", "amazon-bedrock") */
284
+ modelsDevKey: string;
285
+ /** Provider ID in our system */
286
+ providerId: string;
287
+ /** Default API type for this provider's models */
288
+ api: Api;
289
+ /** Default base URL */
290
+ baseUrl: string;
291
+ /** Default context window fallback (default: UNKNNOWN_CONTEXT_WINDOW) */
292
+ defaultContextWindow?: number;
293
+ /** Default max tokens fallback (default: UNKNNOWN_MAX_TOKENS) */
294
+ defaultMaxTokens?: number;
295
+ /** Optional compat overrides applied to every model from this provider */
296
+ compat?: Model<Api>["compat"];
297
+ /** Optional static headers applied to every model */
298
+ headers?: Record<string, string>;
299
+ /**
300
+ * Optional filter: return false to skip a model.
301
+ * Called with (modelId, rawModel). Default: skip if tool_call !== true.
302
+ */
303
+ filterModel?: (modelId: string, model: ModelsDevModel) => boolean;
304
+ /**
305
+ * Optional transform: modify the mapped model before it's added.
306
+ * Can return null to skip the model, or an array to emit multiple models.
307
+ */
308
+ transformModel?: (model: Model<Api>, modelId: string, raw: ModelsDevModel) => Model<Api> | Model<Api>[] | null;
309
+ /**
310
+ * Optional: override the API type per-model.
311
+ * Called with (modelId, raw). Return the API type to use.
312
+ * If not provided, uses the `api` field.
313
+ */
314
+ resolveApi?: (modelId: string, raw: ModelsDevModel) => {
315
+ api: Api;
316
+ baseUrl: string;
317
+ } | null;
318
+ }
319
+ /** Generic mapper that converts models.dev data using provider descriptors. */
320
+ export declare function mapModelsDevToModels(data: Record<string, unknown>, descriptors: readonly ModelsDevProviderDescriptor[]): Model<Api>[];
321
+ /** All provider descriptors for models.dev data mapping in generate-models.ts. */
322
+ export declare const MODELS_DEV_PROVIDER_DESCRIPTORS: readonly ModelsDevProviderDescriptor[];
323
+ export {};
@@ -0,0 +1,16 @@
1
+ import type { ModelManagerOptions } from "../model-manager";
2
+ export interface OpenAICodexModelManagerConfig {
3
+ accessToken?: string;
4
+ accountId?: string;
5
+ clientVersion?: string;
6
+ }
7
+ export declare function openaiCodexModelManagerOptions(config?: OpenAICodexModelManagerConfig): ModelManagerOptions<"openai-codex-responses">;
8
+ export interface CursorModelManagerConfig {
9
+ apiKey?: string;
10
+ baseUrl?: string;
11
+ clientVersion?: string;
12
+ }
13
+ export declare function cursorModelManagerOptions(config?: CursorModelManagerConfig): ModelManagerOptions<"cursor-agent">;
14
+ export interface ZaiModelManagerConfig {
15
+ }
16
+ export declare function zaiModelManagerOptions(_config?: ZaiModelManagerConfig): ModelManagerOptions<"anthropic-messages">;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Amazon Bedrock Converse Stream provider.
3
+ *
4
+ * Talks directly to `bedrock-runtime.{region}.amazonaws.com` over HTTPS with
5
+ * SigV4 signing and decodes the `application/vnd.amazon.eventstream` response.
6
+ * No `@aws-sdk/*`, no `@smithy/*`, no `proxy-agent`. Proxies are honored via
7
+ * Bun's native `HTTPS_PROXY` support.
8
+ */
9
+ import type { Effort } from "../model-thinking";
10
+ import type { StreamFunction, StreamOptions, ThinkingBudgets } from "../types";
11
+ export type BedrockThinkingDisplay = "summarized" | "omitted";
12
+ export interface BedrockOptions extends StreamOptions {
13
+ region?: string;
14
+ profile?: string;
15
+ /** Amazon Bedrock API key sent as `Authorization: Bearer`, ahead of SigV4 credential resolution. */
16
+ bearerToken?: string;
17
+ toolChoice?: "auto" | "any" | "none" | {
18
+ type: "tool";
19
+ name: string;
20
+ };
21
+ reasoning?: Effort;
22
+ thinkingBudgets?: ThinkingBudgets;
23
+ interleavedThinking?: boolean;
24
+ /**
25
+ * Controls how Claude returns thinking content in Bedrock responses.
26
+ * - `"summarized"`: thinking blocks include human-readable summaries (default here).
27
+ * - `"omitted"`: thinking content is suppressed; the encrypted signature still
28
+ * travels back for multi-turn continuity.
29
+ *
30
+ * Starting with Claude Opus 4.7 the Anthropic API default is `"omitted"`, which
31
+ * leaves callers waiting on a silent stream during long reasoning runs (issue
32
+ * #1373). We default to `"summarized"` so adaptive-thinking models that accept
33
+ * the field keep producing visible thinking deltas. Older adaptive-thinking
34
+ * models (Opus 4.6, Sonnet 4.6+) reject the field, so we omit it for them.
35
+ */
36
+ thinkingDisplay?: BedrockThinkingDisplay;
37
+ }
38
+ export declare const streamBedrock: StreamFunction<"bedrock-converse-stream">;
@@ -0,0 +1,99 @@
1
+ import type { FetchImpl } from "../types";
2
+ import type { MessageCreateParamsStreaming } from "./anthropic-wire";
3
+ /** Per-request options accepted by {@link AnthropicMessages.create}. */
4
+ export interface AnthropicRequestOptions {
5
+ signal?: AbortSignal;
6
+ /** Pre-response timeout in milliseconds. */
7
+ timeout?: number;
8
+ /** Per-request retry budget override. */
9
+ maxRetries?: number;
10
+ }
11
+ /**
12
+ * Extra `RequestInit` fields merged into every fetch call. Bun extends
13
+ * `RequestInit` with a `tls` option used for the Claude Code TLS profile and
14
+ * Foundry mTLS.
15
+ */
16
+ export type AnthropicFetchOptions = RequestInit & {
17
+ tls?: {
18
+ rejectUnauthorized?: boolean;
19
+ serverName?: string;
20
+ ciphers?: string;
21
+ ca?: string | string[];
22
+ cert?: string;
23
+ key?: string;
24
+ };
25
+ };
26
+ export interface AnthropicClientOptions {
27
+ /** Sent as `X-Api-Key` unless the header is already present in `defaultHeaders`. */
28
+ apiKey?: string | null;
29
+ /** Sent as `Authorization: Bearer <token>` unless the header is already present in `defaultHeaders`. */
30
+ authToken?: string | null;
31
+ baseURL?: string | null;
32
+ maxRetries?: number;
33
+ /** Pre-response timeout in milliseconds. Defaults to 10 minutes. */
34
+ timeout?: number;
35
+ defaultHeaders?: Record<string, string>;
36
+ fetch?: FetchImpl;
37
+ fetchOptions?: AnthropicFetchOptions;
38
+ }
39
+ /** Non-2xx response from the Anthropic API. */
40
+ export declare class AnthropicApiError extends Error {
41
+ readonly status: number;
42
+ readonly headers: Headers;
43
+ readonly requestId: string | null;
44
+ constructor(status: number, message: string, headers: Headers);
45
+ static fromResponse(response: Response): Promise<AnthropicApiError>;
46
+ }
47
+ /** Network-level failure (DNS, TLS, socket reset) after retries were exhausted. */
48
+ export declare class AnthropicConnectionError extends Error {
49
+ constructor(cause: unknown);
50
+ }
51
+ /** No response headers arrived within the configured request timeout. */
52
+ export declare class AnthropicConnectionTimeoutError extends Error {
53
+ constructor();
54
+ }
55
+ /**
56
+ * Lazy in-flight request handle. The HTTP request starts on the first
57
+ * `asResponse()` call; subsequent calls return the same promise.
58
+ *
59
+ * Shape-compatible with the SDK's `APIPromise.asResponse()` so
60
+ * `getAnthropicStreamResponse` treats internal and injected clients uniformly.
61
+ */
62
+ export declare class AnthropicApiRequest {
63
+ #private;
64
+ constructor(start: () => Promise<Response>);
65
+ asResponse(): Promise<Response>;
66
+ }
67
+ /**
68
+ * `messages` resource. `create` lives on the prototype so tests can intercept
69
+ * every outgoing request with `vi.spyOn(AnthropicMessages.prototype, "create")`.
70
+ */
71
+ export declare class AnthropicMessages {
72
+ #private;
73
+ constructor(client: AnthropicMessagesClient, path: string);
74
+ create(params: MessageCreateParamsStreaming, options?: AnthropicRequestOptions): AnthropicApiRequest;
75
+ }
76
+ /**
77
+ * Structural interface satisfied by both {@link AnthropicMessagesClient} and
78
+ * SDK-style clients (e.g. `AnthropicVertex`), so callers can inject an
79
+ * alternative Messages-API client via `AnthropicOptions.client`.
80
+ */
81
+ export interface AnthropicMessagesClientLike {
82
+ messages: {
83
+ create(params: MessageCreateParamsStreaming, options?: AnthropicRequestOptions): unknown;
84
+ };
85
+ beta?: {
86
+ messages: {
87
+ create(params: MessageCreateParamsStreaming, options?: AnthropicRequestOptions): unknown;
88
+ };
89
+ };
90
+ }
91
+ export declare class AnthropicMessagesClient implements AnthropicMessagesClientLike {
92
+ #private;
93
+ readonly messages: AnthropicMessages;
94
+ readonly beta: {
95
+ readonly messages: AnthropicMessages;
96
+ };
97
+ constructor(options: AnthropicClientOptions);
98
+ request(path: string, params: MessageCreateParamsStreaming, options?: AnthropicRequestOptions): AnthropicApiRequest;
99
+ }