@code-yeongyu/senpi-ai 2026.9.29 → 2026.10.1-2

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 (1007) hide show
  1. package/README.md +189 -19
  2. package/dist/api/anthropic-messages.js +168 -32
  3. package/dist/api/azure-openai-responses.js +23 -10
  4. package/dist/api/bedrock-converse-stream.js +16 -6
  5. package/dist/api/cloudflare-workers-ai-system-one.d.ts +4 -0
  6. package/dist/api/cloudflare-workers-ai-system-one.js +43 -0
  7. package/dist/api/cloudflare-workers-ai-system-one.lazy.d.ts +3 -0
  8. package/dist/api/cloudflare-workers-ai-system-one.lazy.js +4 -0
  9. package/dist/api/cloudflare.d.ts +2 -0
  10. package/dist/api/cloudflare.js +2 -0
  11. package/dist/api/context-room.d.ts +2 -2
  12. package/dist/api/cursor-agent.js +19 -10
  13. package/dist/api/devin-agent/request.d.ts +9 -9
  14. package/dist/api/devin-agent/request.js +14 -10
  15. package/dist/api/google-generative-ai.js +20 -80
  16. package/dist/api/google-shared.d.ts +13 -4
  17. package/dist/api/google-shared.js +54 -4
  18. package/dist/api/google-vertex.js +19 -62
  19. package/dist/api/lazy.js +2 -1
  20. package/dist/api/llama-cpp-classify.d.ts +33 -0
  21. package/dist/api/llama-cpp-classify.js +365 -0
  22. package/dist/api/llama-cpp-classify.lazy.d.ts +3 -0
  23. package/dist/api/llama-cpp-classify.lazy.js +4 -0
  24. package/dist/api/mistral-conversations.d.ts +1 -1
  25. package/dist/api/mistral-conversations.js +36 -29
  26. package/dist/api/openai-codex-responses.d.ts +1 -1
  27. package/dist/api/openai-codex-responses.js +72 -37
  28. package/dist/api/openai-completions.d.ts +3 -2
  29. package/dist/api/openai-completions.js +89 -58
  30. package/dist/api/openai-images-params.d.ts +2 -2
  31. package/dist/api/openai-images.d.ts +1 -1
  32. package/dist/api/openai-responses-shared.d.ts +31 -8
  33. package/dist/api/openai-responses-shared.js +119 -28
  34. package/dist/api/openai-responses.d.ts +1 -1
  35. package/dist/api/openai-responses.js +40 -32
  36. package/dist/api/openrouter-images.d.ts +2 -1
  37. package/dist/api/openrouter-images.js +1 -0
  38. package/dist/api/pi-messages.d.ts +3 -3
  39. package/dist/api/pi-messages.js +3 -2
  40. package/dist/api/simple-options.d.ts +2 -2
  41. package/dist/api/simple-options.js +1 -0
  42. package/dist/api/system-one-shared.d.ts +23 -0
  43. package/dist/api/system-one-shared.js +183 -0
  44. package/dist/api/transform-messages.js +5 -2
  45. package/dist/api/typesafe-system-one.d.ts +4 -0
  46. package/dist/api/typesafe-system-one.js +19 -0
  47. package/dist/api/typesafe-system-one.lazy.d.ts +3 -0
  48. package/dist/api/typesafe-system-one.lazy.js +4 -0
  49. package/dist/api-registry.d.ts +3 -3
  50. package/dist/auth/helpers.js +1 -1
  51. package/dist/auth/oauth/anthropic-callback-listener.js +1 -1
  52. package/dist/auth/oauth/callback-server.d.ts +55 -0
  53. package/dist/auth/oauth/callback-server.js +146 -0
  54. package/dist/auth/oauth/chatgpt-subscription.d.ts +1 -1
  55. package/dist/auth/oauth/chatgpt-subscription.js +20 -124
  56. package/dist/auth/oauth/devin-callback.js +1 -1
  57. package/dist/auth/oauth/load.d.ts +4 -0
  58. package/dist/auth/oauth/load.js +10 -0
  59. package/dist/auth/oauth/meta.d.ts +17 -0
  60. package/dist/auth/oauth/meta.js +190 -0
  61. package/dist/auth/oauth/openai-chatgpt.d.ts +9 -0
  62. package/dist/auth/oauth/openai-chatgpt.js +266 -0
  63. package/dist/auth/oauth/openrouter.d.ts +1 -1
  64. package/dist/auth/oauth/openrouter.js +19 -138
  65. package/dist/auth/oauth/radius.d.ts +1 -1
  66. package/dist/auth/oauth/radius.js +21 -89
  67. package/dist/auth/resolve.d.ts +3 -8
  68. package/dist/auth/resolve.js +3 -18
  69. package/dist/auth/types.d.ts +10 -1
  70. package/dist/bun-oauth.js +4 -0
  71. package/dist/cli.js +3 -1
  72. package/dist/compat.js +17 -14
  73. package/dist/env-api-keys.js +2 -0
  74. package/dist/image-models.d.ts +19 -8
  75. package/dist/image-models.js +14 -13
  76. package/dist/images-api-registry.d.ts +8 -8
  77. package/dist/images.d.ts +7 -2
  78. package/dist/images.js +5 -0
  79. package/dist/index.d.ts +2 -2
  80. package/dist/index.js +2 -2
  81. package/dist/model-catalog.d.ts +27 -9
  82. package/dist/model-catalog.js +24 -2
  83. package/dist/model.d.ts +13 -13
  84. package/dist/models-store.d.ts +3 -2
  85. package/dist/models.d.ts +106 -36
  86. package/dist/models.generated.d.ts +142 -42
  87. package/dist/models.generated.js +142 -42
  88. package/dist/models.js +180 -38
  89. package/dist/providers/alibaba-token-plan.models.d.ts +4 -2
  90. package/dist/providers/alibaba-token-plan.models.js +4 -2
  91. package/dist/providers/all.d.ts +72 -19
  92. package/dist/providers/all.js +28 -22
  93. package/dist/providers/amazon-bedrock.models.d.ts +4 -2
  94. package/dist/providers/amazon-bedrock.models.js +4 -2
  95. package/dist/providers/ant-ling.models.d.ts +4 -2
  96. package/dist/providers/ant-ling.models.js +4 -2
  97. package/dist/providers/anthropic.models.d.ts +4 -2
  98. package/dist/providers/anthropic.models.js +4 -2
  99. package/dist/providers/azure-openai-responses.models.d.ts +4 -2
  100. package/dist/providers/azure-openai-responses.models.js +4 -2
  101. package/dist/providers/bai.models.d.ts +4 -2
  102. package/dist/providers/bai.models.js +4 -2
  103. package/dist/providers/baseten.models.d.ts +4 -2
  104. package/dist/providers/baseten.models.js +4 -2
  105. package/dist/providers/cerebras.models.d.ts +4 -2
  106. package/dist/providers/cerebras.models.js +4 -2
  107. package/dist/providers/chatgpt-subscription.models.d.ts +4 -2
  108. package/dist/providers/chatgpt-subscription.models.js +4 -2
  109. package/dist/providers/cloudflare-ai-gateway.models.d.ts +4 -2
  110. package/dist/providers/cloudflare-ai-gateway.models.js +4 -2
  111. package/dist/providers/cloudflare-stream.d.ts +6 -2
  112. package/dist/providers/cloudflare-stream.js +6 -0
  113. package/dist/providers/cloudflare-workers-ai.js +10 -3
  114. package/dist/providers/cloudflare-workers-ai.models.d.ts +4 -2
  115. package/dist/providers/cloudflare-workers-ai.models.js +4 -2
  116. package/dist/providers/data/.manifest.json +1 -1
  117. package/dist/providers/data/alibaba-token-plan.json +1 -1
  118. package/dist/providers/data/amazon-bedrock.json +1 -1
  119. package/dist/providers/data/ant-ling.json +1 -1
  120. package/dist/providers/data/anthropic.json +1 -1
  121. package/dist/providers/data/azure-openai-responses.json +1 -1
  122. package/dist/providers/data/bai.json +1 -1
  123. package/dist/providers/data/baseten.json +1 -1
  124. package/dist/providers/data/cerebras.json +1 -1
  125. package/dist/providers/data/chatgpt-subscription.json +1 -1
  126. package/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  127. package/dist/providers/data/cloudflare-workers-ai.json +1 -1
  128. package/dist/providers/data/deepseek.json +1 -1
  129. package/dist/providers/data/fireworks.json +1 -1
  130. package/dist/providers/data/github-copilot.json +1 -1
  131. package/dist/providers/data/google-vertex.json +1 -1
  132. package/dist/providers/data/google.json +1 -1
  133. package/dist/providers/data/groq.json +1 -1
  134. package/dist/providers/data/huggingface.json +1 -1
  135. package/dist/providers/data/meta.json +1 -0
  136. package/dist/providers/data/minimax-cn.json +1 -1
  137. package/dist/providers/data/minimax.json +1 -1
  138. package/dist/providers/data/mistral.json +1 -1
  139. package/dist/providers/data/moonshotai-cn.json +1 -1
  140. package/dist/providers/data/moonshotai.json +1 -1
  141. package/dist/providers/data/nvidia.json +1 -1
  142. package/dist/providers/data/openai.json +1 -1
  143. package/dist/providers/data/opencode-go.json +1 -1
  144. package/dist/providers/data/opencode.json +1 -1
  145. package/dist/providers/data/opengateway.json +1 -1
  146. package/dist/providers/data/openrouter.json +1 -1
  147. package/dist/providers/data/qwen-token-plan-cn.json +1 -1
  148. package/dist/providers/data/qwen-token-plan-individual.json +1 -1
  149. package/dist/providers/data/qwen-token-plan.json +1 -1
  150. package/dist/providers/data/radius.json +1 -0
  151. package/dist/providers/data/together.json +1 -1
  152. package/dist/providers/data/typesafe.json +1 -0
  153. package/dist/providers/data/venice.json +1 -1
  154. package/dist/providers/data/vercel-ai-gateway.json +1 -1
  155. package/dist/providers/data/xai.json +1 -1
  156. package/dist/providers/data/xiaomi-token-plan-ams.json +1 -1
  157. package/dist/providers/data/xiaomi-token-plan-cn.json +1 -1
  158. package/dist/providers/data/xiaomi-token-plan-sgp.json +1 -1
  159. package/dist/providers/data/xiaomi.json +1 -1
  160. package/dist/providers/data/zai-coding-cn.json +1 -1
  161. package/dist/providers/data/zai.json +1 -1
  162. package/dist/providers/deepseek.models.d.ts +4 -2
  163. package/dist/providers/deepseek.models.js +4 -2
  164. package/dist/providers/faux.d.ts +7 -2
  165. package/dist/providers/faux.js +31 -22
  166. package/dist/providers/fireworks.models.d.ts +4 -2
  167. package/dist/providers/fireworks.models.js +4 -2
  168. package/dist/providers/github-copilot.models.d.ts +4 -2
  169. package/dist/providers/github-copilot.models.js +4 -2
  170. package/dist/providers/google-vertex.models.d.ts +4 -2
  171. package/dist/providers/google-vertex.models.js +4 -2
  172. package/dist/providers/google.models.d.ts +4 -2
  173. package/dist/providers/google.models.js +4 -2
  174. package/dist/providers/groq.models.d.ts +4 -2
  175. package/dist/providers/groq.models.js +4 -2
  176. package/dist/providers/huggingface.models.d.ts +4 -2
  177. package/dist/providers/huggingface.models.js +4 -2
  178. package/dist/providers/images/register-builtins.d.ts +2 -2
  179. package/dist/providers/kimi-coding.models.d.ts +54 -7
  180. package/dist/providers/kimi-coding.models.js +34 -7
  181. package/dist/providers/meta.d.ts +3 -0
  182. package/dist/providers/meta.js +24 -0
  183. package/dist/providers/meta.models.d.ts +6 -0
  184. package/dist/providers/meta.models.js +8 -0
  185. package/dist/providers/minimax-cn.models.d.ts +4 -2
  186. package/dist/providers/minimax-cn.models.js +4 -2
  187. package/dist/providers/minimax.models.d.ts +4 -2
  188. package/dist/providers/minimax.models.js +4 -2
  189. package/dist/providers/mistral.models.d.ts +4 -2
  190. package/dist/providers/mistral.models.js +4 -2
  191. package/dist/providers/moonshotai-cn.models.d.ts +4 -2
  192. package/dist/providers/moonshotai-cn.models.js +4 -2
  193. package/dist/providers/moonshotai.models.d.ts +4 -2
  194. package/dist/providers/moonshotai.models.js +4 -2
  195. package/dist/providers/nvidia.models.d.ts +4 -2
  196. package/dist/providers/nvidia.models.js +4 -2
  197. package/dist/providers/openai.js +4 -2
  198. package/dist/providers/openai.models.d.ts +4 -2
  199. package/dist/providers/openai.models.js +4 -2
  200. package/dist/providers/opencode-go.models.d.ts +4 -2
  201. package/dist/providers/opencode-go.models.js +4 -2
  202. package/dist/providers/opencode.d.ts +3 -1
  203. package/dist/providers/opencode.js +5 -2
  204. package/dist/providers/opencode.models.d.ts +4 -2
  205. package/dist/providers/opencode.models.js +4 -2
  206. package/dist/providers/opengateway.models.d.ts +4 -2
  207. package/dist/providers/opengateway.models.js +4 -2
  208. package/dist/providers/openrouter.js +11 -2
  209. package/dist/providers/openrouter.models.d.ts +4 -2
  210. package/dist/providers/openrouter.models.js +4 -2
  211. package/dist/providers/qwen-token-plan-cn.models.d.ts +4 -2
  212. package/dist/providers/qwen-token-plan-cn.models.js +4 -2
  213. package/dist/providers/qwen-token-plan-individual.models.d.ts +4 -2
  214. package/dist/providers/qwen-token-plan-individual.models.js +4 -2
  215. package/dist/providers/qwen-token-plan.models.d.ts +4 -2
  216. package/dist/providers/qwen-token-plan.models.js +4 -2
  217. package/dist/providers/radius.js +19 -5
  218. package/dist/providers/radius.models.d.ts +6 -0
  219. package/dist/providers/radius.models.js +8 -0
  220. package/dist/providers/together.models.d.ts +4 -2
  221. package/dist/providers/together.models.js +4 -2
  222. package/dist/providers/typesafe.d.ts +3 -0
  223. package/dist/providers/typesafe.js +18 -0
  224. package/dist/providers/typesafe.models.d.ts +6 -0
  225. package/dist/providers/typesafe.models.js +8 -0
  226. package/dist/providers/venice.models.d.ts +4 -2
  227. package/dist/providers/venice.models.js +4 -2
  228. package/dist/providers/vercel-ai-gateway.js +5 -2
  229. package/dist/providers/vercel-ai-gateway.models.d.ts +4 -2
  230. package/dist/providers/vercel-ai-gateway.models.js +4 -2
  231. package/dist/providers/xai.models.d.ts +4 -2
  232. package/dist/providers/xai.models.js +4 -2
  233. package/dist/providers/xiaomi-token-plan-ams.models.d.ts +4 -2
  234. package/dist/providers/xiaomi-token-plan-ams.models.js +4 -2
  235. package/dist/providers/xiaomi-token-plan-cn.models.d.ts +4 -2
  236. package/dist/providers/xiaomi-token-plan-cn.models.js +4 -2
  237. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts +4 -2
  238. package/dist/providers/xiaomi-token-plan-sgp.models.js +4 -2
  239. package/dist/providers/xiaomi.models.d.ts +4 -2
  240. package/dist/providers/xiaomi.models.js +4 -2
  241. package/dist/providers/zai-coding-cn.models.d.ts +4 -2
  242. package/dist/providers/zai-coding-cn.models.js +4 -2
  243. package/dist/providers/zai.models.d.ts +4 -2
  244. package/dist/providers/zai.models.js +4 -2
  245. package/dist/tool-call-middleware/context-transformer.d.ts +8 -5
  246. package/dist/tool-call-middleware/context-transformer.js +44 -15
  247. package/dist/types.d.ts +262 -28
  248. package/dist/utils/diagnostics.d.ts +3 -2
  249. package/dist/utils/estimate.d.ts +2 -2
  250. package/dist/utils/estimate.js +22 -30
  251. package/dist/utils/headers.d.ts +1 -1
  252. package/dist/utils/headers.js +10 -8
  253. package/dist/utils/model-operations.d.ts +11 -0
  254. package/dist/utils/model-operations.js +47 -0
  255. package/dist/utils/models-error.d.ts +8 -0
  256. package/dist/utils/models-error.js +18 -0
  257. package/dist/utils/overflow.d.ts +1 -0
  258. package/dist/utils/overflow.js +11 -5
  259. package/dist/utils/prompt-cache-ttl.js +43 -5
  260. package/dist/utils/provider-failure-description.d.ts +7 -0
  261. package/dist/utils/provider-failure-description.js +21 -0
  262. package/dist/utils/retry.js +18 -0
  263. package/dist/utils/text.d.ts +9 -1
  264. package/dist/utils/text.js +26 -0
  265. package/dist/utils/tool-schema-compat.d.ts +2 -0
  266. package/dist/utils/tool-schema-compat.js +28 -9
  267. package/dist/utils/transcript.d.ts +85 -0
  268. package/dist/utils/transcript.js +205 -0
  269. package/package.json +4 -4
  270. package/dist/api/anthropic-messages.d.ts.map +0 -1
  271. package/dist/api/anthropic-messages.js.map +0 -1
  272. package/dist/api/anthropic-messages.lazy.d.ts.map +0 -1
  273. package/dist/api/anthropic-messages.lazy.js.map +0 -1
  274. package/dist/api/anthropic-tool-pairs.d.ts.map +0 -1
  275. package/dist/api/anthropic-tool-pairs.js.map +0 -1
  276. package/dist/api/anthropic-tool-references.d.ts.map +0 -1
  277. package/dist/api/anthropic-tool-references.js.map +0 -1
  278. package/dist/api/azure-openai-responses.d.ts.map +0 -1
  279. package/dist/api/azure-openai-responses.js.map +0 -1
  280. package/dist/api/azure-openai-responses.lazy.d.ts.map +0 -1
  281. package/dist/api/azure-openai-responses.lazy.js.map +0 -1
  282. package/dist/api/bedrock-converse-stream.d.ts.map +0 -1
  283. package/dist/api/bedrock-converse-stream.js.map +0 -1
  284. package/dist/api/bedrock-converse-stream.lazy.d.ts.map +0 -1
  285. package/dist/api/bedrock-converse-stream.lazy.js.map +0 -1
  286. package/dist/api/cloudflare-ai-binding.d.ts.map +0 -1
  287. package/dist/api/cloudflare-ai-binding.js.map +0 -1
  288. package/dist/api/cloudflare.d.ts.map +0 -1
  289. package/dist/api/cloudflare.js.map +0 -1
  290. package/dist/api/constrained-sampling.d.ts.map +0 -1
  291. package/dist/api/constrained-sampling.js.map +0 -1
  292. package/dist/api/context-room.d.ts.map +0 -1
  293. package/dist/api/context-room.js.map +0 -1
  294. package/dist/api/cursor-agent/deterministic-id.d.ts.map +0 -1
  295. package/dist/api/cursor-agent/deterministic-id.js.map +0 -1
  296. package/dist/api/cursor-agent/exec-lifecycle.d.ts.map +0 -1
  297. package/dist/api/cursor-agent/exec-lifecycle.js.map +0 -1
  298. package/dist/api/cursor-agent/exec-modern.d.ts.map +0 -1
  299. package/dist/api/cursor-agent/exec-modern.js.map +0 -1
  300. package/dist/api/cursor-agent/gen/agent_pb.d.ts.map +0 -1
  301. package/dist/api/cursor-agent/gen/agent_pb.js.map +0 -1
  302. package/dist/api/cursor-agent/measure.d.ts.map +0 -1
  303. package/dist/api/cursor-agent/measure.js.map +0 -1
  304. package/dist/api/cursor-agent/pi-args.d.ts.map +0 -1
  305. package/dist/api/cursor-agent/pi-args.js.map +0 -1
  306. package/dist/api/cursor-agent/reasoning-params.d.ts.map +0 -1
  307. package/dist/api/cursor-agent/reasoning-params.js.map +0 -1
  308. package/dist/api/cursor-agent/stream-retry.d.ts.map +0 -1
  309. package/dist/api/cursor-agent/stream-retry.js.map +0 -1
  310. package/dist/api/cursor-agent/types.d.ts.map +0 -1
  311. package/dist/api/cursor-agent/types.js.map +0 -1
  312. package/dist/api/cursor-agent.d.ts.map +0 -1
  313. package/dist/api/cursor-agent.js.map +0 -1
  314. package/dist/api/cursor-agent.lazy.d.ts.map +0 -1
  315. package/dist/api/cursor-agent.lazy.js.map +0 -1
  316. package/dist/api/cursor-conversation-rotation.d.ts.map +0 -1
  317. package/dist/api/cursor-conversation-rotation.js.map +0 -1
  318. package/dist/api/cursor-task-args.d.ts.map +0 -1
  319. package/dist/api/cursor-task-args.js.map +0 -1
  320. package/dist/api/devin-agent/discovery.d.ts.map +0 -1
  321. package/dist/api/devin-agent/discovery.js.map +0 -1
  322. package/dist/api/devin-agent/frames.d.ts.map +0 -1
  323. package/dist/api/devin-agent/frames.js.map +0 -1
  324. package/dist/api/devin-agent/gen/cascade_pb.d.ts.map +0 -1
  325. package/dist/api/devin-agent/gen/cascade_pb.js.map +0 -1
  326. package/dist/api/devin-agent/metadata.d.ts.map +0 -1
  327. package/dist/api/devin-agent/metadata.js.map +0 -1
  328. package/dist/api/devin-agent/paths.d.ts.map +0 -1
  329. package/dist/api/devin-agent/paths.js.map +0 -1
  330. package/dist/api/devin-agent/request.d.ts.map +0 -1
  331. package/dist/api/devin-agent/request.js.map +0 -1
  332. package/dist/api/devin-agent/stream-state.d.ts.map +0 -1
  333. package/dist/api/devin-agent/stream-state.js.map +0 -1
  334. package/dist/api/devin-agent/trailer.d.ts.map +0 -1
  335. package/dist/api/devin-agent/trailer.js.map +0 -1
  336. package/dist/api/devin-agent/types.d.ts.map +0 -1
  337. package/dist/api/devin-agent/types.js.map +0 -1
  338. package/dist/api/devin-agent/unary.d.ts.map +0 -1
  339. package/dist/api/devin-agent/unary.js.map +0 -1
  340. package/dist/api/devin-agent/wire.d.ts.map +0 -1
  341. package/dist/api/devin-agent/wire.js.map +0 -1
  342. package/dist/api/devin-agent.d.ts.map +0 -1
  343. package/dist/api/devin-agent.js.map +0 -1
  344. package/dist/api/devin-agent.lazy.d.ts.map +0 -1
  345. package/dist/api/devin-agent.lazy.js.map +0 -1
  346. package/dist/api/github-copilot-endpoint.d.ts.map +0 -1
  347. package/dist/api/github-copilot-endpoint.js.map +0 -1
  348. package/dist/api/github-copilot-errors.d.ts.map +0 -1
  349. package/dist/api/github-copilot-errors.js.map +0 -1
  350. package/dist/api/github-copilot-headers.d.ts.map +0 -1
  351. package/dist/api/github-copilot-headers.js.map +0 -1
  352. package/dist/api/google-generative-ai.d.ts.map +0 -1
  353. package/dist/api/google-generative-ai.js.map +0 -1
  354. package/dist/api/google-generative-ai.lazy.d.ts.map +0 -1
  355. package/dist/api/google-generative-ai.lazy.js.map +0 -1
  356. package/dist/api/google-shared.d.ts.map +0 -1
  357. package/dist/api/google-shared.js.map +0 -1
  358. package/dist/api/google-vertex.d.ts.map +0 -1
  359. package/dist/api/google-vertex.js.map +0 -1
  360. package/dist/api/google-vertex.lazy.d.ts.map +0 -1
  361. package/dist/api/google-vertex.lazy.js.map +0 -1
  362. package/dist/api/lazy.d.ts.map +0 -1
  363. package/dist/api/lazy.js.map +0 -1
  364. package/dist/api/mistral-conversations.d.ts.map +0 -1
  365. package/dist/api/mistral-conversations.js.map +0 -1
  366. package/dist/api/mistral-conversations.lazy.d.ts.map +0 -1
  367. package/dist/api/mistral-conversations.lazy.js.map +0 -1
  368. package/dist/api/openai-client-auth.d.ts.map +0 -1
  369. package/dist/api/openai-client-auth.js.map +0 -1
  370. package/dist/api/openai-codex-responses/fallback-state.d.ts.map +0 -1
  371. package/dist/api/openai-codex-responses/fallback-state.js.map +0 -1
  372. package/dist/api/openai-codex-responses/reasoning.d.ts.map +0 -1
  373. package/dist/api/openai-codex-responses/reasoning.js.map +0 -1
  374. package/dist/api/openai-codex-responses.d.ts.map +0 -1
  375. package/dist/api/openai-codex-responses.js.map +0 -1
  376. package/dist/api/openai-codex-responses.lazy.d.ts.map +0 -1
  377. package/dist/api/openai-codex-responses.lazy.js.map +0 -1
  378. package/dist/api/openai-completions.d.ts.map +0 -1
  379. package/dist/api/openai-completions.js.map +0 -1
  380. package/dist/api/openai-completions.lazy.d.ts.map +0 -1
  381. package/dist/api/openai-completions.lazy.js.map +0 -1
  382. package/dist/api/openai-images-edit.d.ts.map +0 -1
  383. package/dist/api/openai-images-edit.js.map +0 -1
  384. package/dist/api/openai-images-params.d.ts.map +0 -1
  385. package/dist/api/openai-images-params.js.map +0 -1
  386. package/dist/api/openai-images-result.d.ts.map +0 -1
  387. package/dist/api/openai-images-result.js.map +0 -1
  388. package/dist/api/openai-images.d.ts.map +0 -1
  389. package/dist/api/openai-images.js.map +0 -1
  390. package/dist/api/openai-images.lazy.d.ts.map +0 -1
  391. package/dist/api/openai-images.lazy.js.map +0 -1
  392. package/dist/api/openai-prompt-cache.d.ts.map +0 -1
  393. package/dist/api/openai-prompt-cache.js.map +0 -1
  394. package/dist/api/openai-responses-prompt-cache.d.ts.map +0 -1
  395. package/dist/api/openai-responses-prompt-cache.js.map +0 -1
  396. package/dist/api/openai-responses-shared.d.ts.map +0 -1
  397. package/dist/api/openai-responses-shared.js.map +0 -1
  398. package/dist/api/openai-responses.d.ts.map +0 -1
  399. package/dist/api/openai-responses.js.map +0 -1
  400. package/dist/api/openai-responses.lazy.d.ts.map +0 -1
  401. package/dist/api/openai-responses.lazy.js.map +0 -1
  402. package/dist/api/openrouter-images.d.ts.map +0 -1
  403. package/dist/api/openrouter-images.js.map +0 -1
  404. package/dist/api/openrouter-images.lazy.d.ts.map +0 -1
  405. package/dist/api/openrouter-images.lazy.js.map +0 -1
  406. package/dist/api/pi-messages.d.ts.map +0 -1
  407. package/dist/api/pi-messages.js.map +0 -1
  408. package/dist/api/pi-messages.lazy.d.ts.map +0 -1
  409. package/dist/api/pi-messages.lazy.js.map +0 -1
  410. package/dist/api/prompt-cache-warmers.d.ts.map +0 -1
  411. package/dist/api/prompt-cache-warmers.js.map +0 -1
  412. package/dist/api/responses-completion-grace.d.ts.map +0 -1
  413. package/dist/api/responses-completion-grace.js.map +0 -1
  414. package/dist/api/simple-options.d.ts.map +0 -1
  415. package/dist/api/simple-options.js.map +0 -1
  416. package/dist/api/transform-messages.d.ts.map +0 -1
  417. package/dist/api/transform-messages.js.map +0 -1
  418. package/dist/api/warm-prompt-cache.d.ts.map +0 -1
  419. package/dist/api/warm-prompt-cache.js.map +0 -1
  420. package/dist/api/websocket-liveness.d.ts.map +0 -1
  421. package/dist/api/websocket-liveness.js.map +0 -1
  422. package/dist/api/websocket-transport-failure.d.ts.map +0 -1
  423. package/dist/api/websocket-transport-failure.js.map +0 -1
  424. package/dist/api-registry.d.ts.map +0 -1
  425. package/dist/api-registry.js.map +0 -1
  426. package/dist/auth/context.d.ts.map +0 -1
  427. package/dist/auth/context.js.map +0 -1
  428. package/dist/auth/credential-store.d.ts.map +0 -1
  429. package/dist/auth/credential-store.js.map +0 -1
  430. package/dist/auth/headers.d.ts.map +0 -1
  431. package/dist/auth/headers.js.map +0 -1
  432. package/dist/auth/helpers.d.ts.map +0 -1
  433. package/dist/auth/helpers.js.map +0 -1
  434. package/dist/auth/oauth/anthropic-callback-listener.d.ts.map +0 -1
  435. package/dist/auth/oauth/anthropic-callback-listener.js.map +0 -1
  436. package/dist/auth/oauth/anthropic.d.ts.map +0 -1
  437. package/dist/auth/oauth/anthropic.js.map +0 -1
  438. package/dist/auth/oauth/authorization-input.d.ts.map +0 -1
  439. package/dist/auth/oauth/authorization-input.js.map +0 -1
  440. package/dist/auth/oauth/chatgpt-subscription.d.ts.map +0 -1
  441. package/dist/auth/oauth/chatgpt-subscription.js.map +0 -1
  442. package/dist/auth/oauth/cursor.d.ts.map +0 -1
  443. package/dist/auth/oauth/cursor.js.map +0 -1
  444. package/dist/auth/oauth/device-code.d.ts.map +0 -1
  445. package/dist/auth/oauth/device-code.js.map +0 -1
  446. package/dist/auth/oauth/devin-callback.d.ts.map +0 -1
  447. package/dist/auth/oauth/devin-callback.js.map +0 -1
  448. package/dist/auth/oauth/devin-token.d.ts.map +0 -1
  449. package/dist/auth/oauth/devin-token.js.map +0 -1
  450. package/dist/auth/oauth/devin.d.ts.map +0 -1
  451. package/dist/auth/oauth/devin.js.map +0 -1
  452. package/dist/auth/oauth/error-details.d.ts.map +0 -1
  453. package/dist/auth/oauth/error-details.js.map +0 -1
  454. package/dist/auth/oauth/github-copilot-model-catalog.d.ts.map +0 -1
  455. package/dist/auth/oauth/github-copilot-model-catalog.js.map +0 -1
  456. package/dist/auth/oauth/github-copilot.d.ts.map +0 -1
  457. package/dist/auth/oauth/github-copilot.js.map +0 -1
  458. package/dist/auth/oauth/kimi-coding.d.ts.map +0 -1
  459. package/dist/auth/oauth/kimi-coding.js.map +0 -1
  460. package/dist/auth/oauth/kimi-identity.d.ts.map +0 -1
  461. package/dist/auth/oauth/kimi-identity.js.map +0 -1
  462. package/dist/auth/oauth/kimi-region.d.ts.map +0 -1
  463. package/dist/auth/oauth/kimi-region.js.map +0 -1
  464. package/dist/auth/oauth/load.d.ts.map +0 -1
  465. package/dist/auth/oauth/load.js.map +0 -1
  466. package/dist/auth/oauth/oauth-page.d.ts.map +0 -1
  467. package/dist/auth/oauth/oauth-page.js.map +0 -1
  468. package/dist/auth/oauth/openrouter.d.ts.map +0 -1
  469. package/dist/auth/oauth/openrouter.js.map +0 -1
  470. package/dist/auth/oauth/pkce.d.ts.map +0 -1
  471. package/dist/auth/oauth/pkce.js.map +0 -1
  472. package/dist/auth/oauth/radius.d.ts.map +0 -1
  473. package/dist/auth/oauth/radius.js.map +0 -1
  474. package/dist/auth/oauth/xai.d.ts.map +0 -1
  475. package/dist/auth/oauth/xai.js.map +0 -1
  476. package/dist/auth/oauth-refresh.d.ts.map +0 -1
  477. package/dist/auth/oauth-refresh.js.map +0 -1
  478. package/dist/auth/pool/classify.d.ts.map +0 -1
  479. package/dist/auth/pool/classify.js.map +0 -1
  480. package/dist/auth/pool/failover.d.ts.map +0 -1
  481. package/dist/auth/pool/failover.js.map +0 -1
  482. package/dist/auth/pool/select.d.ts.map +0 -1
  483. package/dist/auth/pool/select.js.map +0 -1
  484. package/dist/auth/pool/slots.d.ts.map +0 -1
  485. package/dist/auth/pool/slots.js.map +0 -1
  486. package/dist/auth/refresh-credential.d.ts.map +0 -1
  487. package/dist/auth/refresh-credential.js.map +0 -1
  488. package/dist/auth/resolve.d.ts.map +0 -1
  489. package/dist/auth/resolve.js.map +0 -1
  490. package/dist/auth/types.d.ts.map +0 -1
  491. package/dist/auth/types.js.map +0 -1
  492. package/dist/bedrock-provider.d.ts.map +0 -1
  493. package/dist/bedrock-provider.js.map +0 -1
  494. package/dist/bun-oauth.d.ts.map +0 -1
  495. package/dist/bun-oauth.js.map +0 -1
  496. package/dist/cli.d.ts.map +0 -1
  497. package/dist/cli.js.map +0 -1
  498. package/dist/compat/extension-oauth-types.d.ts.map +0 -1
  499. package/dist/compat/extension-oauth-types.js.map +0 -1
  500. package/dist/compat.d.ts.map +0 -1
  501. package/dist/compat.js.map +0 -1
  502. package/dist/context-provenance.d.ts.map +0 -1
  503. package/dist/context-provenance.js.map +0 -1
  504. package/dist/cursor/catalog-grouping.d.ts.map +0 -1
  505. package/dist/cursor/catalog-grouping.js.map +0 -1
  506. package/dist/cursor/composer-prompt.d.ts.map +0 -1
  507. package/dist/cursor/composer-prompt.js.map +0 -1
  508. package/dist/cursor/context-limit-store.d.ts.map +0 -1
  509. package/dist/cursor/context-limit-store.js.map +0 -1
  510. package/dist/cursor/model-capabilities.d.ts.map +0 -1
  511. package/dist/cursor/model-capabilities.js.map +0 -1
  512. package/dist/cursor/selection-descriptor.d.ts.map +0 -1
  513. package/dist/cursor/selection-descriptor.js.map +0 -1
  514. package/dist/cursor/store-migration.d.ts.map +0 -1
  515. package/dist/cursor/store-migration.js.map +0 -1
  516. package/dist/cursor-agent-provider.d.ts.map +0 -1
  517. package/dist/cursor-agent-provider.js.map +0 -1
  518. package/dist/devin-provider.d.ts.map +0 -1
  519. package/dist/devin-provider.js.map +0 -1
  520. package/dist/endpoint-reasoning-efforts.d.ts.map +0 -1
  521. package/dist/endpoint-reasoning-efforts.js.map +0 -1
  522. package/dist/env-api-keys.d.ts.map +0 -1
  523. package/dist/env-api-keys.js.map +0 -1
  524. package/dist/image-models.d.ts.map +0 -1
  525. package/dist/image-models.generated.d.ts +0 -925
  526. package/dist/image-models.generated.d.ts.map +0 -1
  527. package/dist/image-models.generated.js +0 -927
  528. package/dist/image-models.generated.js.map +0 -1
  529. package/dist/image-models.js.map +0 -1
  530. package/dist/images-api-registry.d.ts.map +0 -1
  531. package/dist/images-api-registry.js.map +0 -1
  532. package/dist/images-models.d.ts +0 -95
  533. package/dist/images-models.d.ts.map +0 -1
  534. package/dist/images-models.js +0 -141
  535. package/dist/images-models.js.map +0 -1
  536. package/dist/images.d.ts.map +0 -1
  537. package/dist/images.js.map +0 -1
  538. package/dist/index.d.ts.map +0 -1
  539. package/dist/index.js.map +0 -1
  540. package/dist/legacy-api-aliases.d.ts.map +0 -1
  541. package/dist/legacy-api-aliases.js.map +0 -1
  542. package/dist/legacy-provider-ids.d.ts.map +0 -1
  543. package/dist/legacy-provider-ids.js.map +0 -1
  544. package/dist/model-catalog.d.ts.map +0 -1
  545. package/dist/model-catalog.js.map +0 -1
  546. package/dist/model.d.ts.map +0 -1
  547. package/dist/model.js.map +0 -1
  548. package/dist/models-store.d.ts.map +0 -1
  549. package/dist/models-store.js.map +0 -1
  550. package/dist/models.d.ts.map +0 -1
  551. package/dist/models.generated.d.ts.map +0 -1
  552. package/dist/models.generated.js.map +0 -1
  553. package/dist/models.js.map +0 -1
  554. package/dist/node/provider-scope.d.ts.map +0 -1
  555. package/dist/node/provider-scope.js.map +0 -1
  556. package/dist/oauth.d.ts.map +0 -1
  557. package/dist/oauth.js.map +0 -1
  558. package/dist/openai-responses-compat.d.ts.map +0 -1
  559. package/dist/openai-responses-compat.js.map +0 -1
  560. package/dist/provider-diagnostic.d.ts.map +0 -1
  561. package/dist/provider-diagnostic.js.map +0 -1
  562. package/dist/providers/alibaba-token-plan.d.ts.map +0 -1
  563. package/dist/providers/alibaba-token-plan.js.map +0 -1
  564. package/dist/providers/alibaba-token-plan.models.d.ts.map +0 -1
  565. package/dist/providers/alibaba-token-plan.models.js.map +0 -1
  566. package/dist/providers/all.d.ts.map +0 -1
  567. package/dist/providers/all.js.map +0 -1
  568. package/dist/providers/amazon-bedrock.d.ts.map +0 -1
  569. package/dist/providers/amazon-bedrock.js.map +0 -1
  570. package/dist/providers/amazon-bedrock.models.d.ts.map +0 -1
  571. package/dist/providers/amazon-bedrock.models.js.map +0 -1
  572. package/dist/providers/ant-ling.d.ts.map +0 -1
  573. package/dist/providers/ant-ling.js.map +0 -1
  574. package/dist/providers/ant-ling.models.d.ts.map +0 -1
  575. package/dist/providers/ant-ling.models.js.map +0 -1
  576. package/dist/providers/anthropic.d.ts.map +0 -1
  577. package/dist/providers/anthropic.js.map +0 -1
  578. package/dist/providers/anthropic.models.d.ts.map +0 -1
  579. package/dist/providers/anthropic.models.js.map +0 -1
  580. package/dist/providers/azure-openai-responses.d.ts.map +0 -1
  581. package/dist/providers/azure-openai-responses.js.map +0 -1
  582. package/dist/providers/azure-openai-responses.models.d.ts.map +0 -1
  583. package/dist/providers/azure-openai-responses.models.js.map +0 -1
  584. package/dist/providers/bai-stream.d.ts.map +0 -1
  585. package/dist/providers/bai-stream.js.map +0 -1
  586. package/dist/providers/bai.d.ts.map +0 -1
  587. package/dist/providers/bai.js.map +0 -1
  588. package/dist/providers/bai.models.d.ts.map +0 -1
  589. package/dist/providers/bai.models.js.map +0 -1
  590. package/dist/providers/baseten.d.ts.map +0 -1
  591. package/dist/providers/baseten.js.map +0 -1
  592. package/dist/providers/baseten.models.d.ts.map +0 -1
  593. package/dist/providers/baseten.models.js.map +0 -1
  594. package/dist/providers/cerebras.d.ts.map +0 -1
  595. package/dist/providers/cerebras.js.map +0 -1
  596. package/dist/providers/cerebras.models.d.ts.map +0 -1
  597. package/dist/providers/cerebras.models.js.map +0 -1
  598. package/dist/providers/chatgpt-subscription.d.ts.map +0 -1
  599. package/dist/providers/chatgpt-subscription.js.map +0 -1
  600. package/dist/providers/chatgpt-subscription.models.d.ts.map +0 -1
  601. package/dist/providers/chatgpt-subscription.models.js.map +0 -1
  602. package/dist/providers/cloudflare-ai-gateway.d.ts.map +0 -1
  603. package/dist/providers/cloudflare-ai-gateway.js.map +0 -1
  604. package/dist/providers/cloudflare-ai-gateway.models.d.ts.map +0 -1
  605. package/dist/providers/cloudflare-ai-gateway.models.js.map +0 -1
  606. package/dist/providers/cloudflare-auth.d.ts.map +0 -1
  607. package/dist/providers/cloudflare-auth.js.map +0 -1
  608. package/dist/providers/cloudflare-stream.d.ts.map +0 -1
  609. package/dist/providers/cloudflare-stream.js.map +0 -1
  610. package/dist/providers/cloudflare-workers-ai.d.ts.map +0 -1
  611. package/dist/providers/cloudflare-workers-ai.js.map +0 -1
  612. package/dist/providers/cloudflare-workers-ai.models.d.ts.map +0 -1
  613. package/dist/providers/cloudflare-workers-ai.models.js.map +0 -1
  614. package/dist/providers/cursor.d.ts.map +0 -1
  615. package/dist/providers/cursor.js.map +0 -1
  616. package/dist/providers/deepseek.d.ts.map +0 -1
  617. package/dist/providers/deepseek.js.map +0 -1
  618. package/dist/providers/deepseek.models.d.ts.map +0 -1
  619. package/dist/providers/deepseek.models.js.map +0 -1
  620. package/dist/providers/devin.d.ts.map +0 -1
  621. package/dist/providers/devin.js.map +0 -1
  622. package/dist/providers/devin.models.d.ts.map +0 -1
  623. package/dist/providers/devin.models.js.map +0 -1
  624. package/dist/providers/faux.d.ts.map +0 -1
  625. package/dist/providers/faux.js.map +0 -1
  626. package/dist/providers/fireworks.d.ts.map +0 -1
  627. package/dist/providers/fireworks.js.map +0 -1
  628. package/dist/providers/fireworks.models.d.ts.map +0 -1
  629. package/dist/providers/fireworks.models.js.map +0 -1
  630. package/dist/providers/github-copilot-limits.d.ts.map +0 -1
  631. package/dist/providers/github-copilot-limits.js.map +0 -1
  632. package/dist/providers/github-copilot.d.ts.map +0 -1
  633. package/dist/providers/github-copilot.js.map +0 -1
  634. package/dist/providers/github-copilot.models.d.ts.map +0 -1
  635. package/dist/providers/github-copilot.models.js.map +0 -1
  636. package/dist/providers/google-shared.d.ts.map +0 -1
  637. package/dist/providers/google-shared.js.map +0 -1
  638. package/dist/providers/google-vertex.d.ts.map +0 -1
  639. package/dist/providers/google-vertex.js.map +0 -1
  640. package/dist/providers/google-vertex.models.d.ts.map +0 -1
  641. package/dist/providers/google-vertex.models.js.map +0 -1
  642. package/dist/providers/google.d.ts.map +0 -1
  643. package/dist/providers/google.js.map +0 -1
  644. package/dist/providers/google.models.d.ts.map +0 -1
  645. package/dist/providers/google.models.js.map +0 -1
  646. package/dist/providers/groq.d.ts.map +0 -1
  647. package/dist/providers/groq.js.map +0 -1
  648. package/dist/providers/groq.models.d.ts.map +0 -1
  649. package/dist/providers/groq.models.js.map +0 -1
  650. package/dist/providers/huggingface.d.ts.map +0 -1
  651. package/dist/providers/huggingface.js.map +0 -1
  652. package/dist/providers/huggingface.models.d.ts.map +0 -1
  653. package/dist/providers/huggingface.models.js.map +0 -1
  654. package/dist/providers/images/register-builtins.d.ts.map +0 -1
  655. package/dist/providers/images/register-builtins.js.map +0 -1
  656. package/dist/providers/kimi-coding-auth.d.ts.map +0 -1
  657. package/dist/providers/kimi-coding-auth.js.map +0 -1
  658. package/dist/providers/kimi-coding.d.ts.map +0 -1
  659. package/dist/providers/kimi-coding.js.map +0 -1
  660. package/dist/providers/kimi-coding.models.d.ts.map +0 -1
  661. package/dist/providers/kimi-coding.models.js.map +0 -1
  662. package/dist/providers/minimax-cn.d.ts.map +0 -1
  663. package/dist/providers/minimax-cn.js.map +0 -1
  664. package/dist/providers/minimax-cn.models.d.ts.map +0 -1
  665. package/dist/providers/minimax-cn.models.js.map +0 -1
  666. package/dist/providers/minimax.d.ts.map +0 -1
  667. package/dist/providers/minimax.js.map +0 -1
  668. package/dist/providers/minimax.models.d.ts.map +0 -1
  669. package/dist/providers/minimax.models.js.map +0 -1
  670. package/dist/providers/mistral.d.ts.map +0 -1
  671. package/dist/providers/mistral.js.map +0 -1
  672. package/dist/providers/mistral.models.d.ts.map +0 -1
  673. package/dist/providers/mistral.models.js.map +0 -1
  674. package/dist/providers/moonshotai-cn.d.ts.map +0 -1
  675. package/dist/providers/moonshotai-cn.js.map +0 -1
  676. package/dist/providers/moonshotai-cn.models.d.ts.map +0 -1
  677. package/dist/providers/moonshotai-cn.models.js.map +0 -1
  678. package/dist/providers/moonshotai.d.ts.map +0 -1
  679. package/dist/providers/moonshotai.js.map +0 -1
  680. package/dist/providers/moonshotai.models.d.ts.map +0 -1
  681. package/dist/providers/moonshotai.models.js.map +0 -1
  682. package/dist/providers/nvidia.d.ts.map +0 -1
  683. package/dist/providers/nvidia.js.map +0 -1
  684. package/dist/providers/nvidia.models.d.ts.map +0 -1
  685. package/dist/providers/nvidia.models.js.map +0 -1
  686. package/dist/providers/ollama.d.ts.map +0 -1
  687. package/dist/providers/ollama.js.map +0 -1
  688. package/dist/providers/openai-completions.d.ts.map +0 -1
  689. package/dist/providers/openai-completions.js.map +0 -1
  690. package/dist/providers/openai-images.d.ts +0 -3
  691. package/dist/providers/openai-images.d.ts.map +0 -1
  692. package/dist/providers/openai-images.js +0 -16
  693. package/dist/providers/openai-images.js.map +0 -1
  694. package/dist/providers/openai-responses-shared.d.ts.map +0 -1
  695. package/dist/providers/openai-responses-shared.js.map +0 -1
  696. package/dist/providers/openai-responses.d.ts.map +0 -1
  697. package/dist/providers/openai-responses.js.map +0 -1
  698. package/dist/providers/openai.d.ts.map +0 -1
  699. package/dist/providers/openai.js.map +0 -1
  700. package/dist/providers/openai.models.d.ts.map +0 -1
  701. package/dist/providers/openai.models.js.map +0 -1
  702. package/dist/providers/opencode-go.d.ts.map +0 -1
  703. package/dist/providers/opencode-go.js.map +0 -1
  704. package/dist/providers/opencode-go.models.d.ts.map +0 -1
  705. package/dist/providers/opencode-go.models.js.map +0 -1
  706. package/dist/providers/opencode-headers.d.ts.map +0 -1
  707. package/dist/providers/opencode-headers.js.map +0 -1
  708. package/dist/providers/opencode.d.ts.map +0 -1
  709. package/dist/providers/opencode.js.map +0 -1
  710. package/dist/providers/opencode.models.d.ts.map +0 -1
  711. package/dist/providers/opencode.models.js.map +0 -1
  712. package/dist/providers/opengateway.d.ts.map +0 -1
  713. package/dist/providers/opengateway.js.map +0 -1
  714. package/dist/providers/opengateway.models.d.ts.map +0 -1
  715. package/dist/providers/opengateway.models.js.map +0 -1
  716. package/dist/providers/openrouter-images.d.ts +0 -3
  717. package/dist/providers/openrouter-images.d.ts.map +0 -1
  718. package/dist/providers/openrouter-images.js +0 -22
  719. package/dist/providers/openrouter-images.js.map +0 -1
  720. package/dist/providers/openrouter.d.ts.map +0 -1
  721. package/dist/providers/openrouter.js.map +0 -1
  722. package/dist/providers/openrouter.models.d.ts.map +0 -1
  723. package/dist/providers/openrouter.models.js.map +0 -1
  724. package/dist/providers/qwen-token-plan-cn.d.ts.map +0 -1
  725. package/dist/providers/qwen-token-plan-cn.js.map +0 -1
  726. package/dist/providers/qwen-token-plan-cn.models.d.ts.map +0 -1
  727. package/dist/providers/qwen-token-plan-cn.models.js.map +0 -1
  728. package/dist/providers/qwen-token-plan-individual.d.ts.map +0 -1
  729. package/dist/providers/qwen-token-plan-individual.js.map +0 -1
  730. package/dist/providers/qwen-token-plan-individual.models.d.ts.map +0 -1
  731. package/dist/providers/qwen-token-plan-individual.models.js.map +0 -1
  732. package/dist/providers/qwen-token-plan.d.ts.map +0 -1
  733. package/dist/providers/qwen-token-plan.js.map +0 -1
  734. package/dist/providers/qwen-token-plan.models.d.ts.map +0 -1
  735. package/dist/providers/qwen-token-plan.models.js.map +0 -1
  736. package/dist/providers/radius-config.d.ts.map +0 -1
  737. package/dist/providers/radius-config.js.map +0 -1
  738. package/dist/providers/radius.d.ts.map +0 -1
  739. package/dist/providers/radius.js.map +0 -1
  740. package/dist/providers/register-builtins.d.ts.map +0 -1
  741. package/dist/providers/register-builtins.js.map +0 -1
  742. package/dist/providers/together.d.ts.map +0 -1
  743. package/dist/providers/together.js.map +0 -1
  744. package/dist/providers/together.models.d.ts.map +0 -1
  745. package/dist/providers/together.models.js.map +0 -1
  746. package/dist/providers/venice.d.ts.map +0 -1
  747. package/dist/providers/venice.js.map +0 -1
  748. package/dist/providers/venice.models.d.ts.map +0 -1
  749. package/dist/providers/venice.models.js.map +0 -1
  750. package/dist/providers/vercel-ai-gateway.d.ts.map +0 -1
  751. package/dist/providers/vercel-ai-gateway.js.map +0 -1
  752. package/dist/providers/vercel-ai-gateway.models.d.ts.map +0 -1
  753. package/dist/providers/vercel-ai-gateway.models.js.map +0 -1
  754. package/dist/providers/xai.d.ts.map +0 -1
  755. package/dist/providers/xai.js.map +0 -1
  756. package/dist/providers/xai.models.d.ts.map +0 -1
  757. package/dist/providers/xai.models.js.map +0 -1
  758. package/dist/providers/xiaomi-token-plan-ams.d.ts.map +0 -1
  759. package/dist/providers/xiaomi-token-plan-ams.js.map +0 -1
  760. package/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +0 -1
  761. package/dist/providers/xiaomi-token-plan-ams.models.js.map +0 -1
  762. package/dist/providers/xiaomi-token-plan-cn.d.ts.map +0 -1
  763. package/dist/providers/xiaomi-token-plan-cn.js.map +0 -1
  764. package/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +0 -1
  765. package/dist/providers/xiaomi-token-plan-cn.models.js.map +0 -1
  766. package/dist/providers/xiaomi-token-plan-sgp.d.ts.map +0 -1
  767. package/dist/providers/xiaomi-token-plan-sgp.js.map +0 -1
  768. package/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +0 -1
  769. package/dist/providers/xiaomi-token-plan-sgp.models.js.map +0 -1
  770. package/dist/providers/xiaomi.d.ts.map +0 -1
  771. package/dist/providers/xiaomi.js.map +0 -1
  772. package/dist/providers/xiaomi.models.d.ts.map +0 -1
  773. package/dist/providers/xiaomi.models.js.map +0 -1
  774. package/dist/providers/zai-coding-cn.d.ts.map +0 -1
  775. package/dist/providers/zai-coding-cn.js.map +0 -1
  776. package/dist/providers/zai-coding-cn.models.d.ts.map +0 -1
  777. package/dist/providers/zai-coding-cn.models.js.map +0 -1
  778. package/dist/providers/zai.d.ts.map +0 -1
  779. package/dist/providers/zai.js.map +0 -1
  780. package/dist/providers/zai.models.d.ts.map +0 -1
  781. package/dist/providers/zai.models.js.map +0 -1
  782. package/dist/session-resources.d.ts.map +0 -1
  783. package/dist/session-resources.js.map +0 -1
  784. package/dist/stream.d.ts.map +0 -1
  785. package/dist/stream.js.map +0 -1
  786. package/dist/tool-call-middleware/context-transformer.d.ts.map +0 -1
  787. package/dist/tool-call-middleware/context-transformer.js.map +0 -1
  788. package/dist/tool-call-middleware/index.d.ts.map +0 -1
  789. package/dist/tool-call-middleware/index.js.map +0 -1
  790. package/dist/tool-call-middleware/protocols/anthropic-xml/coerce-parameters.d.ts.map +0 -1
  791. package/dist/tool-call-middleware/protocols/anthropic-xml/coerce-parameters.js.map +0 -1
  792. package/dist/tool-call-middleware/protocols/anthropic-xml/format.d.ts.map +0 -1
  793. package/dist/tool-call-middleware/protocols/anthropic-xml/format.js.map +0 -1
  794. package/dist/tool-call-middleware/protocols/anthropic-xml/index.d.ts.map +0 -1
  795. package/dist/tool-call-middleware/protocols/anthropic-xml/index.js.map +0 -1
  796. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-match.d.ts.map +0 -1
  797. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-match.js.map +0 -1
  798. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-protocol.d.ts.map +0 -1
  799. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-protocol.js.map +0 -1
  800. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-stream-helpers.d.ts.map +0 -1
  801. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-stream-helpers.js.map +0 -1
  802. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-tag-scanner.d.ts.map +0 -1
  803. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-tag-scanner.js.map +0 -1
  804. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-tag-syntax.d.ts.map +0 -1
  805. package/dist/tool-call-middleware/protocols/anthropic-xml/invoke-tag-syntax.js.map +0 -1
  806. package/dist/tool-call-middleware/protocols/anthropic-xml/parse.d.ts.map +0 -1
  807. package/dist/tool-call-middleware/protocols/anthropic-xml/parse.js.map +0 -1
  808. package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-stream.d.ts.map +0 -1
  809. package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-stream.js.map +0 -1
  810. package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-wrapper-state.d.ts.map +0 -1
  811. package/dist/tool-call-middleware/protocols/anthropic-xml/recovery-wrapper-state.js.map +0 -1
  812. package/dist/tool-call-middleware/protocols/anthropic-xml/stream-boundary.d.ts.map +0 -1
  813. package/dist/tool-call-middleware/protocols/anthropic-xml/stream-boundary.js.map +0 -1
  814. package/dist/tool-call-middleware/protocols/anthropic-xml/stream.d.ts.map +0 -1
  815. package/dist/tool-call-middleware/protocols/anthropic-xml/stream.js.map +0 -1
  816. package/dist/tool-call-middleware/protocols/anthropic-xml/tool-resolver.d.ts.map +0 -1
  817. package/dist/tool-call-middleware/protocols/anthropic-xml/tool-resolver.js.map +0 -1
  818. package/dist/tool-call-middleware/protocols/anthropic-xml/xml-entities.d.ts.map +0 -1
  819. package/dist/tool-call-middleware/protocols/anthropic-xml/xml-entities.js.map +0 -1
  820. package/dist/tool-call-middleware/protocols/antml/coerce-parameters.d.ts.map +0 -1
  821. package/dist/tool-call-middleware/protocols/antml/coerce-parameters.js.map +0 -1
  822. package/dist/tool-call-middleware/protocols/antml/config.d.ts.map +0 -1
  823. package/dist/tool-call-middleware/protocols/antml/config.js.map +0 -1
  824. package/dist/tool-call-middleware/protocols/antml/format.d.ts.map +0 -1
  825. package/dist/tool-call-middleware/protocols/antml/format.js.map +0 -1
  826. package/dist/tool-call-middleware/protocols/antml/index.d.ts.map +0 -1
  827. package/dist/tool-call-middleware/protocols/antml/index.js.map +0 -1
  828. package/dist/tool-call-middleware/protocols/antml/parse.d.ts.map +0 -1
  829. package/dist/tool-call-middleware/protocols/antml/parse.js.map +0 -1
  830. package/dist/tool-call-middleware/protocols/antml/recovery-stream.d.ts.map +0 -1
  831. package/dist/tool-call-middleware/protocols/antml/recovery-stream.js.map +0 -1
  832. package/dist/tool-call-middleware/protocols/antml/repair.d.ts.map +0 -1
  833. package/dist/tool-call-middleware/protocols/antml/repair.js.map +0 -1
  834. package/dist/tool-call-middleware/protocols/antml/stream.d.ts.map +0 -1
  835. package/dist/tool-call-middleware/protocols/antml/stream.js.map +0 -1
  836. package/dist/tool-call-middleware/protocols/gemma4.d.ts.map +0 -1
  837. package/dist/tool-call-middleware/protocols/gemma4.js.map +0 -1
  838. package/dist/tool-call-middleware/protocols/hermes.d.ts.map +0 -1
  839. package/dist/tool-call-middleware/protocols/hermes.js.map +0 -1
  840. package/dist/tool-call-middleware/protocols/json-mix.d.ts.map +0 -1
  841. package/dist/tool-call-middleware/protocols/json-mix.js.map +0 -1
  842. package/dist/tool-call-middleware/protocols/kimi-xtml/format.d.ts.map +0 -1
  843. package/dist/tool-call-middleware/protocols/kimi-xtml/format.js.map +0 -1
  844. package/dist/tool-call-middleware/protocols/kimi-xtml/index.d.ts.map +0 -1
  845. package/dist/tool-call-middleware/protocols/kimi-xtml/index.js.map +0 -1
  846. package/dist/tool-call-middleware/protocols/kimi-xtml/markers.d.ts.map +0 -1
  847. package/dist/tool-call-middleware/protocols/kimi-xtml/markers.js.map +0 -1
  848. package/dist/tool-call-middleware/protocols/kimi-xtml/parse.d.ts.map +0 -1
  849. package/dist/tool-call-middleware/protocols/kimi-xtml/parse.js.map +0 -1
  850. package/dist/tool-call-middleware/protocols/kimi-xtml/recovery-stream.d.ts.map +0 -1
  851. package/dist/tool-call-middleware/protocols/kimi-xtml/recovery-stream.js.map +0 -1
  852. package/dist/tool-call-middleware/protocols/kimi-xtml/stream.d.ts.map +0 -1
  853. package/dist/tool-call-middleware/protocols/kimi-xtml/stream.js.map +0 -1
  854. package/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.d.ts.map +0 -1
  855. package/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery-stream.js.map +0 -1
  856. package/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.d.ts.map +0 -1
  857. package/dist/tool-call-middleware/protocols/kimi-xtml/thinking-recovery.js.map +0 -1
  858. package/dist/tool-call-middleware/protocols/morph-xml.d.ts.map +0 -1
  859. package/dist/tool-call-middleware/protocols/morph-xml.js.map +0 -1
  860. package/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.d.ts.map +0 -1
  861. package/dist/tool-call-middleware/protocols/xml-tool-tag-scanner.js.map +0 -1
  862. package/dist/tool-call-middleware/protocols/yaml-xml.d.ts.map +0 -1
  863. package/dist/tool-call-middleware/protocols/yaml-xml.js.map +0 -1
  864. package/dist/tool-call-middleware/recovery-code-mask.d.ts.map +0 -1
  865. package/dist/tool-call-middleware/recovery-code-mask.js.map +0 -1
  866. package/dist/tool-call-middleware/recovery-content-lifecycle.d.ts.map +0 -1
  867. package/dist/tool-call-middleware/recovery-content-lifecycle.js.map +0 -1
  868. package/dist/tool-call-middleware/recovery-diagnostics.d.ts.map +0 -1
  869. package/dist/tool-call-middleware/recovery-diagnostics.js.map +0 -1
  870. package/dist/tool-call-middleware/recovery-event-stream.d.ts.map +0 -1
  871. package/dist/tool-call-middleware/recovery-event-stream.js.map +0 -1
  872. package/dist/tool-call-middleware/recovery-message-snapshot.d.ts.map +0 -1
  873. package/dist/tool-call-middleware/recovery-message-snapshot.js.map +0 -1
  874. package/dist/tool-call-middleware/recovery-native-projection.d.ts.map +0 -1
  875. package/dist/tool-call-middleware/recovery-native-projection.js.map +0 -1
  876. package/dist/tool-call-middleware/recovery-stream-failure.d.ts.map +0 -1
  877. package/dist/tool-call-middleware/recovery-stream-failure.js.map +0 -1
  878. package/dist/tool-call-middleware/recovery-stream-terminal.d.ts.map +0 -1
  879. package/dist/tool-call-middleware/recovery-stream-terminal.js.map +0 -1
  880. package/dist/tool-call-middleware/recovery-stream-wrapper.d.ts.map +0 -1
  881. package/dist/tool-call-middleware/recovery-stream-wrapper.js.map +0 -1
  882. package/dist/tool-call-middleware/recovery-text-projection.d.ts.map +0 -1
  883. package/dist/tool-call-middleware/recovery-text-projection.js.map +0 -1
  884. package/dist/tool-call-middleware/stream-message-metadata.d.ts.map +0 -1
  885. package/dist/tool-call-middleware/stream-message-metadata.js.map +0 -1
  886. package/dist/tool-call-middleware/stream-thinking-projection.d.ts.map +0 -1
  887. package/dist/tool-call-middleware/stream-thinking-projection.js.map +0 -1
  888. package/dist/tool-call-middleware/stream-wrapper-shared.d.ts.map +0 -1
  889. package/dist/tool-call-middleware/stream-wrapper-shared.js.map +0 -1
  890. package/dist/tool-call-middleware/stream-wrapper.d.ts.map +0 -1
  891. package/dist/tool-call-middleware/stream-wrapper.js.map +0 -1
  892. package/dist/tool-call-middleware/types.d.ts.map +0 -1
  893. package/dist/tool-call-middleware/types.js.map +0 -1
  894. package/dist/types.d.ts.map +0 -1
  895. package/dist/types.js.map +0 -1
  896. package/dist/utils/abort-signals.d.ts.map +0 -1
  897. package/dist/utils/abort-signals.js.map +0 -1
  898. package/dist/utils/abort.d.ts.map +0 -1
  899. package/dist/utils/abort.js.map +0 -1
  900. package/dist/utils/assistant-message-frame.d.ts.map +0 -1
  901. package/dist/utils/assistant-message-frame.js.map +0 -1
  902. package/dist/utils/block-symbols.d.ts.map +0 -1
  903. package/dist/utils/block-symbols.js.map +0 -1
  904. package/dist/utils/chatgpt-subscription-auth.d.ts.map +0 -1
  905. package/dist/utils/chatgpt-subscription-auth.js.map +0 -1
  906. package/dist/utils/claude-code-version-cache.d.ts.map +0 -1
  907. package/dist/utils/claude-code-version-cache.js.map +0 -1
  908. package/dist/utils/claude-code-version.d.ts.map +0 -1
  909. package/dist/utils/claude-code-version.js.map +0 -1
  910. package/dist/utils/cursor-context-limit.d.ts.map +0 -1
  911. package/dist/utils/cursor-context-limit.js.map +0 -1
  912. package/dist/utils/deferred-tools.d.ts.map +0 -1
  913. package/dist/utils/deferred-tools.js.map +0 -1
  914. package/dist/utils/diagnostics.d.ts.map +0 -1
  915. package/dist/utils/diagnostics.js.map +0 -1
  916. package/dist/utils/drop-failed-assistant-turns.d.ts.map +0 -1
  917. package/dist/utils/drop-failed-assistant-turns.js.map +0 -1
  918. package/dist/utils/empty-response-errors.d.ts.map +0 -1
  919. package/dist/utils/empty-response-errors.js.map +0 -1
  920. package/dist/utils/error-body.d.ts.map +0 -1
  921. package/dist/utils/error-body.js.map +0 -1
  922. package/dist/utils/estimate.d.ts.map +0 -1
  923. package/dist/utils/estimate.js.map +0 -1
  924. package/dist/utils/event-stream.d.ts.map +0 -1
  925. package/dist/utils/event-stream.js.map +0 -1
  926. package/dist/utils/github-copilot-tool-limit.d.ts.map +0 -1
  927. package/dist/utils/github-copilot-tool-limit.js.map +0 -1
  928. package/dist/utils/hash.d.ts.map +0 -1
  929. package/dist/utils/hash.js.map +0 -1
  930. package/dist/utils/headers.d.ts.map +0 -1
  931. package/dist/utils/headers.js.map +0 -1
  932. package/dist/utils/json-parse.d.ts.map +0 -1
  933. package/dist/utils/json-parse.js.map +0 -1
  934. package/dist/utils/node-http-proxy.d.ts.map +0 -1
  935. package/dist/utils/node-http-proxy.js.map +0 -1
  936. package/dist/utils/overflow.d.ts.map +0 -1
  937. package/dist/utils/overflow.js.map +0 -1
  938. package/dist/utils/pi-user-agent.d.ts.map +0 -1
  939. package/dist/utils/pi-user-agent.js.map +0 -1
  940. package/dist/utils/process-singleton.d.ts.map +0 -1
  941. package/dist/utils/process-singleton.js.map +0 -1
  942. package/dist/utils/prompt-cache-ttl.d.ts.map +0 -1
  943. package/dist/utils/prompt-cache-ttl.js.map +0 -1
  944. package/dist/utils/provider-diagnostic-carrier.d.ts.map +0 -1
  945. package/dist/utils/provider-diagnostic-carrier.js.map +0 -1
  946. package/dist/utils/provider-diagnostic-sources.d.ts.map +0 -1
  947. package/dist/utils/provider-diagnostic-sources.js.map +0 -1
  948. package/dist/utils/provider-diagnostic-vocabulary.d.ts.map +0 -1
  949. package/dist/utils/provider-diagnostic-vocabulary.js.map +0 -1
  950. package/dist/utils/provider-env.d.ts.map +0 -1
  951. package/dist/utils/provider-env.js.map +0 -1
  952. package/dist/utils/provider-failure-description.d.ts.map +0 -1
  953. package/dist/utils/provider-failure-description.js.map +0 -1
  954. package/dist/utils/provider-retry.d.ts.map +0 -1
  955. package/dist/utils/provider-retry.js.map +0 -1
  956. package/dist/utils/retry-hint.d.ts.map +0 -1
  957. package/dist/utils/retry-hint.js.map +0 -1
  958. package/dist/utils/retry-profile/backoff.d.ts.map +0 -1
  959. package/dist/utils/retry-profile/backoff.js.map +0 -1
  960. package/dist/utils/retry-profile/classifiers.d.ts.map +0 -1
  961. package/dist/utils/retry-profile/classifiers.js.map +0 -1
  962. package/dist/utils/retry-profile/failure.d.ts.map +0 -1
  963. package/dist/utils/retry-profile/failure.js.map +0 -1
  964. package/dist/utils/retry-profile/index.d.ts.map +0 -1
  965. package/dist/utils/retry-profile/index.js.map +0 -1
  966. package/dist/utils/retry-profile/planner.d.ts.map +0 -1
  967. package/dist/utils/retry-profile/planner.js.map +0 -1
  968. package/dist/utils/retry-profile/profiles.d.ts.map +0 -1
  969. package/dist/utils/retry-profile/profiles.js.map +0 -1
  970. package/dist/utils/retry-profile/types.d.ts.map +0 -1
  971. package/dist/utils/retry-profile/types.js.map +0 -1
  972. package/dist/utils/retry.d.ts.map +0 -1
  973. package/dist/utils/retry.js.map +0 -1
  974. package/dist/utils/sanitize-unicode.d.ts.map +0 -1
  975. package/dist/utils/sanitize-unicode.js.map +0 -1
  976. package/dist/utils/server-fallback-receipt.d.ts.map +0 -1
  977. package/dist/utils/server-fallback-receipt.js.map +0 -1
  978. package/dist/utils/sleep.d.ts.map +0 -1
  979. package/dist/utils/sleep.js.map +0 -1
  980. package/dist/utils/stop-details.d.ts.map +0 -1
  981. package/dist/utils/stop-details.js.map +0 -1
  982. package/dist/utils/text.d.ts.map +0 -1
  983. package/dist/utils/text.js.map +0 -1
  984. package/dist/utils/tool-call-id.d.ts.map +0 -1
  985. package/dist/utils/tool-call-id.js.map +0 -1
  986. package/dist/utils/tool-choice-fallback.d.ts.map +0 -1
  987. package/dist/utils/tool-choice-fallback.js.map +0 -1
  988. package/dist/utils/tool-name-match.d.ts.map +0 -1
  989. package/dist/utils/tool-name-match.js.map +0 -1
  990. package/dist/utils/tool-pair-repair.d.ts.map +0 -1
  991. package/dist/utils/tool-pair-repair.js.map +0 -1
  992. package/dist/utils/tool-schema-compat.d.ts.map +0 -1
  993. package/dist/utils/tool-schema-compat.js.map +0 -1
  994. package/dist/utils/typebox-helpers.d.ts.map +0 -1
  995. package/dist/utils/typebox-helpers.js.map +0 -1
  996. package/dist/utils/unavailable-tool-text.d.ts.map +0 -1
  997. package/dist/utils/unavailable-tool-text.js.map +0 -1
  998. package/dist/utils/uuid.d.ts.map +0 -1
  999. package/dist/utils/uuid.js.map +0 -1
  1000. package/dist/utils/validation.d.ts.map +0 -1
  1001. package/dist/utils/validation.js.map +0 -1
  1002. package/dist/utils/visible-text.d.ts.map +0 -1
  1003. package/dist/utils/visible-text.js.map +0 -1
  1004. package/dist/wire-identity.d.ts.map +0 -1
  1005. package/dist/wire-identity.js.map +0 -1
  1006. /package/dist/{auth/oauth → utils}/oauth-page.d.ts +0 -0
  1007. /package/dist/{auth/oauth → utils}/oauth-page.js +0 -0
