thursday-agent 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -2
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +5 -5
  5. package/.next/routes-manifest.json +24 -6
  6. package/.next/server/app/_global-error/page.js +2 -2
  7. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +2 -2
  11. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page.js +2 -2
  15. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +14 -14
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
  21. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/.next/server/app/api/artifact/route.js +3 -3
  23. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/memory/files/route/app-paths-manifest.json +3 -0
  25. package/.next/server/app/api/bot/memory/files/route.js +10 -0
  26. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -0
  27. package/.next/server/app/api/bot/memory/files/route_client-reference-manifest.js +3 -0
  28. package/.next/server/app/api/bot/memory/route/app-paths-manifest.json +3 -0
  29. package/.next/server/app/api/bot/memory/route.js +14 -0
  30. package/.next/server/app/api/bot/{notes → memory}/route.js.nft.json +1 -1
  31. package/.next/server/app/api/bot/memory/route_client-reference-manifest.js +3 -0
  32. package/.next/server/app/api/bot/route.js +6 -6
  33. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  34. package/.next/server/app/api/bot/task/[id]/route.js +8 -8
  35. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  36. package/.next/server/app/api/bot/task/route.js +8 -8
  37. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  38. package/.next/server/app/api/config/route.js +5 -5
  39. package/.next/server/app/api/config/route.js.nft.json +1 -1
  40. package/.next/server/app/api/events/route.js +4 -5
  41. package/.next/server/app/api/events/route.js.nft.json +1 -1
  42. package/.next/server/app/api/file/[...path]/route.js +3 -3
  43. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/catalog/route.js +9 -8
  45. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  46. package/.next/server/app/api/llm-model/credits/route/app-paths-manifest.json +3 -0
  47. package/.next/server/app/api/llm-model/credits/route/build-manifest.json +12 -0
  48. package/.next/server/app/api/llm-model/credits/route/server-reference-manifest.json +4 -0
  49. package/.next/server/app/api/llm-model/credits/route.js +16 -0
  50. package/.next/server/app/api/llm-model/credits/route.js.map +5 -0
  51. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -0
  52. package/.next/server/app/api/llm-model/credits/route_client-reference-manifest.js +3 -0
  53. package/.next/server/app/api/llm-model/route.js +10 -8
  54. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  55. package/.next/server/app/api/llm-model/subscription/route/app-paths-manifest.json +3 -0
  56. package/.next/server/app/api/llm-model/subscription/route/build-manifest.json +12 -0
  57. package/.next/server/app/api/llm-model/subscription/route/server-reference-manifest.json +4 -0
  58. package/.next/server/app/api/llm-model/subscription/route.js +15 -0
  59. package/.next/server/app/api/llm-model/subscription/route.js.map +5 -0
  60. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -0
  61. package/.next/server/app/api/llm-model/subscription/route_client-reference-manifest.js +3 -0
  62. package/.next/server/app/api/mcp/[name]/route.js +4 -4
  63. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/mcp/oauth/callback/route.js +5 -5
  65. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  66. package/.next/server/app/api/mcp/route.js +4 -4
  67. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  68. package/.next/server/app/api/mcp/tools/route.js +4 -4
  69. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  70. package/.next/server/app/api/memory/edit/route/app-paths-manifest.json +3 -0
  71. package/.next/server/app/api/memory/edit/route/build-manifest.json +12 -0
  72. package/.next/server/app/api/memory/edit/route/server-reference-manifest.json +4 -0
  73. package/.next/server/app/api/memory/edit/route.js +24 -0
  74. package/.next/server/app/api/memory/edit/route.js.map +5 -0
  75. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -0
  76. package/.next/server/app/api/memory/{tidy → edit}/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/memory/route.js +6 -7
  78. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  79. package/.next/server/app/api/skills/[source]/[name]/route.js +3 -3
  80. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  81. package/.next/server/app/api/skills/route.js +3 -3
  82. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  83. package/.next/server/app/api/thursday/call/route.js +9 -7
  84. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  85. package/.next/server/app/api/thursday/skills/route.js +9 -7
  86. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  87. package/.next/server/app/api/thursday/tool-call/route.js +17 -15
  88. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  89. package/.next/server/app/api/workspace/route.js +4 -5
  90. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  91. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  92. package/.next/server/app/artifact/[...path]/page.js +5 -6
  93. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  94. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/favicon.ico/route.js +3 -4
  96. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  97. package/.next/server/app/favicon.ico.body +0 -0
  98. package/.next/server/app/page/server-reference-manifest.json +57 -90
  99. package/.next/server/app/page.js +10 -10
  100. package/.next/server/app/page.js.nft.json +1 -1
  101. package/.next/server/app/page_client-reference-manifest.js +1 -1
  102. package/.next/server/app-paths-manifest.json +5 -2
  103. package/.next/server/chunks/[externals]__0dzuk6_._.js +3 -0
  104. package/.next/server/chunks/[root-of-the-server]__01dkp4a._.js +3 -0
  105. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +1 -1
  106. package/.next/server/chunks/[root-of-the-server]__02xjoto._.js +3 -0
  107. package/.next/server/chunks/[root-of-the-server]__04q--0f._.js +8 -0
  108. package/.next/server/chunks/[root-of-the-server]__0bl-e63._.js +3 -0
  109. package/.next/server/chunks/[root-of-the-server]__0ce8nf8._.js +5 -0
  110. package/.next/server/chunks/[root-of-the-server]__0ffbg85._.js +3 -0
  111. package/.next/server/chunks/[root-of-the-server]__0j7z0r3._.js +12 -0
  112. package/.next/server/chunks/[root-of-the-server]__0jq4ohy._.js +8 -0
  113. package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +8 -0
  114. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +3 -0
  115. package/.next/server/chunks/[root-of-the-server]__0pa2n68._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__0q0vvt2._.js +5 -0
  117. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +5 -0
  118. package/.next/server/chunks/[root-of-the-server]__11n256_._.js +5 -0
  119. package/.next/server/chunks/[root-of-the-server]__12cabg9._.js +3 -0
  120. package/.next/server/chunks/[root-of-the-server]__1339jnv._.js +8 -0
  121. package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js +5 -0
  122. package/.next/server/chunks/[root-of-the-server]__18_teo8._.js +8 -0
  123. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +5 -0
  124. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +3 -0
  125. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +5 -5
  126. package/.next/server/chunks/[root-of-the-server]__1fizn31._.js +3 -0
  127. package/.next/server/chunks/[root-of-the-server]__1llj3-b._.js +3 -0
  128. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +11 -0
  129. package/.next/server/chunks/[root-of-the-server]__1p8m3f4._.js +3 -0
  130. package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +8 -0
  131. package/.next/server/chunks/_0-73of8._.js +5 -5
  132. package/.next/server/chunks/_0-fjql4._.js +26 -0
  133. package/.next/server/chunks/_00xh_q0._.js +27 -0
  134. package/.next/server/chunks/{_0pppbb5._.js → _03kp0jp._.js} +163 -36
  135. package/.next/server/chunks/_051qh8u._.js +3 -0
  136. package/.next/server/chunks/{node_modules_next_04q-o58._.js → _05dla15._.js} +2 -2
  137. package/.next/server/chunks/_05h2cii._.js +1 -1
  138. package/.next/server/chunks/_0c9j6rb._.js +49 -0
  139. package/.next/server/chunks/_0fzqt2y._.js +130 -0
  140. package/.next/server/chunks/{_0vnutv9._.js → _0ioz3nd._.js} +1 -1
  141. package/.next/server/chunks/_0iwfby5._.js +3 -0
  142. package/.next/server/chunks/_0mecv0f._.js +26 -0
  143. package/.next/server/chunks/_0mh8j4m._.js +3 -0
  144. package/.next/server/chunks/_0n74zsf._.js +4 -4
  145. package/.next/server/chunks/_0obojvv._.js +3 -0
  146. package/.next/server/chunks/_0recufk._.js +49 -0
  147. package/.next/server/chunks/_0rnf-6n._.js +4 -4
  148. package/.next/server/chunks/_0sb7tlz._.js +3 -0
  149. package/.next/server/chunks/_0u10wmw._.js +5 -5
  150. package/.next/server/chunks/_0u4aiy2._.js +3 -0
  151. package/.next/server/chunks/_0wp4le3._.js +1 -1
  152. package/.next/server/chunks/_0y5fg-x._.js +1 -1
  153. package/.next/server/chunks/_1230wbx._.js +10 -0
  154. package/.next/server/chunks/_12nheja._.js +3 -0
  155. package/.next/server/chunks/_13510xh._.js +3 -0
  156. package/.next/server/chunks/_15hq89o._.js +1 -1
  157. package/.next/server/chunks/_17l5ygt._.js +49 -0
  158. package/.next/server/chunks/_18-1wcc._.js +5 -5
  159. package/.next/server/chunks/_1_5mnq4._.js +4 -4
  160. package/.next/server/chunks/_1_9mjx-._.js +3 -0
  161. package/.next/server/chunks/_1d0j961._.js +6 -0
  162. package/.next/server/chunks/_1d5zmy8._.js +1 -1
  163. package/.next/server/chunks/_1drgfx4._.js +4 -4
  164. package/.next/server/chunks/_1f46eie._.js +3 -0
  165. package/.next/server/chunks/_1h5_8sk._.js +3 -0
  166. package/.next/server/chunks/_1hdnxb7._.js +3 -0
  167. package/.next/server/chunks/_1j8k_j5._.js +3 -0
  168. package/.next/server/chunks/_1krd9rf._.js +3 -0
  169. package/.next/server/chunks/_1nc0eui._.js +11 -0
  170. package/.next/server/chunks/_1nula3v._.js +3 -0
  171. package/.next/server/chunks/_1pf4qe-._.js +3 -0
  172. package/.next/server/chunks/_1php4eq._.js +1 -1
  173. package/.next/server/chunks/_1qxheoa._.js +3 -0
  174. package/.next/server/chunks/_1x6kd1r._.js +3 -0
  175. package/.next/server/chunks/_1yuv4vp._.js +1 -1
  176. package/.next/server/chunks/_1zjrdag._.js +3 -0
  177. package/.next/server/chunks/_next-internal_server_app_api_bot_memory_files_route_actions_1_xd_8f.js +3 -0
  178. package/.next/server/chunks/_next-internal_server_app_api_bot_memory_route_actions_1a8xfr7.js +3 -0
  179. package/.next/server/chunks/_next-internal_server_app_api_llm-model_credits_route_actions_0v424pb.js +3 -0
  180. package/.next/server/chunks/_next-internal_server_app_api_llm-model_subscription_route_actions_0-udcm5.js +3 -0
  181. package/.next/server/chunks/_next-internal_server_app_api_memory_edit_route_actions_02sfnmr.js +3 -0
  182. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  183. package/.next/server/chunks/features_0rpfxbk._.js +3 -0
  184. package/.next/server/chunks/features_1qf3cei._.js +3 -0
  185. package/.next/server/chunks/features_bot_0zt92oh._.js +3 -0
  186. package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +3 -0
  187. package/.next/server/chunks/features_memory_1uqvksn._.js +6 -0
  188. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0a1rd09._.js → node_modules_consola_dist_chunks_prompt_mjs_0i7cvml._.js} +1 -1
  189. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_06067w6._.js → node_modules_consola_dist_chunks_prompt_mjs_0icqaqw._.js} +1 -1
  190. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_096ais_._.js → node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js} +1 -1
  191. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_02s3hjt._.js → node_modules_consola_dist_chunks_prompt_mjs_0v_7drq._.js} +1 -1
  192. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js +3 -0
  193. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0tvkfgh._.js → node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js} +1 -1
  194. package/.next/server/chunks/ssr/[root-of-the-server]__09q9med._.js +1 -1
  195. package/.next/server/chunks/ssr/{[root-of-the-server]__1qfqvmg._.js → [root-of-the-server]__0_69wqr._.js} +2 -2
  196. package/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js +1 -1
  197. package/.next/server/chunks/ssr/[root-of-the-server]__0i8ie7f._.js +3 -0
  198. package/.next/server/chunks/ssr/{[root-of-the-server]__0jsmmb-._.js → [root-of-the-server]__0mz33a7._.js} +1 -1
  199. package/.next/server/chunks/ssr/[root-of-the-server]__0tbkdlx._.js +3 -0
  200. package/.next/server/chunks/ssr/[root-of-the-server]__0vnmv-s._.js +3 -0
  201. package/.next/server/chunks/ssr/{[root-of-the-server]__0f6s48x._.js → [root-of-the-server]__0xpcv9w._.js} +3 -3
  202. package/.next/server/chunks/ssr/[root-of-the-server]__0xtssj3._.js +1 -1
  203. package/.next/server/chunks/ssr/[root-of-the-server]__0zkv7z_._.js +3 -0
  204. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +57 -0
  205. package/.next/server/chunks/ssr/[root-of-the-server]__15_uhip._.js +3 -0
  206. package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
  207. package/.next/server/chunks/ssr/{[root-of-the-server]__0m1b5ky._.js → [root-of-the-server]__1cyjywu._.js} +1 -1
  208. package/.next/server/chunks/ssr/[root-of-the-server]__1eh7hid._.js +3 -0
  209. package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +43 -0
  210. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  211. package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +4 -0
  212. package/.next/server/chunks/ssr/[root-of-the-server]__1pduf5n._.js +3 -0
  213. package/.next/server/chunks/ssr/{_1mznrxk._.js → _001_ms1._.js} +3 -3
  214. package/.next/server/chunks/ssr/_01_6m32._.js +3 -0
  215. package/.next/server/chunks/ssr/_01n3o0m._.js +3 -0
  216. package/.next/server/chunks/ssr/_07uchnc._.js +3 -0
  217. package/.next/server/chunks/ssr/_0ap2fzn._.js +3 -0
  218. package/.next/server/chunks/ssr/_0c-ql2m._.js +3 -0
  219. package/.next/server/chunks/ssr/_0h42fze._.js +3 -0
  220. package/.next/server/chunks/ssr/_0h7zdni._.js +1 -1
  221. package/.next/server/chunks/ssr/_0i_6q1w._.js +41 -0
  222. package/.next/server/chunks/ssr/_0kbkmar._.js +3 -0
  223. package/.next/server/chunks/ssr/{_077-g6s._.js → _0mb8zc8._.js} +3 -3
  224. package/.next/server/chunks/ssr/_0mo2w06._.js +3 -0
  225. package/.next/server/chunks/ssr/{_13punpm._.js → _0q0zan6._.js} +2 -2
  226. package/.next/server/chunks/ssr/{_040sk32._.js → _0u2jv_x._.js} +76 -82
  227. package/.next/server/chunks/ssr/_0y0tiht._.js +4 -0
  228. package/.next/server/chunks/ssr/_0zhoc3r._.js +3 -0
  229. package/.next/server/chunks/ssr/_1-teee5._.js +3 -3
  230. package/.next/server/chunks/ssr/_13fke0x._.js +3 -0
  231. package/.next/server/chunks/ssr/{_1lip4th._.js → _13z3f85._.js} +2 -2
  232. package/.next/server/chunks/ssr/_14_lw10._.js +3 -0
  233. package/.next/server/chunks/ssr/_15j2_8f._.js +3 -0
  234. package/.next/server/chunks/ssr/{_09ja_w1._.js → _1eoqg_g._.js} +2 -2
  235. package/.next/server/chunks/ssr/_1sji22n._.js +3 -0
  236. package/.next/server/chunks/ssr/_1spzm8z._.js +3 -0
  237. package/.next/server/chunks/ssr/{_0x_nu5e._.js → _1vi_uo7._.js} +2 -2
  238. package/.next/server/chunks/ssr/_1vyd1ji._.js +1 -1
  239. package/.next/server/chunks/ssr/{_1m3bsfr._.js → _1xvgn77._.js} +2 -2
  240. package/.next/server/chunks/ssr/_20kd_n0._.js +42 -0
  241. package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +3 -0
  242. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  243. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  244. package/.next/server/chunks/ssr/lib_date-like_ts_02is0pw._.js +3 -0
  245. package/.next/server/chunks/ssr/{node_modules_18_dk7_._.js → node_modules_063xwpp._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_01qnv-a._.js → node_modules_0bvraul._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_0n1kj4p._.js → node_modules_0eu1va6._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_0kl7-tn._.js → node_modules_0h50b8n._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_0_n241r._.js → node_modules_0h5hnr1._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_0lrjk5t._.js → node_modules_0h7u60n._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_0ndvxub._.js → node_modules_0lm7_vm._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_13r44jq._.js → node_modules_0mwym0g._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_17lrt3y._.js → node_modules_0rjg6t1._.js} +1 -1
  254. package/.next/server/chunks/ssr/node_modules_0x3-ply._.js +3 -0
  255. package/.next/server/chunks/ssr/{node_modules_004qlr4._.js → node_modules_0y_cded._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_0kxz4gt._.js → node_modules_0z5tsu8._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_0iz1rzd._.js → node_modules_0zp9r92._.js} +1 -1
  258. package/.next/server/chunks/ssr/{node_modules_19dp7ko._.js → node_modules_1-hc6uv._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_1q0p85z._.js → node_modules_113tz0l._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_1toafc-._.js → node_modules_124bue5._.js} +1 -1
  261. package/.next/server/chunks/ssr/node_modules_17bwo43._.js +55 -0
  262. package/.next/server/chunks/ssr/{node_modules_08d8bke._.js → node_modules_1_n3ztw._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_1dwguw_._.js → node_modules_1bc7gu8._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_20yebtj._.js → node_modules_1bgb6-f._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_1n5ygqe._.js → node_modules_1h4a4pp._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_04n7mjs._.js → node_modules_1i7u1ia._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_1hn8z1f._.js → node_modules_1juq3hs._.js} +1 -1
  268. package/.next/server/chunks/ssr/{node_modules_1xyd7ov._.js → node_modules_1l0qtdu._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_0m93zeg._.js → node_modules_1t9cyee._.js} +1 -1
  270. package/.next/server/chunks/ssr/{node_modules_09xhur7._.js → node_modules_1uuj9x1._.js} +1 -1
  271. package/.next/server/chunks/ssr/{node_modules_1hd-5tv._.js → node_modules_1vqb6po._.js} +1 -1
  272. package/.next/server/chunks/ssr/{node_modules_1zu988w._.js → node_modules_1xx28h1._.js} +1 -1
  273. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m9a4y0._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0d3skpl._.js} +1 -1
  274. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_13w_wy9._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i44kk5._.js} +1 -1
  275. package/.next/server/chunks/ssr/node_modules_@vercel_oidc_dist_0qe30a_._.js +3 -0
  276. package/.next/server/chunks/ssr/{node_modules_next_dist_0w6mzq5._.js → node_modules_next_dist_0drixxt._.js} +4 -4
  277. package/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +2 -2
  278. package/.next/server/instrumentation.js +1 -1
  279. package/.next/server/middleware-build-manifest.js +3 -3
  280. package/.next/server/pages/404.html +1 -1
  281. package/.next/server/pages/500.html +1 -1
  282. package/.next/server/server-reference-manifest.js +1 -1
  283. package/.next/server/server-reference-manifest.json +58 -91
  284. package/.next/static/chunks/{31ttnjt6g35a0.js → 0ev4hyghq0mbb.js} +1 -1
  285. package/.next/static/chunks/0r5qcctujhxli.js +1 -0
  286. package/.next/static/chunks/0tmgrnlje14-s.js +3 -0
  287. package/.next/static/chunks/0x79tx04dxbpp.js +1 -0
  288. package/.next/static/chunks/0xzgvc0fkdb6t.js +1 -0
  289. package/.next/static/chunks/10teww7wt-f6h.js +1 -0
  290. package/.next/static/chunks/14hgtsjg-kael.css +1 -0
  291. package/.next/static/chunks/17donp69y4do7.js +40 -0
  292. package/.next/static/chunks/{3_h9txt3tq8t8.js → 1dkjg87pxk0n9.js} +1 -1
  293. package/.next/static/chunks/1ekc7ul556kbl.js +1 -0
  294. package/.next/static/chunks/{3ard_noqapnw1.js → 1grhjo7a5a0_-.js} +1 -1
  295. package/.next/static/chunks/1kq8h8wi_e0bc.js +53 -0
  296. package/.next/static/chunks/1okqiww3pnwka.js +1 -0
  297. package/.next/static/chunks/26-pr2c9ro222.js +1 -0
  298. package/.next/static/chunks/{18vhba44l1fc9.js → 280t0_e99i276.js} +1 -1
  299. package/.next/static/chunks/28cizcdaabd4h.js +1 -0
  300. package/.next/static/chunks/2a0k6jlq0_v1u.js +2 -0
  301. package/.next/static/chunks/2fzs9fm8yarvq.js +1 -0
  302. package/.next/static/chunks/2h0sd2vumhb15.js +1 -0
  303. package/.next/static/chunks/2hw2f6zmt7fmt.js +1 -0
  304. package/.next/static/chunks/2t4vhi3m8ahya.js +1 -0
  305. package/.next/static/chunks/2tigdtz3dpcy8.js +1 -0
  306. package/.next/static/chunks/3111pj5wnjgos.js +1 -0
  307. package/.next/static/chunks/{07kl352c-lvcz.js → 3agpgkwaa321p.js} +1 -1
  308. package/.next/static/chunks/3cfi_q6d_wtci.js +1 -0
  309. package/.next/static/chunks/3ok9_x74rip3v.js +1 -0
  310. package/.next/static/chunks/3xk7yqgomx7yq.js +1 -0
  311. package/.next/static/chunks/3xpbkl66ssib5.js +38 -0
  312. package/.next/static/media/favicon.37o1pjldwi2uc.ico +0 -0
  313. package/README.md +6 -4
  314. package/app/api/bot/memory/files/route.ts +14 -0
  315. package/app/api/bot/memory/route.ts +5 -0
  316. package/app/api/events/app-event.ts +3 -5
  317. package/app/api/llm-model/credits/route.ts +11 -0
  318. package/app/api/llm-model/route.ts +6 -1
  319. package/app/api/llm-model/subscription/route.ts +11 -0
  320. package/app/api/memory/edit/route.ts +7 -0
  321. package/app/api/memory/route.ts +21 -0
  322. package/app/api/query-key.ts +19 -4
  323. package/bin/thursday.mjs +3 -0
  324. package/components/ui/shiny-text.tsx +48 -134
  325. package/database/migrations/{20260909060813_optimal_sabretooth → 20260910173049_numerous_spirit}/migration.sql +24 -34
  326. package/database/migrations/{20260909060813_optimal_sabretooth → 20260910173049_numerous_spirit}/snapshot.json +71 -145
  327. package/database/migrations/20260911030320_opposite_jack_power/migration.sql +1 -0
  328. package/database/migrations/{20260909063821_bitter_tenebrous → 20260911030320_opposite_jack_power}/snapshot.json +57 -184
  329. package/features/ai/chatgpt.ts +617 -0
  330. package/features/ai/components/chatgpt-sign-in.tsx +66 -0
  331. package/features/ai/components/model-picker.tsx +17 -1
  332. package/features/ai/components/provider-icon.tsx +1 -0
  333. package/features/ai/load-tools.ts +58 -42
  334. package/features/ai/model.schema.ts +232 -34
  335. package/features/ai/model.ts +169 -24
  336. package/features/ai/prompts/bot.prompt.ts +156 -65
  337. package/features/ai/prompts/memory-edit.prompt.ts +33 -0
  338. package/features/ai/prompts/prompt-helper.ts +45 -26
  339. package/features/ai/prompts/thursday.prompt.ts +40 -17
  340. package/features/ai/tools/bot.tool.ts +35 -52
  341. package/features/ai/tools/connected.ts +17 -4
  342. package/features/ai/tools/memory.tool.ts +133 -72
  343. package/features/ai/tools/search.tool.ts +136 -47
  344. package/features/ai/tools/tool-name.ts +2 -5
  345. package/features/ai/tools/workspace.tool.ts +2 -1
  346. package/features/bot/bot.action.ts +8 -18
  347. package/features/bot/bot.memory.ts +89 -0
  348. package/features/bot/bot.query.ts +37 -57
  349. package/features/bot/bot.run.ts +507 -241
  350. package/features/bot/bot.runner.ts +410 -114
  351. package/features/bot/bot.schema.ts +79 -19
  352. package/features/bot/bot.seed.ts +89 -16
  353. package/features/bot/components/bot-mark.tsx +122 -20
  354. package/features/bot/components/bot-room.tsx +159 -130
  355. package/features/bot/components/bot-setting.tsx +790 -402
  356. package/features/bot/components/bot-tool.tsx +2 -6
  357. package/features/bot/components/mark-palette.tsx +54 -0
  358. package/features/bot/components/path-chips.tsx +1 -1
  359. package/features/bot/components/task-badge.tsx +26 -6
  360. package/features/bot/components/task-reply.tsx +22 -33
  361. package/features/bot/components/task-setting.tsx +20 -17
  362. package/features/bot/task.query.ts +215 -28
  363. package/features/bot/task.store.ts +53 -9
  364. package/features/config/components/config-setting.tsx +265 -34
  365. package/features/config/components/models-badge.tsx +42 -0
  366. package/features/config/config.action.ts +12 -0
  367. package/features/config/config.const.ts +38 -2
  368. package/features/connectors/mcp.manager.ts +10 -2
  369. package/features/intro/components/intro.tsx +47 -46
  370. package/features/memory/components/memory-edit.tsx +338 -0
  371. package/features/memory/components/memory-setting.tsx +75 -77
  372. package/features/memory/memory.action.ts +3 -43
  373. package/features/memory/memory.edit.ts +87 -0
  374. package/features/memory/memory.query.ts +24 -42
  375. package/features/memory/memory.schema.ts +29 -106
  376. package/features/settings/components/settings.tsx +2 -0
  377. package/features/settings/settings.alert.ts +3 -1
  378. package/features/thursday/components/ascii-orb.tsx +106 -90
  379. package/features/thursday/components/boot.tsx +7 -0
  380. package/features/thursday/components/call-log.tsx +219 -92
  381. package/features/thursday/components/face.tsx +6 -4
  382. package/features/thursday/components/tab-state.tsx +97 -0
  383. package/features/thursday/components/thursday-mark.tsx +4 -1
  384. package/features/thursday/components/thursday-setting.tsx +17 -47
  385. package/features/thursday/components/thursday.tsx +208 -95
  386. package/features/thursday/thursday.action.ts +12 -17
  387. package/features/thursday/thursday.query.ts +61 -70
  388. package/features/thursday/thursday.schema.ts +20 -7
  389. package/features/thursday/tool-line.ts +85 -11
  390. package/features/thursday/use-thursday.ts +86 -59
  391. package/features/workspace/components/file-view.tsx +4 -2
  392. package/features/workspace/workspace.ts +110 -26
  393. package/lib/limits.ts +1 -1
  394. package/lib/oauth-page.ts +27 -0
  395. package/lib/realtime/openai.ts +2 -2
  396. package/lib/realtime/realtime.protocol.ts +1 -1
  397. package/lib/realtime/realtime.tap.ts +122 -0
  398. package/lib/sandbox.ts +59 -36
  399. package/package.json +1 -1
  400. package/skills/browser/SKILL.md +55 -34
  401. package/.next/server/app/api/bot/notes/route/app-paths-manifest.json +0 -3
  402. package/.next/server/app/api/bot/notes/route.js +0 -14
  403. package/.next/server/app/api/bot/notes/route_client-reference-manifest.js +0 -3
  404. package/.next/server/app/api/memory/tidy/route/app-paths-manifest.json +0 -3
  405. package/.next/server/app/api/memory/tidy/route.js +0 -22
  406. package/.next/server/app/api/memory/tidy/route.js.nft.json +0 -1
  407. package/.next/server/chunks/0d-b_next_dist_server_app-render_after-task-async-storage_external_0-exn7p.js +0 -3
  408. package/.next/server/chunks/[root-of-the-server]__0-npkh_._.js +0 -3
  409. package/.next/server/chunks/[root-of-the-server]__005var5._.js +0 -3
  410. package/.next/server/chunks/[root-of-the-server]__019dx9f._.js +0 -5
  411. package/.next/server/chunks/[root-of-the-server]__02_2sm-._.js +0 -5
  412. package/.next/server/chunks/[root-of-the-server]__04_8spk._.js +0 -3
  413. package/.next/server/chunks/[root-of-the-server]__05luceg._.js +0 -3
  414. package/.next/server/chunks/[root-of-the-server]__06t77t4._.js +0 -11
  415. package/.next/server/chunks/[root-of-the-server]__0bed6hu._.js +0 -8
  416. package/.next/server/chunks/[root-of-the-server]__0cro2dz._.js +0 -5
  417. package/.next/server/chunks/[root-of-the-server]__0dupqt7._.js +0 -5
  418. package/.next/server/chunks/[root-of-the-server]__0emr6go._.js +0 -3
  419. package/.next/server/chunks/[root-of-the-server]__0le4d-p._.js +0 -3
  420. package/.next/server/chunks/[root-of-the-server]__0m8ywyo._.js +0 -10
  421. package/.next/server/chunks/[root-of-the-server]__0nfuugi._.js +0 -5
  422. package/.next/server/chunks/[root-of-the-server]__0p32jfz._.js +0 -12
  423. package/.next/server/chunks/[root-of-the-server]__0phdgco._.js +0 -8
  424. package/.next/server/chunks/[root-of-the-server]__0wvgrsl._.js +0 -3
  425. package/.next/server/chunks/[root-of-the-server]__10qshki._.js +0 -3
  426. package/.next/server/chunks/[root-of-the-server]__11j52t0._.js +0 -5
  427. package/.next/server/chunks/[root-of-the-server]__1692zrv._.js +0 -3
  428. package/.next/server/chunks/[root-of-the-server]__16thabu._.js +0 -3
  429. package/.next/server/chunks/[root-of-the-server]__173nhwf._.js +0 -8
  430. package/.next/server/chunks/[root-of-the-server]__1_aoyr9._.js +0 -3
  431. package/.next/server/chunks/[root-of-the-server]__1bn73ih._.js +0 -10
  432. package/.next/server/chunks/[root-of-the-server]__1bqhuh9._.js +0 -8
  433. package/.next/server/chunks/[root-of-the-server]__1cqizfq._.js +0 -5
  434. package/.next/server/chunks/[root-of-the-server]__1e-ci13._.js +0 -3
  435. package/.next/server/chunks/[root-of-the-server]__1fboj2j._.js +0 -3
  436. package/.next/server/chunks/[root-of-the-server]__1lr7j9t._.js +0 -5
  437. package/.next/server/chunks/[root-of-the-server]__1oli73c._.js +0 -3
  438. package/.next/server/chunks/[root-of-the-server]__1txedx6._.js +0 -8
  439. package/.next/server/chunks/[root-of-the-server]__1untqv8._.js +0 -5
  440. package/.next/server/chunks/[root-of-the-server]__1zgpz1w._.js +0 -3
  441. package/.next/server/chunks/_00_584r._.js +0 -293
  442. package/.next/server/chunks/_012yhfm._.js +0 -39
  443. package/.next/server/chunks/_06mxlgn._.js +0 -3
  444. package/.next/server/chunks/_07rtlxv._.js +0 -3
  445. package/.next/server/chunks/_0a351g7._.js +0 -6
  446. package/.next/server/chunks/_0kjjmag._.js +0 -3
  447. package/.next/server/chunks/_0nn99o2._.js +0 -3
  448. package/.next/server/chunks/_0zuzmt_._.js +0 -39
  449. package/.next/server/chunks/_106co2o._.js +0 -3
  450. package/.next/server/chunks/_12bbv5i._.js +0 -100
  451. package/.next/server/chunks/_15q1pig._.js +0 -3
  452. package/.next/server/chunks/_19wg5yn._.js +0 -138
  453. package/.next/server/chunks/_1bt95p9._.js +0 -55
  454. package/.next/server/chunks/_1cbk7ms._.js +0 -26
  455. package/.next/server/chunks/_1drv2et._.js +0 -40
  456. package/.next/server/chunks/_1ic3bew._.js +0 -5
  457. package/.next/server/chunks/_1mxn_lb._.js +0 -3
  458. package/.next/server/chunks/_1rysr-r._.js +0 -10
  459. package/.next/server/chunks/_1u3rwbr._.js +0 -3
  460. package/.next/server/chunks/_1x7p319._.js +0 -6
  461. package/.next/server/chunks/_next-internal_server_app_api_bot_notes_route_actions_0qcsyu7.js +0 -3
  462. package/.next/server/chunks/_next-internal_server_app_api_memory_tidy_route_actions_0_cfuom.js +0 -3
  463. package/.next/server/chunks/features_bot_task_query_ts_11xuzl3._.js +0 -3
  464. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js +0 -3
  465. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0vorg6w._.js +0 -3
  466. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1tpvamf._.js +0 -3
  467. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1vmaq9f._.js +0 -3
  468. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y9-wcr._.js +0 -3
  469. package/.next/server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js +0 -3
  470. package/.next/server/chunks/ssr/[root-of-the-server]__0iuoa-r._.js +0 -3
  471. package/.next/server/chunks/ssr/[root-of-the-server]__0un-erv._.js +0 -4
  472. package/.next/server/chunks/ssr/[root-of-the-server]__1-mnhyd._.js +0 -92
  473. package/.next/server/chunks/ssr/[root-of-the-server]__1bww500._.js +0 -3
  474. package/.next/server/chunks/ssr/[root-of-the-server]__1vcdast._.js +0 -3
  475. package/.next/server/chunks/ssr/[root-of-the-server]__1xwnu-h._.js +0 -3
  476. package/.next/server/chunks/ssr/_0-mc7ro._.js +0 -3
  477. package/.next/server/chunks/ssr/_01p5r6-._.js +0 -3
  478. package/.next/server/chunks/ssr/_03webdr._.js +0 -3
  479. package/.next/server/chunks/ssr/_09-0k3z._.js +0 -3
  480. package/.next/server/chunks/ssr/_0f_b_9s._.js +0 -3
  481. package/.next/server/chunks/ssr/_0fafgvl._.js +0 -3
  482. package/.next/server/chunks/ssr/_0sf1isi._.js +0 -3
  483. package/.next/server/chunks/ssr/_0su6_08._.js +0 -3
  484. package/.next/server/chunks/ssr/_0ti51xc._.js +0 -3
  485. package/.next/server/chunks/ssr/_0w5bgak._.js +0 -3
  486. package/.next/server/chunks/ssr/_0y84qo6._.js +0 -3
  487. package/.next/server/chunks/ssr/_1ciyoo3._.js +0 -3
  488. package/.next/server/chunks/ssr/_1e-dgz0._.js +0 -4
  489. package/.next/server/chunks/ssr/_1fq7zgb._.js +0 -3
  490. package/.next/server/chunks/ssr/_1g6l4uj._.js +0 -3
  491. package/.next/server/chunks/ssr/_1ruzehw._.js +0 -3
  492. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +0 -4
  493. package/.next/server/chunks/ssr/features_config_components_14jqgy4._.js +0 -3
  494. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +0 -4
  495. package/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_15fmmz3.js +0 -55
  496. package/.next/static/chunks/05b6nx_o3_f_n.js +0 -1
  497. package/.next/static/chunks/0dmns-gi0raa4.js +0 -1
  498. package/.next/static/chunks/0f9sq-7q_yxyl.js +0 -1
  499. package/.next/static/chunks/0oc4_xoia77dg.css +0 -1
  500. package/.next/static/chunks/0pheo8m3a-rzi.js +0 -1
  501. package/.next/static/chunks/19i8h2t-5evjx.js +0 -1
  502. package/.next/static/chunks/1c5fcj473025q.js +0 -1
  503. package/.next/static/chunks/1pi_hbmjw-f-z.js +0 -1
  504. package/.next/static/chunks/1twt6k09vg4np.js +0 -1
  505. package/.next/static/chunks/1ytnip8wdng93.js +0 -1
  506. package/.next/static/chunks/28gotuisldmom.js +0 -1
  507. package/.next/static/chunks/2998p0y7k1c8z.js +0 -3
  508. package/.next/static/chunks/29gyb3nubj51j.js +0 -53
  509. package/.next/static/chunks/2l233xfycjpd8.js +0 -1
  510. package/.next/static/chunks/2p5n7pa3c40t-.js +0 -2
  511. package/.next/static/chunks/2ru1q132af7h7.js +0 -1
  512. package/.next/static/chunks/2t8wqycwg3y04.js +0 -2
  513. package/.next/static/chunks/2uxum7qbyeyxd.js +0 -1
  514. package/.next/static/chunks/32z_ypgtchw48.js +0 -1
  515. package/.next/static/chunks/33pyjb3xd1iez.js +0 -1
  516. package/.next/static/chunks/3omud5xunrk1f.js +0 -1
  517. package/.next/static/chunks/42dnrkbph9e-1.js +0 -1
  518. package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  519. package/database/migrations/20260909063821_bitter_tenebrous/migration.sql +0 -1
  520. package/features/ai/prompts/memory-tidy.prompt.ts +0 -129
  521. package/features/ai/tools/tidy.tool.ts +0 -22
  522. package/features/bot/bot.notes.ts +0 -120
  523. package/features/memory/components/memory-tidy.tsx +0 -395
  524. package/features/memory/memory.tidy.ts +0 -332
  525. package/features/memory/tidy.query.ts +0 -135
  526. package/features/thursday/use-call-title.ts +0 -31
  527. /package/.next/server/app/api/bot/{notes → memory/files}/route/build-manifest.json +0 -0
  528. /package/.next/server/app/api/bot/{notes → memory/files}/route/server-reference-manifest.json +0 -0
  529. /package/.next/server/app/api/bot/{notes → memory/files}/route.js.map +0 -0
  530. /package/.next/server/app/api/{memory/tidy → bot/memory}/route/build-manifest.json +0 -0
  531. /package/.next/server/app/api/{memory/tidy → bot/memory}/route/server-reference-manifest.json +0 -0
  532. /package/.next/server/app/api/{memory/tidy → bot/memory}/route.js.map +0 -0
  533. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → x1cCqY0kWpR_VcYx_lWO5}/_buildManifest.js +0 -0
  534. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → x1cCqY0kWpR_VcYx_lWO5}/_clientMiddlewareManifest.js +0 -0
  535. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → x1cCqY0kWpR_VcYx_lWO5}/_ssgManifest.js +0 -0
@@ -0,0 +1,49 @@
1
+ module.exports=[656446,e=>e.a(async(t,o)=>{try{var a=e.i(666680);e.i(347299);var r=e.i(115737),n=e.i(68356),i=e.i(983477),l=e.i(469719);e.i(380690);var s=e.i(687388),u=e.i(340698),d=e.i(640911),p=e.i(53748),c=e.i(268486),m=e.i(41444),g=e.i(264079),h=t([u]);[u]=h.then?(await h)():h;let x="thursday",{apiKeyName:k,label:T}=g.TEXT_MODEL_PROVIDERS.chatgpt,S=`${T} is not signed in — sign in from Config.`,M=l.z.object({access:l.z.string().min(1),refresh:l.z.string().min(1),expires:l.z.number(),accountId:l.z.string().min(1),plan:l.z.string().nullable()}),C=globalThis,E=C.__chatgptRenewal??=(0,c.createKeyedLock)();async function f(e){let t=await fetch("https://auth.openai.com/oauth/token",{method:"POST",headers:{accept:"application/json","content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:"app_EMoamEEZ73f0CkXaXp7hrann",...e})}).catch(e=>{d.logger.warn({cause:e},"chatgpt token endpoint unreachable"),(0,p.publicError)("Could not reach ChatGPT's sign-in")}),o=await t.json().catch(()=>null),a=o?.access_token;if(!t.ok||!a){let e=o?.error,a="string"==typeof e?[e,o?.error_description].filter(Boolean).join(": "):e?.message??e?.code??"";(0,p.publicError)(`ChatGPT's sign-in answered ${t.status}${a?`: ${a}`:""}`)}let r=function(e){try{let t=JSON.parse(Buffer.from(e.split(".")[1]??"","base64url").toString("utf8")),o=t["https://api.openai.com/auth"]??{};return{accountId:"string"==typeof o.chatgpt_account_id?o.chatgpt_account_id:null,plan:"string"==typeof o.chatgpt_plan_type?o.chatgpt_plan_type:null,expires:"number"==typeof t.exp?1e3*t.exp:null}}catch{return{accountId:null,plan:null,expires:null}}}(a),n=o?.refresh_token??e.refresh_token;r.accountId&&n||(0,p.publicError)("ChatGPT's sign-in came back without an account");let i=o?.expires_in;return{access:a,refresh:n,expires:"number"==typeof i?Date.now()+1e3*i:r.expires??Date.now(),accountId:r.accountId,plan:r.plan}}async function y(){let e=await (0,u.readConfig)(k);if(!e)return null;try{return M.parse(JSON.parse(e))}catch{return null}}let j=e=>e.expires-s.CHATGPT_SIGN_IN.renewBeforeMs<=Date.now();async function v(){let e=await y();return(e||(0,p.publicError)(S),j(e))?E(k,async()=>{let e=await y();if(e||(0,p.publicError)(S),!j(e))return e;try{let t=await f({grant_type:"refresh_token",refresh_token:e.refresh});return await (0,u.writeConfig)(k,JSON.stringify(t)),t}catch(e){(0,p.publicError)(`Could not renew the ${T} sign-in (${(0,m.errorToString)(e)}). If it keeps failing, sign in again from Config.`)}}):e}async function b(){return(await y())?.plan??null}async function _(){let e;if(!await y())return null;try{e=await v()}catch(e){return{refused:(0,m.errorToString)(e)}}let t=await fetch("https://chatgpt.com/backend-api/wham/usage",{headers:{accept:"application/json",authorization:`Bearer ${e.access}`,"chatgpt-account-id":e.accountId,originator:x}}).catch(e=>{d.logger.warn({cause:e},"chatgpt usage unreachable"),(0,p.publicError)("Could not reach ChatGPT")}),o=await t.json().catch(()=>null);if(401===t.status||403===t.status)return{refused:o?.error?.message??o?.detail??`ChatGPT answered ${t.status}`};t.ok||(0,p.publicError)(`ChatGPT answered ${t.status}`);let a=[o?.rate_limit?.primary_window,o?.rate_limit?.secondary_window].filter(e=>"number"==typeof e?.used_percent).sort((e,t)=>(t.used_percent??0)-(e.used_percent??0))[0];a||(0,p.publicError)("ChatGPT did not say how much of the plan is used");let r=Math.round(a.used_percent??0),n=!!o?.rate_limit?.limit_reached,i=a.reset_at?1e3*a.reset_at:a.reset_after_seconds?Date.now()+1e3*a.reset_after_seconds:null;return{plan:o?.plan_type??e.plan,usedPercent:r,resetsAt:i?new Date(i).toISOString():null,spent:n,high:n||r>=s.CHATGPT_USAGE_HIGH}}async function w(e,t){let o=await v(),a=new Headers(t?.headers);if(a.set("authorization",`Bearer ${o.access}`),a.set("chatgpt-account-id",o.accountId),a.set("originator",x),t?.method!=="POST"||"string"!=typeof t.body||!String(e).endsWith("/responses"))return fetch(e,{...t,headers:a});let r=JSON.parse(t.body),n=!0===r.stream,i=[];r.input=(r.input??[]).filter(e=>"system"!==e.role&&"developer"!==e.role||(i.push("string"==typeof e.content?e.content:(e.content??[]).map(e=>e.text??"").join("\n")),!1)),r.instructions=[r.instructions,...i].filter(Boolean).join("\n\n")||"You are a helpful assistant.",r.store=!1,r.stream=!0,r.max_output_tokens=void 0,a.set("accept","text/event-stream");let l=await fetch(e,{...t,headers:a,body:JSON.stringify(r)});return 429===l.status?z(l):n||!l.ok?l:I(l)}async function z(e){let t=await e.text(),o={};try{o=JSON.parse(t).error??{}}catch{}if(!/usage_limit_reached|usage_not_included/.test(`${o.code} ${o.type}`)){let o=e.headers.get("retry-after");return new Response(t,{status:429,headers:{"content-type":"application/json",...o?{"retry-after":o}:{}}})}let a=o.resets_at?1e3*o.resets_at:o.resets_in_seconds?Date.now()+1e3*o.resets_in_seconds:null,r=o.plan_type?` on the ${o.plan_type} plan`:"",n=a?` It resets in ${(0,i.formatDistanceToNowStrict)(a)}.`:"";return Response.json({error:{message:`${T} usage limit reached${r}.${n}`,code:o.code??o.type}},{status:402})}async function I(e){let t=[],o=null,a=null;for(let r of(await e.text()).replaceAll("\r\n","\n").split("\n\n")){let e,n=r.split("\n").filter(e=>e.startsWith("data:")).map(e=>e.slice(5).trimStart()).join("\n");if(n&&"[DONE]"!==n){try{e=JSON.parse(n)}catch{continue}"response.output_item.done"===e.type?t.push(e.item):"response.completed"===e.type||"response.incomplete"===e.type?o=e.response??{}:"response.failed"===e.type?a=e.response?.error??{message:"The response failed"}:"error"===e.type&&(a={code:e.code,message:e.message})}}return a||!o?Response.json({error:{message:a?.message??"The stream ended before the response finished",code:a?.code}},{status:a?.code==="context_length_exceeded"?400:500}):Response.json({...o,output:o.output?.length?o.output:t})}e.s(["chatGptModel",0,function(e){let t=(0,r.createOpenAI)({baseURL:"https://chatgpt.com/backend-api/codex",apiKey:"signed-in",headers:{"OpenAI-Beta":"responses=experimental"},fetch:w}),o=(0,a.randomUUID)();return(0,n.wrapLanguageModel)({model:t.responses(e),middleware:{transformParams:async({params:e})=>({...e,providerOptions:{...e.providerOptions,openai:{promptCacheKey:o,...e.providerOptions?.openai,store:!1}}})}})},"readChatGptPlan",0,b,"readChatGptUsage",0,_]),o()}catch(e){o(e)}},!1),115737,e=>{"use strict";var t,o=e.i(847841),a=e.i(110567),r=e.i(469719),n=e.i(376261),i=r.z.object({error:r.z.object({message:r.z.string(),type:r.z.string().nullish(),param:r.z.any().nullish(),code:r.z.union([r.z.string(),r.z.number()]).nullish()})}),l=(0,o.createJsonErrorResponseHandler)({errorSchema:i,errorToMessage:e=>e.error.message});function s(e){var t,o,a,r,n,i;let l,s=(i=e,null==(l=/^o(\d+)(?:-|$)/.exec(i))?void 0:Number(l[1])),u=function(e){let t=/^gpt-(\d+)(?:\.(\d+))?(?:-(.+))?$/.exec(e);if(null!=t)return{major:Number(t[1]),minor:null==t[2]?void 0:Number(t[2]),variant:t[3]}}(e),d=(null==u?void 0:u.minor)==null&&null!=(o=null==(t=null==u?void 0:u.variant)?void 0:t.startsWith("chat"))&&o,p=null!=(r=null==(a=null==u?void 0:u.variant)?void 0:a.startsWith("nano"))&&r,c=null!=u&&u.major>=6,m=null!=s&&s>=3||null!=u&&u.major>=5&&!d,g=e.startsWith("gpt-4")||null!=u&&u.major>=5&&!p&&!d||null!=s&&s>=3,h=null!=s||null!=u&&u.major>=5&&!d,f=!c&&null!=u&&(u.major>5||5===u.major&&(null!=(n=u.minor)?n:0)>=1);return{supportsFlexProcessing:m,supportsPriorityProcessing:g,supportsConfigurationUpdate:c,supportedReasoningEfforts:c?["low","medium","high","xhigh","max"]:void 0,isReasoningModel:h,systemMessageMode:h?"developer":"system",supportsNonReasoningParameters:f}}function u(e){var t,a;let r=function(e){var t;let o=m(e);if(null==o)return;if("response.failed"===o.type){let e=m(o.response),t=m(null==e?void 0:e.error);return"string"==typeof(null==t?void 0:t.message)?{message:t.message,code:g(t.code),type:"response.failed"}:void 0}let a=null!=(t=m(o.error))?t:o;return"string"==typeof a.message&&(null!=m(o.error)||"string"==typeof a.type||"code"in a||"param"in a)?{message:a.message,code:g(a.code),type:"string"==typeof a.type?a.type:void 0}:void 0}(e);if(null==r)return;let n=function(e){var t,o;let a,r="number"==typeof(a="string"==typeof(t=e.code)&&/^\d{3}$/.test(t)?Number(t):t)&&Number.isInteger(o=a)&&o>=400&&o<=599?a:void 0;if(null!=r)return r;let n=[e.code,e.type].filter(e=>"string"==typeof e||"number"==typeof e).join(" ").toLowerCase();return["insufficient_quota","rate_limit"].some(e=>n.includes(e))?429:n.includes("authentication")?401:n.includes("permission")?403:n.includes("not_found")?404:["invalid","bad_request","context_length"].some(e=>n.includes(e))?400:n.includes("overload")?503:n.includes("timeout")?504:500}(r);return(0,o.createProviderStreamError)({message:r.message,type:null!=(t=r.type)?t:void 0,code:null!=(a=r.code)?a:void 0,statusCode:n,isRetryable:function(e,t){return"insufficient_quota"!==e.code&&"insufficient_quota"!==e.type&&(408===t||409===t||429===t||t>=500)}(r,n),data:e})}async function d({stream:e,getError:t,isOutputChunk:o,isAcceptedChunk:a,acceptedGraceMs:r=50,url:i,requestBodyValues:l,responseHeaders:s}){let[m,g]=e.tee(),h=m.getReader(),f=!1;try{let e=!1;for(;;){let d;if(e){let e=await c(h.read(),r);if(e.timedOut)return g;d=e.value}else d=await h.read();if(d.done)return g;let m=d.value;if(!m.success)return g;let y=t(m.value);if(null!=y)throw f=!0,p(h).catch(()=>{}),p(g.getReader()).catch(()=>{}),function({frame:e,url:t,requestBodyValues:o,responseHeaders:a}){var r,i;let l=u(e);return new n.APICallError({message:null!=(r=null==l?void 0:l.message)?r:"OpenAI stream failed before any output was generated",url:t,requestBodyValues:o,statusCode:null!=(i=null==l?void 0:l.statusCode)?i:500,responseHeaders:a,responseBody:JSON.stringify(e),data:e,isRetryable:null==l?void 0:l.isRetryable})}({frame:y,url:i,requestBodyValues:l,responseHeaders:s});if(o(m.value))return g;e||(null==a?void 0:a(m.value))!==!0||(e=!0)}}finally{f||(h.cancel().catch(()=>{}),h.releaseLock())}}async function p(e){try{for(;!(await e.read()).done;);}catch(e){}finally{e.releaseLock()}}async function c(e,t){let o,a=e.then(e=>({timedOut:!1,value:e}));try{let e=await Promise.race([a,new Promise(e=>{o=setTimeout(()=>e({timedOut:!0}),t)})]);return e.timedOut&&a.catch(()=>{}),e}finally{clearTimeout(o)}}function m(e){return"object"==typeof e&&null!=e?e:void 0}function g(e){return"string"==typeof e||"number"==typeof e?e:void 0}function h(e){var t,a,r,n,i,l,s,u;if(null==e)return(0,o.createNullLanguageModelUsage)();let d=null!=(t=e.prompt_tokens)?t:0,p=null!=(a=e.completion_tokens)?a:0,c=null!=(n=null==(r=e.prompt_tokens_details)?void 0:r.cached_tokens)?n:0,m=null!=(l=null==(i=e.prompt_tokens_details)?void 0:i.cache_write_tokens)?l:void 0,g=null!=(u=null==(s=e.completion_tokens_details)?void 0:s.reasoning_tokens)?u:0;return{inputTokens:{total:d,noCache:d-c-(null!=m?m:0),cacheRead:c,cacheWrite:m},outputTokens:{total:p,text:Math.max(0,p-g),reasoning:g},raw:e}}function f(e){var t;return null==(t=null==e?void 0:e.openai)?void 0:t.promptCacheBreakpoint}function y({id:e,model:t,created:a}){return(0,o.createLanguageModelResponseMetadata)({id:e,model:t,created:a||void 0})}function v(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var b=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({message:r.z.object({role:r.z.literal("assistant").nullish(),content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({id:r.z.string().nullish(),type:r.z.literal("function"),function:r.z.object({name:r.z.string(),arguments:r.z.string()})})).nullish(),annotations:r.z.array(r.z.object({type:r.z.literal("url_citation"),url_citation:r.z.object({start_index:r.z.number(),end_index:r.z.number(),url:r.z.string(),title:r.z.string()})})).nullish()}),index:r.z.number(),logprobs:r.z.object({content:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number(),top_logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number()}))})).nullish()}).nullish(),finish_reason:r.z.string().nullish()})),usage:r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish(),cache_write_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish(),accepted_prediction_tokens:r.z.number().nullish(),rejected_prediction_tokens:r.z.number().nullish()}).nullish()}).nullish()}))),_=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({delta:r.z.object({role:r.z.enum(["assistant"]).nullish(),content:r.z.string().nullish(),tool_calls:r.z.array(r.z.object({index:r.z.number(),id:r.z.string().nullish(),type:r.z.literal("function").nullish(),function:r.z.object({name:r.z.string().nullish(),arguments:r.z.string().nullish()})})).nullish(),annotations:r.z.array(r.z.object({type:r.z.literal("url_citation"),url_citation:r.z.object({start_index:r.z.number(),end_index:r.z.number(),url:r.z.string(),title:r.z.string()})})).nullish()}).nullish(),logprobs:r.z.object({content:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number(),top_logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number()}))})).nullish()}).nullish(),finish_reason:r.z.string().nullish(),index:r.z.number()})),usage:r.z.object({prompt_tokens:r.z.number().nullish(),completion_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),prompt_tokens_details:r.z.object({cached_tokens:r.z.number().nullish(),cache_write_tokens:r.z.number().nullish()}).nullish(),completion_tokens_details:r.z.object({reasoning_tokens:r.z.number().nullish(),accepted_prediction_tokens:r.z.number().nullish(),rejected_prediction_tokens:r.z.number().nullish()}).nullish()}).nullish()}),i]))),w=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({logitBias:r.z.record(r.z.coerce.number(),r.z.number()).optional(),logprobs:r.z.union([r.z.boolean(),r.z.number()]).optional(),parallelToolCalls:r.z.boolean().optional(),user:r.z.string().optional(),reasoningEffort:r.z.enum(["none","minimal","low","medium","high","xhigh","max"]).optional(),maxCompletionTokens:r.z.number().optional(),store:r.z.boolean().optional(),metadata:r.z.record(r.z.string().max(64),r.z.string().max(512)).optional(),prediction:r.z.record(r.z.string(),r.z.any()).optional(),serviceTier:r.z.enum(["auto","flex","priority","fast","ultrafast","default"]).optional(),strictJsonSchema:r.z.boolean().optional(),textVerbosity:r.z.enum(["low","medium","high"]).optional(),promptCacheKey:r.z.string().optional(),promptCacheOptions:r.z.object({mode:r.z.enum(["implicit","explicit"]).optional(),ttl:r.z.literal("30m").optional()}).optional(),promptCacheRetention:r.z.enum(["in_memory","24h"]).optional(),safetyIdentifier:r.z.string().optional(),systemMessageMode:r.z.enum(["system","developer","remove"]).optional(),forceReasoning:r.z.boolean().optional()}))),z=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[a.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[a.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:a,topP:r,topK:i,frequencyPenalty:l,presencePenalty:u,stopSequences:d,responseFormat:p,seed:c,tools:m,toolChoice:g,reasoning:h,providerOptions:y}){var v,b,_,z,I,x;let k=[],T=null!=(v=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:y,schema:w}))?v:{},S=s(this.modelId),M=null!=(b=T.reasoningEffort)?b:(0,o.isCustomReasoning)(h)?h:void 0;null==M||null==S.supportedReasoningEfforts||S.supportedReasoningEfforts.includes(M)||(k.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${S.supportedReasoningEfforts.join(", ")}`}),M=void 0);let C=null!=(_=T.forceReasoning)?_:S.isReasoningModel;null!=i&&k.push({type:"unsupported",feature:"topK"});let{messages:E,warnings:j}=function({prompt:e,systemMessageMode:t="system"}){var a,r,i;let l=[],s=[];for(let{role:u,content:d,providerOptions:p}of e)switch(u){case"system":switch(t){case"system":{let e=f(p);l.push({role:"system",content:null==e?d:[{type:"text",text:d,prompt_cache_breakpoint:e}]});break}case"developer":{let e=f(p);l.push({role:"developer",content:null==e?d:[{type:"text",text:d,prompt_cache_breakpoint:e}]});break}case"remove":s.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${t}`)}break;case"user":if(1===d.length&&"text"===d[0].type&&null==f(d[0].providerOptions)){l.push({role:"user",content:d[0].text});break}l.push({role:"user",content:d.map((e,t)=>{var a,r,i;switch(e.type){case"text":{let t=f(e.providerOptions);return{type:"text",text:e.text,...null!=t&&{prompt_cache_breakpoint:t}}}case"file":{let l=f(e.providerOptions);switch(e.data.type){case"reference":return{type:"file",file:{file_id:(0,o.resolveProviderReference)({reference:e.data.reference,provider:"openai"})},...null!=l&&{prompt_cache_breakpoint:l}};case"text":throw new n.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":{let s=(0,o.getTopLevelMediaType)(e.mediaType);if("image"===s)return{type:"image_url",image_url:{url:"url"===e.data.type?e.data.url.toString():`data:${(0,o.resolveFullMediaType)({part:e})};base64,${(0,o.convertToBase64)(e.data.data)}`,detail:null==(r=null==(a=e.providerOptions)?void 0:a.openai)?void 0:r.imageDetail},...null!=l&&{prompt_cache_breakpoint:l}};if("audio"===s){if("url"===e.data.type)throw new n.UnsupportedFunctionalityError({functionality:"audio file parts with URLs"});let t=(0,o.resolveFullMediaType)({part:e});switch(t){case"audio/wav":return{type:"input_audio",input_audio:{data:(0,o.convertToBase64)(e.data.data),format:"wav"},...null!=l&&{prompt_cache_breakpoint:l}};case"audio/mp3":case"audio/mpeg":return{type:"input_audio",input_audio:{data:(0,o.convertToBase64)(e.data.data),format:"mp3"},...null!=l&&{prompt_cache_breakpoint:l}};default:throw new n.UnsupportedFunctionalityError({functionality:`audio content parts with media type ${t}`})}}{let a=(0,o.resolveFullMediaType)({part:e});if("application/pdf"!==a)throw new n.UnsupportedFunctionalityError({functionality:`file part media type ${a}`});if("url"===e.data.type)throw new n.UnsupportedFunctionalityError({functionality:"PDF file parts with URLs"});return{type:"file",file:{filename:null!=(i=e.filename)?i:`part-${t}.pdf`,file_data:`data:application/pdf;base64,${(0,o.convertToBase64)(e.data.data)}`},...null!=l&&{prompt_cache_breakpoint:l}}}}}}}})});break;case"assistant":{let e="",t=[],o=!1,a=[];for(let r of d)switch(r.type){case"text":{let a=f(r.providerOptions);e+=r.text,t.push({type:"text",text:r.text,...null!=a&&{prompt_cache_breakpoint:a}}),o||(o=null!=a);break}case"tool-call":a.push({id:r.toolCallId,type:"function",function:{name:r.toolName,arguments:JSON.stringify("object"!=typeof(i=r.input)||null===i||Array.isArray(i)?{}:i)}})}l.push({role:"assistant",content:o?t:a.length>0?e||null:e,tool_calls:a.length>0?a:void 0});break}case"tool":for(let e of d){let t;if("tool-approval-response"===e.type)continue;let o=e.output,n=null!=(a="content"===o.type?o.value.map(e=>f(e.providerOptions)).find(e=>null!=e):f(o.providerOptions))?a:f(e.providerOptions);switch(o.type){case"text":case"error-text":t=o.value;break;case"execution-denied":t=null!=(r=o.reason)?r:"Tool call execution denied.";break;case"content":case"json":case"error-json":t=JSON.stringify(o.value)}l.push({role:"tool",tool_call_id:e.toolCallId,content:null==n?t:[{type:"text",text:t,prompt_cache_breakpoint:n}]})}break;default:throw Error(`Unsupported role: ${u}`)}return{messages:l,warnings:s}}({prompt:e,systemMessageMode:null!=(z=T.systemMessageMode)?z:C?"developer":S.systemMessageMode});k.push(...j);let R=null==(I=T.strictJsonSchema)||I,O={model:this.modelId,logit_bias:T.logitBias,logprobs:!0===T.logprobs||"number"==typeof T.logprobs||void 0,top_logprobs:"number"==typeof T.logprobs?T.logprobs:"boolean"==typeof T.logprobs&&T.logprobs?0:void 0,user:T.user,parallel_tool_calls:T.parallelToolCalls,max_tokens:t,temperature:a,top_p:r,frequency_penalty:l,presence_penalty:u,response_format:(null==p?void 0:p.type)==="json"?null!=p.schema?{type:"json_schema",json_schema:{schema:p.schema,strict:R,name:null!=(x=p.name)?x:"response",description:p.description}}:{type:"json_object"}:void 0,stop:d,seed:c,verbosity:T.textVerbosity,max_completion_tokens:T.maxCompletionTokens,store:T.store,metadata:T.metadata,prediction:T.prediction,reasoning_effort:M,service_tier:T.serviceTier,prompt_cache_key:T.promptCacheKey,prompt_cache_options:T.promptCacheOptions,prompt_cache_retention:T.promptCacheRetention,safety_identifier:T.safetyIdentifier,messages:E};null!=S.supportedReasoningEfforts&&null!=O.prompt_cache_retention&&(O.prompt_cache_retention=void 0,k.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"})),C?("none"===M&&S.supportsNonReasoningParameters||(null!=O.temperature&&(O.temperature=void 0,k.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"})),null!=O.top_p&&(O.top_p=void 0,k.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})),null!=O.logprobs&&(O.logprobs=void 0,k.push({type:"other",message:"logprobs is not supported for reasoning models"}))),null!=O.frequency_penalty&&(O.frequency_penalty=void 0,k.push({type:"unsupported",feature:"frequencyPenalty",details:"frequencyPenalty is not supported for reasoning models"})),null!=O.presence_penalty&&(O.presence_penalty=void 0,k.push({type:"unsupported",feature:"presencePenalty",details:"presencePenalty is not supported for reasoning models"})),null!=O.logit_bias&&(O.logit_bias=void 0,k.push({type:"other",message:"logitBias is not supported for reasoning models"})),null!=O.top_logprobs&&(O.top_logprobs=void 0,k.push({type:"other",message:"topLogprobs is not supported for reasoning models"})),null!=O.max_tokens&&(null==O.max_completion_tokens&&(O.max_completion_tokens=O.max_tokens),O.max_tokens=void 0)):(this.modelId.startsWith("gpt-4o-search-preview")||this.modelId.startsWith("gpt-4o-mini-search-preview"))&&null!=O.temperature&&(O.temperature=void 0,k.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for the search preview models and has been removed."})),"flex"!==T.serviceTier||S.supportsFlexProcessing||(k.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),O.service_tier=void 0),"priority"!==T.serviceTier&&"fast"!==T.serviceTier||S.supportsPriorityProcessing||(k.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),O.service_tier=void 0);let{tools:A,toolChoice:N,toolWarnings:P}=function({tools:e,toolChoice:t}){e=(null==e?void 0:e.length)?e:void 0;let o=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:o};let a=[];for(let t of e)"function"===t.type?a.push({type:"function",function:{name:t.name,description:t.description,parameters:t.inputSchema,...null!=t.strict?{strict:t.strict}:{}}}):o.push({type:"unsupported",feature:`tool type: ${t.type}`});if(null==t)return{tools:a,toolChoice:void 0,toolWarnings:o};let r=t.type;switch(r){case"auto":case"none":case"required":return{tools:a,toolChoice:r,toolWarnings:o};case"tool":return{tools:a,toolChoice:{type:"function",function:{name:t.toolName}},toolWarnings:o};default:throw new n.UnsupportedFunctionalityError({functionality:`tool choice type: ${r}`})}}({tools:m,toolChoice:g});return{args:{...O,tools:A,tool_choice:N},warnings:[...k,...P]}}async doGenerate(e){var t,a,r,n,i,s,u;let{args:d,warnings:p}=await this.getArgs(e),{responseHeaders:c,value:m,rawValue:g}=await (0,o.postJsonToApi)({url:this.config.url({path:"/chat/completions",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(a=(t=this.config).headers)?void 0:a.call(t),e.headers),body:d,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(b),abortSignal:e.abortSignal,fetch:this.config.fetch}),f=m.choices[0],_=[],w=f.message.content;for(let e of(null!=w&&w.length>0&&_.push({type:"text",text:w}),null!=(r=f.message.tool_calls)?r:[]))_.push({type:"tool-call",toolCallId:e.id||(0,o.generateId)(),toolName:e.function.name,input:e.function.arguments});for(let e of null!=(n=f.message.annotations)?n:[])_.push({type:"source",sourceType:"url",id:(0,o.generateId)(),url:e.url_citation.url,title:e.url_citation.title});let z=null==(i=m.usage)?void 0:i.completion_tokens_details,I={openai:{}};return(null==z?void 0:z.accepted_prediction_tokens)!=null&&(I.openai.acceptedPredictionTokens=null==z?void 0:z.accepted_prediction_tokens),(null==z?void 0:z.rejected_prediction_tokens)!=null&&(I.openai.rejectedPredictionTokens=null==z?void 0:z.rejected_prediction_tokens),(null==(s=f.logprobs)?void 0:s.content)!=null&&(I.openai.logprobs=f.logprobs.content),{content:_,finishReason:{unified:v(f.finish_reason),raw:null!=(u=f.finish_reason)?u:void 0},usage:h(m.usage),request:{body:d},response:{...y(m),headers:c,body:g},warnings:p,providerMetadata:I}}async doStream(e){var t,a;let r,n,{args:i,warnings:s}=await this.getArgs(e),p={...i,stream:!0,stream_options:{include_usage:!0}},c=this.config.url({path:"/chat/completions",modelId:this.modelId}),{responseHeaders:m,value:g}=await (0,o.postJsonToApi)({url:c,headers:(0,o.combineHeaders)(null==(a=(t=this.config).headers)?void 0:a.call(t),e.headers),body:p,failedResponseHandler:l,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(_),abortSignal:e.abortSignal,fetch:this.config.fetch}),f=await d({stream:g,getError:e=>"error"in e?e.error:void 0,isOutputChunk:I,url:c,requestBodyValues:p,responseHeaders:m}),b={unified:"other",raw:void 0},w=!1,z=!1,x={openai:{}};return{stream:f.pipeThrough(new TransformStream({start(e){r=new o.StreamingToolCallTracker(e,{generateId:o.generateId,typeValidation:"if-present"}),e.enqueue({type:"stream-start",warnings:s})},transform(t,a){var i,l,s,d,p,c;if(e.includeRawChunks&&a.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){b={unified:"error",raw:void 0},a.enqueue({type:"error",error:t.error});return}let m=t.value;if("error"in m){b={unified:"error",raw:void 0},a.enqueue({type:"error",error:null!=(i=u(m.error))?i:m.error});return}!w&&Object.values(y(m)).some(Boolean)&&(w=!0,a.enqueue({type:"response-metadata",...y(m)})),null!=m.usage&&(n=m.usage,(null==(l=m.usage.completion_tokens_details)?void 0:l.accepted_prediction_tokens)!=null&&(x.openai.acceptedPredictionTokens=null==(s=m.usage.completion_tokens_details)?void 0:s.accepted_prediction_tokens),(null==(d=m.usage.completion_tokens_details)?void 0:d.rejected_prediction_tokens)!=null&&(x.openai.rejectedPredictionTokens=null==(p=m.usage.completion_tokens_details)?void 0:p.rejected_prediction_tokens));let g=m.choices[0];if((null==g?void 0:g.finish_reason)!=null&&(b={unified:v(g.finish_reason),raw:g.finish_reason}),(null==(c=null==g?void 0:g.logprobs)?void 0:c.content)!=null&&(x.openai.logprobs=g.logprobs.content),(null==g?void 0:g.delta)==null)return;let h=g.delta;if(null!=h.content&&(z||(a.enqueue({type:"text-start",id:"0"}),z=!0),a.enqueue({type:"text-delta",id:"0",delta:h.content})),null!=h.tool_calls)for(let e of h.tool_calls)r.processDelta(e);if(null!=h.annotations)for(let e of h.annotations)a.enqueue({type:"source",sourceType:"url",id:(0,o.generateId)(),url:e.url_citation.url,title:e.url_citation.title})},flush(e){z&&e.enqueue({type:"text-end",id:"0"}),r.flush(),e.enqueue({type:"finish",finishReason:b,usage:h(n),...null!=x?{providerMetadata:x}:{}})}})),request:{body:p},response:{headers:m}}}};function I(e){return!("error"in e)&&e.choices.some(e=>{let t=e.delta;return(null==t?void 0:t.content)!=null&&t.content.length>0||(null==t?void 0:t.tool_calls)!=null&&t.tool_calls.length>0||(null==t?void 0:t.annotations)!=null&&t.annotations.length>0})}function x(e){var t,a,r,n;if(null==e)return(0,o.createNullLanguageModelUsage)();let i=null!=(t=e.prompt_tokens)?t:0,l=null!=(a=e.completion_tokens)?a:0;return{inputTokens:{total:null!=(r=e.prompt_tokens)?r:void 0,noCache:i,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:null!=(n=e.completion_tokens)?n:void 0,text:l,reasoning:void 0},raw:e}}function k(e){switch(e){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"other"}}var T=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string(),logprobs:r.z.object({tokens:r.z.array(r.z.string()),token_logprobs:r.z.array(r.z.number()),top_logprobs:r.z.array(r.z.record(r.z.string(),r.z.number())).nullish()}).nullish()})),usage:r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number()}).nullish()}))),S=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.union([r.z.object({id:r.z.string().nullish(),created:r.z.number().nullish(),model:r.z.string().nullish(),choices:r.z.array(r.z.object({text:r.z.string(),finish_reason:r.z.string().nullish(),index:r.z.number(),logprobs:r.z.object({tokens:r.z.array(r.z.string()),token_logprobs:r.z.array(r.z.number()),top_logprobs:r.z.array(r.z.record(r.z.string(),r.z.number())).nullish()}).nullish()})),usage:r.z.object({prompt_tokens:r.z.number(),completion_tokens:r.z.number(),total_tokens:r.z.number()}).nullish()}),i]))),M=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({echo:r.z.boolean().optional(),logitBias:r.z.record(r.z.string(),r.z.number()).optional(),suffix:r.z.string().optional(),user:r.z.string().optional(),logprobs:r.z.union([r.z.boolean(),r.z.number()]).optional()}))),C=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={},this.modelId=e,this.config=t}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}static[a.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[a.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({prompt:e,maxOutputTokens:t,temperature:a,topP:r,topK:i,frequencyPenalty:l,presencePenalty:s,stopSequences:u,responseFormat:d,tools:p,toolChoice:c,seed:m,providerOptions:g}){let h=[],f={...await (0,o.parseProviderOptions)({provider:"openai",providerOptions:g,schema:M}),...await (0,o.parseProviderOptions)({provider:this.providerOptionsName,providerOptions:g,schema:M})};null!=i&&h.push({type:"unsupported",feature:"topK"}),(null==p?void 0:p.length)&&h.push({type:"unsupported",feature:"tools"}),null!=c&&h.push({type:"unsupported",feature:"toolChoice"}),null!=d&&"text"!==d.type&&h.push({type:"unsupported",feature:"responseFormat",details:"JSON response format is not supported."});let{prompt:y,stopSequences:v}=function({prompt:e,user:t="user",assistant:o="assistant"}){let a="";for(let{role:r,content:i}of("system"===e[0].role&&(a+=`${e[0].content}
2
+
3
+ `,e=e.slice(1)),e))switch(r){case"system":throw new n.InvalidPromptError({message:"Unexpected system message in prompt: ${content}",prompt:e});case"user":{let e=i.map(e=>{if("text"===e.type)return e.text}).filter(Boolean).join("");a+=`${t}:
4
+ ${e}
5
+
6
+ `;break}case"assistant":{let e=i.map(e=>{switch(e.type){case"text":return e.text;case"tool-call":throw new n.UnsupportedFunctionalityError({functionality:"tool-call messages"})}}).join("");a+=`${o}:
7
+ ${e}
8
+
9
+ `;break}case"tool":throw new n.UnsupportedFunctionalityError({functionality:"tool messages"});default:throw Error(`Unsupported role: ${r}`)}return{prompt:a+=`${o}:
10
+ `,stopSequences:[`
11
+ ${t}:`]}}({prompt:e}),b=[...null!=v?v:[],...null!=u?u:[]];return{args:{model:this.modelId,echo:f.echo,logit_bias:f.logitBias,logprobs:(null==f?void 0:f.logprobs)===!0?0:(null==f?void 0:f.logprobs)===!1||null==f?void 0:f.logprobs,suffix:f.suffix,user:f.user,max_tokens:t,temperature:a,top_p:r,frequency_penalty:l,presence_penalty:s,seed:m,prompt:y,stop:b.length>0?b:void 0},warnings:h}}async doGenerate(e){var t,a,r;let{args:n,warnings:i}=await this.getArgs(e),{responseHeaders:s,value:u,rawValue:d}=await (0,o.postJsonToApi)({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(a=(t=this.config).headers)?void 0:a.call(t),e.headers),body:n,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(T),abortSignal:e.abortSignal,fetch:this.config.fetch}),p=u.choices[0],c={openai:{}};return null!=p.logprobs&&(c.openai.logprobs=p.logprobs),{content:[{type:"text",text:p.text}],usage:x(u.usage),finishReason:{unified:k(p.finish_reason),raw:null!=(r=p.finish_reason)?r:void 0},request:{body:n},response:{...(0,o.createLanguageModelResponseMetadata)(u),headers:s,body:d},providerMetadata:c,warnings:i}}async doStream(e){var t,a;let r,{args:n,warnings:i}=await this.getArgs(e),s={...n,stream:!0,stream_options:{include_usage:!0}},p=this.config.url({path:"/completions",modelId:this.modelId}),{responseHeaders:c,value:m}=await (0,o.postJsonToApi)({url:p,headers:(0,o.combineHeaders)(null==(a=(t=this.config).headers)?void 0:a.call(t),e.headers),body:s,failedResponseHandler:l,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(S),abortSignal:e.abortSignal,fetch:this.config.fetch}),g=await d({stream:m,getError:e=>"error"in e?e.error:void 0,isOutputChunk:E,url:p,requestBodyValues:s,responseHeaders:c}),h={unified:"other",raw:void 0},f={openai:{}},y=!0;return{stream:g.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:i})},transform(t,a){var n;if(e.includeRawChunks&&a.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){h={unified:"error",raw:void 0},a.enqueue({type:"error",error:t.error});return}let i=t.value;if("error"in i){h={unified:"error",raw:void 0},a.enqueue({type:"error",error:null!=(n=u(i.error))?n:i.error});return}y&&(y=!1,a.enqueue({type:"response-metadata",...(0,o.createLanguageModelResponseMetadata)(i)}),a.enqueue({type:"text-start",id:"0"})),null!=i.usage&&(r=i.usage);let l=i.choices[0];(null==l?void 0:l.finish_reason)!=null&&(h={unified:k(l.finish_reason),raw:l.finish_reason}),(null==l?void 0:l.logprobs)!=null&&(f.openai.logprobs=l.logprobs),(null==l?void 0:l.text)!=null&&l.text.length>0&&a.enqueue({type:"text-delta",id:"0",delta:l.text})},flush(e){y||e.enqueue({type:"text-end",id:"0"}),e.enqueue({type:"finish",finishReason:h,providerMetadata:f,usage:x(r)})}})),request:{body:s},response:{headers:c}}}};function E(e){return!("error"in e)&&e.choices.some(e=>e.text.length>0)}var j=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({dimensions:r.z.number().optional(),user:r.z.string().optional()}))),R=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({data:r.z.array(r.z.object({embedding:r.z.array(r.z.number())})),usage:r.z.object({prompt_tokens:r.z.number()}).nullish()}))),O=class e{constructor(e,o){this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this[t]=3e5,this.supportsParallelCalls=!0,this.modelId=e,this.config=o}static[(t=o.EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL,a.WORKFLOW_SERIALIZE)](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[a.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:a,providerOptions:r}){var i,s,u;if(e.length>this.maxEmbeddingsPerCall)throw new n.TooManyEmbeddingValuesForCallError({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:e});let d=null!=(i=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:r,schema:j}))?i:{},{responseHeaders:p,value:c,rawValue:m}=await (0,o.postJsonToApi)({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(u=(s=this.config).headers)?void 0:u.call(s),t),body:{model:this.modelId,input:e,encoding_format:"float",dimensions:d.dimensions,user:d.user},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(R),abortSignal:a,fetch:this.config.fetch});return{warnings:[],embeddings:c.data.map(e=>e.embedding),usage:c.usage?{tokens:c.usage.prompt_tokens}:void 0,response:{headers:p,body:m}}}},A=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),object:r.z.string().nullish(),bytes:r.z.number().nullish(),created_at:r.z.number().nullish(),filename:r.z.string().nullish(),purpose:r.z.string().nullish(),status:r.z.string().nullish(),expires_at:r.z.number().nullish()}))),N=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),object:r.z.string().nullish(),deleted:r.z.boolean()}))),P=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({purpose:r.z.string().optional(),expiresAfter:r.z.number().optional()})));function q(e){let t=encodeURIComponent(e);return"."===t?"%252E":".."===t?"%252E%252E":t}var D=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}getFileId(e){let t=e.openai;if(null==t||""===t.trim())throw new n.InvalidArgumentError({argument:"file",message:"file reference is missing an 'openai' file id."});return t}getHeaders(e){return(0,o.combineHeaders)(this.config.headers(),e)}async uploadFile({data:e,mediaType:t,filename:a,abortSignal:r,headers:n,providerOptions:i}){var s,u,d;let p,c;try{p=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:i,schema:P})}catch(t){throw"stream"===e.type&&await e.stream.cancel(t).catch(()=>{}),t}let m=null!=(s=null==p?void 0:p.purpose)?s:"assistants",g=this.getHeaders(n),h=`${this.config.baseURL}/files`;if("stream"===e.type){let n=[{type:"field",name:"purpose",value:m}];(null==p?void 0:p.expiresAfter)!=null&&n.push({type:"field",name:"expires_after[anchor]",value:"created_at"},{type:"field",name:"expires_after[seconds]",value:String(p.expiresAfter)}),n.push({type:"file",name:"file",filename:a,mediaType:t,content:e.stream}),{value:c}=await (0,o.postMultipartStreamToApi)({url:h,headers:g,parts:n,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(A),abortSignal:r,fetch:this.config.fetch})}else{let n=new Blob([(0,o.convertInlineFileDataToUint8Array)(e)],{type:t}),i=new FormData;null!=a?i.append("file",n,a):i.append("file",n),i.append("purpose",m),(null==p?void 0:p.expiresAfter)!=null&&(i.append("expires_after[anchor]","created_at"),i.append("expires_after[seconds]",String(p.expiresAfter))),{value:c}=await (0,o.postFormDataToApi)({url:h,headers:g,formData:i,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(A),abortSignal:r,fetch:this.config.fetch})}return{warnings:[],providerReference:{openai:c.id},...(null!=(u=c.filename)?u:a)?{filename:null!=(d=c.filename)?d:a}:{},...null!=t?{mediaType:t}:{},...null!=c.bytes?{byteSize:c.bytes}:{},...null!=c.created_at?{createdAt:new Date(1e3*c.created_at)}:{},...null!=c.expires_at?{expiresAt:new Date(1e3*c.expires_at)}:{},providerMetadata:{openai:this.toFileMetadata(c)}}}async getFileMetadata({file:e,abortSignal:t,headers:a}){let r=this.getFileId(e),{value:n}=await (0,o.getFromApi)({url:`${this.config.baseURL}/files/${q(r)}`,headers:this.getHeaders(a),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(A),abortSignal:t,fetch:this.config.fetch,validateUrl:!1});return{warnings:[],providerReference:{openai:n.id},...null!=n.filename?{filename:n.filename}:{},...null!=n.bytes?{byteSize:n.bytes}:{},...null!=n.created_at?{createdAt:new Date(1e3*n.created_at)}:{},...null!=n.expires_at?{expiresAt:new Date(1e3*n.expires_at)}:{},providerMetadata:{openai:this.toFileMetadata(n)}}}async downloadFile({file:e,abortSignal:t,headers:a}){var r;let n=this.getFileId(e),{value:i,responseHeaders:s}=await (0,o.getFromApi)({url:`${this.config.baseURL}/files/${q(n)}/content`,headers:this.getHeaders(a),failedResponseHandler:l,successfulResponseHandler:(0,o.createBinaryStreamResponseHandler)(),abortSignal:t,fetch:this.config.fetch,validateUrl:!1}),u=null==(r=null==s?void 0:s["content-type"])?void 0:r.split(";")[0].trim();return{warnings:[],content:i,...u?{mediaType:u}:{}}}async deleteFile({file:e,abortSignal:t,headers:a}){let r=this.getFileId(e),{value:n}=await (0,o.deleteFromApi)({url:`${this.config.baseURL}/files/${q(r)}`,headers:this.getHeaders(a),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(N),abortSignal:t,fetch:this.config.fetch});return{warnings:[],providerReference:{openai:n.id},deleted:n.deleted}}toFileMetadata(e){return{...null!=e.filename?{filename:e.filename}:{},...null!=e.purpose?{purpose:e.purpose}:{},...null!=e.bytes?{bytes:e.bytes}:{},...null!=e.created_at?{createdAt:e.created_at}:{},...null!=e.status?{status:e.status}:{},...null!=e.expires_at?{expiresAt:e.expires_at}:{}}}},U=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({created:r.z.number().nullish(),data:r.z.array(r.z.object({b64_json:r.z.string(),revised_prompt:r.z.string().nullish()})),background:r.z.string().nullish(),output_format:r.z.string().nullish(),size:r.z.string().nullish(),quality:r.z.string().nullish(),usage:r.z.object({input_tokens:r.z.number().nullish(),output_tokens:r.z.number().nullish(),total_tokens:r.z.number().nullish(),input_tokens_details:r.z.object({image_tokens:r.z.number().nullish(),text_tokens:r.z.number().nullish()}).nullish()}).nullish()}))),$={"dall-e-3":1,"dall-e-2":10,"gpt-image-1":10,"gpt-image-1-mini":10,"gpt-image-1.5":10,"gpt-image-2":10,"chatgpt-image-latest":10},F=["chatgpt-image-","gpt-image-"],L=r.z.object({quality:r.z.enum(["standard","hd","low","medium","high","auto"]).optional(),background:r.z.enum(["transparent","opaque","auto"]).optional(),outputFormat:r.z.enum(["png","jpeg","webp"]).optional(),outputCompression:r.z.number().int().min(0).max(100).optional(),user:r.z.string().optional()});(0,o.lazySchema)(()=>(0,o.zodSchema)(L));var H=(0,o.lazySchema)(()=>(0,o.zodSchema)(L.extend({style:r.z.enum(["vivid","natural"]).optional(),moderation:r.z.enum(["auto","low"]).optional()}))),V=(0,o.lazySchema)(()=>(0,o.zodSchema)(L.extend({inputFidelity:r.z.enum(["high","low"]).optional()}))),J=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[a.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[a.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get maxImagesPerCall(){var e,t;return null!=(t=$[e=this.modelId])?t:e.startsWith("gpt-image-")?10:1}get provider(){return this.config.provider}async doGenerate({prompt:e,files:t,mask:a,n:r,size:n,aspectRatio:i,seed:s,providerOptions:u,headers:d,abortSignal:p}){var c,m,g,h,f,y,v,b,_,w,z,I,x,k,T,S;let M=[];null!=i&&M.push({type:"unsupported",feature:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."}),null!=s&&M.push({type:"unsupported",feature:"seed"});let C=null!=(g=null==(m=null==(c=this.config._internal)?void 0:c.currentDate)?void 0:m.call(c))?g:new Date;if(null!=t){let i=null!=(h=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:u,schema:V}))?h:{},{value:s,responseHeaders:c}=await (0,o.postFormDataToApi)({url:this.config.url({path:"/images/edits",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(y=(f=this.config).headers)?void 0:y.call(f),d),formData:(0,o.convertToFormData)({model:this.modelId,prompt:e,image:await Promise.all(t.map(e=>"file"===e.type?new Blob([e.data instanceof Uint8Array?new Blob([e.data],{type:e.mediaType}):new Blob([(0,o.convertBase64ToUint8Array)(e.data)],{type:e.mediaType})],{type:e.mediaType}):(0,o.downloadBlob)(e.url))),mask:null!=a?await W(a):void 0,n:r,size:n,quality:i.quality,background:i.background,output_format:i.outputFormat,output_compression:i.outputCompression,input_fidelity:i.inputFidelity,user:i.user}),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(U),abortSignal:p,fetch:this.config.fetch});return{images:s.data.map(e=>e.b64_json),warnings:M,usage:null!=s.usage?{inputTokens:null!=(v=s.usage.input_tokens)?v:void 0,outputTokens:null!=(b=s.usage.output_tokens)?b:void 0,totalTokens:null!=(_=s.usage.total_tokens)?_:void 0}:void 0,response:{timestamp:C,modelId:this.modelId,headers:c},providerMetadata:{openai:{images:s.data.map((e,t)=>{var o,a,r,n,i,l;return{...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{},created:null!=(o=s.created)?o:void 0,size:null!=(a=s.size)?a:void 0,quality:null!=(r=s.quality)?r:void 0,background:null!=(n=s.background)?n:void 0,outputFormat:null!=(i=s.output_format)?i:void 0,...B(null==(l=s.usage)?void 0:l.input_tokens_details,t,s.data.length)}})}}}}let E=null!=(w=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:u,schema:H}))?w:{},{value:j,responseHeaders:R}=await (0,o.postJsonToApi)({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(I=(z=this.config).headers)?void 0:I.call(z),d),body:{model:this.modelId,prompt:e,n:r,size:n,quality:E.quality,style:E.style,background:E.background,moderation:E.moderation,output_format:E.outputFormat,output_compression:E.outputCompression,user:E.user,...(S=this.modelId,!F.some(e=>S.startsWith(e)))?{response_format:"b64_json"}:{}},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(U),abortSignal:p,fetch:this.config.fetch});return{images:j.data.map(e=>e.b64_json),warnings:M,usage:null!=j.usage?{inputTokens:null!=(x=j.usage.input_tokens)?x:void 0,outputTokens:null!=(k=j.usage.output_tokens)?k:void 0,totalTokens:null!=(T=j.usage.total_tokens)?T:void 0}:void 0,response:{timestamp:C,modelId:this.modelId,headers:R},providerMetadata:{openai:{images:j.data.map((e,t)=>{var o,a,r,n,i,l;return{...e.revised_prompt?{revisedPrompt:e.revised_prompt}:{},created:null!=(o=j.created)?o:void 0,size:null!=(a=j.size)?a:void 0,quality:null!=(r=j.quality)?r:void 0,background:null!=(n=j.background)?n:void 0,outputFormat:null!=(i=j.output_format)?i:void 0,...B(null==(l=j.usage)?void 0:l.input_tokens_details,t,j.data.length)}})}}}}};function B(e,t,o){if(null==e)return{};let a={};if(null!=e.image_tokens){let r=Math.floor(e.image_tokens/o),n=e.image_tokens-r*(o-1);a.imageTokens=t===o-1?n:r}if(null!=e.text_tokens){let r=Math.floor(e.text_tokens/o),n=e.text_tokens-r*(o-1);a.textTokens=t===o-1?n:r}return a}async function W(e){return e?"url"===e.type?(0,o.downloadBlob)(e.url):new Blob([e.data instanceof Uint8Array?e.data:(0,o.convertBase64ToUint8Array)(e.data)],{type:e.mediaType}):void 0}var K=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({callId:r.z.string(),operation:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("create_file"),path:r.z.string(),diff:r.z.string()}),r.z.object({type:r.z.literal("delete_file"),path:r.z.string()}),r.z.object({type:r.z.literal("update_file"),path:r.z.string(),diff:r.z.string()})])}))),G=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({status:r.z.enum(["completed","failed"]),output:r.z.string().optional()})));(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({})));var Y=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.apply_patch",inputSchema:K,outputSchema:G}),Z=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({code:r.z.string().nullish(),containerId:r.z.string()}))),X=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({outputs:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("logs"),logs:r.z.string()}),r.z.object({type:r.z.literal("image"),url:r.z.string()})])).nullish()}))),Q=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({container:r.z.union([r.z.string(),r.z.object({fileIds:r.z.array(r.z.string()).optional()})]).optional()}))),ee=(0,o.createProviderExecutedToolFactory)({id:"openai.code_interpreter",inputSchema:Z,outputSchema:X}),et=r.z.object({id:r.z.string(),code:r.z.string().optional(),message:r.z.string().optional()}),eo=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("click"),button:r.z.enum(["left","right","wheel","back","forward"]),x:r.z.number(),y:r.z.number(),keys:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("double_click"),x:r.z.number(),y:r.z.number(),keys:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("drag"),path:r.z.array(r.z.object({x:r.z.number(),y:r.z.number()})),keys:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("keypress"),keys:r.z.array(r.z.string())}),r.z.object({type:r.z.literal("move"),x:r.z.number(),y:r.z.number(),keys:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("screenshot")}),r.z.object({type:r.z.literal("scroll"),x:r.z.number(),y:r.z.number(),scrollX:r.z.number(),scrollY:r.z.number(),keys:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("type"),text:r.z.string()}),r.z.object({type:r.z.literal("wait")})]),ea=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({actions:r.z.array(eo),pendingSafetyChecks:r.z.array(et),status:r.z.enum(["in_progress","completed","incomplete"])}))),er=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({output:r.z.union([r.z.object({type:r.z.literal("computer_screenshot"),imageUrl:r.z.string(),fileId:r.z.string().optional(),detail:r.z.enum(["auto","low","high","original"]).optional()}),r.z.object({type:r.z.literal("computer_screenshot"),fileId:r.z.string(),imageUrl:r.z.string().optional(),detail:r.z.enum(["auto","low","high","original"]).optional()})]),acknowledgedSafetyChecks:r.z.array(et).optional()}))),en=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.computer",inputSchema:ea,outputSchema:er}),ei=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({description:r.z.string().optional(),format:r.z.union([r.z.object({type:r.z.literal("grammar"),syntax:r.z.enum(["regex","lark"]),definition:r.z.string()}),r.z.object({type:r.z.literal("text")})]).optional()}))),el=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.string())),es=(0,o.createProviderDefinedToolFactory)({id:"openai.custom",inputSchema:el}),eu=r.z.object({key:r.z.string(),type:r.z.enum(["eq","ne","gt","gte","lt","lte","in","nin"]),value:r.z.union([r.z.string(),r.z.number(),r.z.boolean(),r.z.array(r.z.string())])}),ed=r.z.object({type:r.z.enum(["and","or"]),filters:r.z.array(r.z.union([eu,r.z.lazy(()=>ed)]))}),ep=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({vectorStoreIds:r.z.array(r.z.string()),maxNumResults:r.z.number().optional(),ranking:r.z.object({ranker:r.z.string().optional(),scoreThreshold:r.z.number().optional()}).optional(),filters:r.z.union([eu,ed]).optional()}))),ec=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({queries:r.z.array(r.z.string()),results:r.z.array(r.z.object({attributes:r.z.record(r.z.string(),r.z.unknown()),fileId:r.z.string(),filename:r.z.string(),score:r.z.number(),text:r.z.string()})).nullable()}))),em=(0,o.createProviderExecutedToolFactory)({id:"openai.file_search",inputSchema:r.z.object({}),outputSchema:ec}),eg=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.enum(["generate","edit","auto"]).optional(),background:r.z.enum(["auto","opaque","transparent"]).optional(),inputFidelity:r.z.enum(["low","high"]).optional(),inputImageMask:r.z.object({fileId:r.z.string().optional(),imageUrl:r.z.string().optional()}).optional(),model:r.z.string().optional(),moderation:r.z.enum(["auto","low"]).optional(),outputCompression:r.z.number().int().min(0).max(100).optional(),outputFormat:r.z.enum(["png","jpeg","webp"]).optional(),partialImages:r.z.number().int().min(0).max(3).optional(),quality:r.z.enum(["auto","low","medium","high"]).optional(),size:r.z.union([r.z.enum(["1024x1024","1024x1536","1536x1024","auto"]),r.z.string().regex(/^\d+x\d+$/)]).optional()}).strict())),eh=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),ef=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({result:r.z.string()}))),ey=(0,o.createProviderExecutedToolFactory)({id:"openai.image_generation",inputSchema:eh,outputSchema:ef}),ev=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.object({type:r.z.literal("exec"),command:r.z.array(r.z.string()),timeoutMs:r.z.number().optional(),user:r.z.string().optional(),workingDirectory:r.z.string().optional(),env:r.z.record(r.z.string(),r.z.string()).optional()})}))),eb=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({output:r.z.string()}))),e_=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.local_shell",inputSchema:ev,outputSchema:eb}),ew=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.object({commands:r.z.array(r.z.string()),timeoutMs:r.z.number().optional(),maxOutputLength:r.z.number().optional()})}))),ez=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({output:r.z.array(r.z.object({stdout:r.z.string(),stderr:r.z.string(),outcome:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("timeout")}),r.z.object({type:r.z.literal("exit"),exitCode:r.z.number()})])}))}))),eI=r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("skillReference"),providerReference:r.z.record(r.z.string(),r.z.string()),version:r.z.string().optional()}),r.z.object({type:r.z.literal("inline"),name:r.z.string(),description:r.z.string(),source:r.z.object({type:r.z.literal("base64"),mediaType:r.z.literal("application/zip"),data:r.z.string()})})])).optional(),ex=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({environment:r.z.union([r.z.object({type:r.z.literal("containerAuto"),fileIds:r.z.array(r.z.string()).optional(),memoryLimit:r.z.enum(["1g","4g","16g","64g"]).optional(),networkPolicy:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("disabled")}),r.z.object({type:r.z.literal("allowlist"),allowedDomains:r.z.array(r.z.string()),domainSecrets:r.z.array(r.z.object({domain:r.z.string(),name:r.z.string(),value:r.z.string()})).optional()})]).optional(),skills:eI}),r.z.object({type:r.z.literal("containerReference"),containerId:r.z.string()}),r.z.object({type:r.z.literal("local").optional(),skills:r.z.array(r.z.object({name:r.z.string(),description:r.z.string(),path:r.z.string()})).optional()})]).optional()}))),ek=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.shell",inputSchema:ew,outputSchema:ez}),eT=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({execution:r.z.enum(["server","client"]).optional(),description:r.z.string().optional(),parameters:r.z.record(r.z.string(),r.z.unknown()).optional()}))),eS=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({arguments:r.z.unknown().optional(),call_id:r.z.string().nullish()}))),eM=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({tools:r.z.array(r.z.record(r.z.string(),r.z.unknown()))}))),eC=(0,o.createProviderDefinedToolFactoryWithOutputSchema)({id:"openai.tool_search",inputSchema:eS,outputSchema:eM}),eE=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({externalWebAccess:r.z.boolean().optional(),filters:r.z.object({allowedDomains:r.z.array(r.z.string()).optional(),blockedDomains:r.z.array(r.z.string()).optional()}).optional(),searchContextSize:r.z.enum(["low","medium","high"]).optional(),userLocation:r.z.object({type:r.z.literal("approximate"),country:r.z.string().optional(),city:r.z.string().optional(),region:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}))),ej=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),eR=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("search"),query:r.z.string().optional(),queries:r.z.array(r.z.string()).optional()}),r.z.object({type:r.z.literal("openPage"),url:r.z.string().nullish()}),r.z.object({type:r.z.literal("findInPage"),url:r.z.string().nullish(),pattern:r.z.string().nullish()})]).optional(),sources:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("url"),url:r.z.string()}),r.z.object({type:r.z.literal("api"),name:r.z.string()})])).optional()}))),eO=(0,o.createProviderExecutedToolFactory)({id:"openai.web_search",inputSchema:ej,outputSchema:eR}),eA=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({searchContextSize:r.z.enum(["low","medium","high"]).optional(),userLocation:r.z.object({type:r.z.literal("approximate"),country:r.z.string().optional(),city:r.z.string().optional(),region:r.z.string().optional(),timezone:r.z.string().optional()}).optional()}))),eN=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),eP=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({action:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("search"),query:r.z.string().optional()}),r.z.object({type:r.z.literal("openPage"),url:r.z.string().nullish()}),r.z.object({type:r.z.literal("findInPage"),url:r.z.string().nullish(),pattern:r.z.string().nullish()})]).optional()}))),eq=(0,o.createProviderExecutedToolFactory)({id:"openai.web_search_preview",inputSchema:eN,outputSchema:eP}),eD=r.z.lazy(()=>r.z.union([r.z.string(),r.z.number(),r.z.boolean(),r.z.null(),r.z.array(eD),r.z.record(r.z.string(),eD)])),eU=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({serverLabel:r.z.string(),allowedTools:r.z.union([r.z.array(r.z.string()),r.z.object({readOnly:r.z.boolean().optional(),toolNames:r.z.array(r.z.string()).optional()})]).optional(),authorization:r.z.string().optional(),connectorId:r.z.string().optional(),headers:r.z.record(r.z.string(),r.z.string()).optional(),requireApproval:r.z.union([r.z.enum(["always","never"]),r.z.object({never:r.z.object({toolNames:r.z.array(r.z.string()).optional()}).optional()})]).optional(),serverDescription:r.z.string().optional(),serverUrl:r.z.string().optional()}).refine(e=>null!=e.serverUrl||null!=e.connectorId,"One of serverUrl or connectorId must be provided."))),e$=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),eF=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({type:r.z.literal("call"),serverLabel:r.z.string(),name:r.z.string(),arguments:r.z.string(),output:r.z.string().nullish(),error:r.z.union([r.z.string(),eD]).optional()}))),eL=(0,o.createProviderExecutedToolFactory)({id:"openai.mcp",inputSchema:e$,outputSchema:eF}),eH=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({code:r.z.string(),fingerprint:r.z.string()}))),eV=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({result:r.z.string(),status:r.z.enum(["completed","incomplete"])}))),eJ=(0,o.createProviderExecutedToolFactory)({id:"openai.programmatic_tool_calling",inputSchema:eH,outputSchema:eV,supportsDeferredResults:!0}),eB={applyPatch:Y,customTool:e=>es(e),codeInterpreter:(e={})=>ee(e),computer:(e={})=>en(e),fileSearch:em,imageGeneration:(e={})=>ey(e),localShell:e_,shell:ek,webSearchPreview:eq,webSearch:(e={})=>eO(e),mcp:e=>eL(e),programmaticToolCalling:()=>(0,o.experimental_toolCaller)(eJ({}),{type:"provider",prepareProviderOptions:e=>{var t;let o=null==e?void 0:e.openai;return{...e,openai:{...o,allowedCallers:[...new Set([...null!=(t=null==o?void 0:o.allowedCallers)?t:[],"programmatic"])]}}}}),toolSearch:(e={})=>eC(e)};function eW(e){if(null==e.provider)throw Error("OpenAI model is missing provider after workflow deserialization.");return{...e,provider:e.provider,url:"function"==typeof e.url?e.url:({path:t})=>{if(null==e.baseURL)throw Error("OpenAI model is missing baseURL after workflow deserialization.");return`${e.baseURL}${t}`},headers:"function"==typeof e.headers?e.headers:null==e.headers?void 0:()=>e.headers}}function eK(e){var t,a,r,n,i,l;if(null==e)return(0,o.createNullLanguageModelUsage)();let s=e.input_tokens,u=e.output_tokens,d=null!=(a=null==(t=e.input_tokens_details)?void 0:t.cached_tokens)?a:0,p=null!=(n=null==(r=e.input_tokens_details)?void 0:r.cache_write_tokens)?n:void 0,c=null!=(l=null==(i=e.output_tokens_details)?void 0:i.reasoning_tokens)?l:0;return{inputTokens:{total:s,noCache:s-d-(null!=p?p:0),cacheRead:d,cacheWrite:p},outputTokens:{total:u,text:u-c,reasoning:c},raw:e}}function eG({finishReason:e,hasFunctionCall:t}){switch(e){case void 0:case null:return t?"tool-calls":"stop";case"max_output_tokens":return"length";case"content_filter":return"content-filter";default:return t?"tool-calls":"other"}}var eY=r.z.lazy(()=>r.z.union([r.z.string(),r.z.number(),r.z.boolean(),r.z.null(),r.z.array(eY),r.z.record(r.z.string(),eY.optional())])),eZ=r.z.record(r.z.string(),eY.optional()),eX=r.z.intersection(eZ,r.z.object({input_tokens:r.z.number(),input_tokens_details:r.z.intersection(eZ,r.z.object({cached_tokens:r.z.number().nullish(),cache_write_tokens:r.z.number().nullish(),orchestration_input_tokens:r.z.number().nullish(),orchestration_input_cached_tokens:r.z.number().nullish()})).nullish(),output_tokens:r.z.number(),output_tokens_details:r.z.intersection(eZ,r.z.object({reasoning_tokens:r.z.number().nullish(),orchestration_output_tokens:r.z.number().nullish()})).nullish(),total_tokens:r.z.number().optional()})),eQ=r.z.object({id:r.z.string(),code:r.z.string().nullish(),message:r.z.string().nullish()}),e0=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("click"),button:r.z.enum(["left","right","wheel","back","forward"]),x:r.z.number(),y:r.z.number(),keys:r.z.array(r.z.string()).nullish()}),r.z.object({type:r.z.literal("double_click"),x:r.z.number(),y:r.z.number(),keys:r.z.array(r.z.string()).nullish()}),r.z.object({type:r.z.literal("drag"),path:r.z.array(r.z.object({x:r.z.number(),y:r.z.number()})),keys:r.z.array(r.z.string()).nullish()}),r.z.object({type:r.z.literal("keypress"),keys:r.z.array(r.z.string())}),r.z.object({type:r.z.literal("move"),x:r.z.number(),y:r.z.number(),keys:r.z.array(r.z.string()).nullish()}),r.z.object({type:r.z.literal("screenshot")}),r.z.object({type:r.z.literal("scroll"),x:r.z.number(),y:r.z.number(),scroll_x:r.z.number(),scroll_y:r.z.number(),keys:r.z.array(r.z.string()).nullish()}),r.z.object({type:r.z.literal("type"),text:r.z.string()}),r.z.object({type:r.z.literal("wait")})]),e1=r.z.object({type:r.z.literal("computer_call"),id:r.z.string(),call_id:r.z.string().nullish(),status:r.z.enum(["in_progress","completed","incomplete"]),action:e0.nullish(),actions:r.z.array(e0).nullish(),pending_safety_checks:r.z.array(eQ).nullish()}),e4=r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("direct")}),r.z.object({type:r.z.literal("program"),caller_id:r.z.string()})]),e2=r.z.object({type:r.z.literal("program"),id:r.z.string(),call_id:r.z.string(),code:r.z.string(),fingerprint:r.z.string()}),e6=r.z.object({type:r.z.literal("program_output"),id:r.z.string(),call_id:r.z.string(),result:r.z.string(),status:r.z.enum(["completed","incomplete"])}),e3=r.z.object({type:r.z.literal("local_shell_call"),id:r.z.string(),call_id:r.z.string(),action:r.z.object({type:r.z.literal("exec"),command:r.z.array(r.z.string()),timeout_ms:r.z.number().optional(),user:r.z.string().optional(),working_directory:r.z.string().optional(),env:r.z.record(r.z.string(),r.z.string()).optional()})}),e8=r.z.object({type:r.z.literal("error"),sequence_number:r.z.number(),error:r.z.object({type:r.z.string(),code:r.z.string(),message:r.z.string(),param:r.z.string().nullish()})}),e5=r.z.object({type:r.z.literal("error"),sequence_number:r.z.number(),code:r.z.string().nullish(),message:r.z.string(),param:r.z.string().nullish()}),e9=new Set(["error","response.apply_patch_call_operation_diff.delta","response.apply_patch_call_operation_diff.done","response.code_interpreter_call_code.delta","response.code_interpreter_call_code.done","response.completed","response.created","response.custom_tool_call_input.delta","response.failed","response.function_call_arguments.delta","response.function_call_arguments.done","response.image_generation_call.partial_image","response.in_progress","response.incomplete","response.output_item.added","response.output_item.done","response.output_text.annotation.added","response.output_text.delta","response.reasoning_summary_part.added","response.reasoning_summary_part.done","response.reasoning_summary_text.delta"]),e7=new Set(["apply_patch_call","code_interpreter_call","compaction","computer_call","custom_tool_call","file_search_call","function_call","image_generation_call","local_shell_call","mcp_approval_request","mcp_call","mcp_list_tools","message","program","program_output","reasoning","shell_call","shell_call_output","tool_search_call","tool_search_output","web_search_call"]),te=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.union([r.z.object({type:r.z.literal("response.output_text.delta"),item_id:r.z.string(),output_index:r.z.number().nullish(),delta:r.z.string(),logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number(),top_logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number()}))})).nullish()}),r.z.object({type:r.z.enum(["response.completed","response.incomplete"]),response:r.z.object({incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:eX.nullish(),reasoning:r.z.object({context:r.z.string().nullish()}).nullish(),service_tier:r.z.string().nullish()})}),r.z.object({type:r.z.literal("response.failed"),sequence_number:r.z.number(),response:r.z.object({error:r.z.object({code:r.z.string().nullish(),message:r.z.string()}).nullish(),incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:eX.nullish(),reasoning:r.z.object({context:r.z.string().nullish()}).nullish(),service_tier:r.z.string().nullish()})}),r.z.object({type:r.z.literal("response.created"),response:r.z.object({id:r.z.string(),created_at:r.z.number(),model:r.z.string(),service_tier:r.z.string().nullish()})}),r.z.object({type:r.z.literal("response.in_progress"),response:r.z.object({id:r.z.string(),created_at:r.z.number(),model:r.z.string(),service_tier:r.z.string().nullish()})}),r.z.object({type:r.z.literal("response.output_item.added"),output_index:r.z.number(),item:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("message"),id:r.z.string(),phase:r.z.enum(["commentary","final_answer"]).nullish()}),r.z.object({type:r.z.literal("reasoning"),id:r.z.string(),encrypted_content:r.z.string().nullish()}),r.z.object({type:r.z.literal("function_call"),id:r.z.string(),call_id:r.z.string(),name:r.z.string(),arguments:r.z.string(),namespace:r.z.string().nullish(),caller:e4.nullish()}),e2,e6,r.z.object({type:r.z.literal("web_search_call"),id:r.z.string(),status:r.z.string()}),e1,r.z.object({type:r.z.literal("file_search_call"),id:r.z.string()}),e3,r.z.object({type:r.z.literal("image_generation_call"),id:r.z.string()}),r.z.object({type:r.z.literal("code_interpreter_call"),id:r.z.string(),container_id:r.z.string(),code:r.z.string().nullable(),outputs:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("logs"),logs:r.z.string()}),r.z.object({type:r.z.literal("image"),url:r.z.string()})])).nullable(),status:r.z.string()}),r.z.object({type:r.z.literal("mcp_call"),id:r.z.string(),status:r.z.string(),approval_request_id:r.z.string().nullish()}),r.z.object({type:r.z.literal("mcp_list_tools"),id:r.z.string()}),r.z.object({type:r.z.literal("mcp_approval_request"),id:r.z.string()}),r.z.object({type:r.z.literal("apply_patch_call"),id:r.z.string(),call_id:r.z.string(),status:r.z.enum(["in_progress","completed"]),operation:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("create_file"),path:r.z.string(),diff:r.z.string()}),r.z.object({type:r.z.literal("delete_file"),path:r.z.string()}),r.z.object({type:r.z.literal("update_file"),path:r.z.string(),diff:r.z.string()})])}),r.z.object({type:r.z.literal("custom_tool_call"),id:r.z.string(),call_id:r.z.string(),name:r.z.string(),input:r.z.string()}),r.z.object({type:r.z.literal("shell_call"),id:r.z.string(),call_id:r.z.string(),status:r.z.enum(["in_progress","completed","incomplete"]),action:r.z.object({commands:r.z.array(r.z.string())})}),r.z.object({type:r.z.literal("compaction"),id:r.z.string(),encrypted_content:r.z.string().nullish()}),r.z.object({type:r.z.literal("shell_call_output"),id:r.z.string(),call_id:r.z.string(),status:r.z.enum(["in_progress","completed","incomplete"]),output:r.z.array(r.z.object({stdout:r.z.string(),stderr:r.z.string(),outcome:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("timeout")}),r.z.object({type:r.z.literal("exit"),exit_code:r.z.number()})])}))}),r.z.object({type:r.z.literal("tool_search_call"),id:r.z.string(),execution:r.z.enum(["server","client"]),call_id:r.z.string().nullable(),status:r.z.enum(["in_progress","completed","incomplete"]),arguments:r.z.unknown()}),r.z.object({type:r.z.literal("tool_search_output"),id:r.z.string(),execution:r.z.enum(["server","client"]),call_id:r.z.string().nullable(),status:r.z.enum(["in_progress","completed","incomplete"]),tools:r.z.array(r.z.record(r.z.string(),eY.optional()))})])}),r.z.object({type:r.z.literal("response.output_item.done"),output_index:r.z.number(),item:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("message"),id:r.z.string(),phase:r.z.enum(["commentary","final_answer"]).nullish()}),r.z.object({type:r.z.literal("reasoning"),id:r.z.string(),encrypted_content:r.z.string().nullish()}),r.z.object({type:r.z.literal("function_call"),id:r.z.string(),call_id:r.z.string(),name:r.z.string(),arguments:r.z.string(),status:r.z.enum(["in_progress","completed","incomplete"]),namespace:r.z.string().nullish(),caller:e4.nullish()}),e2,e6,r.z.object({type:r.z.literal("custom_tool_call"),id:r.z.string(),call_id:r.z.string(),name:r.z.string(),input:r.z.string(),status:r.z.literal("completed")}),r.z.object({type:r.z.literal("code_interpreter_call"),id:r.z.string(),code:r.z.string().nullable(),container_id:r.z.string(),outputs:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("logs"),logs:r.z.string()}),r.z.object({type:r.z.literal("image"),url:r.z.string()})])).nullable()}),r.z.object({type:r.z.literal("image_generation_call"),id:r.z.string(),result:r.z.string()}),r.z.object({type:r.z.literal("web_search_call"),id:r.z.string(),status:r.z.string(),action:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("search"),query:r.z.string().nullish(),queries:r.z.array(r.z.string()).nullish(),sources:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("url"),url:r.z.string()}),r.z.object({type:r.z.literal("api"),name:r.z.string()})])).nullish()}),r.z.object({type:r.z.literal("open_page"),url:r.z.string().nullish()}),r.z.object({type:r.z.literal("find_in_page"),url:r.z.string().nullish(),pattern:r.z.string().nullish()})]).nullish()}),r.z.object({type:r.z.literal("file_search_call"),id:r.z.string(),queries:r.z.array(r.z.string()),results:r.z.array(r.z.object({attributes:r.z.record(r.z.string(),r.z.union([r.z.string(),r.z.number(),r.z.boolean()])),file_id:r.z.string(),filename:r.z.string(),score:r.z.number(),text:r.z.string()})).nullish()}),e3,e1,r.z.object({type:r.z.literal("mcp_call"),id:r.z.string(),status:r.z.string(),arguments:r.z.string(),name:r.z.string(),server_label:r.z.string(),output:r.z.string().nullish(),error:r.z.union([r.z.string(),r.z.object({type:r.z.string().optional(),code:r.z.union([r.z.number(),r.z.string()]).optional(),message:r.z.string().optional()}).loose()]).nullish(),approval_request_id:r.z.string().nullish()}),r.z.object({type:r.z.literal("mcp_list_tools"),id:r.z.string(),server_label:r.z.string(),tools:r.z.array(r.z.object({name:r.z.string(),description:r.z.string().optional(),input_schema:r.z.any(),annotations:r.z.record(r.z.string(),r.z.unknown()).optional()})),error:r.z.union([r.z.string(),r.z.object({type:r.z.string().optional(),code:r.z.union([r.z.number(),r.z.string()]).optional(),message:r.z.string().optional()}).loose()]).optional()}),r.z.object({type:r.z.literal("mcp_approval_request"),id:r.z.string(),server_label:r.z.string(),name:r.z.string(),arguments:r.z.string(),approval_request_id:r.z.string().optional()}),r.z.object({type:r.z.literal("apply_patch_call"),id:r.z.string(),call_id:r.z.string(),status:r.z.enum(["in_progress","completed"]),operation:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("create_file"),path:r.z.string(),diff:r.z.string()}),r.z.object({type:r.z.literal("delete_file"),path:r.z.string()}),r.z.object({type:r.z.literal("update_file"),path:r.z.string(),diff:r.z.string()})])}),r.z.object({type:r.z.literal("shell_call"),id:r.z.string(),call_id:r.z.string(),status:r.z.enum(["in_progress","completed","incomplete"]),action:r.z.object({commands:r.z.array(r.z.string())})}),r.z.object({type:r.z.literal("compaction"),id:r.z.string(),encrypted_content:r.z.string()}),r.z.object({type:r.z.literal("shell_call_output"),id:r.z.string(),call_id:r.z.string(),status:r.z.enum(["in_progress","completed","incomplete"]),output:r.z.array(r.z.object({stdout:r.z.string(),stderr:r.z.string(),outcome:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("timeout")}),r.z.object({type:r.z.literal("exit"),exit_code:r.z.number()})])}))}),r.z.object({type:r.z.literal("tool_search_call"),id:r.z.string(),execution:r.z.enum(["server","client"]),call_id:r.z.string().nullable(),status:r.z.enum(["in_progress","completed","incomplete"]),arguments:r.z.unknown()}),r.z.object({type:r.z.literal("tool_search_output"),id:r.z.string(),execution:r.z.enum(["server","client"]),call_id:r.z.string().nullable(),status:r.z.enum(["in_progress","completed","incomplete"]),tools:r.z.array(r.z.record(r.z.string(),eY.optional()))})])}),r.z.object({type:r.z.literal("response.function_call_arguments.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.function_call_arguments.done"),item_id:r.z.string(),output_index:r.z.number(),arguments:r.z.string()}),r.z.object({type:r.z.literal("response.custom_tool_call_input.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.image_generation_call.partial_image"),item_id:r.z.string(),output_index:r.z.number(),partial_image_b64:r.z.string()}),r.z.object({type:r.z.literal("response.code_interpreter_call_code.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.code_interpreter_call_code.done"),item_id:r.z.string(),output_index:r.z.number(),code:r.z.string()}),r.z.object({type:r.z.literal("response.output_text.annotation.added"),annotation:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("url_citation"),start_index:r.z.number(),end_index:r.z.number(),url:r.z.string(),title:r.z.string()}),r.z.object({type:r.z.literal("file_citation"),file_id:r.z.string(),filename:r.z.string(),index:r.z.number()}),r.z.object({type:r.z.literal("container_file_citation"),container_id:r.z.string(),file_id:r.z.string(),filename:r.z.string(),start_index:r.z.number(),end_index:r.z.number()}),r.z.object({type:r.z.literal("file_path"),file_id:r.z.string(),index:r.z.number()})])}),r.z.object({type:r.z.literal("response.reasoning_summary_part.added"),item_id:r.z.string(),output_index:r.z.number().nullish(),summary_index:r.z.number()}),r.z.object({type:r.z.literal("response.reasoning_summary_text.delta"),item_id:r.z.string(),output_index:r.z.number().nullish(),summary_index:r.z.number(),delta:r.z.string()}),r.z.object({type:r.z.literal("response.reasoning_summary_part.done"),item_id:r.z.string(),output_index:r.z.number().nullish(),summary_index:r.z.number()}),r.z.object({type:r.z.literal("response.apply_patch_call_operation_diff.delta"),item_id:r.z.string(),output_index:r.z.number(),delta:r.z.string(),obfuscation:r.z.string().nullish()}),r.z.object({type:r.z.literal("response.apply_patch_call_operation_diff.done"),item_id:r.z.string(),output_index:r.z.number(),diff:r.z.string()}),e8,e5,r.z.object({type:r.z.string()}).loose().refine(e=>!("string"==typeof e.type&&e9.has(e.type)&&(!(("response.output_item.added"===e.type||"response.output_item.done"===e.type)&&(0,o.isRecord)(e.item)&&"string"==typeof e.item.type)||e7.has(e.item.type))),{message:"Known response chunk failed schema validation"}).transform(e=>({type:"unknown_chunk",message:e.type}))]))),tt=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string().optional(),created_at:r.z.number().optional(),error:r.z.object({message:r.z.string(),type:r.z.string(),param:r.z.string().nullish(),code:r.z.string()}).nullish(),model:r.z.string().optional(),output:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("message"),role:r.z.literal("assistant"),id:r.z.string(),phase:r.z.enum(["commentary","final_answer"]).nullish(),content:r.z.array(r.z.object({type:r.z.literal("output_text"),text:r.z.string(),logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number(),top_logprobs:r.z.array(r.z.object({token:r.z.string(),logprob:r.z.number()}))})).nullish(),annotations:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("url_citation"),start_index:r.z.number(),end_index:r.z.number(),url:r.z.string(),title:r.z.string()}),r.z.object({type:r.z.literal("file_citation"),file_id:r.z.string(),filename:r.z.string(),index:r.z.number()}),r.z.object({type:r.z.literal("container_file_citation"),container_id:r.z.string(),file_id:r.z.string(),filename:r.z.string(),start_index:r.z.number(),end_index:r.z.number()}),r.z.object({type:r.z.literal("file_path"),file_id:r.z.string(),index:r.z.number()})]))}))}),r.z.object({type:r.z.literal("web_search_call"),id:r.z.string(),status:r.z.string(),action:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("search"),query:r.z.string().nullish(),queries:r.z.array(r.z.string()).nullish(),sources:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("url"),url:r.z.string()}),r.z.object({type:r.z.literal("api"),name:r.z.string()})])).nullish()}),r.z.object({type:r.z.literal("open_page"),url:r.z.string().nullish()}),r.z.object({type:r.z.literal("find_in_page"),url:r.z.string().nullish(),pattern:r.z.string().nullish()})]).nullish()}),r.z.object({type:r.z.literal("file_search_call"),id:r.z.string(),queries:r.z.array(r.z.string()),results:r.z.array(r.z.object({attributes:r.z.record(r.z.string(),r.z.union([r.z.string(),r.z.number(),r.z.boolean()])),file_id:r.z.string(),filename:r.z.string(),score:r.z.number(),text:r.z.string()})).nullish()}),r.z.object({type:r.z.literal("code_interpreter_call"),id:r.z.string(),code:r.z.string().nullable(),container_id:r.z.string(),outputs:r.z.array(r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("logs"),logs:r.z.string()}),r.z.object({type:r.z.literal("image"),url:r.z.string()})])).nullable()}),r.z.object({type:r.z.literal("image_generation_call"),id:r.z.string(),result:r.z.string()}),e3,r.z.object({type:r.z.literal("function_call"),call_id:r.z.string(),name:r.z.string(),arguments:r.z.string(),id:r.z.string(),namespace:r.z.string().nullish(),caller:e4.nullish()}),e2,e6,r.z.object({type:r.z.literal("custom_tool_call"),call_id:r.z.string(),name:r.z.string(),input:r.z.string(),id:r.z.string()}),e1,r.z.object({type:r.z.literal("reasoning"),id:r.z.string(),encrypted_content:r.z.string().nullish(),summary:r.z.array(r.z.object({type:r.z.literal("summary_text"),text:r.z.string()}))}),r.z.object({type:r.z.literal("mcp_call"),id:r.z.string(),status:r.z.string(),arguments:r.z.string(),name:r.z.string(),server_label:r.z.string(),output:r.z.string().nullish(),error:r.z.union([r.z.string(),r.z.object({type:r.z.string().optional(),code:r.z.union([r.z.number(),r.z.string()]).optional(),message:r.z.string().optional()}).loose()]).nullish(),approval_request_id:r.z.string().nullish()}),r.z.object({type:r.z.literal("mcp_list_tools"),id:r.z.string(),server_label:r.z.string(),tools:r.z.array(r.z.object({name:r.z.string(),description:r.z.string().optional(),input_schema:r.z.any(),annotations:r.z.record(r.z.string(),r.z.unknown()).optional()})),error:r.z.union([r.z.string(),r.z.object({type:r.z.string().optional(),code:r.z.union([r.z.number(),r.z.string()]).optional(),message:r.z.string().optional()}).loose()]).optional()}),r.z.object({type:r.z.literal("mcp_approval_request"),id:r.z.string(),server_label:r.z.string(),name:r.z.string(),arguments:r.z.string(),approval_request_id:r.z.string().optional()}),r.z.object({type:r.z.literal("apply_patch_call"),id:r.z.string(),call_id:r.z.string(),status:r.z.enum(["in_progress","completed"]),operation:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("create_file"),path:r.z.string(),diff:r.z.string()}),r.z.object({type:r.z.literal("delete_file"),path:r.z.string()}),r.z.object({type:r.z.literal("update_file"),path:r.z.string(),diff:r.z.string()})])}),r.z.object({type:r.z.literal("shell_call"),id:r.z.string(),call_id:r.z.string(),status:r.z.enum(["in_progress","completed","incomplete"]),action:r.z.object({commands:r.z.array(r.z.string())})}),r.z.object({type:r.z.literal("compaction"),id:r.z.string(),encrypted_content:r.z.string()}),r.z.object({type:r.z.literal("shell_call_output"),id:r.z.string(),call_id:r.z.string(),status:r.z.enum(["in_progress","completed","incomplete"]),output:r.z.array(r.z.object({stdout:r.z.string(),stderr:r.z.string(),outcome:r.z.discriminatedUnion("type",[r.z.object({type:r.z.literal("timeout")}),r.z.object({type:r.z.literal("exit"),exit_code:r.z.number()})])}))}),r.z.object({type:r.z.literal("tool_search_call"),id:r.z.string(),execution:r.z.enum(["server","client"]),call_id:r.z.string().nullable(),status:r.z.enum(["in_progress","completed","incomplete"]),arguments:r.z.unknown()}),r.z.object({type:r.z.literal("tool_search_output"),id:r.z.string(),execution:r.z.enum(["server","client"]),call_id:r.z.string().nullable(),status:r.z.enum(["in_progress","completed","incomplete"]),tools:r.z.array(r.z.record(r.z.string(),eY.optional()))})])).optional(),service_tier:r.z.string().nullish(),reasoning:r.z.object({context:r.z.string().nullish()}).nullish(),incomplete_details:r.z.object({reason:r.z.string()}).nullish(),usage:eX.nullish()}))),to="parallel",ta="functions.";function tr({providerOptions:e,providerOptionsName:t}){var o;let a=null==(o=null==e?void 0:e[t])?void 0:o.parallelToolCall;if((0,n.isJSONObject)(a)&&"string"==typeof a.itemId&&"string"==typeof a.toolCallId&&"string"==typeof a.toolName&&"string"==typeof a.input&&"number"==typeof a.index&&Number.isInteger(a.index)&&"number"==typeof a.count&&Number.isInteger(a.count)&&!(a.index<0)&&!(a.count<=a.index))return a}function tn({toolName:e,tools:t}){return e===to&&!t.some(e=>e.name===to)}async function ti({toolCall:e,tools:t,providerOptionsName:a,itemId:r}){if(!tn({toolName:e.toolName,tools:t}))return;let i=await (0,o.safeParseJSON)({text:e.input});if(!i.success||!(0,n.isJSONObject)(i.value))return;let l=i.value.tool_uses;if(!Array.isArray(l)||0===l.length)return;let s=new Set(t.map(e=>e.name)),u=[];for(let[t,o]of l.entries()){if(!(0,n.isJSONObject)(o))return;let i=o.recipient_name,d=o.parameters;if("string"!=typeof i||!i.startsWith(ta)||!(0,n.isJSONObject)(d))return;let p=i.slice(ta.length);if(0===p.length||!s.has(p))return;u.push({type:"tool-call",toolCallId:`${e.toolCallId}_${t}`,toolName:p,input:JSON.stringify(d),providerMetadata:{[a]:{parallelToolCall:{itemId:r,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,index:t,count:l.length}}}})}return u}function tl(e){return null==e?void 0:"program"===e.type?{type:"program",caller_id:e.callerId}:e}async function ts({output:e,toolName:t,outputSchemaToolNames:a,promptCacheBreakpoint:r,providerOptionsName:n,warnings:i}){var l;let s=null==a?void 0:a.has(t),u=e=>null==r?e:[{type:"input_text",text:e,prompt_cache_breakpoint:r}];switch(e.type){case"text":case"error-text":return u(s?JSON.stringify(e.value):e.value);case"execution-denied":{let t=null!=(l=e.reason)?l:"Tool call execution denied.";return u(s?JSON.stringify(t):t)}case"json":case"error-json":return u(JSON.stringify(e.value));case"content":return e.value.map(e=>{var t,a,r;let l=td(e.providerOptions,n);switch(e.type){case"text":return{type:"input_text",text:e.text,...null!=l&&{prompt_cache_breakpoint:l}};case"file":{let s=(0,o.getTopLevelMediaType)(e.mediaType),u=null==(a=null==(t=e.providerOptions)?void 0:t[n])?void 0:a.imageDetail;if("data"===e.data.type){let t=(0,o.resolveFullMediaType)({part:e});if("image"===s)return{type:"input_image",image_url:`data:${t};base64,${(0,o.convertToBase64)(e.data.data)}`,detail:u,...null!=l&&{prompt_cache_breakpoint:l}};return{type:"input_file",filename:null!=(r=e.filename)?r:"data",file_data:`data:${t};base64,${(0,o.convertToBase64)(e.data.data)}`,...null!=l&&{prompt_cache_breakpoint:l}}}if("url"===e.data.type){if("image"===s)return{type:"input_image",image_url:e.data.url.toString(),detail:u,...null!=l&&{prompt_cache_breakpoint:l}};return{type:"input_file",file_url:e.data.url.toString(),...null!=l&&{prompt_cache_breakpoint:l}}}i.push({type:"other",message:`unsupported tool content part type: ${e.type} with data type: ${e.data.type}`});return}default:return void i.push({type:"other",message:`unsupported tool content part type: ${e.type}`})}}).filter(o.isNonNullable)}}function tu(e,t){return e.itemId===t.itemId&&e.toolCallId===t.toolCallId&&e.toolName===t.toolName&&e.input===t.input&&e.count===t.count}function td(e,t){var o;return null==(o=null==e?void 0:e[t])?void 0:o.promptCacheBreakpoint}function tp({output:e,toolResultProviderOptions:t,providerOptionsName:o}){var a;return"content"===e.type?void 0:null!=(a=td(e.providerOptions,o))?a:td(t,o)}function tc(e,t){return!!t&&t.some(t=>e.startsWith(t))}async function tm({prompt:e,toolNameMapping:t,systemMessageMode:a,providerOptionsName:r,fileIdPrefixes:i,passThroughUnsupportedFiles:l=!1,store:s,hasConversation:u=!1,hasPreviousResponseId:d=!1,hasLocalShellTool:p=!1,hasShellTool:c=!1,hasApplyPatchTool:m=!1,hasComputerTool:g=!1,toolSearchToolName:h,customProviderToolNames:f,outputSchemaToolNames:y}){var v,b,_,w,z,I,x,k,T,S,M,C,E,j,R,O,A,N,P,q,D,U,$,F,L,H,V,J,B,W,Y,Z,X,Q,ee,et,eo,en;let ei=[],el=[],es=new Set,eu=u||d?function({prompt:e,providerOptionsName:t}){let a=new Map;for(let o of e)if("tool"===o.role)for(let e of o.content){if("tool-result"!==e.type)continue;let o=tr({providerOptions:e.providerOptions,providerOptionsName:t});if(null==o)continue;let r=a.get(o.toolCallId);if(null==r){a.set(o.toolCallId,{metadata:o,results:new Map([[o.index,e]]),invalid:!1});continue}if(!tu(r.metadata,o)||r.results.has(o.index)){r.invalid=!0;continue}r.results.set(o.index,e)}let r=new Map;for(let[e,t]of a){if(t.invalid||t.results.size!==t.metadata.count)continue;let a=Array.from({length:t.metadata.count},(e,o)=>t.results.get(o));a.every(o.isNonNullable)&&r.set(e,{metadata:t.metadata,results:a})}return r}({prompt:e,providerOptionsName:r}):new Map,ed=new Set,ep=new Set;for(let{role:ec,content:em,providerOptions:eg}of e)switch(ec){case"system":switch(a){case"system":{let e=td(eg,r);ei.push({role:"system",content:null==e?em:[{type:"input_text",text:em,prompt_cache_breakpoint:e}]});break}case"developer":{let e=td(eg,r);ei.push({role:"developer",content:null==e?em:[{type:"input_text",text:em,prompt_cache_breakpoint:e}]});break}case"remove":el.push({type:"other",message:"system messages are removed for this model"});break;default:throw Error(`Unsupported system message mode: ${a}`)}break;case"user":ei.push({role:"user",content:em.map((e,t)=>{var a,s,u,d,p;switch(e.type){case"text":{let t=td(e.providerOptions,r);return{type:"input_text",text:e.text,...null!=t&&{prompt_cache_breakpoint:t}}}case"file":{let c=td(e.providerOptions,r);switch(e.data.type){case"reference":{let t=(0,o.resolveProviderReference)({reference:e.data.reference,provider:r});if("image"===(0,o.getTopLevelMediaType)(e.mediaType))return{type:"input_image",file_id:t,detail:null==(s=null==(a=e.providerOptions)?void 0:a[r])?void 0:s.imageDetail,...null!=c&&{prompt_cache_breakpoint:c}};return{type:"input_file",file_id:t,...null!=c&&{prompt_cache_breakpoint:c}}}case"text":throw new n.UnsupportedFunctionalityError({functionality:"text file parts"});case"url":case"data":if("image"===(0,o.getTopLevelMediaType)(e.mediaType))return{type:"input_image",..."url"===e.data.type?{image_url:e.data.url.toString()}:"string"==typeof e.data.data&&tc(e.data.data,i)?{file_id:e.data.data}:{image_url:`data:${(0,o.resolveFullMediaType)({part:e})};base64,${(0,o.convertToBase64)(e.data.data)}`},detail:null==(d=null==(u=e.providerOptions)?void 0:u[r])?void 0:d.imageDetail,...null!=c&&{prompt_cache_breakpoint:c}};{if("url"===e.data.type)return{type:"input_file",file_url:e.data.url.toString(),...null!=c&&{prompt_cache_breakpoint:c}};let a=(0,o.resolveFullMediaType)({part:e});if("application/pdf"!==a&&!l)throw new n.UnsupportedFunctionalityError({functionality:`file part media type ${a}`});return{type:"input_file",..."string"==typeof e.data.data&&tc(e.data.data,i)?{file_id:e.data.data}:{filename:null!=(p=e.filename)?p:"application/pdf"===a?`part-${t}.pdf`:`part-${t}`,file_data:`data:${a};base64,${(0,o.convertToBase64)(e.data.data)}`},...null!=c&&{prompt_cache_breakpoint:c}}}}}}})});break;case"assistant":{let e={};for(let a of em)switch(a.type){case"text":{let e=null==(v=a.providerOptions)?void 0:v[r],t=null==e?void 0:e.itemId,o=null==e?void 0:e.phase;if(u&&null!=t)break;if(s&&null!=t){ei.push({type:"item_reference",id:t});break}ei.push({role:"assistant",content:[{type:"output_text",text:a.text}],id:t,...null!=o&&{phase:o}});break}case"tool-call":{let e=tr({providerOptions:a.providerOptions,providerOptionsName:r}),n=null==e?void 0:eu.get(e.toolCallId);if(null!=e&&null!=n&&tu(n.metadata,e)){!ed.has(n.metadata.toolCallId)&&(ed.add(n.metadata.toolCallId),u||ei.push({type:"function_call",call_id:n.metadata.toolCallId,name:n.metadata.toolName,arguments:n.metadata.input}));break}let i=null!=(I=null==(_=null==(b=a.providerOptions)?void 0:b[r])?void 0:_.itemId)?I:null==(z=null==(w=a.providerMetadata)?void 0:w[r])?void 0:z.itemId,l=null!=(M=null==(k=null==(x=a.providerOptions)?void 0:x[r])?void 0:k.namespace)?M:null==(S=null==(T=a.providerMetadata)?void 0:T[r])?void 0:S.namespace,y=null==(E=null==(C=a.providerOptions)?void 0:C[r])?void 0:E.caller;if(u&&null!=i)break;let v=t.toProviderToolName(a.toolName);if(a.toolName===h){if(s&&null!=i){ei.push({type:"item_reference",id:i});break}let e="string"==typeof a.input?await (0,o.parseJSON)({text:a.input,schema:eS}):await (0,o.validateTypes)({value:a.input,schema:eS}),t=null!=e.call_id?"client":"server";ei.push({type:"tool_search_call",id:null!=i?i:a.toolCallId,execution:t,call_id:null!=(j=e.call_id)?j:null,status:"completed",arguments:e.arguments});break}if("programmatic_tool_calling"===v){if(s&&null!=i){ei.push({type:"item_reference",id:i});break}let e=await (0,o.validateTypes)({value:a.input,schema:eH});ei.push({type:"program",id:null!=i?i:a.toolCallId,call_id:a.toolCallId,code:e.code,fingerprint:e.fingerprint});break}if(a.providerExecuted&&(s&&null!=i&&ei.push({type:"item_reference",id:i}),s||!c||"shell"!==v))break;let O=p&&"local_shell"===v||c&&"shell"===v||m&&"apply_patch"===v||g&&"computer"===v||null!=(R=null==f?void 0:f.has(v))&&R;if(d&&s&&null!=i&&O)break;if(s&&null!=i&&O){ei.push({type:"item_reference",id:i});break}if(p&&"local_shell"===v){let e=await (0,o.validateTypes)({value:a.input,schema:ev});ei.push({type:"local_shell_call",call_id:a.toolCallId,id:i,action:{type:"exec",command:e.action.command,timeout_ms:e.action.timeoutMs,user:e.action.user,working_directory:e.action.workingDirectory,env:e.action.env}});break}if(c&&"shell"===v){let e=await (0,o.validateTypes)({value:a.input,schema:ew});ei.push({type:"shell_call",call_id:a.toolCallId,id:i,status:"completed",action:{commands:e.action.commands,timeout_ms:e.action.timeoutMs,max_output_length:e.action.maxOutputLength}});break}if(m&&"apply_patch"===v){let e=await (0,o.validateTypes)({value:a.input,schema:K});ei.push({type:"apply_patch_call",call_id:e.callId,id:i,status:"completed",operation:e.operation});break}if(g&&"computer"===v){let e=await (0,o.validateTypes)({value:a.input,schema:ea});ei.push({type:"computer_call",call_id:a.toolCallId,id:i,status:e.status,actions:e.actions.map(e=>{switch(e.type){case"click":case"double_click":case"move":case"drag":return{...e,keys:e.keys};case"scroll":return{type:"scroll",x:e.x,y:e.y,scroll_x:e.scrollX,scroll_y:e.scrollY,keys:e.keys};default:return e}}),pending_safety_checks:e.pendingSafetyChecks.map(e=>({id:e.id,code:e.code,message:e.message}))});break}if(null==f?void 0:f.has(v)){ei.push({type:"custom_tool_call",call_id:a.toolCallId,name:v,input:"string"==typeof a.input?a.input:JSON.stringify(a.input),id:i});break}ei.push({type:"function_call",call_id:a.toolCallId,name:v,arguments:JSON.stringify(void 0===(en=a.input)?{}:en),...null!=l&&{namespace:l},...null!=y&&{caller:tl(y)}});break}case"tool-result":{if("execution-denied"===a.output.type||"json"===a.output.type&&"object"==typeof a.output.value&&null!=a.output.value&&"type"in a.output.value&&"execution-denied"===a.output.value.type||u)break;let e=t.toProviderToolName(a.toolName);if(a.toolName===h){let e=null!=(D=null!=(q=null==(A=null==(O=a.providerOptions)?void 0:O[r])?void 0:A.itemId)?q:null==(P=null==(N=a.providerMetadata)?void 0:N[r])?void 0:P.itemId)?D:a.toolCallId;if(s)ei.push({type:"item_reference",id:e});else if("json"===a.output.type){let t=await (0,o.validateTypes)({value:a.output.value,schema:eM});ei.push({type:"tool_search_output",id:e,execution:"server",call_id:null,status:"completed",tools:t.tools})}break}if("programmatic_tool_calling"===e){let e=null!=(V=null!=(H=null==($=null==(U=a.providerOptions)?void 0:U[r])?void 0:$.itemId)?H:null==(L=null==(F=a.providerMetadata)?void 0:F[r])?void 0:L.itemId)?V:a.toolCallId;if(s)ei.push({type:"item_reference",id:e});else if("json"===a.output.type){let t=await (0,o.validateTypes)({value:a.output.value,schema:eV});ei.push({type:"program_output",id:e,call_id:a.toolCallId,result:t.result,status:t.status})}break}if(c&&"shell"===e){if("json"===a.output.type){let e=await (0,o.validateTypes)({value:a.output.value,schema:ez});ei.push({type:"shell_call_output",call_id:a.toolCallId,output:e.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:"timeout"===e.outcome.type?{type:"timeout"}:{type:"exit",exit_code:e.outcome.exitCode}}))})}break}if(s){let e=null!=(W=null==(B=null==(J=a.providerOptions)?void 0:J[r])?void 0:B.itemId)?W:a.toolCallId;ei.push({type:"item_reference",id:e})}else el.push({type:"other",message:`Results for OpenAI tool ${a.toolName} are not sent to the API when store is false`});break}case"reasoning":{let t=await (0,o.parseProviderOptions)({provider:r,providerOptions:a.providerOptions,schema:tg}),n=null==t?void 0:t.itemId;if((u||d)&&null!=n)break;if(null!=n){let o=e[n];if(s)void 0===o&&(ei.push({type:"item_reference",id:n}),e[n]={type:"reasoning",id:n,summary:[]});else{let r=[];a.text.length>0?r.push({type:"summary_text",text:a.text}):void 0!==o&&el.push({type:"other",message:`Cannot append empty reasoning part to existing reasoning sequence. Skipping reasoning part: ${JSON.stringify(a)}.`}),void 0===o?(e[n]={type:"reasoning",id:n,encrypted_content:null==t?void 0:t.reasoningEncryptedContent,summary:r},ei.push(e[n])):(o.summary.push(...r),(null==t?void 0:t.reasoningEncryptedContent)!=null&&(o.encrypted_content=t.reasoningEncryptedContent))}}else{let e=null==t?void 0:t.reasoningEncryptedContent;if(null!=e){let t=[];a.text.length>0&&t.push({type:"summary_text",text:a.text}),ei.push({type:"reasoning",encrypted_content:e,summary:t})}else el.push({type:"other",message:`Non-OpenAI reasoning parts are not supported. Skipping reasoning part: ${JSON.stringify(a)}.`})}break}case"custom":if("openai.compaction"===a.kind){let e=null==(Y=a.providerOptions)?void 0:Y[r],t=null==e?void 0:e.itemId;if(u&&null!=t)break;if(s&&null!=t){ei.push({type:"item_reference",id:t});break}let o=null==e?void 0:e.encryptedContent;null!=t&&ei.push({type:"compaction",id:t,encrypted_content:o})}}break}case"tool":for(let e of em){if("tool-approval-response"===e.type){if(es.has(e.approvalId))continue;es.add(e.approvalId),!s||u||d||ei.push({type:"item_reference",id:e.approvalId}),ei.push({type:"mcp_approval_response",approval_request_id:e.approvalId,approve:e.approved});continue}let a=tr({providerOptions:e.providerOptions,providerOptionsName:r}),n=null==a?void 0:eu.get(a.toolCallId);if(null!=a&&null!=n&&tu(n.metadata,a)){if(!ep.has(n.metadata.toolCallId)){ep.add(n.metadata.toolCallId);let e=await Promise.all(n.results.map(async e=>{let t=tp({output:e.output,toolResultProviderOptions:e.providerOptions,providerOptionsName:r});return{output:await ts({output:e.output,toolName:e.toolName,outputSchemaToolNames:y,providerOptionsName:r,warnings:el}),promptCacheBreakpoint:t}})),t=e.map(({output:e})=>"string"==typeof e?e:JSON.stringify(e)),o=e.some(({promptCacheBreakpoint:e})=>null!=e);ei.push({type:"function_call_output",call_id:n.metadata.toolCallId,output:o?t.map((t,o)=>({type:"input_text",text:0===o?t:`
12
+ ${t}`,...null!=e[o].promptCacheBreakpoint&&{prompt_cache_breakpoint:e[o].promptCacheBreakpoint}})):t.join("\n")})}continue}let i=e.output;if("execution-denied"===i.type&&(null==(X=null==(Z=i.providerOptions)?void 0:Z.openai)?void 0:X.approvalId))continue;let l=t.toProviderToolName(e.toolName);if(e.toolName===h&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:eM});ei.push({type:"tool_search_output",execution:"client",call_id:e.toolCallId,status:"completed",tools:t.tools});continue}if(p&&"local_shell"===l&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:eb});ei.push({type:"local_shell_call_output",call_id:e.toolCallId,output:t.output});continue}if(c&&"shell"===l&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:ez});ei.push({type:"shell_call_output",call_id:e.toolCallId,output:t.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:"timeout"===e.outcome.type?{type:"timeout"}:{type:"exit",exit_code:e.outcome.exitCode}}))});continue}if(m&&"apply_patch"===e.toolName&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:G});ei.push({type:"apply_patch_call_output",call_id:e.toolCallId,status:t.status,output:t.output});continue}if(g&&"computer"===l&&"json"===i.type){let t=await (0,o.validateTypes)({value:i.value,schema:er});ei.push({type:"computer_call_output",call_id:e.toolCallId,output:{type:"computer_screenshot",image_url:t.output.imageUrl,file_id:t.output.fileId,detail:t.output.detail},acknowledged_safety_checks:null==(Q=t.acknowledgedSafetyChecks)?void 0:Q.map(e=>({id:e.id,code:e.code,message:e.message}))});continue}if(null==f?void 0:f.has(l)){let t,a=tp({output:i,toolResultProviderOptions:e.providerOptions,providerOptionsName:r}),n=e=>null==a?e:[{type:"input_text",text:e,prompt_cache_breakpoint:a}];switch(i.type){case"text":case"error-text":t=n(i.value);break;case"execution-denied":t=n(null!=(ee=i.reason)?ee:"Tool call execution denied.");break;case"json":case"error-json":t=n(JSON.stringify(i.value));break;case"content":t=i.value.map(e=>{var t,a,n;let i=td(e.providerOptions,r);switch(e.type){case"text":return{type:"input_text",text:e.text,...null!=i&&{prompt_cache_breakpoint:i}};case"file":{let l=(0,o.getTopLevelMediaType)(e.mediaType),s=null==(a=null==(t=e.providerOptions)?void 0:t[r])?void 0:a.imageDetail;if("data"===e.data.type){let t=(0,o.resolveFullMediaType)({part:e});if("image"===l)return{type:"input_image",image_url:`data:${t};base64,${(0,o.convertToBase64)(e.data.data)}`,detail:s,...null!=i&&{prompt_cache_breakpoint:i}};return{type:"input_file",filename:null!=(n=e.filename)?n:"data",file_data:`data:${t};base64,${(0,o.convertToBase64)(e.data.data)}`,...null!=i&&{prompt_cache_breakpoint:i}}}if("url"===e.data.type){if("image"===l)return{type:"input_image",image_url:e.data.url.toString(),detail:s,...null!=i&&{prompt_cache_breakpoint:i}};return{type:"input_file",file_url:e.data.url.toString(),...null!=i&&{prompt_cache_breakpoint:i}}}el.push({type:"other",message:`unsupported custom tool content part type: ${e.type} with data type: ${e.data.type}`});return}default:el.push({type:"other",message:`unsupported custom tool content part type: ${e.type}`});return}}).filter(o.isNonNullable);break;default:t=""}ei.push({type:"custom_tool_call_output",call_id:e.toolCallId,output:t});continue}let v=await ts({output:i,toolName:e.toolName,outputSchemaToolNames:y,promptCacheBreakpoint:tp({output:i,toolResultProviderOptions:e.providerOptions,providerOptionsName:r}),providerOptionsName:r,warnings:el}),b=tl(null==(eo=null==(et=e.providerOptions)?void 0:et[r])?void 0:eo.caller);ei.push({type:"function_call_output",call_id:e.toolCallId,output:v,...null!=b&&{caller:b}})}break;default:throw Error(`Unsupported role: ${ec}`)}return!s&&ei.some(e=>"type"in e&&"reasoning"===e.type&&null==e.encrypted_content)&&(el.push({type:"other",message:"Reasoning parts without encrypted content are not supported when store is false. Skipping reasoning parts."}),ei=ei.filter(e=>!("type"in e)||"reasoning"!==e.type||null!=e.encrypted_content)),{input:ei,warnings:el}}var tg=r.z.object({itemId:r.z.string().nullish(),reasoningEncryptedContent:r.z.string().nullish()}),th=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({conversation:r.z.string().nullish(),include:r.z.array(r.z.enum(["reasoning.encrypted_content","file_search_call.results","web_search_call.results","message.output_text.logprobs"])).nullish(),instructions:r.z.string().nullish(),logprobs:r.z.union([r.z.boolean(),r.z.number().min(1).max(20)]).optional(),maxToolCalls:r.z.number().nullish(),metadata:r.z.any().nullish(),parallelToolCalls:r.z.boolean().nullish(),previousResponseId:r.z.string().nullish(),promptCacheKey:r.z.string().nullish(),promptCacheOptions:r.z.object({mode:r.z.enum(["implicit","explicit"]).optional(),ttl:r.z.literal("30m").optional()}).optional(),promptCacheRetention:r.z.enum(["in_memory","24h"]).nullish(),reasoningEffort:r.z.string().nullish(),reasoningEffortUpdate:r.z.enum(["low","medium","high","xhigh","max"]).optional(),reasoningMode:r.z.enum(["standard","pro"]).optional(),reasoningContext:r.z.enum(["auto","current_turn","all_turns"]).optional(),reasoningSummary:r.z.string().nullish(),safetyIdentifier:r.z.string().nullish(),serviceTier:r.z.enum(["auto","flex","priority","fast","ultrafast","default"]).nullish(),store:r.z.boolean().nullish(),passThroughUnsupportedFiles:r.z.boolean().optional(),strictJsonSchema:r.z.boolean().nullish(),textVerbosity:r.z.enum(["low","medium","high"]).nullish(),truncation:r.z.enum(["auto","disabled"]).nullish(),user:r.z.string().nullish(),systemMessageMode:r.z.enum(["system","developer","remove"]).optional(),forceReasoning:r.z.boolean().optional(),contextManagement:r.z.array(r.z.object({type:r.z.literal("compaction"),compactThreshold:r.z.number()})).nullish(),compactionTrigger:r.z.boolean().optional(),allowedTools:r.z.object({toolNames:r.z.array(r.z.string()).min(1),mode:r.z.enum(["auto","required"]).optional()}).optional()})));async function tf({tools:e,toolChoice:t,allowedTools:a,toolNameMapping:r,customProviderToolNames:i,outputSchemaToolNames:l}){var s,u,d,p;e=(null==e?void 0:e.length)?e:void 0;let c=[];if(null==e)return{tools:void 0,toolChoice:void 0,toolWarnings:c};let m=[],g=new Map,h=null!=i?i:new Set,f=new Map,y=new Map,v=(e,t,o)=>{var a,r;if(f.set(e,t),null==o||o===e)return;let n=y.get(o);null==n?y.set(o,t):"ambiguous"===n||(a=n,r=t,a.supported&&r.supported?ty(a.entry)===ty(r.entry):!a.supported&&!r.supported&&a.reason===r.reason)||y.set(o,"ambiguous")};for(let t of e)switch(t.type){case"function":{let e=null==(s=t.providerOptions)?void 0:s.openai;(null==e?void 0:e.outputSchema)!=null&&(null==l||l.add(t.name));let o=function({tool:e,options:t}){let o=null==t?void 0:t.deferLoading;return{type:"function",name:e.name,description:e.description,parameters:e.inputSchema,...null!=e.strict?{strict:e.strict}:{},...null!=o?{defer_loading:o}:{},...(null==t?void 0:t.allowedCallers)!=null?{allowed_callers:t.allowedCallers}:{},...(null==t?void 0:t.outputSchema)!=null?{output_schema:t.outputSchema}:{}}}({tool:t,options:e}),a=null==e?void 0:e.namespace;if(null==a)m.push(o);else{let e=g.get(a.name);if(null==e)e={type:"namespace",name:a.name,description:a.description,tools:[]},g.set(a.name,e),m.push(e);else if(e.description!==a.description)throw new n.UnsupportedFunctionalityError({functionality:`conflicting descriptions for OpenAI tool namespace "${a.name}"`});e.tools.push(o)}v(t.name,null!=a?{supported:!1,reason:"tools inside an OpenAI tool namespace are not visible to tool_choice.allowed_tools"}:(null==e?void 0:e.deferLoading)===!0?{supported:!1,reason:"deferred tools are not visible to tool_choice.allowed_tools"}:{supported:!0,entry:{type:"function",name:t.name}},void 0);break}case"provider":{let e=m.length;switch(t.id){case"openai.file_search":{let e=await (0,o.validateTypes)({value:t.args,schema:ep});m.push({type:"file_search",vector_store_ids:e.vectorStoreIds,max_num_results:e.maxNumResults,ranking_options:e.ranking?{ranker:e.ranking.ranker,score_threshold:e.ranking.scoreThreshold}:void 0,filters:e.filters});break}case"openai.local_shell":m.push({type:"local_shell"});break;case"openai.shell":{let e=await (0,o.validateTypes)({value:t.args,schema:ex});m.push({type:"shell",...e.environment&&{environment:function(e){var t;return"containerReference"===e.type?{type:"container_reference",container_id:e.containerId}:"containerAuto"===e.type?{type:"container_auto",file_ids:e.fileIds,memory_limit:e.memoryLimit,network_policy:null==e.networkPolicy?void 0:"disabled"===e.networkPolicy.type?{type:"disabled"}:{type:"allowlist",allowed_domains:e.networkPolicy.allowedDomains,domain_secrets:e.networkPolicy.domainSecrets},skills:null==(t=e.skills)?void 0:t.map(e=>{var t,a;return"skillReference"===e.type?{type:"skill_reference",skill_id:(0,o.resolveProviderReference)({reference:null!=(t=e.providerReference)?t:{},provider:"openai"}),version:null!=(a=e.version)?a:"latest"}:{type:"inline",name:e.name,description:e.description,source:{type:"base64",media_type:e.source.mediaType,data:e.source.data}}})}:{type:"local",skills:e.skills}}(e.environment)}});break}case"openai.apply_patch":m.push({type:"apply_patch"});break;case"openai.computer":m.push({type:"computer"});break;case"openai.web_search_preview":{let e=await (0,o.validateTypes)({value:t.args,schema:eA});m.push({type:"web_search_preview",search_context_size:e.searchContextSize,user_location:e.userLocation});break}case"openai.web_search":{let e=await (0,o.validateTypes)({value:t.args,schema:eE});m.push({type:"web_search",filters:null!=e.filters?{allowed_domains:e.filters.allowedDomains,blocked_domains:e.filters.blockedDomains}:void 0,external_web_access:e.externalWebAccess,search_context_size:e.searchContextSize,user_location:e.userLocation});break}case"openai.code_interpreter":{let e=await (0,o.validateTypes)({value:t.args,schema:Q});m.push({type:"code_interpreter",container:null==e.container?{type:"auto",file_ids:void 0}:"string"==typeof e.container?e.container:{type:"auto",file_ids:e.container.fileIds}});break}case"openai.image_generation":{let e=await (0,o.validateTypes)({value:t.args,schema:eg});m.push({type:"image_generation",action:e.action,background:e.background,input_fidelity:e.inputFidelity,input_image_mask:e.inputImageMask?{file_id:e.inputImageMask.fileId,image_url:e.inputImageMask.imageUrl}:void 0,model:e.model,moderation:e.moderation,partial_images:e.partialImages,quality:e.quality,output_compression:e.outputCompression,output_format:e.outputFormat,size:e.size});break}case"openai.mcp":{let e=await (0,o.validateTypes)({value:t.args,schema:eU}),a=e=>({tool_names:e.toolNames}),r=e.requireApproval,n=null==r?void 0:"string"==typeof r?r:null!=r.never?{never:a(r.never)}:void 0;m.push({type:"mcp",server_label:e.serverLabel,allowed_tools:Array.isArray(e.allowedTools)?e.allowedTools:e.allowedTools?{read_only:e.allowedTools.readOnly,tool_names:e.allowedTools.toolNames}:void 0,authorization:e.authorization,connector_id:e.connectorId,headers:e.headers,require_approval:null!=n?n:"never",server_description:e.serverDescription,server_url:e.serverUrl});break}case"openai.custom":{let e=await (0,o.validateTypes)({value:t.args,schema:ei});m.push({type:"custom",name:t.name,description:e.description,format:e.format}),h.add(t.name);break}case"openai.programmatic_tool_calling":m.push({type:"programmatic_tool_calling"});break;case"openai.tool_search":{let e=await (0,o.validateTypes)({value:t.args,schema:eT});m.push({type:"tool_search",...null!=e.execution?{execution:e.execution}:{},...null!=e.description?{description:e.description}:{},...null!=e.parameters?{parameters:e.parameters}:{}})}}if(m.length>e){let o=m[e];v(t.name,function(e){switch(e.type){case"custom":return{supported:!0,entry:{type:"custom",name:e.name}};case"mcp":return{supported:!0,entry:{type:"mcp",server_label:e.server_label}};case"file_search":case"web_search":case"web_search_preview":case"image_generation":case"code_interpreter":case"computer":case"apply_patch":case"shell":case"local_shell":case"programmatic_tool_calling":return{supported:!0,entry:{type:e.type}};default:return{supported:!1,reason:`OpenAI does not support ${e.type} tools in tool_choice.allowed_tools`}}}(o),null==r?void 0:r.toProviderToolName(t.name))}break}default:c.push({type:"unsupported",feature:`function tool ${t}`})}if(null!=a){let e=[],t=[];for(let o of a.toolNames){let a=f.get(o),n=null!=a?a:y.get(o);if(null!=a&&y.has(o)&&c.push({type:"unsupported",feature:`allowedTools entry "${o}"`,details:"this name is both a tool name and the provider tool name of another tool in this request; the tool with this name is allowed"}),"ambiguous"===n){c.push({type:"unsupported",feature:`allowedTools entry "${o}"`,details:"several tools in this request share this provider tool name; use the tool name from the tools for this request instead"}),t.push(o);continue}if(null==n){c.push({type:"unsupported",feature:`allowedTools entry "${o}"`,details:"the tool is not part of the tools for this request and is sent as a function tool"}),e.push({type:"function",name:null!=(u=null==r?void 0:r.toProviderToolName(o))?u:o});continue}if(!n.supported){c.push({type:"unsupported",feature:`allowedTools entry "${o}"`,details:`${n.reason}; the tool is removed from the allowed tools`}),t.push(o);continue}e.push(n.entry)}if(0===e.length)throw new n.UnsupportedFunctionalityError({functionality:`allowedTools with only tools that cannot be allow-listed (${t.join(", ")})`});return{tools:m,toolChoice:{type:"allowed_tools",mode:null!=(d=a.mode)?d:"auto",tools:e},toolWarnings:c}}if(null==t)return{tools:m,toolChoice:void 0,toolWarnings:c};let b=t.type;switch(b){case"auto":case"none":case"required":return{tools:m,toolChoice:b,toolWarnings:c};case"tool":{let e=null!=(p=null==r?void 0:r.toProviderToolName(t.toolName))?p:t.toolName;return{tools:m,toolChoice:"code_interpreter"===e||"file_search"===e||"image_generation"===e||"web_search_preview"===e||"web_search"===e||"mcp"===e||"apply_patch"===e||"computer"===e||"programmatic_tool_calling"===e?{type:e}:h.has(e)?{type:"custom",name:e}:{type:"function",name:e},toolWarnings:c}}default:throw new n.UnsupportedFunctionalityError({functionality:`tool choice type: ${b}`})}}function ty(e){switch(e.type){case"mcp":return`mcp:${e.server_label}`;case"function":case"custom":return`${e.type}:${e.name}`;default:return e.type}}function tv(e){var t,o;let a={};for(let r of e)if("assistant"===r.role)for(let e of r.content){if("tool-call"!==e.type)continue;let r=null==(o=null==(t=e.providerOptions)?void 0:t.openai)?void 0:o.approvalRequestId;null!=r&&(a[r]=e.toolCallId)}return a}function tb(e){switch(e.type){case"click":return{type:"click",button:e.button,x:e.x,y:e.y,...null!=e.keys&&{keys:e.keys}};case"double_click":return{type:"double_click",x:e.x,y:e.y,...null!=e.keys&&{keys:e.keys}};case"drag":return{type:"drag",path:e.path,...null!=e.keys&&{keys:e.keys}};case"keypress":case"screenshot":case"type":case"wait":return e;case"move":return{type:"move",x:e.x,y:e.y,...null!=e.keys&&{keys:e.keys}};case"scroll":return{type:"scroll",x:e.x,y:e.y,scrollX:e.scroll_x,scrollY:e.scroll_y,...null!=e.keys&&{keys:e.keys}}}}function t_({action:e,actions:t,pending_safety_checks:o,status:a}){var r;return{actions:(null!=t?t:null!=e?[e]:[]).map(tb),pendingSafetyChecks:null!=(r=null==o?void 0:o.map(e=>({id:e.id,...null!=e.code&&{code:e.code},...null!=e.message&&{message:e.message}})))?r:[],status:a}}var tw=class e{constructor(e,t){this.specificationVersion="v4",this.supportedUrls={"image/*":[/^https?:\/\/.*$/],"application/pdf":[/^https?:\/\/.*$/]},this.modelId=e,this.config=t}static[a.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[a.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,eW(t.config))}get provider(){return this.config.provider}async getArgs({maxOutputTokens:e,temperature:t,stopSequences:a,topP:r,topK:n,presencePenalty:i,frequencyPenalty:l,seed:u,prompt:d,reasoning:p,providerOptions:c,tools:m,toolChoice:g,responseFormat:h}){var f,y,v,b,_,w,z,I,x,k,T,S,M,C;let E=[],j=s(this.modelId);null!=n&&E.push({type:"unsupported",feature:"topK"}),null!=u&&E.push({type:"unsupported",feature:"seed"}),null!=i&&E.push({type:"unsupported",feature:"presencePenalty"}),null!=l&&E.push({type:"unsupported",feature:"frequencyPenalty"}),null!=a&&E.push({type:"unsupported",feature:"stopSequences"});let R=this.config.provider.includes("azure")?"azure":"openai",O=await (0,o.parseProviderOptions)({provider:R,providerOptions:c,schema:th});null==O&&"openai"!==R&&(O=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:c,schema:th}));let A=null!=(f=null==O?void 0:O.reasoningEffort)?f:(0,o.isCustomReasoning)(p)?p:void 0;null==A||null==j.supportedReasoningEfforts||j.supportedReasoningEfforts.includes(A)||(E.push({type:"unsupported",feature:"reasoningEffort",details:`${this.modelId} only supports the following reasoning efforts: ${j.supportedReasoningEfforts.join(", ")}`}),A=void 0);let N=(null==O?void 0:O.reasoningSummary)!==void 0?O.reasoningSummary:null!=A&&"none"!==A?"detailed":void 0,P=null!=(y=null==O?void 0:O.forceReasoning)?y:j.isReasoningModel;(null==O?void 0:O.conversation)&&(null==O?void 0:O.previousResponseId)&&E.push({type:"unsupported",feature:"conversation",details:"conversation and previousResponseId cannot be used together"});let q=(0,o.createToolNameMapping)({tools:m,providerToolNames:{"openai.code_interpreter":"code_interpreter","openai.computer":"computer","openai.file_search":"file_search","openai.image_generation":"image_generation","openai.local_shell":"local_shell","openai.shell":"shell","openai.web_search":"web_search","openai.web_search_preview":"web_search_preview","openai.mcp":"mcp","openai.apply_patch":"apply_patch","openai.tool_search":"tool_search","openai.programmatic_tool_calling":"programmatic_tool_calling"}}),D=new Set,U=new Set,{tools:$,toolChoice:F,toolWarnings:L}=await tf({tools:m,toolChoice:g,allowedTools:null!=(v=null==O?void 0:O.allowedTools)?v:void 0,toolNameMapping:q,customProviderToolNames:D,outputSchemaToolNames:U}),{input:H,warnings:V}=await tm({prompt:d,toolNameMapping:q,systemMessageMode:null!=(b=null==O?void 0:O.systemMessageMode)?b:P?"developer":j.systemMessageMode,providerOptionsName:R,fileIdPrefixes:this.config.fileIdPrefixes,passThroughUnsupportedFiles:null!=(_=null==O?void 0:O.passThroughUnsupportedFiles)&&_,store:null==(w=null==O?void 0:O.store)||w,hasConversation:(null==O?void 0:O.conversation)!=null,hasPreviousResponseId:(null==O?void 0:O.previousResponseId)!=null,hasLocalShellTool:Z("openai.local_shell"),hasShellTool:Z("openai.shell"),hasApplyPatchTool:Z("openai.apply_patch"),hasComputerTool:Z("openai.computer"),toolSearchToolName:Y("openai.tool_search"),customProviderToolNames:D.size>0?D:void 0,outputSchemaToolNames:U.size>0?U:void 0});E.push(...V);let J=null==O?void 0:O.reasoningEffortUpdate,B=null==J||j.supportsConfigurationUpdate&&(null==O?void 0:O.reasoningMode)!=="pro"&&(null==O?void 0:O.contextManagement)==null&&(null==O?void 0:O.truncation)!=="auto";null==J||B?null!=J&&H.unshift({type:"configuration_update",reasoning:{effort:J}}):E.push({type:"unsupported",feature:"reasoningEffortUpdate",details:j.supportsConfigurationUpdate?"reasoningEffortUpdate requires standard reasoning mode without automatic compaction or automatic truncation":"reasoningEffortUpdate is only supported by GPT-6 and later models"}),(null==O?void 0:O.compactionTrigger)&&H.push({type:"compaction_trigger"});let W=null==(z=null==O?void 0:O.strictJsonSchema)||z,K=null==O?void 0:O.include;function G(e){null==K?K=[e]:K.includes(e)||(K=[...K,e])}function Y(e){var t;return null==(t=null==m?void 0:m.find(t=>"provider"===t.type&&t.id===e))?void 0:t.name}function Z(e){return null!=Y(e)}let X="number"==typeof(null==O?void 0:O.logprobs)?null==O?void 0:O.logprobs:(null==O?void 0:O.logprobs)===!0?20:void 0;X&&G("message.output_text.logprobs");let Q=null==(I=null==m?void 0:m.find(e=>"provider"===e.type&&("openai.web_search"===e.id||"openai.web_search_preview"===e.id)))?void 0:I.name;Q&&G("web_search_call.action.sources"),Z("openai.code_interpreter")&&G("code_interpreter_call.outputs");let ee=null==O?void 0:O.store;!1===ee&&P&&G("reasoning.encrypted_content");let et={model:this.modelId,input:H,temperature:t,top_p:r,max_output_tokens:e,...((null==h?void 0:h.type)==="json"||(null==O?void 0:O.textVerbosity))&&{text:{...(null==h?void 0:h.type)==="json"&&{format:null!=h.schema?{type:"json_schema",strict:W,name:null!=(x=h.name)?x:"response",description:h.description,schema:h.schema}:{type:"json_object"}},...(null==O?void 0:O.textVerbosity)&&{verbosity:O.textVerbosity}}},conversation:null==O?void 0:O.conversation,max_tool_calls:null==O?void 0:O.maxToolCalls,metadata:null==O?void 0:O.metadata,parallel_tool_calls:null==O?void 0:O.parallelToolCalls,previous_response_id:null==O?void 0:O.previousResponseId,store:ee,user:null==O?void 0:O.user,instructions:null==O?void 0:O.instructions,service_tier:null==O?void 0:O.serviceTier,include:K,prompt_cache_key:null==O?void 0:O.promptCacheKey,prompt_cache_options:null==O?void 0:O.promptCacheOptions,prompt_cache_retention:null==O?void 0:O.promptCacheRetention,safety_identifier:null==O?void 0:O.safetyIdentifier,top_logprobs:X,truncation:null==O?void 0:O.truncation,...(null==O?void 0:O.contextManagement)&&{context_management:O.contextManagement.map(e=>({type:e.type,compact_threshold:e.compactThreshold}))},...P&&(null!=A||null!=N||(null==O?void 0:O.reasoningMode)!=null||(null==O?void 0:O.reasoningContext)!=null)&&{reasoning:{...null!=A&&{effort:A},...null!=N&&{summary:N},...(null==O?void 0:O.reasoningMode)!=null&&{mode:O.reasoningMode},...(null==O?void 0:O.reasoningContext)!=null&&{context:O.reasoningContext}}}};if(j.supportsConfigurationUpdate&&null!=et.prompt_cache_retention&&(et.prompt_cache_retention=void 0,E.push({type:"unsupported",feature:"promptCacheRetention",details:"promptCacheRetention is not supported by GPT-6 and later models; use promptCacheOptions instead"})),P){if(!("none"===A&&j.supportsNonReasoningParameters)&&(null!=et.temperature&&(et.temperature=void 0,E.push({type:"unsupported",feature:"temperature",details:"temperature is not supported for reasoning models"})),null!=et.top_p&&(et.top_p=void 0,E.push({type:"unsupported",feature:"topP",details:"topP is not supported for reasoning models"})),null!=j.supportedReasoningEfforts&&(null!=et.top_logprobs||(null==(k=et.include)?void 0:k.includes("message.output_text.logprobs"))))){et.top_logprobs=void 0;let e=null==(T=et.include)?void 0:T.filter(e=>"message.output_text.logprobs"!==e);et.include=null!=e&&e.length>0?e:void 0,E.push({type:"unsupported",feature:"logprobs",details:"logprobs is not supported for reasoning models"})}}else(null==O?void 0:O.reasoningEffort)!=null&&E.push({type:"unsupported",feature:"reasoningEffort",details:"reasoningEffort is not supported for non-reasoning models"}),(null==O?void 0:O.reasoningSummary)!=null&&E.push({type:"unsupported",feature:"reasoningSummary",details:"reasoningSummary is not supported for non-reasoning models"}),(null==O?void 0:O.reasoningMode)!=null&&E.push({type:"unsupported",feature:"reasoningMode",details:"reasoningMode is not supported for non-reasoning models"}),(null==O?void 0:O.reasoningContext)!=null&&E.push({type:"unsupported",feature:"reasoningContext",details:"reasoningContext is not supported for non-reasoning models"});(null==O?void 0:O.serviceTier)!=="flex"||j.supportsFlexProcessing||(E.push({type:"unsupported",feature:"serviceTier",details:"flex processing is only available for o3, o4-mini, and gpt-5 models"}),delete et.service_tier),(null==O?void 0:O.serviceTier)!=="priority"&&(null==O?void 0:O.serviceTier)!=="fast"||j.supportsPriorityProcessing||(E.push({type:"unsupported",feature:"serviceTier",details:"priority processing is only available for supported models (gpt-4, gpt-5, gpt-5-mini, o3, o4-mini) and requires Enterprise access. gpt-5-nano is not supported"}),delete et.service_tier);let eo=null==(C=null==(M=null==(S=null==m?void 0:m.find(e=>"provider"===e.type&&"openai.shell"===e.id))?void 0:S.args)?void 0:M.environment)?void 0:C.type;return{webSearchToolName:Q,args:{...et,tools:$,tool_choice:F},warnings:[...E,...L],store:ee,toolNameMapping:q,providerOptionsName:R,isShellProviderExecuted:"containerAuto"===eo||"containerReference"===eo}}async doGenerate(e){var t,a,r,i,s,u,d,p,c,m,g,h,f,y,v,b,_,w,z,I,x,k,T,S,M,C,E,j,R,O,A,N,P,q;let{args:D,warnings:U,webSearchToolName:$,toolNameMapping:F,providerOptionsName:L,isShellProviderExecuted:H}=await this.getArgs(e),V=this.config.url({path:"/responses",modelId:this.modelId}),J=tv(e.prompt),{responseHeaders:B,value:W,rawValue:K}=await (0,o.postJsonToApi)({url:V,headers:(0,o.combineHeaders)(null==(a=(t=this.config).headers)?void 0:a.call(t),e.headers),body:D,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tt),abortSignal:e.abortSignal,fetch:this.config.fetch});if(W.error)throw new n.APICallError({message:W.error.message,url:V,requestBodyValues:D,statusCode:400,responseHeaders:B,responseBody:K,isRetryable:!1});if(null==W.output){let e=null==(r=W.incomplete_details)?void 0:r.reason;throw new n.APICallError({message:e?`Responses API returned no output (${e})`:"Responses API returned no output",url:V,requestBodyValues:D,statusCode:500,responseHeaders:B,responseBody:K,isRetryable:!1})}let G=[],Y=[],Z=null!=(s=null==(i=e.tools)?void 0:i.filter(e=>"function"===e.type))?s:[],X=!1,Q=[];for(let t of W.output)switch(t.type){case"reasoning":for(let e of(0===t.summary.length&&t.summary.push({type:"summary_text",text:""}),t.summary))G.push({type:"reasoning",text:e.text,providerMetadata:{[L]:{itemId:t.id,reasoningEncryptedContent:null!=(u=t.encrypted_content)?u:null}}});break;case"image_generation_call":G.push({type:"tool-call",toolCallId:t.id,toolName:F.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:F.toCustomToolName("image_generation"),result:{result:t.result}});break;case"tool_search_call":{let e=null!=(d=t.call_id)?d:t.id,o="server"===t.execution;o&&Q.push(e),G.push({type:"tool-call",toolCallId:e,toolName:F.toCustomToolName("tool_search"),input:JSON.stringify({arguments:t.arguments,call_id:t.call_id}),...o?{providerExecuted:!0}:{},providerMetadata:{[L]:{itemId:t.id}}});break}case"tool_search_output":{let e=null!=(c=null!=(p=t.call_id)?p:Q.shift())?c:t.id;G.push({type:"tool-result",toolCallId:e,toolName:F.toCustomToolName("tool_search"),result:{tools:t.tools},providerMetadata:{[L]:{itemId:t.id}}});break}case"local_shell_call":G.push({type:"tool-call",toolCallId:t.call_id,toolName:F.toCustomToolName("local_shell"),input:JSON.stringify({action:t.action}),providerMetadata:{[L]:{itemId:t.id}}});break;case"shell_call":G.push({type:"tool-call",toolCallId:t.call_id,toolName:F.toCustomToolName("shell"),input:JSON.stringify({action:{commands:t.action.commands}}),...H&&{providerExecuted:!0},providerMetadata:{[L]:{itemId:t.id}}});break;case"shell_call_output":G.push({type:"tool-result",toolCallId:t.call_id,toolName:F.toCustomToolName("shell"),result:{output:t.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:"exit"===e.outcome.type?{type:"exit",exitCode:e.outcome.exit_code}:{type:"timeout"}}))}});break;case"message":for(let a of t.content){(null==(g=null==(m=e.providerOptions)?void 0:m[L])?void 0:g.logprobs)&&a.logprobs&&Y.push(a.logprobs);let r={itemId:t.id,...null!=t.phase&&{phase:t.phase},...a.annotations.length>0&&{annotations:a.annotations}};for(let e of(G.push({type:"text",text:a.text,providerMetadata:{[L]:r}}),a.annotations))"url_citation"===e.type?G.push({type:"source",sourceType:"url",id:null!=(y=null==(f=(h=this.config).generateId)?void 0:f.call(h))?y:(0,o.generateId)(),url:e.url,title:e.title}):"file_citation"===e.type?G.push({type:"source",sourceType:"document",id:null!=(_=null==(b=(v=this.config).generateId)?void 0:b.call(v))?_:(0,o.generateId)(),mediaType:"text/plain",title:e.filename,filename:e.filename,providerMetadata:{[L]:{type:e.type,fileId:e.file_id,index:e.index}}}):"container_file_citation"===e.type?G.push({type:"source",sourceType:"document",id:null!=(I=null==(z=(w=this.config).generateId)?void 0:z.call(w))?I:(0,o.generateId)(),mediaType:"text/plain",title:e.filename,filename:e.filename,providerMetadata:{[L]:{type:e.type,fileId:e.file_id,containerId:e.container_id}}}):"file_path"===e.type&&G.push({type:"source",sourceType:"document",id:null!=(T=null==(k=(x=this.config).generateId)?void 0:k.call(x))?T:(0,o.generateId)(),mediaType:"application/octet-stream",title:e.file_id,filename:e.file_id,providerMetadata:{[L]:{type:e.type,fileId:e.file_id,index:e.index}}})}break;case"function_call":{X=!0;let e=await ti({toolCall:{toolCallId:t.call_id,toolName:t.name,input:t.arguments},tools:Z,providerOptionsName:L,itemId:t.id});if(null!=e){G.push(...e);break}G.push({type:"tool-call",toolCallId:t.call_id,toolName:t.name,input:t.arguments,providerMetadata:{[L]:{itemId:t.id,...null!=t.namespace&&{namespace:t.namespace},...null!=t.caller&&{caller:"program"===t.caller.type?{type:"program",callerId:t.caller.caller_id}:t.caller}}}});break}case"program":G.push({type:"tool-call",toolCallId:t.call_id,toolName:F.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:t.code,fingerprint:t.fingerprint}),providerExecuted:!0,providerMetadata:{[L]:{itemId:t.id}}});break;case"program_output":G.push({type:"tool-result",toolCallId:t.call_id,toolName:F.toCustomToolName("programmatic_tool_calling"),result:{result:t.result,status:t.status},providerMetadata:{[L]:{itemId:t.id}}});break;case"custom_tool_call":{X=!0;let e=F.toCustomToolName(t.name);G.push({type:"tool-call",toolCallId:t.call_id,toolName:e,input:JSON.stringify(t.input),providerMetadata:{[L]:{itemId:t.id}}});break}case"web_search_call":G.push({type:"tool-call",toolCallId:t.id,toolName:F.toCustomToolName(null!=$?$:"web_search"),input:JSON.stringify({}),providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:F.toCustomToolName(null!=$?$:"web_search"),result:tS(t.action)});break;case"mcp_call":{let e=null!=t.approval_request_id&&null!=(S=J[t.approval_request_id])?S:t.id,o=`mcp.${t.name}`;G.push({type:"tool-call",toolCallId:e,toolName:o,input:t.arguments,providerExecuted:!0,dynamic:!0}),G.push({type:"tool-result",toolCallId:e,toolName:o,result:{type:"call",serverLabel:t.server_label,name:t.name,arguments:t.arguments,...null!=t.output?{output:t.output}:{},...null!=t.error?{error:t.error}:{}},providerMetadata:{[L]:{itemId:t.id}}});break}case"mcp_list_tools":break;case"mcp_approval_request":{let e=null!=(M=t.approval_request_id)?M:t.id,a=null!=(j=null==(E=(C=this.config).generateId)?void 0:E.call(C))?j:(0,o.generateId)(),r=`mcp.${t.name}`;G.push({type:"tool-call",toolCallId:a,toolName:r,input:t.arguments,providerExecuted:!0,dynamic:!0}),G.push({type:"tool-approval-request",approvalId:e,toolCallId:a});break}case"computer_call":{if(null==t.call_id){G.push({type:"tool-call",toolCallId:t.id,toolName:F.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:F.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:t.status}});break}X=!0;let e=F.toCustomToolName("computer");G.push({type:"tool-call",toolCallId:t.call_id,toolName:e,input:JSON.stringify(t_(t)),providerMetadata:{[L]:{itemId:t.id}}});break}case"file_search_call":G.push({type:"tool-call",toolCallId:t.id,toolName:F.toCustomToolName("file_search"),input:"{}",providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:F.toCustomToolName("file_search"),result:{queries:t.queries,results:null!=(O=null==(R=t.results)?void 0:R.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text})))?O:null}});break;case"code_interpreter_call":G.push({type:"tool-call",toolCallId:t.id,toolName:F.toCustomToolName("code_interpreter"),input:JSON.stringify({code:t.code,containerId:t.container_id}),providerExecuted:!0}),G.push({type:"tool-result",toolCallId:t.id,toolName:F.toCustomToolName("code_interpreter"),result:{outputs:t.outputs}});break;case"apply_patch_call":G.push({type:"tool-call",toolCallId:t.call_id,toolName:F.toCustomToolName("apply_patch"),input:JSON.stringify({callId:t.call_id,operation:t.operation}),providerMetadata:{[L]:{itemId:t.id}}});break;case"compaction":G.push({type:"custom",kind:"openai.compaction",providerMetadata:{[L]:{type:"compaction",itemId:t.id,encryptedContent:t.encrypted_content}}})}let ee={[L]:{responseId:W.id,...Y.length>0?{logprobs:Y}:{},..."string"==typeof W.service_tier?{serviceTier:W.service_tier}:{},...(null==(A=W.reasoning)?void 0:A.context)!=null?{reasoningContext:W.reasoning.context}:{}}},et=W.usage;return{content:G,finishReason:{unified:eG({finishReason:null==(N=W.incomplete_details)?void 0:N.reason,hasFunctionCall:X}),raw:null!=(q=null==(P=W.incomplete_details)?void 0:P.reason)?q:void 0},usage:eK(et),request:{body:D},response:{id:W.id,timestamp:new Date(1e3*W.created_at),modelId:W.model,headers:B,body:K},providerMetadata:ee,warnings:U}}async doStream(e){var t,a,r,i;let s,p,c,m,{args:g,warnings:h,webSearchToolName:f,toolNameMapping:y,store:v,providerOptionsName:b,isShellProviderExecuted:_}=await this.getArgs(e),w=this.config.url({path:"/responses",modelId:this.modelId}),{responseHeaders:z,value:I}=await (0,o.postJsonToApi)({url:w,headers:(0,o.combineHeaders)(null==(a=(t=this.config).headers)?void 0:a.call(t),e.headers),body:{...g,stream:!0},failedResponseHandler:l,successfulResponseHandler:(0,o.createEventSourceResponseHandler)(te),abortSignal:e.abortSignal,fetch:this.config.fetch}),x=await d({stream:I,getError:e=>tx(e)||tz(e)&&null!=e.response.error?e:void 0,isOutputChunk:tT,isAcceptedChunk:tk,url:w,requestBodyValues:g,responseHeaders:z}),k=this,T=tv(e.prompt),S=null!=(i=null==(r=e.tools)?void 0:r.filter(e=>"function"===e.type))?i:[],M=new Map,C={unified:"other",raw:void 0},E=[],j=null,R={},O=[],A=!1,N={},P={},q=({itemId:e,outputIndex:t})=>{var o;return null==t?e:null!=(o=P[t])?o:e},D=[],U=!1;return{stream:x.pipeThrough(new TransformStream({start(e){e.enqueue({type:"stream-start",warnings:h})},transform(t,a){var r,i,l,d,h,I,x,$,F,L,H,V,J,B,W,K,G,Y,Z,X,Q,ee,et,eo,ea,er,en,ei,el,es,eu,ed,ep,ec,em,eg,eh,ef,ey,ev,eb,e_,ew,ez,eI,ex,ek;if(e.includeRawChunks&&a.enqueue({type:"raw",rawValue:t.rawValue}),!t.success){let e,o=null!=(e="object"==typeof(ex=t.rawValue)&&null!=ex?ex:void 0)&&Array.isArray(e.choices)&&"string"!=typeof e.type?function({value:e,cause:t,url:o,requestBodyValues:a,responseHeaders:r}){return new n.APICallError({message:"Received a Chat Completions stream while using the OpenAI Responses API. The default OpenAI provider model uses the Responses API. If your custom baseURL targets a Chat Completions-compatible endpoint, use openai.chat('model-id') or createOpenAI(...).chat('model-id') instead. You can also use @ai-sdk/openai-compatible for OpenAI-compatible providers.",url:o,requestBodyValues:a,responseHeaders:r,responseBody:JSON.stringify(e),cause:t,data:e,isRetryable:!1})}({value:t.rawValue,cause:t.error,url:w,requestBodyValues:g,responseHeaders:z}):t.error;U=!0,C={unified:"error",raw:void 0},a.enqueue({type:"error",error:o});return}let eT=t.value;if(tI(eT))if("function_call"===eT.item.type){let e=tn({toolName:eT.item.name,tools:S});R[eT.output_index]={toolName:eT.item.name,toolCallId:eT.item.call_id,suppressInputStreaming:e,bufferedInputDeltas:e?[]:void 0},e||a.enqueue({type:"tool-input-start",id:eT.item.call_id,toolName:eT.item.name})}else if("custom_tool_call"===eT.item.type){let e=y.toCustomToolName(eT.item.name);R[eT.output_index]={toolName:e,toolCallId:eT.item.call_id},a.enqueue({type:"tool-input-start",id:eT.item.call_id,toolName:e})}else if("web_search_call"===eT.item.type)R[eT.output_index]={toolName:y.toCustomToolName(null!=f?f:"web_search"),toolCallId:eT.item.id},a.enqueue({type:"tool-input-start",id:eT.item.id,toolName:y.toCustomToolName(null!=f?f:"web_search"),providerExecuted:!0}),a.enqueue({type:"tool-input-end",id:eT.item.id}),a.enqueue({type:"tool-call",toolCallId:eT.item.id,toolName:y.toCustomToolName(null!=f?f:"web_search"),input:JSON.stringify({}),providerExecuted:!0});else if("computer_call"===eT.item.type){let e=null!=(r=eT.item.call_id)?r:eT.item.id;R[eT.output_index]={toolName:y.toCustomToolName("computer"),toolCallId:e},a.enqueue({type:"tool-input-start",id:e,toolName:y.toCustomToolName("computer")})}else if("code_interpreter_call"===eT.item.type)R[eT.output_index]={toolName:y.toCustomToolName("code_interpreter"),toolCallId:eT.item.id,codeInterpreter:{containerId:eT.item.container_id}},a.enqueue({type:"tool-input-start",id:eT.item.id,toolName:y.toCustomToolName("code_interpreter"),providerExecuted:!0}),a.enqueue({type:"tool-input-delta",id:eT.item.id,delta:`{"containerId":"${eT.item.container_id}","code":"`});else if("file_search_call"===eT.item.type)a.enqueue({type:"tool-call",toolCallId:eT.item.id,toolName:y.toCustomToolName("file_search"),input:"{}",providerExecuted:!0});else if("image_generation_call"===eT.item.type)a.enqueue({type:"tool-call",toolCallId:eT.item.id,toolName:y.toCustomToolName("image_generation"),input:"{}",providerExecuted:!0});else if("tool_search_call"===eT.item.type){let e=eT.item.id,t=y.toCustomToolName("tool_search"),o="server"===eT.item.execution;R[eT.output_index]={toolName:t,toolCallId:e,toolSearchExecution:null!=(i=eT.item.execution)?i:"server"},o&&a.enqueue({type:"tool-input-start",id:e,toolName:t,providerExecuted:!0})}else if("tool_search_output"===eT.item.type);else if("mcp_call"===eT.item.type||"mcp_list_tools"===eT.item.type||"mcp_approval_request"===eT.item.type);else if("apply_patch_call"===eT.item.type){let{call_id:e,operation:t}=eT.item;if(R[eT.output_index]={toolName:y.toCustomToolName("apply_patch"),toolCallId:e,applyPatch:{hasDiff:"delete_file"===t.type,endEmitted:"delete_file"===t.type}},a.enqueue({type:"tool-input-start",id:e,toolName:y.toCustomToolName("apply_patch")}),"delete_file"===t.type){let o=JSON.stringify({callId:e,operation:t});a.enqueue({type:"tool-input-delta",id:e,delta:o}),a.enqueue({type:"tool-input-end",id:e})}else a.enqueue({type:"tool-input-delta",id:e,delta:`{"callId":"${tM(e)}","operation":{"type":"${tM(t.type)}","path":"${tM(t.path)}","diff":"`})}else"shell_call"===eT.item.type?R[eT.output_index]={toolName:y.toCustomToolName("shell"),toolCallId:eT.item.call_id}:"shell_call_output"===eT.item.type||("message"===eT.item.type?(P[eT.output_index]=eT.item.id,O.splice(0,O.length),s=null!=(l=eT.item.phase)?l:void 0,a.enqueue({type:"text-start",id:eT.item.id,providerMetadata:{[b]:{itemId:eT.item.id,...null!=eT.item.phase&&{phase:eT.item.phase}}}})):tI(eT)&&"reasoning"===eT.item.type&&(P[eT.output_index]=eT.item.id,N[eT.item.id]={encryptedContent:eT.item.encrypted_content,summaryParts:{0:"active"}},a.enqueue({type:"reasoning-start",id:`${eT.item.id}:0`,providerMetadata:{[b]:{itemId:eT.item.id,reasoningEncryptedContent:null!=(d=eT.item.encrypted_content)?d:null}}})));else if("response.output_item.done"===eT.type)if("message"===eT.item.type){let e=q({itemId:eT.item.id,outputIndex:eT.output_index}),t=null!=(h=eT.item.phase)?h:s;s=void 0,a.enqueue({type:"text-end",id:e,providerMetadata:{[b]:{itemId:e,...null!=t&&{phase:t},...O.length>0&&{annotations:O}}}}),P[eT.output_index]=void 0}else if("function_call"===eT.item.type){let e=eT.item,t=R[eT.output_index];R[eT.output_index]=void 0,A=!0;let o=null!=(I=null==t?void 0:t.suppressInputStreaming)?I:tn({toolName:e.name,tools:S}),r=()=>{var r;if(o){a.enqueue({type:"tool-input-start",id:e.call_id,toolName:e.name});let o=null!=(r=null==t?void 0:t.bufferedInputDeltas)?r:[];if(o.length>0)for(let t of o)a.enqueue({type:"tool-input-delta",id:e.call_id,delta:t});else e.arguments.length>0&&a.enqueue({type:"tool-input-delta",id:e.call_id,delta:e.arguments})}a.enqueue({type:"tool-input-end",id:e.call_id,...null!=e.namespace&&{providerMetadata:{[b]:{namespace:e.namespace}}}}),a.enqueue({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments,providerMetadata:{[b]:{itemId:e.id,...null!=e.namespace&&{namespace:e.namespace},...null!=e.caller&&{caller:"program"===e.caller.type?{type:"program",callerId:e.caller.caller_id}:e.caller}}}})};return o?ti({toolCall:{toolCallId:e.call_id,toolName:e.name,input:e.arguments},tools:S,providerOptionsName:b,itemId:e.id}).then(e=>{if(null==e)return void r();for(let t of e)a.enqueue({type:"tool-input-start",id:t.toolCallId,toolName:t.toolName}),a.enqueue({type:"tool-input-delta",id:t.toolCallId,delta:t.input}),a.enqueue({type:"tool-input-end",id:t.toolCallId}),a.enqueue(t)}):void r()}else if("program"===eT.item.type)a.enqueue({type:"tool-call",toolCallId:eT.item.call_id,toolName:y.toCustomToolName("programmatic_tool_calling"),input:JSON.stringify({code:eT.item.code,fingerprint:eT.item.fingerprint}),providerExecuted:!0,providerMetadata:{[b]:{itemId:eT.item.id}}});else if("program_output"===eT.item.type)a.enqueue({type:"tool-result",toolCallId:eT.item.call_id,toolName:y.toCustomToolName("programmatic_tool_calling"),result:{result:eT.item.result,status:eT.item.status},providerMetadata:{[b]:{itemId:eT.item.id}}});else if("custom_tool_call"===eT.item.type){R[eT.output_index]=void 0,A=!0;let e=y.toCustomToolName(eT.item.name);a.enqueue({type:"tool-input-end",id:eT.item.call_id}),a.enqueue({type:"tool-call",toolCallId:eT.item.call_id,toolName:e,input:JSON.stringify(eT.item.input),providerMetadata:{[b]:{itemId:eT.item.id}}})}else if("web_search_call"===eT.item.type)R[eT.output_index]=void 0,a.enqueue({type:"tool-result",toolCallId:eT.item.id,toolName:y.toCustomToolName(null!=f?f:"web_search"),result:tS(eT.item.action)});else if("computer_call"===eT.item.type){if(R[eT.output_index]=void 0,null==eT.item.call_id){a.enqueue({type:"tool-input-end",id:eT.item.id}),a.enqueue({type:"tool-call",toolCallId:eT.item.id,toolName:y.toCustomToolName("computer_use"),input:"",providerExecuted:!0}),a.enqueue({type:"tool-result",toolCallId:eT.item.id,toolName:y.toCustomToolName("computer_use"),result:{type:"computer_use_tool_result",status:eT.item.status}});return}A=!0;let e=y.toCustomToolName("computer"),t=JSON.stringify(t_(eT.item));a.enqueue({type:"tool-input-delta",id:eT.item.call_id,delta:t}),a.enqueue({type:"tool-input-end",id:eT.item.call_id}),a.enqueue({type:"tool-call",toolCallId:eT.item.call_id,toolName:e,input:t,providerMetadata:{[b]:{itemId:eT.item.id}}})}else if("file_search_call"===eT.item.type)R[eT.output_index]=void 0,a.enqueue({type:"tool-result",toolCallId:eT.item.id,toolName:y.toCustomToolName("file_search"),result:{queries:eT.item.queries,results:null!=($=null==(x=eT.item.results)?void 0:x.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text})))?$:null}});else if("code_interpreter_call"===eT.item.type)R[eT.output_index]=void 0,a.enqueue({type:"tool-result",toolCallId:eT.item.id,toolName:y.toCustomToolName("code_interpreter"),result:{outputs:eT.item.outputs}});else if("image_generation_call"===eT.item.type)a.enqueue({type:"tool-result",toolCallId:eT.item.id,toolName:y.toCustomToolName("image_generation"),result:{result:eT.item.result}});else if("tool_search_call"===eT.item.type){let e=R[eT.output_index],t="server"===eT.item.execution;if(null!=e){let o=t?e.toolCallId:null!=(F=eT.item.call_id)?F:eT.item.id;t?D.push(o):a.enqueue({type:"tool-input-start",id:o,toolName:e.toolName}),a.enqueue({type:"tool-input-end",id:o}),a.enqueue({type:"tool-call",toolCallId:o,toolName:e.toolName,input:JSON.stringify({arguments:eT.item.arguments,call_id:t?null:o}),...t?{providerExecuted:!0}:{},providerMetadata:{[b]:{itemId:eT.item.id}}})}R[eT.output_index]=void 0}else if("tool_search_output"===eT.item.type){let e=null!=(H=null!=(L=eT.item.call_id)?L:D.shift())?H:eT.item.id;a.enqueue({type:"tool-result",toolCallId:e,toolName:y.toCustomToolName("tool_search"),result:{tools:eT.item.tools},providerMetadata:{[b]:{itemId:eT.item.id}}})}else if("mcp_call"===eT.item.type){R[eT.output_index]=void 0;let e=null!=(V=eT.item.approval_request_id)?V:void 0,t=null!=e&&null!=(B=null!=(J=M.get(e))?J:T[e])?B:eT.item.id,o=`mcp.${eT.item.name}`;a.enqueue({type:"tool-call",toolCallId:t,toolName:o,input:eT.item.arguments,providerExecuted:!0,dynamic:!0}),a.enqueue({type:"tool-result",toolCallId:t,toolName:o,result:{type:"call",serverLabel:eT.item.server_label,name:eT.item.name,arguments:eT.item.arguments,...null!=eT.item.output?{output:eT.item.output}:{},...null!=eT.item.error?{error:eT.item.error}:{}},providerMetadata:{[b]:{itemId:eT.item.id}}})}else if("mcp_list_tools"===eT.item.type)R[eT.output_index]=void 0;else if("apply_patch_call"===eT.item.type){let e=R[eT.output_index];(null==e?void 0:e.applyPatch)&&!e.applyPatch.endEmitted&&"delete_file"!==eT.item.operation.type&&(e.applyPatch.hasDiff||a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:tM(eT.item.operation.diff)}),a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:'"}}'}),a.enqueue({type:"tool-input-end",id:e.toolCallId}),e.applyPatch.endEmitted=!0),e&&"completed"===eT.item.status&&a.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:y.toCustomToolName("apply_patch"),input:JSON.stringify({callId:eT.item.call_id,operation:eT.item.operation}),providerMetadata:{[b]:{itemId:eT.item.id}}}),R[eT.output_index]=void 0}else if("mcp_approval_request"===eT.item.type){R[eT.output_index]=void 0;let e=null!=(G=null==(K=(W=k.config).generateId)?void 0:K.call(W))?G:(0,o.generateId)(),t=null!=(Y=eT.item.approval_request_id)?Y:eT.item.id;M.set(t,e);let r=`mcp.${eT.item.name}`;a.enqueue({type:"tool-call",toolCallId:e,toolName:r,input:eT.item.arguments,providerExecuted:!0,dynamic:!0}),a.enqueue({type:"tool-approval-request",approvalId:t,toolCallId:e})}else if("local_shell_call"===eT.item.type)R[eT.output_index]=void 0,a.enqueue({type:"tool-call",toolCallId:eT.item.call_id,toolName:y.toCustomToolName("local_shell"),input:JSON.stringify({action:{type:"exec",command:eT.item.action.command,timeoutMs:eT.item.action.timeout_ms,user:eT.item.action.user,workingDirectory:eT.item.action.working_directory,env:eT.item.action.env}}),providerMetadata:{[b]:{itemId:eT.item.id}}});else if("shell_call"===eT.item.type)R[eT.output_index]=void 0,a.enqueue({type:"tool-call",toolCallId:eT.item.call_id,toolName:y.toCustomToolName("shell"),input:JSON.stringify({action:{commands:eT.item.action.commands}}),..._&&{providerExecuted:!0},providerMetadata:{[b]:{itemId:eT.item.id}}});else if("shell_call_output"===eT.item.type)a.enqueue({type:"tool-result",toolCallId:eT.item.call_id,toolName:y.toCustomToolName("shell"),result:{output:eT.item.output.map(e=>({stdout:e.stdout,stderr:e.stderr,outcome:"exit"===e.outcome.type?{type:"exit",exitCode:e.outcome.exit_code}:{type:"timeout"}}))}});else if("reasoning"===eT.item.type){let e=q({itemId:eT.item.id,outputIndex:eT.output_index}),t=N[e];if(null!=t){for(let o of Object.entries(t.summaryParts).filter(([e,t])=>"active"===t||"can-conclude"===t).map(([e])=>e))a.enqueue({type:"reasoning-end",id:`${e}:${o}`,providerMetadata:{[b]:{itemId:e,reasoningEncryptedContent:null!=(Z=eT.item.encrypted_content)?Z:null}}});delete N[e]}P[eT.output_index]=void 0}else"compaction"===eT.item.type&&a.enqueue({type:"custom",kind:"openai.compaction",providerMetadata:{[b]:{type:"compaction",itemId:eT.item.id,encryptedContent:eT.item.encrypted_content}}});else if("response.function_call_arguments.delta"===eT.type){let e=R[eT.output_index];null!=e&&(e.suppressInputStreaming?null==(X=e.bufferedInputDeltas)||X.push(eT.delta):a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:eT.delta}))}else if("response.custom_tool_call_input.delta"===eT.type){let e=R[eT.output_index];null!=e&&a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:eT.delta})}else if("response.apply_patch_call_operation_diff.delta"===eT.type){let e=R[eT.output_index];(null==e?void 0:e.applyPatch)&&(a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:tM(eT.delta)}),e.applyPatch.hasDiff=!0)}else if("response.apply_patch_call_operation_diff.done"===eT.type){let e=R[eT.output_index];(null==e?void 0:e.applyPatch)&&!e.applyPatch.endEmitted&&(e.applyPatch.hasDiff||(a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:tM(eT.diff)}),e.applyPatch.hasDiff=!0),a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:'"}}'}),a.enqueue({type:"tool-input-end",id:e.toolCallId}),e.applyPatch.endEmitted=!0)}else if("response.image_generation_call.partial_image"===eT.type)a.enqueue({type:"tool-result",toolCallId:eT.item_id,toolName:y.toCustomToolName("image_generation"),result:{result:eT.partial_image_b64},preliminary:!0});else if("response.code_interpreter_call_code.delta"===eT.type){let e=R[eT.output_index];null!=e&&a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:tM(eT.delta)})}else if("response.code_interpreter_call_code.done"===eT.type){let e=R[eT.output_index];null!=e&&(a.enqueue({type:"tool-input-delta",id:e.toolCallId,delta:'"}'}),a.enqueue({type:"tool-input-end",id:e.toolCallId}),a.enqueue({type:"tool-call",toolCallId:e.toolCallId,toolName:y.toCustomToolName("code_interpreter"),input:JSON.stringify({code:eT.code,containerId:e.codeInterpreter.containerId}),providerExecuted:!0}))}else if("response.created"===eT.type)j=eT.response.id,a.enqueue({type:"response-metadata",id:eT.response.id,timestamp:new Date(1e3*eT.response.created_at),modelId:eT.response.model});else if("response.output_text.delta"===eT.type){let t=q({itemId:eT.item_id,outputIndex:eT.output_index});a.enqueue({type:"text-delta",id:t,delta:eT.delta}),(null==(ee=null==(Q=e.providerOptions)?void 0:Q[b])?void 0:ee.logprobs)&&eT.logprobs&&E.push(eT.logprobs)}else if("response.reasoning_summary_part.added"===eT.type){let e=q({itemId:eT.item_id,outputIndex:eT.output_index});if(eT.summary_index>0){let t=N[e];if(null!=t){for(let o of(t.summaryParts[eT.summary_index]="active",Object.keys(t.summaryParts)))"can-conclude"===t.summaryParts[o]&&(a.enqueue({type:"reasoning-end",id:`${e}:${o}`,providerMetadata:{[b]:{itemId:e}}}),t.summaryParts[o]="concluded");a.enqueue({type:"reasoning-start",id:`${e}:${eT.summary_index}`,providerMetadata:{[b]:{itemId:e,reasoningEncryptedContent:null!=(et=t.encryptedContent)?et:null}}})}}}else if("response.reasoning_summary_text.delta"===eT.type){let e=q({itemId:eT.item_id,outputIndex:eT.output_index});a.enqueue({type:"reasoning-delta",id:`${e}:${eT.summary_index}`,delta:eT.delta,providerMetadata:{[b]:{itemId:e}}})}else if("response.reasoning_summary_part.done"===eT.type){let e=q({itemId:eT.item_id,outputIndex:eT.output_index}),t=N[e];null!=t&&(v?(a.enqueue({type:"reasoning-end",id:`${e}:${eT.summary_index}`,providerMetadata:{[b]:{itemId:e}}}),t.summaryParts[eT.summary_index]="concluded"):t.summaryParts[eT.summary_index]="can-conclude")}else{if("response.completed"===(ek=eT).type||"response.incomplete"===ek.type)U||(C={unified:eG({finishReason:null==(eo=eT.response.incomplete_details)?void 0:eo.reason,hasFunctionCall:A}),raw:null!=(er=null==(ea=eT.response.incomplete_details)?void 0:ea.reason)?er:void 0}),m=null!=(en=eT.response.usage)?en:void 0,"string"==typeof eT.response.service_tier&&(p=eT.response.service_tier),(null==(ei=eT.response.reasoning)?void 0:ei.context)!=null&&(c=eT.response.reasoning.context);else if(tz(eT)){let e=null==(el=eT.response.incomplete_details)?void 0:el.reason;if(C={unified:e?eG({finishReason:e,hasFunctionCall:A}):"error",raw:null!=e?e:"error"},m=null!=(es=eT.response.usage)?es:void 0,(null==(eu=eT.response.reasoning)?void 0:eu.context)!=null&&(c=eT.response.reasoning.context),!U&&null!=eT.response.error){U=!0;let e={type:"response.failed",sequence_number:eT.sequence_number,response:{error:eT.response.error,incomplete_details:eT.response.incomplete_details,service_tier:eT.response.service_tier}};a.enqueue({type:"error",error:null!=(ed=u(e))?ed:e})}}else"response.output_text.annotation.added"===eT.type?(O.push(eT.annotation),"url_citation"===eT.annotation.type?a.enqueue({type:"source",sourceType:"url",id:null!=(em=null==(ec=(ep=k.config).generateId)?void 0:ec.call(ep))?em:(0,o.generateId)(),url:eT.annotation.url,title:eT.annotation.title}):"file_citation"===eT.annotation.type?a.enqueue({type:"source",sourceType:"document",id:null!=(ef=null==(eh=(eg=k.config).generateId)?void 0:eh.call(eg))?ef:(0,o.generateId)(),mediaType:"text/plain",title:eT.annotation.filename,filename:eT.annotation.filename,providerMetadata:{[b]:{type:eT.annotation.type,fileId:eT.annotation.file_id,index:eT.annotation.index}}}):"container_file_citation"===eT.annotation.type?a.enqueue({type:"source",sourceType:"document",id:null!=(eb=null==(ev=(ey=k.config).generateId)?void 0:ev.call(ey))?eb:(0,o.generateId)(),mediaType:"text/plain",title:eT.annotation.filename,filename:eT.annotation.filename,providerMetadata:{[b]:{type:eT.annotation.type,fileId:eT.annotation.file_id,containerId:eT.annotation.container_id}}}):"file_path"===eT.annotation.type&&a.enqueue({type:"source",sourceType:"document",id:null!=(ez=null==(ew=(e_=k.config).generateId)?void 0:ew.call(e_))?ez:(0,o.generateId)(),mediaType:"application/octet-stream",title:eT.annotation.file_id,filename:eT.annotation.file_id,providerMetadata:{[b]:{type:eT.annotation.type,fileId:eT.annotation.file_id,index:eT.annotation.index}}})):tx(eT)&&(U=!0,C={unified:"error",raw:"error"},a.enqueue({type:"error",error:null!=(eI=u(eT))?eI:eT}))}},flush(e){var t;for(let o of Object.values(R))if(null==o?void 0:o.suppressInputStreaming)for(let a of(e.enqueue({type:"tool-input-start",id:o.toolCallId,toolName:o.toolName}),null!=(t=o.bufferedInputDeltas)?t:[]))e.enqueue({type:"tool-input-delta",id:o.toolCallId,delta:a});let o={[b]:{responseId:j,...E.length>0?{logprobs:E}:{},...void 0!==p?{serviceTier:p}:{},...void 0!==c?{reasoningContext:c}:{}}};e.enqueue({type:"finish",finishReason:C,usage:eK(m),providerMetadata:o})}})),request:{body:g},response:{headers:z}}}};function tz(e){return"response.failed"===e.type}function tI(e){return"response.output_item.added"===e.type}function tx(e){return"error"===e.type}function tk(e){return"response.in_progress"===e.type}function tT(e){return"response.created"!==e.type&&"response.in_progress"!==e.type&&"response.failed"!==e.type&&"error"!==e.type&&"unknown_chunk"!==e.type}function tS(e){var t;if(null==e)return{};switch(e.type){case"search":return{action:{type:"search",query:null!=(t=e.query)?t:void 0,...null!=e.queries&&{queries:e.queries}},...null!=e.sources&&{sources:e.sources}};case"open_page":return{action:{type:"openPage",url:e.url}};case"find_in_page":return{action:{type:"findInPage",url:e.url,pattern:e.pattern}}}}function tM(e){return JSON.stringify(e).slice(1,-1)}var tC="/v1/responses",tE=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({inputFileExpiresAfter:r.z.number().int().min(3600).max(2592e3).optional()}))),tj=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),status:r.z.string(),output_file_id:r.z.string().nullish(),error_file_id:r.z.string().nullish(),created_at:r.z.number().nullish(),expires_at:r.z.number().nullish(),request_counts:r.z.object({total:r.z.number().nullish(),completed:r.z.number().nullish(),failed:r.z.number().nullish()}).nullish(),errors:r.z.object({data:r.z.array(r.z.object({code:r.z.string().nullish(),message:r.z.string().nullish()})).nullish()}).nullish()}))),tR=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({custom_id:r.z.string(),response:r.z.object({status_code:r.z.number(),request_id:r.z.string().nullish(),body:r.z.unknown()}).nullish(),error:r.z.object({code:r.z.string(),message:r.z.string()}).nullish()}))),tO=class{constructor(e){this.options=e}async startBatch(e){var t,a,r,n,i,s;let u=[],d=null==e.webhookUrl?[]:[{warning:{type:"unsupported",feature:"webhookUrl",details:"The OpenAI Batch API does not support per-batch webhook URLs."}}],p=await this.parseBatchProviderOptions(e.providerOptions),c=null!=(t=null==p?void 0:p.inputFileExpiresAfter)?t:172800;for(let t of e.requests){let e=await this.options.prepareRequest(t);for(let o of(u.push(JSON.stringify({custom_id:t.id,method:"POST",url:tC,body:e.body}),"\n"),e.warnings))d.push({requestId:t.id,warning:o});for(let e of null!=(a=t.options.tools)?a:[])"provider"!==e.type||tA.has(e.id)||d.push({requestId:t.id,warning:{type:"unsupported",feature:`batch result conversion for tool "${e.name}"`,details:"OpenAI may return output for this tool that AI SDK text batches cannot currently convert."}})}let m="batch.jsonl",g=new Blob(u,{type:"application/jsonl"});u.length=0;let h=new FormData;h.append("file",g,m),h.append("purpose","batch"),h.append("expires_after[anchor]","created_at"),h.append("expires_after[seconds]",String(c));let{value:f}=await (0,o.postToApi)({url:this.getUrl("/files"),headers:(0,o.combineHeaders)(null==(n=(r=this.options.config).headers)?void 0:n.call(r),e.headers),body:{content:h,values:{purpose:"batch","expires_after[anchor]":"created_at","expires_after[seconds]":String(c),file:{name:m,type:g.type,size:g.size}}},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(A),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),{value:y}=await (0,o.postJsonToApi)({url:this.getUrl("/batches"),headers:(0,o.combineHeaders)(null==(s=(i=this.options.config).headers)?void 0:s.call(i),e.headers),body:{input_file_id:f.id,endpoint:tC,completion_window:"24h"},failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tj),abortSignal:e.abortSignal,fetch:this.options.config.fetch}),v=tq(f.expires_at);return{batchId:y.id,...tP(y),providerMetadata:{openai:{inputFileId:f.id,...null!=v?{inputFileExpiresAt:v}:{}}},warnings:d}}async parseBatchProviderOptions(e){let t=this.options.config.provider.includes("azure")?"azure":"openai",a=await (0,o.parseProviderOptions)({provider:t,providerOptions:e,schema:tE});return null==a&&"openai"!==t&&(a=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:e,schema:tE})),a}async getBatchStatus(e){return tP(await this.retrieveBatch(e))}async getBatchResults(e){let t=await this.retrieveBatch(e),a=tP(t);if("pending"===a.status)throw new n.InvalidArgumentError({argument:"batchId",message:`OpenAI batch "${e.batchId}" is not complete.`});let r=[t.output_file_id,t.error_file_id].filter(e=>null!=e);if("completed"===a.status&&0===r.length)throw new n.InvalidResponseDataError({data:t,message:`OpenAI batch "${e.batchId}" completed without batch output.`});let i=this.iterateBatchResults({fileIds:r,options:e});return(0,o.convertAsyncIteratorToReadableStream)(i)}async retrieveBatch(e){var t,a;let{value:r}=await (0,o.getFromApi)({url:this.getUrl(`/batches/${encodeURIComponent(e.batchId)}`),headers:(0,o.combineHeaders)(null==(a=(t=this.options.config).headers)?void 0:a.call(t),e.headers),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tj),abortSignal:e.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});return r}async *iterateBatchResults({fileIds:e,options:t}){var a,r;for(let n of e){let{value:e}=await (0,o.getFromApi)({url:this.getUrl(`/files/${encodeURIComponent(n)}/content`),headers:(0,o.combineHeaders)(null==(r=(a=this.options.config).headers)?void 0:r.call(a),t.headers),failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonLinesResponseHandler)(tR),abortSignal:t.abortSignal,fetch:this.options.config.fetch,validateUrl:!1});for await(let t of e)yield await this.convertResultLine(t)}}async convertResultLine(e){if(null!=e.error){let t={message:e.error.message,code:e.error.code};return"batch_cancelled"===e.error.code?{id:e.custom_id,status:"cancelled",error:t}:"batch_expired"===e.error.code?{id:e.custom_id,status:"expired",error:t}:{id:e.custom_id,status:"failed",error:t}}if(null==e.response)return{id:e.custom_id,status:"failed",error:{message:"OpenAI returned a batch result without a response or error.",code:"invalid_batch_result"}};if(e.response.status_code<200||e.response.status_code>=300)return{id:e.custom_id,status:"failed",error:await tD({body:e.response.body,statusCode:e.response.status_code})};let t=await tU(e.response.body);return t.success?{id:e.custom_id,status:"succeeded",result:t.result}:{id:e.custom_id,status:"failed",error:t.error}}getUrl(e){return this.options.config.url({modelId:this.options.modelId,path:e})}},tA=new Set(["openai.code_interpreter","openai.custom","openai.file_search","openai.web_search","openai.web_search_preview"]),tN=class e extends tw{static[a.WORKFLOW_SERIALIZE](e){return tw[a.WORKFLOW_SERIALIZE](e)}static[a.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,eW(t.config))}constructor(e,t){super(e,t),this.batch=new tO({modelId:e,config:t,prepareRequest:async e=>{let{args:t,warnings:o}=await this.getArgs(e.options);return{body:t,warnings:o}}})}experimental_doStartBatch(e){return this.batch.startBatch(e)}experimental_doGetBatchStatus(e){return this.batch.getBatchStatus(e)}experimental_doGetBatchResults(e){return this.batch.getBatchResults(e)}};function tP(e){var t,a,r,n;let i,l,s,u=function(e){switch(e){case"completed":return"completed";case"failed":case"expired":case"cancelled":return"failed";default:return"pending"}}(e.status),d=null==(a=null==(t=e.errors)?void 0:t.data)?void 0:a[0],p=(i=null==(n=e.request_counts)?void 0:n.total,l=null==n?void 0:n.completed,s=null==n?void 0:n.failed,(0,o.normalizeBatchRequestCounts)({total:i,pending:null!=i&&null!=l&&null!=s?i-l-s:void 0,completed:l,failed:s})),c=tq(e.created_at),m=tq(e.expires_at);return{status:u,rawStatus:e.status,...null!=p?{requestCounts:p}:{},...null!=d?{error:{message:null!=(r=d.message)?r:"OpenAI batch failed.",...null!=d.code?{code:d.code}:{}}}:{},...null!=c?{createdAt:c}:{},...null!=m?{expiresAt:m}:{}}}function tq(e){if(null==e||!Number.isFinite(e))return;let t=new Date(1e3*e);return Number.isNaN(t.getTime())?void 0:t.toISOString()}async function tD({body:e,statusCode:t}){var a;let r=await (0,o.safeValidateTypes)({value:e,schema:i});return r.success?{message:r.value.error.message,type:null!=(a=r.value.error.type)?a:void 0,code:null!=r.value.error.code?String(r.value.error.code):void 0,statusCode:t}:{message:`OpenAI batch request failed with status code ${t}.`,statusCode:t}}async function tU(e){var t,a,r,n,i,l,s,u;let d=await (0,o.safeValidateTypes)({value:e,schema:tt});if(!d.success)return{success:!1,error:{message:"OpenAI returned an invalid Responses batch result.",code:"invalid_response"}};let p=d.value;if(null!=p.error)return{success:!1,error:{message:p.error.message,type:p.error.type,code:p.error.code}};if(null==p.output){let e=null==(t=p.incomplete_details)?void 0:t.reason;return{success:!1,error:{message:null!=e?`OpenAI Responses returned no output (${e}).`:"OpenAI Responses returned no output.",code:"invalid_response"}}}let c=[],m=[],g=!1;for(let e of p.output)switch(e.type){case"reasoning":for(let t of e.summary.length>0?e.summary:[{type:"summary_text",text:""}])c.push({type:"reasoning",text:t.text,providerMetadata:{openai:{itemId:e.id,reasoningEncryptedContent:null!=(a=e.encrypted_content)?a:null}}});break;case"message":for(let t of e.content)c.push({type:"text",text:t.text}),null!=t.logprobs&&m.push(t.logprobs);break;case"function_call":g=!0,c.push({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:e.arguments,providerMetadata:{openai:{itemId:e.id,...null!=e.namespace&&{namespace:e.namespace},...null!=e.caller&&{caller:"program"===e.caller.type?{type:"program",callerId:e.caller.caller_id}:e.caller}}}});break;case"custom_tool_call":g=!0,c.push({type:"tool-call",toolCallId:e.call_id,toolName:e.name,input:JSON.stringify(e.input),providerMetadata:{openai:{itemId:e.id}}});break;case"web_search_call":c.push({type:"tool-call",toolCallId:e.id,toolName:"web_search",input:"{}",providerExecuted:!0,dynamic:!0}),c.push({type:"tool-result",toolCallId:e.id,toolName:"web_search",result:tS(e.action),dynamic:!0});break;case"file_search_call":c.push({type:"tool-call",toolCallId:e.id,toolName:"file_search",input:"{}",providerExecuted:!0,dynamic:!0}),c.push({type:"tool-result",toolCallId:e.id,toolName:"file_search",result:{queries:e.queries,results:null!=(n=null==(r=e.results)?void 0:r.map(e=>({attributes:e.attributes,fileId:e.file_id,filename:e.filename,score:e.score,text:e.text})))?n:null},dynamic:!0});break;case"code_interpreter_call":c.push({type:"tool-call",toolCallId:e.id,toolName:"code_interpreter",input:JSON.stringify({code:e.code,containerId:e.container_id}),providerExecuted:!0,dynamic:!0}),c.push({type:"tool-result",toolCallId:e.id,toolName:"code_interpreter",result:{outputs:e.outputs},dynamic:!0});break;default:return{success:!1,error:{message:`OpenAI returned an unsupported "${e.type}" output item in an AI SDK text batch.`,code:"unsupported_content"}}}let h={openai:{responseId:p.id,...m.length>0?{logprobs:m}:{},..."string"==typeof p.service_tier?{serviceTier:p.service_tier}:{},...(null==(i=p.reasoning)?void 0:i.context)!=null?{reasoningContext:p.reasoning.context}:{}}};return{success:!0,result:{content:c,finishReason:{unified:eG({finishReason:null==(l=p.incomplete_details)?void 0:l.reason,hasFunctionCall:g}),raw:null!=(u=null==(s=p.incomplete_details)?void 0:s.reason)?u:void 0},usage:eK(p.usage),response:{id:p.id,timestamp:null!=p.created_at?new Date(1e3*p.created_at):void 0,modelId:p.model},providerMetadata:h,warnings:[]}}}function t$(e,t){var o;let a={type:"realtime",model:t};null!=e.instructions&&(a.instructions=e.instructions),null!=e.outputModalities&&(a.output_modalities=e.outputModalities);let r={};if(null!=e.inputAudioFormat||null!=e.inputAudioTranscription||null!=e.turnDetection){let t={};if(null!=e.inputAudioFormat&&(t.format={type:e.inputAudioFormat.type,...null!=e.inputAudioFormat.rate?{rate:e.inputAudioFormat.rate}:{}}),null!=e.turnDetection)if("disabled"===e.turnDetection.type)t.turn_detection=null;else{let o={type:"server-vad"===e.turnDetection.type?"server_vad":"semantic_vad"};null!=e.turnDetection.threshold&&(o.threshold=e.turnDetection.threshold),null!=e.turnDetection.silenceDurationMs&&(o.silence_duration_ms=e.turnDetection.silenceDurationMs),null!=e.turnDetection.prefixPaddingMs&&(o.prefix_padding_ms=e.turnDetection.prefixPaddingMs),t.turn_detection=o}null!=e.inputAudioTranscription&&(t.transcription={model:null!=(o=e.inputAudioTranscription.model)?o:"gpt-realtime-whisper",...null!=e.inputAudioTranscription.language?{language:e.inputAudioTranscription.language}:{},...null!=e.inputAudioTranscription.prompt?{prompt:e.inputAudioTranscription.prompt}:{}}),r.input=t}if(null!=e.outputAudioFormat||null!=e.voice){let t={};null!=e.outputAudioFormat&&(t.format={type:e.outputAudioFormat.type,...null!=e.outputAudioFormat.rate?{rate:e.outputAudioFormat.rate}:{}}),null!=e.voice&&(t.voice=e.voice),r.output=t}return Object.keys(r).length>0&&(a.audio=r),null!=e.tools&&e.tools.length>0&&(a.tools=e.tools.map(e=>({type:e.type,name:e.name,description:e.description,parameters:e.parameters})),a.tool_choice="auto"),null!=e.providerOptions&&Object.assign(a,e.providerOptions),a}var tF=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t;let o=null!=(t=this.config.fetch)?t:fetch,a=`${this.config.baseURL}/realtime/client_secrets`,r=null!=e.sessionConfig?t$(e.sessionConfig,this.modelId):{type:"realtime",model:this.modelId},n=await o(a,{method:"POST",headers:{...this.config.headers(),"Content-Type":"application/json"},body:JSON.stringify({session:r,...null!=e.expiresAfterSeconds?{expires_after:{anchor:"created_at",seconds:e.expiresAfterSeconds}}:{}})});if(!n.ok){let e=await n.text();throw Error(`OpenAI realtime client secret request failed: ${n.status} ${e}`)}let i=await n.json();return{token:i.value,url:`wss://${new URL(this.config.baseURL).host}/v1/realtime?model=${encodeURIComponent(this.modelId)}`,expiresAt:i.expires_at}}getWebSocketConfig(e){return{url:e.url,protocols:["realtime",`openai-insecure-api-key.${e.token}`]}}parseServerEvent(e){return function(e){var t,o,a,r,n,i,l,s,u,d,p,c,m,g,h,f,y,v,b;let _=e.type;switch(_){case"session.created":return{type:"session-created",sessionId:null==(t=e.session)?void 0:t.id,raw:e};case"session.updated":return{type:"session-updated",raw:e};case"input_audio_buffer.speech_started":return{type:"speech-started",itemId:e.item_id,raw:e};case"input_audio_buffer.speech_stopped":return{type:"speech-stopped",itemId:e.item_id,raw:e};case"input_audio_buffer.committed":return{type:"audio-committed",itemId:e.item_id,previousItemId:e.previous_item_id,raw:e};case"conversation.item.added":return{type:"conversation-item-added",itemId:null!=(a=null==(o=e.item)?void 0:o.id)?a:e.item_id,item:e.item,raw:e};case"conversation.item.input_audio_transcription.completed":return{type:"input-transcription-completed",itemId:e.item_id,transcript:null!=(r=e.transcript)?r:"",raw:e};case"response.created":return{type:"response-created",responseId:null!=(i=null==(n=e.response)?void 0:n.id)?i:e.response_id,raw:e};case"response.done":return{type:"response-done",responseId:null!=(s=null==(l=e.response)?void 0:l.id)?s:e.response_id,status:null!=(d=null==(u=e.response)?void 0:u.status)?d:"completed",raw:e};case"response.output_item.added":return{type:"output-item-added",responseId:e.response_id,itemId:null!=(c=null==(p=e.item)?void 0:p.id)?c:e.item_id,raw:e};case"response.output_item.done":return{type:"output-item-done",responseId:e.response_id,itemId:null!=(g=null==(m=e.item)?void 0:m.id)?g:e.item_id,raw:e};case"response.content_part.added":return{type:"content-part-added",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.content_part.done":return{type:"content-part-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio.delta":return{type:"audio-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio.done":return{type:"audio-done",responseId:e.response_id,itemId:e.item_id,raw:e};case"response.output_audio_transcript.delta":return{type:"audio-transcript-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_audio_transcript.done":return{type:"audio-transcript-done",responseId:e.response_id,itemId:e.item_id,transcript:e.transcript,raw:e};case"response.output_text.delta":return{type:"text-delta",responseId:e.response_id,itemId:e.item_id,delta:e.delta,raw:e};case"response.output_text.done":return{type:"text-done",responseId:e.response_id,itemId:e.item_id,text:e.text,raw:e};case"response.function_call_arguments.delta":return{type:"function-call-arguments-delta",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,delta:e.delta,raw:e};case"response.function_call_arguments.done":return{type:"function-call-arguments-done",responseId:e.response_id,itemId:e.item_id,callId:e.call_id,name:e.name,arguments:e.arguments,raw:e};case"error":return{type:"error",message:null!=(y=null!=(f=null==(h=e.error)?void 0:h.message)?f:e.message)?y:"Unknown error",code:null!=(b=null==(v=e.error)?void 0:v.code)?b:e.code,raw:e};default:return{type:"custom",rawType:_,raw:e}}}(e)}serializeClientEvent(e){var t=this.modelId;switch(e.type){case"session-update":return{type:"session.update",session:t$(e.config,t)};case"input-audio-append":return{type:"input_audio_buffer.append",audio:e.audio};case"input-audio-commit":return{type:"input_audio_buffer.commit"};case"input-audio-clear":return{type:"input_audio_buffer.clear"};case"conversation-item-create":{let t=e.item;switch(t.type){case"text-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_text",text:t.text}]}};case"audio-message":return{type:"conversation.item.create",item:{type:"message",role:t.role,content:[{type:"input_audio",audio:t.audio}]}};case"function-call-output":return{type:"conversation.item.create",item:{type:"function_call_output",call_id:t.callId,output:t.output}}}break}case"conversation-item-truncate":return{type:"conversation.item.truncate",item_id:e.itemId,content_index:e.contentIndex,audio_end_ms:e.audioEndMs};case"response-create":return{type:"response.create",...null!=e.options?{response:{...null!=e.options.modalities?{output_modalities:e.options.modalities}:{},...null!=e.options.instructions?{instructions:e.options.instructions}:{},...null!=e.options.metadata?{metadata:e.options.metadata}:{}}}:{}};case"response-cancel":return{type:"response.cancel"}}}buildSessionConfig(e){return t$(e,this.modelId)}},tL=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({instructions:r.z.string().nullish(),speed:r.z.number().min(.25).max(4).default(1).nullish()}))),tH=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[a.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[a.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({text:e,voice:t="alloy",outputFormat:a="mp3",speed:r,instructions:n,language:i,providerOptions:l}){let s=[],u=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:l,schema:tL}),d={model:this.modelId,input:e,voice:t,response_format:"mp3",speed:r,instructions:n};if(a&&(["mp3","opus","aac","flac","wav","pcm"].includes(a)?d.response_format=a:s.push({type:"unsupported",feature:"outputFormat",details:`Unsupported output format: ${a}. Using mp3 instead.`})),u){let e={};for(let t in e){let o=e[t];void 0!==o&&(d[t]=o)}}return i&&s.push({type:"unsupported",feature:"language",details:`OpenAI speech models do not support language selection. Language parameter "${i}" was ignored.`}),{requestBody:d,warnings:s}}async doGenerate(e){var t,a,r,n,i;let s=null!=(r=null==(a=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:a.call(t))?r:new Date,{requestBody:u,warnings:d}=await this.getArgs(e),{value:p,responseHeaders:c,rawValue:m}=await (0,o.postJsonToApi)({url:this.config.url({path:"/audio/speech",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(i=(n=this.config).headers)?void 0:i.call(n),e.headers),body:u,failedResponseHandler:l,successfulResponseHandler:(0,o.createBinaryResponseHandler)(),abortSignal:e.abortSignal,fetch:this.config.fetch});return{audio:p,warnings:d,request:{body:JSON.stringify(u)},response:{timestamp:s,modelId:this.modelId,headers:c,body:m}}}},tV=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({text:r.z.string(),language:r.z.string().nullish(),duration:r.z.number().nullish(),words:r.z.array(r.z.object({word:r.z.string(),start:r.z.number(),end:r.z.number()})).nullish(),segments:r.z.array(r.z.union([r.z.object({id:r.z.number(),seek:r.z.number(),start:r.z.number(),end:r.z.number(),text:r.z.string(),tokens:r.z.array(r.z.number()),temperature:r.z.number(),avg_logprob:r.z.number(),compression_ratio:r.z.number(),no_speech_prob:r.z.number()}),r.z.object({type:r.z.literal("transcript.text.segment"),id:r.z.string(),start:r.z.number(),end:r.z.number(),text:r.z.string(),speaker:r.z.string()})])).nullish()}))),tJ=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({include:r.z.array(r.z.string()).optional(),language:r.z.string().optional(),prompt:r.z.string().optional(),temperature:r.z.number().min(0).max(1).default(0).optional(),timestampGranularities:r.z.array(r.z.enum(["word","segment"])).default(["segment"]).optional(),responseFormat:r.z.enum(["json","verbose_json","diarized_json"]).optional(),chunkingStrategy:r.z.union([r.z.literal("auto"),r.z.object({type:r.z.literal("server_vad"),threshold:r.z.number().min(0).max(1).optional(),prefixPaddingMs:r.z.number().int().min(0).optional(),silenceDurationMs:r.z.number().int().min(0).optional()})]).optional(),streaming:r.z.object({delay:r.z.enum(["minimal","low","medium","high","xhigh"]).optional(),include:r.z.array(r.z.string()).optional()}).optional()})));function tB(e){return"gpt-realtime-whisper"===e||e.startsWith("gpt-realtime-whisper-")}var tW={afrikaans:"af",arabic:"ar",armenian:"hy",azerbaijani:"az",belarusian:"be",bosnian:"bs",bulgarian:"bg",catalan:"ca",chinese:"zh",croatian:"hr",czech:"cs",danish:"da",dutch:"nl",english:"en",estonian:"et",finnish:"fi",french:"fr",galician:"gl",german:"de",greek:"el",hebrew:"he",hindi:"hi",hungarian:"hu",icelandic:"is",indonesian:"id",italian:"it",japanese:"ja",kannada:"kn",kazakh:"kk",korean:"ko",latvian:"lv",lithuanian:"lt",macedonian:"mk",malay:"ms",marathi:"mr",maori:"mi",nepali:"ne",norwegian:"no",persian:"fa",polish:"pl",portuguese:"pt",romanian:"ro",russian:"ru",serbian:"sr",slovak:"sk",slovenian:"sl",spanish:"es",swahili:"sw",swedish:"sv",tagalog:"tl",tamil:"ta",thai:"th",turkish:"tr",ukrainian:"uk",urdu:"ur",vietnamese:"vi",welsh:"cy"},tK=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[a.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[a.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs({audio:e,mediaType:t,providerOptions:a}){var r,n;let i=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:a,schema:tJ}),l=new FormData,s=e instanceof Uint8Array?new Blob([e]):new Blob([(0,o.convertBase64ToUint8Array)(e)]);l.append("model",this.modelId);let u=(0,o.mediaTypeToExtension)(t);l.append("file",new File([s],"audio",{type:t}),`audio.${u}`),"whisper-1"===this.modelId&&l.append("response_format","verbose_json");let d="gpt-4o-transcribe-diarize"===this.modelId,p=null!=(r=null==i?void 0:i.chunkingStrategy)?r:d?"auto":void 0;if(i){let e=["gpt-4o-transcribe","gpt-4o-mini-transcribe"].includes(this.modelId);for(let[t,o]of Object.entries({include:i.include,language:i.language,prompt:i.prompt,..."whisper-1"!==this.modelId&&{response_format:null!=(n=i.responseFormat)?n:d?"diarized_json":e?"json":"verbose_json"},temperature:i.temperature,timestamp_granularities:i.timestampGranularities}))if(null!=o)if(Array.isArray(o))for(let e of o)l.append(`${t}[]`,String(e));else l.append(t,String(o))}else d&&l.append("response_format","diarized_json");return null!=p&&l.append("chunking_strategy","string"==typeof p?p:JSON.stringify({type:p.type,...null!=p.threshold&&{threshold:p.threshold},...null!=p.prefixPaddingMs&&{prefix_padding_ms:p.prefixPaddingMs},...null!=p.silenceDurationMs&&{silence_duration_ms:p.silenceDurationMs}})),{formData:l,warnings:[]}}async doGenerate(e){var t,a,r,i,s,u,d,p,c,m,g;if(tB(this.modelId))throw new n.UnsupportedFunctionalityError({functionality:`non-streaming transcription with ${this.modelId}`});let h=null!=(r=null==(a=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:a.call(t))?r:new Date,{formData:f,warnings:y}=await this.getArgs(e),{value:v,responseHeaders:b,rawValue:_}=await (0,o.postFormDataToApi)({url:this.config.url({path:"/audio/transcriptions",modelId:this.modelId}),headers:(0,o.combineHeaders)(null==(s=(i=this.config).headers)?void 0:s.call(i),e.headers),formData:f,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tV),abortSignal:e.abortSignal,fetch:this.config.fetch}),w=null!=v.language&&v.language in tW?tW[v.language]:void 0,z=null==(u=v.segments)?void 0:u.flatMap(e=>"speaker"in e?[{text:e.text,startSecond:e.start,endSecond:e.end,speaker:e.speaker}]:[]);return{text:v.text,segments:null!=(m=null!=(c=null==(d=v.segments)?void 0:d.map(e=>({text:e.text,startSecond:e.start,endSecond:e.end})))?c:null==(p=v.words)?void 0:p.map(e=>({text:e.word,startSecond:e.start,endSecond:e.end})))?m:[],language:w,durationInSeconds:null!=(g=v.duration)?g:void 0,warnings:y,response:{timestamp:h,modelId:this.modelId,headers:b,body:_},...null!=z&&z.length>0&&{providerMetadata:{openai:{segments:z}}}}}async doStream(e){var t,a,r,i,l,s,u;if(!tB(this.modelId))throw new n.UnsupportedFunctionalityError({functionality:`streaming transcription with ${this.modelId}`});let d=null!=(r=null==(a=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:a.call(t))?r:new Date,p=await (0,o.parseProviderOptions)({provider:"openai",providerOptions:e.providerOptions,schema:tJ}),c=[],m=null!=(l=null==(i=e.providerOptions)?void 0:i.openai)?l:{};for(let e of["include","prompt","temperature","timestampGranularities"])null!=m[e]&&c.push({type:"unsupported",feature:`providerOptions.openai.${e}`,details:`OpenAI streaming transcription does not support ${e}.`});let g=(0,o.combineHeaders)(null==(u=(s=this.config).headers)?void 0:u.call(s),e.headers),h=function({modelId:e,inputAudioFormat:t,providerOptions:o}){var a,r;return{type:"session.update",session:{type:"transcription",audio:{input:{format:{type:t.type,...null!=t.rate?{rate:t.rate}:{}},transcription:{model:e,...(null==o?void 0:o.language)!=null?{language:o.language}:{},...(null==(a=null==o?void 0:o.streaming)?void 0:a.delay)!=null?{delay:o.streaming.delay}:{}},turn_detection:null}},...(null==(r=null==o?void 0:o.streaming)?void 0:r.include)!=null?{include:o.streaming.include}:{}}}}({modelId:this.modelId,inputAudioFormat:e.inputAudioFormat,providerOptions:p});return{request:{body:h},response:{timestamp:d,modelId:this.modelId},stream:function({webSocket:e,url:t,headers:a,sessionUpdate:r,language:n,warnings:i,audio:l,abortSignal:s,includeRawChunks:u}){let d=!1,p=()=>{};return new ReadableStream({start:c=>{let m,g,h=function(e){var t;let o;for(let[t,a]of Object.entries(e))"authorization"===t.toLowerCase()&&null!=a&&(o=a);let a=null==(t=null==o?void 0:o.match(/^bearer\s+(.+)$/i))?void 0:t[1];return null==a?{protocols:["realtime"],headers:e}:{protocols:["realtime",`openai-insecure-api-key.${a}`],headers:Object.fromEntries(Object.entries(e).filter(([e])=>"authorization"!==e.toLowerCase()))}}(a);p=e=>{null!=m?m.cancel().catch(()=>{}):l.cancel().catch(()=>{}),null==g||g.close(e)};let f=e=>{d||(d=!0,p(),c.error(e))},y=async e=>{m=l.getReader();try{for(;;){let{done:t,value:a}=await m.read();if(t||d)break;e.send(JSON.stringify({type:"input_audio_buffer.append",audio:(0,o.convertToBase64)(a)})),await (0,o.waitForWebSocketBufferDrain)(e)}}finally{m.releaseLock(),m=void 0}d||e.send(JSON.stringify({type:"input_audio_buffer.commit"}))};g=(0,o.connectToWebSocket)({url:t,protocols:h.protocols,headers:h.headers,webSocket:e,abortSignal:s,onAbort:f,onProcessingError:f,onOpen:e=>{c.enqueue({type:"stream-start",warnings:i}),e.send(JSON.stringify(r)),y(e).catch(f)},onMessageText:async e=>{var t,a,r,i,l,s;let m=await (0,o.safeParseJSON)({text:e});if(!m.success)return;let g=m.value;switch(u&&c.enqueue({type:"raw",rawValue:g}),g.type){case"conversation.item.input_audio_transcription.delta":c.enqueue({type:"transcript-delta",id:g.item_id,delta:null!=(t=g.delta)?t:""});break;case"conversation.item.input_audio_transcription.completed":l=null!=(a=g.transcript)?a:"",s=g.item_id,d||(d=!0,null!=s&&c.enqueue({type:"transcript-final",id:s,text:l}),c.enqueue({type:"finish",text:l,segments:[],language:n}),c.close(),p(1e3));break;case"error":f(Error(null!=(i=null==(r=g.error)?void 0:r.message)?i:"OpenAI realtime error"))}},onSocketError:()=>{f(Error("OpenAI realtime transcription error"))},onClose:()=>{d||(d=!0,p(),c.close())}})},cancel:()=>{d||(d=!0,p())}})}({webSocket:this.config.webSocket,url:(0,o.toWebSocketUrl)(this.config.url({path:"/realtime?intent=transcription",modelId:this.modelId})),headers:g,sessionUpdate:h,language:null==p?void 0:p.language,warnings:c,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}},tG=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({}))),tY=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}static[a.WORKFLOW_SERIALIZE](e){return(0,o.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[a.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doStream(e){var t,a,r,i,l;if(null==e.targetLanguage)throw new n.InvalidArgumentError({argument:"targetLanguage",message:`targetLanguage is required for translation model '${this.modelId}'.`});let s=null!=(r=null==(a=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:a.call(t))?r:new Date;await (0,o.parseProviderOptions)({provider:"openai",providerOptions:e.providerOptions,schema:tG});let u=[];(function(e){if("audio/pcm"!==e.type||null!=e.rate&&24e3!==e.rate)throw new n.InvalidArgumentError({argument:"inputAudioFormat",message:"The OpenAI Realtime translation API only supports 24kHz 16-bit PCM input audio."})})(e.inputAudioFormat),null!=e.sourceLanguage&&u.push({type:"unsupported",feature:"sourceLanguage",details:"The OpenAI Realtime translation API auto-detects the source language and does not accept a source language."}),null!=e.outputAudioFormat&&u.push({type:"unsupported",feature:"outputAudioFormat",details:"The OpenAI Realtime translation API always outputs 24kHz 16-bit PCM audio and does not accept an output audio format."});let d=(0,o.combineHeaders)(null==(l=(i=this.config).headers)?void 0:l.call(i),e.headers),p=function({targetLanguage:e}){return{type:"session.update",session:{audio:{input:{transcription:{model:"gpt-realtime-whisper"},noise_reduction:null},output:{language:e}}}}}({targetLanguage:e.targetLanguage});return{request:{body:p},response:{timestamp:s,modelId:this.modelId},stream:function({webSocket:e,url:t,headers:a,sessionUpdate:r,warnings:n,audio:i,abortSignal:l,includeRawChunks:s}){let u=!1,d=()=>{};return new ReadableStream({start:p=>{let c,m,g=function(e){var t;let o;for(let[t,a]of Object.entries(e))"authorization"===t.toLowerCase()&&null!=a&&(o=a);let a=null==(t=null==o?void 0:o.match(/^bearer\s+(.+)$/i))?void 0:t[1];return null==a?{protocols:["realtime"],headers:e}:{protocols:["realtime",`openai-insecure-api-key.${a}`],headers:Object.fromEntries(Object.entries(e).filter(([e])=>"authorization"!==e.toLowerCase()))}}(a),h="",f="";d=e=>{null!=c?c.cancel().catch(()=>{}):i.cancel().catch(()=>{}),null==m||m.close(e)};let y=e=>{u||(u=!0,d(),p.error(e))},v=async e=>{c=i.getReader();try{for(;;){let{done:t,value:a}=await c.read();if(t||u)break;e.send(JSON.stringify({type:"session.input_audio_buffer.append",audio:(0,o.convertToBase64)(a)})),await (0,o.waitForWebSocketBufferDrain)(e)}}finally{c.releaseLock(),c=void 0}u||e.send(JSON.stringify({type:"session.close"}))};m=(0,o.connectToWebSocket)({url:t,protocols:g.protocols,headers:g.headers,webSocket:e,abortSignal:l,onAbort:y,onProcessingError:y,onOpen:e=>{p.enqueue({type:"stream-start",warnings:n}),e.send(JSON.stringify(r)),v(e).catch(y)},onMessageText:async e=>{var t,a,r,n,i,l;if(u)return;let c=await (0,o.safeParseJSON)({text:e});if(!c.success)return;let m=c.value;switch(s&&p.enqueue({type:"raw",rawValue:m}),m.type){case"session.output_audio.delta":m.delta&&p.enqueue({type:"audio",audio:m.delta});break;case"session.output_transcript.delta":f+=null!=(t=m.delta)?t:"",p.enqueue({type:"output-text-delta",delta:null!=(a=m.delta)?a:""});break;case"session.input_transcript.delta":h+=null!=(r=m.delta)?r:"",p.enqueue({type:"source-transcript-delta",delta:null!=(n=m.delta)?n:""});break;case"session.closed":u||(u=!0,""!==h&&p.enqueue({type:"source-transcript-final",text:h}),""!==f&&p.enqueue({type:"output-text-final",text:f}),p.enqueue({type:"finish",sourceText:h,outputText:f,usage:void 0}),p.close(),d(1e3));break;case"error":p.enqueue({type:"error",error:Error(null!=(l=null==(i=m.error)?void 0:i.message)?l:"OpenAI realtime error")})}},onSocketError:()=>{y(Error("OpenAI realtime translation error"))},onClose:({code:e,reason:t})=>{u||y(Error(`OpenAI realtime translation WebSocket closed unexpectedly before finishing (code ${null!=e?e:"unknown"}${t?`, reason: ${t}`:""}).`))}})},cancel:()=>{u||(u=!0,d())}})}({webSocket:this.config.webSocket,url:(0,o.toWebSocketUrl)(this.config.url({path:`/realtime/translations?model=${encodeURIComponent(this.modelId)}`,modelId:this.modelId})),headers:d,sessionUpdate:p,warnings:u,audio:e.audio,abortSignal:e.abortSignal,includeRawChunks:e.includeRawChunks})}}},tZ=(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),name:r.z.string().nullish(),description:r.z.string().nullish(),default_version:r.z.string().nullish(),latest_version:r.z.string().nullish(),created_at:r.z.number(),updated_at:r.z.number().nullish()})));(0,o.lazySchema)(()=>(0,o.zodSchema)(r.z.object({id:r.z.string(),version:r.z.string().nullish(),name:r.z.string().nullish(),description:r.z.string().nullish()})));var tX=class{constructor(e){this.config=e,this.specificationVersion="v4"}get provider(){return this.config.provider}async uploadSkill(e){let t=[];null!=e.displayTitle&&t.push({type:"unsupported",feature:"displayTitle"});let a=new FormData;for(let t of e.files){let e=(0,o.convertInlineFileDataToUint8Array)(t.data);a.append("files[]",new Blob([e]),t.path)}let{value:r}=await (0,o.postFormDataToApi)({url:this.config.url({path:"/skills"}),headers:(0,o.combineHeaders)(this.config.headers()),formData:a,failedResponseHandler:l,successfulResponseHandler:(0,o.createJsonResponseHandler)(tZ),fetch:this.config.fetch});return{providerReference:{openai:r.id},...null!=r.name?{name:r.name}:{},...null!=r.description?{description:r.description}:{},...null!=r.latest_version?{latestVersion:r.latest_version}:{},providerMetadata:{openai:{...null!=r.default_version?{defaultVersion:r.default_version}:{},...null!=r.created_at?{createdAt:r.created_at}:{},...null!=r.updated_at?{updatedAt:r.updated_at}:{}}},warnings:t}}};function tQ(e={}){var t,a;let r=null!=(t=(0,o.withoutTrailingSlash)((0,o.validateBaseURL)((0,o.loadOptionalSetting)({settingValue:e.baseURL,environmentVariableName:"OPENAI_BASE_URL"}))))?t:"https://api.openai.com/v1",n=null!=(a=e.name)?a:"openai",i=()=>(0,o.withUserAgentSuffix)({Authorization:`Bearer ${(0,o.loadApiKey)({apiKey:e.apiKey,environmentVariableName:"OPENAI_API_KEY",description:"OpenAI"})}`,"OpenAI-Organization":e.organization,"OpenAI-Project":e.project,...e.headers},"ai-sdk/openai/4.0.60"),l=t=>new O(t,{provider:`${n}.embedding`,url:({path:e})=>`${r}${e}`,headers:i,fetch:e.fetch}),s=t=>new J(t,{provider:`${n}.image`,url:({path:e})=>`${r}${e}`,headers:i,fetch:e.fetch}),u=t=>new tK(t,{provider:`${n}.transcription`,url:({path:e})=>`${r}${e}`,headers:i,fetch:e.fetch,webSocket:e.webSocket}),d=t=>new tY(t,{provider:`${n}.speech-translation`,url:({path:e})=>`${r}${e}`,headers:i,fetch:e.fetch,webSocket:e.webSocket}),p=t=>new tH(t,{provider:`${n}.speech`,url:({path:e})=>`${r}${e}`,headers:i,fetch:e.fetch}),c=e=>{if(new.target)throw Error("The OpenAI model function cannot be called with the new keyword.");return m(e)},m=t=>new tN(t,{provider:`${n}.responses`,baseURL:r,url:({path:e})=>`${r}${e}`,headers:i,fetch:e.fetch,fileIdPrefixes:["file-"]}),g=t=>new tF(t,{provider:`${n}.realtime`,baseURL:r,headers:i,fetch:e.fetch}),h=Object.assign(e=>g(e),{getToken:async e=>{let t=g(e.model),o=await t.doCreateClientSecret({sessionConfig:e.sessionConfig,expiresAfterSeconds:e.expiresAfterSeconds});return{token:o.token,url:o.url,expiresAt:o.expiresAt}}}),f=function(e){return c(e)};return f.specificationVersion="v4",f.languageModel=c,f.chat=t=>new z(t,{provider:`${n}.chat`,url:({path:e})=>`${r}${e}`,headers:i,fetch:e.fetch}),f.completion=t=>new C(t,{provider:`${n}.completion`,url:({path:e})=>`${r}${e}`,headers:i,fetch:e.fetch}),f.responses=m,f.embedding=l,f.embeddingModel=l,f.textEmbedding=l,f.textEmbeddingModel=l,f.image=s,f.imageModel=s,f.transcription=u,f.transcriptionModel=u,f.translation=d,f.speechTranslationModel=d,f.speech=p,f.speechModel=p,f.files=()=>new D({provider:`${n}.files`,baseURL:r,headers:i,fetch:e.fetch}),f.skills=()=>new tX({provider:`${n}.skills`,url:({path:e})=>`${r}${e}`,headers:i,fetch:e.fetch}),f.experimental_realtime=h,f.tools=eB,f}tQ(),e.s(["createOpenAI",0,tQ])},483938,(e,t,o)=>{"use strict";var a=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,l={},s={SYMBOL_FOR_REQ_CONTEXT:()=>d,getContext:()=>p};for(var u in s)a(l,u,{get:s[u],enumerable:!0});t.exports=((e,t,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of n(t))i.call(e,l)||void 0===l||a(e,l,{get:()=>t[l],enumerable:!(o=r(t,l))||o.enumerable});return e})(a({},"__esModule",{value:!0}),l);let d=Symbol.for("@vercel/request-context");function p(){let e=globalThis;return e[d]?.get?.()??{}}},890229,(e,t,o)=>{"use strict";var a=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,l={},s={getVercelOidcToken:()=>c,getVercelOidcTokenSync:()=>m};for(var u in s)a(l,u,{get:s[u],enumerable:!0});t.exports=((e,t,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of n(t))i.call(e,l)||void 0===l||a(e,l,{get:()=>t[l],enumerable:!(o=r(t,l))||o.enumerable});return e})(a({},"__esModule",{value:!0}),l);var d=e.r(483938),p=e.r(484199);async function c(t){let o,a="";try{a=m()}catch(e){o=e}try{let[{getTokenPayload:o,isExpired:r},{refreshToken:n}]=await Promise.all([await e.A(967030),await e.A(683671)]);(!a||r(o(a),t?.expirationBufferMs))&&(await n(t),a=m())}catch(t){let e=o instanceof Error?o.message:"";if(t instanceof Error&&(e=`${e}
13
+ ${t.message}`),e)throw new p.VercelOidcTokenError(e);throw t}return a}function m(){let e=(0,d.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return e}},190536,(e,t,o)=>{"use strict";var a=Object.defineProperty,r=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,l={},s={AccessTokenMissingError:()=>c.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>c.RefreshAccessTokenFailedError,getContext:()=>p.getContext,getVercelOidcToken:()=>d.getVercelOidcToken,getVercelOidcTokenSync:()=>d.getVercelOidcTokenSync,getVercelToken:()=>m.getVercelToken};for(var u in s)a(l,u,{get:s[u],enumerable:!0});t.exports=((e,t,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of n(t))i.call(e,l)||void 0===l||a(e,l,{get:()=>t[l],enumerable:!(o=r(t,l))||o.enumerable});return e})(a({},"__esModule",{value:!0}),l);var d=e.r(890229),p=e.r(483938),c=e.r(452005),m=e.r(783697)},669022,e=>{"use strict";var t,o,a,r,n,i,l,s,u,d,p,c,m,g,h,f,y,v,b,_,w,z,I=e.i(847841),x=e.i(376261),k=e.i(907855),T=e.i(110567),S=e.i(190536),M="ai-gateway-transcription.v1";function C(e,t,o){let a=[e,`ai-gateway-auth.${t}`];return(null==o?void 0:o.teamIdOrSlug)&&a.push(`ai-gateway-team.${function(e){let t=new TextEncoder().encode(e),o="";for(let e of t)o+=String.fromCharCode(e);return btoa(o).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}(o.teamIdOrSlug)}`),a}var E={any:k.any,array:k.array,boolean:k.boolean,discriminatedUnion:k.discriminatedUnion,enum:k.enum,literal:k.literal,number:k.number,object:k.object,record:k.record,string:k.string,union:k.union,unknown:k.unknown},j=Symbol.for("vercel.ai.gateway.error"),R=class e extends(o=Error,t=j,o){constructor({message:e,statusCode:o=500,cause:a,generationId:r,isRetryable:n=null!=o&&(408===o||409===o||429===o||o>=500)}){super(r?`${e} [${r}]`:e),this[t]=!0,this.statusCode=o,this.cause=a,this.generationId=r,this.isRetryable=n}static isInstance(t){return e.hasMarker(t)}static hasMarker(e){return"object"==typeof e&&null!==e&&j in e&&!0===e[j]}},O="GatewayAuthenticationError",A=Symbol.for(`vercel.ai.gateway.error.${O}`),N=class e extends(r=R,a=A,r){constructor({message:e="Authentication failed",statusCode:t=401,cause:o,generationId:r}={}){super({message:e,statusCode:t,cause:o,generationId:r}),this[a]=!0,this.name=O,this.type="authentication_error"}static isInstance(e){return R.hasMarker(e)&&A in e}static createContextualError({apiKeyProvided:t,oidcTokenProvided:o,statusCode:a=401,cause:r,generationId:n}){return new e({message:t?`AI Gateway authentication failed: Invalid API key or token.
14
+
15
+ Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
16
+
17
+ Provide an API key or Vercel access token via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:o?`AI Gateway authentication failed: Invalid OIDC token.
18
+
19
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
20
+
21
+ Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
22
+ or pass a Vercel access token via the 'apiKey' option.`:`AI Gateway authentication failed: No authentication provided.
23
+
24
+ Option 1 - API key:
25
+ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
26
+ Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
27
+
28
+ Option 2 - Vercel access token:
29
+ Pass a Vercel personal access token or Vercel app access token via the 'apiKey' option.
30
+
31
+ Option 3 - OIDC token:
32
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,statusCode:a,cause:r,generationId:n})}},P="GatewayInvalidRequestError",q=Symbol.for(`vercel.ai.gateway.error.${P}`),D=class extends(i=R,n=q,i){constructor({message:e="Invalid request",statusCode:t=400,cause:o,generationId:a}={}){super({message:e,statusCode:t,cause:o,generationId:a}),this[n]=!0,this.name=P,this.type="invalid_request_error"}static isInstance(e){return R.hasMarker(e)&&q in e}},U="GatewayRateLimitError",$=Symbol.for(`vercel.ai.gateway.error.${U}`),F=class extends(s=R,l=$,s){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:o,generationId:a}={}){super({message:e,statusCode:t,cause:o,generationId:a}),this[l]=!0,this.name=U,this.type="rate_limit_exceeded"}static isInstance(e){return R.hasMarker(e)&&$ in e}},L="GatewayModelNotFoundError",H=Symbol.for(`vercel.ai.gateway.error.${L}`),V=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({modelId:E.string()}))),J=class extends(d=R,u=H,d){constructor({message:e="Model not found",statusCode:t=404,modelId:o,cause:a,generationId:r}={}){super({message:e,statusCode:t,cause:a,generationId:r}),this[u]=!0,this.name=L,this.type="model_not_found",this.modelId=o}static isInstance(e){return R.hasMarker(e)&&H in e}},B="GatewayNotFoundError",W=Symbol.for(`vercel.ai.gateway.error.${B}`),K=class extends(c=R,p=W,c){constructor({message:e="Resource not found",statusCode:t=404,cause:o,generationId:a}={}){super({message:e,statusCode:t,cause:o,generationId:a}),this[p]=!0,this.name=B,this.type="not_found"}static isInstance(e){return R.hasMarker(e)&&W in e}},G="GatewayInternalServerError",Y=Symbol.for(`vercel.ai.gateway.error.${G}`),Z=class extends(g=R,m=Y,g){constructor({message:e="Internal server error",statusCode:t=500,cause:o,generationId:a}={}){super({message:e,statusCode:t,cause:o,generationId:a}),this[m]=!0,this.name=G,this.type="internal_server_error"}static isInstance(e){return R.hasMarker(e)&&Y in e}},X="GatewayFailedDependencyError",Q=Symbol.for(`vercel.ai.gateway.error.${X}`),ee=class extends(f=R,h=Q,f){constructor({message:e="Failed dependency",statusCode:t=424,cause:o,generationId:a}={}){super({message:e,statusCode:t,cause:o,generationId:a}),this[h]=!0,this.name=X,this.type="failed_dependency"}static isInstance(e){return R.hasMarker(e)&&Q in e}},et="GatewayForbiddenError",eo=Symbol.for(`vercel.ai.gateway.error.${et}`),ea=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({ruleId:E.string()}))),er=class extends(v=R,y=eo,v){constructor({message:e="Forbidden",statusCode:t=403,cause:o,generationId:a,ruleId:r}={}){super({message:e,statusCode:t,cause:o,generationId:a}),this[y]=!0,this.name=et,this.type="forbidden",this.ruleId=r}static isInstance(e){return R.hasMarker(e)&&eo in e}},en="GatewayResponseError",ei=Symbol.for(`vercel.ai.gateway.error.${en}`),el=class extends(_=R,b=ei,_){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:o,validationError:a,cause:r,generationId:n,isRetryable:i}={}){super({message:e,statusCode:t,cause:r,generationId:n,isRetryable:i}),this[b]=!0,this.name=en,this.type="response_error",this.response=o,this.validationError=a}static isInstance(e){return R.hasMarker(e)&&ei in e}};async function es({response:e,statusCode:t,defaultMessage:o="Gateway request failed",cause:a,authMethod:r,isRetryable:n}){var i;let l=await (0,I.safeValidateTypes)({value:e,schema:eu});if(!l.success){let r="object"==typeof e&&null!==e&&"generationId"in e?e.generationId:void 0;return new el({message:`Invalid error response format: ${o}`,statusCode:t,response:e,validationError:l.error,cause:a,generationId:r,isRetryable:n})}let s=l.value,u=s.error.type,d=s.error.message,p=null!=(i=s.generationId)?i:void 0;switch(u){case"authentication_error":return N.createContextualError({apiKeyProvided:"api-key"===r,oidcTokenProvided:"oidc"===r,statusCode:t,cause:a,generationId:p});case"invalid_request_error":return new D({message:d,statusCode:t,cause:a,generationId:p});case"rate_limit_exceeded":return new F({message:d,statusCode:t,cause:a,generationId:p});case"model_not_found":{let e=await (0,I.safeValidateTypes)({value:s.error.param,schema:V});return new J({message:d,statusCode:t,modelId:e.success?e.value.modelId:void 0,cause:a,generationId:p})}case"not_found":return new K({message:d,statusCode:t,cause:a,generationId:p});case"internal_server_error":default:return new Z({message:d,statusCode:t,cause:a,generationId:p});case"failed_dependency":return new ee({message:d,statusCode:t,cause:a,generationId:p});case"forbidden":{let e=await (0,I.safeValidateTypes)({value:s.error.param,schema:ea});return new er({message:d,statusCode:t,cause:a,generationId:p,ruleId:e.success?e.value.ruleId:void 0})}}}var eu=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({error:E.object({message:E.string(),type:E.string().nullish(),param:E.unknown().nullish(),code:E.union([E.string(),E.number()]).nullish()}),generationId:E.string().nullish()}))),ed="GatewayTimeoutError",ep=Symbol.for(`vercel.ai.gateway.error.${ed}`),ec=class e extends(z=R,w=ep,z){constructor({message:e="Request timed out",statusCode:t=408,cause:o,generationId:a}={}){super({message:e,statusCode:t,cause:o,generationId:a}),this[w]=!0,this.name=ed,this.type="timeout_error"}static isInstance(e){return R.hasMarker(e)&&ep in e}static createTimeoutError({originalMessage:t,statusCode:o=408,cause:a,generationId:r}){return new e({message:`Gateway request timed out: ${t}
33
+
34
+ This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`,statusCode:o,cause:a,generationId:r})}};function em(e){if(!(e instanceof Error))return!1;let t=e.code;return"string"==typeof t&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t)}async function eg(e,t){var o;return R.isInstance(e)?e:em(e)?ec.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):x.APICallError.isInstance(e)?e.cause&&em(e.cause)?ec.createTimeoutError({originalMessage:e.message,cause:e}):await es({response:function(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return(0,I.secureJsonParse)(e.responseBody)}catch(t){return e.responseBody}return{}}(e),statusCode:null!=(o=e.statusCode)?o:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:!!e.isRetryable&&(null==e.statusCode||e.statusCode<400)||void 0}):await es({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}var eh="ai-gateway-auth-method",ef="x-vercel-ai-gateway-team";async function ey(e){let t=await (0,I.safeValidateTypes)({value:e[eh],schema:ev});return t.success?t.value:void 0}var ev=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.union([E.literal("api-key"),E.literal("oidc")]))),eb=["embedding","image","language","realtime","reranking","speech","transcription","video"],e_=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await (0,I.getFromApi)({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await (0,I.resolve)(this.config.headers):void 0,successfulResponseHandler:(0,I.createJsonResponseHandler)(ew),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),fetch:this.config.fetch});return e}catch(e){throw await eg(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await (0,I.getFromApi)({url:`${e.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await (0,I.resolve)(this.config.headers):void 0,successfulResponseHandler:(0,I.createJsonResponseHandler)(ez),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),fetch:this.config.fetch});return t}catch(e){throw await eg(e)}}},ew=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({models:E.array(E.object({id:E.string(),name:E.string(),description:E.string().nullish(),pricing:E.object({input:E.string(),output:E.string(),input_cache_read:E.string().nullish(),input_cache_write:E.string().nullish()}).transform(({input:e,output:t,input_cache_read:o,input_cache_write:a})=>({input:e,output:t,...o?{cachedInputTokens:o}:{},...a?{cacheCreationInputTokens:a}:{}})).nullish(),specification:E.object({specificationVersion:E.literal("v4"),provider:E.string(),modelId:E.string()}),modelType:E.string().nullish()})).transform(e=>e.filter(e=>null==e.modelType||eb.includes(e.modelType)))}))),ez=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({balance:E.string(),total_used:E.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),eI=class{constructor(e){this.config=e}async getSpendReport(e){try{let t=new URL(this.config.baseURL),o=new URLSearchParams;o.set("start_date",e.startDate),o.set("end_date",e.endDate),e.groupBy&&o.set("group_by",e.groupBy),e.datePart&&o.set("date_part",e.datePart),e.userId&&o.set("user_id",e.userId),e.model&&o.set("model",e.model),e.provider&&o.set("provider",e.provider),e.credentialType&&o.set("credential_type",e.credentialType),e.tags&&e.tags.length>0&&o.set("tags",e.tags.join(","));let{value:a}=await (0,I.getFromApi)({url:`${t.origin}/v1/report?${o.toString()}`,validateUrl:!1,headers:this.config.headers?await (0,I.resolve)(this.config.headers):void 0,successfulResponseHandler:(0,I.createJsonResponseHandler)(ex),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),fetch:this.config.fetch});return a}catch(e){throw await eg(e)}}},ex=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({results:E.array(E.object({day:E.string().optional(),hour:E.string().optional(),user:E.string().optional(),model:E.string().optional(),tag:E.string().optional(),provider:E.string().optional(),credential_type:E.enum(["byok","system"]).optional(),total_cost:E.number(),market_cost:E.number().optional(),input_tokens:E.number().optional(),output_tokens:E.number().optional(),cached_input_tokens:E.number().optional(),cache_creation_input_tokens:E.number().optional(),reasoning_tokens:E.number().optional(),request_count:E.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:o,input_tokens:a,output_tokens:r,cached_input_tokens:n,cache_creation_input_tokens:i,reasoning_tokens:l,request_count:s,...u})=>({...u,...void 0!==e?{credentialType:e}:{},totalCost:t,...void 0!==o?{marketCost:o}:{},...void 0!==a?{inputTokens:a}:{},...void 0!==r?{outputTokens:r}:{},...void 0!==n?{cachedInputTokens:n}:{},...void 0!==i?{cacheCreationInputTokens:i}:{},...void 0!==l?{reasoningTokens:l}:{},...void 0!==s?{requestCount:s}:{}})))}))),ek=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:o}=await (0,I.getFromApi)({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,validateUrl:!1,headers:this.config.headers?await (0,I.resolve)(this.config.headers):void 0,successfulResponseHandler:(0,I.createJsonResponseHandler)(eT),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),fetch:this.config.fetch});return o}catch(e){throw await eg(e)}}},eT=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({data:E.object({id:E.string(),total_cost:E.number(),upstream_inference_cost:E.number(),usage:E.number(),created_at:E.string(),model:E.string(),is_byok:E.boolean(),provider_name:E.string(),streamed:E.boolean(),finish_reason:E.string(),latency:E.number(),generation_time:E.number(),native_tokens_prompt:E.number(),native_tokens_completion:E.number(),native_tokens_reasoning:E.number(),native_tokens_cached:E.number(),native_tokens_cache_creation:E.number(),billable_web_search_calls:E.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:o,is_byok:a,provider_name:r,finish_reason:n,generation_time:i,native_tokens_prompt:l,native_tokens_completion:s,native_tokens_reasoning:u,native_tokens_cached:d,native_tokens_cache_creation:p,billable_web_search_calls:c,...m})=>({...m,totalCost:e,upstreamInferenceCost:t,createdAt:o,isByok:a,providerName:r,finishReason:n,generationTime:i,promptTokens:l,completionTokens:s,reasoningTokens:u,cachedTokens:d,cacheCreationTokens:p,billableWebSearchCalls:c}))}).transform(({data:e})=>e))),eS=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[T.WORKFLOW_SERIALIZE](e){return(0,I.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[T.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...o}=e;return{args:this.maybeEncodeFileParts(o),warnings:[]}}async doGenerate(e){let{args:t,warnings:o}=await this.getArgs(e),{abortSignal:a}=e,r=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{responseHeaders:n,value:i,rawValue:l}=await (0,I.postJsonToApi)({url:this.getUrl(),headers:(0,I.combineHeaders)(r,e.headers,this.getModelConfigHeaders(this.modelId,!1),await (0,I.resolve)(this.config.o11yHeaders)),body:t,successfulResponseHandler:(0,I.createJsonResponseHandler)(E.any()),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{...i,request:{body:t},response:{headers:n,body:l},warnings:o}}catch(e){throw await eg(e,await ey(null!=r?r:{}))}}async doStream(e){let{args:t,warnings:o}=await this.getArgs(e),{abortSignal:a}=e,r=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{value:n,responseHeaders:i}=await (0,I.postJsonToApi)({url:this.getUrl(),headers:(0,I.combineHeaders)(r,e.headers,this.getModelConfigHeaders(this.modelId,!0),await (0,I.resolve)(this.config.o11yHeaders)),body:t,successfulResponseHandler:(0,I.createEventSourceResponseHandler)(E.any()),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:n.pipeThrough(new TransformStream({start(e){o.length>0&&e.enqueue({type:"stream-start",warnings:o})},transform(t,o){if(t.success){let a=t.value;("raw"!==a.type||e.includeRawChunks)&&("response-metadata"===a.type&&a.timestamp&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp)),o.enqueue(a))}else o.error(t.error)}})),request:{body:t},response:{headers:i}}}catch(e){throw await eg(e,await ey(null!=r?r:{}))}}maybeEncodeFileParts(e){for(let t of e.prompt)if(Array.isArray(t.content)){for(let e of t.content)if("file"===e.type||"reasoning-file"===e.type)e.data=eM(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=eM(t.data))}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"4","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}};function eM(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:Buffer.from(t).toString("base64")}}return e}var eC=class e extends eS{static[T.WORKFLOW_SERIALIZE](e){return eS[T.WORKFLOW_SERIALIZE](e)}static[T.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}constructor(e,t){super(e,t)}async experimental_doStartBatch({requests:e,providerOptions:t,headers:o,abortSignal:a,webhookUrl:r}){var n;let i=this.config.headers?await (0,I.resolve)(this.config.headers):void 0,l=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t))return;let o=t.idempotencyKey;return"string"==typeof o&&o.length>0?o:void 0}(t),s=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t)||!("idempotencyKey"in t))return e;let{idempotencyKey:o,...a}=t,r={...e};if(0===Object.keys(a).length?delete r.gateway:r.gateway=a,0!==Object.keys(r).length)return r}(t);try{let{value:t}=await (0,I.postJsonToApi)({url:this.getBatchUrl("start"),headers:(0,I.combineHeaders)(i,o,this.getBatchConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders),null!=l?{"idempotency-key":l}:void 0),body:{...null!=r&&{callbackUrl:r},modelId:this.modelId,requests:e.map(e=>({id:e.id,options:this.maybeEncodeFileParts(e.options)})),...null!=s&&{providerOptions:s}},successfulResponseHandler:(0,I.createJsonResponseHandler)(eD),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{batchId:t.batchId,...ej(t),warnings:null!=(n=t.warnings)?n:[]}}catch(e){if(eE(e))throw e;throw await eg(e,await ey(null!=i?i:{}))}}async experimental_doGetBatchStatus({batchId:e,headers:t,abortSignal:o}){let a=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{value:r}=await (0,I.postJsonToApi)({url:this.getBatchUrl("status"),headers:(0,I.combineHeaders)(a,t,this.getBatchConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:(0,I.createJsonResponseHandler)(eU),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...o&&{abortSignal:o},fetch:this.config.fetch});return ej(r)}catch(e){if(eE(e))throw e;throw await eg(e,await ey(null!=a?a:{}))}}async experimental_doGetBatchResults({batchId:e,headers:t,abortSignal:o}){let a=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{value:r}=await (0,I.postJsonToApi)({url:this.getBatchUrl("results"),headers:(0,I.combineHeaders)(a,t,this.getBatchConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:(0,I.createJsonLinesResponseHandler)(eO),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...o&&{abortSignal:o},fetch:this.config.fetch});return(0,I.convertAsyncIteratorToReadableStream)(eR(r))}catch(e){if(eE(e))throw e;throw await eg(e,await ey(null!=a?a:{}))}}getBatchUrl(e){return`${this.config.baseURL}/batch/${e}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function eE(e){return!!(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"TimeoutError"===e.name)}function ej(e){var t,o,a,r;let n=(0,I.normalizeBatchRequestCounts)({total:null==(t=e.requestCounts)?void 0:t.total,pending:null==(o=e.requestCounts)?void 0:o.pending,completed:null==(a=e.requestCounts)?void 0:a.completed,failed:null==(r=e.requestCounts)?void 0:r.failed});return{status:e.status,...null!=e.rawStatus&&{rawStatus:e.rawStatus},...null!=n&&{requestCounts:n},...null!=e.error&&{error:{message:e.error.message,...null!=e.error.type&&{type:e.error.type},...null!=e.error.code&&{code:e.error.code},...null!=e.error.statusCode&&{statusCode:e.error.statusCode}}},...null!=e.createdAt&&{createdAt:e.createdAt},...null!=e.expiresAt&&{expiresAt:e.expiresAt},...null!=e.providerMetadata&&{providerMetadata:e.providerMetadata}}}async function*eR(e){var t;for await(let o of e){if("succeeded"===o.status){let e=null==(t=o.result)?void 0:t.response;void 0!==e&&"string"==typeof e.timestamp&&(e.timestamp=new Date(e.timestamp))}yield o}}var eO=E.object({id:E.string(),status:E.enum(["cancelled","expired","failed","succeeded"])}).catchall(E.unknown()),eA=E.object({message:E.string(),type:E.string().nullish(),code:E.string().nullish(),statusCode:E.number().nullish()}),eN=E.object({total:E.number().nullish(),pending:E.number().nullish(),completed:E.number().nullish(),failed:E.number().nullish()}),eP=E.record(E.string(),E.record(E.string(),E.unknown())),eq=E.object({status:E.enum(["completed","failed","pending"]),rawStatus:E.string().nullish(),requestCounts:eN.nullish(),error:eA.nullish(),createdAt:E.string().nullish(),expiresAt:E.string().nullish(),providerMetadata:eP.nullish()}),eD=eq.extend({batchId:E.string(),warnings:E.array(E.object({requestId:E.string().nullish(),warning:E.unknown()}).catchall(E.unknown())).nullish()}),eU=eq,e$=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[T.WORKFLOW_SERIALIZE](e){return(0,I.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[T.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:o,providerOptions:a}){var r,n;let i=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{responseHeaders:l,value:s,rawValue:u}=await (0,I.postJsonToApi)({url:this.getUrl(),headers:(0,I.combineHeaders)(i,null!=t?t:{},this.getModelConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),body:{values:e,...a?{providerOptions:a}:{}},successfulResponseHandler:(0,I.createJsonResponseHandler)(eL),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...o&&{abortSignal:o},fetch:this.config.fetch});return{embeddings:s.embeddings,usage:null!=(r=s.usage)?r:void 0,providerMetadata:s.providerMetadata,response:{headers:l,body:u},warnings:null!=(n=s.warnings)?n:[]}}catch(e){throw await eg(e,await ey(null!=i?i:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},eF=E.discriminatedUnion("type",[E.object({type:E.literal("unsupported"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("compatibility"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("deprecated"),setting:E.string(),message:E.string()}),E.object({type:E.literal("other"),message:E.string()})]),eL=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({embeddings:E.array(E.array(E.number())),usage:E.object({tokens:E.number()}).nullish(),warnings:E.array(eF).optional(),providerMetadata:E.record(E.string(),E.record(E.string(),E.unknown())).optional()}))),eH=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[T.WORKFLOW_SERIALIZE](e){return(0,I.serializeModelOptions)({modelId:e.modelId,config:e.config})}static[T.WORKFLOW_DESERIALIZE](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:o,aspectRatio:a,seed:r,files:n,mask:i,providerOptions:l,headers:s,abortSignal:u}){var d,p,c,m;let g=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{responseHeaders:h,value:f}=await (0,I.postJsonToApi)({url:this.getUrl(),headers:(0,I.combineHeaders)(g,null!=s?s:{},this.getModelConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),body:{prompt:e,n:t,...o&&{size:o},...a&&{aspectRatio:a},...r&&{seed:r},...l&&{providerOptions:l},...n&&{files:n.map(e=>eV(e))},...i&&{mask:eV(i)}},successfulResponseHandler:(0,I.createJsonResponseHandler)(eK),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:f.images,warnings:null!=(d=f.warnings)?d:[],providerMetadata:f.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:h},...null!=f.usage&&{usage:{inputTokens:null!=(p=f.usage.inputTokens)?p:void 0,outputTokens:null!=(c=f.usage.outputTokens)?c:void 0,totalTokens:null!=(m=f.usage.totalTokens)?m:void 0}}}}catch(e){throw await eg(e,await ey(null!=g?g:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function eV(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:(0,I.convertUint8ArrayToBase64)(e.data)}:e}var eJ=E.object({images:E.array(E.unknown()).optional()}).catchall(E.unknown()),eB=E.discriminatedUnion("type",[E.object({type:E.literal("unsupported"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("compatibility"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("deprecated"),setting:E.string(),message:E.string()}),E.object({type:E.literal("other"),message:E.string()})]),eW=E.object({inputTokens:E.number().nullish(),outputTokens:E.number().nullish(),totalTokens:E.number().nullish()}),eK=E.object({images:E.array(E.string()),warnings:E.array(eB).optional(),providerMetadata:E.record(E.string(),eJ).optional(),usage:eW.optional()}),eG=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(e){var t,o;let{headers:a,abortSignal:r}=e,n=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{responseHeaders:i,value:l}=await (0,I.postJsonToApi)({url:this.getUrl(),headers:(0,I.combineHeaders)(n,null!=a?a:{},this.getModelConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(e),successfulResponseHandler:async({response:e,url:t,requestBodyValues:o})=>{if(null==e.body)throw new x.APICallError({message:"SSE response body is empty",url:t,requestBodyValues:o,statusCode:e.status});let a=(0,I.parseJsonEventStream)({stream:e.body,schema:e0}).getReader(),{done:r,value:n}=await a.read();if(a.releaseLock(),r||!n)throw new x.APICallError({message:"SSE stream ended without a data event",url:t,requestBodyValues:o,statusCode:e.status});if(!n.success)throw new x.APICallError({message:"Failed to parse video SSE event",cause:n.error,url:t,requestBodyValues:o,statusCode:e.status});let i=n.value;if("error"===i.type)throw new x.APICallError({message:i.message,statusCode:i.statusCode,url:t,requestBodyValues:o,responseHeaders:Object.fromEntries([...e.headers]),responseBody:JSON.stringify(i),data:{error:{message:i.message,type:i.errorType,param:i.param}}});return{value:{videos:i.videos,warnings:i.warnings,providerMetadata:i.providerMetadata},responseHeaders:Object.fromEntries([...e.headers])}},failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{videos:l.videos,warnings:null!=(t=l.warnings)?t:[],providerMetadata:null!=(o=l.providerMetadata)?o:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:i}}}catch(e){throw await eg(e,await ey(null!=n?n:{}))}}async handleWebhookOption({webhook:e}){let{url:t,received:o}=await e();return{webhookUrl:t,received:o}}async doStart(e){var t,o;let{headers:a,abortSignal:r,webhookUrl:n}=e,i=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{responseHeaders:l,value:s}=await (0,I.postJsonToApi)({url:this.getStartUrl(),headers:(0,I.combineHeaders)(i,null!=a?a:{},this.getModelConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),body:{...this.buildRequestBody(e),...n&&{callbackUrl:n}},successfulResponseHandler:(0,I.createJsonResponseHandler)(e1),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{operation:s.operation,warnings:null!=(t=s.warnings)?t:[],providerMetadata:null!=(o=s.providerMetadata)?o:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:l}}}catch(e){throw await eg(e,await ey(null!=i?i:{}))}}async doStatus({operation:e,abortSignal:t,headers:o}){var a,r,n,i,l,s;let u=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{responseHeaders:d,value:p}=await (0,I.postJsonToApi)({url:this.getStatusUrl(),headers:(0,I.combineHeaders)(u,null!=o?o:{},this.getModelConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),body:{operation:e},successfulResponseHandler:(0,I.createJsonResponseHandler)(e4),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...t&&{abortSignal:t},fetch:this.config.fetch}),c={timestamp:new Date,modelId:this.modelId,headers:d};if("completed"===p.status)return{status:"completed",videos:p.videos,warnings:null!=(a=p.warnings)?a:[],providerMetadata:null!=(r=p.providerMetadata)?r:void 0,response:c};if("error"===p.status)return{status:"error",error:p.error,providerMetadata:null!=(n=p.providerMetadata)?n:void 0,response:c};if("cancelled"===p.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(i=p.providerMetadata)?i:void 0,response:c};return{status:"pending",warnings:null!=(l=p.warnings)?l:[],providerMetadata:null!=(s=p.providerMetadata)?s:void 0,response:c}}catch(e){throw await eg(e,await ey(null!=u?u:{}))}}buildRequestBody({prompt:e,n:t,aspectRatio:o,resolution:a,duration:r,fps:n,seed:i,generateAudio:l,image:s,frameImages:u,inputReferences:d,providerOptions:p}){return{prompt:e,n:t,...o&&{aspectRatio:o},...a&&{resolution:a},...r&&{duration:r},...n&&{fps:n},...i&&{seed:i},...void 0!==l&&{generateAudio:l},...p&&{providerOptions:p},...s&&{image:eY(s)},...u&&{frameImages:u.map(e=>({...e,image:eY(e.image)}))},...d&&{inputReferences:d.map(e=>eY(e))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function eY(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:(0,I.convertUint8ArrayToBase64)(e.data)}:e}var eZ=E.object({videos:E.array(E.unknown()).optional()}).catchall(E.unknown()),eX=E.union([E.object({type:E.literal("url"),url:E.string(),mediaType:E.string()}),E.object({type:E.literal("base64"),data:E.string(),mediaType:E.string()})]),eQ=E.discriminatedUnion("type",[E.object({type:E.literal("unsupported"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("compatibility"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("deprecated"),setting:E.string(),message:E.string()}),E.object({type:E.literal("other"),message:E.string()})]),e0=E.discriminatedUnion("type",[E.object({type:E.literal("result"),videos:E.array(eX),warnings:E.array(eQ).optional(),providerMetadata:E.record(E.string(),eZ).optional()}),E.object({type:E.literal("error"),message:E.string(),errorType:E.string(),statusCode:E.number(),param:E.unknown().nullable()})]),e1=E.object({operation:E.unknown(),warnings:E.array(eQ).nullish(),providerMetadata:E.record(E.string(),eZ).nullish()}),e4=E.discriminatedUnion("status",[E.object({status:E.literal("pending"),warnings:E.array(eQ).nullish(),providerMetadata:E.record(E.string(),eZ).nullish()}),E.object({status:E.literal("completed"),videos:E.array(eX),warnings:E.array(eQ).nullish(),providerMetadata:E.record(E.string(),eZ).nullish()}),E.object({status:E.literal("error"),error:E.string(),providerMetadata:E.record(E.string(),eZ).nullish()}),E.object({status:E.literal("cancelled"),providerMetadata:E.record(E.string(),eZ).nullish()})]),e2=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:e,query:t,topN:o,headers:a,abortSignal:r,providerOptions:n}){var i;let l=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{responseHeaders:s,value:u,rawValue:d}=await (0,I.postJsonToApi)({url:this.getUrl(),headers:(0,I.combineHeaders)(l,null!=a?a:{},this.getModelConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),body:{documents:e,query:t,...null!=o?{topN:o}:{},...n?{providerOptions:n}:{}},successfulResponseHandler:(0,I.createJsonResponseHandler)(e3),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{ranking:u.ranking,providerMetadata:u.providerMetadata,response:{headers:s,body:d},warnings:null!=(i=u.warnings)?i:[]}}catch(e){throw await eg(e,await ey(null!=l?l:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},e6=E.discriminatedUnion("type",[E.object({type:E.literal("unsupported"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("compatibility"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("deprecated"),setting:E.string(),message:E.string()}),E.object({type:E.literal("other"),message:E.string()})]),e3=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({ranking:E.array(E.object({index:E.number(),relevanceScore:E.number()})),warnings:E.array(e6).optional(),providerMetadata:E.record(E.string(),E.record(E.string(),E.unknown())).optional()}))),e8=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:e,voice:t,outputFormat:o,instructions:a,speed:r,language:n,providerOptions:i,headers:l,abortSignal:s}){var u;let d=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{responseHeaders:p,value:c,rawValue:m}=await (0,I.postJsonToApi)({url:this.getUrl(),headers:(0,I.combineHeaders)(d,null!=l?l:{},this.getModelConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...o&&{outputFormat:o},...a&&{instructions:a},...null!=r&&{speed:r},...n&&{language:n},...i&&{providerOptions:i}},successfulResponseHandler:(0,I.createJsonResponseHandler)(e7),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...s&&{abortSignal:s},fetch:this.config.fetch});return{audio:c.audio,warnings:null!=(u=c.warnings)?u:[],providerMetadata:c.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:p,body:m}}}catch(e){throw await eg(e,await ey(null!=d?d:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},e5=E.object({}).catchall(E.unknown()),e9=E.discriminatedUnion("type",[E.object({type:E.literal("unsupported"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("compatibility"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("deprecated"),setting:E.string(),message:E.string()}),E.object({type:E.literal("other"),message:E.string()})]),e7=E.object({audio:E.string(),warnings:E.array(e9).optional(),providerMetadata:E.record(E.string(),e5).optional()}),te=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:e,mediaType:t,providerOptions:o,headers:a,abortSignal:r}){var n,i,l,s;let u=this.config.headers?await (0,I.resolve)(this.config.headers):void 0;try{let{responseHeaders:d,value:p,rawValue:c}=await (0,I.postJsonToApi)({url:this.getUrl(),headers:(0,I.combineHeaders)(u,null!=a?a:{},this.getModelConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?(0,I.convertUint8ArrayToBase64)(e):e,mediaType:t,...o&&{providerOptions:o}},successfulResponseHandler:(0,I.createJsonResponseHandler)(tr),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{text:p.text,segments:null!=(n=p.segments)?n:[],language:null!=(i=p.language)?i:void 0,durationInSeconds:null!=(l=p.durationInSeconds)?l:void 0,warnings:null!=(s=p.warnings)?s:[],providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d,body:c}}}catch(e){throw await eg(e,await ey(null!=u?u:{}))}}async doStream(e){var t,o,a,r,n,i;let l,s,u,d=null!=(a=null==(o=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:o.call(t))?a:new Date,p=(0,I.combineHeaders)(await (0,I.resolve)(null!=(r=this.config.headers)?r:{}),null!=(n=e.headers)?n:{},this.getModelConfigHeaders(),await (0,I.resolve)(this.config.o11yHeaders)),c=await ey(p),m={type:I.EXPERIMENTAL_TRANSCRIPTION_STREAM_START_FRAME_TYPE,inputAudioFormat:e.inputAudioFormat,...null!=e.providerOptions&&{providerOptions:e.providerOptions},...null!=e.includeRawChunks&&{includeRawChunks:e.includeRawChunks}};return{stream:function({webSocket:e,url:t,protocols:o,headers:a,startFrame:r,audio:n,abortSignal:i,authMethod:l}){let s=!1,u=()=>{};return new ReadableStream({start:d=>{let p,c,m,g=!1,h=!1;u=e=>{null!=p?p.cancel().catch(()=>{}):n.cancel().catch(()=>{}),null==m||m.close(e)};let f=e=>{s||(s=!0,u(),tn(d,e,l))},y=async e=>{let t=n.getReader();p=t;try{for(;;){let{done:o,value:a}=await t.read();if(o||s)break;let r="string"==typeof a?(0,I.convertBase64ToUint8Array)(a):a;for(let t=0;t<r.length&&!s;t+=65536)e.send(r.subarray(t,t+65536)),await (0,I.waitForWebSocketBufferDrain)(e)}}finally{t.releaseLock(),p===t&&(p=void 0)}s||h||e.send(JSON.stringify({type:I.EXPERIMENTAL_TRANSCRIPTION_STREAM_AUDIO_DONE_FRAME_TYPE}))};m=(0,I.connectToWebSocket)({url:t,protocols:o,headers:a,webSocket:e,abortSignal:i,onAbort:e=>{s||(s=!0,u(),d.error(e))},onProcessingError:f,onOpen:e=>{e.send(JSON.stringify(r)),y(e).catch(f)},onMessageText:e=>{if(s)return;let t=(0,I.experimental_parseTranscriptionStreamPart)(e);if(null!=t){if("finish"===t.type){s=!0,d.enqueue(t),d.close(),u(1e3);return}"error"===t.type&&(g=!0,c=t.error,h=!0,null!=p?(p.cancel().catch(()=>{}),p=void 0):n.cancel().catch(()=>{})),d.enqueue(t)}},onSocketError:()=>{f(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(g){if(s)return;tl(c,l).then(f);return}f(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{s||(s=!0,u())}})}({webSocket:this.config.webSocket,url:tt(this.config.baseURL,this.modelId),protocols:(i=p,null==(u=(null==(s=(l=(0,I.normalizeHeaders)(i)).authorization)?void 0:s.startsWith("Bearer "))?s.slice(7):void 0)?[M]:C(M,u,{teamIdOrSlug:l[ef]})),headers:p,startFrame:m,audio:e.audio,abortSignal:e.abortSignal,authMethod:c}),request:{body:m},response:{timestamp:d,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function tt(e,t){let o=new URL(`${e.replace(/^http/,"ws")}/transcription-model`);return o.searchParams.set("ai-model-id",t),o.toString()}var to=E.object({}).catchall(E.unknown()),ta=E.discriminatedUnion("type",[E.object({type:E.literal("unsupported"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("compatibility"),feature:E.string(),details:E.string().optional()}),E.object({type:E.literal("deprecated"),setting:E.string(),message:E.string()}),E.object({type:E.literal("other"),message:E.string()})]),tr=E.object({text:E.string(),segments:E.array(E.object({text:E.string(),startSecond:E.number(),endSecond:E.number()})).optional(),language:E.string().nullish(),durationInSeconds:E.number().nullish(),warnings:E.array(ta).optional(),providerMetadata:E.record(E.string(),to).optional()});async function tn(e,t,o){e.error(await eg(t,o))}var ti={authentication_error:401,failed_dependency:424,forbidden:403,internal_server_error:500,invalid_request_error:400,model_not_found:404,rate_limit_exceeded:429};async function tl(e,t){return"object"==typeof e&&null!=e&&"message"in e&&"string"==typeof e.message&&"type"in e&&"string"==typeof e.type&&e.type in ti?es({response:{error:{message:e.message,type:e.type}},statusCode:ti[e.type],authMethod:t}):Error(`AI Gateway transcription stream failed: ${null!=e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message?e.message:(0,x.getErrorMessage)(e)}`)}var ts=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t,o;let a,r=await this.config.createClientSecret({modelId:this.modelId,...(null==e?void 0:e.expiresAfterSeconds)!=null&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:r.token,url:(t=this.config.baseURL,o=this.modelId,(a=new URL(`${t.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",o),a.toString()),...null!=r.expiresAt&&{expiresAt:r.expiresAt}}}getWebSocketConfig(e){return{url:e.url,protocols:C("ai-gateway-realtime.v1",e.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(e){return e}serializeClientEvent(e){return e}buildSessionConfig(e){return e}},tu=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({query:E.string().describe("Natural-language web search query. This is required."),type:E.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:E.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:E.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:E.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:E.array(E.string()).optional().describe("Only return results from these domains."),exclude_domains:E.array(E.string()).optional().describe("Exclude results from these domains."),start_published_date:E.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:E.string().optional().describe("Only return links published before this ISO 8601 date."),contents:E.object({text:E.union([E.boolean(),E.object({max_characters:E.number().optional(),include_html_tags:E.boolean().optional(),verbosity:E.enum(["compact","standard","full"]).optional(),include_sections:E.array(E.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:E.array(E.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:E.union([E.boolean(),E.object({query:E.string().optional(),max_characters:E.number().optional()})]).optional(),max_age_hours:E.number().optional(),livecrawl_timeout:E.number().optional(),subpages:E.number().optional(),subpage_target:E.union([E.string(),E.array(E.string())]).optional(),extras:E.object({links:E.number().optional(),image_links:E.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),td=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.union([E.object({requestId:E.string(),searchType:E.string().optional(),resolvedSearchType:E.string().optional(),results:E.array(E.object({title:E.string(),url:E.string(),id:E.string(),publishedDate:E.string().nullable().optional(),author:E.string().nullable().optional(),image:E.string().nullable().optional(),favicon:E.string().nullable().optional(),text:E.string().optional(),highlights:E.array(E.string()).optional(),highlightScores:E.array(E.number()).optional(),summary:E.string().optional(),subpages:E.array(E.any()).optional(),extras:E.object({links:E.array(E.string()).optional(),imageLinks:E.array(E.string()).optional()}).optional()})),costDollars:E.object({total:E.number().optional(),search:E.record(E.string(),E.number()).optional()}).optional()}),E.object({error:E.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:E.number().optional(),message:E.string()})]))),tp=(0,I.createProviderExecutedToolFactory)({id:"gateway.exa_search",inputSchema:tu,outputSchema:td}),tc=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({objective:E.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:E.array(E.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:E.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:E.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:E.object({include_domains:E.array(E.string()).optional().describe("Limit results to these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:E.array(E.string()).optional().describe("Exclude results from these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:E.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:E.object({max_chars_per_result:E.number().optional().describe("Maximum characters per result."),max_chars_total:E.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:E.object({max_age_seconds:E.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),tm=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.union([E.object({searchId:E.string(),results:E.array(E.object({url:E.string(),title:E.string(),excerpt:E.string(),publishDate:E.string().nullable().optional(),relevanceScore:E.number().optional()}))}),E.object({error:E.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:E.number().optional(),message:E.string()})]))),tg=(0,I.createProviderExecutedToolFactory)({id:"gateway.parallel_search",inputSchema:tc,outputSchema:tm}),th=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({query:E.union([E.string(),E.array(E.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:E.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:E.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:E.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:E.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:E.array(E.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:E.array(E.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:E.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:E.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:E.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:E.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:E.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),tf=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.union([E.object({results:E.array(E.object({title:E.string(),url:E.string(),snippet:E.string(),date:E.string().optional(),lastUpdated:E.string().optional()})),id:E.string()}),E.object({error:E.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:E.number().optional(),message:E.string()})]))),ty=(0,I.createProviderExecutedToolFactory)({id:"gateway.perplexity_search",inputSchema:th,outputSchema:tf}),tv=E.object({count:E.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:E.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:E.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:E.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:E.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:E.array(E.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:E.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),tb=E.object({count:E.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:E.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:E.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:E.array(E.string()).optional().describe("Only return results from these bare domains."),exclude_domains:E.array(E.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:E.number().optional().describe("Maximum characters in each web-result snippet."),highlights:E.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:E.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:E.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:E.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),t_=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.object({query:E.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:E.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:E.object({data:tv.optional(),web:tb.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:E.object({latitude:E.number().describe("Latitude between -90 and 90."),longitude:E.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:E.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:E.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:E.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:E.object({image_dark_mode:E.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:E.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:E.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),tw=E.union([E.boolean(),E.number(),E.string()]).nullable(),tz=E.object({content_format:E.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:E.number().optional(),data:E.string().nullish(),records:E.array(E.record(E.string(),tw)).nullish(),dataset:E.object({columns:E.array(E.object({name:E.string(),type:E.enum(["boolean","date","datetime","number","string"]),unit:E.string().nullish()})),rows:E.array(E.array(tw)),total_rows:E.number(),truncated:E.boolean(),ref:E.string(),sources:E.array(E.object({name:E.string(),index:E.enum(["data","web"]).optional()})),provenance:E.enum(["query","web_extraction"]).optional()}).nullish(),card_data:E.object({}).passthrough().nullish(),card_data_schema:E.object({}).passthrough().nullish(),url:E.string().nullish(),expires_at:E.string().nullish(),total_rows:E.number().nullish(),truncated:E.boolean().optional(),export_pricing:E.object({baseline_usd:E.number(),free_rows:E.number(),max_rows_ceiling:E.number(),row_cpm_usd:E.number()}).nullish(),manifest:E.array(E.object({dtype:E.enum(["boolean","date","datetime","number","string"]).nullish(),entity:E.string().nullish(),metric:E.string().nullish(),name:E.string().nullish(),unit:E.string().nullish()})).nullish()}).passthrough(),tI=E.object({card_id:E.string().nullish(),title:E.string().nullish(),description:E.string().nullish(),semantic_description:E.string().nullish(),webpage_url:E.string().nullish(),image_url:E.string().nullish(),embed_url:E.string().nullish(),sources:E.array(E.object({source_name:E.string().nullish(),source_description:E.string().nullish(),source_index:E.enum(["data","web"]),source_text:E.string().nullish(),url:E.string().nullish()})).nullish(),methodologies:E.array(E.object({methodology_name:E.string().nullable(),methodology_description:E.string().nullable()})).nullish(),source_indexes:E.array(E.enum(["data","web"])).nullish(),card_type:E.string().nullish(),relevance:E.enum(["High","Low","Medium"]).nullish(),content:tz.nullish(),exportable:E.boolean().optional(),nodes:E.array(E.object({id:E.string(),type:E.enum(["entity","metric"]),name:E.string(),description:E.string().nullish()})).nullish(),metric_definitions:E.array(E.object({name:E.string(),definition:E.string()})).nullish(),data_freshness:E.object({coverage_end:E.string().nullish(),data_as_of:E.string().nullish(),last_updated:E.string().nullish()}).nullish()}).passthrough(),tx=E.object({title:E.string(),url:E.string(),snippet:E.string().nullish(),source_name:E.string().nullish(),publish_date:E.string().nullish(),content:tz.nullish()}).passthrough(),tk=(0,I.lazySchema)(()=>(0,I.zodSchema)(E.union([E.object({request_id:E.string(),cards:E.array(tI).optional(),web_results:E.array(tx).optional(),usage:E.object({total_cost_usd:E.number(),compute:E.object({cost_usd:E.number()}).nullish(),data:E.object({cost_usd:E.number(),datasets:E.number()}).nullish()}).nullish(),related:E.array(E.object({}).passthrough()).nullish()}).passthrough(),E.object({error:E.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:E.number().optional(),message:E.string()})]))),tT=(0,I.createProviderExecutedToolFactory)({id:"gateway.tako_search",inputSchema:t_,outputSchema:tk}),tS={exaSearch:(e={})=>tp(e),parallelSearch:(e={})=>tg(e),perplexitySearch:(e={})=>ty(e),takoSearch:(e={})=>tT(e)};async function tM(){var e;return null==(e=(0,S.getContext)().headers)?void 0:e["x-vercel-id"]}var tC=E.object({token:E.string(),expiresAt:E.number().nullish()});function tE(e={}){var t,o;let a=null,r=null,n=null!=(t=e.metadataCacheRefreshMillis)?t:3e5,i=0,l=null!=(o=(0,I.withoutTrailingSlash)(e.baseURL))?o:"https://ai-gateway.vercel.sh/v4/ai",s=t=>(0,I.withUserAgentSuffix)({Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":"0.0.1",[eh]:t.authMethod,...null!=e.teamIdOrSlug?{[ef]:e.teamIdOrSlug}:{},...e.headers},"ai-sdk/gateway/4.0.75"),u=async()=>{try{return s(await tR(e))}catch(e){throw N.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},d=async()=>{try{return await tR(e)}catch(e){throw N.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},p=async t=>{if(void 0!==globalThis.window)throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() or gateway.experimental_transcription.getToken() from your server and pass the returned token to the client.");let o=s(await d()),a=new URL("/v1/realtime/client-secrets",l).toString();try{let{value:r}=await (0,I.postJsonToApi)({url:a,headers:o,body:{model:t.modelId,...null!=t.routeKind&&{routeKind:t.routeKind},...null!=t.expiresAfterSeconds&&{expiresIn:t.expiresAfterSeconds}},successfulResponseHandler:(0,I.createJsonResponseHandler)(tC),failedResponseHandler:(0,I.createJsonErrorResponseHandler)({errorSchema:E.any(),errorToMessage:e=>{var t;return null!=(t=(0,x.getErrorMessage)(e))?t:"unknown error"}}),fetch:e.fetch});return{token:r.token,...null!=r.expiresAt&&{expiresAt:r.expiresAt}}}catch(e){throw await eg(e,await ey(o))}},c=()=>{let e=(0,I.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),t=(0,I.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),o=(0,I.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),a=(0,I.loadOptionalSetting)({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let r=await tM();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...o&&{"ai-o11y-region":o},...r&&{"ai-o11y-request-id":r},...a&&{"ai-o11y-project-id":a}}}},m=t=>new eC(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:c()}),g=async()=>{var t,o,s;let d=null!=(s=null==(o=null==(t=e._internal)?void 0:t.currentDate)?void 0:o.call(t).getTime())?s:Date.now();return(!a||d-i>n)&&(i=d,a=new e_({baseURL:l,headers:u,fetch:e.fetch}).getAvailableModels().then(e=>(r=e,e)).catch(async e=>{throw await eg(e,await ey(await u()))})),r?Promise.resolve(r):a},h=async()=>new e_({baseURL:l,headers:u,fetch:e.fetch}).getCredits().catch(async e=>{throw await eg(e,await ey(await u()))}),f=async t=>new eI({baseURL:l,headers:u,fetch:e.fetch}).getSpendReport(t).catch(async e=>{throw await eg(e,await ey(await u()))}),y=async t=>new ek({baseURL:l,headers:u,fetch:e.fetch}).getGenerationInfo(t).catch(async e=>{throw await eg(e,await ey(await u()))}),v=function(e){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return m(e)};v.specificationVersion="v4",v.getAvailableModels=g,v.getCredits=h,v.getSpendReport=f,v.getGenerationInfo=y,v.imageModel=t=>new eH(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:c()}),v.languageModel=m;let b=t=>new e$(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:c()});v.embeddingModel=b,v.textEmbeddingModel=b,v.videoModel=t=>new eG(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:c()});let _=t=>new e2(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:c()});v.rerankingModel=_,v.reranking=_;let w=t=>new e8(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:c()});v.speechModel=w,v.speech=w;let z=t=>new te(t,{provider:"gateway",baseURL:l,headers:u,fetch:e.fetch,o11yHeaders:c(),webSocket:e.webSocket});v.transcriptionModel=z,v.transcription=z,v.experimental_transcription=Object.assign(e=>z(e),{getToken:async e=>{let t=await p({modelId:e.model,routeKind:"transcription",...null!=e.expiresAfterSeconds&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:t.token,url:tt(l,e.model),...null!=t.expiresAt&&{expiresAt:t.expiresAt}}}});let k=t=>new ts(t,{provider:"gateway.realtime",baseURL:l,teamIdOrSlug:e.teamIdOrSlug,createClientSecret:p});return v.experimental_realtime=Object.assign(e=>k(e),{getToken:async e=>{let{model:t,...o}=e,a=k(t),r=await a.doCreateClientSecret(o);return{token:r.token,url:r.url,...null!=r.expiresAt&&{expiresAt:r.expiresAt}}}}),v.chat=v.languageModel,v.embedding=v.embeddingModel,v.image=v.imageModel,v.video=v.videoModel,v.tools=tS,v}var tj=tE();async function tR(e){let t=(0,I.loadOptionalSetting)({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await (0,S.getVercelOidcToken)(),authMethod:"oidc"}}e.s(["GatewayAuthenticationError",0,N,"GatewayError",0,R,"createGateway",0,tE,"gateway",0,tj])},68356,e=>{"use strict";var t,o,a,r,n,i,l,s,u,d,p,c,m,g,h,f,y,v,b,_,w,z,I,x,k,T,S,M,C,E,j,R,O,A,N,P,q,D,U,$,F,L,H,V=e.i(669022),J=e.i(847841),B=e.i(376261),W=e.i(907855),K=Object.defineProperty,G="AI_InvalidArgumentError",Y=`vercel.ai.error.${G}`,Z=Symbol.for(Y),X=class extends(o=B.AISDKError,t=Z,o){constructor({parameter:e,value:o,message:a}){super({name:G,message:`Invalid argument for parameter ${e}: ${a}`}),this[t]=!0,this.parameter=e,this.value=o}static isInstance(e){return B.AISDKError.hasMarker(e,Y)}},Q=Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");B.AISDKError;var ee="AI_InvalidToolApprovalError",et=`vercel.ai.error.${ee}`,eo=Symbol.for(et),ea=class extends(r=B.AISDKError,a=eo,r){constructor({approvalId:e}){super({name:ee,message:`Tool approval response references unknown approvalId: "${e}". No matching tool-approval-request found in message history.`}),this[a]=!0,this.approvalId=e}static isInstance(e){return B.AISDKError.hasMarker(e,et)}},er="AI_InvalidToolApprovalSignatureError",en=`vercel.ai.error.${er}`,ei=Symbol.for(en),el=class extends(i=B.AISDKError,n=ei,i){constructor({approvalId:e,toolCallId:t,reason:o}){super({name:er,message:`Tool approval signature verification failed for approval "${e}" (tool call "${t}"): ${o}`}),this[n]=!0,this.approvalId=e,this.toolCallId=t}static isInstance(e){return B.AISDKError.hasMarker(e,en)}},es="AI_InvalidToolInputError",eu=`vercel.ai.error.${es}`,ed=Symbol.for(eu),ep=class extends(s=B.AISDKError,l=ed,s){constructor({toolInput:e,toolName:t,cause:o,message:a=`Invalid input for tool ${t}: ${(0,B.getErrorMessage)(o)}`}){super({name:es,message:a,cause:o}),this[l]=!0,this.toolInput=e,this.toolName=t}static isInstance(e){return B.AISDKError.hasMarker(e,eu)}},ec="AI_ToolCallNotFoundForApprovalError",em=`vercel.ai.error.${ec}`,eg=Symbol.for(em),eh=class extends(d=B.AISDKError,u=eg,d){constructor({toolCallId:e,approvalId:t}){super({name:ec,message:`Tool call "${e}" not found for approval request "${t}".`}),this[u]=!0,this.toolCallId=e,this.approvalId=t}static isInstance(e){return B.AISDKError.hasMarker(e,em)}},ef="AI_MissingToolResultsError",ey=`vercel.ai.error.${ef}`,ev=Symbol.for(ey),eb=class extends(c=B.AISDKError,p=ev,c){constructor({toolCallIds:e}){super({name:ef,message:`Tool result${e.length>1?"s are":" is"} missing for tool call${e.length>1?"s":""} ${e.join(", ")}.`}),this[p]=!0,this.toolCallIds=e}static isInstance(e){return B.AISDKError.hasMarker(e,ey)}},e_="AI_NoImageGeneratedError",ew=`vercel.ai.error.${e_}`,ez=Symbol.for(ew),eI=class extends(g=B.AISDKError,m=ez,g){constructor({message:e="No image generated.",cause:t,calls:o,responses:a}){super({name:e_,message:e,cause:t}),this[m]=!0,this.calls=o,this.responses=a}static isInstance(e){return B.AISDKError.hasMarker(e,ew)}},ex="AI_NoObjectGeneratedError",ek=`vercel.ai.error.${ex}`,eT=Symbol.for(ek),eS=class extends(f=B.AISDKError,h=eT,f){constructor({message:e="No object generated.",cause:t,text:o,response:a,usage:r,finishReason:n}){super({name:ex,message:e,cause:t}),this[h]=!0,this.text=o,this.response=a,this.usage=r,this.finishReason=n}static isInstance(e){return B.AISDKError.hasMarker(e,ek)}},eM="AI_NoOutputGeneratedError",eC=`vercel.ai.error.${eM}`,eE=Symbol.for(eC),ej=class extends(v=B.AISDKError,y=eE,v){constructor({message:e="No output generated.",cause:t}={}){super({name:eM,message:e,cause:t}),this[y]=!0}static isInstance(e){return B.AISDKError.hasMarker(e,eC)}},eR="AI_NoSpeechGeneratedError",eO=`vercel.ai.error.${eR}`,eA=Symbol.for(eO),eN=class extends(_=B.AISDKError,b=eA,_){constructor(e){super({name:eR,message:"No speech audio generated."}),this[b]=!0,this.responses=e.responses}static isInstance(e){return B.AISDKError.hasMarker(e,eO)}},eP="AI_NoTranscriptGeneratedError",eq=`vercel.ai.error.${eP}`,eD=Symbol.for(eq),eU=class extends(z=B.AISDKError,w=eD,z){constructor(e){super({name:eP,message:"No transcript generated."}),this[w]=!0,this.responses=e.responses}static isInstance(e){return B.AISDKError.hasMarker(e,eq)}},e$=Symbol.for("vercel.ai.error.AI_NoTranslationGeneratedError");B.AISDKError;var eF="AI_NoVideoGeneratedError",eL=`vercel.ai.error.${eF}`,eH=Symbol.for(eL),eV=class extends(x=B.AISDKError,I=eH,x){constructor({message:e="No video generated.",cause:t,responses:o}){super({name:eF,message:e,cause:t}),this[I]=!0,this.responses=o}static isInstance(e){return B.AISDKError.hasMarker(e,eL)}static isNoVideoGeneratedError(e){return e instanceof Error&&e.name===eF&&void 0!==e.responses}toJSON(){return{name:this.name,message:this.message,stack:this.stack,cause:this.cause,responses:this.responses}}},eJ="AI_NoSuchToolError",eB=`vercel.ai.error.${eJ}`,eW=Symbol.for(eB),eK=class extends(T=B.AISDKError,k=eW,T){constructor({toolName:e,availableTools:t,message:o=`Model tried to call unavailable tool '${e}'. ${void 0===t?"No tools are available.":`Available tools: ${t.join(", ")}.`}`}){super({name:eJ,message:o}),this[k]=!0,this.toolName=e,this.availableTools=t}static isInstance(e){return B.AISDKError.hasMarker(e,eB)}},eG="AI_StreamProviderError",eY=`vercel.ai.error.${eG}`,eZ=Symbol.for(eY),eX=class extends(M=B.AISDKError,S=eZ,M){constructor({message:e,type:t,code:o,statusCode:a,isRetryable:r=function(e){return null!=e&&(408===e||409===e||429===e||e>=500)}(a),data:n,cause:i}){super({name:eG,message:e,cause:i}),this[S]=!0,this.type=t,this.code=o,this.statusCode=a,this.isRetryable=r,this.data=n}static isInstance(e){return B.AISDKError.hasMarker(e,eY)}},eQ="AI_ToolCallRepairError",e0=`vercel.ai.error.${eQ}`,e1=Symbol.for(e0),e4=class extends(E=B.AISDKError,C=e1,E){constructor({cause:e,originalError:t,message:o=`Error repairing tool call: ${(0,B.getErrorMessage)(e)}`}){super({name:eQ,message:o,cause:e}),this[C]=!0,this.originalError=t}static isInstance(e){return B.AISDKError.hasMarker(e,e0)}},e2="AI_ToolChoiceViolationError",e6=`vercel.ai.error.${e2}`,e3=Symbol.for(e6),e8=class extends(R=B.AISDKError,j=e3,R){constructor({toolChoice:e,finishReason:t,provider:o,modelId:a,content:r,message:n="required"===e.type?"Model response did not contain a tool call even though tool choice was required.":`Model response did not contain a call to the required tool '${e.toolName}'.`}){super({name:e2,message:n}),this[j]=!0,this.toolChoice=e,this.finishReason=t,this.provider=o,this.modelId=a,this.content=r}static isInstance(e){return B.AISDKError.hasMarker(e,e6)}},e5=class extends B.AISDKError{constructor(e){super({name:"AI_UnsupportedModelVersionError",message:`Unsupported model version ${e.version} for provider "${e.provider}" and model "${e.modelId}". AI SDK 5 only supports models that implement specification version "v2".`}),this.version=e.version,this.provider=e.provider,this.modelId=e.modelId}},e9="AI_UIMessageStreamError",e7=`vercel.ai.error.${e9}`,te=Symbol.for(e7),tt=class extends(A=B.AISDKError,O=te,A){constructor({chunkType:e,chunkId:t,message:o}){super({name:e9,message:o}),this[O]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return B.AISDKError.hasMarker(e,e7)}},to="AI_InvalidDataContentError",ta=`vercel.ai.error.${to}`,tr=Symbol.for(ta),tn=class extends(P=B.AISDKError,N=tr,P){constructor({content:e,cause:t,message:o=`Invalid data content. Expected a base64 string, Uint8Array, ArrayBuffer, or Buffer, but got ${typeof e}.`}){super({name:to,message:o,cause:t}),this[N]=!0,this.content=e}static isInstance(e){return B.AISDKError.hasMarker(e,ta)}},ti="AI_InvalidMessageRoleError",tl=`vercel.ai.error.${ti}`,ts=Symbol.for(tl),tu=class extends(D=B.AISDKError,q=ts,D){constructor({role:e,message:t=`Invalid message role: '${e}'. Must be one of: "system", "user", "assistant", "tool".`}){super({name:ti,message:t}),this[q]=!0,this.role=e}static isInstance(e){return B.AISDKError.hasMarker(e,tl)}},td="AI_MessageConversionError",tp=`vercel.ai.error.${td}`,tc=Symbol.for(tp),tm=class extends($=B.AISDKError,U=tc,$){constructor({originalMessage:e,message:t}){super({name:td,message:t}),this[U]=!0,this.originalMessage=e}static isInstance(e){return B.AISDKError.hasMarker(e,tp)}},tg="AI_RetryError",th=`vercel.ai.error.${tg}`,tf=Symbol.for(th),ty=class extends(L=B.AISDKError,F=tf,L){constructor({message:e,reason:t,errors:o}){super({name:tg,message:e}),this[F]=!0,this.reason=t,this.errors=o,this.lastError=o[o.length-1]}static isInstance(e){return B.AISDKError.hasMarker(e,th)}},tv=!1;function tb({message:e,type:t}){"u">typeof process&&"function"==typeof process.emitWarning?process.emitWarning(e,{type:t}):console.warn(e)}var t_=e=>{if(0===e.warnings.length)return;let t=globalThis.AI_SDK_LOG_WARNINGS;if(!1!==t){if("function"==typeof t)return void t(e);for(let t of(tv||(tv=!0,tb({message:"AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",type:"Warning"})),e.warnings))tb({message:function({warning:e,provider:t,model:o}){let a=null!=t&&null!=o?` (${t} / ${o})`:"",r=`AI SDK Warning${a}:`;switch(e.type){case"unsupported":{let t=`${r} The feature "${e.feature}" is not supported.`;return e.details&&(t+=` ${e.details}`),t}case"compatibility":{let t=`${r} The feature "${e.feature}" is used in a compatibility mode.`;return e.details&&(t+=` ${e.details}`),t}case"deprecated":return`${r} Deprecated: "${e.setting}". ${e.message}`;case"other":return`${r} ${e.message}`;default:return`${r} ${JSON.stringify(e,null,2)}`}}({warning:t,provider:e.provider,model:e.model}),type:"deprecated"===t.type?"DeprecationWarning":"Warning"})}};function tw({provider:e,modelId:t}){t_({warnings:[{type:"compatibility",feature:"specificationVersion",details:"Using v2 specification compatibility mode. Some features may not be available."}],provider:e,model:t})}function tz(e){return"v3"===e.specificationVersion?e:(tw({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v3":e[t]}))}function tI(e){return"v3"===e.specificationVersion?e:(tw({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v3":e[t]}))}function tx(e){return"v4"===e.specificationVersion?e:new Proxy("v2"===e.specificationVersion?tI(e):e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}function tk(e){return"v3"===e.specificationVersion?e:(tw({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get(e,t){switch(t){case"specificationVersion":return"v3";case"doGenerate":return async(...t)=>{let o=await e.doGenerate(...t);return{...o,finishReason:tT(o.finishReason),usage:tS(o.usage)}};case"doStream":return async(...t)=>{let o=await e.doStream(...t);return{...o,stream:o.stream.pipeThrough(new TransformStream({transform(e,t){"finish"===e.type?t.enqueue({...e,finishReason:tT(e.finishReason),usage:tS(e.usage)}):t.enqueue(e)}}))}};default:return e[t]}}}))}function tT(e){return{unified:"unknown"===e?"other":e,raw:void 0}}function tS(e){return{inputTokens:{total:e.inputTokens,noCache:void 0,cacheRead:e.cachedInputTokens,cacheWrite:void 0},outputTokens:{total:e.outputTokens,text:void 0,reasoning:e.reasoningTokens}}}function tM(e){return"v4"===e.specificationVersion?e:new Proxy("v2"===e.specificationVersion?tk(e):e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}function tC(e){return"v3"===e.specificationVersion?e:(tw({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v3":e[t]}))}function tE(e){return"v4"===e.specificationVersion?e:new Proxy("v2"===e.specificationVersion?tC(e):e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}function tj(e){return"v3"===e.specificationVersion?e:(tw({provider:e.provider,modelId:e.modelId}),new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v3":e[t]}))}function tR(e){return"v4"===e.specificationVersion?e:new Proxy("v2"===e.specificationVersion?tj(e):e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}function tO(e){if("string"==typeof e)return tA().languageModel(e);if(!["v4","v3","v2"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return tM(e)}function tA(){var e,t=null!=(e=globalThis.AI_SDK_DEFAULT_PROVIDER)?e:V.gateway;if("specificationVersion"in t&&"v4"===t.specificationVersion)return t;let o="specificationVersion"in t&&"v3"===t.specificationVersion||"specificationVersion"in t&&"v3"===t.specificationVersion?t:{specificationVersion:"v3",languageModel:e=>tk(t.languageModel(e)),embeddingModel:e=>tz(t.textEmbeddingModel(e)),imageModel:e=>tI(t.imageModel(e)),transcriptionModel:t.transcriptionModel?e=>tj(t.transcriptionModel(e)):void 0,speechModel:t.speechModel?e=>tC(t.speechModel(e)):void 0,rerankingModel:void 0};return{specificationVersion:"v4",languageModel:e=>tM(o.languageModel(e)),embeddingModel:e=>{var t;return"v4"===(t=o.embeddingModel(e)).specificationVersion?t:new Proxy("v2"===t.specificationVersion?tz(t):t,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})},imageModel:e=>tx(o.imageModel(e)),transcriptionModel:o.transcriptionModel?e=>tR(o.transcriptionModel(e)):void 0,speechModel:o.speechModel?e=>tE(o.speechModel(e)):void 0,rerankingModel:o.rerankingModel?e=>{var t;return"v4"===(t=o.rerankingModel(e)).specificationVersion?t:new Proxy(t,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}:void 0}}function tN(e){return e.map(e=>(function e(t){return t instanceof URL?new URL(t.href):Array.isArray(t)?t.map(t=>e(t)):t instanceof Uint8Array?new Uint8Array(t):t instanceof ArrayBuffer?t.slice(0):t instanceof Date?new Date(t):null!=t&&"object"==typeof t?Object.fromEntries(Object.entries(t).map(([t,o])=>[t,e(o)])):t})(e))}var tP="7.0.93",tq=async({url:e,maxBytes:t,abortSignal:o})=>{var a;let r=e.toString();try{let e=(0,J.withUserAgentSuffix)({},`ai-sdk/${tP}`,(0,J.getRuntimeEnvironmentUserAgent)()),n=await (0,J.fetchWithValidatedRedirects)({url:r,headers:e,abortSignal:o});if(!n.ok)throw await (0,J.cancelResponseBody)(n),new J.DownloadError({url:r,statusCode:n.status,statusText:n.statusText});return{data:await (0,J.readResponseWithSizeLimit)({response:n,url:r,maxBytes:null!=t?t:J.DEFAULT_MAX_DOWNLOAD_SIZE}),mediaType:null!=(a=n.headers.get("content-type"))?a:void 0}}catch(e){if(J.DownloadError.isInstance(e))throw e;throw new J.DownloadError({url:r,cause:e})}};function tD(e,t){if(void 0===e&&void 0===t)return;if(void 0===e)return t;if(void 0===t)return e;let o={...e};for(let a in t)if("__proto__"!==a&&"constructor"!==a&&"prototype"!==a&&Object.prototype.hasOwnProperty.call(t,a)){let r=t[a];if(void 0===r)continue;let n=a in e?e[a]:void 0,i=null!==r&&"object"==typeof r&&!Array.isArray(r)&&!(r instanceof Date)&&!(r instanceof RegExp),l=null!=n&&"object"==typeof n&&!Array.isArray(n)&&!(n instanceof Date)&&!(n instanceof RegExp);i&&l?o[a]=tD(n,r):o[a]=r}return o}function tU(e){try{let[t,o]=e.split(",");return{mediaType:t.split(";")[0].split(":")[1],base64Content:o}}catch(e){return{mediaType:void 0,base64Content:void 0}}}function t$(e){if("data:"===e.protocol){let{mediaType:t,base64Content:o}=tU(e.toString());if(null==t||null==o)throw new tn({content:e,message:`Invalid data URL format in content ${e.toString()}`});return{data:{type:"data",data:o},mediaType:t}}return{data:{type:"url",url:e},mediaType:void 0}}function tF(e){return e instanceof Uint8Array?{data:{type:"data",data:e},mediaType:void 0}:e instanceof ArrayBuffer||(0,J.isBuffer)(e)?{data:{type:"data",data:new Uint8Array(e)},mediaType:void 0}:{data:{type:"data",data:e},mediaType:void 0}}function tL(e){if(function(e){if("object"!=typeof e||null===e)return!1;let t=e.type;return"data"===t||"url"===t||"reference"===t||"text"===t}(e))switch(e.type){case"data":if("string"==typeof e.data&&e.data.startsWith("data:"))throw new tn({content:e.data,message:'Data URLs are not valid inline data. Pass them as { type: "url", url } instead.'});return tF(e.data);case"url":return t$(e.url);case"reference":return{data:{type:"reference",reference:e.reference},mediaType:void 0};case"text":return{data:{type:"text",text:e.text},mediaType:void 0}}if(e instanceof URL)return t$(e);if("string"==typeof e)try{return t$(new URL(e))}catch(t){return tF(e)}return(0,J.isProviderReference)(e)?{data:{type:"reference",reference:e},mediaType:void 0}:tF(e)}async function tH({prompt:e,supportedUrls:t,download:o=((e=tq)=>t=>Promise.all(t.map(async t=>t.isUrlSupportedByModel?null:await e(t))))(),provider:a}){let r=await tJ(e.messages,o,t),n=new Map;for(let t of e.messages)if("assistant"===t.role&&Array.isArray(t.content))for(let e of t.content)"tool-approval-request"===e.type&&"approvalId"in e&&"toolCallId"in e&&n.set(e.approvalId,e.toolCallId);let i=new Set;for(let t of e.messages)if("tool"===t.role){for(let e of t.content)if("tool-approval-response"===e.type){let t=n.get(e.approvalId);t&&i.add(t)}}let l=[...null!=e.instructions?"string"==typeof e.instructions?[{role:"system",content:e.instructions}]:(0,J.asArray)(e.instructions).map(e=>({role:"system",content:e.content,providerOptions:e.providerOptions})):[],...e.messages.map(e=>(function({message:e,downloadedAssets:t,provider:o}){let a=[],r=e.role;switch(r){case"system":return{role:"system",content:e.content,providerOptions:e.providerOptions};case"user":{if("string"==typeof e.content)return{role:"user",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};let o={role:"user",content:e.content.map(e=>("image"===e.type&&a.push({type:"deprecated",setting:'"image" content part',message:'The "image" content part type is deprecated. Use a "file" part with mediaType: \'image\' (or a more specific image/* subtype) instead.'}),tV(e))).map(e=>tB(e,t)).filter(e=>"text"!==e.type||""!==e.text),providerOptions:e.providerOptions};return a.length>0&&t_({warnings:a}),o}case"assistant":{if("string"==typeof e.content)return{role:"assistant",content:[{type:"text",text:e.content}],providerOptions:e.providerOptions};let r={role:"assistant",content:e.content.filter(e=>"text"!==e.type||""!==e.text||null!=e.providerOptions).filter(e=>"tool-approval-request"!==e.type).map(e=>{let r=e.providerOptions;switch(e.type){case"custom":return{type:"custom",kind:e.kind,providerOptions:r};case"file":{let{data:t,mediaType:o}=tL(e.data);return{type:"file",data:t,filename:e.filename,mediaType:null!=o?o:e.mediaType,providerOptions:r}}case"reasoning":return{type:"reasoning",text:e.text,providerOptions:r};case"reasoning-file":{let{data:t,mediaType:o}=tL(e.data);if("data"!==t.type&&"url"!==t.type)throw Error(`Unsupported reasoning-file data type: ${t.type}`);return{type:"reasoning-file",data:t,mediaType:null!=o?o:e.mediaType,providerOptions:r}}case"text":return{type:"text",text:e.text,providerOptions:r};case"tool-call":return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,providerExecuted:e.providerExecuted,providerOptions:r};case"tool-result":return{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:tW({output:e.output,provider:o,warnings:a,downloadedAssets:t}),providerOptions:r}}}),providerOptions:e.providerOptions};return a.length>0&&t_({warnings:a}),r}case"tool":{let r={role:"tool",content:e.content.filter(e=>"tool-approval-response"!==e.type||e.providerExecuted).map(e=>{switch(e.type){case"tool-result":return{type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:tW({output:e.output,provider:o,warnings:a,downloadedAssets:t}),providerOptions:e.providerOptions};case"tool-approval-response":return{type:"tool-approval-response",approvalId:e.approvalId,approved:e.approved,reason:e.reason}}}),providerOptions:e.providerOptions};return a.length>0&&t_({warnings:a}),r}default:throw new tu({role:r})}})({message:e,downloadedAssets:r,provider:a}))],s=[];for(let e of l){if("tool"!==e.role){s.push(e);continue}let t=s.at(-1);if((null==t?void 0:t.role)==="tool"){let o=t.content.at(-1);null!=o&&null!=t.providerOptions&&(o.providerOptions=tD(t.providerOptions,o.providerOptions)),t.content.push(...e.content),t.providerOptions=e.providerOptions}else s.push(e)}let u=new Set;for(let e of s)switch(e.role){case"assistant":for(let t of e.content)"tool-call"!==t.type||t.providerExecuted||u.add(t.toolCallId);break;case"tool":for(let t of e.content)"tool-result"===t.type&&u.delete(t.toolCallId);break;case"user":case"system":for(let e of i)u.delete(e);if(u.size>0)throw new eb({toolCallIds:Array.from(u)})}for(let e of i)u.delete(e);if(u.size>0)throw new eb({toolCallIds:Array.from(u)});return s.filter(e=>"tool"!==e.role||e.content.length>0)}function tV(e){var t;return"image"!==e.type?e:{type:"file",data:e.image,mediaType:null!=(t=e.mediaType)?t:"image",providerOptions:e.providerOptions}}async function tJ(e,t,o){let a=[];for(let t of e){if("user"===t.role&&Array.isArray(t.content))for(let e of t.content){let t=tV(e);"file"===t.type&&a.push(t)}if("tool"===t.role){for(let e of t.content)if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&a.push(t)}if("assistant"===t.role&&Array.isArray(t.content)){for(let e of t.content)if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&a.push(t)}}let r=a.map(e=>{let t=e.mediaType,{data:o}=tL(e.data);return{mediaType:t,data:o}}).filter(e=>"url"===e.data.type).map(e=>({url:e.data.url,isUrlSupportedByModel:null!=e.mediaType&&(0,J.isUrlSupported)({url:e.data.url.toString(),mediaType:e.mediaType,supportedUrls:o})}));return Object.fromEntries((await t(r)).map((e,t)=>null==e?null:[r[t].url.toString(),{data:e.data,mediaType:e.mediaType}]).filter(e=>null!=e))}function tB(e,t){if("text"===e.type)return{type:"text",text:e.text,providerOptions:e.providerOptions};let{data:o,mediaType:a}=tL(e.data),r=null!=a?a:e.mediaType,n=o;if("url"===n.type){let e=t[n.url.toString()];e&&(n={type:"data",data:e.data},null==e.mediaType||null!=r&&(0,J.isFullMediaType)(r)||(r=e.mediaType))}if("data"===n.type&&(n.data instanceof Uint8Array||"string"==typeof n.data)){let e=(0,J.detectMediaType)({data:n.data,topLevelType:"image"});null!=e&&(r=e)}if(null==r)throw Error("Media type is missing for file part");return{type:"file",mediaType:r,filename:e.filename,data:n,providerOptions:e.providerOptions}}function tW({output:e,provider:t,warnings:o=[],downloadedAssets:a}){return"content"!==e.type?e:{type:"content",value:e.value.map(e=>{var r;switch(e.type){case"file":{let t=tB(e,a);if("file"!==t.type)throw Error("Expected tool result file content to convert to file.");return t}case"file-data":return o.push({type:"deprecated",setting:'"tool-result" content of type "file-data"',message:'The "file-data" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'data\', data } instead.'}),{type:"file",data:{type:"data",data:e.data},filename:e.filename,mediaType:e.mediaType,providerOptions:e.providerOptions};case"file-url":{let t=null!=(r=e.mediaType)?r:function(e,t="application/octet-stream"){var o;try{let t=new URL(e).pathname,a=null==(o=t.split(".").pop())?void 0:o.toLowerCase();if(a&&Object.hasOwn(tG,a))return tG[a]}catch(e){}return t}(e.url),a='The "file-url" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'url\', url } instead.';if(!e.mediaType){let o="application/octet-stream"===t?"Unable to infer media type from URL. Defaulting to 'application/octet-stream'.":`Inferred media type '${t}' from URL.`;a=`The "file-url" tool result content part with URL "${e.url}" is missing a "mediaType". ${o} ${a}`}return o.push({type:"deprecated",setting:'"tool-result" content of type "file-url"',message:a}),{type:"file",data:{type:"url",url:new URL(e.url)},mediaType:t,providerOptions:e.providerOptions}}case"file-id":return o.push({type:"deprecated",setting:'"tool-result" content of type "file-id"',message:'The "file-id" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'reference\', reference } instead.'}),{type:"file",data:{type:"reference",reference:tK({fileId:e.fileId,provider:t})},mediaType:"application",providerOptions:e.providerOptions};case"file-reference":return o.push({type:"deprecated",setting:'"tool-result" content of type "file-reference"',message:'The "file-reference" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'reference\', reference } instead.'}),{type:"file",data:{type:"reference",reference:e.providerReference},mediaType:"application",providerOptions:e.providerOptions};case"image-data":return o.push({type:"deprecated",setting:'"tool-result" content of type "image-data"',message:'The "image-data" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'data\', data } instead.'}),{type:"file",data:{type:"data",data:e.data},mediaType:e.mediaType,providerOptions:e.providerOptions};case"image-url":return o.push({type:"deprecated",setting:'"tool-result" content of type "image-url"',message:"The \"image-url\" type for tool result content is deprecated. Use the \"file\" type with mediaType 'image' (or a specific image/* subtype) and { type: 'url', url } instead."}),{type:"file",data:{type:"url",url:new URL(e.url)},mediaType:"image",providerOptions:e.providerOptions};case"image-file-id":return o.push({type:"deprecated",setting:'"tool-result" content of type "image-file-id"',message:'The "image-file-id" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'reference\', reference } instead.'}),{type:"file",data:{type:"reference",reference:tK({fileId:e.fileId,provider:t})},mediaType:"image",providerOptions:e.providerOptions};case"image-file-reference":return o.push({type:"deprecated",setting:'"tool-result" content of type "image-file-reference"',message:'The "image-file-reference" type for tool result content is deprecated. Use the "file" type with mediaType and { type: \'reference\', reference } instead.'}),{type:"file",data:{type:"reference",reference:e.providerReference},mediaType:"image",providerOptions:e.providerOptions};default:return e}})}}function tK({fileId:e,provider:t}){if("object"==typeof e)return e;if(null==t)throw Error("Cannot convert string fileId to provider reference without a provider ID. Use a Record<string, string> fileId or switch to the file-reference type.");return{[t]:e}}var tG={jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",avif:"image/avif",heic:"image/heic",bmp:"image/bmp",tiff:"image/tiff",tif:"image/tiff",pdf:"application/pdf",mp4:"video/mp4",webm:"video/webm",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg"};async function tY({toolCallId:e,input:t,output:o,tool:a,errorMode:r}){return"text"===r?{type:"error-text",value:(0,B.getErrorMessage)(o)}:"json"===r?{type:"error-json",value:tZ(o)}:(null==a?void 0:a.toModelOutput)?await a.toModelOutput({toolCallId:e,input:t,output:o}):"string"==typeof o?{type:"text",value:o}:{type:"json",value:tZ(o)}}function tZ(e){return void 0===e?null:e}function tX({maxOutputTokens:e,temperature:t,topP:o,topK:a,presencePenalty:r,frequencyPenalty:n,seed:i,stopSequences:l,reasoning:s}){if(null!=e){if(!Number.isInteger(e))throw new X({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be an integer"});if(e<1)throw new X({parameter:"maxOutputTokens",value:e,message:"maxOutputTokens must be >= 1"})}if(null!=t&&"number"!=typeof t)throw new X({parameter:"temperature",value:t,message:"temperature must be a number"});if(null!=o&&"number"!=typeof o)throw new X({parameter:"topP",value:o,message:"topP must be a number"});if(null!=a&&"number"!=typeof a)throw new X({parameter:"topK",value:a,message:"topK must be a number"});if(null!=r&&"number"!=typeof r)throw new X({parameter:"presencePenalty",value:r,message:"presencePenalty must be a number"});if(null!=n&&"number"!=typeof n)throw new X({parameter:"frequencyPenalty",value:n,message:"frequencyPenalty must be a number"});if(null!=i&&!Number.isInteger(i))throw new X({parameter:"seed",value:i,message:"seed must be an integer"});return{maxOutputTokens:e,temperature:t,topP:o,topK:a,presencePenalty:r,frequencyPenalty:n,stopSequences:l,seed:i,reasoning:s}}function tQ({toolChoice:e}){return null==e?{type:"auto"}:"string"==typeof e?{type:e}:{type:"tool",toolName:e.toolName}}async function t0({tools:e,toolOrder:t,toolsContext:o={},experimental_sandbox:a}){if(!(null!=e&&Object.keys(e).length>0))return;let r=[];for(let[n,i]of function({tools:e,toolOrder:t}){if(null==t)return Object.entries(e);let o=Object.entries(e);return[...o.filter(([e])=>t.includes(e)).sort(([e],[o])=>t.indexOf(e)-t.indexOf(o)),...o.filter(([e])=>!t.includes(e)).sort(([e],[t])=>e<t?-1:+(e>t))]}({tools:e,toolOrder:t})){let e=i.type;switch(e){case void 0:case"dynamic":case"function":{let e=function({tool:e,toolName:t,toolsContext:o,experimental_sandbox:a}){return void 0===e.description?void 0:"string"==typeof e.description?e.description:e.description({context:o[t],experimental_sandbox:a})}({tool:i,toolName:n,toolsContext:o,experimental_sandbox:a}),t=i.providerOptions,l=i.inputExamples,s=i.strict;r.push({type:"function",name:n,inputSchema:await (0,J.asSchema)(i.inputSchema).jsonSchema,...null!=e?{description:e}:{},...null!=l?{inputExamples:l}:{},...null!=t?{providerOptions:t}:{},...null!=s?{strict:s}:{}});break}case"provider":r.push({type:"provider",name:n,id:i.id,args:i.args});break;default:throw Error(`Unsupported tool type: ${e}`)}}return r}function t1(e){if(null!=e)return"number"==typeof e?e:e.totalMs}function t4(e){if(null!=e&&"number"!=typeof e)return e.stepMs}function t2(e){if(null!=e&&"number"!=typeof e)return e.firstChunkMs}function t6(e){if(null!=e&&"number"!=typeof e)return e.chunkMs}var t3={array:W.array,boolean:W.boolean,custom:W.custom,discriminatedUnion:W.discriminatedUnion,enum:W.enum,instanceof:W.instanceof,lazy:W.lazy,literal:W.literal,looseObject:W.looseObject,never:W.never,null:W.null,number:W.number,object:W.object,record:W.record,string:W.string,union:W.union,unknown:W.unknown},t8=t3.lazy(()=>t3.union([t3.null(),t3.string(),t3.number(),t3.boolean(),t3.record(t3.string(),t8.optional()),t3.array(t8)])),t5=t3.record(t3.string(),t3.record(t3.string(),t8.optional())),t9=t3.union([t3.string(),t3.instanceof(Uint8Array),t3.instanceof(ArrayBuffer),t3.custom(J.isBuffer,{message:"Must be a Buffer"})]),t7=t3.record(t3.string(),t3.string()),oe=t3.object({type:t3.literal("text"),text:t3.string(),providerOptions:t5.optional()}),ot=t3.object({type:t3.literal("image"),image:t3.union([t9,t3.instanceof(URL),t7]),mediaType:t3.string().optional(),providerOptions:t5.optional()}),oo=t3.discriminatedUnion("type",[t3.object({type:t3.literal("data"),data:t9}),t3.object({type:t3.literal("url"),url:t3.instanceof(URL)}),t3.object({type:t3.literal("reference"),reference:t7}),t3.object({type:t3.literal("text"),text:t3.string()})]),oa=t3.discriminatedUnion("type",[t3.object({type:t3.literal("data"),data:t9}),t3.object({type:t3.literal("url"),url:t3.instanceof(URL)})]),or=t3.object({type:t3.literal("file"),data:t3.union([oo,t9,t3.instanceof(URL),t7]),filename:t3.string().optional(),mediaType:t3.string(),providerOptions:t5.optional()}),on=t3.object({type:t3.literal("reasoning"),text:t3.string(),providerOptions:t5.optional()}),oi=t3.object({type:t3.literal("custom"),kind:t3.string().transform(e=>e),providerOptions:t5.optional()}),ol=t3.object({type:t3.literal("reasoning-file"),data:t3.union([oa,t9,t3.instanceof(URL)]),mediaType:t3.string(),providerOptions:t5.optional()}),os=t3.object({type:t3.literal("tool-call"),toolCallId:t3.string(),toolName:t3.string(),input:t3.unknown(),providerOptions:t5.optional(),providerExecuted:t3.boolean().optional()}),ou=t3.discriminatedUnion("type",[t3.object({type:t3.literal("text"),value:t3.string(),providerOptions:t5.optional()}),t3.object({type:t3.literal("json"),value:t8,providerOptions:t5.optional()}),t3.object({type:t3.literal("execution-denied"),reason:t3.string().optional(),providerOptions:t5.optional()}),t3.object({type:t3.literal("error-text"),value:t3.string(),providerOptions:t5.optional()}),t3.object({type:t3.literal("error-json"),value:t8,providerOptions:t5.optional()}),t3.object({type:t3.literal("content"),value:t3.array(t3.union([t3.object({type:t3.literal("text"),text:t3.string(),providerOptions:t5.optional()}),t3.object({type:t3.literal("file"),data:oo,mediaType:t3.string(),filename:t3.string().optional(),providerOptions:t5.optional()}),t3.object({type:t3.literal("file-data"),data:t3.string(),mediaType:t3.string(),filename:t3.string().optional(),providerOptions:t5.optional()}),t3.object({type:t3.literal("file-url"),url:t3.string(),mediaType:t3.string().optional(),providerOptions:t5.optional()}),t3.object({type:t3.literal("file-id"),fileId:t3.union([t3.string(),t3.record(t3.string(),t3.string())]),providerOptions:t5.optional()}),t3.object({type:t3.literal("file-reference"),providerReference:t3.record(t3.string(),t3.string()),providerOptions:t5.optional()}),t3.object({type:t3.literal("image-data"),data:t3.string(),mediaType:t3.string(),providerOptions:t5.optional()}),t3.object({type:t3.literal("image-url"),url:t3.string(),providerOptions:t5.optional()}),t3.object({type:t3.literal("image-file-id"),fileId:t3.union([t3.string(),t3.record(t3.string(),t3.string())]),providerOptions:t5.optional()}),t3.object({type:t3.literal("image-file-reference"),providerReference:t3.record(t3.string(),t3.string()),providerOptions:t5.optional()}),t3.object({type:t3.literal("custom"),providerOptions:t5.optional()})]))})]),od=t3.object({type:t3.literal("tool-result"),toolCallId:t3.string(),toolName:t3.string(),output:ou,providerOptions:t5.optional()}),op=t3.object({type:t3.literal("tool-approval-request"),approvalId:t3.string(),toolCallId:t3.string(),reason:t3.string().optional()}),oc=t3.object({type:t3.literal("tool-approval-response"),approvalId:t3.string(),approved:t3.boolean(),reason:t3.string().optional()}),om=t3.object({role:t3.literal("system"),content:t3.string(),providerOptions:t5.optional()}),og=t3.object({role:t3.literal("user"),content:t3.union([t3.string(),t3.array(t3.union([oe,ot,or]))]),providerOptions:t5.optional()}),oh=t3.object({role:t3.literal("assistant"),content:t3.union([t3.string(),t3.array(t3.union([oe,oi,or,on,ol,os,od,op]))]),providerOptions:t5.optional()}),of=t3.object({role:t3.literal("tool"),content:t3.array(t3.union([od,oc])),providerOptions:t5.optional()}),oy=t3.union([om,og,oh,of]);async function ov({allowSystemInMessages:e=!1,system:t,instructions:o=t,prompt:a,messages:r}){if(null==a&&null==r)throw new B.InvalidPromptError({prompt:a,message:"prompt or messages must be defined"});if(null!=a&&null!=r)throw new B.InvalidPromptError({prompt:a,message:"prompt and messages cannot be defined at the same time"});if("string"!=typeof o&&!(0,J.asArray)(o).every(e=>"system"===e.role))throw new B.InvalidPromptError({prompt:a,message:"instructions must be a string, SystemModelMessage, or array of SystemModelMessage"});if(null!=a&&"string"==typeof a)r=[{role:"user",content:a}];else if(null!=a&&Array.isArray(a))r=a;else if(null==r)throw new B.InvalidPromptError({prompt:a,message:"prompt or messages must be defined"});if(0===r.length)throw new B.InvalidPromptError({prompt:a,message:"messages must not be empty"});if(!e&&r.some(e=>"system"===e.role))throw new B.InvalidPromptError({prompt:a,message:"System messages are not allowed in the prompt or messages fields. Use the instructions option instead."});let n=await (0,J.safeValidateTypes)({value:r,schema:t3.array(oy)});if(!n.success)throw new B.InvalidPromptError({prompt:a,message:"The messages do not match the ModelMessage[] schema.",cause:n.error});return{messages:r,instructions:o}}function ob(e){if(!V.GatewayAuthenticationError.isInstance(e))return e;let t="https://ai-sdk.dev/unauthenticated-ai-gateway";return(null==process?void 0:"production")==="production"?new B.AISDKError({name:"GatewayError",message:`Unauthenticated. Configure AI_GATEWAY_API_KEY or use a provider module. Learn more: ${t}`}):Object.assign(Error(`\x1b[1m\x1b[31mUnauthenticated request to AI Gateway.\x1b[0m
35
+
36
+ To authenticate, set the \x1b[33mAI_GATEWAY_API_KEY\x1b[0m environment variable with your API key.
37
+
38
+ Alternatively, you can use a provider module instead of the AI Gateway.
39
+
40
+ Learn more: \x1b[34m${t}\x1b[0m
41
+
42
+ `),{name:"GatewayAuthenticationError"})}function o_(e){return{inputTokens:e.inputTokens.total,inputTokenDetails:{noCacheTokens:e.inputTokens.noCache,cacheReadTokens:e.inputTokens.cacheRead,cacheWriteTokens:e.inputTokens.cacheWrite},outputTokens:e.outputTokens.total,outputTokenDetails:{textTokens:e.outputTokens.text,reasoningTokens:e.outputTokens.reasoning},totalTokens:oI(e.inputTokens.total,e.outputTokens.total),raw:e.raw}}function ow(){return{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0,raw:void 0}}function oz(e,t){var o,a,r,n,i,l,s,u,d,p;return{inputTokens:oI(e.inputTokens,t.inputTokens),inputTokenDetails:{noCacheTokens:oI(null==(o=e.inputTokenDetails)?void 0:o.noCacheTokens,null==(a=t.inputTokenDetails)?void 0:a.noCacheTokens),cacheReadTokens:oI(null==(r=e.inputTokenDetails)?void 0:r.cacheReadTokens,null==(n=t.inputTokenDetails)?void 0:n.cacheReadTokens),cacheWriteTokens:oI(null==(i=e.inputTokenDetails)?void 0:i.cacheWriteTokens,null==(l=t.inputTokenDetails)?void 0:l.cacheWriteTokens)},outputTokens:oI(e.outputTokens,t.outputTokens),outputTokenDetails:{textTokens:oI(null==(s=e.outputTokenDetails)?void 0:s.textTokens,null==(u=t.outputTokenDetails)?void 0:u.textTokens),reasoningTokens:oI(null==(d=e.outputTokenDetails)?void 0:d.reasoningTokens,null==(p=t.outputTokenDetails)?void 0:p.reasoningTokens)},totalTokens:oI(e.totalTokens,t.totalTokens)}}function oI(e,t){return null==e&&null==t?void 0:(null!=e?e:0)+(null!=t?t:0)}function ox(e,t){return null!=e&&Object.hasOwn(e,t)?e[t]:void 0}function ok(...e){let t=(0,J.filterNullable)(...e).map(e=>"number"==typeof e?AbortSignal.timeout(e):e);return 0===t.length?void 0:1===t.length?t[0]:AbortSignal.any(t)}function oT(){var e,t;return null!=(t=null==(e=null==globalThis?void 0:globalThis.performance)?void 0:e.now())?t:Date.now()}async function oS(e){await Promise.all((0,J.asArray)(e.callbacks).map(async t=>{try{await (null==t?void 0:t(e.event))}catch(e){}}))}function oM({maxRetries:e,abortSignal:t,parameter:o="maxRetries",defaultMaxRetries:a=2}){if(null!=e){if(!Number.isInteger(e))throw new X({parameter:o,value:e,message:`${o} must be an integer`});if(e<0)throw new X({parameter:o,value:e,message:`${o} must be >= 0`})}let r=null!=e?e:a;return{maxRetries:r,retry:(({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:o=2,abortSignal:a}={})=>(0,J.retryWithExponentialBackoff)({maxRetries:e,initialDelayInMs:t,backoffFactor:o,abortSignal:a,shouldRetry:e=>e instanceof Error&&(B.APICallError.isInstance(e)&&!0===e.isRetryable||V.GatewayError.isInstance(e)&&!0===e.isRetryable),getDelayInMs:({error:e,exponentialBackoffDelay:t})=>(function({error:e,exponentialBackoffDelay:t}){let o,a=B.APICallError.isInstance(e)?e.responseHeaders:B.APICallError.isInstance(e.cause)?e.cause.responseHeaders:void 0;if(!a)return t;let r=a["retry-after-ms"];if(r){let e=parseFloat(r);Number.isNaN(e)||(o=e)}let n=a["retry-after"];if(n&&void 0===o){let e=parseFloat(n);o=Number.isNaN(e)?Date.parse(n)-Date.now():1e3*e}return null!=o&&!Number.isNaN(o)&&0<=o&&(o<6e4||o<t)?o:t})({error:e,exponentialBackoffDelay:t}),createRetryError:({message:e,reason:t,errors:o})=>new ty({message:e,reason:t,errors:o})}))({maxRetries:r,abortSignal:t})}}function oC({abortController:e,label:t,timeoutMs:o}){if(null!=e&&null!=o)return setTimeout(()=>e.abort(new DOMException(`${t} timeout of ${o}ms exceeded`,"TimeoutError")),o)}function oE({tokens:e,durationMs:t}){let o=1e3*(null!=e?e:0)/(null!=t?t:0);return Number.isFinite(o)?o:0}function oj({messages:e}){let t=e.at(-1);if((null==t?void 0:t.role)!="tool")return{approvedToolApprovals:[],deniedToolApprovals:[]};let o=Object.create(null);for(let t of e)if("assistant"===t.role&&"string"!=typeof t.content)for(let e of t.content)"tool-call"===e.type&&(o[e.toolCallId]=e);let a=Object.create(null);for(let t of e)if("assistant"===t.role&&"string"!=typeof t.content)for(let e of t.content)"tool-approval-request"===e.type&&(a[e.approvalId]=e);let r=Object.create(null);for(let e of t.content)"tool-result"===e.type&&(r[e.toolCallId]=e);let n=[],i=[];for(let e of t.content.filter(e=>"tool-approval-response"===e.type)){let t=a[e.approvalId];if(null==t)throw new ea({approvalId:e.approvalId});let l=r[t.toolCallId];if(null!=l&&(e.approved||"execution-denied"!==l.output.type))continue;let s=o[t.toolCallId];if(null==s)throw new eh({toolCallId:t.toolCallId,approvalId:t.approvalId});let u={approvalRequest:t,approvalResponse:e,toolCall:s,...null!=l?{existingToolResult:l}:{}};e.approved?n.push(u):i.push(u)}return{approvedToolApprovals:n,deniedToolApprovals:i}}var oR=class{constructor({data:e,mediaType:t,providerMetadata:o}){const a=e instanceof Uint8Array;this.base64Data=a?void 0:e,this.uint8ArrayData=a?e:void 0,this.mediaType=t,this.providerMetadata=o}get base64(){return null==this.base64Data&&(this.base64Data=(0,J.convertUint8ArrayToBase64)(this.uint8ArrayData)),this.base64Data}get uint8Array(){return null==this.uint8ArrayData&&(this.uint8ArrayData=(0,J.convertBase64ToUint8Array)(this.base64Data)),this.uint8ArrayData}},oO=class extends oR{constructor(e){super(e),this.type="file"}};function oA({content:e,toolCalls:t,toolOutputs:o,toolApprovalRequests:a,toolApprovalResponses:r,tools:n}){let i=[],l=[],s=[],u=new Set(r.map(e=>e.toolCall.toolCallId));for(let o of e)switch(o.type){case"text":case"reasoning":case"custom":case"source":i.push(o);break;case"file":case"reasoning-file":i.push({type:o.type,file:new oR({data:"data"===o.data.type?o.data.data:o.data.url.toString(),mediaType:o.mediaType}),...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{}});break;case"tool-call":{let e=t.find(e=>e.toolCallId===o.toolCallId);if(null==e)throw Error(`Tool call ${o.toolCallId} not found.`);i.push(e);break}case"tool-result":{let e=t.find(e=>e.toolCallId===o.toolCallId);if(null==e){let e=ox(n,o.toolName);if(!((null==e?void 0:e.type)==="provider"&&e.supportsDeferredResults))throw Error(`Tool call ${o.toolCallId} not found.`);o.isError?i.push({type:"tool-error",toolCallId:o.toolCallId,toolName:o.toolName,input:void 0,error:o.result,providerExecuted:!0,dynamic:o.dynamic,...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{},...(null==e?void 0:e.metadata)!=null?{toolMetadata:e.metadata}:{}}):i.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,input:void 0,output:o.result,providerExecuted:!0,dynamic:o.dynamic,...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{},...(null==e?void 0:e.metadata)!=null?{toolMetadata:e.metadata}:{}});break}o.isError?i.push({type:"tool-error",toolCallId:o.toolCallId,toolName:o.toolName,input:e.input,error:o.result,providerExecuted:!0,dynamic:e.dynamic,...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{}}):i.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,input:e.input,output:o.result,providerExecuted:!0,dynamic:e.dynamic,...null!=o.providerMetadata?{providerMetadata:o.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{}});break}case"tool-approval-request":{let e=t.find(e=>e.toolCallId===o.toolCallId);if(null==e)throw new eh({toolCallId:o.toolCallId,approvalId:o.approvalId});i.push({type:"tool-approval-request",approvalId:o.approvalId,toolCall:e})}}for(let e of o)u.has(e.toolCallId)?l.push(e):s.push(e);return[...i,...s,...a,...r,...l]}async function oN({toolName:e,context:t,contextSchema:o}){return null==o?t:await (0,J.validateTypes)({value:t,schema:o,context:{field:"tool context",entityName:e}})}async function oP({toolCall:e,tools:t,toolsContext:o,callId:a,messages:r,abortSignal:n,timeout:i,experimental_sandbox:l,onPreliminaryToolResult:s,onToolExecutionStart:u,onToolExecutionEnd:d,executeToolInTelemetryContext:p=async({execute:e})=>await e(),runInTracingChannelSpan:c=async({execute:e})=>await e()}){let{toolName:m,toolCallId:g,input:h}=e,f=ox(t,m);if(!(0,J.isExecutableTool)(f))return;let y=await oN({toolName:m,context:ox(o,m),contextSchema:f.contextSchema}),v={toolCall:e,messages:r,toolContext:y},b={callId:a,...v};return await c({type:"executeTool",event:b,execute:async()=>{let t;await oS({event:b,callbacks:u});let o=ok(n,function(e,t){var o,a;if(null!=e&&"number"!=typeof e)return null!=(a=null==(o=e.tools)?void 0:o[`${t}Ms`])?a:e.toolMs}(i,m)),c=0;try{await p({callId:a,toolCallId:g,...v,execute:async()=>{let a=oT();try{for await(let a of(0,J.executeTool)({tool:f,input:h,options:{toolCallId:g,messages:r,abortSignal:o,context:y,experimental_sandbox:l}}))"preliminary"===a.type?null==s||s({...e,type:"tool-result",output:a.output,preliminary:!0}):t=a.output}finally{c=oT()-a}}})}catch(o){let t={type:"tool-error",toolCallId:g,toolName:m,input:h,error:o,dynamic:"dynamic"===f.type,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{}};return await oS({event:{...b,toolOutput:t,toolExecutionMs:c},callbacks:d}),{output:t,toolExecutionMs:c}}let _={type:"tool-result",toolCallId:g,toolName:m,input:h,output:t,dynamic:"dynamic"===f.type,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{}};return await oS({event:{...b,toolOutput:_,toolExecutionMs:c},callbacks:d}),{output:_,toolExecutionMs:c}}})}function oq({tools:e,activeTools:t}){return null==e||null==t?e:Object.fromEntries(Object.entries(e).filter(([e])=>t.includes(e)))}function oD(e){return"stop"===e||"tool-calls"===e}var oU={},o$={array:()=>oJ,choice:()=>oK,json:()=>oG,object:()=>oV,text:()=>oH};for(var oF in o$)K(oU,oF,{get:o$[oF],enumerable:!0});async function oL(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await (0,J.safeParseJSON)({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await (0,J.safeParseJSON)({text:function(e){let t=["ROOT"],o=-1,a=null,r=0;function n(e,r,n){switch(e){case'"':o=r,t.pop(),t.push(n),t.push("INSIDE_STRING");break;case"f":case"t":case"n":o=r,a=r,t.pop(),t.push(n),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(n),t.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=r,t.pop(),t.push(n),t.push("INSIDE_NUMBER");break;case"{":o=r,t.pop(),t.push(n),t.push("INSIDE_OBJECT_START");break;case"[":o=r,t.pop(),t.push(n),t.push("INSIDE_ARRAY_START")}}function i(e,a){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":o=a,t.pop()}}function l(e,a){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":o=a,t.pop()}}for(let s=0;s<e.length;s++){let u=e[s];switch(t[t.length-1]){case"ROOT":n(u,s,"FINISH");break;case"INSIDE_OBJECT_START":switch(u){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":o=s,t.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===u&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":n(u,s,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":i(u,s);break;case"INSIDE_STRING":switch(u){case'"':t.pop(),o=s;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:o=s}break;case"INSIDE_ARRAY_START":"]"===u?(o=s,t.pop()):(o=s,n(u,s,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(u){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":o=s,t.pop();break;default:o=s}break;case"INSIDE_ARRAY_AFTER_COMMA":n(u,s,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),"u"===u?(r=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):o=s;break;case"INSIDE_STRING_UNICODE_ESCAPE":(u>="0"&&u<="9"||u>="A"&&u<="F"||u>="a"&&u<="f")&&4==++r&&(t.pop(),o=s);break;case"INSIDE_NUMBER":switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":o=s;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&l(u,s),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&i(u,s);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&i(u,s);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&l(u,s);break;default:t.pop()}break;case"INSIDE_LITERAL":{let r=e.substring(a,s+1);"false".startsWith(r)||"true".startsWith(r)||"null".startsWith(r)?o=s:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?i(u,s):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&l(u,s))}}}let s=e.slice(0,o+1);for(let o=t.length-1;o>=0;o--)switch(t[o]){case"INSIDE_STRING":s+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":s+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":s+="]";break;case"INSIDE_LITERAL":{let t=e.substring(a,e.length);"true".startsWith(t)?s+="true".slice(t.length):"false".startsWith(t)?s+="false".slice(t.length):"null".startsWith(t)&&(s+="null".slice(t.length))}}return s}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var oH=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:e})=>e,parsePartialOutput:async({text:e})=>({partial:e}),createElementStreamTransform(){}}),oV=({schema:e,name:t,description:o})=>{let a=(0,J.asSchema)(e);return{name:"object",responseFormat:(0,J.resolve)(a.jsonSchema).then(e=>({type:"json",schema:e,...null!=t&&{name:t},...null!=o&&{description:o}})),async parseCompleteOutput({text:e},t){let o=await (0,J.safeParseJSON)({text:e});if(!o.success)throw new eS({message:"No object generated: could not parse the response.",cause:o.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let r=await (0,J.safeValidateTypes)({value:o.value,schema:a});if(!r.success)throw new eS({message:"No object generated: response did not match schema.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return r.value},async parsePartialOutput({text:e}){let t=await oL(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value}}},createElementStreamTransform(){}}},oJ=({element:e,minItems:t,maxItems:o,name:a,description:r})=>{if(oB({name:"minItems",value:t}),oB({name:"maxItems",value:o}),null!=t&&null!=o&&t>o)throw new X({parameter:"minItems",value:t,message:"minItems must be less than or equal to maxItems"});let n=(0,J.asSchema)(e);return{name:"array",responseFormat:(0,J.resolve)(n.jsonSchema).then(e=>{let{$schema:n,definitions:i,$defs:l,...s}=e;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=i&&{definitions:i},...null!=l&&{$defs:l},type:"object",properties:{elements:{type:"array",items:s,...null!=t&&{minItems:t},...null!=o&&{maxItems:o}}},required:["elements"],additionalProperties:!1},...null!=a&&{name:a},...null!=r&&{description:r}}}),async parseCompleteOutput({text:e},a){let r=await (0,J.safeParseJSON)({text:e});if(!r.success)throw new eS({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let i=r.value;if(null==i||"object"!=typeof i||!("elements"in i)||!Array.isArray(i.elements))throw new eS({message:"No object generated: response did not match schema.",cause:new B.TypeValidationError({value:i,cause:"response must be an object with an elements array"}),text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let l=oW({value:i.elements,minItems:t,maxItems:o});if(null!=l)throw new eS({message:"No object generated: response did not match schema.",cause:l,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let s=[];for(let t of i.elements){let o=await (0,J.safeValidateTypes)({value:t,schema:n});if(!o.success)throw new eS({message:"No object generated: response did not match schema.",cause:o.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});s.push(o.value)}return s},async parsePartialOutput({text:e}){let t=await oL(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let e=t.value;if(null==e||"object"!=typeof e||!("elements"in e)||!Array.isArray(e.elements))return;let o="repaired-parse"===t.state&&e.elements.length>0?e.elements.slice(0,-1):e.elements,a=[];for(let e of o){let t=await (0,J.safeValidateTypes)({value:e,schema:n});t.success&&a.push(t.value)}return{partial:a}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},a){if(null!=t)for(;e<t.length;e++){if(null!=o&&e>=o)return void a.error(oW({value:t,maxItems:o}));a.enqueue(t[e])}}})}}};function oB({name:e,value:t}){if(null!=t){if(!Number.isInteger(t))throw new X({parameter:e,value:t,message:`${e} must be an integer`});if(t<0)throw new X({parameter:e,value:t,message:`${e} must be greater than or equal to 0`})}}function oW({value:e,minItems:t,maxItems:o}){return null!=t&&e.length<t?new B.TypeValidationError({value:e,cause:`elements array must contain at least ${t} items`}):null!=o&&e.length>o?new B.TypeValidationError({value:e,cause:`elements array must contain at most ${o} items`}):void 0}var oK=({options:e,name:t,description:o})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...null!=t&&{name:t},...null!=o&&{description:o}}),async parseCompleteOutput({text:t},o){let a=await (0,J.safeParseJSON)({text:t});if(!a.success)throw new eS({message:"No object generated: could not parse the response.",cause:a.error,text:t,response:o.response,usage:o.usage,finishReason:o.finishReason});let r=a.value;if(null==r||"object"!=typeof r||!("result"in r)||"string"!=typeof r.result||!e.includes(r.result))throw new eS({message:"No object generated: response did not match schema.",cause:new B.TypeValidationError({value:r,cause:"response must be an object that contains a choice value."}),text:t,response:o.response,usage:o.usage,finishReason:o.finishReason});return r.result},async parsePartialOutput({text:t}){let o=await oL(t);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let t=o.value;if(null==t||"object"!=typeof t||!("result"in t)||"string"!=typeof t.result)return;let a=e.filter(e=>e.startsWith(t.result));if("successful-parse"===o.state)return a.includes(t.result)?{partial:t.result}:void 0;return 1===a.length?{partial:a[0]}:void 0}}},createElementStreamTransform(){}}),oG=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=e&&{name:e},...null!=t&&{description:t}}),async parseCompleteOutput({text:e},t){let o=await (0,J.safeParseJSON)({text:e});if(!o.success)throw new eS({message:"No object generated: could not parse the response.",cause:o.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return o.value},async parsePartialOutput({text:e}){let t=await oL(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===t.value?void 0:{partial:t.value}}},createElementStreamTransform(){}});async function oY({toolCall:e,tools:t,repairToolCall:o,refineToolInput:a,messages:r,instructions:n}){try{if(null==t){if(e.providerExecuted&&e.dynamic)return await oZ({toolCall:await oX(e),refineToolInput:a});throw new eK({toolName:e.toolName})}try{return await oZ({toolCall:await oQ({toolCall:e,tools:t}),refineToolInput:a})}catch(l){if(null==o||!(eK.isInstance(l)||ep.isInstance(l)))throw l;let i=null;try{i=await o({toolCall:e,tools:t,inputSchema:async({toolName:e})=>{var o;let a=null==(o=ox(t,e))?void 0:o.inputSchema;return await (0,J.asSchema)(a).jsonSchema},instructions:n,system:n,messages:r,error:l})}catch(e){throw new e4({cause:e,originalError:l})}if(null==i)throw l;return await oZ({toolCall:await oQ({toolCall:i,tools:t}),refineToolInput:a})}}catch(n){let o=await (0,J.safeParseJSON)({text:e.input}),a=o.success?o.value:e.input,r=ox(t,e.toolName);return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:a,dynamic:!0,invalid:!0,error:n,title:null==r?void 0:r.title,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...(null==r?void 0:r.metadata)!=null?{toolMetadata:r.metadata}:{}}}}async function oZ({toolCall:e,refineToolInput:t}){let o=ox(t,e.toolName);return null==o?e:{...e,input:await o(e.input)}}async function oX(e){let t=""===e.input.trim()?{success:!0,value:{}}:await (0,J.safeParseJSON)({text:e.input});if(!1===t.success)throw new ep({toolName:e.toolName,toolInput:e.input,cause:t.error});return{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:t.value,providerExecuted:!0,dynamic:!0,providerMetadata:e.providerMetadata}}async function oQ({toolCall:e,tools:t}){let o=e.toolName,a=ox(t,o);if(null==a){if(e.providerExecuted&&e.dynamic)return await oX(e);throw new eK({toolName:e.toolName,availableTools:Object.keys(t)})}let r=(0,J.asSchema)(a.inputSchema),n=""===e.input.trim()?await (0,J.safeValidateTypes)({value:{},schema:r}):await (0,J.safeParseJSON)({text:e.input,schema:r});if(!1===n.success)throw new ep({toolName:o,toolInput:e.input,cause:n.error});return"dynamic"===a.type?{type:"tool-call",toolCallId:e.toolCallId,toolName:e.toolName,input:n.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...null!=a.metadata?{toolMetadata:a.metadata}:{},dynamic:!0,title:a.title}:{type:"tool-call",toolCallId:e.toolCallId,toolName:o,input:n.value,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,...null!=a.metadata?{toolMetadata:a.metadata}:{},title:a.title}}function o0({callSettings:e,stepSettings:t}){var o,a,r,n,i,l,s,u,d;return tX({maxOutputTokens:null!=(o=null==t?void 0:t.maxOutputTokens)?o:e.maxOutputTokens,temperature:null!=(a=null==t?void 0:t.temperature)?a:e.temperature,topP:null!=(r=null==t?void 0:t.topP)?r:e.topP,topK:null!=(n=null==t?void 0:t.topK)?n:e.topK,presencePenalty:null!=(i=null==t?void 0:t.presencePenalty)?i:e.presencePenalty,frequencyPenalty:null!=(l=null==t?void 0:t.frequencyPenalty)?l:e.frequencyPenalty,stopSequences:null!=(s=null==t?void 0:t.stopSequences)?s:e.stopSequences,seed:null!=(u=null==t?void 0:t.seed)?u:e.seed,reasoning:null!=(d=null==t?void 0:t.reasoning)?d:e.reasoning})}function o1(e){return e.map(e=>{var t;if("reasoning"===e.type)return{type:"reasoning",text:e.text,...null!=e.providerOptions?{providerMetadata:e.providerOptions}:{}};let o="object"==typeof(t=e.data)&&null!==t&&"type"in t?"data"===t.type?t.data:t.url:t;return{type:"reasoning-file",file:new oR({data:o instanceof ArrayBuffer?new Uint8Array(o):o instanceof URL?o.toString():o,mediaType:e.mediaType}),...null!=e.providerOptions?{providerMetadata:e.providerOptions}:{}}})}async function o4({tools:e,toolCall:t,toolApproval:o,messages:a,toolsContext:r,runtimeContext:n}){if(null!=o&&"function"==typeof o)return o2(await o({toolCall:t,tools:e,toolsContext:r,messages:a,runtimeContext:n}));let i=t.toolName,l=ox(e,i),s=t.input,u=ox(o,i);return null!=u?o2("function"==typeof u?await u(s,{toolCallId:t.toolCallId,messages:a,toolContext:await oN({toolName:i,context:ox(r,i),contextSchema:null==l?void 0:l.contextSchema}),runtimeContext:n}):u):(null==l?void 0:l.needsApproval)==null?{type:"not-applicable"}:("function"==typeof l.needsApproval?await l.needsApproval(s,{toolCallId:t.toolCallId,messages:a,context:await oN({toolName:i,context:ox(r,i),contextSchema:null==l?void 0:l.contextSchema})}):l.needsApproval)?{type:"user-approval"}:{type:"not-applicable"}}function o2(e){return void 0===e?{type:"not-applicable"}:"string"==typeof e?{type:e}:e}function o6(...e){return async t=>{await Promise.allSettled(e.map(async e=>{await (null==e?void 0:e(t))}))}}var o3="ai:telemetry";function o8(){var e;return"u">typeof process&&(null==(e=process.release)?void 0:e.name)==="node"}async function o5(){if(o8())return null==H&&(H=Promise.resolve(o9("node:diagnostics_channel"))),H}function o9(e){var t;let o=globalThis.process;try{return null==(t=null==o?void 0:o.getBuiltinModule)?void 0:t.call(o,e)}catch(e){return}}async function o7(e,t){var o;let a,r,n,i=await o5(),l=null==(o=null==i?void 0:i.tracingChannel)?void 0:o.call(i,o3);if(null==l||!1===l.hasSubscribers)return await t();let s=!1,u=!1;try{return await l.tracePromise(()=>{try{a=Promise.resolve(t())}catch(e){a=Promise.reject(e)}return a=a.then(e=>(r=e,s=!0,e),e=>{throw n=e,u=!0,e})},e)}catch(e){if(u)throw n;if(s)return r;if(null!=a)return await a;return await t()}}function ae(e,t){return Object.assign(Object.create(Object.getPrototypeOf(e)),e,t)}var at=class{constructor({callId:e,stepNumber:t,provider:o,modelId:a,runtimeContext:r,toolsContext:n,content:i,finishReason:l,rawFinishReason:s,usage:u,performance:d,warnings:p,request:c,response:m,providerMetadata:g}){this.callId=e,this.stepNumber=t,this.model={provider:o,modelId:a},this.runtimeContext=r,this.toolsContext=n,this.content=i,this.finishReason=l,this.rawFinishReason=s,this.usage=u,this.performance=d,this.warnings=p,this.request=c,this.response=m,this.providerMetadata=g}get text(){return this.content.filter(e=>"text"===e.type).map(e=>e.text).join("")}get reasoning(){return this.content.filter(e=>"reasoning"===e.type||"reasoning-file"===e.type).map(e=>"reasoning"===e.type?{type:"reasoning",text:e.text,...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}}:{type:"reasoning-file",data:e.file.base64,mediaType:e.file.mediaType,...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}})}get reasoningText(){let e;return(e=this.reasoning.map(e=>"text"in e?e.text:"").join("")).length>0?e:void 0}get files(){return this.content.filter(e=>"file"===e.type).map(e=>e.file)}get sources(){return this.content.filter(e=>"source"===e.type)}get toolCalls(){return this.content.filter(e=>"tool-call"===e.type)}get staticToolCalls(){return this.toolCalls.filter(e=>!0!==e.dynamic)}get dynamicToolCalls(){return this.toolCalls.filter(e=>!0===e.dynamic)}get toolResults(){return this.content.filter(e=>"tool-result"===e.type)}get staticToolResults(){return this.toolResults.filter(e=>!0!==e.dynamic)}get dynamicToolResults(){return this.toolResults.filter(e=>!0===e.dynamic)}};function ao({context:e,includeContext:t}){return null==e?{}:Object.fromEntries(Object.entries(e).filter(([e])=>(null==t?void 0:t[e])===!0))}function aa({step:e,includeRuntimeContext:t,includeToolsContext:o}){return new at({callId:e.callId,stepNumber:e.stepNumber,provider:e.model.provider,modelId:e.model.modelId,runtimeContext:ao({context:e.runtimeContext,includeContext:t}),toolsContext:ar({toolsContext:e.toolsContext,includeToolsContext:o}),content:e.content,finishReason:e.finishReason,rawFinishReason:e.rawFinishReason,usage:e.usage,performance:e.performance,warnings:e.warnings,request:e.request,response:e.response,providerMetadata:e.providerMetadata})}function ar({toolsContext:e,includeToolsContext:t}){return null==t?{}:Object.fromEntries(Object.entries(e).map(([e,o])=>[e,an({toolName:e,toolContext:o,includeToolsContext:t})]))}function an({toolName:e,toolContext:t,includeToolsContext:o}){return ao({context:t,includeContext:null==o?void 0:o[e]})}function ai({telemetry:e,includeRuntimeContext:t,includeToolsContext:o}){let a=function({telemetry:e}){var t;if((null==e?void 0:e.isEnabled)===!1)return{};let o=null==e?void 0:e.integrations,a=null!=o?(0,J.asArray)(o):null!=(t=globalThis.AI_SDK_TELEMETRY_INTEGRATIONS)?t:[],r={recordInputs:null==e?void 0:e.recordInputs,recordOutputs:null==e?void 0:e.recordOutputs,functionId:null==e?void 0:e.functionId},n=e=>{let t=o6(...a.map(t=>{var o;return null==(o=t[e])?void 0:o.bind(t)}).filter(Boolean).map(e=>t=>e(ae(t,r))));return async e=>{await t(e)}},i=a.map(e=>{var t;return null==(t=e.executeLanguageModelCall)?void 0:t.bind(e)}).filter(Boolean),l=a.map(e=>{var t;return null==(t=e.executeTool)?void 0:t.bind(e)}).filter(Boolean);return{runInTracingChannelSpan:async({type:e,event:t,execute:o})=>await o7({type:e,event:ae(t,r)},o),startTracingChannelContext:({type:e,event:t,completion:o})=>(function({message:e,completion:t}){var o;let a;if(!o8())return;let r=o9("node:diagnostics_channel"),n=o9("node:async_hooks"),i=null==(o=null==r?void 0:r.tracingChannel)?void 0:o.call(r,o3);if(null==i||!1===i.hasSubscribers||null==n)return void Promise.resolve(t).catch(()=>{});let l=!1,s=e=>{try{e()}catch(e){}},u=({result:t,error:o})=>{l||(l=!0,void 0!==o&&(e.error=o,s(()=>i.error.publish(e))),void 0!==t&&(e.result=t),s(()=>i.asyncEnd.publish(e)))};return s(()=>{i.start.runStores(e,()=>{a=new n.AsyncResource("ai.telemetry")})}),s(()=>i.end.publish(e)),Promise.resolve(t).then(e=>u({result:e}),e=>u({error:e})),{run:e=>null==a?e():a.runInAsyncScope(e)}})({message:{type:e,event:ae(t,r)},completion:o}),onStart:n("onStart"),onStepStart:n("onStepStart"),onLanguageModelCallStart:n("onLanguageModelCallStart"),onLanguageModelCallEnd:n("onLanguageModelCallEnd"),onToolExecutionStart:n("onToolExecutionStart"),onToolExecutionEnd:n("onToolExecutionEnd"),onStepEnd:o6(n("onStepEnd"),n("onStepFinish")),onObjectStepStart:n("onObjectStepStart"),onObjectStepEnd:n("onObjectStepEnd"),onEmbedStart:n("onEmbedStart"),onEmbedEnd:n("onEmbedEnd"),onRerankStart:n("onRerankStart"),onRerankEnd:n("onRerankEnd"),onEnd:n("onEnd"),onAbort:n("onAbort"),onError:n("onError"),executeLanguageModelCall:async({execute:e,...t})=>{let o=ae(t,r),a=e;for(let e of i){let t=a;a=()=>e({...o,execute:t})}return await o7({type:"languageModelCall",event:o},a)},executeTool:async({execute:e,...t})=>{let o=ae(t,r),a=e;for(let e of l){let t=a;a=()=>e({...o,execute:t})}return await a()}}}({telemetry:e});return{...a,onStart:e=>{var r;return null==(r=a.onStart)?void 0:r.call(a,{...e,runtimeContext:ao({context:e.runtimeContext,includeContext:t}),toolsContext:ar({toolsContext:e.toolsContext,includeToolsContext:o})})},onStepStart:e=>{var r;return null==(r=a.onStepStart)?void 0:r.call(a,{...e,runtimeContext:ao({context:e.runtimeContext,includeContext:t}),steps:e.steps.map(e=>aa({step:e,includeRuntimeContext:t,includeToolsContext:o})),toolsContext:ar({toolsContext:e.toolsContext,includeToolsContext:o})})},onStepEnd:e=>{var r;return null==(r=a.onStepEnd)?void 0:r.call(a,aa({step:e,includeRuntimeContext:t,includeToolsContext:o}))},onStepFinish:e=>{var r;return null==(r=a.onStepEnd)?void 0:r.call(a,aa({step:e,includeRuntimeContext:t,includeToolsContext:o}))},onEnd:e=>{var r;let n;return null==(r=a.onEnd)?void 0:r.call(a,(n=e.steps.map(e=>aa({step:e,includeRuntimeContext:t,includeToolsContext:o})),{...e,runtimeContext:ao({context:e.runtimeContext,includeContext:t}),steps:n,finalStep:n.at(-1),toolsContext:ar({toolsContext:e.toolsContext,includeToolsContext:o})}))},onAbort:e=>{var r;return null==(r=a.onAbort)?void 0:r.call(a,{...e,steps:e.steps.map(e=>aa({step:e,includeRuntimeContext:t,includeToolsContext:o}))})},onToolExecutionStart:e=>{var t;return null==(t=a.onToolExecutionStart)?void 0:t.call(a,{...e,toolContext:an({toolName:e.toolCall.toolName,toolContext:e.toolContext,includeToolsContext:o})})},onToolExecutionEnd:e=>{var t;return null==(t=a.onToolExecutionEnd)?void 0:t.call(a,{...e,toolContext:an({toolName:e.toolCall.toolName,toolContext:e.toolContext,includeToolsContext:o})})}}}function al(e){return({steps:t})=>t.length===e}async function as({stopConditions:e,steps:t}){return(await Promise.all(e.map(e=>e({steps:t})))).some(e=>e)}function au(e,t){return null==e&&null==t?void 0:(null!=e?e:0)+(null!=t?t:0)}async function ad({content:e,tools:t}){let o=[],a=new Map,r=[];for(let o of e)if("source"!==o.type&&("tool-result"!==o.type&&"tool-error"!==o.type||o.providerExecuted)&&("text"!==o.type||0!==o.text.length))switch(o.type){case"text":r.push({type:"text",text:o.text,providerOptions:o.providerMetadata});break;case"custom":r.push({type:"custom",kind:o.kind,providerOptions:o.providerMetadata});break;case"reasoning":r.push({type:"reasoning",text:o.text,providerOptions:o.providerMetadata});break;case"file":r.push({type:"file",data:o.file.base64,mediaType:o.file.mediaType,providerOptions:o.providerMetadata});break;case"reasoning-file":r.push({type:"reasoning-file",data:o.file.base64,mediaType:o.file.mediaType,providerOptions:o.providerMetadata});break;case"tool-call":a.has(o.toolCallId)||a.set(o.toolCallId,a.size),r.push({type:"tool-call",toolCallId:o.toolCallId,toolName:o.toolName,input:o.invalid&&"object"!=typeof o.input?{}:o.input,providerExecuted:o.providerExecuted,providerOptions:o.providerMetadata});break;case"tool-result":{let e=await tY({toolCallId:o.toolCallId,input:o.input,tool:ox(t,o.toolName),output:o.output,errorMode:"none"});r.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:e,providerOptions:o.providerMetadata});break}case"tool-error":{let e=await tY({toolCallId:o.toolCallId,input:o.input,tool:ox(t,o.toolName),output:o.error,errorMode:"json"});r.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:e,providerOptions:o.providerMetadata});break}case"tool-approval-request":r.push({type:"tool-approval-request",approvalId:o.approvalId,toolCallId:o.toolCall.toolCallId,...null!=o.reason?{reason:o.reason}:{},isAutomatic:o.isAutomatic,...null!=o.signature?{signature:o.signature}:{}})}r.length>0&&o.push({role:"assistant",content:r});let n=[];for(let o of e){if("tool-approval-response"!==o.type&&"tool-result"!==o.type&&"tool-error"!==o.type)continue;if("tool-approval-response"===o.type){n.push({type:"tool-approval-response",approvalId:o.approvalId,approved:o.approved,reason:o.reason,providerExecuted:o.providerExecuted}),!1===o.approved&&n.push({type:"tool-result",toolCallId:o.toolCall.toolCallId,toolName:o.toolCall.toolName,output:{type:"execution-denied",reason:o.reason}});continue}if(o.providerExecuted)continue;let e=await tY({toolCallId:o.toolCallId,input:o.input,tool:ox(t,o.toolName),output:"tool-result"===o.type?o.output:o.error,errorMode:"tool-error"===o.type?"text":"none"});n.push({type:"tool-result",toolCallId:o.toolCallId,toolName:o.toolName,output:e,...null!=o.providerMetadata?{providerOptions:o.providerMetadata}:{}})}return n.length>0&&o.push({role:"tool",content:function({toolResultContent:e,toolCallOrder:t}){let o=e.filter(e=>"tool-result"===e.type).map((e,t)=>({part:e,index:t})).sort((e,o)=>{let a=t.get(e.part.toolCallId),r=t.get(o.part.toolCallId);return null==a&&null==r?e.index-o.index:null==a?1:null==r?-1:a-r||e.index-o.index}).map(({part:e})=>e),a=0;return e.map(e=>"tool-result"===e.type?o[a++]:e)}({toolResultContent:n,toolCallOrder:a})}),o}var ap="AI_SDK_DIRECT_TOOL_CALL";function ac({tools:e,toolCallers:t}){if(null==e||null==t)return;let o={};for(let[a,r]of Object.entries(t)){if(!Object.prototype.hasOwnProperty.call(e,a))throw new X({parameter:"experimental_toolCallers",value:t,message:`unknown tool "${a}".`});if(!Array.isArray(r))throw new X({parameter:"experimental_toolCallers",value:t,message:`callers for tool "${a}" must be an array.`});o[a]=r.map(o=>{if(o===ap)return o;if("string"!=typeof o||!Object.prototype.hasOwnProperty.call(e,o)||null==(0,J.experimental_getToolCaller)(e[o]))throw new X({parameter:"experimental_toolCallers",value:t,message:`tool "${a}" contains an invalid caller.`});return o})}return o}function am({tools:e,toolCallers:t}){var o,a;if(null==e||null==t)return{executionTools:e,modelTools:e};let r={...e},n={...e},i=new Map;for(let[e,a]of Object.entries(t)){let t=r[e];if(null==t)continue;let l=!1,s=!1,u=t;for(let t of a){if(t===ap){l=!0;continue}let a=(0,J.experimental_getToolCaller)(r[t]);if(null!=a)if("provider"===a.type)s=!0,u={...u,providerOptions:a.prepareProviderOptions(u.providerOptions)};else{let a=null!=(o=i.get(t))?o:{};a[e]=u,i.set(t,a)}}r[e]=u,l||s?n[e]=u:delete n[e]}for(let[e,t]of Object.entries(r)){let o=(0,J.experimental_getToolCaller)(t);if((null==o?void 0:o.type)!=="local")continue;let l=o.bind(null!=(a=i.get(e))?a:{});r[e]=l,Object.prototype.hasOwnProperty.call(n,e)&&(n[e]=l)}return{executionTools:r,modelTools:n}}var ag=new TextEncoder;function ah(e){return(0,J.convertUint8ArrayToBase64)(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}async function af(e){return ah(new Uint8Array(await crypto.subtle.digest("SHA-256",ag.encode(function e(t){if(null==t||"object"!=typeof t)return JSON.stringify(t);if(Array.isArray(t))return`[${t.map(t=>void 0===t?"null":e(t)).join(",")}]`;let o=Object.keys(t).sort().map(o=>`${JSON.stringify(o)}:${e(t[o])}`);return`{${o.join(",")}}`}(e)))))}var ay=new TextEncoder;async function av(e){let t="string"==typeof e?ay.encode(e):e;return crypto.subtle.importKey("raw",t,{name:"HMAC",hash:"SHA-256"},!1,["sign","verify"])}function ab(e,t,o,a){return ay.encode(JSON.stringify(["ai-sdk-tool-approval-v1",e,t,o,a]))}async function a_({secret:e,approvalId:t,toolCallId:o,toolName:a,input:r}){let n=await av(e),i=ab(t,o,a,await af(r));return ah(new Uint8Array(await crypto.subtle.sign("HMAC",n,i)))}async function aw({secret:e,signature:t,approvalId:o,toolCallId:a,toolName:r,input:n}){let i=await av(e),l=await af(n),s=(0,J.convertBase64ToUint8Array)(t),u=ab(o,a,r,l);if(await crypto.subtle.verify("HMAC",i,s,u))return!0;if(!o.includes("\n")&&!a.includes("\n")&&!r.includes("\n")){let e=ay.encode(`${o}
43
+ ${a}
44
+ ${r}
45
+ ${l}`);return crypto.subtle.verify("HMAC",i,s,e)}return!1}async function az({secret:e,approvalId:t,toolCallId:o,toolName:a,input:r}){if(null!=e)return a_({secret:e,approvalId:t,toolCallId:o,toolName:a,input:r})}async function aI({approvedToolApprovals:e,tools:t,toolApproval:o,messages:a,toolsContext:r,runtimeContext:n,toolApprovalSecret:i}){var l;let s=[],u=[],d=[];for(let p of e){let{toolCall:e,approvalRequest:c}=p,m=ox(t,e.toolName);if(null!=i){if(null==c.signature)throw new el({approvalId:c.approvalId,toolCallId:e.toolCallId,reason:"missing signature"});if(!await aw({secret:i,signature:c.signature,approvalId:c.approvalId,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input}))throw new el({approvalId:c.approvalId,toolCallId:e.toolCallId,reason:"invalid signature"})}if((0,J.isExecutableTool)(m)&&null!=m.inputSchema){let t=await (0,J.safeValidateTypes)({value:e.input,schema:(0,J.asSchema)(m.inputSchema)});if(!t.success){d.push({...p,error:new ep({toolName:e.toolName,toolInput:JSON.stringify(e.input),cause:t.error})});continue}}let g=await o4({tools:t,toolApproval:o,toolCall:e,messages:a,toolsContext:r,runtimeContext:n});"denied"===g.type?u.push({...p,approvalResponse:{...p.approvalResponse,approved:!1,reason:null!=(l=g.reason)?l:p.approvalResponse.reason}}):s.push(p)}return{approvedToolApprovals:s,deniedToolApprovals:u,invalidToolApprovals:d}}var ax=(0,J.createIdGenerator)({prefix:"aitxt",size:24}),ak=(0,J.createIdGenerator)({prefix:"call",size:24});async function aT({model:e,tools:t,toolChoice:o,instructions:a,system:r,prompt:n,messages:i,allowSystemInMessages:l,maxRetries:s,abortSignal:u,timeout:d,headers:p,stopWhen:c=al(1),experimental_sandbox:m,output:g,toolApproval:h,experimental_toolCallers:f,experimental_toolApprovalSecret:y,experimental_telemetry:v,telemetry:b=v,providerOptions:_,activeTools:w,toolOrder:z,prepareStep:I,experimental_repairToolCall:x,repairToolCall:k=x,experimental_refineToolInput:T,experimental_download:S,runtimeContext:M={},toolsContext:C={},experimental_include:E,include:j=E,_internal:{generateId:R=ax,generateCallId:O=ak,now:A=oT}={},onStart:N,experimental_onStart:P,onStepStart:q,experimental_onStepStart:D,onLanguageModelCallStart:U,experimental_onLanguageModelCallStart:$,onLanguageModelCallEnd:F,experimental_onLanguageModelCallEnd:L,onToolExecutionStart:H,onToolExecutionEnd:V,experimental_onToolCallStart:W,experimental_onToolCallFinish:K,onStepEnd:G,onStepFinish:Y,onFinish:Z,onEnd:X=Z,...Q}){var ee,et,eo,ea;j={requestBody:null!=(ee=null==j?void 0:j.requestBody)&&ee,requestMessages:null!=(et=null==j?void 0:j.requestMessages)&&et,responseBody:null!=(eo=null==j?void 0:j.responseBody)&&eo};let er=tO(e),en=ac({tools:t,toolCallers:f}),ei=(0,J.asArray)(c),el=null!=N?N:P,es=null!=q?q:D,eu=null!=U?U:$,ed=null!=F?F:L,ep=null!=H?H:W,ec=null!=V?V:K,em=null!=G?G:Y,eg=[];null!=t2(d)&&eg.push({type:"unsupported",feature:"timeout.firstChunkMs",details:"The firstChunkMs timeout is only supported by streaming functions."}),null!=t6(d)&&eg.push({type:"unsupported",feature:"timeout.chunkMs",details:"The chunkMs timeout is only supported by streaming functions."}),eg.length>0&&t_({warnings:eg,provider:er.provider,model:er.modelId});let eh=t1(d),ef=t4(d),ey=null!=ef?new AbortController:void 0,ev=ok(u,eh,null==ey?void 0:ey.signal),{maxRetries:eb,retry:e_}=oM({maxRetries:s,abortSignal:ev}),ew=tX(Q),ez=(0,J.withUserAgentSuffix)(null!=p?p:{},`ai/${tP}`),eI=await ov({instructions:a,system:r,prompt:n,messages:i,allowSystemInMessages:l}),ex=O(),ek=ai({telemetry:b,includeRuntimeContext:null==b?void 0:b.includeRuntimeContext,includeToolsContext:null==b?void 0:b.includeToolsContext}),eT=null!=(ea=ek.runInTracingChannelSpan)?ea:async({execute:e})=>await e(),eS={callId:ex,operationId:"ai.generateText",provider:er.provider,modelId:er.modelId,instructions:eI.instructions,messages:eI.messages,tools:t,toolChoice:o,activeTools:w,toolOrder:z,maxOutputTokens:ew.maxOutputTokens,temperature:ew.temperature,topP:ew.topP,topK:ew.topK,presencePenalty:ew.presencePenalty,frequencyPenalty:ew.frequencyPenalty,stopSequences:ew.stopSequences,seed:ew.seed,reasoning:ew.reasoning,maxRetries:eb,timeout:d,headers:ez,providerOptions:_,output:g,runtimeContext:M,toolsContext:C},eM=async()=>{var e;await oS({event:eS,callbacks:[el,ek.onStart]});try{let e,a,r=eI.messages,n=[],{approvedToolApprovals:i,deniedToolApprovals:l}=oj({messages:r}),{approvedToolApprovals:s,deniedToolApprovals:u,invalidToolApprovals:p}=await aI({approvedToolApprovals:i.filter(e=>!e.toolCall.providerExecuted),tools:t,toolApproval:h,messages:r,toolsContext:C,runtimeContext:M,toolApprovalSecret:y}),c=[...l,...u].filter(e=>null==e.existingToolResult);if(c.length>0||s.length>0||p.length>0){let e=await aS({toolCalls:s.map(e=>e.toolCall),tools:t,callId:ex,messages:r,abortSignal:ev,timeout:d,experimental_sandbox:m,toolsContext:C,onToolExecutionStart:e=>oS({event:e,callbacks:[ep,ek.onToolExecutionStart]}),onToolExecutionEnd:e=>oS({event:e,callbacks:[ec,ek.onToolExecutionEnd]}),executeToolInTelemetryContext:ek.executeTool,runInTracingChannelSpan:eT}),o=[];for(let a of e){let e=a.output,r=await tY({toolCallId:e.toolCallId,input:e.input,tool:ox(t,e.toolName),output:"tool-result"===e.type?e.output:e.error,errorMode:"tool-error"===e.type?"text":"none"});o.push({type:"tool-result",toolCallId:e.toolCallId,toolName:e.toolName,output:r})}for(let e of p)o.push({type:"tool-result",toolCallId:e.toolCall.toolCallId,toolName:e.toolCall.toolName,output:await tY({toolCallId:e.toolCall.toolCallId,input:e.toolCall.input,tool:ox(t,e.toolCall.toolName),output:e.error,errorMode:"text"})});for(let e of c)o.push({type:"tool-result",toolCallId:e.toolCall.toolCallId,toolName:e.toolCall.toolName,output:{type:"execution-denied",reason:e.approvalResponse.reason,...e.toolCall.providerExecuted&&{providerOptions:{openai:{approvalId:e.approvalResponse.approvalId}}}}});n.push({role:"tool",content:o})}let f=tX(Q),v=[],b=[],x=[],E=[],O=[],N=eI.instructions,P=[...r,...n],q=new Map;do{O.length>0&&(null==ev||ev.throwIfAborted());let a=oC({abortController:ey,label:"Step",timeoutMs:ef}),i=O.length;try{await eT({type:"step",event:{callId:ex,stepNumber:i},execute:async()=>{var a,l,s,u,p,c,D,U,$,F,L,H,V,J,W,K,G;let Y=[...n,...O.flatMap(e=>e.response.messages)],Z=P,X=await (null==I?void 0:I({model:er,steps:O,stepNumber:O.length,instructions:N,initialInstructions:eI.instructions,messages:Z,initialMessages:r,responseMessages:Y,runtimeContext:M,toolsContext:C,experimental_sandbox:m})),Q=null!=(a=null==X?void 0:X.experimental_sandbox)?a:m,ee=tO(null!=(l=null==X?void 0:X.model)?l:er),et=null!=(u=null!=(s=null==X?void 0:X.instructions)?s:null==X?void 0:X.system)?u:N,eo=await tH({prompt:{instructions:et,messages:null!=(p=null==X?void 0:X.messages)?p:Z},supportedUrls:await ee.supportedUrls,download:S,provider:ee.provider.split(".")[0]});M=null!=(c=null==X?void 0:X.runtimeContext)?c:M,C=null!=(D=null==X?void 0:X.toolsContext)?D:C;let ea=oq({tools:t,activeTools:null!=(U=null==X?void 0:X.activeTools)?U:w}),{executionTools:ei,modelTools:el}=am({tools:ea,toolCallers:en}),eg=null!=($=null==X?void 0:X.toolOrder)?$:z,eh=await t0({tools:el,toolOrder:eg,toolsContext:C,experimental_sandbox:Q}),ef=tQ({toolChoice:null!=(F=null==X?void 0:X.toolChoice)?F:o}),ey=null!=(L=null==X?void 0:X.messages)?L:Z,eb=tD(_,null==X?void 0:X.providerOptions),ew=o0({callSettings:f,stepSettings:X});await oS({event:{callId:ex,provider:ee.provider,modelId:ee.modelId,stepNumber:i,instructions:et,messages:ey,tools:t,toolChoice:null!=(H=null==X?void 0:X.toolChoice)?H:o,activeTools:null!=(V=null==X?void 0:X.activeTools)?V:w,toolOrder:eg,steps:[...O],providerOptions:eb,output:g,runtimeContext:M,promptMessages:eo,stepTools:eh,stepToolChoice:ef,toolsContext:C},callbacks:[es,ek.onStepStart]});let eS={provider:ee.provider,modelId:ee.modelId,instructions:et,messages:ey,tools:eh,...ew},eM={callId:ex,...eS},eC=A();await oS({event:eM,callbacks:[eu,ek.onLanguageModelCallStart]});let eE=null!=(J=ek.executeLanguageModelCall)?J:async({execute:e})=>await e();e=await e_(async()=>{var e,t,o,a,r,n,i,l;let s=await eE({...eM,execute:async()=>await ee.doGenerate({...ew,tools:eh,toolChoice:ef,responseFormat:await (null==g?void 0:g.responseFormat),prompt:eo,providerOptions:eb,abortSignal:ev,headers:ez})}),u={id:null!=(t=null==(e=s.response)?void 0:e.id)?t:R(),timestamp:null!=(a=null==(o=s.response)?void 0:o.timestamp)?a:new Date,modelId:null!=(n=null==(r=s.response)?void 0:r.modelId)?n:ee.modelId,headers:null==(i=s.response)?void 0:i.headers,body:null==(l=s.response)?void 0:l.body};return{...s,response:u}});let ej=A()-eC,eR=o_(e.usage),eO=await Promise.all(e.content.filter(e=>"tool-call"===e.type).map(e=>oY({toolCall:e,tools:ei,repairToolCall:k,refineToolInput:T,instructions:et,messages:ey}))),eA={},eN={},eP=new Set,eq=oA({content:e.content,toolCalls:eO,toolOutputs:[],toolApprovalRequests:[],toolApprovalResponses:[],tools:t});await oS({event:{callId:ex,provider:ee.provider,modelId:e.response.modelId,finishReason:e.finishReason.unified,usage:eR,content:eq,responseId:e.response.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},performance:{responseTimeMs:ej,effectiveOutputTokensPerSecond:oE({tokens:eR.outputTokens,durationMs:ej}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:oE({tokens:au(eR.inputTokens,eR.outputTokens),durationMs:ej}),timeToFirstOutputMs:void 0}},callbacks:[ed,ek.onLanguageModelCallEnd]});let eD="required"===ef.type||"tool"===ef.type?ef:void 0;if(null!=eD&&!eO.some(e=>"required"===eD.type||e.toolName===eD.toolName))throw new e8({toolChoice:eD,finishReason:e.finishReason.unified,provider:ee.provider,modelId:ee.modelId,content:e.content});for(let e of eO){if(e.invalid)continue;let t=ox(ei,e.toolName);if(null==t)continue;null!=t.onInputStart&&await t.onInputStart({toolCallId:e.toolCallId,messages:ey,abortSignal:ev,context:M}),(null==t?void 0:t.onInputAvailable)!=null&&await t.onInputAvailable({input:e.input,toolCallId:e.toolCallId,messages:ey,abortSignal:ev,context:M});let o=await o4({tools:ei,toolApproval:h,toolCall:e,messages:ey,toolsContext:C,runtimeContext:M});if("not-applicable"===o.type)continue;let a=R(),r=await az({secret:y,approvalId:a,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input});switch(o.type){case"user-approval":eA[e.toolCallId]={type:"tool-approval-request",approvalId:a,toolCall:e,...null!=o.reason?{reason:o.reason}:{},...null!=r?{signature:r}:{}},eP.add(e.toolCallId);break;case"approved":eA[e.toolCallId]={type:"tool-approval-request",approvalId:a,toolCall:e,isAutomatic:!0,...null!=r?{signature:r}:{}},eN[e.toolCallId]={type:"tool-approval-response",approvalId:a,toolCall:e,approved:!0,reason:o.reason,providerExecuted:e.providerExecuted};break;case"denied":eA[e.toolCallId]={type:"tool-approval-request",approvalId:a,toolCall:e,isAutomatic:!0,...null!=r?{signature:r}:{}},eN[e.toolCallId]={type:"tool-approval-response",approvalId:a,toolCall:e,approved:!1,reason:o.reason,providerExecuted:e.providerExecuted},eP.add(e.toolCallId)}}let eU=eO.filter(e=>e.invalid&&e.dynamic&&!e.providerExecuted);for(let e of(b=[],eU))b.push({type:"tool-error",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,error:(0,B.getErrorMessage)(e.error),dynamic:!0});v=eO.filter(e=>!e.providerExecuted),E=(x=Object.values(eN)).filter(e=>!1===e.approved);let e$={};if(null!=ei&&oD(e.finishReason.unified))for(let e of(await aS({toolCalls:v.filter(e=>!e.invalid&&!eP.has(e.toolCallId)),tools:ei,callId:ex,messages:ey,abortSignal:ev,timeout:d,experimental_sandbox:Q,toolsContext:C,onToolExecutionStart:e=>oS({event:e,callbacks:[ep,ek.onToolExecutionStart]}),onToolExecutionEnd:e=>oS({event:e,callbacks:[ec,ek.onToolExecutionEnd]}),executeToolInTelemetryContext:ek.executeTool,runInTracingChannelSpan:eT})))e$[e.output.toolCallId]=e.toolExecutionMs,b.push(e.output);let eF=A()-eC,eL={effectiveOutputTokensPerSecond:oE({tokens:eR.outputTokens,durationMs:ej}),outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:oE({tokens:au(eR.inputTokens,eR.outputTokens),durationMs:ej}),stepTimeMs:eF,responseTimeMs:ej,toolExecutionMs:e$,timeToFirstOutputMs:void 0};for(let t of eO){if(!t.providerExecuted)continue;let o=ox(ei,t.toolName);(null==o?void 0:o.type)==="provider"&&o.supportsDeferredResults&&(e.content.some(e=>"tool-result"===e.type&&e.toolCallId===t.toolCallId)||q.set(t.toolCallId,{toolName:t.toolName}))}for(let t of e.content)"tool-result"===t.type&&q.delete(t.toolCallId);let eH=oA({content:e.content,toolCalls:eO,toolOutputs:b,toolApprovalRequests:Object.values(eA),toolApprovalResponses:x,tools:t}),eV=await ad({content:eH,tools:t}),eJ={...e.request,body:j.requestBody?null==(W=e.request)?void 0:W.body:void 0,messages:j.requestMessages?tN(ey):void 0},eB={...e.response,messages:tN(eV),body:j.responseBody?null==(K=e.response)?void 0:K.body:void 0},eW=new at({callId:ex,stepNumber:i,provider:ee.provider,modelId:ee.modelId,runtimeContext:M,content:eH,finishReason:e.finishReason.unified,rawFinishReason:e.finishReason.raw,usage:eR,performance:eL,warnings:e.warnings,providerMetadata:e.providerMetadata,request:eJ,response:eB,toolsContext:C});return t_({warnings:null!=(G=e.warnings)?G:[],provider:ee.provider,model:ee.modelId}),O.push(eW),N=et,P=[...ey,...eV],await oS({event:eW,callbacks:[em,ek.onStepEnd]}),eW}})}finally{null!=a&&clearTimeout(a)}}while(b.length+E.length===v.length&&(v.length>0||q.size>0)&&!await as({stopConditions:ei,steps:O}))let D=O[O.length-1],U=O.reduce((e,t)=>oz(e,t.usage),{inputTokens:void 0,inputTokenDetails:{noCacheTokens:void 0,cacheReadTokens:void 0,cacheWriteTokens:void 0},outputTokens:void 0,outputTokenDetails:{textTokens:void 0,reasoningTokens:void 0},totalTokens:void 0}),$=O.flatMap(e=>e.files),F=O.flatMap(e=>e.sources),L=O.flatMap(e=>e.toolCalls),H=O.flatMap(e=>e.staticToolCalls),V=O.flatMap(e=>e.dynamicToolCalls),J=O.flatMap(e=>e.toolResults),W=O.flatMap(e=>e.staticToolResults),K=O.flatMap(e=>e.dynamicToolResults),G=O.flatMap(e=>{var t;return null!=(t=e.warnings)?t:[]}),Y={callId:ex,stepNumber:D.stepNumber,model:D.model,runtimeContext:D.runtimeContext,finishReason:D.finishReason,rawFinishReason:D.rawFinishReason,usage:U,totalUsage:U,content:O.flatMap(e=>e.content),text:D.text,reasoning:D.reasoning,reasoningText:D.reasoningText,files:$,sources:F,toolCalls:L,staticToolCalls:H,dynamicToolCalls:V,toolResults:J,staticToolResults:W,dynamicToolResults:K,responseMessages:[...n,...O.flatMap(e=>e.response.messages)],warnings:G,request:D.request,response:D.response,providerMetadata:D.providerMetadata,steps:O,finalStep:D,toolsContext:C};if(await oS({event:Y,callbacks:[X,ek.onEnd]}),"stop"===D.finishReason||"tool-calls"!==D.finishReason&&D.text.length>0){let e=null!=g?g:oH();a=await e.parseCompleteOutput({text:D.text},{response:D.response,usage:D.usage,finishReason:D.finishReason})}return new aM({initialResponseMessages:n,steps:O,totalUsage:U,output:a})}catch(t){throw await (null==(e=ek.onError)?void 0:e.call(ek,{callId:ex,error:t})),ob(t)}};return await eT({type:"generateText",event:eS,execute:eM})}async function aS({toolCalls:e,tools:t,callId:o,messages:a,abortSignal:r,timeout:n,experimental_sandbox:i,toolsContext:l,onToolExecutionStart:s,onToolExecutionEnd:u,executeToolInTelemetryContext:d,runInTracingChannelSpan:p}){return(await Promise.all(e.map(async e=>await oP({toolCall:e,tools:t,callId:o,messages:a,abortSignal:r,timeout:n,experimental_sandbox:i,toolsContext:l,onToolExecutionStart:s,onToolExecutionEnd:u,executeToolInTelemetryContext:d,runInTracingChannelSpan:p})))).filter(e=>null!=e)}var aM=class{constructor(e){this.initialResponseMessages=e.initialResponseMessages,this.steps=e.steps,this._output=e.output,this.totalUsage=e.totalUsage}get finalStep(){return this.steps.at(-1)}get content(){return this.steps.flatMap(e=>e.content)}get text(){return this.finalStep.text}get files(){return this.steps.flatMap(e=>e.files)}get reasoningText(){return this.finalStep.reasoningText}get reasoning(){return o1(this.finalStep.reasoning)}get toolCalls(){return this.steps.flatMap(e=>e.toolCalls)}get staticToolCalls(){return this.steps.flatMap(e=>e.staticToolCalls)}get dynamicToolCalls(){return this.steps.flatMap(e=>e.dynamicToolCalls)}get toolResults(){return this.steps.flatMap(e=>e.toolResults)}get staticToolResults(){return this.steps.flatMap(e=>e.staticToolResults)}get dynamicToolResults(){return this.steps.flatMap(e=>e.dynamicToolResults)}get sources(){return this.steps.flatMap(e=>e.sources)}get finishReason(){return this.finalStep.finishReason}get rawFinishReason(){return this.finalStep.rawFinishReason}get warnings(){return this.steps.flatMap(e=>{var t;return null!=(t=e.warnings)?t:[]})}get providerMetadata(){return this.finalStep.providerMetadata}get response(){return this.finalStep.response}get responseMessages(){return[...this.initialResponseMessages,...this.steps.flatMap(e=>e.response.messages)]}get request(){return this.finalStep.request}get usage(){return this.totalUsage}get output(){if(null==this._output)throw new ej;return this._output}};function aC(e,t){let o=new Headers(null!=e?e:{});for(let[e,a]of Object.entries(t))o.has(e)||o.set(e,a);return o}function aE({response:e,status:t,statusText:o,headers:a,stream:r}){let n=null!=t?t:200;void 0!==o?e.writeHead(n,o,a):e.writeHead(n,a);let i=r.getReader();return(async()=>{try{for(;;){let{done:t,value:o}=await i.read();if(t)break;let a=e.write(o),r=e.flush;"function"==typeof r&&r.call(e),a||await new Promise(t=>{e.once("drain",t)})}}catch(e){throw e}finally{e.end()}})()}var aj=class extends TransformStream{constructor(){super({transform(e,t){t.enqueue(`data: ${JSON.stringify(e)}
46
+
47
+ `)},flush(e){e.enqueue("data: [DONE]\n\n")}})}},aR={"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive","x-vercel-ai-ui-message-stream":"v1","x-accel-buffering":"no"},aO=t3.record(t3.string(),t8.optional());function aA(){return Object.create(null)}function aN(e){return e.type.startsWith("data-")}function aP(e){return"text"===e.type}function aq(e){return"custom"===e.type}function aD(e){return"file"===e.type}function aU(e){return"reasoning-file"===e.type}function a$(e){return"reasoning"===e.type}function aF(e){return e.type.startsWith("tool-")}function aL(e){return"dynamic-tool"===e.type}function aH(e){return aF(e)||aL(e)}function aV(e){return e.type.split("-").slice(1).join("-")}function aJ(e){return aL(e)?e.toolName:aV(e)}function aB(e){var t;return(t=e.pipeThrough(new TransformStream))[Symbol.asyncIterator]=function(){let e=this.getReader(),t=!1;async function o(o){var a;if(!t){t=!0;try{o&&await (null==(a=e.cancel)?void 0:a.call(e))}finally{try{e.releaseLock()}catch(e){}}}}return{async next(){let a;if(t)return{done:!0,value:void 0};try{a=await e.read()}catch(e){throw await o(!1),e}let{done:r,value:n}=a;return r?(await o(!0),{done:!0,value:void 0}):{done:!1,value:n}},return:async()=>(await o(!0),{done:!0,value:void 0}),async throw(e){throw await o(!0),e}}},t}async function aW({stream:e,onError:t,abortSignal:o}){let a=e.getReader(),r=()=>{a.cancel().catch(()=>{})};(null==o?void 0:o.aborted)?r():null==o||o.addEventListener("abort",r,{once:!0});try{for(;;){let{done:e}=await a.read();if(e)break}}catch(e){null==t||t(e)}finally{null==o||o.removeEventListener("abort",r),a.releaseLock()}}function aK(){let e,t;return{promise:new Promise((o,a)=>{e=o,t=a}),resolve:e,reject:t}}(0,J.lazySchema)(()=>(0,J.zodSchema)(t3.union([t3.looseObject({type:t3.literal("text-start"),id:t3.string(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("text-delta"),id:t3.string(),delta:t3.string(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("text-end"),id:t3.string(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("error"),errorText:t3.string()}),t3.looseObject({type:t3.literal("tool-input-start"),toolCallId:t3.string(),toolName:t3.string(),providerExecuted:t3.boolean().optional(),providerMetadata:t5.optional(),toolMetadata:aO.optional(),dynamic:t3.boolean().optional(),title:t3.string().optional()}),t3.looseObject({type:t3.literal("tool-input-delta"),toolCallId:t3.string(),inputTextDelta:t3.string()}),t3.looseObject({type:t3.literal("tool-input-available"),toolCallId:t3.string(),toolName:t3.string(),input:t3.unknown(),providerExecuted:t3.boolean().optional(),providerMetadata:t5.optional(),toolMetadata:aO.optional(),dynamic:t3.boolean().optional(),title:t3.string().optional()}),t3.looseObject({type:t3.literal("tool-input-error"),toolCallId:t3.string(),toolName:t3.string(),input:t3.unknown(),providerExecuted:t3.boolean().optional(),providerMetadata:t5.optional(),toolMetadata:aO.optional(),dynamic:t3.boolean().optional(),errorText:t3.string(),title:t3.string().optional()}),t3.looseObject({type:t3.literal("tool-approval-request"),approvalId:t3.string(),toolCallId:t3.string(),approvalDescriptor:t3.unknown().optional(),reason:t3.string().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()}),t3.looseObject({type:t3.literal("tool-approval-response"),approvalId:t3.string(),approved:t3.boolean(),reason:t3.string().optional(),providerExecuted:t3.boolean().optional(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("tool-output-available"),toolCallId:t3.string(),output:t3.unknown(),providerExecuted:t3.boolean().optional(),providerMetadata:t5.optional(),toolMetadata:aO.optional(),dynamic:t3.boolean().optional(),preliminary:t3.boolean().optional()}),t3.looseObject({type:t3.literal("tool-output-error"),toolCallId:t3.string(),errorText:t3.string(),providerExecuted:t3.boolean().optional(),providerMetadata:t5.optional(),toolMetadata:aO.optional(),dynamic:t3.boolean().optional()}),t3.looseObject({type:t3.literal("tool-output-denied"),toolCallId:t3.string()}),t3.looseObject({type:t3.literal("reasoning-start"),id:t3.string(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("reasoning-delta"),id:t3.string(),delta:t3.string(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("reasoning-end"),id:t3.string(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("custom"),kind:t3.string().transform(e=>e),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("source-url"),sourceId:t3.string(),url:t3.string(),title:t3.string().optional(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("source-document"),sourceId:t3.string(),mediaType:t3.string(),title:t3.string(),filename:t3.string().optional(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("file"),url:t3.string(),mediaType:t3.string(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.literal("reasoning-file"),url:t3.string(),mediaType:t3.string(),providerMetadata:t5.optional()}),t3.looseObject({type:t3.custom(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:t3.string().optional(),data:t3.unknown(),transient:t3.boolean().optional()}),t3.looseObject({type:t3.literal("start-step")}),t3.looseObject({type:t3.literal("finish-step")}),t3.looseObject({type:t3.literal("reset-step")}),t3.looseObject({type:t3.literal("start"),messageId:t3.string().optional(),messageMetadata:t3.unknown().optional()}),t3.looseObject({type:t3.literal("finish"),finishReason:t3.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:t3.unknown().optional()}),t3.looseObject({type:t3.literal("abort"),reason:t3.string().optional()}),t3.looseObject({type:t3.literal("message-metadata"),messageMetadata:t3.unknown()})])));var aG=Symbol("streamRetryAttemptBoundary");function aY(e){return"object"==typeof e&&null!=e&&aG in e}function aZ(e){return"object"==typeof e&&null!=e?e:void 0}function aX(e){return"string"==typeof e?e:void 0}function aQ(e){return"string"==typeof e||"number"==typeof e?e:void 0}function a0(e){return"boolean"==typeof e?e:void 0}function a1(e){let t="string"==typeof e&&/^\d{3}$/.test(e)?Number(e):e;return"number"==typeof t&&Number.isInteger(t)&&t>=400&&t<=599?t:void 0}var a4=(0,J.createIdGenerator)({prefix:"aitxt",size:24}),a2=(0,J.createIdGenerator)({prefix:"call",size:24});async function a6({model:e,tools:t,toolOrder:o,output:a,toolChoice:r,prompt:n,system:i,instructions:l,messages:s,allowSystemInMessages:u,download:d,abortSignal:p,headers:c,includeRawChunks:m,providerOptions:g,repairToolCall:h,refineToolInput:f,executeLanguageModelCallInTelemetryContext:y=async({execute:e})=>await e(),callId:v,toolsContext:b,experimental_sandbox:_,_internal:{generateId:w=a4,generateCallId:z=a2,now:I=oT}={},onStart:x,onLanguageModelCallStart:k,onLanguageModelCallEnd:T,...S}){let M=tO(e),C=null!=v?v:z(),E=await ov({instructions:l,system:i,prompt:n,messages:s,allowSystemInMessages:u}),j=await tH({prompt:{instructions:E.instructions,messages:E.messages},supportedUrls:await M.supportedUrls,download:d,provider:M.provider.split(".")[0]}),R=await t0({tools:t,toolOrder:o,toolsContext:b,experimental_sandbox:_}),O=tQ({toolChoice:r});await oS({event:{promptMessages:j},callbacks:x});let A={callId:C,...{provider:M.provider,modelId:M.modelId,instructions:E.instructions,messages:E.messages,tools:R,...S}};await oS({event:A,callbacks:k});let N=I(),{stream:P,response:q,request:D}=await y({...A,execute:async()=>await M.doStream({...S,tools:R,toolChoice:O,responseFormat:await (null==a?void 0:a.responseFormat),prompt:j,providerOptions:g,abortSignal:p,headers:c,includeRawChunks:m})});return{stream:aB(P.pipeThrough(function({tools:e,instructions:t,messages:o,repairToolCall:a,refineToolInput:r,callId:n,provider:i,modelId:l,generateId:s,now:u,callStartTimestampMs:d,onLanguageModelCallEnd:p}){let c,m,g=new Map,h=[],f=new Map,y=new Map,v=s(),b=l,_=[];return new TransformStream({async transform(l,s){var w,z,I,x,k;if("text-delta"===(x=l).type&&x.delta.length>0||"reasoning-delta"===x.type&&x.delta.length>0||"tool-input-delta"===x.type&&x.delta.length>0||"file"===x.type||"reasoning-file"===x.type||"tool-call"===x.type){let e=u();null==c?c=e-d:null!=m&&_.push(e-m),m=e}switch(l.type){case"error":s.enqueue({type:"error",error:function(e){var t,o,a,r,n,i,l,s,u,d,p,c,m,g,h,f,y,v;if((y=e)instanceof Error||"[object Error]"===Object.prototype.toString.call(y)||B.AISDKError.isInstance(e)||eX.isInstance(e))return e;let b=aZ(e);if(null==b)return e;let _=(0,J.isProviderStreamError)(e),w=_?b:null!=(a=null!=(o=aZ(null==(t=aZ(b.response))?void 0:t.error))?o:aZ(b.error))?a:b;if("string"!=typeof w.message)return e;let z=null!=(r=aX(w.type))?r:aX(b.type),I=null!=(n=aQ(w.code))?n:aQ(b.code),x=null!=(c=null!=(p=null!=(d=null!=(u=null!=(s=null!=(l=null!=(i=a1(w.statusCode))?i:a1(b.statusCode))?l:a1(w.status_code))?s:a1(b.status_code))?u:a1(w.status))?d:a1(b.status))?p:a1(w.code))?c:a1(b.code),k=function(e){switch(e.trim().toLowerCase()){case"overloaded":case"overloaded error":case"model overloaded":case"service unavailable":return{statusCode:503,isRetryable:!0};case"internal server error":return{statusCode:500,isRetryable:!0};default:return}}(w.message),T=null!=x?x:null==k?void 0:k.statusCode,S=null!=(h=null!=(g=null!=(m=a0(w.isRetryable))?m:a0(b.isRetryable))?g:a0(w.is_retryable))?h:a0(b.is_retryable);return new eX({message:w.message,type:z,code:I,statusCode:T,isRetryable:null!=(f=null!=S?S:null==k?void 0:k.isRetryable)?f:null!=(v=T)&&(408===v||409===v||429===v||v>=500),data:_?e.data:e})}(l.error)});break;case"text-start":a8({content:h,partIndexes:f,id:l.id,type:"text",providerMetadata:l.providerMetadata}),s.enqueue(l);break;case"text-delta":a8({content:h,partIndexes:f,id:l.id,type:"text",textDelta:l.delta,providerMetadata:l.providerMetadata}),s.enqueue({type:"text-delta",id:l.id,text:l.delta,providerMetadata:l.providerMetadata});break;case"text-end":a8({content:h,partIndexes:f,id:l.id,type:"text",providerMetadata:l.providerMetadata}),f.delete(l.id),s.enqueue(l);break;case"reasoning-start":a8({content:h,partIndexes:y,id:l.id,type:"reasoning",providerMetadata:l.providerMetadata}),s.enqueue(l);break;case"reasoning-delta":a8({content:h,partIndexes:y,id:l.id,type:"reasoning",textDelta:l.delta,providerMetadata:l.providerMetadata}),s.enqueue({type:"reasoning-delta",id:l.id,text:l.delta,providerMetadata:l.providerMetadata});break;case"reasoning-end":a8({content:h,partIndexes:y,id:l.id,type:"reasoning",providerMetadata:l.providerMetadata}),y.delete(l.id),s.enqueue(l);break;case"file":case"reasoning-file":{let e=new oO({data:"data"===l.data.type?l.data.data:l.data.url.toString(),mediaType:l.mediaType});h.push({type:l.type,file:e,...null!=l.providerMetadata?{providerMetadata:l.providerMetadata}:{}}),s.enqueue({type:l.type,file:e,providerMetadata:l.providerMetadata});break}case"finish":{let e,t,o=o_(l.usage),a=u()-d,r={responseTimeMs:a,effectiveOutputTokensPerSecond:oE({tokens:o.outputTokens,durationMs:a}),outputTokensPerSecond:null==c?void 0:oE({tokens:o.outputTokens,durationMs:a-c}),inputTokensPerSecond:null==c?void 0:oE({tokens:o.inputTokens,durationMs:c}),effectiveTotalTokensPerSecond:oE({tokens:au(o.inputTokens,o.outputTokens),durationMs:a}),timeToFirstOutputMs:c,timeBetweenOutputChunksMs:_.length>0?(e=[...k=_].sort((e,t)=>e-t),t=k.reduce((e,t)=>e+t,0),{min:e[0],p10:a3(e,.1),median:a3(e,.5),avg:t/k.length,p90:a3(e,.9),max:e[e.length-1]}):void 0};await oS({event:{callId:n,provider:i,modelId:b,finishReason:l.finishReason.unified,usage:o,content:h,responseId:v,...null!=l.providerMetadata?{providerMetadata:l.providerMetadata}:{},performance:r},callbacks:p}),s.enqueue({type:"model-call-end",finishReason:l.finishReason.unified,rawFinishReason:l.finishReason.raw,usage:o,providerMetadata:l.providerMetadata,performance:r});break}case"tool-call":try{let n=await oY({toolCall:l,tools:e,repairToolCall:a,refineToolInput:r,instructions:t,messages:o});g.set(n.toolCallId,n),s.enqueue(n),h.push(n),n.invalid&&(n.providerExecuted||s.enqueue({type:"tool-error",toolCallId:n.toolCallId,toolName:n.toolName,input:n.input,error:(0,B.getErrorMessage)(n.error),dynamic:!0,title:n.title,...null!=n.toolMetadata?{toolMetadata:n.toolMetadata}:{}}))}catch(e){s.enqueue({type:"error",error:e})}break;case"tool-approval-request":{let e=g.get(l.toolCallId);if(null==e){s.enqueue({type:"error",error:new eh({toolCallId:l.toolCallId,approvalId:l.approvalId})});break}let t={type:"tool-approval-request",approvalId:l.approvalId,toolCall:e};s.enqueue(t),h.push(t);break}case"tool-result":{let e=l.toolName,t=g.get(l.toolCallId),o=l.isError?{type:"tool-error",toolCallId:l.toolCallId,toolName:e,input:null==t?void 0:t.input,providerExecuted:!0,error:l.result,dynamic:l.dynamic,...null!=l.providerMetadata?{providerMetadata:l.providerMetadata}:{},...(null==t?void 0:t.toolMetadata)!=null?{toolMetadata:t.toolMetadata}:{}}:{type:"tool-result",toolCallId:l.toolCallId,toolName:e,input:null==t?void 0:t.input,output:l.result,providerExecuted:!0,dynamic:l.dynamic,...null!=l.providerMetadata?{providerMetadata:l.providerMetadata}:{},...(null==t?void 0:t.toolMetadata)!=null?{toolMetadata:t.toolMetadata}:{}};s.enqueue(o),h.push(o);break}case"tool-input-start":{let t=ox(e,l.toolName);s.enqueue({...l,dynamic:null!=(w=l.dynamic)?w:(null==t?void 0:t.type)==="dynamic",title:null==t?void 0:t.title,...(null==t?void 0:t.metadata)!=null?{toolMetadata:t.metadata}:{}});break}case"stream-start":s.enqueue({type:"model-call-start",warnings:l.warnings});break;case"response-metadata":v=null!=(z=l.id)?z:v,b=null!=(I=l.modelId)?I:b,s.enqueue({type:"model-call-response-metadata",id:l.id,timestamp:l.timestamp,modelId:l.modelId});break;default:("custom"===l.type||"source"===l.type)&&h.push(l),s.enqueue(l)}}})}({tools:t,instructions:E.instructions,messages:E.messages,repairToolCall:h,refineToolInput:f,callId:C,provider:M.provider,modelId:M.modelId,generateId:w,now:I,callStartTimestampMs:N,onLanguageModelCallEnd:T}))),response:q,request:D}}function a3(e,t){return e[Math.ceil(t*e.length)-1]}function a8({content:e,partIndexes:t,id:o,type:a,textDelta:r,providerMetadata:n}){let i=t.get(o);null==i&&(i=e.push({type:a,text:"",...null!=n?{providerMetadata:n}:{}})-1,t.set(o,i));let l=e[i];null!=r&&(l.text+=r),null!=n&&(l.providerMetadata=n)}var a5=(0,J.createIdGenerator)({prefix:"aitxt",size:24}),a9=(0,J.createIdGenerator)({prefix:"call",size:24}),a7={file:!0,custom:!1,source:!1,"text-start":!1,"text-end":!1,"text-delta":!0,"reasoning-start":!1,"reasoning-end":!1,"reasoning-delta":!0,"reasoning-file":!0,"tool-input-start":!1,"tool-input-end":!1,"tool-input-delta":!0,"tool-approval-request":!1,"tool-approval-response":!1,"tool-call":!0,"tool-result":!1,"tool-error":!1,"tool-execution-end":!1,"model-call-start":!1,"model-call-response-metadata":!1,"model-call-end":!1,error:!1,raw:!1};function re(e){if(!a7[e.type])return!1;switch(e.type){case"text-delta":case"reasoning-delta":return e.text.length>0;case"tool-input-delta":return e.delta.length>0;case"file":case"reasoning-file":case"tool-call":return!0;default:return!1}}function rt({model:e,tools:t,toolChoice:o,instructions:a,system:r,prompt:n,messages:i,allowSystemInMessages:l,maxRetries:s,streamRetries:u,abortSignal:d,timeout:p,headers:c,stopWhen:m=al(1),experimental_sandbox:g,output:h,toolApproval:f,experimental_toolCallers:y,experimental_toolApprovalSecret:v,experimental_telemetry:b,telemetry:_=b,prepareStep:w,providerOptions:z,activeTools:I,toolOrder:x,experimental_repairToolCall:k,repairToolCall:T=k,experimental_refineToolInput:S,experimental_transform:M,experimental_download:C,includeRawChunks:E,onChunk:j,onError:R,onFinish:O,onEnd:A=O,onAbort:N,onStepEnd:P,onStepFinish:q,onStart:D,experimental_onStart:U,onStepStart:$,experimental_onStepStart:F,onLanguageModelCallStart:L,experimental_onLanguageModelCallStart:H,onLanguageModelCallEnd:V,experimental_onLanguageModelCallEnd:B,onToolExecutionStart:W,onToolExecutionEnd:K,experimental_onToolCallStart:G,experimental_onToolCallFinish:Y,runtimeContext:Z={},toolsContext:X={},experimental_include:Q,include:ee=Q,_internal:{now:et=oT,generateId:eo=a5,generateCallId:ea=a9}={},...er}){var en,ei,el,es;let eu=t1(p),ed=t4(p),ep=t2(p),ec=t6(p),em=null!=ed?new AbortController:void 0,eg=null!=ep?new AbortController:void 0,eh=null!=ec?new AbortController:void 0,ef=null!=R?R:({error:e})=>{console.error(e)};return new rr({model:tO(e),telemetry:_,headers:c,settings:er,maxRetries:s,streamRetries:u,abortSignal:ok(d,eu,null==em?void 0:em.signal,null==eg?void 0:eg.signal,null==eh?void 0:eh.signal),stepTimeoutMs:ed,stepAbortController:em,firstChunkTimeoutMs:ep,firstChunkAbortController:eg,chunkTimeoutMs:ec,chunkAbortController:eh,instructions:a,system:r,prompt:n,messages:i,allowSystemInMessages:l,experimental_sandbox:g,tools:t,toolsContext:X,runtimeContext:Z,toolChoice:o,transforms:(0,J.asArray)(M),activeTools:I,toolOrder:x,repairToolCall:T,refineToolInput:S,stopConditions:(0,J.asArray)(m),output:h,toolApproval:f,experimental_toolCallers:y,experimental_toolApprovalSecret:v,providerOptions:z,prepareStep:w,timeout:p,onChunk:j,onError:ef,canRetryStreamViaOnError:void 0!==u&&null!=R,onEnd:A,onAbort:N,onStepFinish:null!=P?P:q,onStart:null!=D?D:U,onStepStart:null!=$?$:F,onLanguageModelCallStart:null!=L?L:H,onLanguageModelCallEnd:null!=V?V:B,onToolExecutionStart:null!=W?W:G,onToolExecutionEnd:null!=K?K:Y,now:et,generateId:eo,generateCallId:ea,download:C,include:{requestBody:null!=(en=null==ee?void 0:ee.requestBody)&&en,requestMessages:null!=(ei=null==ee?void 0:ee.requestMessages)&&ei,rawChunks:null!=(es=null!=(el=null==ee?void 0:ee.rawChunks)?el:E)&&es}})}var ro=Symbol("streamRetryBoundary");async function ra(e){try{await e}catch(e){}}var rr=class{constructor({model:e,telemetry:t,headers:o,settings:a,maxRetries:r,streamRetries:n,abortSignal:i,stepTimeoutMs:l,stepAbortController:s,firstChunkTimeoutMs:u,firstChunkAbortController:d,chunkTimeoutMs:p,chunkAbortController:c,instructions:m,system:g,prompt:h,messages:f,allowSystemInMessages:y,experimental_sandbox:v,tools:b,toolChoice:_,transforms:w,activeTools:z,toolOrder:I,repairToolCall:x,refineToolInput:k,stopConditions:T,output:S,toolApproval:M,experimental_toolCallers:C,experimental_toolApprovalSecret:E,providerOptions:j,prepareStep:R,now:O,generateId:A,generateCallId:N,timeout:P,onChunk:q,onError:D,canRetryStreamViaOnError:U,onEnd:$,onAbort:F,onStepFinish:L,onStart:H,onStepStart:V,onLanguageModelCallStart:W,onLanguageModelCallEnd:K,onToolExecutionStart:G,onToolExecutionEnd:Y,runtimeContext:Z,toolsContext:X,download:Q,include:ee}){let et,eo,ea,er,en,ei;this._totalUsage=new J.DelayedPromise,this._finishReason=new J.DelayedPromise,this._rawFinishReason=new J.DelayedPromise,this._steps=new J.DelayedPromise,this._initialResponseMessages=new J.DelayedPromise,this.outputSpecification=S,this.tools=b;const el=ac({tools:b,toolCallers:C}),es=ai({telemetry:t,includeRuntimeContext:null==t?void 0:t.includeRuntimeContext,includeToolsContext:null==t?void 0:t.includeToolsContext});let eu=[],ed={},ep=[],ec=[];const em=[],eg=[];let eh=[];const ef=()=>{let e=new Set;return t=>{if(!e.has(t))return e.add(t),t;let o=A(),a=o,r=0;for(;e.has(a);)a=`${o}-${++r}`;return e.add(a),a}},ey=ef(),ev=ef(),eb=new Map;let e_=aA(),ew=aA();const ez=new Set,eI=new TransformStream({async transform(t,o){var a,r,n,i,l;if(ro in t){let e=t[ro];eu=[],ew=aA(),e_=aA(),ed=e.request,ep=null!=(a=e.request.messages)?a:[],ec=e.warnings;return}let{part:s}=t;o.enqueue(t);let u="error"===s.type&&ez.has(s.error);if(u||await oS({event:{chunk:s},callbacks:q}),"error"===s.type){let e=ob(s.error);ej.isInstance(e)&&(ea=e),u?ez.delete(s.error):await oS({event:{error:e},callbacks:async e=>{await D(e)}})}if(("custom"===s.type||"source"===s.type||"tool-call"===s.type||"tool-approval-request"===s.type||"tool-approval-response"===s.type||"tool-error"===s.type)&&eu.push(s),"text-start"===s.type&&(e_[s.id]={type:"text",text:"",providerMetadata:s.providerMetadata},eu.push(e_[s.id])),"text-delta"===s.type){let e=e_[s.id];if(null==e)return void o.enqueue({part:{type:"error",error:`text part ${s.id} not found`},partialOutput:void 0});e.text+=s.text,e.providerMetadata=null!=(r=s.providerMetadata)?r:e.providerMetadata}if("text-end"===s.type){let e=e_[s.id];if(null==e)return void o.enqueue({part:{type:"error",error:`text part ${s.id} not found`},partialOutput:void 0});e.providerMetadata=null!=(n=s.providerMetadata)?n:e.providerMetadata,delete e_[s.id]}if("reasoning-start"===s.type&&(ew[s.id]={type:"reasoning",text:"",providerMetadata:s.providerMetadata},eu.push(ew[s.id])),"reasoning-delta"===s.type){let e=ew[s.id];if(null==e)return void o.enqueue({part:{type:"error",error:`reasoning part ${s.id} not found`},partialOutput:void 0});e.text+=s.text,e.providerMetadata=null!=(i=s.providerMetadata)?i:e.providerMetadata}if("reasoning-end"===s.type){let e=ew[s.id];if(null==e)return void o.enqueue({part:{type:"error",error:`reasoning part ${s.id} not found`},partialOutput:void 0});e.providerMetadata=null!=(l=s.providerMetadata)?l:e.providerMetadata,delete ew[s.id]}if(("file"===s.type||"reasoning-file"===s.type)&&eu.push({type:s.type,file:s.file,...null!=s.providerMetadata?{providerMetadata:s.providerMetadata}:{}}),"tool-result"!==s.type||s.preliminary||eu.push(s),"start-step"===s.type&&(eu=[],ew=aA(),e_=aA(),ed=s.request,ec=s.warnings),"finish-step"===s.type){let t=await ad({content:eu,tools:b}),o=new at({callId:eO,stepNumber:em.length,provider:e.provider,modelId:e.modelId,runtimeContext:Z,toolsContext:X,content:eu,finishReason:s.finishReason,rawFinishReason:s.rawFinishReason,usage:s.usage,performance:s.performance,warnings:ec,request:{...ed,messages:ee.requestMessages?tN(ep):void 0},response:{...s.response,messages:tN(t)},providerMetadata:s.providerMetadata});await oS({event:o,callbacks:[L,es.onStepEnd]}),t_({warnings:ec,provider:e.provider,model:e.modelId}),em.push(o),eo=[...eh,...t],et.resolve()}"finish"===s.type&&(ei=s.totalUsage,er=s.finishReason,en=s.rawFinishReason)},async flush(e){try{if(0===em.length||null!=ea){let e=(null==i?void 0:i.aborted)?i.reason:null!=ea?ea:new ej({message:"No output generated. Check the stream for errors."});eR.rejectResultPromises(e);return}let e=null!=er?er:"other",t=null!=ei?ei:ow();eR._finishReason.resolve(e),eR._rawFinishReason.resolve(en),eR._totalUsage.resolve(t),eR._steps.resolve(em);let o=em[em.length-1],a=em.flatMap(e=>e.content),r=em.flatMap(e=>e.files),n=em.flatMap(e=>e.sources),l=em.flatMap(e=>e.toolCalls),s=em.flatMap(e=>e.staticToolCalls),u=em.flatMap(e=>e.dynamicToolCalls),d=em.flatMap(e=>e.toolResults),p=em.flatMap(e=>e.staticToolResults),c=em.flatMap(e=>e.dynamicToolResults),m=em.flatMap(e=>{var t;return null!=(t=e.warnings)?t:[]}),g=null==$?void 0:async e=>{let t=null==S?void 0:await eR.getOutputPromise().catch(()=>void 0);await $({...e,...null!=S?{output:t}:{}})},h={callId:eO,toolsContext:o.toolsContext,stepNumber:o.stepNumber,model:o.model,runtimeContext:o.runtimeContext,finishReason:o.finishReason,rawFinishReason:o.rawFinishReason,usage:t,totalUsage:t,content:a,text:o.text,reasoning:o.reasoning,reasoningText:o.reasoningText,files:r,sources:n,toolCalls:l,staticToolCalls:s,dynamicToolCalls:u,toolResults:d,staticToolResults:p,dynamicToolResults:c,responseMessages:[...eg,...em.flatMap(e=>e.response.messages)],warnings:m,request:o.request,response:o.response,providerMetadata:o.providerMetadata,steps:em,finalStep:o};await Promise.all([oS({event:h,callbacks:g}),oS({event:h,callbacks:es.onEnd})])}catch(t){e.error(t)}}}),ex=function(){let e=[],t=null,o=!1,a=!1,r=aK(),n=()=>{a||(o=!0,r.resolve(),e.forEach(({reader:e,onCancel:t})=>{null==t||t(),e.cancel()}),e=[],null==t||t.close())},i=async()=>{var l;if(a)return;if(o&&0===e.length){null==t||t.close();return}if(0===e.length)return r=aK(),await r.promise,await i();let s=e[0];try{let{value:r,done:n}=await s.reader.read();if(a)return;n?(e.shift(),0===e.length&&o?null==t||t.close():await i()):null==t||t.enqueue(r)}catch(o){if(a)return;null==(l=s.onError)||l.call(s,o),null==t||t.error(o),e.shift(),n()}};return{stream:new ReadableStream({start(e){t=e},pull:i,async cancel(){for(let{reader:t,onCancel:n}of(a=!0,o=!0,r.resolve(),e))null==n||n(),await t.cancel();e=[]}}),addStream:(t,n)=>{var i;if(a){null==(i=null==n?void 0:n.onCancel)||i.call(n),t.cancel().catch(()=>{});return}if(o)throw Error("Cannot add inner stream: outer stream is closed");e.push({reader:t.getReader(),...n}),r.resolve()},close:()=>{a||(o=!0,r.resolve(),0===e.length&&(null==t||t.close()))},terminate:n}}();this.addStream=ex.addStream,this.closeStream=ex.close;const ek=ex.stream.getReader();let eT=new ReadableStream({async start(e){e.enqueue({type:"start"})},async pull(e){async function t(){await oS({event:{callId:eO,steps:em,...(null==i?void 0:i.reason)!==void 0?{reason:i.reason}:{}},callbacks:[F,es.onAbort]}),e.enqueue({type:"abort",...(null==i?void 0:i.reason)!==void 0?{reason:(0,B.getErrorMessage)(i.reason)}:{}}),e.close()}try{let{done:o,value:a}=await ek.read();if(o)return void e.close();if(null==i?void 0:i.aborted)return void await t();e.enqueue(a)}catch(o){(0,J.isAbortError)(o)&&(null==i?void 0:i.aborted)?await t():e.error(o)}},cancel:e=>ex.stream.cancel(e)}),eS=!0;eT=function({stream:e,transforms:t,tools:o,stopStream:a}){let r,n,i=e.getReader(),l=!1;return new ReadableStream({async pull(e){null!=n||(n=(()=>{let e=new ReadableStream({async pull(e){let{done:t,value:o}=await i.read();if(t){l=!0,e.close();return}if(ro in o){r=o,e.close();return}e.enqueue(o)},cancel:e=>i.cancel(e)},{highWaterMark:0});for(let r of t)e=e.pipeThrough(r({tools:o,stopStream:a}));return e.getReader()})());let{done:s,value:u}=await n.read();if(!s)return void e.enqueue(u);if(n=void 0,null!=r){e.enqueue(r),r=void 0;return}l&&e.close()},async cancel(e){await (null==n?void 0:n.cancel(e)),await i.cancel(e)}})}({stream:eT=eT.pipeThrough(new TransformStream({async transform(e,t){eS&&t.enqueue(e)}})),transforms:w,tools:b,stopStream(){ex.terminate(),eS=!1}}),this.baseStream=eT.pipeThrough(function(e){let t,o,a="",r="",n="";function i({controller:e,chunk:t}){e.enqueue(t)}function l({controller:e,partialOutput:a}){i({controller:e,chunk:{part:{type:"text-delta",id:t,text:r,providerMetadata:o},partialOutput:a}}),r=""}return new TransformStream({async transform(s,u){var d;if(ro in s){t=void 0,a="",r="",o=void 0,n="",u.enqueue(s);return}if("finish-step"===s.type&&r.length>0&&l({controller:u}),"text-delta"!==s.type&&"text-start"!==s.type&&"text-end"!==s.type)return void i({controller:u,chunk:{part:s,partialOutput:void 0}});if(null==t)t=s.id;else if(s.id!==t)return void i({controller:u,chunk:{part:s,partialOutput:void 0}});if("text-start"===s.type)return void i({controller:u,chunk:{part:s,partialOutput:void 0}});if("text-end"===s.type){r.length>0&&l({controller:u}),i({controller:u,chunk:{part:s,partialOutput:void 0}});return}if(a+=s.text,r+=s.text,o=null!=(d=s.providerMetadata)?d:o,0===s.text.length&&null!=s.providerMetadata)return void i({controller:u,chunk:{part:s,partialOutput:void 0}});let p=await e.parsePartialOutput({text:a});if(void 0!==p){let e="string"==typeof p.partial?p.partial:JSON.stringify(p.partial);e!==n&&(l({controller:u,partialOutput:p.partial}),n=e)}}})}(null!=S?S:oH())).pipeThrough(eI);const{maxRetries:eM}=oM({maxRetries:r,abortSignal:i}),{maxRetries:eC}=oM({maxRetries:n,abortSignal:i,parameter:"streamRetries",defaultMaxRetries:0}),eE=tX(a),eR=this,eO=N();(async()=>{var t;let a=await ov({instructions:m,system:g,prompt:h,messages:f,allowSystemInMessages:y}),r={callId:eO,operationId:"ai.streamText",provider:e.provider,modelId:e.modelId,instructions:a.instructions,messages:a.messages,tools:b,toolChoice:_,activeTools:z,toolOrder:I,maxOutputTokens:eE.maxOutputTokens,temperature:eE.temperature,topP:eE.topP,topK:eE.topK,presencePenalty:eE.presencePenalty,frequencyPenalty:eE.frequencyPenalty,stopSequences:eE.stopSequences,seed:eE.seed,reasoning:eE.reasoning,maxRetries:eM,timeout:P,headers:o,providerOptions:j,output:S,runtimeContext:Z,toolsContext:X},n=null==(t=es.startTracingChannelContext)?void 0:t.call(es,{type:"streamText",event:r,completion:eR._totalUsage.promise.then(()=>void 0)}),w=e=>{var t;return null!=(t=null==n?void 0:n.run(e))?t:e()},C=null==es.runInTracingChannelSpan?void 0:e=>w(()=>es.runInTracingChannelSpan(e));await oS({event:r,callbacks:[H,es.onStart]});let N=a.messages,$=a.instructions,{approvedToolApprovals:F,deniedToolApprovals:L}=oj({messages:N});if(L.length>0||F.length>0){let e,{approvedToolApprovals:t,deniedToolApprovals:o,invalidToolApprovals:a}=await aI({approvedToolApprovals:F.filter(e=>!e.toolCall.providerExecuted),tools:b,toolApproval:M,messages:N,toolsContext:X,runtimeContext:Z,toolApprovalSecret:E}),r=[...L.filter(e=>!e.toolCall.providerExecuted),...o],n=r.filter(e=>null==e.existingToolResult),l=L.filter(e=>e.toolCall.providerExecuted),s=new ReadableStream({start(t){e=t}});eR.addStream(s);try{for(let t of[...r,...l])null==e||e.enqueue({type:"tool-output-denied",toolCallId:t.toolCall.toolCallId,toolName:t.toolCall.toolName});for(let t of a)null==e||e.enqueue({type:"tool-error",toolCallId:t.toolCall.toolCallId,toolName:t.toolCall.toolName,input:t.toolCall.input,error:(0,B.getErrorMessage)(t.error),title:t.toolCall.title,...!0===t.toolCall.dynamic?{dynamic:!0}:{},...null!=t.toolCall.toolMetadata?{toolMetadata:t.toolCall.toolMetadata}:{}});let o=[];if(await Promise.all(t.map(async t=>{let a=await oP({toolCall:t.toolCall,tools:b,callId:eO,messages:N,abortSignal:i,timeout:P,experimental_sandbox:v,toolsContext:X,onToolExecutionStart:(0,J.filterNullable)(G,es.onToolExecutionStart),onToolExecutionEnd:(0,J.filterNullable)(Y,es.onToolExecutionEnd),executeToolInTelemetryContext:es.executeTool,runInTracingChannelSpan:C,onPreliminaryToolResult:t=>{null==e||e.enqueue(t)}});null!=a&&(null==e||e.enqueue(a.output),o.push(a.output))})),o.length>0||n.length>0||a.length>0){let e=[];for(let t of o)e.push({type:"tool-result",toolCallId:t.toolCallId,toolName:t.toolName,output:await tY({toolCallId:t.toolCallId,input:t.input,tool:ox(b,t.toolName),output:"tool-result"===t.type?t.output:t.error,errorMode:"tool-error"===t.type?"text":"none"})});for(let t of a)e.push({type:"tool-result",toolCallId:t.toolCall.toolCallId,toolName:t.toolCall.toolName,output:await tY({toolCallId:t.toolCall.toolCallId,input:t.toolCall.input,tool:ox(b,t.toolCall.toolName),output:t.error,errorMode:"text"})});for(let t of n)e.push({type:"tool-result",toolCallId:t.toolCall.toolCallId,toolName:t.toolCall.toolName,output:{type:"execution-denied",reason:t.approvalResponse.reason}});eg.push({role:"tool",content:e})}}finally{null==e||e.close()}}async function ea({currentStep:t,usage:r}){var n,m,g,h,f,C,F,L,H,B,er,en;let ei,eu,ed=oC({abortController:s,label:"Step",timeoutMs:l});function ec(){null!=ei&&(clearTimeout(ei),ei=void 0)}function ef(){null!=eu&&clearTimeout(eu),eu=oC({abortController:c,label:"Chunk",timeoutMs:p})}function e_(){null==i||i.removeEventListener("abort",e_),null!=ed&&clearTimeout(ed),ec(),null!=eu&&(clearTimeout(eu),eu=void 0)}null==i||i.addEventListener("abort",e_,{once:!0});try{let l,s,p;et=new J.DelayedPromise;let c=null==(n=es.startTracingChannelContext)?void 0:n.call(es,{type:"step",event:{callId:eO,stepNumber:t},completion:et.promise}),eu=e=>{var t;return null!=(t=null==c?void 0:c.run(e))?t:e()},ed=em.flatMap(e=>e.response.messages),ew=[...eg,...ed],eI=null!=eo?eo:[...N,...eg],ex=await (null==R?void 0:R({model:e,steps:em,stepNumber:em.length,instructions:$,initialInstructions:a.instructions,messages:eI,initialMessages:N,responseMessages:ew,toolsContext:X,runtimeContext:Z,experimental_sandbox:v})),ek=null!=(m=null==ex?void 0:ex.experimental_sandbox)?m:v;Z=null!=(g=null==ex?void 0:ex.runtimeContext)?g:Z,X=null!=(h=null==ex?void 0:ex.toolsContext)?h:X;let eT=tO(null!=(f=null==ex?void 0:ex.model)?f:e),eS=oq({tools:b,activeTools:null!=(C=null==ex?void 0:ex.activeTools)?C:z}),{executionTools:eA,modelTools:eN}=am({tools:eS,toolCallers:el}),eP=null!=(F=null==ex?void 0:ex.toolOrder)?F:I,eq=await t0({tools:eN,toolOrder:eP,toolsContext:X,experimental_sandbox:ek}),eD=tQ({toolChoice:null!=(L=null==ex?void 0:ex.toolChoice)?L:_}),eU=null!=(H=null==ex?void 0:ex.messages)?H:eI;eh=eU;let e$=null!=(er=null!=(B=null==ex?void 0:ex.instructions)?B:null==ex?void 0:ex.system)?er:$;$=e$;let eF=tD(j,null==ex?void 0:ex.providerOptions),eL=o0({callSettings:eE,stepSettings:ex}),eH=O(),{retry:eV}=oM({maxRetries:eM,abortSignal:i}),eJ=!1,eB=()=>eu(()=>eV(async()=>{var t,a;return a6({model:null!=(t=null==ex?void 0:ex.model)?t:e,tools:eN,toolOrder:eP,toolChoice:null!=(a=null==ex?void 0:ex.toolChoice)?a:_,instructions:e$,messages:eU,allowSystemInMessages:y,repairToolCall:x,refineToolInput:k,abortSignal:i,headers:o,includeRawChunks:ee.rawChunks,providerOptions:eF,download:Q,output:S,callId:eO,executeLanguageModelCallInTelemetryContext:es.executeLanguageModelCall,toolsContext:X,experimental_sandbox:ek,onLanguageModelCallStart:(0,J.filterNullable)(W,es.onLanguageModelCallStart),onLanguageModelCallEnd:(0,J.filterNullable)(K,es.onLanguageModelCallEnd),onStart:async({promptMessages:e})=>{var t,o;eJ||(eJ=!0,await oS({event:{callId:eO,provider:eT.provider,modelId:eT.modelId,stepNumber:em.length,instructions:e$,messages:eU,tools:b,toolChoice:null!=(t=null==ex?void 0:ex.toolChoice)?t:_,activeTools:null!=(o=null==ex?void 0:ex.activeTools)?o:z,toolOrder:eP,steps:[...em],providerOptions:eF,runtimeContext:Z,toolsContext:X,output:S,promptMessages:e,stepTools:eq,stepToolChoice:eD},callbacks:[V,es.onStepStart]}))},_internal:{now:O},...eL})})),eW=await eB(),eK=eW.request,eG=eW.response,eY=eW.stream.getReader(),eZ=0,eX=0,eQ=[],e0=new WeakSet,e1=new Set,e4=new Set,e2=!1,e6=eC>0||U,e3=new ReadableStream({async pull(e){let t=t=>{switch(t.type){case"text-start":e1.add(t.id);break;case"text-end":e1.delete(t.id);break;case"reasoning-start":e4.add(t.id);break;case"reasoning-end":e4.delete(t.id)}e.enqueue(t)},o=()=>{for(let e of eQ)t(e);eQ=[]},a=()=>{for(let t of e1)e.enqueue({type:"text-end",id:t});for(let t of(e1.clear(),e4))e.enqueue({type:"reasoning-end",id:t});e4.clear()};for(;;){let r,n,{done:i,value:l}=await eY.read();if(e2&&(e.enqueue(function({warnings:e}){return{[aG]:!0,warnings:e}}({warnings:i||"model-call-start"!==l.type?[]:l.warnings})),e2=!1),i){o(),e.close();return}let s="tool-input-start"===l.type||"tool-input-delta"===l.type||"tool-input-end"===l.type||"tool-call"===l.type||"tool-approval-request"===l.type||"tool-approval-response"===l.type||"tool-result"===l.type||"tool-error"===l.type;if("model-call-end"===l.type){o(),t(l);return}if(e6&&"error"!==l.type&&(s||eQ.length>0)){re(l)&&(ec(),ef(),e0.add(l)),eQ.push(l);continue}if("error"!==l.type)return void t(l);await oS({event:{chunk:l},callbacks:q});let u=ob(l.error);try{r=await D({error:u})}catch(e){}let d=U&&"object"==typeof r&&null!=r&&"retry"in r&&!0===r.retry,p=eZ<eC,c=!p&&d&&eX<1;if(!p&&!c){o(),ez.add(l.error),e.enqueue(l);return}p?eZ++:eX++,await eY.cancel(u),eQ=[],a();try{n=await eB()}catch(t){e.enqueue({type:"error",error:t}),e.close();return}eK=n.request,eG=n.response,eY=n.stream.getReader(),e2=!0}},cancel:e=>eY.cancel(e)});null!=i&&i.aborted||(ei=oC({abortController:d,label:"First chunk",timeoutMs:u}));let e8=function({stream:e,tools:t,stepInputMessages:o,abortSignal:a,runtimeContext:r}){if(null==t)return e;let n=aA();return e.pipeThrough(new TransformStream({async transform(e,i){if(i.enqueue(e),!aY(e))switch(e.type){case"tool-input-start":{n[e.id]=e.toolName;let i=ox(t,e.toolName);(null==i?void 0:i.onInputStart)!=null&&await i.onInputStart({toolCallId:e.id,messages:o,abortSignal:a,context:r});break}case"tool-input-delta":{let i=ox(t,n[e.id]);(null==i?void 0:i.onInputDelta)!=null&&await i.onInputDelta({inputTextDelta:e.delta,toolCallId:e.id,messages:o,abortSignal:a,context:r});break}case"tool-call":{let i=ox(t,n[e.toolCallId]);delete n[e.toolCallId],(null==i?void 0:i.onInputAvailable)!=null&&await i.onInputAvailable({input:e.input,toolCallId:e.toolCallId,messages:o,abortSignal:a,context:r})}}}}))}({stream:e3,tools:eA,stepInputMessages:eU,abortSignal:i,runtimeContext:Z}),e5=null==es.runInTracingChannelSpan?void 0:e=>eu(()=>es.runInTracingChannelSpan(e)),e9=function({stream:e,tools:t,callId:o,messages:a,abortSignal:r,timeout:n,experimental_sandbox:i,toolsContext:l,toolApproval:s,runtimeContext:u,toolApprovalSecret:d,generateId:p,onToolExecutionStart:c,onToolExecutionEnd:m,executeToolInTelemetryContext:g,runInTracingChannelSpan:h}){let f=[];return e.pipeThrough(new TransformStream({async transform(e,y){if(y.enqueue(e),aY(e)){f.length=0;return}switch(e.type){case"tool-call":{if(e.invalid)return;let o=ox(t,e.toolName);if(null==o)return;let r=await o4({tools:t,toolCall:e,toolApproval:s,messages:a,toolsContext:l,runtimeContext:u});if("not-applicable"===r.type){null!=o.execute&&!0!==e.providerExecuted&&f.push(e);return}let n=p(),i=await az({secret:d,approvalId:n,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input});switch(r.type){case"user-approval":return void y.enqueue({type:"tool-approval-request",approvalId:n,toolCall:e,...null!=r.reason?{reason:r.reason}:{},...null!=i?{signature:i}:{}});case"denied":y.enqueue({type:"tool-approval-request",approvalId:n,toolCall:e,isAutomatic:!0,...null!=i?{signature:i}:{}}),y.enqueue({type:"tool-approval-response",approvalId:n,approved:!1,toolCall:e,reason:r.reason,providerExecuted:e.providerExecuted});return;case"approved":y.enqueue({type:"tool-approval-request",approvalId:n,toolCall:e,isAutomatic:!0,...null!=i?{signature:i}:{}}),y.enqueue({type:"tool-approval-response",approvalId:n,approved:!0,toolCall:e,reason:r.reason,providerExecuted:e.providerExecuted})}null!=o.execute&&!0!==e.providerExecuted&&f.push(e);return}case"model-call-end":if(!oD(e.finishReason))return;await Promise.all(f.map(async e=>{try{let s=await oP({toolCall:e,tools:t,callId:o,messages:a,abortSignal:r,timeout:n,experimental_sandbox:i,toolsContext:l,onToolExecutionStart:c,onToolExecutionEnd:m,executeToolInTelemetryContext:g,runInTracingChannelSpan:h,onPreliminaryToolResult:e=>{y.enqueue(e)}});null!=s&&(y.enqueue({type:"tool-execution-end",toolCallId:s.output.toolCallId,toolExecutionMs:s.toolExecutionMs}),y.enqueue(s.output))}catch(e){y.enqueue({type:"error",error:e})}}));return}}}))}({stream:e8,tools:eA,callId:eO,messages:eU,abortSignal:i,timeout:P,experimental_sandbox:ek,toolsContext:X,toolApproval:M,runtimeContext:Z,toolApprovalSecret:E,generateId:A,onToolExecutionStart:(0,J.filterNullable)(G,es.onToolExecutionStart),onToolExecutionEnd:(0,J.filterNullable)(Y,es.onToolExecutionEnd),executeToolInTelemetryContext:es.executeTool,runInTracingChannelSpan:e5}),e7=()=>({...eK,body:ee.requestBody?null==eK?void 0:eK.body:void 0,messages:ee.requestMessages?tN(eU):void 0});ep=null!=(en=e7().messages)?en:[];let te=[],tt=[],to=[],ta="other",tr=!1,tn=!1,ti=ow(),tl=!0,ts=()=>({responseTimeMs:0,effectiveOutputTokensPerSecond:0,outputTokensPerSecond:void 0,inputTokensPerSecond:void 0,effectiveTotalTokensPerSecond:0,timeToFirstOutputMs:void 0,timeBetweenOutputChunksMs:void 0}),tu=ts(),td={},tp=()=>({id:A(),timestamp:new Date,modelId:e.modelId}),tc=tp(),tm=new Map,tg=new Map,th=(e,t)=>{e.enqueue(t)};eR.addStream(e9.pipeThrough(new TransformStream({async transform(e,t){var o,a,r,n,i,u,d;if(aY(e)){l=e.warnings,ta="other",p=void 0,tr=!1,tn=!1,ti=ow(),s=void 0,tu=ts(),tc=tp(),tm.clear(),tg.clear(),t.enqueue({[ro]:{request:e7(),warnings:l}});return}if("model-call-start"===e.type){l=e.warnings;return}tl&&(tl=!1,th(t,{type:"start-step",request:e7(),warnings:null!=l?l:[]}));let c=e.type;if(re(e)){let t=e0.has(e);tn||t||ec(),tn=!0,t||ef()}switch(c){case"file":case"custom":case"source":case"reasoning-file":case"tool-input-start":case"tool-input-end":case"tool-input-delta":case"tool-approval-request":th(t,e);break;case"text-start":{let o=ey(e.id);tm.set(e.id,o),th(t,{...e,id:o});break}case"text-delta":(e.text.length>0||null!=e.providerMetadata)&&th(t,{...e,id:null!=(o=tm.get(e.id))?o:e.id});break;case"text-end":th(t,{...e,id:null!=(a=tm.get(e.id))?a:e.id}),tm.delete(e.id);break;case"reasoning-start":{let o=ev(e.id);tg.set(e.id,o),th(t,{...e,id:o});break}case"reasoning-delta":th(t,{...e,id:null!=(r=tg.get(e.id))?r:e.id});break;case"reasoning-end":th(t,{...e,id:null!=(n=tg.get(e.id))?n:e.id}),tg.delete(e.id);break;case"tool-call":th(t,e),te.push(e);break;case"tool-approval-response":th(t,e),to.push(e);break;case"tool-result":th(t,e),e.preliminary||tt.push(e);break;case"tool-error":th(t,e),tt.push(e);break;case"tool-execution-end":td[e.toolCallId]=e.toolExecutionMs;break;case"model-call-response-metadata":tc={id:null!=(i=e.id)?i:tc.id,timestamp:null!=(u=e.timestamp)?u:tc.timestamp,modelId:null!=(d=e.modelId)?d:tc.modelId};break;case"model-call-end":tr=!0,ti=e.usage,ta=e.finishReason,p=e.rawFinishReason,s=e.providerMetadata,tu=e.performance;break;case"error":tr=!0,th(t,e),ta="error";break;case"raw":ee.rawChunks&&th(t,e);break;default:throw Error(`Unknown chunk type: ${c}`)}},async flush(e){if(!tr&&!tn){th(e,{type:"error",error:new ej({message:"No output generated. The model stream ended without a finish chunk."})}),e_(),eR.closeStream();return}let o=O()-eH,a={type:"finish-step",finishReason:ta,rawFinishReason:p,usage:ti,performance:{stepTimeMs:o,toolExecutionMs:td,...tu},providerMetadata:s,response:{...tc,headers:null==eG?void 0:eG.headers}};th(e,a);let n=oz(r,ti);await et.promise;let i=te.filter(e=>!0!==e.providerExecuted),l=tt.filter(e=>!0!==e.providerExecuted),u=to.filter(e=>!1===e.approved);for(let e of te){if(!0!==e.providerExecuted)continue;let t=ox(eA,e.toolName);(null==t?void 0:t.type)==="provider"&&t.supportsDeferredResults&&(tt.some(t=>("tool-result"===t.type||"tool-error"===t.type)&&t.toolCallId===e.toolCallId)||eb.set(e.toolCallId,{toolName:e.toolName}))}for(let e of tt)("tool-result"===e.type||"tool-error"===e.type)&&eb.delete(e.toolCallId);if(e_(),i.length===l.length+u.length&&(i.length>0||eb.size>0)&&!await as({stopConditions:T,steps:em}))try{await w(()=>ea({currentStep:t+1,usage:n}))}catch(t){th(e,{type:"error",error:t}),eR.closeStream()}else th(e,{type:"finish",finishReason:ta,rawFinishReason:p,totalUsage:n}),eR.closeStream()}})),{onError:e_,onCancel:e_})}catch(e){throw e_(),e}}eR._initialResponseMessages.resolve(eg),await w(()=>ea({currentStep:0,usage:ow()}))})().catch(async e=>{var t;await (null==(t=es.onError)?void 0:t.call(es,{callId:eO,error:e})),eR._initialResponseMessages.reject(e),ra(eR._initialResponseMessages.promise),eR.addStream(new ReadableStream({start(t){t.enqueue({type:"error",error:e}),t.close()}})),eR.closeStream()})}get steps(){return this.consumeStream(),this._steps.promise}get finalStep(){return this.steps.then(e=>e.at(-1))}get content(){return this.steps.then(e=>e.flatMap(e=>e.content))}get warnings(){return this.steps.then(e=>e.flatMap(e=>{var t;return null!=(t=e.warnings)?t:[]}))}get providerMetadata(){return this.finalStep.then(e=>e.providerMetadata)}get text(){return this.finalStep.then(e=>e.text)}get reasoningText(){return this.finalStep.then(e=>e.reasoningText)}get reasoning(){return this.finalStep.then(e=>o1(e.reasoning))}get sources(){return this.steps.then(e=>e.flatMap(e=>e.sources))}get files(){return this.steps.then(e=>e.flatMap(e=>e.files))}get toolCalls(){return this.steps.then(e=>e.flatMap(e=>e.toolCalls))}get staticToolCalls(){return this.steps.then(e=>e.flatMap(e=>e.staticToolCalls))}get dynamicToolCalls(){return this.steps.then(e=>e.flatMap(e=>e.dynamicToolCalls))}get toolResults(){return this.steps.then(e=>e.flatMap(e=>e.toolResults))}get staticToolResults(){return this.steps.then(e=>e.flatMap(e=>e.staticToolResults))}get dynamicToolResults(){return this.steps.then(e=>e.flatMap(e=>e.dynamicToolResults))}get usage(){return this.totalUsage}get request(){return this.finalStep.then(e=>e.request)}get response(){return this.finalStep.then(e=>e.response)}get responseMessages(){return Promise.all([this._initialResponseMessages.promise,this.steps]).then(([e,t])=>[...e,...t.flatMap(e=>e.response.messages)])}get totalUsage(){return this.consumeStream(),this._totalUsage.promise}get finishReason(){return this.consumeStream(),this._finishReason.promise}get rawFinishReason(){return this.consumeStream(),this._rawFinishReason.promise}teeStream(){let[e,t]=this.baseStream.tee();return this.baseStream=t,e}get textStream(){return aB(function({stream:e}){return e.pipeThrough(new TransformStream({transform(e,t){"text-delta"===e.type&&t.enqueue(e.text)}}))}({stream:this.stream}))}get stream(){return aB(this.teeStream().pipeThrough(new TransformStream({transform({part:e},t){t.enqueue(e)}})))}get fullStream(){return this.stream}rejectResultPromises(e){this.rejectResultPromise({delayedPromise:this._finishReason,error:e}),this.rejectResultPromise({delayedPromise:this._rawFinishReason,error:e}),this.rejectResultPromise({delayedPromise:this._totalUsage,error:e}),this.rejectResultPromise({delayedPromise:this._steps,error:e}),this.rejectResultPromise({delayedPromise:this._initialResponseMessages,error:e})}rejectResultPromise({delayedPromise:e,error:t}){e.isPending()&&(e.reject(t),ra(e.promise))}async consumeStream(e){var t;try{await aW({stream:this.stream,onError:t=>{var o;this.rejectResultPromises(t),null==(o=null==e?void 0:e.onError)||o.call(e,t)}})}catch(o){this.rejectResultPromises(o),null==(t=null==e?void 0:e.onError)||t.call(e,o)}}get experimental_partialOutputStream(){return this.partialOutputStream}get partialOutputStream(){return aB(this.teeStream().pipeThrough(new TransformStream({transform({partialOutput:e},t){null!=e&&t.enqueue(e)}})))}get elementStream(){var e,t,o;let a=null==(e=this.outputSpecification)?void 0:e.createElementStreamTransform();if(null==a)throw new B.UnsupportedFunctionalityError({functionality:`element streams in ${null!=(o=null==(t=this.outputSpecification)?void 0:t.name)?o:"text"} mode`});return aB(this.teeStream().pipeThrough(a))}getOutputPromise(){return null==this.outputPromise&&(this.outputPromise=this.finalStep.then(e=>{var t;return(null!=(t=this.outputSpecification)?t:oH()).parseCompleteOutput({text:e.text},{response:e.response,usage:e.usage,finishReason:e.finishReason})})),this.outputPromise}get output(){return this.getOutputPromise()}toUIMessageStream({originalMessages:e,generateMessageId:t,onEnd:o,onFinish:a,messageMetadata:r,sendReasoning:n,sendSources:i,sendStart:l,sendFinish:s,onError:u}={}){return aB(function({stream:e,tools:t,sendReasoning:o=!0,sendSources:a=!1,sendStart:r=!0,sendFinish:n=!0,onError:i=()=>"An error occurred.",messageMetadata:l,originalMessages:s,generateMessageId:u,onEnd:d,onFinish:p}){let c={status:"unknown"},m=!1,g=e=>{m||"completed"===c.status||"aborted"===c.status||"unknown"===e.status||"unknown"!==c.status&&"failed"===e.status||(c=e)},h=e=>{m=!0,c={status:"failed",error:e}},f=null!=u?function({originalMessages:e,responseMessageId:t}){if(null==e)return;let o=e[e.length-1];return(null==o?void 0:o.role)==="assistant"?o.id:"function"==typeof t?t():t}({originalMessages:s,responseMessageId:u}):void 0,y=e.getReader(),v=!1,b=!1,_=()=>{v||(y.releaseLock(),v=!0)};return function({messageId:e,originalMessages:t=[],onStepEnd:o,onStepFinish:a,onEnd:r,onFinish:n,onError:i,stream:l,getOutcome:s}){let u,d=null==t?void 0:t[t.length-1];(null==d?void 0:d.role)!=="assistant"?d=void 0:e=d.id;let p=!1,c=!1,m=e=>{c=!0,u=e},g=l.pipeThrough(new TransformStream({transform(t,o){try{let a=t;"start"===t.type&&null==t.messageId&&null!=e&&(a={...t,messageId:e}),"abort"===t.type&&(p=!0),o.enqueue(a)}catch(e){throw m(e),e}}})),h=null!=o?o:a,f=null!=r?r:n;if(null==f&&null==h)return g;let y=function({lastMessage:e,messageId:t}){return{message:(null==e?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:aA(),activeReasoningParts:aA(),partialToolCalls:aA()}}({lastMessage:d?structuredClone(d):void 0,messageId:null!=e?e:""}),v=!1,b=async()=>{var e;if(v||!f)return;v=!0;let o=y.message.id===(null==d?void 0:d.id),a=null!=(e=null==s?void 0:s())?e:{status:"unknown"},r=c?{status:"failed",error:u}:"unknown"===a.status&&p?{status:"aborted"}:a;await f({isAborted:p||"aborted"===r.status,isContinuation:o,outcome:r,responseMessage:y.message,messages:[...o?t.slice(0,-1):t,y.message],finishReason:y.finishReason})},_=async()=>{if(!h)return;let e=y.message.id===(null==d?void 0:d.id);try{await h({isContinuation:e,responseMessage:structuredClone(y.message),messages:[...e?t.slice(0,-1):t,structuredClone(y.message)]})}catch(e){i(e)}};return(function({stream:e,messageMetadataSchema:t,dataPartSchemas:o,runUpdateMessageJob:a,onError:r,onToolCall:n,onData:i}){return e.pipeThrough(new TransformStream({async transform(e,l){await a(async({state:a,write:s})=>{var u,d,p,c;function m(){let e=a.message.parts,t=e.length-1;for(;t>=0&&"step-start"!==e[t].type;)t--;return e.slice(t+1)}function g(e){let t=m().filter(aH).find(t=>t.toolCallId===e);if(null==t){let o=a.message.parts;for(let a=o.length-1;a>=0;a--){let r=o[a];if(aH(r)&&r.toolCallId===e){t=r;break}}}if(null==t)throw new tt({chunkType:"tool-invocation",chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function h(e,t){var o;let r=null!=t?t:m().find(t=>aF(t)&&t.toolCallId===e.toolCallId);if(null!=r){r.state=e.state,r.input=e.input,r.output=e.output,r.errorText=e.errorText,r.rawInput=e.rawInput,r.preliminary=e.preliminary,void 0!==e.title&&(r.title=e.title),void 0!==e.toolMetadata&&(r.toolMetadata=e.toolMetadata),r.providerExecuted=null!=(o=e.providerExecuted)?o:r.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?r.resultProviderMetadata=t:r.callProviderMetadata=t)}else a.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},input:e.input,output:e.output,rawInput:e.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,preliminary:e.preliminary,...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}function f(e,t){var o,r;let n=null!=t?t:m().find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId);if(null!=n){n.state=e.state,n.toolName=e.toolName,n.input=e.input,n.output=e.output,n.errorText=e.errorText,n.rawInput=null!=(o=e.rawInput)?o:n.rawInput,n.preliminary=e.preliminary,void 0!==e.title&&(n.title=e.title),void 0!==e.toolMetadata&&(n.toolMetadata=e.toolMetadata),n.providerExecuted=null!=(r=e.providerExecuted)?r:n.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?n.resultProviderMetadata=t:n.callProviderMetadata=t)}else a.message.parts.push({type:"dynamic-tool",toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:e.input,output:e.output,errorText:e.errorText,preliminary:e.preliminary,providerExecuted:e.providerExecuted,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}async function y(e){if(null!=e){let o=null!=a.message.metadata?tD(a.message.metadata,e):e;null!=t&&await (0,J.validateTypes)({value:o,schema:t,context:{field:"message.metadata",entityId:a.message.id}}),a.message.metadata=o}}switch(e.type){case"text-start":{let t={type:"text",text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeTextParts[e.id]=t,a.message.parts.push(t),s();break}case"text-delta":{let t=a.activeTextParts[e.id];if(null==t)throw new tt({chunkType:"text-delta",chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(u=e.providerMetadata)?u:t.providerMetadata,s();break}case"text-end":{let t=a.activeTextParts[e.id];if(null==t)throw new tt({chunkType:"text-end",chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state="done",t.providerMetadata=null!=(d=e.providerMetadata)?d:t.providerMetadata,delete a.activeTextParts[e.id],s();break}case"custom":{let t={type:"custom",kind:e.kind,providerMetadata:e.providerMetadata};a.message.parts.push(t),s();break}case"reasoning-start":{let t={type:"reasoning",id:e.id,text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeReasoningParts[e.id]=t,a.message.parts.push(t),s();break}case"reasoning-delta":{let t=a.activeReasoningParts[e.id];if(null==t)throw new tt({chunkType:"reasoning-delta",chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(p=e.providerMetadata)?p:t.providerMetadata,s();break}case"reasoning-end":{let t=a.activeReasoningParts[e.id];if(null==t)throw new tt({chunkType:"reasoning-end",chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=null!=(c=e.providerMetadata)?c:t.providerMetadata,t.state="done",delete a.activeReasoningParts[e.id],s();break}case"file":case"reasoning-file":a.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}}),s();break;case"source-url":a.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),s();break;case"source-document":a.message.parts.push({type:"source-document",sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),s();break;case"tool-input-start":{let t=m().filter(aF);a.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),s();break}case"tool-input-delta":{let t=a.partialToolCalls[e.toolCallId];if(null==t)throw new tt({chunkType:"tool-input-delta",chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:o}=await oL(t.text);t.dynamic?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:o,title:t.title,toolMetadata:t.toolMetadata}):h({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:o,title:t.title,toolMetadata:t.toolMetadata}),s();break}case"tool-input-available":e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),s(),n&&!e.providerExecuted&&await n({toolCall:e});break;case"tool-input-error":{let t=m().filter(aH).find(t=>t.toolCallId===e.toolCallId);(null!=t?"dynamic-tool"===t.type:e.dynamic)?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):h({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),s();break}case"tool-approval-request":{let t=g(e.toolCallId);t.state="approval-requested",t.approval={id:e.approvalId,...null!=e.approvalDescriptor?{descriptor:e.approvalDescriptor}:{},...null!=e.reason?{requestReason:e.reason}:{},...!0===e.isAutomatic?{isAutomatic:!0}:{},...null!=e.signature?{signature:e.signature}:{}},s();break}case"tool-approval-response":{let t=function(e){let t=a.message.parts.filter(aH).find(t=>{var o;return(null==(o=t.approval)?void 0:o.id)===e});if(null==t)throw new tt({chunkType:"tool-approval-response",chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}(e.approvalId),o=null==t.approval?{id:e.approvalId}:t.approval;t.state="approval-responded",t.approval={...o,id:e.approvalId,approved:e.approved,...null!=e.reason?{reason:e.reason}:{}},null!=e.providerExecuted&&(t.providerExecuted=e.providerExecuted),null!=e.providerMetadata&&(t.callProviderMetadata=e.providerMetadata),s();break}case"tool-output-denied":g(e.toolCallId).state="output-denied",s();break;case"tool-output-available":{let t=g(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):h({toolCallId:e.toolCallId,toolName:aV(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),s();break}case"tool-output-error":{let t=g(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):h({toolCallId:e.toolCallId,toolName:aV(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),s();break}case"start-step":a.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let e=m();a.activeTextParts=aA(),a.activeReasoningParts=aA(),a.partialToolCalls=aA(),e.length>0&&(a.message.parts.splice(a.message.parts.length-e.length,e.length),s());break}case"start":null!=e.messageId&&(a.message.id=e.messageId),await y(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&s({updateStatus:!1});break;case"finish":null!=e.finishReason&&(a.finishReason=e.finishReason),await y(e.messageMetadata),null!=e.messageMetadata&&s();break;case"message-metadata":await y(e.messageMetadata),null!=e.messageMetadata&&s();break;case"error":null==r||r(Error(e.errorText));break;default:if(e.type.startsWith("data-")){if((null==o?void 0:o[e.type])!=null){let t=a.message.parts.findIndex(t=>"id"in t&&"data"in t&&t.id===e.id&&t.type===e.type),r=t>=0?t:a.message.parts.length;await (0,J.validateTypes)({value:e.data,schema:o[e.type],context:{field:`message.parts[${r}].data`,entityName:e.type,entityId:e.id}})}if(e.transient){null==i||i(e);break}let t=null!=e.id?a.message.parts.find(t=>e.type===t.type&&e.id===t.id):void 0;null!=t?t.data=e.data:a.message.parts.push(e),null==i||i(e),s()}}l.enqueue(e)})}}))})({stream:g,runUpdateMessageJob:async e=>{try{await e({state:y,write:()=>{}})}catch(e){throw m(e),e}},onError:i}).pipeThrough(new TransformStream({async transform(e,t){"finish-step"===e.type&&await _(),t.enqueue(e)},async cancel(){await b()},async flush(){await b()}}))}({stream:new ReadableStream({async pull(e){try{let{done:t,value:o}=await y.read();t?(_(),b||e.close()):e.enqueue(o)}catch(t){_(),b||(h(t),e.error(t))}},async cancel(e){if(b=!0,!v)try{await y.cancel(e)}finally{_()}}}).pipeThrough(new TransformStream({transform:async(e,s)=>{try{let u=null==l?void 0:l({part:e}),d=function(e,{tools:t,sendReasoning:o=!0,sendSources:a=!1,sendStart:r=!0,sendFinish:n=!0,onError:i=()=>"An error occurred.",messageMetadata:l,responseMessageId:s}={}){let u=e=>{let o=null==t?void 0:t[e.toolName];return null==o?e.dynamic:(null==o?void 0:o.type)==="dynamic"||void 0},d=e.type;switch(d){case"text-start":return{type:"text-start",id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"text-delta":return{type:"text-delta",id:e.id,delta:e.text,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"text-end":return{type:"text-end",id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"reasoning-start":case"reasoning-end":if(!o)return;return{type:d,id:e.id,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"reasoning-delta":if(!o)return;return{type:"reasoning-delta",id:e.id,delta:e.text,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"file":case"reasoning-file":if("reasoning-file"===d&&!o)return;return{type:e.type,mediaType:e.file.mediaType,url:`data:${e.file.mediaType};base64,${e.file.base64}`,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"source":if(!a)return;if("url"===e.sourceType)return{type:"source-url",sourceId:e.id,url:e.url,title:e.title,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};if("document"===e.sourceType)return{type:"source-document",sourceId:e.id,mediaType:e.mediaType,title:e.title,filename:e.filename,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};return;case"custom":return{type:"custom",kind:e.kind,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}};case"tool-input-start":{let t=u(e);return{type:"tool-input-start",toolCallId:e.id,toolName:e.toolName,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=t?{dynamic:t}:{},...null!=e.title?{title:e.title}:{}}}case"tool-input-delta":return{type:"tool-input-delta",toolCallId:e.id,inputTextDelta:e.delta};case"tool-call":{let t=u(e);if(e.invalid)return{type:"tool-input-error",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=t?{dynamic:t}:{},errorText:i(e.error),...null!=e.title?{title:e.title}:{}};return{type:"tool-input-available",toolCallId:e.toolCallId,toolName:e.toolName,input:e.input,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=t?{dynamic:t}:{},...null!=e.title?{title:e.title}:{}}}case"tool-approval-request":return{type:"tool-approval-request",approvalId:e.approvalId,toolCallId:e.toolCall.toolCallId,...null!=e.reason?{reason:e.reason}:{},...null!=e.isAutomatic?{isAutomatic:e.isAutomatic}:{},...null!=e.signature?{signature:e.signature}:{}};case"tool-approval-response":return{type:"tool-approval-response",approvalId:e.approvalId,approved:e.approved,...null!=e.reason?{reason:e.reason}:{},...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{}};case"tool-result":{let t=u(e);return{type:"tool-output-available",toolCallId:e.toolCallId,output:void 0===e.output?null:e.output,...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=e.preliminary?{preliminary:e.preliminary}:{},...null!=t?{dynamic:t}:{}}}case"tool-error":{let t=u(e);return{type:"tool-output-error",toolCallId:e.toolCallId,errorText:e.providerExecuted?"string"==typeof e.error?e.error:JSON.stringify(e.error):i(e.error),...null!=e.providerExecuted?{providerExecuted:e.providerExecuted}:{},...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{},...null!=e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=t?{dynamic:t}:{}}}case"tool-output-denied":return{type:"tool-output-denied",toolCallId:e.toolCallId};case"error":return{type:"error",errorText:i(e.error)};case"start-step":return{type:"start-step"};case"finish-step":return{type:"finish-step"};case"start":if(!r)return;return{type:"start",...null!=l?{messageMetadata:l}:{},...null!=s?{messageId:s}:{}};case"finish":if(!n)return;return{type:"finish",finishReason:e.finishReason,...null!=l?{messageMetadata:l}:{}};case"abort":return e;case"tool-input-end":case"raw":return;default:throw Error(`Unknown chunk type: ${d}`)}}(e,{tools:t,sendReasoning:o,sendSources:a,sendStart:r,sendFinish:n,onError:i,messageMetadata:u,responseMessageId:f});null!=d&&s.enqueue(d),null!=u&&"start"!==e.type&&"finish"!==e.type&&s.enqueue({type:"message-metadata",messageMetadata:u}),"finish"===e.type?g({status:"completed"}):"abort"===e.type?g({status:"aborted"}):"error"===e.type&&g({status:"failed",error:e.error})}catch(e){throw h(e),e}}})),messageId:null!=f?f:null==u?void 0:u(),originalMessages:s,onEnd:null!=d?d:p,onError:i,getOutcome:()=>c})}({stream:this.stream,tools:this.tools,originalMessages:e,generateMessageId:t,onEnd:null!=o?o:a,messageMetadata:r,sendReasoning:n,sendSources:i,sendStart:l,sendFinish:s,onError:u}))}pipeUIMessageStreamToResponse(e,{originalMessages:t,generateMessageId:o,onEnd:a,onFinish:r,messageMetadata:n,sendReasoning:i,sendSources:l,sendFinish:s,sendStart:u,onError:d,...p}={}){return function({response:e,status:t,statusText:o,headers:a,stream:r,consumeSseStream:n}){let i=r.pipeThrough(new aj);if(n){let[e,t]=i.tee();i=e,n({stream:t})}return aE({response:e,status:t,statusText:o,headers:Object.fromEntries(aC(a,aR).entries()),stream:i.pipeThrough(new TextEncoderStream)})}({response:e,stream:this.toUIMessageStream({originalMessages:t,generateMessageId:o,onEnd:null!=a?a:r,messageMetadata:n,sendReasoning:i,sendSources:l,sendFinish:s,sendStart:u,onError:d}),...p})}pipeTextStreamToResponse(e,t){return function({response:e,status:t,statusText:o,headers:a,stream:r}){return aE({response:e,status:t,statusText:o,headers:Object.fromEntries(aC(a,{"content-type":"text/plain; charset=utf-8"}).entries()),stream:r.pipeThrough(new TextEncoderStream)})}({response:e,stream:this.textStream,...t})}toUIMessageStreamResponse({originalMessages:e,generateMessageId:t,onEnd:o,onFinish:a,messageMetadata:r,sendReasoning:n,sendSources:i,sendFinish:l,sendStart:s,onError:u,...d}={}){return function({status:e,statusText:t,headers:o,stream:a,consumeSseStream:r}){let n=a.pipeThrough(new aj);if(r){let[e,t]=n.tee();n=e,r({stream:t})}return new Response(n.pipeThrough(new TextEncoderStream),{status:e,statusText:t,headers:aC(o,aR)})}({stream:this.toUIMessageStream({originalMessages:e,generateMessageId:t,onEnd:null!=o?o:a,messageMetadata:r,sendReasoning:n,sendSources:i,sendFinish:l,sendStart:s,onError:u}),...d})}toTextStreamResponse(e){return function({status:e,statusText:t,headers:o,stream:a}){return new Response(a.pipeThrough(new TextEncoderStream),{status:null!=e?e:200,statusText:t,headers:aC(o,{"content-type":"text/plain; charset=utf-8"})})}({stream:this.textStream,...e})}},rn=class{constructor(e){this.version="agent-v1";const{onFinish:t,onEnd:o=t}=e;this.settings={...e,onEnd:o}}get id(){return this.settings.id}get tools(){return this.settings.tools}async prepareCall(e){var t,o,a,r;if(null!=this.settings.callOptionsSchema&&void 0!==e.options){let t=await (0,J.validateTypes)({value:e.options,schema:this.settings.callOptionsSchema,context:{field:"options"}});e={...e,options:t}}let{onStart:n,experimental_onStart:i,onStepStart:l,experimental_onStepStart:s,onToolExecutionStart:u,onToolExecutionEnd:d,onStepEnd:p,onStepFinish:c,onFinish:m,onEnd:g,...h}=this.settings,f={...h,stopWhen:null!=(t=this.settings.stopWhen)?t:al(20),...e},{instructions:y,allowSystemInMessages:v,messages:b,prompt:_,runtimeContext:w,...z}=null!=(r=await (null==(a=(o=this.settings).prepareCall)?void 0:a.call(o,f)))?r:f,I={instructions:y,allowSystemInMessages:v,messages:b,prompt:_};return void 0===w?{...z,...I}:{...z,runtimeContext:w,...I}}agentHeaders(e){var t;return(0,J.withUserAgentSuffix)(null!=(t=e.headers)?t:{},"ai-sdk-agent/tool-loop")}async generate({abortSignal:e,timeout:t,experimental_sandbox:o,onStart:a,experimental_onStart:r,onStepStart:n,experimental_onStepStart:i,onToolExecutionStart:l,onToolExecutionEnd:s,onStepEnd:u,onStepFinish:d,onFinish:p,onEnd:c=p,...m}){var g,h,f;let y=await this.prepareCall({...m,experimental_sandbox:o}),v={abortSignal:e,timeout:null!=t?t:y.timeout,experimental_sandbox:o,onStart:o6(null!=(g=this.settings.onStart)?g:this.settings.experimental_onStart,null!=a?a:r),onStepStart:o6(null!=(h=this.settings.onStepStart)?h:this.settings.experimental_onStepStart,null!=n?n:i),onToolExecutionStart:o6(this.settings.onToolExecutionStart,l),onToolExecutionEnd:o6(this.settings.onToolExecutionEnd,s),onStepEnd:o6(null!=(f=this.settings.onStepEnd)?f:this.settings.onStepFinish,null!=u?u:d),onEnd:o6(this.settings.onEnd,c)};return await aT({...y,...v,headers:this.agentHeaders(y)})}async stream({abortSignal:e,timeout:t,experimental_sandbox:o,experimental_transform:a,onStart:r,experimental_onStart:n,onStepStart:i,experimental_onStepStart:l,onToolExecutionStart:s,onToolExecutionEnd:u,onStepEnd:d,onStepFinish:p,onFinish:c,onEnd:m=c,...g}){var h,f,y;let v=await this.prepareCall({...g,experimental_sandbox:o}),b={abortSignal:e,timeout:null!=t?t:v.timeout,experimental_sandbox:o,experimental_transform:a,onStart:o6(null!=(h=this.settings.onStart)?h:this.settings.experimental_onStart,null!=r?r:n),onStepStart:o6(null!=(f=this.settings.onStepStart)?f:this.settings.experimental_onStepStart,null!=i?i:l),onToolExecutionStart:o6(this.settings.onToolExecutionStart,s),onToolExecutionEnd:o6(this.settings.onToolExecutionEnd,u),onStepEnd:o6(null!=(y=this.settings.onStepEnd)?y:this.settings.onStepFinish,null!=d?d:p),onEnd:o6(this.settings.onEnd,m)};return await rt({...v,...b,headers:this.agentHeaders(v)})}};async function ri(e,t){let o=[];for(let r of((null==t?void 0:t.ignoreIncompleteToolCalls)&&(e=e.map(e=>({...e,parts:e.parts.filter(e=>!aH(e)||"approval-responded"===e.state||"output-available"===e.state&&!0!==e.preliminary||"output-error"===e.state||"output-denied"===e.state)}))),e))switch(r.role){case"system":{let e=r.parts.filter(e=>"text"===e.type),t=e.reduce((e,t)=>null!=t.providerMetadata?{...e,...t.providerMetadata}:e,{});o.push({role:"system",content:e.map(e=>e.text).join(""),...Object.keys(t).length>0?{providerOptions:t}:{}});break}case"user":o.push({role:"user",content:r.parts.map(e=>{var o;return aP(e)?{type:"text",text:e.text,...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}}:aD(e)?{type:"file",mediaType:e.mediaType,filename:e.filename,data:null!=e.providerReference?{type:"reference",reference:e.providerReference}:{type:"url",url:new URL(e.url)},...null!=e.providerMetadata?{providerOptions:e.providerMetadata}:{}}:aN(e)?null==(o=null==t?void 0:t.convertDataPart)?void 0:o.call(t,e):void 0}).filter(J.isNonNullable)});break;case"assistant":if(null!=r.parts){let e=[];async function a(){var a,r,n,i,l,s,u,d;if(0===e.length)return;let p=[];for(let o of e)if(aP(o))p.push({type:"text",text:o.text,...null!=o.providerMetadata?{providerOptions:o.providerMetadata}:{}});else if(aq(o))p.push({type:"custom",kind:o.kind,...null!=o.providerMetadata?{providerOptions:o.providerMetadata}:{}});else if(aD(o))p.push({type:"file",mediaType:o.mediaType,filename:o.filename,data:null!=o.providerReference?{type:"reference",reference:o.providerReference}:{type:"url",url:new URL(o.url)},...null!=o.providerMetadata?{providerOptions:o.providerMetadata}:{}});else if(aU(o))p.push({type:"reasoning-file",data:{type:"url",url:new URL(o.url)},mediaType:o.mediaType,providerOptions:o.providerMetadata});else if(a$(o))p.push({type:"reasoning",text:o.text,providerOptions:o.providerMetadata});else if(aH(o)){let e=aJ(o);if("input-streaming"!==o.state){let i=null!=(a=o.callProviderMetadata)?a:"output-error"===o.state?o.resultProviderMetadata:void 0;if(p.push({type:"tool-call",toolCallId:o.toolCallId,toolName:e,input:"output-error"===o.state?null!=(r=o.input)?r:"rawInput"in o?o.rawInput:void 0:o.input,providerExecuted:o.providerExecuted,...null!=i?{providerOptions:i}:{}}),null!=o.approval&&p.push({type:"tool-approval-request",approvalId:o.approval.id,toolCallId:o.toolCallId,isAutomatic:o.approval.isAutomatic,...null!=o.approval.requestReason?{reason:o.approval.requestReason}:{},...null!=o.approval.signature?{signature:o.approval.signature}:{}}),!0===o.providerExecuted&&"approval-responded"!==o.state&&("output-available"===o.state||"output-error"===o.state)){let a=null!=(n=o.resultProviderMetadata)?n:o.callProviderMetadata;p.push({type:"tool-result",toolCallId:o.toolCallId,toolName:e,output:await tY({toolCallId:o.toolCallId,input:o.input,output:"output-error"===o.state?o.errorText:o.output,tool:ox(null==t?void 0:t.tools,e),errorMode:"output-error"===o.state?"json":"none"}),...null!=a?{providerOptions:a}:{}})}}}else if(aN(o)){let e=null==(i=null==t?void 0:t.convertDataPart)?void 0:i.call(t,o);null!=e&&p.push(e)}else throw Error(`Unsupported part: ${o}`);p.length>0&&o.push({role:"assistant",content:p});let c=e.filter(e=>{var t;return aH(e)&&(!0!==e.providerExecuted||(null==(t=e.approval)?void 0:t.approved)!=null)});if(c.length>0){let e=[];for(let o of c)if((null==(l=o.approval)?void 0:l.approved)!=null&&e.push({type:"tool-approval-response",approvalId:o.approval.id,approved:o.approval.approved,reason:o.approval.reason,providerExecuted:o.providerExecuted}),"approval-responded"===o.state&&(null==(s=o.approval)?void 0:s.approved)===!1&&e.push({type:"tool-result",toolCallId:o.toolCallId,toolName:aJ(o),output:{type:"execution-denied",reason:o.approval.reason},...null!=o.callProviderMetadata?{providerOptions:o.callProviderMetadata}:{}}),!0!==o.providerExecuted)switch(o.state){case"output-denied":e.push({type:"tool-result",toolCallId:o.toolCallId,toolName:aJ(o),output:{type:"error-text",value:null!=(d=null==(u=o.approval)?void 0:u.reason)?d:"Tool call execution denied."},...null!=o.callProviderMetadata?{providerOptions:o.callProviderMetadata}:{}});break;case"output-error":case"output-available":{let a=aJ(o);e.push({type:"tool-result",toolCallId:o.toolCallId,toolName:a,output:await tY({toolCallId:o.toolCallId,input:o.input,output:"output-error"===o.state?o.errorText:o.output,tool:ox(null==t?void 0:t.tools,a),errorMode:"output-error"===o.state?"text":"none"}),...null!=o.callProviderMetadata?{providerOptions:o.callProviderMetadata}:{}})}}e.length>0&&o.push({role:"tool",content:e})}e=[]}for(let t of r.parts)aq(t)||aP(t)||a$(t)||aU(t)||aD(t)||aH(t)||aN(t)?e.push(t):"step-start"===t.type&&await a();await a()}break;default:{let e=r.role;throw new tm({originalMessage:r,message:`Unsupported role: ${e}`})}}return o}var rl=t3.record(t3.string(),t8.optional()),rs=t3.record(t3.string(),t3.string());function ru(e){let{type:t,...o}=e;return{...o,type:"dynamic-tool",toolName:t.slice(5)}}var rd=(0,J.lazySchema)(()=>(0,J.zodSchema)(t3.array(t3.object({id:t3.string(),role:t3.enum(["system","user","assistant"]),metadata:t3.unknown().optional(),parts:t3.array(t3.union([t3.object({type:t3.literal("text"),text:t3.string(),state:t3.enum(["streaming","done"]).optional(),providerMetadata:t5.optional()}),t3.object({type:t3.literal("reasoning"),id:t3.string().optional(),text:t3.string(),state:t3.enum(["streaming","done"]).optional(),providerMetadata:t5.optional()}),t3.object({type:t3.literal("custom"),kind:t3.string(),providerMetadata:t5.optional()}),t3.object({type:t3.literal("source-url"),sourceId:t3.string(),url:t3.string(),title:t3.string().optional(),providerMetadata:t5.optional()}),t3.object({type:t3.literal("source-document"),sourceId:t3.string(),mediaType:t3.string(),title:t3.string(),filename:t3.string().optional(),providerMetadata:t5.optional()}),t3.object({type:t3.literal("file"),mediaType:t3.string(),filename:t3.string().optional(),url:t3.string(),providerReference:rs.optional(),providerMetadata:t5.optional()}),t3.object({type:t3.literal("reasoning-file"),mediaType:t3.string(),url:t3.string(),providerMetadata:t5.optional()}),t3.object({type:t3.literal("step-start")}),t3.object({type:t3.string().startsWith("data-"),id:t3.string().optional(),data:t3.unknown()}),t3.object({type:t3.literal("dynamic-tool"),toolName:t3.string(),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("input-streaming"),input:t3.unknown().optional(),providerExecuted:t3.boolean().optional(),callProviderMetadata:t5.optional(),output:t3.never().optional(),errorText:t3.never().optional(),approval:t3.never().optional()}),t3.object({type:t3.literal("dynamic-tool"),toolName:t3.string(),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("input-available"),input:t3.unknown(),providerExecuted:t3.boolean().optional(),output:t3.never().optional(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),approval:t3.never().optional()}),t3.object({type:t3.literal("dynamic-tool"),toolName:t3.string(),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("approval-requested"),input:t3.unknown(),providerExecuted:t3.boolean().optional(),output:t3.never().optional(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),approval:t3.object({id:t3.string(),approved:t3.never().optional(),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.never().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()})}),t3.object({type:t3.literal("dynamic-tool"),toolName:t3.string(),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("approval-responded"),input:t3.unknown(),providerExecuted:t3.boolean().optional(),output:t3.never().optional(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),approval:t3.object({id:t3.string(),approved:t3.boolean(),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.string().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()})}),t3.object({type:t3.literal("dynamic-tool"),toolName:t3.string(),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("output-available"),input:t3.unknown(),providerExecuted:t3.boolean().optional(),output:t3.unknown(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),resultProviderMetadata:t5.optional(),preliminary:t3.boolean().optional(),approval:t3.object({id:t3.string(),approved:t3.literal(!0),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.string().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()}).optional()}),t3.object({type:t3.literal("dynamic-tool"),toolName:t3.string(),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("output-error"),input:t3.unknown().optional(),rawInput:t3.unknown().optional(),providerExecuted:t3.boolean().optional(),output:t3.never().optional(),errorText:t3.string(),callProviderMetadata:t5.optional(),resultProviderMetadata:t5.optional(),approval:t3.object({id:t3.string(),approved:t3.literal(!0),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.string().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()}).optional()}),t3.object({type:t3.literal("dynamic-tool"),toolName:t3.string(),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("output-denied"),input:t3.unknown(),providerExecuted:t3.boolean().optional(),output:t3.never().optional(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),approval:t3.object({id:t3.string(),approved:t3.literal(!1),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.string().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()})}),t3.object({type:t3.string().startsWith("tool-"),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("input-streaming"),providerExecuted:t3.boolean().optional(),callProviderMetadata:t5.optional(),input:t3.unknown().optional(),output:t3.never().optional(),errorText:t3.never().optional(),approval:t3.never().optional()}),t3.object({type:t3.string().startsWith("tool-"),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("input-available"),providerExecuted:t3.boolean().optional(),input:t3.unknown(),output:t3.never().optional(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),approval:t3.never().optional()}),t3.object({type:t3.string().startsWith("tool-"),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("approval-requested"),input:t3.unknown(),providerExecuted:t3.boolean().optional(),output:t3.never().optional(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),approval:t3.object({id:t3.string(),approved:t3.never().optional(),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.never().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()})}),t3.object({type:t3.string().startsWith("tool-"),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("approval-responded"),input:t3.unknown(),providerExecuted:t3.boolean().optional(),output:t3.never().optional(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),approval:t3.object({id:t3.string(),approved:t3.boolean(),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.string().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()})}),t3.object({type:t3.string().startsWith("tool-"),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("output-available"),providerExecuted:t3.boolean().optional(),input:t3.unknown(),output:t3.unknown(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),resultProviderMetadata:t5.optional(),preliminary:t3.boolean().optional(),approval:t3.object({id:t3.string(),approved:t3.literal(!0),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.string().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()}).optional()}),t3.object({type:t3.string().startsWith("tool-"),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("output-error"),providerExecuted:t3.boolean().optional(),input:t3.unknown().optional(),rawInput:t3.unknown().optional(),output:t3.never().optional(),errorText:t3.string(),callProviderMetadata:t5.optional(),resultProviderMetadata:t5.optional(),approval:t3.object({id:t3.string(),approved:t3.literal(!0),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.string().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()}).optional()}),t3.object({type:t3.string().startsWith("tool-"),toolCallId:t3.string(),title:t3.string().optional(),toolMetadata:rl.optional(),state:t3.literal("output-denied"),providerExecuted:t3.boolean().optional(),input:t3.unknown(),output:t3.never().optional(),errorText:t3.never().optional(),callProviderMetadata:t5.optional(),approval:t3.object({id:t3.string(),approved:t3.literal(!1),descriptor:t3.unknown().optional(),requestReason:t3.string().optional(),reason:t3.string().optional(),isAutomatic:t3.boolean().optional(),signature:t3.string().optional()})})]))}).superRefine((e,t)=>{"assistant"!==e.role&&0===e.parts.length&&t.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:e.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty")));async function rp({messages:e,metadataSchema:t,dataSchemas:o,tools:a},{convertMissingTerminalToolsToDynamic:r}){try{if(null==e)return{success:!1,error:new X({parameter:"messages",value:e,message:"messages parameter must be provided"})};let i=await (0,J.validateTypes)({value:e,schema:rd});if(t)for(let[e,o]of i.entries())await (0,J.validateTypes)({value:o.metadata,schema:t,context:{field:`messages[${e}].metadata`,entityId:o.id}});let l=null!=a||r;if(o||l)for(let[e,t]of i.entries())for(let[i,s]of t.parts.entries()){if(o&&s.type.startsWith("data-")){let t=s.type.slice(5),a=o[t];if(!a)return{success:!1,error:new B.TypeValidationError({value:s.data,cause:`No data schema found for data part ${t}`,context:{field:`messages[${e}].parts[${i}].data`,entityName:t,entityId:s.id}})};await (0,J.validateTypes)({value:s.data,schema:a,context:{field:`messages[${e}].parts[${i}].data`,entityName:t,entityId:s.id}})}if(l&&s.type.startsWith("tool-")){let o=s.type.slice(5),l=null==a?void 0:ox(a,o),u="output-available"===s.state||"output-error"===s.state||"output-denied"===s.state;if(!l&&u){(null!=a||r)&&(t.parts[i]=ru(s));continue}if(!l)return{success:!1,error:new B.TypeValidationError({value:s.input,cause:`No tool schema found for tool part ${o}`,context:{field:`messages[${e}].parts[${i}].input`,entityName:o,entityId:s.toolCallId}})};let d={field:`messages[${e}].parts[${i}].input`,entityName:o,entityId:s.toolCallId},p=!1;if("output-error"===s.state)void 0!==s.input&&(p=!(await (0,J.safeValidateTypes)({value:s.input,schema:l.inputSchema,context:d})).success);else if("output-available"===s.state){let e=await (0,J.safeValidateTypes)({value:s.input,schema:l.inputSchema,context:d});if(!e.success){var n;if(n=s.input,null==n||"object"!=typeof n||Array.isArray(n)||0!==Object.keys(n).length)throw e.error;p=!0}}else("input-available"===s.state||"approval-requested"===s.state||"approval-responded"===s.state||"output-denied"===s.state)&&await (0,J.validateTypes)({value:s.input,schema:l.inputSchema,context:d});"output-available"===s.state&&l.outputSchema&&await (0,J.validateTypes)({value:s.output,schema:l.outputSchema,context:{field:`messages[${e}].parts[${i}].output`,entityName:o,entityId:s.toolCallId}}),p&&(t.parts[i]=ru(s))}}return{success:!0,data:i}}catch(e){return{success:!1,error:e}}}async function rc(e){return rp(e,{convertMissingTerminalToolsToDynamic:!1})}async function rm(e){let t=await rc(e);if(!t.success)throw t.error;return t.data}function rg(e){if(e instanceof Uint8Array)return e;if("string"==typeof e)try{return(0,J.convertBase64ToUint8Array)(e)}catch(t){throw new tn({message:"Invalid data content. Content string is not a base64-encoded media.",content:e,cause:t})}if(e instanceof ArrayBuffer)return new Uint8Array(e);throw new tn({content:e})}(0,J.createIdGenerator)({prefix:"call",size:24}),(0,J.createIdGenerator)({prefix:"call",size:24}),new TextEncoder;var rh=["cost","gatewayCost","inferenceCost","inputInferenceCost","marketCost","outputInferenceCost","surchargeCost"];async function rf({model:e,prompt:t,n:o=1,maxImagesPerCall:a,size:r,aspectRatio:n,seed:i,providerOptions:l,maxRetries:s,abortSignal:u,headers:d}){var p,c,m;let g=function(e){if("string"==typeof e)return tA().imageModel(e);if(!["v4","v3","v2"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return tx(e)}(e),h=(0,J.withUserAgentSuffix)(null!=d?d:{},`ai/${tP}`),{retry:f}=oM({maxRetries:s,abortSignal:u}),y=null!=(p=null!=a?a:await rv(g))?p:1,v=Math.ceil(o/y),b=Array.from({length:v},(e,t)=>{if(t<v-1)return y;let a=o%y;return 0===a?y:a}),_=await Promise.all(b.map(async e=>await f(()=>{var o;let{prompt:a,files:s,mask:d}="string"==typeof(o=t)?{prompt:o,files:void 0,mask:void 0}:{prompt:o.text,files:o.images.map(rb),mask:o.mask?rb(o.mask):void 0};return g.doGenerate({prompt:a,files:s,mask:d,n:e,abortSignal:u,headers:h,size:r,aspectRatio:n,seed:i,providerOptions:null!=l?l:{}})}))),w=[],z=[],I=[],x=[],k={},T={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0};for(let e of _){let t=e.images.map((t,o)=>{var a;return new oR({data:t,mediaType:null!=(a=(0,J.detectMediaType)({data:t,topLevelType:"image"}))?a:"image/png",providerMetadata:function(e,t){var o;let a;if(null!=e){for(let[r,n]of Object.entries(e)){let e=null==(o=n.images)?void 0:o[t];(0,B.isJSONObject)(e)&&!Array.isArray(e)&&((null!=a?a:a={})[r]=e)}return a}}(e.providerMetadata,o)})});if(w.push(...t),z.push({images:t,providerMetadata:e.providerMetadata,response:e.response,warnings:e.warnings,usage:e.usage}),I.push(...e.warnings),null!=e.usage&&(c=T,m=e.usage,T={inputTokens:oI(c.inputTokens,m.inputTokens),outputTokens:oI(c.outputTokens,m.outputTokens),totalTokens:oI(c.totalTokens,m.totalTokens)}),e.providerMetadata)for(let[t,o]of Object.entries(e.providerMetadata))if("gateway"===t){let e=k[t];if(null!=e&&"object"==typeof e){let a=o;k[t]={...e,...o,...Object.fromEntries(rh.flatMap(t=>{let o=function(e,t){if("string"!=typeof e||"string"!=typeof t||!/^\d+(?:\.\d+)?$/.test(e)||!/^\d+(?:\.\d+)?$/.test(t))return;let[o,a=""]=e.split("."),[r,n=""]=t.split("."),i=Math.max(a.length,n.length),l=(BigInt(o+a.padEnd(i,"0"))+BigInt(r+n.padEnd(i,"0"))).toString().padStart(i+1,"0");return 0===i?l:`${l.slice(0,-i)}.${l.slice(-i)}`.replace(/\.?0+$/,"")}(e[t],a[t]);return null==o?[]:[[t,o]]}))}}else k[t]={...o};let a=k[t].images;Array.isArray(a)&&0===a.length&&delete k[t].images}else null!=k[t]||(k[t]={images:[]}),k[t].images.push(...o.images);x.push(e.response)}if(t_({warnings:I,provider:g.provider,model:g.modelId}),!w.length)throw new eI({calls:z,responses:x});return new ry({images:w,calls:z,warnings:I,responses:x,providerMetadata:k,usage:T})}var ry=class{constructor(e){this.images=e.images,this.calls=e.calls,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=e.providerMetadata,this.usage=e.usage}get image(){return this.images[0]}};async function rv(e){return e.maxImagesPerCall instanceof Function?e.maxImagesPerCall({modelId:e.modelId}):e.maxImagesPerCall}function rb(e){if("string"==typeof e&&e.startsWith("http"))return{type:"url",url:e};if("string"==typeof e&&e.startsWith("data:")){let{mediaType:t,base64Content:o}=tU(e);if(null!=o){let e=(0,J.convertBase64ToUint8Array)(o);return{type:"file",data:e,mediaType:t||(0,J.detectMediaType)({data:e,topLevelType:"image"})||"image/png"}}}let t=rg(e);return{type:"file",data:t,mediaType:(0,J.detectMediaType)({data:t,topLevelType:"image"})||"image/png"}}function r_(e){return({url:t,abortSignal:o})=>tq({url:t,maxBytes:null==e?void 0:e.maxBytes,abortSignal:o})}(0,J.createIdGenerator)({prefix:"aiobj",size:24}),(0,J.createIdGenerator)({prefix:"aiobj",size:24});var rw=class extends oR{constructor({data:e,mediaType:t}){super({data:e,mediaType:t});let o="mp3";if(t){const e=t.split("/");2===e.length&&"audio/mpeg"!==t&&(o=e[1])}if(!o)throw Error("Audio format must be provided or determinable from media type");this.format=o}};async function rz({model:e,text:t,voice:o,outputFormat:a,instructions:r,speed:n,language:i,providerOptions:l={},maxRetries:s,abortSignal:u,headers:d}){var p;let c=function(e){var t,o;if("string"==typeof e)return null==(o=(t=tA()).speechModel)?void 0:o.call(t,e);if(!["v4","v3","v2"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return tE(e)}(e);if(!c)throw Error("Model could not be resolved");let m=(0,J.withUserAgentSuffix)(null!=d?d:{},`ai/${tP}`),{retry:g}=oM({maxRetries:s,abortSignal:u}),h=await g(()=>c.doGenerate({text:t,voice:o,outputFormat:a,instructions:r,speed:n,language:i,abortSignal:u,headers:m,providerOptions:l}));if(!h.audio||0===h.audio.length)throw new eN({responses:[h.response]});return t_({warnings:h.warnings,provider:c.provider,model:c.modelId}),new rI({audio:new rw({data:h.audio,mediaType:null!=(p=(0,J.detectMediaType)({data:h.audio,topLevelType:"audio"}))?p:"audio/mp3"}),warnings:h.warnings,responses:[h.response],providerMetadata:h.providerMetadata})}var rI=class{constructor(e){var t;this.audio=e.audio,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=null!=(t=e.providerMetadata)?t:{}}},rx=r_();async function rk({model:e,prompt:t,n:o=1,maxVideosPerCall:a,aspectRatio:r,resolution:n,duration:i,fps:l,seed:s,frameImages:u,inputReferences:d,generateAudio:p,providerOptions:c,maxRetries:m,abortSignal:g,headers:h,download:f=rx,poll:y,webhook:v}){var b;let _=function(e){var t;if("string"==typeof e){let o=(null!=(t=globalThis.AI_SDK_DEFAULT_PROVIDER)?t:V.gateway).videoModel;if(!o)throw Error('The default provider does not support video models. Please use a Experimental_VideoModelV4 object from a provider (e.g., vertex.video("model-id")).');return o(e)}if(!["v4","v3"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return"v4"===e.specificationVersion?e:new Proxy(e,{get:(e,t)=>"specificationVersion"===t?"v4":e[t]})}(e),w=(0,J.withUserAgentSuffix)(null!=h?h:{},`ai/${tP}`),{retry:z}=oM({maxRetries:m,abortSignal:g}),{prompt:I,resolvedImage:x,normalizedFrameImages:k,effectiveInputReferences:T,warnings:S}=function({promptArg:e,frameImages:t,inputReferences:o}){var a;let{prompt:r,image:n}="string"==typeof e?{prompt:e,image:void 0}:{prompt:e.text,image:null!=e.image?rE(e.image):void 0},i=null==t?void 0:t.flatMap(e=>{let t=rE(e.image);return null!=t?[{image:t,frameType:e.frameType}]:[]}),l=null==o?void 0:o.flatMap(e=>{let t=function(e){if(!("object"==typeof e&&null!=e&&!(e instanceof Uint8Array)&&!(e instanceof ArrayBuffer)&&"data"in e))return rE(e,{restrictToImages:!1});let t=rE(e.data,{restrictToImages:!1});return null==t?t:{...t,...null!=e.mediaType?{mediaType:e.mediaType}:{}}}(e);return null!=t?[t]:[]}),s=null!=i&&i.length>0?void 0:l,u=[];null!=i&&i.length>0&&null!=l&&l.length>0&&u.push({type:"other",message:"inputReferences were ignored because frameImages were provided; frameImages and inputReferences cannot be combined."});let d=null==(a=null==i?void 0:i.find(e=>"first_frame"===e.frameType))?void 0:a.image;return null!=n&&null!=d&&u.push({type:"other",message:"prompt.image was ignored because a first_frame frameImage was provided; the first_frame frameImage takes precedence as the start image."}),{prompt:r,resolvedImage:null!=d?d:n,normalizedFrameImages:i,effectiveInputReferences:s,warnings:u}}({promptArg:t,frameImages:u,inputReferences:d}),M=null!=(b=null!=a?a:await rj(_))?b:1,C=null!=_.doStart&&null!=_.doStatus,E=C&&(null!=y||null!=v||null==_.doGenerate);if(null==_.doGenerate&&!C)throw Error(`Video model ${_.modelId} does not implement doGenerate or doStart/doStatus.`);null==y&&null==v||C||t_({warnings:[{type:"other",message:"poll/webhook options were provided but the model does not support doStart/doStatus. Falling back to doGenerate."}],provider:_.provider,model:_.modelId});let j=Array.from({length:Math.ceil(o/M)},(e,t)=>Math.min(o-t*M,M)),R=await Promise.all(j.map(async e=>{let t={prompt:I,n:e,aspectRatio:r,resolution:n,duration:i,fps:l,seed:s,image:x,frameImages:k,inputReferences:T,generateAudio:p,providerOptions:null!=c?c:{},headers:w,abortSignal:g};return E?rT({model:_,callOptions:t,poll:y,webhook:v,retry:z}):z(()=>_.doGenerate(t))})),O=[],A=[],N={};for(let e of R){for(let t of e.videos)switch(t.type){case"url":{let{data:e,mediaType:o}=await f({url:new URL(t.url),abortSignal:g}),a=e=>!!e&&"application/octet-stream"!==e,r=a(t.mediaType)&&t.mediaType||a(o)&&o||(0,J.detectMediaType)({data:e,topLevelType:"video"})||"video/mp4";O.push(new oR({data:e,mediaType:r}));break}case"base64":O.push(new oR({data:t.data,mediaType:t.mediaType||"video/mp4"}));break;case"binary":{let e=t.mediaType||(0,J.detectMediaType)({data:t.data,topLevelType:"video"})||"video/mp4";O.push(new oR({data:t.data,mediaType:e}))}}S.push(...e.warnings),A.push({timestamp:e.response.timestamp,modelId:e.response.modelId,headers:e.response.headers,providerMetadata:e.providerMetadata}),null!=e.providerMetadata&&rM(N,e.providerMetadata)}if(0===O.length)throw new eV({responses:A});return S.length>0&&t_({warnings:S,provider:_.provider,model:_.modelId}),{video:O[0],videos:O,warnings:S,responses:A,providerMetadata:N}}async function rT({model:e,callOptions:t,poll:o,webhook:a,retry:r}){var n,i,l,s;let u,d,p=[];if(null!=a)if(null!=e.handleWebhookOption){let t=await e.handleWebhookOption({webhook:a});u=t.webhookUrl,d=t.received}else p.push({type:"unsupported",feature:"webhook",details:"This model does not support webhooks. Falling back to polling."});let c=Object.entries(null!=(n=t.headers)?n:{}).find(([e,t])=>"idempotency-key"===e.toLowerCase()&&void 0!==t),m={...t,headers:{...t.headers,...c?{}:{"idempotency-key":`aisdk_vid_${(0,J.generateId)()}`}},webhookUrl:u},g=await r(()=>e.doStart(m)),h=[...p,...g.warnings],f=null==g.providerMetadata?void 0:{...g.providerMetadata},y=null!=(i=null==o?void 0:o.intervalMs)?i:5e3,v=null!=(l=null==o?void 0:o.timeoutMs)?l:6e5,b=null!=(s=null==o?void 0:o.delay)?s:J.delay,_=Date.now();for(null!=d&&await rS({received:d,timeoutMs:v,abortSignal:t.abortSignal,delay:b});;){if(null==d){let e=Date.now()-_;if(e>=v||(await b(Math.min(y,v-e),{abortSignal:t.abortSignal}),Date.now()-_>=v))throw Error(`Video generation timed out after ${v}ms.`)}let o=await r(()=>e.doStatus({operation:g.operation,abortSignal:t.abortSignal,headers:t.headers}));if("error"===o.status)throw Error(o.error);if(null!=o.warnings&&h.push(...o.warnings),null!=o.providerMetadata&&(null!=f||(f={}),rM(f,o.providerMetadata)),"completed"===o.status)return{videos:o.videos,warnings:h,providerMetadata:f,response:o.response};if(null!=d)throw Error("Video generation did not complete after webhook notification.")}}async function rS({received:e,timeoutMs:t,abortSignal:o,delay:a}){let r="function"==typeof globalThis.AbortController?new globalThis.AbortController:void 0;try{await Promise.race([e,a(t,{abortSignal:null==r?o:ok(o,r.signal)}).then(()=>{throw Error(`Video generation timed out after ${t}ms.`)})])}finally{null==r||r.abort()}}function rM(e,t){for(let[o,a]of Object.entries(t)){let t=e[o];null!=t&&"object"==typeof t&&null!=a&&"object"==typeof a?(e[o]={...t,...a},"videos"in t&&Array.isArray(t.videos)&&"videos"in a&&Array.isArray(a.videos)&&(e[o].videos=[...t.videos,...a.videos])):e[o]=a}}function rC(e,t){let o=t?(0,J.detectMediaType)({data:e,topLevelType:"image"}):(0,J.detectMediaType)({data:e});return null!=o?o:"image/png"}function rE(e,{restrictToImages:t=!0}={}){if("string"==typeof e){if(e.startsWith("http://")||e.startsWith("https://"))return{type:"url",url:e};if(e.startsWith("data:")){let{mediaType:o,base64Content:a}=tU(e),r=(0,J.convertBase64ToUint8Array)(null!=a?a:"");return{type:"file",mediaType:null!=o?o:rC(r,t),data:r}}let o=(0,J.convertBase64ToUint8Array)(e);return{type:"file",mediaType:rC(o,t),data:o}}if(e instanceof Uint8Array||e instanceof ArrayBuffer){let o=e instanceof Uint8Array?e:new Uint8Array(e);return{type:"file",mediaType:rC(o,t),data:o}}}async function rj(e){return"function"==typeof e.maxVideosPerCall?await e.maxVideosPerCall({modelId:e.modelId}):e.maxVideosPerCall}Symbol.for("vercel.ai.error.AI_NoSuchProviderError");B.NoSuchModelError,(0,J.createIdGenerator)({prefix:"call",size:24});var rR=r_();async function rO({model:e,audio:t,providerOptions:o={},maxRetries:a,abortSignal:r,headers:n,download:i=rR}){let l=function(e){var t,o;if("string"==typeof e)return null==(o=(t=tA()).transcriptionModel)?void 0:o.call(t,e);if(!["v4","v3","v2"].includes(e.specificationVersion))throw new e5({version:e.specificationVersion,provider:e.provider,modelId:e.modelId});return tR(e)}(e);if(!l)throw Error("Model could not be resolved");let{retry:s}=oM({maxRetries:a,abortSignal:r}),u=(0,J.withUserAgentSuffix)(null!=n?n:{},`ai/${tP}`),d=t instanceof URL?(await i({url:t,abortSignal:r})).data:rg(t),p=await s(()=>{var e;return l.doGenerate({audio:d,abortSignal:r,headers:u,providerOptions:o,mediaType:null!=(e=(0,J.detectMediaType)({data:d,topLevelType:"audio"}))?e:"audio/wav"})});if(t_({warnings:p.warnings,provider:l.provider,model:l.modelId}),!p.text)throw new eU({responses:[p.response]});return new rA({text:p.text,segments:p.segments,language:p.language,durationInSeconds:p.durationInSeconds,warnings:p.warnings,responses:[p.response],providerMetadata:p.providerMetadata})}var rA=class{constructor(e){var t;this.text=e.text,this.segments=e.segments,this.language=e.language,this.durationInSeconds=e.durationInSeconds,this.warnings=e.warnings,this.responses=e.responses,this.providerMetadata=null!=(t=e.providerMetadata)?t:{}}};e.s(["NoOutputGeneratedError",0,ej,"RetryError",0,ty,"ToolLoopAgent",0,rn,"convertToModelMessages",0,ri,"experimental_generateVideo",0,rk,"generateImage",0,rf,"generateSpeech",0,rz,"generateText",0,aT,"hasToolCall",0,function(...e){return({steps:t})=>{var o,a,r;return null!=(r=null==(a=null==(o=t[t.length-1])?void 0:o.toolCalls)?void 0:a.some(t=>e.includes(t.toolName)))&&r}},"pruneMessages",0,function({messages:e,reasoning:t="none",toolCalls:o=[],emptyMessages:a="remove"}){for(let a of(("all"===t||"before-last-message"===t)&&(e=e.map((o,a)=>"assistant"!==o.role||"string"==typeof o.content||"before-last-message"===t&&a===e.length-1?o:{...o,content:o.content.filter(e=>"reasoning"!==e.type)})),"none"===o?o=[]:"all"===o?o=[{type:"all"}]:"before-last-message"===o?o=[{type:"before-last-message"}]:"string"==typeof o&&(o=[{type:o}]),o)){let t="all"===a.type?void 0:"before-last-message"===a.type?1:Number(a.type.slice(12).slice(0,-9)),o=new Set,r=new Set;if(null!=t){for(let a of e.slice(-t))if(("assistant"===a.role||"tool"===a.role)&&"string"!=typeof a.content)for(let e of a.content)"tool-call"===e.type||"tool-result"===e.type?o.add(e.toolCallId):("tool-approval-request"===e.type||"tool-approval-response"===e.type)&&r.add(e.approvalId)}let n=new Map;for(let t of e)if(("assistant"===t.role||"tool"===t.role)&&"string"!=typeof t.content)for(let e of t.content)("tool-call"===e.type||"tool-result"===e.type)&&n.set(e.toolCallId,e.toolName);let i=new Map;for(let t of e)if(("assistant"===t.role||"tool"===t.role)&&"string"!=typeof t.content){for(let e of t.content)if("tool-approval-request"===e.type){let t=n.get(e.toolCallId);null!=t&&i.set(e.approvalId,t)}}e=e.map((n,l)=>"assistant"!==n.role&&"tool"!==n.role||"string"==typeof n.content||t&&l>=e.length-t?n:{...n,content:n.content.filter(e=>{if("tool-call"!==e.type&&"tool-result"!==e.type&&"tool-approval-request"!==e.type&&"tool-approval-response"!==e.type||("tool-call"===e.type||"tool-result"===e.type)&&o.has(e.toolCallId)||("tool-approval-request"===e.type||"tool-approval-response"===e.type)&&r.has(e.approvalId))return!0;let t="tool-call"===e.type||"tool-result"===e.type?e.toolName:i.get(e.approvalId);return null!=a.tools&&null!=t&&!a.tools.includes(t)})})}return"remove"===a&&(e=e.filter(e=>e.content.length>0)),e},"stepCountIs",0,al,"streamText",0,rt,"transcribe",0,rO,"validateUIMessages",0,rm,"wrapLanguageModel",0,({model:e,middleware:t,modelId:o,providerId:a})=>{let r=tM(e);return[...(0,J.asArray)(t)].reverse().reduce((e,t)=>(({model:e,middleware:{transformParams:t,wrapGenerate:o,wrapStream:a,overrideProvider:r,overrideModelId:n,overrideSupportedUrls:i},modelId:l,providerId:s})=>{var u,d,p;async function c({params:o,type:a}){return t?await t({params:o,type:a,model:e}):o}return{specificationVersion:"v4",provider:null!=(u=null!=s?s:null==r?void 0:r({model:e}))?u:e.provider,modelId:null!=(d=null!=l?l:null==n?void 0:n({model:e}))?d:e.modelId,supportedUrls:null!=(p=null==i?void 0:i({model:e}))?p:e.supportedUrls,async doGenerate(t){let a=await c({params:t,type:"generate"}),r=async()=>await e.doGenerate(a),n=async()=>await e.doStream(a);return o?await o({doGenerate:r,doStream:n,params:a,model:e}):await r()},async doStream(t){let o=await c({params:t,type:"stream"}),r=async()=>await e.doGenerate(o),n=async()=>await e.doStream(o);return a?await a({doGenerate:r,doStream:n,params:o,model:e}):await n()}}})({model:e,middleware:t,modelId:o,providerId:a}),r)}])},874321,438220,881237,662001,609730,89929,277988,e=>{"use strict";var t;let o=Symbol.for("constructDateFrom");function a(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&o in e?e[o](t):e instanceof Date?new e.constructor(t):new Date(t)}e.s(["constructFromSymbol",0,o,"millisecondsInDay",0,864e5,"millisecondsInMinute",0,6e4,"millisecondsInWeek",0,6048e5,"minutesInDay",0,1440,"minutesInMonth",0,43200,"minutesInYear",0,525600],438220),e.s(["constructFrom",0,a],874321);let r={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function n(e){return (t={})=>{let o=t.width?String(t.width):e.defaultWidth;return e.formats[o]||e.formats[e.defaultWidth]}}let i={date:n({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:n({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:n({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},l={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function s(e){return(t,o)=>{let a;if("formatting"===(o?.context?String(o.context):"standalone")&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=o?.width?String(o.width):t;a=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=o?.width?String(o.width):e.defaultWidth;a=e.values[r]||e.values[t]}return a[e.argumentCallback?e.argumentCallback(t):t]}}let u={ordinalNumber:(e,t)=>{let o=Number(e),a=o%100;if(a>20||a<10)switch(a%10){case 1:return o+"st";case 2:return o+"nd";case 3:return o+"rd"}return o+"th"},era:s({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:s({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:s({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:s({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:s({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})};function d(e){return(t,o={})=>{let a,r=o.width,n=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],i=t.match(n);if(!i)return null;let l=i[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],u=Array.isArray(s)?function(e,t){for(let o=0;o<e.length;o++)if(t(e[o]))return o}(s,e=>e.test(l)):function(e,t){for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)&&t(e[o]))return o}(s,e=>e.test(l));return a=e.valueCallback?e.valueCallback(u):u,{value:a=o.valueCallback?o.valueCallback(a):a,rest:t.slice(l.length)}}}let p={ordinalNumber:(t={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,o={})=>{let a=e.match(t.matchPattern);if(!a)return null;let r=a[0],n=e.match(t.parsePattern);if(!n)return null;let i=t.valueCallback?t.valueCallback(n[0]):n[0];return{value:i=o.valueCallback?o.valueCallback(i):i,rest:e.slice(r.length)}}),era:d({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:d({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:d({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:d({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:d({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})};e.s(["defaultLocale",0,{code:"en-US",formatDistance:(e,t,o)=>{let a,n=r[e];if(a="string"==typeof n?n:1===t?n.one:n.other.replace("{{count}}",t.toString()),o?.addSuffix)if(o.comparison&&o.comparison>0)return"in "+a;else return a+" ago";return a},formatLong:i,formatRelative:(e,t,o,a)=>l[e],localize:u,match:p,options:{weekStartsOn:0,firstWeekContainsDate:1}}],881237);let c={};function m(e,t){return a(t||e,e)}e.s(["getDefaultOptions",0,function(){return c}],662001),e.s(["toDate",0,m],609730),e.s(["getTimezoneOffsetInMilliseconds",0,function(e){let t=m(e),o=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return o.setUTCFullYear(t.getFullYear()),e-o}],89929),e.s(["normalizeDates",0,function(e,...t){let o=a.bind(null,e||t.find(e=>"object"==typeof e));return t.map(o)}],277988)},983477,e=>{"use strict";var t=e.i(874321),o=e.i(881237),a=e.i(662001),r=e.i(89929),n=e.i(277988),i=e.i(609730),l=e.i(438220);e.s(["formatDistanceToNowStrict",0,function(e,s){return function(e,t,s){var u;let d,p,c=(0,a.getDefaultOptions)(),m=s?.locale??c.locale??o.defaultLocale,g=(p=(0,i.toDate)(e)-(0,i.toDate)(t))<0?-1:p>0?1:p;if(isNaN(g))throw RangeError("Invalid time value");let h=Object.assign({},s,{addSuffix:s?.addSuffix,comparison:g}),[f,y]=(0,n.normalizeDates)(s?.in,...g>0?[t,e]:[e,t]),v=(u=s?.roundingMethod??"round",e=>{let t=(u?Math[u]:Math.trunc)(e);return 0===t?0:t}),b=y.getTime()-f.getTime(),_=b/l.millisecondsInMinute,w=(b-((0,r.getTimezoneOffsetInMilliseconds)(y)-(0,r.getTimezoneOffsetInMilliseconds)(f)))/l.millisecondsInMinute,z=s?.unit;if("second"===(d=z||(_<1?"second":_<60?"minute":_<l.minutesInDay?"hour":w<l.minutesInMonth?"day":w<l.minutesInYear?"month":"year"))){let e=v(b/1e3);return m.formatDistance("xSeconds",e,h)}if("minute"===d){let e=v(_);return m.formatDistance("xMinutes",e,h)}if("hour"===d){let e=v(_/60);return m.formatDistance("xHours",e,h)}if("day"===d){let e=v(w/l.minutesInDay);return m.formatDistance("xDays",e,h)}if("month"===d){let e=v(w/l.minutesInMonth);return 12===e&&"month"!==z?m.formatDistance("xYears",1,h):m.formatDistance("xMonths",e,h)}else{let e=v(w/l.minutesInYear);return m.formatDistance("xYears",e,h)}}(e,(0,t.constructFrom)(e,Date.now()),s)}],983477)}];
48
+
49
+ //# sourceMappingURL=_0recufk._.js.map