@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,16 @@
1
+ /**
2
+ * Parsed inbound OpenAI chat-completions request, ready to feed into aery-ai
3
+ * `stream(model, context, options)`.
4
+ */
5
+ import type { AuthGatewayParsedRequest as ParsedRequest } from "../auth-gateway/types";
6
+ import type { AssistantMessage, AssistantMessageEventStream } from "../types";
7
+ export type { ParsedRequest };
8
+ export declare function parseRequest(body: unknown, headers?: Headers): ParsedRequest;
9
+ export declare function encodeResponse(message: AssistantMessage, requestedModelId: string): Record<string, unknown>;
10
+ export declare function encodeStream(events: AssistantMessageEventStream, requestedModelId: string, options?: ParsedRequest["options"]): ReadableStream<Uint8Array>;
11
+ /**
12
+ * OpenAI chat-completions error envelope:
13
+ * `{ error: { message, type } }`
14
+ * Matches the shape the official SDK auto-parses into `APIError`.
15
+ */
16
+ export declare function formatError(status: number, type: string, message: string): Response;
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Constants for OpenAI Codex (ChatGPT OAuth) backend
3
+ */
4
+ export declare const CODEX_BASE_URL = "https://chatgpt.com/backend-api";
5
+ export declare const OPENAI_HEADERS: {
6
+ readonly BETA: "OpenAI-Beta";
7
+ readonly ACCOUNT_ID: "chatgpt-account-id";
8
+ readonly ORIGINATOR: "originator";
9
+ readonly SESSION_ID: "session_id";
10
+ readonly CONVERSATION_ID: "conversation_id";
11
+ };
12
+ export declare const OPENAI_HEADER_VALUES: {
13
+ readonly BETA_RESPONSES: "responses=experimental";
14
+ readonly BETA_RESPONSES_WEBSOCKETS_V2: "responses_websockets=2026-02-06";
15
+ readonly ORIGINATOR_CODEX: "aery";
16
+ };
17
+ export declare const URL_PATHS: {
18
+ readonly RESPONSES: "/responses";
19
+ readonly CODEX_RESPONSES: "/codex/responses";
20
+ };
21
+ export declare const JWT_CLAIM_PATH: "https://api.openai.com/auth";
22
+ /**
23
+ * Extract account ID from a Codex JWT access token.
24
+ * Returns undefined if the token is not a valid Codex JWT.
25
+ */
26
+ export declare function getCodexAccountId(accessToken: string): string | undefined;
@@ -0,0 +1,49 @@
1
+ import type { Api, Model } from "../../types";
2
+ export interface ReasoningConfig {
3
+ effort: "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
4
+ summary?: "auto" | "concise" | "detailed";
5
+ }
6
+ export interface CodexRequestOptions {
7
+ reasoningEffort?: ReasoningConfig["effort"];
8
+ reasoningSummary?: ReasoningConfig["summary"] | null;
9
+ textVerbosity?: "low" | "medium" | "high";
10
+ include?: string[];
11
+ }
12
+ export interface InputItem {
13
+ id?: string | null;
14
+ type?: string | null;
15
+ role?: string;
16
+ content?: unknown;
17
+ call_id?: string | null;
18
+ name?: string;
19
+ output?: unknown;
20
+ arguments?: unknown;
21
+ }
22
+ export interface RequestBody {
23
+ model: string;
24
+ store?: boolean;
25
+ stream?: boolean;
26
+ instructions?: string;
27
+ input?: InputItem[];
28
+ tools?: unknown;
29
+ tool_choice?: unknown;
30
+ temperature?: number;
31
+ top_p?: number;
32
+ top_k?: number;
33
+ min_p?: number;
34
+ presence_penalty?: number;
35
+ repetition_penalty?: number;
36
+ reasoning?: Partial<ReasoningConfig>;
37
+ text?: {
38
+ verbosity?: "low" | "medium" | "high";
39
+ };
40
+ include?: string[];
41
+ prompt_cache_key?: string;
42
+ prompt_cache_retention?: "in_memory" | "24h";
43
+ max_output_tokens?: number;
44
+ max_completion_tokens?: number;
45
+ [key: string]: unknown;
46
+ }
47
+ export declare function transformRequestBody(body: RequestBody, model: Model<Api>, options?: CodexRequestOptions, prompt?: {
48
+ developerMessages: string[];
49
+ }): Promise<RequestBody>;
@@ -0,0 +1,17 @@
1
+ export type CodexRateLimit = {
2
+ used_percent?: number;
3
+ window_minutes?: number;
4
+ resets_at?: number;
5
+ };
6
+ export type CodexRateLimits = {
7
+ primary?: CodexRateLimit;
8
+ secondary?: CodexRateLimit;
9
+ };
10
+ export type CodexErrorInfo = {
11
+ message: string;
12
+ status: number;
13
+ friendlyMessage?: string;
14
+ rateLimits?: CodexRateLimits;
15
+ raw?: string;
16
+ };
17
+ export declare function parseCodexError(response: Response): Promise<CodexErrorInfo>;
@@ -0,0 +1,67 @@
1
+ import type { ResponseInput } from "openai/resources/responses/responses";
2
+ import { type Context, type Model, type ProviderSessionState, type ServiceTier, type StreamFunction, type StreamOptions, type Tool, type ToolChoice } from "../types";
3
+ export interface OpenAICodexResponsesOptions extends StreamOptions {
4
+ reasoning?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh";
5
+ reasoningSummary?: "auto" | "concise" | "detailed" | null;
6
+ textVerbosity?: "low" | "medium" | "high";
7
+ include?: string[];
8
+ codexMode?: boolean;
9
+ toolChoice?: ToolChoice;
10
+ preferWebsockets?: boolean;
11
+ serviceTier?: ServiceTier;
12
+ }
13
+ type CodexTransport = "sse" | "websocket";
14
+ export interface OpenAICodexWebSocketDebugStats {
15
+ fullContextRequests: number;
16
+ deltaRequests: number;
17
+ lastInputItems: number;
18
+ lastDeltaInputItems?: number;
19
+ lastPreviousResponseId?: string;
20
+ }
21
+ /** @internal Exported for tests. */
22
+ export declare function normalizeCodexToolChoice(choice: ToolChoice | undefined, tools?: Tool[], model?: Model<"openai-codex-responses">): string | Record<string, unknown> | undefined;
23
+ export declare const streamOpenAICodexResponses: StreamFunction<"openai-codex-responses">;
24
+ export declare function prewarmOpenAICodexResponses(model: Model<"openai-codex-responses">, options?: Pick<OpenAICodexResponsesOptions, "apiKey" | "headers" | "sessionId" | "signal" | "preferWebsockets" | "providerSessionState">): Promise<void>;
25
+ export interface OpenAICodexTransportDetails {
26
+ websocketPreferred: boolean;
27
+ lastTransport?: CodexTransport;
28
+ websocketDisabled: boolean;
29
+ websocketConnected: boolean;
30
+ fallbackCount: number;
31
+ canAppend: boolean;
32
+ prewarmed: boolean;
33
+ hasSessionState: boolean;
34
+ lastFallbackAt?: number;
35
+ }
36
+ export declare function getOpenAICodexWebSocketDebugStats(model: Model<"openai-codex-responses">, options?: {
37
+ sessionId?: string;
38
+ baseUrl?: string;
39
+ providerSessionState?: Map<string, ProviderSessionState>;
40
+ }): OpenAICodexWebSocketDebugStats | undefined;
41
+ export declare function getOpenAICodexTransportDetails(model: Model<"openai-codex-responses">, options?: {
42
+ sessionId?: string;
43
+ baseUrl?: string;
44
+ preferWebsockets?: boolean;
45
+ providerSessionState?: Map<string, ProviderSessionState>;
46
+ }): OpenAICodexTransportDetails;
47
+ declare function convertMessages(model: Model<"openai-codex-responses">, context: Context): ResponseInput;
48
+ /** @internal Exported for tests. */
49
+ export { convertMessages as convertCodexResponsesMessages };
50
+ type CodexToolPayload = {
51
+ type: "function";
52
+ name: string;
53
+ description: string;
54
+ parameters: Record<string, unknown>;
55
+ strict?: boolean;
56
+ } | {
57
+ type: "custom";
58
+ name: string;
59
+ description: string;
60
+ format: {
61
+ type: "grammar";
62
+ syntax: "lark" | "regex";
63
+ definition: string;
64
+ };
65
+ };
66
+ /** @internal Exported for tests. */
67
+ export declare function convertOpenAICodexResponsesTools(tools: Tool[], model: Model<"openai-codex-responses">): CodexToolPayload[];
@@ -0,0 +1,25 @@
1
+ import type { Model, OpenAICompat } from "../types";
2
+ type ResolvedToolStrictMode = NonNullable<OpenAICompat["toolStrictMode"]> | "mixed";
3
+ export type ResolvedOpenAICompat = Required<Omit<OpenAICompat, "openRouterRouting" | "vercelGatewayRouting" | "extraBody" | "toolStrictMode">> & {
4
+ openRouterRouting?: OpenAICompat["openRouterRouting"];
5
+ vercelGatewayRouting?: OpenAICompat["vercelGatewayRouting"];
6
+ extraBody?: OpenAICompat["extraBody"];
7
+ toolStrictMode: ResolvedToolStrictMode;
8
+ };
9
+ /**
10
+ * Detect compatibility settings from provider and baseUrl for known providers.
11
+ * Provider takes precedence over URL-based detection since it's explicitly configured.
12
+ * @param model - The model configuration
13
+ * @param resolvedBaseUrl - Optional resolved base URL (e.g., after GitHub Copilot proxy-ep resolution).
14
+ * If provided, this takes precedence over model.baseUrl for URL-based checks.
15
+ */
16
+ export declare function detectOpenAICompat(model: Model<"openai-completions">, resolvedBaseUrl?: string): ResolvedOpenAICompat;
17
+ /**
18
+ * Resolve compatibility settings by layering explicit model.compat overrides onto
19
+ * the detected defaults. This is the canonical compat view for both metadata and transport.
20
+ * @param model - The model configuration
21
+ * @param resolvedBaseUrl - Optional resolved base URL (e.g., after GitHub Copilot proxy-ep resolution).
22
+ * If provided, this takes precedence over model.baseUrl for URL-based checks.
23
+ */
24
+ export declare function resolveOpenAICompat(model: Model<"openai-completions">, resolvedBaseUrl?: string): ResolvedOpenAICompat;
25
+ export {};
@@ -0,0 +1,54 @@
1
+ import type { ChatCompletionMessageParam } from "openai/resources/chat/completions";
2
+ import { type AssistantMessage, type Context, type Model, type ServiceTier, type StreamFunction, type StreamOptions, type ToolChoice } from "../types";
3
+ import { type ResolvedOpenAICompat } from "./openai-completions-compat";
4
+ /**
5
+ * Identify "real progress" stream chunks vs. keepalives, role-only preambles,
6
+ * and empty `{choices:[]}` no-ops emitted by some OpenAI-compatible endpoints.
7
+ * Without this filter, every keepalive resets `iterateWithIdleTimeout`'s
8
+ * deadline, so a provider that streams nothing but pings keeps the watchdog
9
+ * asleep indefinitely — observed against z.ai/GLM via OpenRouter where a
10
+ * subagent stalled for hours with no error surfaced.
11
+ *
12
+ * A chunk counts as progress when it carries terminal usage, a finish reason,
13
+ * or any model-produced delta (content / tool calls / reasoning / refusal).
14
+ * Role-only `delta: { role: "assistant" }` preambles do NOT count; we want the
15
+ * (longer) first-event timeout to keep governing until real output appears.
16
+ */
17
+ export declare function isOpenAICompletionsProgressChunk(chunk: unknown): boolean;
18
+ export interface OpenAICompletionsOptions extends StreamOptions {
19
+ toolChoice?: ToolChoice;
20
+ reasoning?: "minimal" | "low" | "medium" | "high" | "xhigh";
21
+ /** Force-disable reasoning where supported, or request the lowest effort on generic effort endpoints. */
22
+ disableReasoning?: boolean;
23
+ serviceTier?: ServiceTier;
24
+ /**
25
+ * Routing-variant suffix appended to OpenRouter model IDs when none is
26
+ * already present (`anthropic/claude-haiku-latest` → `…:nitro`). Common
27
+ * values: `"nitro"`, `"floor"`, `"online"`, `"exacto"`. Ignored when the
28
+ * resolved `model.id` already contains a colon-suffix after the last
29
+ * provider segment (explicit `:nitro` in the selector or a catalog entry
30
+ * with the variant baked in).
31
+ */
32
+ openrouterVariant?: string;
33
+ }
34
+ /**
35
+ * Append an OpenRouter routing-variant suffix (e.g. `:nitro`, `:floor`, `:online`, `:exacto`)
36
+ * to a model id when no explicit variant is already present. A variant is considered
37
+ * "already present" when `modelId` contains a colon after the last `/` separator —
38
+ * which covers both user-typed selectors (`anthropic/claude-haiku:nitro`) and catalog
39
+ * entries that bake the variant in (`deepseek/deepseek-v3.1-terminus:exacto`).
40
+ *
41
+ * Exported for unit testing.
42
+ */
43
+ export declare function applyOpenRouterRoutingVariant(modelId: string, variant: string | undefined): string;
44
+ /** Returns the widened OpenAI stream watchdog floor for slow GLM coding-plan reasoning models. */
45
+ export declare function getOpenAICompletionsStreamIdleTimeoutFallbackMs(model: Model<"openai-completions">): number | undefined;
46
+ export declare const streamOpenAICompletions: StreamFunction<"openai-completions">;
47
+ export declare function parseChunkUsage(rawUsage: object, model: Model<"openai-completions">, premiumRequests: number | undefined): AssistantMessage["usage"];
48
+ export declare function convertMessages(model: Model<"openai-completions">, context: Context, compat: ResolvedOpenAICompat): ChatCompletionMessageParam[];
49
+ /**
50
+ * Detect compatibility settings from provider and baseUrl for known providers.
51
+ * Provider takes precedence over URL-based detection since it's explicitly configured.
52
+ * Returns a fully resolved OpenAICompat object with all fields set.
53
+ */
54
+ export declare function detectCompat(model: Model<"openai-completions">): ResolvedOpenAICompat;
@@ -0,0 +1,392 @@
1
+ /**
2
+ * Zod schemas for the OpenAI Responses API request shape we accept on the
3
+ * gateway. Mirrors https://platform.openai.com/docs/api-reference/responses.
4
+ *
5
+ * Unsupported / opaque controls (background/include/metadata/prompt/…) are
6
+ * accepted as `z.unknown().optional()` so we silently ignore rather than 400.
7
+ * Real clients (codex, openai-python, llm-git) routinely send these and a 400
8
+ * is a worse outcome than dropping them on the floor.
9
+ */
10
+ import type { EasyInputMessage, ResponseCreateParams, ResponseFunctionToolCall, ResponseInputContent, ResponseInputItem, ResponseOutputMessage, ResponseReasoningItem, Tool as ResponsesTool } from "openai/resources/responses/responses";
11
+ import * as z from "zod/v4";
12
+ declare const inputImageBlockSchema: z.ZodObject<{
13
+ type: z.ZodLiteral<"input_image">;
14
+ detail: z.ZodOptional<z.ZodEnum<{
15
+ auto: "auto";
16
+ high: "high";
17
+ low: "low";
18
+ }>>;
19
+ image_url: z.ZodOptional<z.ZodString>;
20
+ file_id: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>;
22
+ declare const inputFileBlockSchema: z.ZodObject<{
23
+ type: z.ZodLiteral<"input_file">;
24
+ file_id: z.ZodOptional<z.ZodString>;
25
+ filename: z.ZodOptional<z.ZodString>;
26
+ file_data: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>;
28
+ declare const outputRefusalSchema: z.ZodObject<{
29
+ type: z.ZodLiteral<"refusal">;
30
+ refusal: z.ZodString;
31
+ }, z.core.$strip>;
32
+ declare const customToolCallItemSchema: z.ZodObject<{
33
+ type: z.ZodLiteral<"custom_tool_call">;
34
+ id: z.ZodOptional<z.ZodString>;
35
+ call_id: z.ZodString;
36
+ name: z.ZodString;
37
+ input: z.ZodString;
38
+ }, z.core.$strip>;
39
+ declare const customToolCallOutputItemSchema: z.ZodObject<{
40
+ type: z.ZodLiteral<"custom_tool_call_output">;
41
+ call_id: z.ZodString;
42
+ output: z.ZodString;
43
+ }, z.core.$strip>;
44
+ /**
45
+ * An input item is one of the union members below. The convenience shape
46
+ * `{role, content}` (no `type`) is mapped to "message" before validation in
47
+ * the walker — schemas here only handle the canonical {type, ...} forms.
48
+ */
49
+ export declare const inputItemSchema: z.ZodUnion<readonly [z.ZodObject<{
50
+ type: z.ZodOptional<z.ZodLiteral<"message">>;
51
+ role: z.ZodUnion<readonly [z.ZodLiteral<"user">, z.ZodLiteral<"developer">]>;
52
+ content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
53
+ type: z.ZodLiteral<"input_text">;
54
+ text: z.ZodString;
55
+ }, z.core.$strip>, z.ZodObject<{
56
+ type: z.ZodLiteral<"text">;
57
+ text: z.ZodString;
58
+ }, z.core.$strip>, z.ZodObject<{
59
+ type: z.ZodLiteral<"input_image">;
60
+ detail: z.ZodOptional<z.ZodEnum<{
61
+ auto: "auto";
62
+ high: "high";
63
+ low: "low";
64
+ }>>;
65
+ image_url: z.ZodOptional<z.ZodString>;
66
+ file_id: z.ZodOptional<z.ZodString>;
67
+ }, z.core.$strip>, z.ZodObject<{
68
+ type: z.ZodLiteral<"input_file">;
69
+ file_id: z.ZodOptional<z.ZodString>;
70
+ filename: z.ZodOptional<z.ZodString>;
71
+ file_data: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strip>]>>]>>;
73
+ }, z.core.$strip>, z.ZodObject<{
74
+ type: z.ZodOptional<z.ZodLiteral<"message">>;
75
+ role: z.ZodLiteral<"system">;
76
+ content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
77
+ type: z.ZodLiteral<"input_text">;
78
+ text: z.ZodString;
79
+ }, z.core.$strip>, z.ZodObject<{
80
+ type: z.ZodLiteral<"text">;
81
+ text: z.ZodString;
82
+ }, z.core.$strip>, z.ZodObject<{
83
+ type: z.ZodLiteral<"input_image">;
84
+ detail: z.ZodOptional<z.ZodEnum<{
85
+ auto: "auto";
86
+ high: "high";
87
+ low: "low";
88
+ }>>;
89
+ image_url: z.ZodOptional<z.ZodString>;
90
+ file_id: z.ZodOptional<z.ZodString>;
91
+ }, z.core.$strip>, z.ZodObject<{
92
+ type: z.ZodLiteral<"input_file">;
93
+ file_id: z.ZodOptional<z.ZodString>;
94
+ filename: z.ZodOptional<z.ZodString>;
95
+ file_data: z.ZodOptional<z.ZodString>;
96
+ }, z.core.$strip>]>>]>>;
97
+ }, z.core.$strip>, z.ZodObject<{
98
+ type: z.ZodOptional<z.ZodLiteral<"message">>;
99
+ role: z.ZodLiteral<"assistant">;
100
+ content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
101
+ type: z.ZodLiteral<"output_text">;
102
+ text: z.ZodString;
103
+ }, z.core.$strip>, z.ZodObject<{
104
+ type: z.ZodLiteral<"text">;
105
+ text: z.ZodString;
106
+ }, z.core.$strip>, z.ZodObject<{
107
+ type: z.ZodLiteral<"refusal">;
108
+ refusal: z.ZodString;
109
+ }, z.core.$strip>]>>]>>;
110
+ }, z.core.$strip>, z.ZodObject<{
111
+ type: z.ZodLiteral<"reasoning">;
112
+ id: z.ZodOptional<z.ZodString>;
113
+ summary: z.ZodOptional<z.ZodArray<z.ZodObject<{
114
+ type: z.ZodLiteral<"summary_text">;
115
+ text: z.ZodString;
116
+ }, z.core.$strip>>>;
117
+ content: z.ZodOptional<z.ZodArray<z.ZodObject<{
118
+ type: z.ZodLiteral<"reasoning_text">;
119
+ text: z.ZodString;
120
+ }, z.core.$strip>>>;
121
+ }, z.core.$strip>, z.ZodObject<{
122
+ type: z.ZodLiteral<"function_call">;
123
+ id: z.ZodOptional<z.ZodString>;
124
+ call_id: z.ZodString;
125
+ name: z.ZodString;
126
+ arguments: z.ZodOptional<z.ZodString>;
127
+ }, z.core.$strip>, z.ZodObject<{
128
+ type: z.ZodLiteral<"function_call_output">;
129
+ call_id: z.ZodString;
130
+ output: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
131
+ type: z.ZodLiteral<"output_text">;
132
+ text: z.ZodString;
133
+ }, z.core.$strip>, z.ZodObject<{
134
+ type: z.ZodLiteral<"text">;
135
+ text: z.ZodString;
136
+ }, z.core.$strip>, z.ZodObject<{
137
+ type: z.ZodLiteral<"refusal">;
138
+ refusal: z.ZodString;
139
+ }, z.core.$strip>]>>]>>;
140
+ }, z.core.$strip>, z.ZodObject<{
141
+ type: z.ZodLiteral<"custom_tool_call">;
142
+ id: z.ZodOptional<z.ZodString>;
143
+ call_id: z.ZodString;
144
+ name: z.ZodString;
145
+ input: z.ZodString;
146
+ }, z.core.$strip>, z.ZodObject<{
147
+ type: z.ZodLiteral<"custom_tool_call_output">;
148
+ call_id: z.ZodString;
149
+ output: z.ZodString;
150
+ }, z.core.$strip>, z.ZodObject<{
151
+ type: z.ZodString;
152
+ }, z.core.$loose>]>;
153
+ export type OpenAIResponsesUserItem = EasyInputMessage | ResponseInputItem.Message;
154
+ export type OpenAIResponsesSystemItem = EasyInputMessage | ResponseInputItem.Message;
155
+ export type OpenAIResponsesAssistantItem = EasyInputMessage | ResponseOutputMessage;
156
+ export type OpenAIResponsesReasoningItem = ResponseReasoningItem;
157
+ export type OpenAIResponsesFunctionCallItem = ResponseFunctionToolCall;
158
+ export type OpenAIResponsesFunctionCallOutputItem = ResponseInputItem.FunctionCallOutput;
159
+ /** Inferred shape of the custom tool call input item (no canonical SDK alias). */
160
+ export type OpenAIResponsesCustomToolCallItem = z.infer<typeof customToolCallItemSchema>;
161
+ export type OpenAIResponsesCustomToolCallOutputItem = z.infer<typeof customToolCallOutputItemSchema>;
162
+ export type OpenAIResponsesInputImageBlock = z.infer<typeof inputImageBlockSchema>;
163
+ export type OpenAIResponsesInputFileBlock = z.infer<typeof inputFileBlockSchema>;
164
+ export type OpenAIResponsesOutputRefusalBlock = z.infer<typeof outputRefusalSchema>;
165
+ export declare const toolSchema: z.ZodObject<{
166
+ type: z.ZodLiteral<"function">;
167
+ name: z.ZodString;
168
+ description: z.ZodOptional<z.ZodString>;
169
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
170
+ strict: z.ZodOptional<z.ZodBoolean>;
171
+ }, z.core.$strip>;
172
+ export declare const toolChoiceSchema: z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
173
+ type: z.ZodLiteral<"function">;
174
+ name: z.ZodString;
175
+ }, z.core.$strip>, z.ZodObject<{
176
+ type: z.ZodLiteral<"custom">;
177
+ name: z.ZodString;
178
+ }, z.core.$strip>, z.ZodObject<{
179
+ type: z.ZodEnum<{
180
+ code_interpreter: "code_interpreter";
181
+ computer_use_preview: "computer_use_preview";
182
+ file_search: "file_search";
183
+ image_generation: "image_generation";
184
+ mcp: "mcp";
185
+ web_search_preview: "web_search_preview";
186
+ }>;
187
+ }, z.core.$strip>, z.ZodObject<{
188
+ type: z.ZodLiteral<"allowed_tools">;
189
+ mode: z.ZodEnum<{
190
+ auto: "auto";
191
+ required: "required";
192
+ }>;
193
+ tools: z.ZodArray<z.ZodObject<{
194
+ type: z.ZodString;
195
+ name: z.ZodOptional<z.ZodString>;
196
+ }, z.core.$strip>>;
197
+ }, z.core.$strip>]>;
198
+ export declare const reasoningConfigSchema: z.ZodObject<{
199
+ effort: z.ZodOptional<z.ZodString>;
200
+ summary: z.ZodOptional<z.ZodEnum<{
201
+ auto: "auto";
202
+ concise: "concise";
203
+ detailed: "detailed";
204
+ none: "none";
205
+ }>>;
206
+ }, z.core.$strip>;
207
+ export declare const stopSchema: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodNull]>;
208
+ export declare const openaiResponsesRequestSchema: z.ZodObject<{
209
+ model: z.ZodString;
210
+ input: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
211
+ type: z.ZodOptional<z.ZodLiteral<"message">>;
212
+ role: z.ZodUnion<readonly [z.ZodLiteral<"user">, z.ZodLiteral<"developer">]>;
213
+ content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
214
+ type: z.ZodLiteral<"input_text">;
215
+ text: z.ZodString;
216
+ }, z.core.$strip>, z.ZodObject<{
217
+ type: z.ZodLiteral<"text">;
218
+ text: z.ZodString;
219
+ }, z.core.$strip>, z.ZodObject<{
220
+ type: z.ZodLiteral<"input_image">;
221
+ detail: z.ZodOptional<z.ZodEnum<{
222
+ auto: "auto";
223
+ high: "high";
224
+ low: "low";
225
+ }>>;
226
+ image_url: z.ZodOptional<z.ZodString>;
227
+ file_id: z.ZodOptional<z.ZodString>;
228
+ }, z.core.$strip>, z.ZodObject<{
229
+ type: z.ZodLiteral<"input_file">;
230
+ file_id: z.ZodOptional<z.ZodString>;
231
+ filename: z.ZodOptional<z.ZodString>;
232
+ file_data: z.ZodOptional<z.ZodString>;
233
+ }, z.core.$strip>]>>]>>;
234
+ }, z.core.$strip>, z.ZodObject<{
235
+ type: z.ZodOptional<z.ZodLiteral<"message">>;
236
+ role: z.ZodLiteral<"system">;
237
+ content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
238
+ type: z.ZodLiteral<"input_text">;
239
+ text: z.ZodString;
240
+ }, z.core.$strip>, z.ZodObject<{
241
+ type: z.ZodLiteral<"text">;
242
+ text: z.ZodString;
243
+ }, z.core.$strip>, z.ZodObject<{
244
+ type: z.ZodLiteral<"input_image">;
245
+ detail: z.ZodOptional<z.ZodEnum<{
246
+ auto: "auto";
247
+ high: "high";
248
+ low: "low";
249
+ }>>;
250
+ image_url: z.ZodOptional<z.ZodString>;
251
+ file_id: z.ZodOptional<z.ZodString>;
252
+ }, z.core.$strip>, z.ZodObject<{
253
+ type: z.ZodLiteral<"input_file">;
254
+ file_id: z.ZodOptional<z.ZodString>;
255
+ filename: z.ZodOptional<z.ZodString>;
256
+ file_data: z.ZodOptional<z.ZodString>;
257
+ }, z.core.$strip>]>>]>>;
258
+ }, z.core.$strip>, z.ZodObject<{
259
+ type: z.ZodOptional<z.ZodLiteral<"message">>;
260
+ role: z.ZodLiteral<"assistant">;
261
+ content: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
262
+ type: z.ZodLiteral<"output_text">;
263
+ text: z.ZodString;
264
+ }, z.core.$strip>, z.ZodObject<{
265
+ type: z.ZodLiteral<"text">;
266
+ text: z.ZodString;
267
+ }, z.core.$strip>, z.ZodObject<{
268
+ type: z.ZodLiteral<"refusal">;
269
+ refusal: z.ZodString;
270
+ }, z.core.$strip>]>>]>>;
271
+ }, z.core.$strip>, z.ZodObject<{
272
+ type: z.ZodLiteral<"reasoning">;
273
+ id: z.ZodOptional<z.ZodString>;
274
+ summary: z.ZodOptional<z.ZodArray<z.ZodObject<{
275
+ type: z.ZodLiteral<"summary_text">;
276
+ text: z.ZodString;
277
+ }, z.core.$strip>>>;
278
+ content: z.ZodOptional<z.ZodArray<z.ZodObject<{
279
+ type: z.ZodLiteral<"reasoning_text">;
280
+ text: z.ZodString;
281
+ }, z.core.$strip>>>;
282
+ }, z.core.$strip>, z.ZodObject<{
283
+ type: z.ZodLiteral<"function_call">;
284
+ id: z.ZodOptional<z.ZodString>;
285
+ call_id: z.ZodString;
286
+ name: z.ZodString;
287
+ arguments: z.ZodOptional<z.ZodString>;
288
+ }, z.core.$strip>, z.ZodObject<{
289
+ type: z.ZodLiteral<"function_call_output">;
290
+ call_id: z.ZodString;
291
+ output: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
292
+ type: z.ZodLiteral<"output_text">;
293
+ text: z.ZodString;
294
+ }, z.core.$strip>, z.ZodObject<{
295
+ type: z.ZodLiteral<"text">;
296
+ text: z.ZodString;
297
+ }, z.core.$strip>, z.ZodObject<{
298
+ type: z.ZodLiteral<"refusal">;
299
+ refusal: z.ZodString;
300
+ }, z.core.$strip>]>>]>>;
301
+ }, z.core.$strip>, z.ZodObject<{
302
+ type: z.ZodLiteral<"custom_tool_call">;
303
+ id: z.ZodOptional<z.ZodString>;
304
+ call_id: z.ZodString;
305
+ name: z.ZodString;
306
+ input: z.ZodString;
307
+ }, z.core.$strip>, z.ZodObject<{
308
+ type: z.ZodLiteral<"custom_tool_call_output">;
309
+ call_id: z.ZodString;
310
+ output: z.ZodString;
311
+ }, z.core.$strip>, z.ZodObject<{
312
+ type: z.ZodString;
313
+ }, z.core.$loose>]>>]>>;
314
+ instructions: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>;
315
+ tools: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
316
+ type: z.ZodLiteral<"function">;
317
+ name: z.ZodString;
318
+ description: z.ZodOptional<z.ZodString>;
319
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
320
+ strict: z.ZodOptional<z.ZodBoolean>;
321
+ }, z.core.$strip>, z.ZodObject<{
322
+ type: z.ZodString;
323
+ }, z.core.$loose>]>>>;
324
+ tool_choice: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"auto">, z.ZodLiteral<"none">, z.ZodLiteral<"required">, z.ZodObject<{
325
+ type: z.ZodLiteral<"function">;
326
+ name: z.ZodString;
327
+ }, z.core.$strip>, z.ZodObject<{
328
+ type: z.ZodLiteral<"custom">;
329
+ name: z.ZodString;
330
+ }, z.core.$strip>, z.ZodObject<{
331
+ type: z.ZodEnum<{
332
+ code_interpreter: "code_interpreter";
333
+ computer_use_preview: "computer_use_preview";
334
+ file_search: "file_search";
335
+ image_generation: "image_generation";
336
+ mcp: "mcp";
337
+ web_search_preview: "web_search_preview";
338
+ }>;
339
+ }, z.core.$strip>, z.ZodObject<{
340
+ type: z.ZodLiteral<"allowed_tools">;
341
+ mode: z.ZodEnum<{
342
+ auto: "auto";
343
+ required: "required";
344
+ }>;
345
+ tools: z.ZodArray<z.ZodObject<{
346
+ type: z.ZodString;
347
+ name: z.ZodOptional<z.ZodString>;
348
+ }, z.core.$strip>>;
349
+ }, z.core.$strip>]>>;
350
+ max_output_tokens: z.ZodOptional<z.ZodNumber>;
351
+ temperature: z.ZodOptional<z.ZodNumber>;
352
+ top_p: z.ZodOptional<z.ZodNumber>;
353
+ stop: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodNull]>>;
354
+ stream: z.ZodOptional<z.ZodBoolean>;
355
+ reasoning: z.ZodOptional<z.ZodObject<{
356
+ effort: z.ZodOptional<z.ZodString>;
357
+ summary: z.ZodOptional<z.ZodEnum<{
358
+ auto: "auto";
359
+ concise: "concise";
360
+ detailed: "detailed";
361
+ none: "none";
362
+ }>>;
363
+ }, z.core.$strip>>;
364
+ store: z.ZodOptional<z.ZodBoolean>;
365
+ previous_response_id: z.ZodOptional<z.ZodString>;
366
+ parallel_tool_calls: z.ZodOptional<z.ZodBoolean>;
367
+ prompt_cache_key: z.ZodOptional<z.ZodString>;
368
+ metadata: z.ZodOptional<z.ZodUnknown>;
369
+ user: z.ZodOptional<z.ZodString>;
370
+ service_tier: z.ZodOptional<z.ZodString>;
371
+ presence_penalty: z.ZodOptional<z.ZodNumber>;
372
+ frequency_penalty: z.ZodOptional<z.ZodNumber>;
373
+ background: z.ZodOptional<z.ZodUnknown>;
374
+ include: z.ZodOptional<z.ZodUnknown>;
375
+ prompt: z.ZodOptional<z.ZodUnknown>;
376
+ safety_identifier: z.ZodOptional<z.ZodUnknown>;
377
+ text: z.ZodOptional<z.ZodUnknown>;
378
+ top_logprobs: z.ZodOptional<z.ZodUnknown>;
379
+ truncation: z.ZodOptional<z.ZodUnknown>;
380
+ }, z.core.$strip>;
381
+ /**
382
+ * Public types are sourced from the OpenAI SDK so the gateway stays in
383
+ * lock-step with the canonical API surface; the schemas above are runtime
384
+ * validators for the subset we actually accept.
385
+ */
386
+ export type OpenAIResponsesRequest = ResponseCreateParams;
387
+ export type OpenAIResponsesInputItem = ResponseInputItem;
388
+ export type OpenAIResponsesTool = ResponsesTool;
389
+ export type OpenAIResponsesToolChoice = NonNullable<ResponseCreateParams["tool_choice"]>;
390
+ export type OpenAIResponsesInputContent = ResponseInputContent;
391
+ export type OpenAIResponsesOutputContent = ResponseOutputMessage["content"][number];
392
+ export {};
@@ -0,0 +1,17 @@
1
+ /**
2
+ * OpenAI Responses HTTP wire-format ↔ aery Context bridge for the auth-gateway.
3
+ *
4
+ * Inbound: parses `POST /v1/responses` request bodies into a {@link ParsedRequest}.
5
+ * Outbound: encodes aery's {@link AssistantMessage} (and event stream) back into
6
+ * the documented `response.*` SSE taxonomy or the non-streaming JSON shape.
7
+ *
8
+ * Spec: https://platform.openai.com/docs/api-reference/responses
9
+ * Inverse direction (source-of-truth for item shapes): ../../providers/openai-responses.ts
10
+ */
11
+ import type { AuthGatewayParsedRequest as ParsedRequest } from "../auth-gateway/types";
12
+ import type { AssistantMessage, AssistantMessageEventStream } from "../types";
13
+ export type { ParsedRequest };
14
+ export declare function parseRequest(body: unknown, headers?: Headers): ParsedRequest;
15
+ export declare function formatError(status: number, type: string, message: string): Response;
16
+ export declare function encodeResponse(message: AssistantMessage, requestedModelId: string): Record<string, unknown>;
17
+ export declare function encodeStream(events: AssistantMessageEventStream, requestedModelId: string): ReadableStream<Uint8Array>;