@@ -0,0 +1,47 @@
1
+ import { ModelsError } from "./models-error.js";
2
+ /** The type of a model. Models without `type` are chat models. */
3
+ export function getModelType(model) {
4
+ return model.type ?? "chat";
5
+ }
6
+ /** Runtime-checked model type narrowing, including legacy chat models without `type`. */
7
+ export function isModelType(model, type) {
8
+ return getModelType(model) === type;
9
+ }
10
+ export function assertChatModel(model) {
11
+ if (!isModelType(model, "chat")) {
12
+ throw new ModelsError("provider", `Model ${model.provider}/${model.id} is not a chat model`);
13
+ }
14
+ }
15
+ export function assertImageModel(model) {
16
+ if (!isModelType(model, "image")) {
17
+ throw new ModelsError("provider", `Model ${model.provider}/${model.id} is not an image model`);
18
+ }
19
+ }
20
+ export function assertClassifierModel(model) {
21
+ if (!isModelType(model, "classifier")) {
22
+ throw new ModelsError("provider", `Model ${model.provider}/${model.id} is not a classifier model`);
23
+ }
24
+ }
25
+ export function imageErrorResult(model, error, aborted = false) {
26
+ return {
27
+ api: model.api,
28
+ provider: model.provider,
29
+ model: model.id,
30
+ output: [],
31
+ stopReason: aborted ? "aborted" : "error",
32
+ errorMessage: error instanceof Error ? error.message : String(error),
33
+ timestamp: Date.now(),
34
+ };
35
+ }
36
+ export function classifierErrorResult(model, error, aborted = false) {
37
+ return {
38
+ api: model.api,
39
+ provider: model.provider,
40
+ model: model.id,
41
+ answers: {},
42
+ stopReason: aborted ? "aborted" : "error",
43
+ errorMessage: error instanceof Error ? error.message : String(error),
44
+ timestamp: Date.now(),
45
+ };
46
+ }
47
+ //# sourceMappingURL=model-operations.js.map
@@ -0,0 +1,8 @@
1
+ export type ModelsErrorCode = "model_source" | "model_validation" | "provider" | "stream" | "auth" | "oauth";
2
+ export declare class ModelsError extends Error {
3
+ readonly code: ModelsErrorCode;
4
+ constructor(code: ModelsErrorCode, message: string, options?: {
5
+ cause?: unknown;
6
+ });
7
+ }
8
+ //# sourceMappingURL=models-error.d.ts.map
@@ -0,0 +1,18 @@
1
+ import { formatThrownValue } from "./diagnostics.js";
2
+ export class ModelsError extends Error {
3
+ constructor(code, message, options) {
4
+ super(withCauseDetail(message, options?.cause), options);
5
+ this.name = "ModelsError";
6
+ this.code = code;
7
+ }
8
+ }
9
+ /** Callers surface `error.message` only, so keep the underlying reason in it. */
10
+ function withCauseDetail(message, cause) {
11
+ if (cause === undefined || cause === null)
12
+ return message;
13
+ const detail = formatThrownValue(cause).trim();
14
+ if (!detail || message.includes(detail))
15
+ return message;
16
+ return `${message}: ${detail}`;
17
+ }
18
+ //# sourceMappingURL=models-error.js.map
@@ -28,6 +28,7 @@ import type { AssistantMessage } from "../types.ts";
28
28
  * - Kimi For Coding: "exceeded model token limit: X (requested: Y)"
