@aryee337/aery-ai 0.1.148 → 0.2.10

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 (592) hide show
  1. package/CHANGELOG.md +2914 -0
  2. package/README.md +614 -813
  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 +5 -0
  6. package/dist/types/auth-broker/refresher.d.ts +25 -0
  7. package/dist/types/auth-broker/remote-store.d.ts +96 -0
  8. package/dist/types/auth-broker/server.d.ts +32 -0
  9. package/dist/types/auth-broker/types.d.ts +105 -0
  10. package/dist/types/auth-broker/wire-schemas.d.ts +412 -0
  11. package/dist/types/auth-gateway/http.d.ts +39 -0
  12. package/dist/types/auth-gateway/index.d.ts +3 -0
  13. package/dist/types/auth-gateway/server.d.ts +36 -0
  14. package/dist/types/auth-gateway/types.d.ts +117 -0
  15. package/dist/types/auth-storage.d.ts +739 -0
  16. package/dist/types/index.d.ts +49 -0
  17. package/dist/types/model-cache.d.ts +17 -0
  18. package/dist/types/model-manager.d.ts +64 -0
  19. package/dist/types/model-thinking.d.ts +100 -0
  20. package/dist/types/models.d.ts +12 -0
  21. package/dist/types/provider-details.d.ts +24 -0
  22. package/dist/types/provider-models/bundled-references.d.ts +4 -0
  23. package/dist/types/provider-models/descriptors.d.ts +50 -0
  24. package/dist/types/provider-models/google.d.ts +24 -0
  25. package/dist/types/provider-models/index.d.ts +5 -0
  26. package/dist/types/provider-models/ollama.d.ts +7 -0
  27. package/dist/types/provider-models/openai-compat.d.ts +296 -0
  28. package/dist/types/provider-models/special.d.ts +16 -0
  29. package/dist/types/providers/aery-native-client.d.ts +13 -0
  30. package/dist/types/providers/aery-native-server.d.ts +68 -0
  31. package/dist/types/providers/amazon-bedrock.d.ts +38 -0
  32. package/dist/types/providers/anthropic-client.d.ts +99 -0
  33. package/dist/types/providers/anthropic-messages-server-schema.d.ts +465 -0
  34. package/dist/types/providers/anthropic-messages-server.d.ts +17 -0
  35. package/dist/types/providers/anthropic-wire.d.ts +262 -0
  36. package/dist/types/providers/anthropic.d.ts +206 -0
  37. package/dist/types/providers/aws-credentials.d.ts +43 -0
  38. package/dist/types/providers/aws-eventstream.d.ts +38 -0
  39. package/dist/types/providers/aws-sigv4.d.ts +55 -0
  40. package/dist/types/providers/azure-openai-responses.d.ts +15 -0
  41. package/dist/types/providers/cursor/gen/agent_pb.d.ts +13022 -0
  42. package/dist/types/providers/cursor.d.ts +43 -0
  43. package/dist/types/providers/error-message.d.ts +27 -0
  44. package/dist/types/providers/github-copilot-headers.d.ts +40 -0
  45. package/dist/types/providers/gitlab-duo.d.ts +27 -0
  46. package/dist/types/providers/google-auth.d.ts +24 -0
  47. package/dist/types/providers/google-gemini-cli.d.ts +81 -0
  48. package/dist/types/providers/google-gemini-headers.d.ts +18 -0
  49. package/dist/types/providers/google-shared.d.ts +171 -0
  50. package/dist/types/providers/google-types.d.ts +138 -0
  51. package/dist/types/providers/google-vertex.d.ts +7 -0
  52. package/dist/types/providers/google.d.ts +4 -0
  53. package/dist/types/providers/grammar.d.ts +1 -0
  54. package/dist/types/providers/kimi.d.ts +27 -0
  55. package/dist/types/providers/mock.d.ts +173 -0
  56. package/dist/types/providers/ollama.d.ts +6 -0
  57. package/dist/types/providers/openai-anthropic-shim.d.ts +31 -0
  58. package/dist/types/providers/openai-chat-server-schema.d.ts +817 -0
  59. package/dist/types/providers/openai-chat-server.d.ts +16 -0
  60. package/dist/types/providers/openai-codex/constants.d.ts +26 -0
  61. package/dist/types/providers/openai-codex/request-transformer.d.ts +49 -0
  62. package/dist/types/providers/openai-codex/response-handler.d.ts +17 -0
  63. package/dist/types/providers/openai-codex-responses.d.ts +67 -0
  64. package/dist/types/providers/openai-completions-compat.d.ts +25 -0
  65. package/dist/types/providers/openai-completions.d.ts +54 -0
  66. package/dist/types/providers/openai-responses-server-schema.d.ts +392 -0
  67. package/dist/types/providers/openai-responses-server.d.ts +17 -0
  68. package/dist/types/providers/openai-responses-shared.d.ts +100 -0
  69. package/dist/types/providers/openai-responses.d.ts +66 -0
  70. package/dist/types/providers/register-builtins.d.ts +31 -0
  71. package/dist/types/providers/synthetic.d.ts +26 -0
  72. package/dist/{providers → types/providers}/transform-messages.d.ts +6 -2
  73. package/dist/types/providers/vision-guard.d.ts +8 -0
  74. package/dist/types/providers/xai-responses.d.ts +23 -0
  75. package/dist/types/rate-limit-utils.d.ts +19 -0
  76. package/dist/types/stream.d.ts +28 -0
  77. package/dist/types/types.d.ts +801 -0
  78. package/dist/types/usage/claude.d.ts +4 -0
  79. package/dist/types/usage/gemini.d.ts +2 -0
  80. package/dist/types/usage/github-copilot.d.ts +7 -0
  81. package/dist/types/usage/google-antigravity.d.ts +2 -0
  82. package/dist/types/usage/kimi.d.ts +2 -0
  83. package/dist/types/usage/minimax-code.d.ts +2 -0
  84. package/dist/types/usage/openai-codex.d.ts +3 -0
  85. package/dist/types/usage/shared.d.ts +1 -0
  86. package/dist/types/usage/zai.d.ts +2 -0
  87. package/dist/types/usage.d.ts +260 -0
  88. package/dist/types/utils/abort.d.ts +19 -0
  89. package/dist/types/utils/abortable-iterator.d.ts +4 -0
  90. package/dist/types/utils/anthropic-auth.d.ts +35 -0
  91. package/dist/types/utils/discovery/antigravity.d.ts +61 -0
  92. package/dist/types/utils/discovery/codex.d.ts +38 -0
  93. package/dist/types/utils/discovery/cursor.d.ts +23 -0
  94. package/dist/types/utils/discovery/gemini.d.ts +25 -0
  95. package/dist/types/utils/discovery/index.d.ts +4 -0
  96. package/dist/types/utils/discovery/openai-compatible.d.ts +72 -0
  97. package/dist/types/utils/event-stream.d.ts +28 -0
  98. package/dist/types/utils/fireworks-model-id.d.ts +10 -0
  99. package/dist/types/utils/foundry.d.ts +1 -0
  100. package/dist/types/utils/http-inspector.d.ts +31 -0
  101. package/dist/types/utils/idle-iterator.d.ts +78 -0
  102. package/dist/types/utils/json-parse.d.ts +37 -0
  103. package/dist/types/utils/oauth/__tests__/xai-oauth.test.d.ts +1 -0
  104. package/dist/types/utils/oauth/alibaba-coding-plan.d.ts +18 -0
  105. package/dist/types/utils/oauth/anthropic.d.ts +22 -0
  106. package/dist/types/utils/oauth/api-key-login.d.ts +35 -0
  107. package/dist/types/utils/oauth/api-key-validation.d.ts +27 -0
  108. package/dist/types/utils/oauth/callback-server.d.ts +57 -0
  109. package/dist/types/utils/oauth/cerebras.d.ts +1 -0
  110. package/dist/types/utils/oauth/cloudflare-ai-gateway.d.ts +18 -0
  111. package/dist/types/utils/oauth/cursor.d.ts +15 -0
  112. package/dist/types/utils/oauth/deepseek.d.ts +10 -0
  113. package/dist/types/utils/oauth/firepass.d.ts +1 -0
  114. package/dist/types/utils/oauth/fireworks.d.ts +1 -0
  115. package/dist/types/utils/oauth/github-copilot.d.ts +38 -0
  116. package/dist/types/utils/oauth/gitlab-duo.d.ts +3 -0
  117. package/dist/types/utils/oauth/google-antigravity.d.ts +11 -0
  118. package/dist/types/utils/oauth/google-gemini-cli.d.ts +10 -0
  119. package/dist/types/utils/oauth/google-oauth-shared.d.ts +28 -0
  120. package/dist/types/utils/oauth/huggingface.d.ts +19 -0
  121. package/dist/types/utils/oauth/index.d.ts +38 -0
  122. package/dist/types/utils/oauth/kagi.d.ts +17 -0
  123. package/dist/types/utils/oauth/kilo.d.ts +5 -0
  124. package/dist/types/utils/oauth/kimi.d.ts +21 -0
  125. package/dist/types/utils/oauth/litellm.d.ts +18 -0
  126. package/dist/types/utils/oauth/lm-studio.d.ts +17 -0
  127. package/dist/types/utils/oauth/minimax-code.d.ts +28 -0
  128. package/dist/types/utils/oauth/moonshot.d.ts +1 -0
  129. package/dist/types/utils/oauth/nanogpt.d.ts +1 -0
  130. package/dist/types/utils/oauth/nvidia.d.ts +18 -0
  131. package/dist/types/utils/oauth/ollama-cloud.d.ts +2 -0
  132. package/dist/types/utils/oauth/ollama.d.ts +18 -0
  133. package/dist/types/utils/oauth/openai-codex.d.ts +21 -0
  134. package/dist/types/utils/oauth/opencode.d.ts +18 -0
  135. package/dist/types/utils/oauth/openrouter.d.ts +1 -0
  136. package/dist/types/utils/oauth/parallel.d.ts +17 -0
  137. package/dist/types/utils/oauth/perplexity.d.ts +9 -0
  138. package/dist/{utils → types/utils}/oauth/pkce.d.ts +0 -5
  139. package/dist/types/utils/oauth/qianfan.d.ts +17 -0
  140. package/dist/types/utils/oauth/qwen-portal.d.ts +19 -0
  141. package/dist/types/utils/oauth/synthetic.d.ts +1 -0
  142. package/dist/types/utils/oauth/tavily.d.ts +17 -0
  143. package/dist/types/utils/oauth/together.d.ts +1 -0
  144. package/dist/types/utils/oauth/types.d.ts +44 -0
  145. package/dist/types/utils/oauth/venice.d.ts +18 -0
  146. package/dist/types/utils/oauth/vercel-ai-gateway.d.ts +18 -0
  147. package/dist/types/utils/oauth/vllm.d.ts +16 -0
  148. package/dist/types/utils/oauth/wafer.d.ts +2 -0
  149. package/dist/types/utils/oauth/xai-oauth.d.ts +60 -0
  150. package/dist/types/utils/oauth/xiaomi.d.ts +19 -0
  151. package/dist/types/utils/oauth/zai.d.ts +18 -0
  152. package/dist/types/utils/oauth/zenmux.d.ts +1 -0
  153. package/dist/types/utils/oauth/zhipu.d.ts +18 -0
  154. package/dist/{utils → types/utils}/overflow.d.ts +9 -11
  155. package/dist/types/utils/parse-bind.d.ts +23 -0
  156. package/dist/types/utils/provider-response.d.ts +3 -0
  157. package/dist/types/utils/request-debug.d.ts +29 -0
  158. package/dist/types/utils/retry-after.d.ts +3 -0
  159. package/dist/types/utils/retry.d.ts +26 -0
  160. package/dist/types/utils/schema/adapt.d.ts +24 -0
  161. package/dist/types/utils/schema/compatibility.d.ts +30 -0
  162. package/dist/types/utils/schema/dereference.d.ts +11 -0
  163. package/dist/types/utils/schema/draft.d.ts +10 -0
  164. package/dist/types/utils/schema/equality.d.ts +4 -0
  165. package/dist/types/utils/schema/fields.d.ts +49 -0
  166. package/dist/types/utils/schema/index.d.ts +13 -0
  167. package/dist/types/utils/schema/json-schema-validator.d.ts +12 -0
  168. package/dist/types/utils/schema/meta-validator.d.ts +2 -0
  169. package/dist/types/utils/schema/normalize.d.ts +93 -0
  170. package/dist/types/utils/schema/spill.d.ts +8 -0
  171. package/dist/types/utils/schema/stamps.d.ts +25 -0
  172. package/dist/types/utils/schema/types.d.ts +4 -0
  173. package/dist/types/utils/schema/wire.d.ts +53 -0
  174. package/dist/types/utils/schema/zod-decontaminate.d.ts +31 -0
  175. package/dist/types/utils/sdk-stream-timeout.d.ts +33 -0
  176. package/dist/types/utils/sse-debug.d.ts +10 -0
  177. package/dist/types/utils/stream-markup-healing.d.ts +80 -0
  178. package/dist/types/utils/tool-choice.d.ts +50 -0
  179. package/dist/types/utils/validation.d.ts +17 -0
  180. package/dist/types/utils.d.ts +28 -0
  181. package/package.json +139 -105
  182. package/src/api-registry.ts +96 -0
  183. package/src/auth-broker/client.ts +358 -0
  184. package/src/auth-broker/index.ts +5 -0
  185. package/src/auth-broker/refresher.ts +117 -0
  186. package/src/auth-broker/remote-store.ts +623 -0
  187. package/src/auth-broker/server.ts +644 -0
  188. package/src/auth-broker/types.ts +127 -0
  189. package/src/auth-broker/wire-schemas.ts +200 -0
  190. package/src/auth-gateway/http.ts +194 -0
  191. package/src/auth-gateway/index.ts +3 -0
  192. package/src/auth-gateway/server.ts +818 -0
  193. package/src/auth-gateway/types.ts +143 -0
  194. package/src/auth-storage.ts +4422 -0
  195. package/src/index.ts +54 -0
  196. package/src/model-cache.ts +129 -0
  197. package/src/model-manager.ts +469 -0
  198. package/src/model-thinking.ts +782 -0
  199. package/src/models.json +83530 -0
  200. package/src/models.json.d.ts +9 -0
  201. package/src/models.ts +56 -0
  202. package/src/prompts/turn-aborted-guidance.md +4 -0
  203. package/src/provider-details.ts +90 -0
  204. package/src/provider-models/bundled-references.ts +38 -0
  205. package/src/provider-models/descriptors.ts +355 -0
  206. package/src/provider-models/google.ts +88 -0
  207. package/src/provider-models/index.ts +5 -0
  208. package/src/provider-models/ollama.ts +153 -0
  209. package/src/provider-models/openai-compat.ts +2817 -0
  210. package/src/provider-models/special.ts +67 -0
  211. package/src/providers/aery-native-client.ts +228 -0
  212. package/src/providers/aery-native-server.ts +212 -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 +683 -0
  217. package/src/providers/anthropic-wire.ts +268 -0
  218. package/src/providers/anthropic.ts +3094 -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 +3018 -0
  249. package/src/providers/openai-completions-compat.ts +300 -0
  250. package/src/providers/openai-completions.ts +1979 -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 +873 -0
  254. package/src/providers/openai-responses.ts +679 -0
  255. package/src/providers/register-builtins.ts +436 -0
  256. package/src/providers/synthetic.ts +50 -0
  257. package/src/providers/transform-messages.ts +382 -0
  258. package/src/providers/vision-guard.ts +31 -0
  259. package/src/providers/xai-responses.ts +82 -0
  260. package/src/rate-limit-utils.ts +84 -0
  261. package/src/stream.ts +1065 -0
  262. package/src/types.ts +944 -0
  263. package/src/usage/claude.ts +482 -0
  264. package/src/usage/gemini.ts +250 -0
  265. package/src/usage/github-copilot.ts +421 -0
  266. package/src/usage/google-antigravity.ts +201 -0
  267. package/src/usage/kimi.ts +271 -0
  268. package/src/usage/minimax-code.ts +31 -0
  269. package/src/usage/openai-codex.ts +503 -0
  270. package/src/usage/shared.ts +10 -0
  271. package/src/usage/zai.ts +247 -0
  272. package/src/usage.ts +185 -0
  273. package/src/utils/abort.ts +51 -0
  274. package/src/utils/abortable-iterator.ts +69 -0
  275. package/src/utils/anthropic-auth.ts +93 -0
  276. package/src/utils/discovery/antigravity.ts +261 -0
  277. package/src/utils/discovery/codex.ts +371 -0
  278. package/src/utils/discovery/cursor.ts +306 -0
  279. package/src/utils/discovery/gemini.ts +248 -0
  280. package/src/utils/discovery/index.ts +4 -0
  281. package/src/utils/discovery/openai-compatible.ts +224 -0
  282. package/src/utils/event-stream.ts +142 -0
  283. package/src/utils/fireworks-model-id.ts +30 -0
  284. package/src/utils/foundry.ts +8 -0
  285. package/src/utils/http-inspector.ts +176 -0
  286. package/src/utils/idle-iterator.ts +267 -0
  287. package/src/utils/json-parse.ts +182 -0
  288. package/src/utils/oauth/__tests__/xai-oauth.test.ts +107 -0
  289. package/src/utils/oauth/alibaba-coding-plan.ts +59 -0
  290. package/src/utils/oauth/anthropic.ts +273 -0
  291. package/src/utils/oauth/api-key-login.ts +87 -0
  292. package/src/utils/oauth/api-key-validation.ts +92 -0
  293. package/src/utils/oauth/callback-server.ts +276 -0
  294. package/src/utils/oauth/cerebras.ts +16 -0
  295. package/src/utils/oauth/cloudflare-ai-gateway.ts +48 -0
  296. package/src/utils/oauth/cursor.ts +157 -0
  297. package/src/utils/oauth/deepseek.ts +53 -0
  298. package/src/utils/oauth/firepass.ts +24 -0
  299. package/src/utils/oauth/fireworks.ts +15 -0
  300. package/src/utils/oauth/github-copilot.ts +362 -0
  301. package/src/utils/oauth/gitlab-duo.ts +123 -0
  302. package/src/utils/oauth/google-antigravity.ts +200 -0
  303. package/src/utils/oauth/google-gemini-cli.ts +256 -0
  304. package/src/utils/oauth/google-oauth-shared.ts +110 -0
  305. package/src/utils/oauth/huggingface.ts +62 -0
  306. package/src/utils/oauth/index.ts +484 -0
  307. package/src/utils/oauth/kagi.ts +47 -0
  308. package/src/utils/oauth/kilo.ts +87 -0
  309. package/src/utils/oauth/kimi.ts +254 -0
  310. package/src/utils/oauth/litellm.ts +47 -0
  311. package/src/utils/oauth/lm-studio.ts +38 -0
  312. package/src/utils/oauth/minimax-code.ts +78 -0
  313. package/src/utils/oauth/moonshot.ts +23 -0
  314. package/src/utils/oauth/nanogpt.ts +15 -0
  315. package/src/utils/oauth/nvidia.ts +70 -0
  316. package/src/utils/oauth/oauth.html +203 -0
  317. package/src/utils/oauth/ollama-cloud.ts +28 -0
  318. package/src/utils/oauth/ollama.ts +47 -0
  319. package/src/utils/oauth/openai-codex.ts +299 -0
  320. package/src/utils/oauth/opencode.ts +49 -0
  321. package/src/utils/oauth/openrouter.ts +20 -0
  322. package/src/utils/oauth/parallel.ts +46 -0
  323. package/src/utils/oauth/perplexity.ts +206 -0
  324. package/src/utils/oauth/pkce.ts +18 -0
  325. package/src/utils/oauth/qianfan.ts +58 -0
  326. package/src/utils/oauth/qwen-portal.ts +60 -0
  327. package/src/utils/oauth/synthetic.ts +15 -0
  328. package/src/utils/oauth/tavily.ts +46 -0
  329. package/src/utils/oauth/together.ts +16 -0
  330. package/src/utils/oauth/types.ts +99 -0
  331. package/src/utils/oauth/venice.ts +59 -0
  332. package/src/utils/oauth/vercel-ai-gateway.ts +47 -0
  333. package/src/utils/oauth/vllm.ts +40 -0
  334. package/src/utils/oauth/wafer.ts +50 -0
  335. package/src/utils/oauth/xai-oauth.ts +342 -0
  336. package/src/utils/oauth/xiaomi.ts +139 -0
  337. package/src/utils/oauth/zai.ts +60 -0
  338. package/src/utils/oauth/zenmux.ts +15 -0
  339. package/src/utils/oauth/zhipu.ts +60 -0
  340. package/src/utils/overflow.ts +137 -0
  341. package/src/utils/parse-bind.ts +54 -0
  342. package/src/utils/provider-response.ts +30 -0
  343. package/src/utils/request-debug.ts +336 -0
  344. package/src/utils/retry-after.ts +110 -0
  345. package/src/utils/retry.ts +54 -0
  346. package/src/utils/schema/CONSTRAINTS.md +164 -0
  347. package/src/utils/schema/adapt.ts +36 -0
  348. package/src/utils/schema/compatibility.ts +435 -0
  349. package/src/utils/schema/dereference.ts +98 -0
  350. package/src/utils/schema/draft.ts +341 -0
  351. package/src/utils/schema/equality.ts +97 -0
  352. package/src/utils/schema/fields.ts +191 -0
  353. package/src/utils/schema/index.ts +13 -0
  354. package/src/utils/schema/json-schema-validator.ts +577 -0
  355. package/src/utils/schema/meta-validator.ts +167 -0
  356. package/src/utils/schema/normalize.ts +1588 -0
  357. package/src/utils/schema/spill.ts +43 -0
  358. package/src/utils/schema/stamps.ts +97 -0
  359. package/src/utils/schema/types.ts +10 -0
  360. package/src/utils/schema/wire.ts +293 -0
  361. package/src/utils/schema/zod-decontaminate.ts +331 -0
  362. package/src/utils/sdk-stream-timeout.ts +43 -0
  363. package/src/utils/sse-debug.ts +289 -0
  364. package/src/utils/stream-markup-healing.ts +612 -0
  365. package/src/utils/tool-choice.ts +99 -0
  366. package/src/utils/validation.ts +1024 -0
  367. package/src/utils.ts +166 -0
  368. package/dist/api-registry.d.ts +0 -20
  369. package/dist/api-registry.d.ts.map +0 -1
  370. package/dist/api-registry.js +0 -44
  371. package/dist/api-registry.js.map +0 -1
  372. package/dist/bedrock-provider.d.ts +0 -5
  373. package/dist/bedrock-provider.d.ts.map +0 -1
  374. package/dist/bedrock-provider.js +0 -6
  375. package/dist/bedrock-provider.js.map +0 -1
  376. package/dist/cli.d.ts +0 -3
  377. package/dist/cli.d.ts.map +0 -1
  378. package/dist/cli.js +0 -130
  379. package/dist/cli.js.map +0 -1
  380. package/dist/env-api-keys.d.ts +0 -18
  381. package/dist/env-api-keys.d.ts.map +0 -1
  382. package/dist/env-api-keys.js +0 -178
  383. package/dist/env-api-keys.js.map +0 -1
  384. package/dist/image-models.d.ts +0 -10
  385. package/dist/image-models.d.ts.map +0 -1
  386. package/dist/image-models.generated.d.ts +0 -440
  387. package/dist/image-models.generated.d.ts.map +0 -1
  388. package/dist/image-models.generated.js +0 -442
  389. package/dist/image-models.generated.js.map +0 -1
  390. package/dist/image-models.js +0 -23
  391. package/dist/image-models.js.map +0 -1
  392. package/dist/images-api-registry.d.ts +0 -14
  393. package/dist/images-api-registry.d.ts.map +0 -1
  394. package/dist/images-api-registry.js +0 -22
  395. package/dist/images-api-registry.js.map +0 -1
  396. package/dist/images.d.ts +0 -4
  397. package/dist/images.d.ts.map +0 -1
  398. package/dist/images.js +0 -14
  399. package/dist/images.js.map +0 -1
  400. package/dist/index.d.ts +0 -32
  401. package/dist/index.d.ts.map +0 -1
  402. package/dist/index.js +0 -20
  403. package/dist/index.js.map +0 -1
  404. package/dist/models.d.ts +0 -18
  405. package/dist/models.d.ts.map +0 -1
  406. package/dist/models.generated.d.ts +0 -17480
  407. package/dist/models.generated.d.ts.map +0 -1
  408. package/dist/models.generated.js +0 -16339
  409. package/dist/models.generated.js.map +0 -1
  410. package/dist/models.js +0 -71
  411. package/dist/models.js.map +0 -1
  412. package/dist/oauth.d.ts +0 -2
  413. package/dist/oauth.d.ts.map +0 -1
  414. package/dist/oauth.js +0 -2
  415. package/dist/oauth.js.map +0 -1
  416. package/dist/providers/aery-error-formatting.d.ts +0 -13
  417. package/dist/providers/aery-error-formatting.d.ts.map +0 -1
  418. package/dist/providers/aery-error-formatting.js +0 -112
  419. package/dist/providers/aery-error-formatting.js.map +0 -1
  420. package/dist/providers/amazon-bedrock.d.ts +0 -38
  421. package/dist/providers/amazon-bedrock.d.ts.map +0 -1
  422. package/dist/providers/amazon-bedrock.js +0 -763
  423. package/dist/providers/amazon-bedrock.js.map +0 -1
  424. package/dist/providers/anthropic.d.ts +0 -71
  425. package/dist/providers/anthropic.d.ts.map +0 -1
  426. package/dist/providers/anthropic.js +0 -949
  427. package/dist/providers/anthropic.js.map +0 -1
  428. package/dist/providers/azure-openai-responses.d.ts +0 -15
  429. package/dist/providers/azure-openai-responses.d.ts.map +0 -1
  430. package/dist/providers/azure-openai-responses.js +0 -225
  431. package/dist/providers/azure-openai-responses.js.map +0 -1
  432. package/dist/providers/cloudflare.d.ts +0 -13
  433. package/dist/providers/cloudflare.d.ts.map +0 -1
  434. package/dist/providers/cloudflare.js +0 -26
  435. package/dist/providers/cloudflare.js.map +0 -1
  436. package/dist/providers/faux.d.ts +0 -56
  437. package/dist/providers/faux.d.ts.map +0 -1
  438. package/dist/providers/faux.js +0 -368
  439. package/dist/providers/faux.js.map +0 -1
  440. package/dist/providers/github-copilot-headers.d.ts +0 -8
  441. package/dist/providers/github-copilot-headers.d.ts.map +0 -1
  442. package/dist/providers/github-copilot-headers.js +0 -29
  443. package/dist/providers/github-copilot-headers.js.map +0 -1
  444. package/dist/providers/google-gemini-cli.d.ts +0 -74
  445. package/dist/providers/google-gemini-cli.d.ts.map +0 -1
  446. package/dist/providers/google-gemini-cli.js +0 -779
  447. package/dist/providers/google-gemini-cli.js.map +0 -1
  448. package/dist/providers/google-shared.d.ts +0 -70
  449. package/dist/providers/google-shared.d.ts.map +0 -1
  450. package/dist/providers/google-shared.js +0 -329
  451. package/dist/providers/google-shared.js.map +0 -1
  452. package/dist/providers/google-vertex.d.ts +0 -15
  453. package/dist/providers/google-vertex.d.ts.map +0 -1
  454. package/dist/providers/google-vertex.js +0 -442
  455. package/dist/providers/google-vertex.js.map +0 -1
  456. package/dist/providers/google.d.ts +0 -13
  457. package/dist/providers/google.d.ts.map +0 -1
  458. package/dist/providers/google.js +0 -400
  459. package/dist/providers/google.js.map +0 -1
  460. package/dist/providers/images/openrouter.d.ts +0 -3
  461. package/dist/providers/images/openrouter.d.ts.map +0 -1
  462. package/dist/providers/images/openrouter.js +0 -129
  463. package/dist/providers/images/openrouter.js.map +0 -1
  464. package/dist/providers/images/register-builtins.d.ts +0 -4
  465. package/dist/providers/images/register-builtins.d.ts.map +0 -1
  466. package/dist/providers/images/register-builtins.js +0 -34
  467. package/dist/providers/images/register-builtins.js.map +0 -1
  468. package/dist/providers/mistral.d.ts +0 -25
  469. package/dist/providers/mistral.d.ts.map +0 -1
  470. package/dist/providers/mistral.js +0 -535
  471. package/dist/providers/mistral.js.map +0 -1
  472. package/dist/providers/openai-codex-responses.d.ts +0 -30
  473. package/dist/providers/openai-codex-responses.d.ts.map +0 -1
  474. package/dist/providers/openai-codex-responses.js +0 -1090
  475. package/dist/providers/openai-codex-responses.js.map +0 -1
  476. package/dist/providers/openai-completions.d.ts +0 -19
  477. package/dist/providers/openai-completions.d.ts.map +0 -1
  478. package/dist/providers/openai-completions.js +0 -950
  479. package/dist/providers/openai-completions.js.map +0 -1
  480. package/dist/providers/openai-prompt-cache.d.ts +0 -3
  481. package/dist/providers/openai-prompt-cache.d.ts.map +0 -1
  482. package/dist/providers/openai-prompt-cache.js +0 -10
  483. package/dist/providers/openai-prompt-cache.js.map +0 -1
  484. package/dist/providers/openai-responses-shared.d.ts +0 -18
  485. package/dist/providers/openai-responses-shared.d.ts.map +0 -1
  486. package/dist/providers/openai-responses-shared.js +0 -492
  487. package/dist/providers/openai-responses-shared.js.map +0 -1
  488. package/dist/providers/openai-responses.d.ts +0 -13
  489. package/dist/providers/openai-responses.d.ts.map +0 -1
  490. package/dist/providers/openai-responses.js +0 -237
  491. package/dist/providers/openai-responses.js.map +0 -1
  492. package/dist/providers/register-builtins.d.ts +0 -38
  493. package/dist/providers/register-builtins.d.ts.map +0 -1
  494. package/dist/providers/register-builtins.js +0 -278
  495. package/dist/providers/register-builtins.js.map +0 -1
  496. package/dist/providers/simple-options.d.ts +0 -8
  497. package/dist/providers/simple-options.d.ts.map +0 -1
  498. package/dist/providers/simple-options.js +0 -41
  499. package/dist/providers/simple-options.js.map +0 -1
  500. package/dist/providers/transform-messages.d.ts.map +0 -1
  501. package/dist/providers/transform-messages.js +0 -184
  502. package/dist/providers/transform-messages.js.map +0 -1
  503. package/dist/session-resources.d.ts +0 -4
  504. package/dist/session-resources.d.ts.map +0 -1
  505. package/dist/session-resources.js +0 -22
  506. package/dist/session-resources.js.map +0 -1
  507. package/dist/stream.d.ts +0 -8
  508. package/dist/stream.d.ts.map +0 -1
  509. package/dist/stream.js +0 -27
  510. package/dist/stream.js.map +0 -1
  511. package/dist/types.d.ts +0 -498
  512. package/dist/types.d.ts.map +0 -1
  513. package/dist/types.js +0 -2
  514. package/dist/types.js.map +0 -1
  515. package/dist/utils/diagnostics.d.ts +0 -19
  516. package/dist/utils/diagnostics.d.ts.map +0 -1
  517. package/dist/utils/diagnostics.js +0 -25
  518. package/dist/utils/diagnostics.js.map +0 -1
  519. package/dist/utils/event-stream.d.ts +0 -21
  520. package/dist/utils/event-stream.d.ts.map +0 -1
  521. package/dist/utils/event-stream.js +0 -81
  522. package/dist/utils/event-stream.js.map +0 -1
  523. package/dist/utils/hash.d.ts +0 -3
  524. package/dist/utils/hash.d.ts.map +0 -1
  525. package/dist/utils/hash.js +0 -14
  526. package/dist/utils/hash.js.map +0 -1
  527. package/dist/utils/headers.d.ts +0 -2
  528. package/dist/utils/headers.d.ts.map +0 -1
  529. package/dist/utils/headers.js +0 -8
  530. package/dist/utils/headers.js.map +0 -1
  531. package/dist/utils/json-parse.d.ts +0 -16
  532. package/dist/utils/json-parse.d.ts.map +0 -1
  533. package/dist/utils/json-parse.js +0 -113
  534. package/dist/utils/json-parse.js.map +0 -1
  535. package/dist/utils/node-http-proxy.d.ts +0 -10
  536. package/dist/utils/node-http-proxy.d.ts.map +0 -1
  537. package/dist/utils/node-http-proxy.js +0 -97
  538. package/dist/utils/node-http-proxy.js.map +0 -1
  539. package/dist/utils/oauth/anthropic.d.ts +0 -25
  540. package/dist/utils/oauth/anthropic.d.ts.map +0 -1
  541. package/dist/utils/oauth/anthropic.js +0 -335
  542. package/dist/utils/oauth/anthropic.js.map +0 -1
  543. package/dist/utils/oauth/device-code.d.ts +0 -19
  544. package/dist/utils/oauth/device-code.d.ts.map +0 -1
  545. package/dist/utils/oauth/device-code.js +0 -55
  546. package/dist/utils/oauth/device-code.js.map +0 -1
  547. package/dist/utils/oauth/github-copilot.d.ts +0 -30
  548. package/dist/utils/oauth/github-copilot.d.ts.map +0 -1
  549. package/dist/utils/oauth/github-copilot.js +0 -268
  550. package/dist/utils/oauth/github-copilot.js.map +0 -1
  551. package/dist/utils/oauth/google-antigravity.d.ts +0 -26
  552. package/dist/utils/oauth/google-antigravity.d.ts.map +0 -1
  553. package/dist/utils/oauth/google-antigravity.js +0 -377
  554. package/dist/utils/oauth/google-antigravity.js.map +0 -1
  555. package/dist/utils/oauth/google-gemini-cli.d.ts +0 -26
  556. package/dist/utils/oauth/google-gemini-cli.d.ts.map +0 -1
  557. package/dist/utils/oauth/google-gemini-cli.js +0 -482
  558. package/dist/utils/oauth/google-gemini-cli.js.map +0 -1
  559. package/dist/utils/oauth/index.d.ts +0 -63
  560. package/dist/utils/oauth/index.d.ts.map +0 -1
  561. package/dist/utils/oauth/index.js +0 -131
  562. package/dist/utils/oauth/index.js.map +0 -1
  563. package/dist/utils/oauth/oauth-page.d.ts +0 -3
  564. package/dist/utils/oauth/oauth-page.d.ts.map +0 -1
  565. package/dist/utils/oauth/oauth-page.js +0 -105
  566. package/dist/utils/oauth/oauth-page.js.map +0 -1
  567. package/dist/utils/oauth/openai-codex.d.ts +0 -34
  568. package/dist/utils/oauth/openai-codex.d.ts.map +0 -1
  569. package/dist/utils/oauth/openai-codex.js +0 -385
  570. package/dist/utils/oauth/openai-codex.js.map +0 -1
  571. package/dist/utils/oauth/pkce.d.ts.map +0 -1
  572. package/dist/utils/oauth/pkce.js +0 -31
  573. package/dist/utils/oauth/pkce.js.map +0 -1
  574. package/dist/utils/oauth/types.d.ts +0 -64
  575. package/dist/utils/oauth/types.d.ts.map +0 -1
  576. package/dist/utils/oauth/types.js +0 -2
  577. package/dist/utils/oauth/types.js.map +0 -1
  578. package/dist/utils/overflow.d.ts.map +0 -1
  579. package/dist/utils/overflow.js +0 -151
  580. package/dist/utils/overflow.js.map +0 -1
  581. package/dist/utils/sanitize-unicode.d.ts +0 -22
  582. package/dist/utils/sanitize-unicode.d.ts.map +0 -1
  583. package/dist/utils/sanitize-unicode.js +0 -26
  584. package/dist/utils/sanitize-unicode.js.map +0 -1
  585. package/dist/utils/typebox-helpers.d.ts +0 -17
  586. package/dist/utils/typebox-helpers.d.ts.map +0 -1
  587. package/dist/utils/typebox-helpers.js +0 -21
  588. package/dist/utils/typebox-helpers.js.map +0 -1
  589. package/dist/utils/validation.d.ts +0 -18
  590. package/dist/utils/validation.d.ts.map +0 -1
  591. package/dist/utils/validation.js +0 -281
  592. package/dist/utils/validation.js.map +0 -1
