@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,49 @@
1
+ export { type ZodType, z } from "zod/v4";
2
+ export * from "./api-registry";
3
+ export * from "./auth-broker";
4
+ export { type AuthGatewayBootOptions, type ModelResolver, startAuthGateway } from "./auth-gateway/server";
5
+ export * from "./auth-gateway/types";
6
+ export * from "./auth-storage";
7
+ export * from "./model-cache";
8
+ export * from "./model-manager";
9
+ export * from "./model-thinking";
10
+ export * from "./models";
11
+ export * from "./provider-details";
12
+ export * from "./provider-models";
13
+ export * from "./providers/anthropic";
14
+ export * from "./providers/anthropic-client";
15
+ export * from "./providers/azure-openai-responses";
16
+ export type * from "./providers/cursor";
17
+ export * from "./providers/gitlab-duo";
18
+ export type * from "./providers/google";
19
+ export type * from "./providers/google-gemini-cli";
20
+ export * from "./providers/google-gemini-headers";
21
+ export type * from "./providers/google-vertex";
22
+ export * from "./providers/kimi";
23
+ export * from "./providers/mock";
24
+ export * from "./providers/ollama";
25
+ export * from "./providers/openai-codex-responses";
26
+ export * from "./providers/openai-completions";
27
+ export * from "./providers/openai-responses";
28
+ export * from "./providers/synthetic";
29
+ export * from "./rate-limit-utils";
30
+ export * from "./stream";
31
+ export * from "./types";
32
+ export * from "./usage";
33
+ export * from "./usage/claude";
34
+ export * from "./usage/gemini";
35
+ export * from "./usage/github-copilot";
36
+ export * from "./usage/google-antigravity";
37
+ export * from "./usage/kimi";
38
+ export * from "./usage/minimax-code";
39
+ export * from "./usage/openai-codex";
40
+ export * from "./usage/zai";
41
+ export * from "./utils/anthropic-auth";
42
+ export * from "./utils/discovery";
43
+ export * from "./utils/event-stream";
44
+ export * from "./utils/oauth";
45
+ export type { OAuthCredentials, OAuthProvider, OAuthProviderId, OAuthProviderInfo, } from "./utils/oauth/types";
46
+ export * from "./utils/overflow";
47
+ export * from "./utils/retry";
48
+ export * from "./utils/schema";
49
+ export * from "./utils/validation";
@@ -0,0 +1,17 @@
1
+ import type { Api, Model } from "./types";
2
+ interface CacheEntry<TApi extends Api = Api> {
3
+ models: Model<TApi>[];
4
+ fresh: boolean;
5
+ authoritative: boolean;
6
+ updatedAt: number;
7
+ /**
8
+ * Hash of the static catalog slice that was merged into `models` when this
9
+ * row was written. `resolveProviderModels` compares against the current
10
+ * static fingerprint and bypasses the static+cache re-merge when they
11
+ * match — the cache already incorporates the same static state.
12
+ */
13
+ staticFingerprint: string;
14
+ }
15
+ export declare function readModelCache<TApi extends Api>(providerId: string, ttlMs: number, now: () => number, dbPath?: string): CacheEntry<TApi> | null;
16
+ export declare function writeModelCache<TApi extends Api>(providerId: string, updatedAt: number, models: Model<TApi>[], authoritative: boolean, staticFingerprint: string, dbPath?: string): void;
17
+ export {};
@@ -0,0 +1,64 @@
1
+ import type { Api, Model, Provider } from "./types";
2
+ /**
3
+ * Controls when dynamic endpoint models should be fetched.
4
+ */
5
+ export type ModelRefreshStrategy = "online" | "offline" | "online-if-uncached";
6
+ /**
7
+ * Hook for loading and mapping models.dev fallback data into canonical model objects.
8
+ */
9
+ export interface ModelsDevFallback<TApi extends Api = Api, TPayload = unknown> {
10
+ /** Fetches raw fallback payload (for example from models.dev). */
11
+ fetch(): Promise<TPayload>;
12
+ /** Maps payload into provider models. */
13
+ map(payload: TPayload, providerId: Provider): readonly Model<TApi>[];
14
+ }
15
+ /**
16
+ * Configuration for provider model resolution.
17
+ */
18
+ export interface ModelManagerOptions<TApi extends Api = Api, TModelsDevPayload = unknown> {
19
+ /** Provider id used for static lookup and cache namespacing. */
20
+ providerId: Provider;
21
+ /** Optional static list override. When omitted, bundled models.json is used. */
22
+ staticModels?: readonly Model<TApi>[];
23
+ /** Optional override for the cache database path. Default: <agent-dir>/models.db. */
24
+ cacheDbPath?: string;
25
+ /** Maximum cache age in milliseconds before considered stale. Default: 24h. */
26
+ cacheTtlMs?: number;
27
+ /** When true, a successful dynamic fetch is the complete provider catalog and prunes static-only models. */
28
+ dynamicModelsAuthoritative?: boolean;
29
+ /** Optional dynamic endpoint fetcher. */
30
+ fetchDynamicModels?: () => Promise<readonly Model<TApi>[] | null>;
31
+ /** Optional models.dev fallback hook. */
32
+ modelsDev?: ModelsDevFallback<TApi, TModelsDevPayload>;
33
+ /** Clock override for deterministic tests. */
34
+ now?: () => number;
35
+ }
36
+ /**
37
+ * Resolution result.
38
+ *
39
+ * `stale` is false when the resolved catalog is authoritative for the selected provider:
40
+ * - dynamic endpoint data was fetched in this call,
41
+ * - a still-fresh authoritative cache was reused in `online-if-uncached` mode, or
42
+ * - the provider has no dynamic fetcher configured.
43
+ */
44
+ export interface ModelResolutionResult<TApi extends Api = Api> {
45
+ models: Model<TApi>[];
46
+ stale: boolean;
47
+ }
48
+ /**
49
+ * Stateful facade over provider model resolution.
50
+ */
51
+ export interface ModelManager<TApi extends Api = Api> {
52
+ refresh(strategy?: ModelRefreshStrategy): Promise<ModelResolutionResult<TApi>>;
53
+ }
54
+ /**
55
+ * Creates a reusable provider model manager.
56
+ */
57
+ export declare function createModelManager<TApi extends Api = Api, TModelsDevPayload = unknown>(options: ModelManagerOptions<TApi, TModelsDevPayload>): ModelManager<TApi>;
58
+ /**
59
+ * Resolves provider models with source precedence:
60
+ * static -> models.dev -> cache -> dynamic.
61
+ *
62
+ * Later sources override earlier ones by model id.
63
+ */
64
+ export declare function resolveProviderModels<TApi extends Api = Api, TModelsDevPayload = unknown>(options: ModelManagerOptions<TApi, TModelsDevPayload>, strategy?: ModelRefreshStrategy): Promise<ModelResolutionResult<TApi>>;
@@ -0,0 +1,100 @@
1
+ import type { Api, Model as ApiModel } from "./types";
2
+ /** User-facing thinking levels, ordered least to most intensive. */
3
+ export declare const enum Effort {
4
+ Minimal = "minimal",
5
+ Low = "low",
6
+ Medium = "medium",
7
+ High = "high",
8
+ XHigh = "xhigh"
9
+ }
10
+ export declare const THINKING_EFFORTS: readonly Effort[];
11
+ /**
12
+ * Static fallback model injected when Cloudflare AI Gateway discovery
13
+ * returns no results. Ensures the provider always has at least one usable
14
+ * model entry in the catalog.
15
+ */
16
+ export declare const CLOUDFLARE_FALLBACK_MODEL: ApiModel<"anthropic-messages">;
17
+ /**
18
+ * Returns a copy of the model with canonical thinking metadata attached.
19
+ *
20
+ * This helper belongs to catalog enrichment only. Runtime consumers should
21
+ * trust `model.thinking` and avoid inferring capabilities on demand.
22
+ */
23
+ export declare function enrichModelThinking<TApi extends Api>(model: ApiModel<TApi>): ApiModel<TApi>;
24
+ /**
25
+ * Returns a copy of the model with thinking metadata recomputed from the
26
+ * canonical rules, replacing any existing `thinking`.
27
+ */
28
+ export declare function refreshModelThinking<TApi extends Api>(model: ApiModel<TApi>): ApiModel<TApi>;
29
+ /**
30
+ * Apply upstream metadata corrections to a mutable array of models.
31
+ *
32
+ * Each model is first normalized through `refreshModelThinking()` so generated
33
+ * catalogs keep canonical thinking metadata and policy fixes in one pass.
34
+ */
35
+ export declare function applyGeneratedModelPolicies(models: ApiModel<Api>[]): void;
36
+ /**
37
+ * Link OpenAI model variants to their context promotion targets.
38
+ *
39
+ * When a model's context is exhausted, the agent can promote to a sibling
40
+ * model with a larger context window on the same provider:
41
+ * - `codex-spark` variants promote to `gpt-5.5`.
42
+ * - `gpt-5.5` (270K input) promotes to `gpt-5.4` (1M input).
43
+ */
44
+ export declare function linkOpenAIPromotionTargets(models: ApiModel<Api>[]): void;
45
+ /**
46
+ * True when the model reasons natively but rejects the wire `reasoning.effort`
47
+ * param (compat.supportsReasoningEffort: false on openai-responses*). Callers
48
+ * are expected to omit the effort field; the wire-side omitReasoningEffort
49
+ * gate (providers/xai-responses.ts:78) is the actual strip, and this
50
+ * predicate is the upstream check that prevents a redundant
51
+ * requireSupportedEffort throw from defeating that gate.
52
+ *
53
+ * Scoped to openai-responses* because that's the only API surface where
54
+ * `compat.supportsReasoningEffort: false` is meaningful today. The
55
+ * `in`-narrowed access is necessary because Model.compat is
56
+ * `AnthropicCompat | OpenAICompat` and the api gate doesn't narrow the
57
+ * union for TS.
58
+ */
59
+ export declare function modelOmitsReasoningEffort<TApi extends Api>(model: ApiModel<TApi>): boolean;
60
+ /**
61
+ * Returns the supported thinking efforts declared on the model metadata.
62
+ *
63
+ * Catalog enrichment is responsible for normalizing bundled model metadata up front.
64
+ * Runtime callers must treat explicit `model.thinking` on custom models as authoritative
65
+ * so proxy-specific overrides from `models.yml` survive request construction.
66
+ *
67
+ * @throws Error when a reasoning-capable model is missing thinking metadata
68
+ */
69
+ export declare function getSupportedEfforts<TApi extends Api>(model: ApiModel<TApi>): readonly Effort[];
70
+ /**
71
+ * Clamps a requested thinking level against explicit model metadata.
72
+ *
73
+ * Non-reasoning models always resolve to `undefined`.
74
+ */
75
+ export declare function clampThinkingLevelForModel<TApi extends Api>(model: ApiModel<TApi> | undefined, requested: Effort | undefined): Effort | undefined;
76
+ export declare function requireSupportedEffort<TApi extends Api>(model: ApiModel<TApi>, effort: Effort): Effort;
77
+ /** Maps a normalized thinking effort to Google's `thinkingLevel` enum values. */
78
+ export declare function mapEffortToGoogleThinkingLevel<TApi extends Api>(model: ApiModel<TApi>, effort: Effort): "MINIMAL" | "LOW" | "MEDIUM" | "HIGH";
79
+ /** Maps a normalized thinking effort to Anthropic adaptive effort values. */
80
+ export declare function mapEffortToAnthropicAdaptiveEffort<TApi extends Api>(model: ApiModel<TApi>, effort: Effort): "low" | "medium" | "high" | "xhigh" | "max";
81
+ /**
82
+ * Returns true for Anthropic models with Opus 4.7 API restrictions:
83
+ * - Sampling parameters (temperature/top_p/top_k) return 400 error
84
+ * - Thinking content is omitted by default (needs display: "summarized")
85
+ */
86
+ export declare function hasOpus47ApiRestrictions(modelId: string): boolean;
87
+ /**
88
+ * Mid-conversation `role: "system"` messages (system instructions appended at
89
+ * non-first positions in the `messages` array) are supported starting with
90
+ * Claude Opus 4.8. Earlier Claude models reject the role.
91
+ * @see https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages
92
+ */
93
+ export declare function supportsMidConversationSystemMessages(modelId: string): boolean;
94
+ /**
95
+ * Claude Opus 4.8 must emit at most one tool call per turn: the Anthropic
96
+ * Messages provider sends `tool_choice.disable_parallel_tool_use = true` for
97
+ * this model. Scoped to exactly 4.8 — earlier and later Opus versions keep
98
+ * Anthropic's default parallel tool-calling.
99
+ */
100
+ export declare function disablesParallelToolUse(modelId: string): boolean;
@@ -0,0 +1,12 @@
1
+ import MODELS from "./models.json";
2
+ import type { Api, KnownProvider, Model, Usage } from "./types";
3
+ export type GeneratedProvider = keyof typeof MODELS;
4
+ export declare function getBundledModel<TApi extends Api = Api>(provider: GeneratedProvider, modelId: string): Model<TApi>;
5
+ export declare function getBundledProviders(): KnownProvider[];
6
+ export declare function getBundledModels(provider: GeneratedProvider): Model<Api>[];
7
+ export declare function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage["cost"];
8
+ /**
9
+ * Check if two models are equal by comparing both their id and provider.
10
+ * Returns false if either model is null or undefined.
11
+ */
12
+ export declare function modelsAreEqual<TApi extends Api>(a: Model<TApi> | null | undefined, b: Model<TApi> | null | undefined): boolean;
@@ -0,0 +1,24 @@
1
+ import type { Api, Model, Provider, ProviderSessionState } from "./types";
2
+ export interface ProviderDetailField {
3
+ label: string;
4
+ value: string;
5
+ }
6
+ export interface ProviderDetails {
7
+ provider: Provider;
8
+ api: Api;
9
+ fields: ProviderDetailField[];
10
+ }
11
+ export interface ProviderDetailsContext {
12
+ model: Model<Api>;
13
+ sessionId?: string;
14
+ authMode?: string;
15
+ /**
16
+ * Human-readable description of the active credential, e.g.
17
+ * `"broker http://can.internal:8765 · oauth #5 (foo@bar.com)"`.
18
+ * Rendered as a `Source` field; omitted when undefined.
19
+ */
20
+ credentialSource?: string;
21
+ preferWebsockets?: boolean;
22
+ providerSessionState?: Map<string, ProviderSessionState>;
23
+ }
24
+ export declare function getProviderDetails(context: ProviderDetailsContext): ProviderDetails;
@@ -0,0 +1,4 @@
1
+ import { getBundledModels } from "../models";
2
+ import type { Api, Model } from "../types";
3
+ export declare function createBundledReferenceMap<TApi extends Api>(provider: Parameters<typeof getBundledModels>[0]): Map<string, Model<TApi>>;
4
+ export declare function createReferenceResolver<TApi extends Api>(providerRefs: Map<string, Model<TApi>>): (modelId: string) => Model<TApi> | undefined;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Unified provider descriptors — single source of truth for provider metadata
3
+ * used by both runtime model discovery (model-registry.ts) and catalog
4
+ * generation (generate-models.ts).
5
+ */
6
+ import type { ModelManagerOptions } from "../model-manager";
7
+ import type { Api, KnownProvider } from "../types";
8
+ import type { OAuthProvider } from "../utils/oauth/types";
9
+ /** Catalog discovery configuration for providers that support endpoint-based model listing. */
10
+ export interface CatalogDiscoveryConfig {
11
+ /** Human-readable name for log messages. */
12
+ label: string;
13
+ /** Environment variables to check for API keys during catalog generation. */
14
+ envVars: string[];
15
+ /** OAuth provider for credential refresh during catalog generation. */
16
+ oauthProvider?: OAuthProvider;
17
+ /** When true, catalog discovery proceeds even without credentials. */
18
+ allowUnauthenticated?: boolean;
19
+ }
20
+ /** Unified provider descriptor used by both runtime discovery and catalog generation. */
21
+ export interface ProviderDescriptor {
22
+ providerId: KnownProvider;
23
+ createModelManagerOptions(config: {
24
+ apiKey?: string;
25
+ baseUrl?: string;
26
+ }): ModelManagerOptions<Api>;
27
+ /** Preferred model ID when no explicit selection is made. */
28
+ defaultModel: string;
29
+ /** When true, the runtime creates a model manager even without a valid API key (e.g. ollama). */
30
+ allowUnauthenticated?: boolean;
31
+ /** When true, successful runtime discovery replaces bundled provider models instead of merging fallback-only IDs. */
32
+ dynamicModelsAuthoritative?: boolean;
33
+ /** Catalog discovery configuration. Only providers with this field participate in generate-models.ts. */
34
+ catalogDiscovery?: CatalogDiscoveryConfig;
35
+ }
36
+ /** A provider descriptor that has catalog discovery configured. */
37
+ export type CatalogProviderDescriptor = ProviderDescriptor & {
38
+ catalogDiscovery: CatalogDiscoveryConfig;
39
+ };
40
+ /** Type guard for descriptors with catalog discovery. */
41
+ export declare function isCatalogDescriptor(d: ProviderDescriptor): d is CatalogProviderDescriptor;
42
+ /** Whether catalog discovery may run without provider credentials. */
43
+ export declare function allowsUnauthenticatedCatalogDiscovery(descriptor: CatalogProviderDescriptor): boolean;
44
+ /**
45
+ * All standard providers. Special providers (google-antigravity, google-gemini-cli,
46
+ * openai-codex) are handled separately because they require different config shapes.
47
+ */
48
+ export declare const PROVIDER_DESCRIPTORS: readonly ProviderDescriptor[];
49
+ /** Default model IDs for all known providers, built from descriptors + special providers. */
50
+ export declare const DEFAULT_MODEL_PER_PROVIDER: Record<KnownProvider, string>;
@@ -0,0 +1,24 @@
1
+ import type { ModelManagerOptions } from "../model-manager";
2
+ import type { FetchImpl } from "../types";
3
+ export interface GoogleModelManagerConfig {
4
+ apiKey?: string;
5
+ }
6
+ export interface GoogleVertexModelManagerConfig {
7
+ apiKey?: string;
8
+ project?: string;
9
+ location?: string;
10
+ signal?: AbortSignal;
11
+ fetch?: FetchImpl;
12
+ }
13
+ export interface GoogleAntigravityModelManagerConfig {
14
+ oauthToken?: string;
15
+ endpoint?: string;
16
+ }
17
+ export interface GoogleGeminiCliModelManagerConfig {
18
+ oauthToken?: string;
19
+ endpoint?: string;
20
+ }
21
+ export declare function googleModelManagerOptions(config?: GoogleModelManagerConfig): ModelManagerOptions<"google-generative-ai">;
22
+ export declare function googleVertexModelManagerOptions(_config?: GoogleVertexModelManagerConfig): ModelManagerOptions;
23
+ export declare function googleAntigravityModelManagerOptions(config?: GoogleAntigravityModelManagerConfig): ModelManagerOptions<"google-gemini-cli">;
24
+ export declare function googleGeminiCliModelManagerOptions(config?: GoogleGeminiCliModelManagerConfig): ModelManagerOptions<"google-gemini-cli">;
@@ -0,0 +1,5 @@
1
+ export * from "./descriptors";
2
+ export * from "./google";
3
+ export * from "./ollama";
4
+ export * from "./openai-compat";
5
+ export * from "./special";
@@ -0,0 +1,7 @@
1
+ import type { ModelManagerOptions } from "../model-manager";
2
+ export interface OllamaCloudModelManagerConfig {
3
+ apiKey?: string;
4
+ baseUrl?: string;
5
+ }
6
+ export declare function normalizeOllamaCloudBaseUrl(baseUrl?: string): string;
7
+ export declare function ollamaCloudModelManagerOptions(config?: OllamaCloudModelManagerConfig): ModelManagerOptions<"ollama-chat">;
@@ -0,0 +1,296 @@
1
+ import type { ModelManagerOptions } from "../model-manager";
2
+ import type { Api, Model } 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
+ export interface FireworksModelManagerConfig {
114
+ apiKey?: string;
115
+ baseUrl?: string;
116
+ }
117
+ export declare function fireworksModelManagerOptions(config?: FireworksModelManagerConfig): ModelManagerOptions<"openai-completions">;
118
+ export interface FirepassModelManagerConfig {
119
+ apiKey?: string;
120
+ baseUrl?: string;
121
+ }
122
+ /**
123
+ * Fire Pass is a Fireworks subscription product that exposes a single router
124
+ * model (Kimi K2.6 Turbo) under `accounts/fireworks/routers/kimi-k2p6-turbo`.
125
+ * The dedicated `fpk_…` keys do not authorize `/v1/models`, so this manager
126
+ * never performs dynamic discovery — the bundled catalog entry is canonical.
127
+ * See https://docs.fireworks.ai/firepass.
128
+ */
129
+ export declare function firepassModelManagerOptions(_config?: FirepassModelManagerConfig): ModelManagerOptions<"openai-completions">;
130
+ export interface WaferModelManagerConfig {
131
+ apiKey?: string;
132
+ baseUrl?: string;
133
+ }
134
+ export declare function waferPassModelManagerOptions(config?: WaferModelManagerConfig): ModelManagerOptions<"openai-completions">;
135
+ export declare function waferServerlessModelManagerOptions(config?: WaferModelManagerConfig): ModelManagerOptions<"openai-completions">;
136
+ export interface MistralModelManagerConfig {
137
+ apiKey?: string;
138
+ baseUrl?: string;
139
+ }
140
+ export declare function mistralModelManagerOptions(config?: MistralModelManagerConfig): ModelManagerOptions<"openai-completions">;
141
+ export interface OpenCodeModelManagerConfig {
142
+ apiKey?: string;
143
+ baseUrl?: string;
144
+ }
145
+ export declare function opencodeZenModelManagerOptions(config?: OpenCodeModelManagerConfig): ModelManagerOptions<Api>;
146
+ export declare function opencodeGoModelManagerOptions(config?: OpenCodeModelManagerConfig): ModelManagerOptions<Api>;
147
+ export interface OllamaModelManagerConfig {
148
+ apiKey?: string;
149
+ baseUrl?: string;
150
+ }
151
+ export declare function ollamaModelManagerOptions(config?: OllamaModelManagerConfig): ModelManagerOptions<"openai-responses">;
152
+ export interface OpenRouterModelManagerConfig {
153
+ apiKey?: string;
154
+ baseUrl?: string;
155
+ }
156
+ export declare function openrouterModelManagerOptions(config?: OpenRouterModelManagerConfig): ModelManagerOptions<"openai-completions">;
157
+ export interface ZenMuxModelManagerConfig {
158
+ apiKey?: string;
159
+ baseUrl?: string;
160
+ }
161
+ export declare function zenmuxModelManagerOptions(config?: ZenMuxModelManagerConfig): ModelManagerOptions<Api>;
162
+ export interface KiloModelManagerConfig {
163
+ apiKey?: string;
164
+ baseUrl?: string;
165
+ }
166
+ export declare function kiloModelManagerOptions(config?: KiloModelManagerConfig): ModelManagerOptions<"openai-completions">;
167
+ export interface AlibabaCodingPlanModelManagerConfig {
168
+ apiKey?: string;
169
+ baseUrl?: string;
170
+ }
171
+ export declare function alibabaCodingPlanModelManagerOptions(config?: AlibabaCodingPlanModelManagerConfig): ModelManagerOptions<"openai-completions">;
172
+ export interface VercelAiGatewayModelManagerConfig {
173
+ apiKey?: string;
174
+ baseUrl?: string;
175
+ }
176
+ export declare function vercelAiGatewayModelManagerOptions(config?: VercelAiGatewayModelManagerConfig): ModelManagerOptions<"anthropic-messages">;
177
+ export interface KimiCodeModelManagerConfig {
178
+ apiKey?: string;
179
+ baseUrl?: string;
180
+ }
181
+ export declare function kimiCodeModelManagerOptions(config?: KimiCodeModelManagerConfig): ModelManagerOptions<"openai-completions">;
182
+ export interface LmStudioModelManagerConfig {
183
+ apiKey?: string;
184
+ baseUrl?: string;
185
+ }
186
+ export declare function lmStudioModelManagerOptions(config?: LmStudioModelManagerConfig): ModelManagerOptions<"openai-completions">;
187
+ export interface SyntheticModelManagerConfig {
188
+ apiKey?: string;
189
+ baseUrl?: string;
190
+ }
191
+ export declare function syntheticModelManagerOptions(config?: SyntheticModelManagerConfig): ModelManagerOptions<"openai-completions">;
192
+ export interface VeniceModelManagerConfig {
193
+ apiKey?: string;
194
+ baseUrl?: string;
195
+ }
196
+ export declare function veniceModelManagerOptions(config?: VeniceModelManagerConfig): ModelManagerOptions<"openai-completions">;
197
+ export interface TogetherModelManagerConfig {
198
+ apiKey?: string;
199
+ baseUrl?: string;
200
+ }
201
+ export declare function togetherModelManagerOptions(config?: TogetherModelManagerConfig): ModelManagerOptions<"openai-completions">;
202
+ export interface MoonshotModelManagerConfig {
203
+ apiKey?: string;
204
+ baseUrl?: string;
205
+ }
206
+ export declare function moonshotModelManagerOptions(config?: MoonshotModelManagerConfig): ModelManagerOptions<"openai-completions">;
207
+ export interface QwenPortalModelManagerConfig {
208
+ apiKey?: string;
209
+ baseUrl?: string;
210
+ }
211
+ export declare function qwenPortalModelManagerOptions(config?: QwenPortalModelManagerConfig): ModelManagerOptions<"openai-completions">;
212
+ export interface QianfanModelManagerConfig {
213
+ apiKey?: string;
214
+ baseUrl?: string;
215
+ }
216
+ export declare function qianfanModelManagerOptions(config?: QianfanModelManagerConfig): ModelManagerOptions<"openai-completions">;
217
+ export interface CloudflareAiGatewayModelManagerConfig {
218
+ apiKey?: string;
219
+ baseUrl?: string;
220
+ }
221
+ export declare function cloudflareAiGatewayModelManagerOptions(config?: CloudflareAiGatewayModelManagerConfig): ModelManagerOptions<"anthropic-messages">;
222
+ export interface XiaomiModelManagerConfig {
223
+ apiKey?: string;
224
+ baseUrl?: string;
225
+ }
226
+ export declare function xiaomiModelManagerOptions(config?: XiaomiModelManagerConfig): ModelManagerOptions<"openai-completions">;
227
+ export interface LiteLLMModelManagerConfig {
228
+ apiKey?: string;
229
+ baseUrl?: string;
230
+ }
231
+ export declare function litellmModelManagerOptions(config?: LiteLLMModelManagerConfig): ModelManagerOptions<"openai-completions">;
232
+ export interface VllmModelManagerConfig {
233
+ apiKey?: string;
234
+ baseUrl?: string;
235
+ }
236
+ export declare function vllmModelManagerOptions(config?: VllmModelManagerConfig): ModelManagerOptions<"openai-completions">;
237
+ export interface NanoGptModelManagerConfig {
238
+ apiKey?: string;
239
+ baseUrl?: string;
240
+ }
241
+ export declare function nanoGptModelManagerOptions(config?: NanoGptModelManagerConfig): ModelManagerOptions<"openai-completions">;
242
+ export interface GithubCopilotModelManagerConfig {
243
+ apiKey?: string;
244
+ baseUrl?: string;
245
+ }
246
+ export declare function githubCopilotModelManagerOptions(config?: GithubCopilotModelManagerConfig): ModelManagerOptions<Api>;
247
+ export interface AnthropicModelManagerConfig {
248
+ apiKey?: string;
249
+ baseUrl?: string;
250
+ }
251
+ export declare function anthropicModelManagerOptions(config?: AnthropicModelManagerConfig): ModelManagerOptions<"anthropic-messages">;
252
+ export declare const UNK_CONTEXT_WINDOW = 222222;
253
+ export declare const UNK_MAX_TOKENS = 8888;
254
+ /** Describes how to map models.dev API data for a single provider. */
255
+ export interface ModelsDevProviderDescriptor {
256
+ /** Key in the models.dev API response JSON (e.g., "anthropic", "amazon-bedrock") */
257
+ modelsDevKey: string;
258
+ /** Provider ID in our system */
259
+ providerId: string;
260
+ /** Default API type for this provider's models */
261
+ api: Api;
262
+ /** Default base URL */
263
+ baseUrl: string;
264
+ /** Default context window fallback (default: UNKNNOWN_CONTEXT_WINDOW) */
265
+ defaultContextWindow?: number;
266
+ /** Default max tokens fallback (default: UNKNNOWN_MAX_TOKENS) */
267
+ defaultMaxTokens?: number;
268
+ /** Optional compat overrides applied to every model from this provider */
269
+ compat?: Model<Api>["compat"];
270
+ /** Optional static headers applied to every model */
271
+ headers?: Record<string, string>;
272
+ /**
273
+ * Optional filter: return false to skip a model.
274
+ * Called with (modelId, rawModel). Default: skip if tool_call !== true.
275
+ */
276
+ filterModel?: (modelId: string, model: ModelsDevModel) => boolean;
277
+ /**
278
+ * Optional transform: modify the mapped model before it's added.
279
+ * Can return null to skip the model, or an array to emit multiple models.
280
+ */
281
+ transformModel?: (model: Model<Api>, modelId: string, raw: ModelsDevModel) => Model<Api> | Model<Api>[] | null;
282
+ /**
283
+ * Optional: override the API type per-model.
284
+ * Called with (modelId, raw). Return the API type to use.
285
+ * If not provided, uses the `api` field.
286
+ */
287
+ resolveApi?: (modelId: string, raw: ModelsDevModel) => {
288
+ api: Api;
289
+ baseUrl: string;
290
+ } | null;
291
+ }
292
+ /** Generic mapper that converts models.dev data using provider descriptors. */
293
+ export declare function mapModelsDevToModels(data: Record<string, unknown>, descriptors: readonly ModelsDevProviderDescriptor[]): Model<Api>[];
294
+ /** All provider descriptors for models.dev data mapping in generate-models.ts. */
295
+ export declare const MODELS_DEV_PROVIDER_DESCRIPTORS: readonly ModelsDevProviderDescriptor[];
296
+ export {};