29
29
  * - DS4: "Prompt has X tokens, but the configured context size is Y tokens"
30
30
  * - DashScope/Qwen: "Range of input length should be [1, X]"
31
+ * - z.ai: "Prompt too long"
31
32
  *
32
33
  * **Unreliable detection:**
33
34
  * - z.ai: Sometimes accepts overflow silently (detectable via usage.input > contextWindow),
@@ -29,7 +29,7 @@
29
29
  * - kiro-lb gateways: "Request payload is 1095225 bytes, over the 1085435 byte limit Kiro accepts." / "Request payload is N tokens, over the M token limit Kiro accepts." (HTTP 400 local payload guard)
30
30
  * - Kiro upstream via kiro-lb: "Model context limit reached. Conversation size exceeds model capacity." (CONTENT_LENGTH_EXCEEDS_THRESHOLD token overflow)
31
31
  * - Mistral: "Prompt contains X tokens ... too large for model with Y maximum context length"
32
- * - z.ai: Does NOT error, accepts overflow silently - handled via usage.input > contextWindow
32
+ * - z.ai: `{"code":"1261","message":"Prompt too long"}` or silent overflow via usage.input > contextWindow
33
33
  * - Xiaomi MiMo: Truncates input to fill contextWindow exactly, then returns finish_reason "length"