@@ -0,0 +1,262 @@
1
+ /**
2
+ * Anthropic Messages API wire types.
3
+ *
4
+ * Hand-maintained against https://docs.anthropic.com/en/api/messages so aery-ai
5
+ * does not depend on `@anthropic-ai/sdk` for type information. Only the shapes
6
+ * this package actually reads or writes are modeled; fields we never touch are
7
+ * intentionally omitted. Names mirror the SDK so call sites read the same.
8
+ *
9
+ * Unlike the SDK, beta fields aery-ai uses (`speed`, `context_management`,
10
+ * `output_config.effort`/`task_budget`, `thinking.display`, cache-control
11
+ * `scope`, tool `strict`/`eager_input_streaming`, mid-conversation `system`
12
+ * role) are first-class here instead of being patched in via casts.
13
+ */
14
+ import type { TokenTaskBudget } from "../types";
15
+ /** Ephemeral prefix-cache breakpoint marker. */
16
+ export type CacheControlEphemeral = {
17
+ type: "ephemeral";
18
+ ttl?: "1h" | "5m";
19
+ /** Claude Code prompt-caching-scope beta: shares the breakpoint across sessions. */
20
+ scope?: "global";
21
+ };
22
+ export type Base64ImageSource = {
23
+ type: "base64";
24
+ media_type: "image/jpeg" | "image/png" | "image/gif" | "image/webp";
25
+ data: string;
26
+ };
27
+ export type URLImageSource = {
28
+ type: "url";
29
+ url: string;
30
+ };
31
+ export type FileImageSource = {
32
+ type: "file";
33
+ file_id: string;
34
+ };
35
+ export type ImageSource = Base64ImageSource | URLImageSource | FileImageSource;
36
+ export type TextBlockParam = {
37
+ type: "text";
38
+ text: string;
39
+ cache_control?: CacheControlEphemeral | null;
40
+ };
41
+ export type ImageBlockParam = {
42
+ type: "image";
43
+ source: ImageSource;
44
+ cache_control?: CacheControlEphemeral | null;
45
+ };
46
+ export type ToolUseBlockParam = {
47
+ type: "tool_use";
48
+ id: string;
49
+ name: string;
50
+ input: unknown;
51
+ cache_control?: CacheControlEphemeral | null;
52
+ };
53
+ export type ToolResultBlockParam = {
54
+ type: "tool_result";
55
+ tool_use_id: string;
56
+ content?: string | Array<TextBlockParam | ImageBlockParam>;
57
+ is_error?: boolean;
58
+ cache_control?: CacheControlEphemeral | null;
59
+ };
60
+ export type ThinkingBlockParam = {
61
+ type: "thinking";
62
+ thinking: string;
63
+ signature: string;
64
+ };
65
+ export type RedactedThinkingBlockParam = {
66
+ type: "redacted_thinking";
67
+ data: string;
68
+ };
69
+ export type ContentBlockParam = TextBlockParam | ImageBlockParam | ToolUseBlockParam | ToolResultBlockParam | ThinkingBlockParam | RedactedThinkingBlockParam;
70
+ /**
71
+ * A single conversation turn.
72
+ *
73
+ * `system` is the Opus 4.8+ mid-conversation system role
74
+ * (`mid-conversation-system-2026-04-07` beta); the public API otherwise only
75
+ * accepts `user` / `assistant`.
76
+ */
77
+ export type MessageParam = {
78
+ role: "user" | "assistant" | "system";
79
+ content: string | ContentBlockParam[];
80
+ };
81
+ export type ToolInputSchema = {
82
+ type: "object";
83
+ properties?: unknown | null;
84
+ required?: string[] | null;
85
+ [k: string]: unknown;
86
+ };
87
+ export type Tool = {
88
+ name: string;
89
+ description?: string;
90
+ input_schema: ToolInputSchema;
91
+ cache_control?: CacheControlEphemeral | null;
92
+ /** Structured-outputs beta: enforce the schema as a strict grammar. */
93
+ strict?: boolean;
94
+ /** Fine-grained tool streaming beta: stream tool input as it is generated. */
95
+ eager_input_streaming?: boolean;
96
+ };
97
+ export type ToolChoiceAuto = {
98
+ type: "auto";
99
+ disable_parallel_tool_use?: boolean;
100
+ };
101
+ export type ToolChoiceAny = {
102
+ type: "any";
103
+ disable_parallel_tool_use?: boolean;
104
+ };
105
+ export type ToolChoiceTool = {
106
+ type: "tool";
107
+ name: string;
108
+ disable_parallel_tool_use?: boolean;
109
+ };
110
+ export type ToolChoiceNone = {
111
+ type: "none";
112
+ };
113
+ export type ToolChoice = ToolChoiceAuto | ToolChoiceAny | ToolChoiceTool | ToolChoiceNone;
114
+ export type Metadata = {
115
+ user_id?: string | null;
116
+ };
117
+ export type ThinkingConfigEnabled = {
118
+ type: "enabled";
119
+ budget_tokens: number;
120
+ /** Opus 4.7+ reasoning display mode. */
121
+ display?: "summarized" | "omitted";
122
+ };
123
+ export type ThinkingConfigDisabled = {
124
+ type: "disabled";
125
+ };
126
+ export type ThinkingConfigAdaptive = {
127
+ type: "adaptive";
128
+ /** Opus 4.7+ reasoning display mode. */
129
+ display?: "summarized" | "omitted";
130
+ };
131
+ export type ThinkingConfigParam = ThinkingConfigEnabled | ThinkingConfigDisabled | ThinkingConfigAdaptive;
132
+ export type OutputConfig = {
133
+ /** Adaptive-thinking effort level (effort beta). */
134
+ effort?: "low" | "medium" | "high" | "xhigh" | "max" | null;
135
+ /** Task-budgets beta. */
136
+ task_budget?: TokenTaskBudget | null;
137
+ };
138
+ /** Claude Code context-management beta payload. */
139
+ export type ContextManagement = {
140
+ edits: Array<{
141
+ type: "clear_thinking_20251015";
142
+ keep: "all";
143
+ }>;
144
+ };
145
+ export type MessageCreateParams = {
146
+ model: string;
147
+ messages: MessageParam[];
148
+ max_tokens: number;
149
+ system?: string | TextBlockParam[];
150
+ temperature?: number;
151
+ top_p?: number;
152
+ top_k?: number;
153
+ stop_sequences?: string[];
154
+ stream?: boolean;
155
+ tools?: Tool[];
156
+ tool_choice?: ToolChoice;
157
+ metadata?: Metadata;
158
+ thinking?: ThinkingConfigParam;
159
+ output_config?: OutputConfig;
160
+ /** Fast-mode beta: realization of priority service tier. */
161
+ speed?: "fast";
162
+ /** Claude Code context-management beta. */
163
+ context_management?: ContextManagement;
164
+ };
165
+ export type MessageCreateParamsStreaming = MessageCreateParams & {
166
+ stream: true;
167
+ };
168
+ export type StopReason = "end_turn" | "max_tokens" | "stop_sequence" | "tool_use" | "pause_turn" | "refusal" | "sensitive";
169
+ export type CacheCreation = {
170
+ ephemeral_5m_input_tokens?: number | null;
171
+ ephemeral_1h_input_tokens?: number | null;
172
+ };
173
+ export type ServerToolUsage = {
174
+ web_search_requests?: number | null;
175
+ web_fetch_requests?: number | null;
176
+ };
177
+ export type Usage = {
178
+ input_tokens?: number | null;
179
+ output_tokens?: number | null;
180
+ cache_read_input_tokens?: number | null;
181
+ cache_creation_input_tokens?: number | null;
182
+ cache_creation?: CacheCreation | null;
183
+ server_tool_use?: ServerToolUsage | null;
184
+ };
185
+ /** The `message` envelope carried by `message_start`. */
186
+ export type ResponseMessage = {
187
+ id: string;
188
+ type?: "message";
189
+ role?: "assistant";
190
+ model?: string;
191
+ content?: unknown[];
192
+ stop_reason?: StopReason | null;
193
+ stop_sequence?: string | null;
194
+ usage: Usage;
195
+ };
196
+ /** `content_block` payload carried by `content_block_start`. */
197
+ export type ResponseContentBlock = {
198
+ type: "text";
199
+ text: string;
200
+ } | {
201
+ type: "thinking";
202
+ thinking: string;
203
+ signature?: string;
204
+ } | {
205
+ type: "redacted_thinking";
206
+ data: string;
207
+ } | {
208
+ type: "tool_use";
209
+ id: string;
210
+ name: string;
211
+ input?: Record<string, unknown> | null;
212
+ };
213
+ export type ContentBlockDelta = {
214
+ type: "text_delta";
215
+ text: string;
216
+ } | {
217
+ type: "input_json_delta";
218
+ partial_json: string;
219
+ } | {
220
+ type: "thinking_delta";
221
+ thinking: string;
222
+ } | {
223
+ type: "signature_delta";
224
+ signature: string;
225
+ };
226
+ export type StopDetails = {
227
+ type: string;
228
+ category?: string | null;
229
+ explanation?: string | null;
230
+ };
231
+ export type MessageDelta = {
232
+ stop_reason?: StopReason | null;
233
+ stop_sequence?: string | null;
234
+ stop_details?: StopDetails | null;
235
+ };
236
+ export type RawMessageStartEvent = {
237
+ type: "message_start";
238
+ message: ResponseMessage;
239
+ };
240
+ export type RawContentBlockStartEvent = {
241
+ type: "content_block_start";
242
+ index: number;
243
+ content_block: ResponseContentBlock;
244
+ };
245
+ export type RawContentBlockDeltaEvent = {
246
+ type: "content_block_delta";
247
+ index: number;
248
+ delta: ContentBlockDelta;
249
+ };
250
+ export type RawContentBlockStopEvent = {
251
+ type: "content_block_stop";
252
+ index: number;
253
+ };
254
+ export type RawMessageDeltaEvent = {
255
+ type: "message_delta";
256
+ delta: MessageDelta;
257
+ usage: Usage;
258
+ };
259
+ export type RawMessageStopEvent = {
260
+ type: "message_stop";
261
+ };
262
+ export type RawMessageStreamEvent = RawMessageStartEvent | RawContentBlockStartEvent | RawContentBlockDeltaEvent | RawContentBlockStopEvent | RawMessageDeltaEvent | RawMessageStopEvent;
@@ -0,0 +1,206 @@
1
+ import type { FetchImpl, Message, Model, ProviderSessionState, ServiceTier, SimpleStreamOptions, StreamFunction, StreamOptions, Usage } from "../types";
2
+ import { type AnthropicFetchOptions, type AnthropicMessagesClientLike } from "./anthropic-client";
3
+ import type { MessageParam, TextBlockParam } from "./anthropic-wire";
4
+ export type AnthropicHeaderOptions = {
5
+ apiKey: string;
6
+ baseUrl?: string;
7
+ isOAuth?: boolean;
8
+ extraBetas?: string[];
9
+ stream?: boolean;
10
+ modelHeaders?: Record<string, string>;
11
+ isCloudflareAiGateway?: boolean;
12
+ claudeCodeSessionId?: string;
13
+ claudeCodeBetas?: readonly string[];
14
+ };
15
+ export declare function normalizeAnthropicBaseUrl(baseUrl?: string): string | undefined;
16
+ export declare function buildBetaHeader(baseBetas: readonly string[], extraBetas: readonly string[]): string;
17
+ export declare function isAnthropicApiBaseUrl(baseUrl?: string): boolean;
18
+ export declare function buildAnthropicHeaders(options: AnthropicHeaderOptions): Record<string, string>;
19
+ type AnthropicCacheControl = NonNullable<TextBlockParam["cache_control"]>;
20
+ /**
21
+ * Clears the in-session "server rejected fast mode" sticky flag. Call when the
22
+ * caller is explicitly re-arming `serviceTier: "priority"` (e.g. user toggled
23
+ * `/fast on` after a previous turn auto-disabled it) so the next request
24
+ * actually carries `speed: "fast"` again. No-op when the map or state entry
25
+ * hasn't been materialized yet.
26
+ */
27
+ export declare function clearAnthropicFastModeFallback(providerSessionState: Map<string, ProviderSessionState> | undefined): void;
28
+ export declare function isAnthropicFastModeUnsupportedError(error: unknown): boolean;
29
+ export declare const claudeCodeVersion = "2.1.160";
30
+ export declare const claudeToolPrefix: string;
31
+ export declare const claudeCodeSystemInstruction = "You are Claude Code, Anthropic's official CLI for Claude.";
32
+ export declare function mapStainlessOs(platform: string): "MacOS" | "Windows" | "Linux" | "FreeBSD" | `Other::${string}`;
33
+ export declare function mapStainlessArch(arch: string): "x64" | "arm64" | "x86" | `other::${string}`;
34
+ export declare const claudeCodeHeaders: {
35
+ "X-Stainless-Retry-Count": string;
36
+ "X-Stainless-Runtime-Version": string;
37
+ "X-Stainless-Package-Version": string;
38
+ "X-Stainless-Runtime": string;
39
+ "X-Stainless-Lang": string;
40
+ "X-Stainless-Arch": "arm64" | "x64" | "x86" | `other::${string}`;
41
+ "X-Stainless-OS": "FreeBSD" | "Linux" | "MacOS" | "Windows" | `Other::${string}`;
42
+ "X-Stainless-Timeout": string;
43
+ };
44
+ export declare function isClaudeCloakingUserId(userId: string): boolean;
45
+ export declare function generateClaudeCloakingUserId(): string;
46
+ export declare const applyClaudeToolPrefix: (name: string, prefixOverride?: string) => string;
47
+ export declare const stripClaudeToolPrefix: (name: string, prefixOverride?: string) => string;
48
+ export type AnthropicEffort = "low" | "medium" | "high" | "xhigh" | "max";
49
+ export type AnthropicThinkingDisplay = "summarized" | "omitted";
50
+ export interface AnthropicOptions extends StreamOptions {
51
+ /**
52
+ * Enable extended thinking.
53
+ * For Opus 4.6+: uses adaptive thinking (Claude decides when/how much to think).
54
+ * For older models: uses budget-based thinking with thinkingBudgetTokens.
55
+ */
56
+ thinkingEnabled?: boolean;
57
+ /**
58
+ * Token budget for extended thinking (older models only).
59
+ * Ignored for Opus 4.6+ which uses adaptive thinking.
60
+ */
61
+ thinkingBudgetTokens?: number;
62
+ /**
63
+ * Effort level for adaptive thinking (Opus 4.6+ only).
64
+ * Controls how much thinking Claude allocates:
65
+ * - "max": Always thinks with no constraints
66
+ * - "high": Always thinks, deep reasoning (default)
67
+ * - "medium": Moderate thinking, may skip for simple queries
68
+ * - "low": Minimal thinking, skips for simple tasks
69
+ * Ignored for older models.
70
+ */
71
+ effort?: AnthropicEffort;
72
+ /**
73
+ * Optional reasoning level fallback for direct Anthropic provider usage.
74
+ * Converted to adaptive effort when effort is not explicitly provided.
75
+ */
76
+ reasoning?: SimpleStreamOptions["reasoning"];
77
+ /**
78
+ * Controls how Anthropic returns thinking content when the selected thinking
79
+ * transport supports a display option. Defaults to "summarized" where the
80
+ * API accepts it.
81
+ */
82
+ thinkingDisplay?: AnthropicThinkingDisplay;
83
+ interleavedThinking?: boolean;
84
+ toolChoice?: "auto" | "any" | "none" | {
85
+ type: "tool";
86
+ name: string;
87
+ };
88
+ betas?: string[] | string;
89
+ /**
90
+ * Realization of `serviceTier: "priority"` on Anthropic models. When
91
+ * `"priority"`, sets `speed: "fast"` on the request and appends the
92
+ * `fast-mode-2026-02-01` beta header. Anthropic rejects unsupported models
93
+ * with `invalid_request_error`, which triggers an in-provider one-shot
94
+ * fallback (see `fastModeDisabled` provider state).
95
+ *
96
+ * Other `ServiceTier` values are currently ignored on this provider.
97
+ */
98
+ serviceTier?: ServiceTier;
99
+ /** Force OAuth bearer auth mode for proxy tokens that don't match Anthropic token prefixes. */
100
+ isOAuth?: boolean;
101
+ /**
102
+ * Pre-built Anthropic Messages client. When provided, skips internal client
103
+ * construction entirely. Accepts any structurally compatible client,
104
+ * including SDK clients such as `AnthropicVertex`.
105
+ */
106
+ client?: AnthropicMessagesClientLike;
107
+ }
108
+ export type AnthropicClientOptionsArgs = {
109
+ model: Model<"anthropic-messages">;
110
+ apiKey: string;
111
+ extraBetas?: string[];
112
+ stream?: boolean;
113
+ interleavedThinking?: boolean;
114
+ headers?: Record<string, string>;
115
+ dynamicHeaders?: Record<string, string>;
116
+ isOAuth?: boolean;
117
+ hasTools?: boolean;
118
+ thinkingEnabled?: boolean;
119
+ thinkingDisplay?: AnthropicThinkingDisplay;
120
+ onSseEvent?: AnthropicOptions["onSseEvent"];
121
+ fetch?: FetchImpl;
122
+ claudeCodeSessionId?: string;
123
+ };
124
+ export type AnthropicClientOptionsResult = {
125
+ isOAuthToken: boolean;
126
+ apiKey: string | null;
127
+ authToken?: string | null;
128
+ baseURL?: string;
129
+ maxRetries: number;
130
+ defaultHeaders: Record<string, string>;
131
+ fetch?: FetchImpl;
132
+ fetchOptions?: AnthropicFetchOptions;
133
+ };
134
+ /**
135
+ * Returns env-supplied custom headers (`ANTHROPIC_CUSTOM_HEADERS`) when they
136
+ * should be forwarded to the upstream endpoint.
137
+ *
138
+ * Foundry mode forwards them unconditionally. Outside Foundry, they're applied
139
+ * only when the configured base URL is a non-Anthropic host — i.e. an
140
+ * enterprise/corporate gateway that may require its own proprietary auth
141
+ * header. Stock `api.anthropic.com` would reject unknown headers, so they're
142
+ * omitted there.
143
+ */
144
+ export declare function resolveAnthropicCustomHeadersForBaseUrl(baseUrl: string | undefined): Record<string, string> | undefined;
145
+ export declare function isProviderRetryableError(error: unknown, provider?: string): boolean;
146
+ export type AnthropicUsageLike = {
147
+ cache_creation?: {
148
+ ephemeral_5m_input_tokens?: number | null;
149
+ ephemeral_1h_input_tokens?: number | null;
150
+ } | null;
151
+ server_tool_use?: {
152
+ web_search_requests?: number | null;
153
+ web_fetch_requests?: number | null;
154
+ } | null;
155
+ };
156
+ /**
157
+ * Capture Anthropic's optional cache-creation TTL breakdown and server-tool-use
158
+ * counters into the harness Usage shape. Only sets fields that were reported, so
159
+ * a `message_delta` that omits `cache_creation` does not clobber the breakdown
160
+ * established at `message_start`.
161
+ */
162
+ export declare function applyAnthropicUsageExtras(usage: Usage, source: AnthropicUsageLike): void;
163
+ export declare const streamAnthropic: StreamFunction<"anthropic-messages">;
164
+ export type AnthropicSystemBlock = {
165
+ type: "text";
166
+ text: string;
167
+ cache_control?: AnthropicCacheControl;
168
+ };
169
+ type SystemBlockOptions = {
170
+ includeClaudeCodeInstruction?: boolean;
171
+ extraInstructions?: string[];
172
+ /** Text of the first user message — used as fingerprint seed for the billing header. */
173
+ firstUserMessageText?: string;
174
+ cacheControl?: AnthropicCacheControl;
175
+ };
176
+ export declare function buildAnthropicSystemBlocks(systemPrompt: readonly string[] | undefined, options?: SystemBlockOptions): AnthropicSystemBlock[] | undefined;
177
+ export declare function normalizeExtraBetas(betas?: string[] | string): string[];
178
+ export declare function buildAnthropicClientOptions(args: AnthropicClientOptionsArgs): AnthropicClientOptionsResult;
179
+ /**
180
+ * A single Anthropic conversation turn, including the mid-conversation
181
+ * `system` role (Opus 4.8+).
182
+ */
183
+ export type AnthropicMessageParam = MessageParam;
184
+ export declare function convertAnthropicMessages(messages: Message[], model: Model<"anthropic-messages">, isOAuthToken: boolean): AnthropicMessageParam[];
185
+ /**
186
+ * Normalize a JSON Schema node for Anthropic tool `input_schema`.
187
+ *
188
+ * Applies the full whitelist semantics from the Anthropic Python SDK's
189
+ * `lib/_parse/_transform.py::transform_schema`:
190
+ *
191
+ * 1. Universal keys (`$ref`, `$defs`, `type`, `anyOf`/`oneOf`/`allOf`, `enum`, `const`,
192
+ * `description`, `title`, `default`, `nullable`) are preserved on every node.
193
+ * 2. Per-type keys are kept additively (object → `properties`/`required`/`additionalProperties`,
194
+ * array → `items`/`prefixItems` plus `minItems` only when 0 or 1, string → `format`
195
+ * only when in the supported value set).
196
+ * 3. Everything else is demoted into the node's `description` as `\n\n{key: value, ...}`
197
+ * so the model still sees the constraint as a natural-language hint.
198
+ *
199
+ * Object nodes default to `additionalProperties: false`, but explicit open-map
200
+ * declarations (`additionalProperties: true` or a schema literal — Zod's
201
+ * `z.record(z.string(), z.unknown())` produces `{}`) are preserved. The strict-mode
202
+ * pass downstream demotes those shapes to non-strict instead of fabricating a closed
203
+ * object, so callers like the resolve tool keep working open-map semantics.
204
+ */
205
+ export declare function normalizeAnthropicToolSchema(schema: unknown): unknown;
206
+ export {};
@@ -0,0 +1,43 @@
1
+ /**
2
+ * AWS credential resolution for the Bedrock provider.
3
+ *
4
+ * Chain (first hit wins):
5
+ * 1. Static credentials from the environment
6
+ * (`AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY` [+ `AWS_SESSION_TOKEN`]).
7
+ * 2. Profile in `~/.aws/credentials` (and `~/.aws/config` for SSO):
8
+ * - static `aws_access_key_id` / `aws_secret_access_key` / `aws_session_token`
9
+ * - SSO profile referencing a cached token in `~/.aws/sso/cache/*.json`,
10
+ * which we exchange for short-lived role credentials via
11
+ * `https://portal.sso.{region}.amazonaws.com/federation/credentials`.
12
+ * - `credential_process` — an external command emitting the AWS SDK
13
+ * `Version: 1` JSON envelope on stdout. Used by `aws-vault`, `granted`,
14
+ * in-house brokers, etc.
15
+ * 3. EC2 IMDSv2 (only when `AWS_EC2_METADATA_DISABLED` is unset / falsey and
16
+ * `169.254.169.254` is reachable within a 1 s timeout).
17
+ *
18
+ * Resolved credentials are cached process-wide per profile and refreshed
19
+ * 60 s before `Expiration` to absorb clock skew.
20
+ */
21
+ import type { AwsCredentials } from "./aws-sigv4";
22
+ export interface ResolvedCredentials extends AwsCredentials {
23
+ /** Absolute expiration timestamp in ms. `undefined` for non-expiring static creds. */
24
+ expiresAt?: number;
25
+ }
26
+ export interface CredentialResolveOptions {
27
+ /** Named profile from `~/.aws/credentials` / `~/.aws/config`. */
28
+ profile?: string;
29
+ /** Falls back to env (`AWS_REGION` / `AWS_DEFAULT_REGION`) and finally `us-east-1`. */
30
+ region?: string;
31
+ signal?: AbortSignal;
32
+ }
33
+ export declare function resolveAwsCredentials(opts?: CredentialResolveOptions): Promise<ResolvedCredentials>;
34
+ /** POSIX-shell-style tokenizer used by the AWS CLI for `credential_process`.
35
+ *
36
+ * Outside quotes a backslash escapes the next character. Inside single quotes
37
+ * everything is literal (no escapes, cannot contain `'`). Inside double quotes
38
+ * a backslash only escapes `$`, `` ` ``, `"`, and `\` — every other backslash
39
+ * is preserved verbatim, which is what makes Windows paths like
40
+ * `"C:\Program Files\tool\auth.exe"` survive tokenization. */
41
+ export declare function tokenizeCredentialProcessCommand(cmd: string): string[];
42
+ /** Test/diagnostic helper — drops cached credentials. */
43
+ export declare function clearAwsCredentialCache(): void;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * `application/vnd.amazon.eventstream` decoder.
3
+ *
4
+ * Wire format (all integers big-endian):
5
+ *
6
+ * [total length u32]
7
+ * [headers length u32]
8
+ * [prelude CRC32 u32] <- CRC over the first 8 bytes
9
+ * [headers headers_length]
10
+ * [payload total_length - headers_length - 16]
11
+ * [message CRC32 u32] <- CRC over the entire message minus the trailing 4 bytes
12
+ *
13
+ * Headers: a sequence of `[name_len u8][name utf8][value_type u8][value …]`.
14
+ * We only need the typed values Bedrock emits (boolean true/false, byte, short,
15
+ * integer, long, byte-array, string, timestamp, uuid). All are surfaced as
16
+ * strings for ease of consumption — Bedrock only sets string-valued headers in
17
+ * practice (`:event-type`, `:message-type`, `:content-type`, `:exception-type`).
18
+ */
19
+ export interface EventStreamMessage {
20
+ /** Lower-cased copy is *not* applied — Bedrock uses casing like `:event-type` verbatim. */
21
+ headers: Record<string, string>;
22
+ payload: Uint8Array;
23
+ }
24
+ export declare function crc32(bytes: Uint8Array, seed?: number): number;
25
+ /**
26
+ * Decode a single, fully buffered eventstream message. Throws if the framing is
27
+ * malformed or either CRC mismatches. Used by both `decodeEventStream` (the
28
+ * streaming entry point) and the unit tests, which exercise it with hand-built
29
+ * frames.
30
+ */
31
+ export declare function decodeMessage(frame: Uint8Array): EventStreamMessage;
32
+ /**
33
+ * Async generator that consumes a `ReadableStream<Uint8Array>` (e.g. a fetch
34
+ * response body) and yields fully-framed messages. Handles arbitrary chunk
35
+ * boundaries: messages may span multiple chunks, and a single chunk may carry
36
+ * many messages.
37
+ */
38
+ export declare function decodeEventStream(source: ReadableStream<Uint8Array>): AsyncGenerator<EventStreamMessage>;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * AWS Signature V4 signing for HTTP requests. WebCrypto-only — no node:crypto.
3
+ *
4
+ * Matches `@smithy/signature-v4` for our usage: header-based signing with a
5
+ * full SHA-256 payload hash (Bedrock requires `applyChecksum: true`).
6
+ *
7
+ * Returns the set of headers to attach to the request:
8
+ * - `host`
9
+ * - `x-amz-date`
10
+ * - `x-amz-content-sha256`
11
+ * - `x-amz-security-token` (only when credentials carry a sessionToken)
12
+ * - `authorization`
13
+ */
14
+ export interface AwsCredentials {
15
+ accessKeyId: string;
16
+ secretAccessKey: string;
17
+ sessionToken?: string;
18
+ }
19
+ export interface SignParams {
20
+ method: string;
21
+ /** Hostname only — used to build the `host` header and the canonical request. */
22
+ host: string;
23
+ /** URI path component, e.g. `/model/anthropic.claude/converse-stream`. */
24
+ path: string;
25
+ /** Optional pre-built query string (without leading `?`). */
26
+ query?: string;
27
+ /** Extra headers to sign in addition to `host`/`x-amz-*`. Names are case-insensitive. */
28
+ headers?: Record<string, string>;
29
+ body: Uint8Array;
30
+ region: string;
31
+ service: string;
32
+ credentials: AwsCredentials;
33
+ /** Override clock for deterministic tests. */
34
+ date?: Date;
35
+ }
36
+ export declare function toHex(bytes: Uint8Array): string;
37
+ export declare function sha256(data: Uint8Array | string): Promise<Uint8Array>;
38
+ export declare function sha256Hex(data: Uint8Array | string): Promise<string>;
39
+ /**
40
+ * Derive a signing key: HMAC chain `kSecret → kDate → kRegion → kService → kSigning`.
41
+ */
42
+ export declare function getSigningKey(secretAccessKey: string, shortDate: string, region: string, service: string): Promise<Uint8Array>;
43
+ /** `YYYYMMDDTHHMMSSZ` + 8-char `YYYYMMDD`. */
44
+ export declare function formatAmzDate(d: Date): {
45
+ longDate: string;
46
+ shortDate: string;
47
+ };
48
+ export interface SignedHeaders {
49
+ host: string;
50
+ "x-amz-date": string;
51
+ "x-amz-content-sha256": string;
52
+ authorization: string;
53
+ "x-amz-security-token"?: string;
54
+ }
55
+ export declare function signRequest(params: SignParams): Promise<SignedHeaders>;
@@ -0,0 +1,15 @@
1
+ import type { ServiceTier, StreamFunction, StreamOptions, ToolChoice } from "../types";
2
+ export interface AzureOpenAIResponsesOptions extends StreamOptions {
3
+ reasoning?: "minimal" | "low" | "medium" | "high" | "xhigh";
4
+ reasoningSummary?: "auto" | "detailed" | "concise" | null;
5
+ azureApiVersion?: string;
6
+ azureResourceName?: string;
7
+ azureBaseUrl?: string;
8
+ azureDeploymentName?: string;
9
+ toolChoice?: ToolChoice;
10
+ serviceTier?: ServiceTier;
11
+ }
12
+ /**
13
+ * Generate function for Azure OpenAI Responses API
14
+ */
15
+ export declare const streamAzureOpenAIResponses: StreamFunction<"azure-openai-responses">;