34
34
  * with output=0 (no room left to generate). Detected via stopReason "length" + zero output +
35
35
  * input filling the context window.
@@ -41,7 +41,7 @@
41
41
  const OVERFLOW_PATTERNS = [
42
42
  /^Context window exhausted: /, // pi-ai pre-flight guard: no answer room left, provider never called
43
43
  /^The conversation is too long to resend \(about \d+ tokens, limit \d+\)/, // anthropic-subscription cold-seed budget: re-send refused before dispatch
44
- /prompt is too long/i, // Anthropic token overflow
44
+ /prompt (?:is )?too long/i, // Anthropic and z.ai token overflow
45
45
  /request_too_large/i, // Anthropic request byte-size overflow (HTTP 413)
46
46
  /input is too long for requested model/i, // Amazon Bedrock
47
47
  /exceeds (?:(?:the|this) )?(?:model'?s )?context window/i, // OpenAI (Completions & Responses API)
@@ -65,11 +65,11 @@ const OVERFLOW_PATTERNS = [
65
65
  /context[_ ]length[_ ]exceeded/i, // Generic fallback
66
66
  /too many tokens/i, // Generic fallback
67
67
  /token limit exceeded/i, // Generic fallback
68
- /^4(?:00|13)\s*(?:status code)?\s*\(no body\)/i, // Cerebras: 400/413 with no body
69
68
  /(?:request[ _])?(?:body|entity|payload)[_ ]too[_ ]large/i, // Gateway HTTP 413 byte-size rejections ("Request body too large", "Request Entity Too Large", "body_too_large", "Payload Too Large"). Substring-anchored by design (JSON bodies lack an adjacent status code); a non-context size rejection (e.g. an oversized image) can over-match, which costs one bounded shrink-retry, never a wedge.
70
69
  /Request payload is \d+ (?:bytes, over the \d+ byte|tokens, over the \d+ token) limit Kiro accepts\./, // kiro-lb local byte/token payload guard (HTTP 400; Anthropic uses invalid_request_error, OpenAI uses detail).
71
70
  /Model context limit reached\. Conversation size exceeds model capacity\./, // kiro-lb enhancement of Kiro CONTENT_LENGTH_EXCEEDS_THRESHOLD
72
71
  ];
72
+ const CEREBRAS_BODYLESS_OVERFLOW_PATTERN = /^4(?:00|13)\s*(?:status code)?\s*\(no body\)/i;
73
73
  /**
74
74
  * Patterns that indicate non-overflow errors (e.g. rate limiting, server errors).
75
75
  * Error messages matching any of these are excluded from overflow detection
@@ -133,6 +133,7 @@ const RESOURCE_EXHAUSTED_PATTERN = /resource.?exhausted/i;
133
133
  * - Kimi For Coding: "exceeded model token limit: X (requested: Y)"
134
134
  * - DS4: "Prompt has X tokens, but the configured context size is Y tokens"
135
135
  * - DashScope/Qwen: "Range of input length should be [1, X]"
136
+ * - z.ai: "Prompt too long"
136
137
  *
137
138
  * **Unreliable detection:**
138
139
  * - z.ai: Sometimes accepts overflow silently (detectable via usage.input > contextWindow),
@@ -163,8 +164,13 @@ export function isContextOverflow(message, contextWindow) {
163
164
  if (message.stopReason === "error" && message.errorMessage) {
164
165
  // Skip messages matching known non-overflow patterns (e.g. throttling / rate-limit)
165
166
  const isNonOverflow = NON_OVERFLOW_PATTERNS.some((p) => p.test(message.errorMessage));
166
- if (!isNonOverflow && OVERFLOW_PATTERNS.some((p) => p.test(message.errorMessage))) {
167
- return true;
167
+ if (!isNonOverflow) {
168
+ if (OVERFLOW_PATTERNS.some((p) => p.test(message.errorMessage))) {
169
+ return true;
170
+ }
171
+ if (message.provider === "cerebras" && CEREBRAS_BODYLESS_OVERFLOW_PATTERN.test(message.errorMessage)) {
172
+ return true;
173
+ }
168
174
  }
169
175
  const usage = message.usage;
170
176
  const hasTokenEvidence = (usage.totalTokens || usage.input + usage.output + usage.cacheRead + usage.cacheWrite) > 0;
@@ -70,6 +70,8 @@ export function getAnthropicCompat(model) {
70
70
  unsignedThinkingReplay: model.compat?.unsignedThinkingReplay ?? (model.compat?.allowEmptySignature ? "empty-signature" : "text"),
71
71
  allowedFallbackModels: model.compat?.allowedFallbackModels ?? [],
72
72
  supportsStrictTools: model.compat?.supportsStrictTools ?? false,
73
+ supportsMidConvoSystemMessages: model.compat?.supportsMidConvoSystemMessages ?? false,
74
+ supportsMidConvoToolChanges: model.compat?.supportsMidConvoToolChanges ?? false,
73
75
  supportsToolReferences: model.compat?.supportsToolReferences ?? defaultSupportsToolReferences(model),
74
76
  // Default: first-party Anthropic only. Anthropic-compatible providers
75
77
  // (kimi-coding, fireworks, copilot, gateways) may execute the server-side
@@ -98,10 +100,10 @@ function detectOpenAICompletionsCompat(model) {
98
100
  const isCloudflareAiGateway = provider === "cloudflare-ai-gateway" || baseUrl.includes("gateway.ai.cloudflare.com");
99
101
  const isNvidia = provider === "nvidia" || baseUrl.includes("integrate.api.nvidia.com");
100
102
  const isAntLing = provider === "ant-ling" || baseUrl.includes("api.ant-ling.com");
103
+ const isCerebras = provider === "cerebras" || baseUrl.includes("cerebras.ai");
101
104
  const isDeepSeek = provider === "deepseek" || baseUrl.toLowerCase().includes("deepseek.com");
102
105
  const isNonStandard = isNvidia ||
103
- provider === "cerebras" ||
104
- baseUrl.includes("cerebras.ai") ||
106
+ isCerebras ||
105
107
  provider === "xai" ||
106
108
  baseUrl.includes("api.x.ai") ||
107
109
  isTogether ||
@@ -154,11 +156,14 @@ function detectOpenAICompletionsCompat(model) {
154
156
  vercelGatewayRouting: {},
155
157
  chatTemplateKwargs: {},
156
158
  zaiToolStream: false,
157
- supportsStrictMode: !isMoonshot && !isTogether && !isCloudflareAiGateway && !isNvidia,
159
+ // OpenAI compatibility alone does not imply strict JSON-schema tool support.
160
+ supportsStrictMode: false,
158
161
  toolSchemaFlavor: isMoonshot ? "moonshot-mfjs" : undefined,
159
162
  supportsDisabledThinking: true,
160
163
  toolCallFormat: undefined,
161
164
  supportsOpenAIGrammarTools: false,
165
+ supportsMidConvoSystemMessages: false,
166
+ supportsMidConvoToolAdditions: false,
162
167
  cacheControlFormat,
163
168
  sendSessionAffinityHeaders: isOpenRouter,
164
169
  deferredToolsMode: undefined,
@@ -205,6 +210,8 @@ export function getOpenAICompletionsCompat(model) {
205
210
  toolSchemaFlavor: model.compat.toolSchemaFlavor ?? detected.toolSchemaFlavor,
206
211
  toolCallFormat: model.compat.toolCallFormat ?? detected.toolCallFormat,
207
212
  supportsOpenAIGrammarTools: model.compat.supportsOpenAIGrammarTools ?? detected.supportsOpenAIGrammarTools,
213
+ supportsMidConvoSystemMessages: model.compat.supportsMidConvoSystemMessages ?? detected.supportsMidConvoSystemMessages,
214
+ supportsMidConvoToolAdditions: model.compat.supportsMidConvoToolAdditions ?? detected.supportsMidConvoToolAdditions,
208
215
  cacheControlFormat: model.compat.cacheControlFormat ?? detected.cacheControlFormat,
209
216
  sendSessionAffinityHeaders: model.compat.sendSessionAffinityHeaders ?? detected.sendSessionAffinityHeaders,
210
217
  deferredToolsMode: model.compat.deferredToolsMode ?? detected.deferredToolsMode,
@@ -323,6 +330,38 @@ function hasOpenAIExtendedPromptCache(model) {
323
330
  }
324
331
  return OPENAI_EXTENDED_CACHE_MODEL_ID.test(model.id);
325
332
  }
333
+ /** Env that puts Claude Code on API-key, gateway or cloud billing, where it caches the main conversation for 5 minutes. */
334
+ const CLAUDE_CODE_API_BILLING_ENV = [
335
+ "ANTHROPIC_API_KEY",
336
+ "ANTHROPIC_AUTH_TOKEN",
337
+ "ANTHROPIC_BASE_URL",
338
+ "CLAUDE_CODE_USE_BEDROCK",
339
+ "CLAUDE_CODE_USE_VERTEX",
340
+ "CLAUDE_CODE_USE_FOUNDRY",
341
+ ];
342
+ function isEnabledFlag(value) {
343
+ return value !== undefined && !/^(?:|0|false|no|off)$/i.test(value.trim());
344
+ }
345
+ /**
346
+ * The Claude SDK lane's cache TTL is chosen by Claude Code, not senpi: `CLAUDE_CODE_PROMPT_CACHE_TTL`
347
+ * (`5m` | `1h`) wins, then `FORCE_PROMPT_CACHING_5M` and `ENABLE_PROMPT_CACHING_1H`; otherwise a Claude
348
+ * subscription gets 1 hour and API-key, gateway or cloud billing gets 5 minutes. A subscription past its
349
+ * usage limits also drops to 5 minutes, which nothing here can observe.
350
+ */
351
+ function claudeCodePromptCacheTtlSeconds(env) {
352
+ const explicit = getProviderEnvValue("CLAUDE_CODE_PROMPT_CACHE_TTL", env)?.trim().toLowerCase();
353
+ if (explicit === "5m")
354
+ return PROMPT_CACHE_TTL_SHORT_SECONDS;
355
+ if (explicit === "1h")
356
+ return PROMPT_CACHE_TTL_LONG_SECONDS;
357
+ if (isEnabledFlag(getProviderEnvValue("FORCE_PROMPT_CACHING_5M", env)))
358
+ return PROMPT_CACHE_TTL_SHORT_SECONDS;
359
+ if (isEnabledFlag(getProviderEnvValue("ENABLE_PROMPT_CACHING_1H", env)))
360
+ return PROMPT_CACHE_TTL_LONG_SECONDS;
361
+ return CLAUDE_CODE_API_BILLING_ENV.some((name) => getProviderEnvValue(name, env) !== undefined)
362
+ ? PROMPT_CACHE_TTL_SHORT_SECONDS
363
+ : PROMPT_CACHE_TTL_LONG_SECONDS;
364
+ }
326
365
  /**
327
366
  * Classify the active model's prompt-cache lifetime from the provider's documented cache contract.
328
367
  * `cacheRetention: "none"` (or `PI_CACHE_RETENTION` resolving to it) always wins.
@@ -330,8 +369,7 @@ function hasOpenAIExtendedPromptCache(model) {
330
369
  export function resolvePromptCacheLifetime(model, env) {
331
370
  switch (model.api) {
332
371
  case "claude-sdk-oauth":
333
- // The Claude SDK owns prompt caching for this lane and uses Anthropic's default 5m TTL.
334
- return ttl(PROMPT_CACHE_TTL_SHORT_SECONDS);
372
+ return ttl(claudeCodePromptCacheTtlSeconds(env));
335
373
  case "anthropic-messages": {
336
374
  const anthropicModel = model;
337
375
  const retention = resolveAnthropicCacheRetention(anthropicModel.cacheRetention, env, "short");
@@ -16,4 +16,11 @@ export declare function stripTurnRetrySuppressionPrefix(message: string): string
16
16
  * the caller can fall back to the (marker-stripped) raw text.
17
17
  */
18
18
  export declare function describeProviderFailureForUser(errorMessage: string | undefined, options?: ProviderStallDescriptionOptions): string | undefined;
19
+ /**
20
+ * The turn-ending message for a provider module that can no longer be imported because the
21
+ * installed package was replaced under the running process (#2358), or undefined for any other
22
+ * failure. It carries the no-turn-retry marker: every model in a fallback chain needs a module from
23
+ * the same install, so a retry or fallback would only repeat the failure.
24
+ */
25
+ export declare function describeReplacedInstall(error: unknown): string | undefined;
19
26
  //# sourceMappingURL=provider-failure-description.d.ts.map
@@ -60,4 +60,25 @@ export function describeProviderFailureForUser(errorMessage, options = {}) {
60
60
  sentences.push(RECOVERY_SENTENCE[options.recovery]);
61
61
  return sentences.join(" ");
62
62
  }
63
+ // Node: "Cannot find module '/…/chunks/x-HASH.js' imported from …"; Bun: the same with a relative
64
+ // specifier, or "ENOENT reading \"/…/chunks/x-HASH.js\"" when the file vanished after resolution.
65
+ const MISSING_MODULE_PATTERNS = [/^Cannot find module ['"]([^'"]+)['"]/, /^ENOENT reading ['"]([^'"]+)['"]/];
66
+ const SHIPPED_MODULE = /^(?:\.{1,2}[\\/]|[\\/]|[A-Za-z]:[\\/]|file:).*\.m?js$/;
67
+ /**
68
+ * The turn-ending message for a provider module that can no longer be imported because the
69
+ * installed package was replaced under the running process (#2358), or undefined for any other
70
+ * failure. It carries the no-turn-retry marker: every model in a fallback chain needs a module from
71
+ * the same install, so a retry or fallback would only repeat the failure.
72
+ */
73
+ export function describeReplacedInstall(error) {
74
+ if (!(error instanceof Error))
75
+ return undefined;
76
+ for (const pattern of MISSING_MODULE_PATTERNS) {
77
+ const missing = pattern.exec(error.message)?.[1];
78
+ if (missing !== undefined && SHIPPED_MODULE.test(missing)) {
79
+ return `${TURN_RETRY_SUPPRESSION_PREFIX}The installed package changed while this session was running, so ${missing.split(/[\\/]/).at(-1)} can no longer be loaded. Restart and resume this session to continue.`;
80
+ }
81
+ }
82
+ return undefined;
83
+ }
63
84
  //# sourceMappingURL=provider-failure-description.js.map
@@ -84,6 +84,9 @@ const NON_RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([
84
84
  "tools\\.[^ ]*function\\.parameters",
85
85
  "tools\\.\\d+\\.function\\.parameters",
86
86
  "invalid tool schema",
87
+ // Sign in with ChatGPT: the subscription's shared usage limit, which resets
88
+ // after hours rather than seconds.
89
+ "subscription_sharing_usage_limit_exceeded",
87
90
  ]);
88
91
  const RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([
89
92
  // Local credential/auth sidecar lock exhaustion is infrastructure contention,
@@ -91,6 +94,7 @@ const RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([
91
94
  "Credential store is busy: lock",
92
95
  // Generic provider load, HTTP status, and server-side transient failures.
93
96
  "overloaded",
97
+ "currently experiencing high demand",
94
98
  "rate.?limit",
95
99
  "too many requests",
96
100
  "429",
@@ -98,6 +102,7 @@ const RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([
98
102
  "502",
99
103
  "503",
100
104
  "504",
105
+ "520",
101
106
  // Cloudflare 522 (Connection timed out): origin stopped responding; transient
102
107
  // like the other 5xx gateway statuses, surfaced as "Error: error code: 522".
103
108
  "522",
@@ -179,10 +184,23 @@ const RETRYABLE_PROVIDER_ERROR_PATTERN = buildProviderErrorPattern([
179
184
  escapeRegExp(FORWARDED_EMPTY_TOOL_USE_ERROR),
180
185
  // gRPC based providers (e.g. NVIDIA NIM)
181
186
  "ResourceExhausted",
187
+ // Claude subscription per-request rejection that names no policy reason:
188
+ // `{"type":"error","error":{"type":"forbidden","message":"Request not allowed"}}`
189
+ // (senpi#2376). The same credential answered neighbouring requests with 200 and
190
+ // the burst ended by itself, so a bounded same-model retry recovers where an
191
+ // immediate fallback hop stranded the session. Anchored on the exact `forbidden`
192
+ // type plus the reason-less message, in either field order, so permission_error
193
+ // and forbidden rejections that carry a reason stay terminal.
194
+ '"type"\\s*:\\s*"forbidden"\\s*,\\s*"message"\\s*:\\s*"Request not allowed\\.?"',
195
+ '"message"\\s*:\\s*"Request not allowed\\.?"\\s*,\\s*"type"\\s*:\\s*"forbidden"',
182
196
  // Claude Agent SDK session.json lock contention. A second stream/resume
183
197
  // hits proper-lockfile while the previous subprocess still holds the file.
184
198
  // Same-process retry recovers; hopping providers cannot release that lock.
185
199
  "Lock file is already being held",
200
+ // Sign in with ChatGPT: usage or user data temporarily unavailable. Usage
201
+ // failures can arrive mid-stream without an HTTP 503 in the message.
202
+ "subscription_sharing_usage_unavailable",
203
+ "subscription_sharing_user_unavailable",
186
204
  ]);
187
205
  export const DEFAULT_MAX_AGENT_RETRY_DELAY_MS = 60_000;
188
206
  /**
@@ -1,6 +1,14 @@
1
- import type { ImageContent, ProviderNativeContent, TextContent, ThinkingContent, ToolCall } from "../types.ts";
1
+ import type { ImageContent, ProviderNativeContent, SystemMessage, TextContent, ThinkingContent, ToolCall } from "../types.ts";
2
2
  type Content = TextContent | ImageContent | ThinkingContent | ToolCall | ProviderNativeContent;
3
3
  /** Extract and join text from message content. */
4
4
  export declare function contentText(content: string | readonly Content[], separator?: string): string;
5
+ /** Render a system message as a complete prompt: its content followed by its sections. */
6
+ export declare function getSystemMessageText(message: SystemMessage): string;
7
+ /**
8
+ * Render a later system message for APIs that accept system messages mid-conversation.
9
+ * Section changes are framed by name so the model can relate them to the leading prompt.
10
+ * This framing is request-time only and may change between versions.
11
+ */
12
+ export declare function renderSystemMessageUpdate(message: SystemMessage): string;
5
13
  export {};
6
14
  //# sourceMappingURL=text.d.ts.map
@@ -7,4 +7,30 @@ export function contentText(content, separator = "\n") {
7
7
  .map((block) => block.text)
8
8
  .join(separator);
9
9
  }
10
+ /** Render a system message as a complete prompt: its content followed by its sections. */
11
+ export function getSystemMessageText(message) {
12
+ const parts = [contentText(message.content)];
13
+ for (const text of Object.values(message.sections ?? {})) {
14
+ if (text !== null)
15
+ parts.push(text);
16
+ }
17
+ return parts.filter((part) => part.length > 0).join("\n\n");
18
+ }
19
+ /**
20
+ * Render a later system message for APIs that accept system messages mid-conversation.
21
+ * Section changes are framed by name so the model can relate them to the leading prompt.
22
+ * This framing is request-time only and may change between versions.
23
+ */
24
+ export function renderSystemMessageUpdate(message) {
25
+ const parts = [];
26
+ const text = contentText(message.content);
27
+ if (text.length > 0)
28
+ parts.push(text);
29
+ for (const [name, value] of Object.entries(message.sections ?? {})) {
30
+ parts.push(value === null
31
+ ? `Removed system prompt section "${name}".`
32
+ : `Updated system prompt section "${name}":\n\n${value}`);
33
+ }
34
+ return parts.join("\n\n");
35
+ }
10
36
  //# sourceMappingURL=text.js.map
@@ -24,4 +24,6 @@ export declare function normalizeToolParametersForMoonshot(schema: Record<string
24
24
  * Schemas that are already plain objects are returned untouched.
25
25
  */
26
26
  export declare function resolveRootObjectSchema(schema: Record<string, unknown>): Record<string, unknown>;
27
+ /** Bedrock Converse rejects root combiners, including allOf, even with an object type (#1947). */
28
+ export declare function normalizeToolParametersForBedrock(schema: Record<string, unknown>): Record<string, unknown>;
27
29
  //# sourceMappingURL=tool-schema-compat.d.ts.map
@@ -92,9 +92,10 @@ function collapseConstUnion(node) {
92
92
  * so the root's own `properties` and `required` are merged with the branches'
93
93
  * rather than replaced by them.
94
94
  */
95
- function mergeRootObjectUnion(schema) {
96
- const branches = Array.isArray(schema.anyOf) ? schema.anyOf : Array.isArray(schema.oneOf) ? schema.oneOf : undefined;
97
- if (branches === undefined || branches.length === 0)
95
+ function mergeRootObjectUnion(schema, combiner) {
96
+ const selected = combiner ?? (Array.isArray(schema.anyOf) ? "anyOf" : "oneOf");
97
+ const branches = schema[selected];
98
+ if (!Array.isArray(branches) || branches.length === 0)
98
99
  return undefined;
99
100
  if (schema.properties !== undefined && !isJsonObject(schema.properties))
100
101
  return undefined;
@@ -121,12 +122,11 @@ function mergeRootObjectUnion(schema) {
121
122
  properties[name] =
122
123
  existing === undefined || JSON.stringify(existing) === JSON.stringify(propertySchema)
123
124
  ? propertySchema
124
- : { anyOf: [existing, propertySchema] };
125
+ : { [selected === "allOf" ? "allOf" : "anyOf"]: [existing, propertySchema] };
125
126
  }
126
127
  }
127
- // Only names required by EVERY branch stay required; a name required by one
128
- // branch alone would reject payloads the union accepts. Root-level `required`
129
- // applies to all branches, so it is unioned back in.
128
+ // Unions require only branch-common names; intersections require every branch's
129
+ // names. Root-level required always applies.
130
130
  const rootRequired = Array.isArray(schema.required)
131
131
  ? schema.required.filter((name) => typeof name === "string")
132
132
  : [];
@@ -137,8 +137,15 @@ function mergeRootObjectUnion(schema) {
137
137
  const commonBranchRequired = firstBranchRequired
138
138
  ? [...firstBranchRequired].filter((name) => branchRequiredSets.every((names) => names.has(name)))
139
139
  : [];
140
- const required = [...new Set([...rootRequired, ...commonBranchRequired])];
141
- const { anyOf: _anyOf, oneOf: _oneOf, ...rest } = schema;
140
+ const required = [
141
+ ...new Set([
142
+ ...rootRequired,
143
+ ...(selected === "allOf" ? branchRequiredSets.flatMap((names) => [...names]) : commonBranchRequired),
144
+ ]),
145
+ ];
146
+ const rest = { ...schema };
147
+ for (const key of combiner ? [combiner] : ["anyOf", "oneOf"])
148
+ delete rest[key];
142
149
  return {
143
150
  ...rest,
144
151
  type: "object",
@@ -230,6 +237,18 @@ export function normalizeToolParametersForMoonshot(schema) {
230
237
  export function resolveRootObjectSchema(schema) {
231
238
  return mergeRootObjectUnion(structuredClone(schema)) ?? schema;
232
239
  }
240
+ /** Bedrock Converse rejects root combiners, including allOf, even with an object type (#1947). */
241
+ export function normalizeToolParametersForBedrock(schema) {
242
+ let normalized = structuredClone(schema);
243
+ for (const combiner of COMBINER_KEYS) {
244
+ const branches = normalized[combiner];
245
+ if (Array.isArray(branches)) {
246
+ normalized[combiner] = branches.map((branch) => isJsonObject(branch) ? normalizeToolParametersForBedrock(branch) : branch);
247
+ }
248
+ normalized = mergeRootObjectUnion(normalized, combiner) ?? normalized;
249
+ }
250
+ return { type: "object", ...normalized };
251
+ }
233
252
  function stripMoonshotAnnotations(node) {
234
253
  if (Array.isArray(node)) {
235
254
  return node.map((child) => stripMoonshotAnnotations(child));
@@ -0,0 +1,85 @@
1
+ import type { Context, Message, SystemMessage, Tool, ToolReference, TranscriptContext } from "../types.ts";
2
+ export type { TranscriptContext } from "../types.ts";
3
+ /**
4
+ * Build the leading system message for a prompt and tool set. Returns undefined when
5
+ * both are empty, so an empty transcript stays empty.
6
+ */
7
+ export declare function createInitialSystemMessage(systemPrompt: string | undefined, tools: Tool[] | undefined): SystemMessage | undefined;
8
+ /**
9
+ * Fold `Context.systemPrompt` and `Context.tools` into a leading system message.
10
+ * This is the only entry point that produces a {@link TranscriptContext}; every
11
+ * provider-facing function expects the result. `Context.activeToolNames` is carried
12
+ * over unchanged (senpi#2095 allowed-tools): it has no system-message representation.
13
+ */
14
+ export declare function normalizeContext(context: Context): TranscriptContext;
15
+ /**
16
+ * Any message list. The replay helpers only read entries whose role is `"system"`, so
17
+ * agent transcripts that carry custom message roles can be passed without filtering.
18
+ */
19
+ export type TranscriptMessages = readonly {
20
+ role: string;
21
+ }[];
22
+ /** Return the leading system message, if the transcript starts with one. */
23
+ export declare function getInitialSystemMessage(messages: TranscriptMessages): SystemMessage | undefined;
24
+ /** Drop the leading system message for APIs that carry the prompt outside the message list. */
25
+ export declare function withoutInitialSystemMessage(messages: Message[]): Message[];
26
+ /** Resolve the tools available after applying every transcript delta in order. */
27
+ export declare function getCurrentTools(messages: TranscriptMessages): Tool[];
28
+ /**
29
+ * Replay every system message into one leading system message holding the current
30
+ * prompt and tools. Later `content` is appended to the base prompt, `sections` are
31
+ * patched by name, and tools are resolved with {@link getCurrentTools}.
32
+ */
33
+ export declare function getCurrentSystemMessage(messages: TranscriptMessages): SystemMessage | undefined;
34
+ /** Render the current system prompt text after replaying every system message. */
35
+ export declare function getCurrentSystemPrompt(messages: TranscriptMessages): string;
36
+ /**
37
+ * Rebuild the transcript for APIs without mid-conversation system messages: the replayed
38
+ * system message leads, and every later system message is dropped.
39
+ */
40
+ export declare function collapseSystemMessages(context: TranscriptContext): TranscriptContext;
41
+ /** Keep later system messages in place when the model accepts them; otherwise collapse them. */
42
+ export declare function resolveTranscript(context: TranscriptContext, supportsMidConvoSystemMessages: boolean | undefined): TranscriptContext;
43
+ /** Strip executable and display-only fields from a tool before transcript comparison or persistence. */
44
+ export declare function toToolDeclaration(tool: Tool): Tool;
45
+ /**
46
+ * Whether two tools declare the same interface to the model.
47
+ *
48
+ * Both sides go through {@link toToolDeclaration} first: its JSON round-trip drops the
49
+ * typebox symbol keys and `undefined` fields that a structural comparison would see, and
50
+ * builds both objects with the same key order, so comparing the serialized declarations
51
+ * is exact. This avoids a deep-equal dependency in a browser-safe package.
52
+ */
53
+ export declare function declarationsEqual(left: Tool, right: Tool): boolean;
54
+ export interface ToolStateChanges {
55
+ toolsAdded: Tool[];
56
+ toolsRemoved: ToolReference[];
57
+ }
58
+ /** Compare two complete tool states. A changed definition is a removal followed by an addition. */
59
+ export declare function getToolStateChanges(previous: readonly Tool[], current: readonly Tool[]): ToolStateChanges;
60
+ /** Every definition referenced by transcript tool state, in first-declaration order. */
61
+ export declare function getDeclaredTools(messages: TranscriptMessages): Tool[];
62
+ /**
63
+ * Whether a tool name was declared twice with different definitions. Transports that
64
+ * reference tools by name (Anthropic `tool_addition`/`tool_removal`) cannot express that.
65
+ */
66
+ export declare function hasToolRedefinitions(messages: TranscriptMessages): boolean;
67
+ /** Whether tool history contains a removal or same-name redeclaration that an addition-only transport cannot replay. */
68
+ export declare function hasNonAdditiveToolChanges(messages: TranscriptMessages): boolean;
69
+ export interface TranscriptTools {
70
+ /** Tools sent in the top-level request field. */
71
+ requestTools: Tool[];
72
+ /**
73
+ * Whether later system messages carry their own `toolsAdded` as in-place additions.
74
+ * When false, `requestTools` already holds the complete current tool set.
75
+ */
76
+ anchorsAdditions: boolean;
77
+ }
78
+ /**
79
+ * Split tool declarations between the top-level request field and in-place additions.
80
+ * Transports that can anchor additions at a system message keep the initial tools at the
81
+ * top and load later ones where they appear; that only works when no tool was removed or
82
+ * redeclared, so everything else sends the current tool list.
83
+ */
84
+ export declare function resolveTranscriptTools(messages: TranscriptMessages, supportsToolAdditions: boolean): TranscriptTools;
85
+ //# sourceMappingURL=transcript.d.ts.map