thursday-agent 0.23.0 → 0.24.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 (406) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/app/_global-error.html +1 -1
  5. package/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_not-found.html +1 -1
  12. package/.next/server/app/_not-found.rsc +2 -2
  13. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  14. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  15. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  16. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  17. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  18. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  19. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  20. package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/thread/file/route.js +2 -2
  22. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  24. package/.next/server/app/api/config/route.js.nft.json +1 -1
  25. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  26. package/.next/server/app/api/llm-model/automatic/route.js +2 -2
  27. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  28. package/.next/server/app/api/llm-model/catalog/[provider]/route.js +2 -2
  29. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
  30. package/.next/server/app/api/llm-model/credits/[provider]/route.js +2 -2
  31. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
  32. package/.next/server/app/api/llm-model/route.js +2 -2
  33. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  34. package/.next/server/app/api/llm-model/subscription/route.js +2 -2
  35. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  36. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/mcp/oauth/callback/route.js +3 -3
  38. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  39. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  40. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  41. package/.next/server/app/api/memory/edit/route.js +2 -2
  42. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  43. package/.next/server/app/api/reach/route.js +2 -2
  44. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  45. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  46. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  47. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  49. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  50. package/.next/server/app/api/thursday/call/plan/route.js +3 -3
  51. package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
  52. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  53. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  54. package/.next/server/app/api/thursday/text/route.js +2 -2
  55. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  56. package/.next/server/app/api/thursday/tool-call/route.js +3 -3
  57. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  58. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  59. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  60. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
  61. package/.next/server/app/artifact/[...path]/page.js +2 -2
  62. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  63. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  64. package/.next/server/app/page/react-loadable-manifest.json +1 -1
  65. package/.next/server/app/page/server-reference-manifest.json +63 -63
  66. package/.next/server/app/page.js +2 -2
  67. package/.next/server/app/page.js.nft.json +1 -1
  68. package/.next/server/app/page_client-reference-manifest.js +1 -1
  69. package/.next/server/chunks/[root-of-the-server]__0582p46._.js +1 -1
  70. package/.next/server/chunks/{[root-of-the-server]__0d00o4_._.js → [root-of-the-server]__06_ck92._.js} +1 -1
  71. package/.next/server/chunks/[root-of-the-server]__06kxzw-._.js +1 -1
  72. package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +1 -1
  73. package/.next/server/chunks/{[root-of-the-server]__1mowvzz._.js → [root-of-the-server]__0f8quhc._.js} +1 -1
  74. package/.next/server/chunks/[root-of-the-server]__0lg1fok._.js +1 -1
  75. package/.next/server/chunks/[root-of-the-server]__0mh1tgg._.js +1 -1
  76. package/.next/server/chunks/{[root-of-the-server]__0eem_66._.js → [root-of-the-server]__0tsqr_i._.js} +1 -1
  77. package/.next/server/chunks/{[root-of-the-server]__1yiqjfx._.js → [root-of-the-server]__0z8s0g8._.js} +1 -1
  78. package/.next/server/chunks/[root-of-the-server]__11e22s7._.js +1 -1
  79. package/.next/server/chunks/[root-of-the-server]__1478lu3._.js +1 -1
  80. package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +1 -1
  81. package/.next/server/chunks/[root-of-the-server]__17m7ag9._.js +1 -1
  82. package/.next/server/chunks/[root-of-the-server]__181zc_o._.js +1 -1
  83. package/.next/server/chunks/{[root-of-the-server]__1ivfglf._.js → [root-of-the-server]__1mwe6in._.js} +1 -1
  84. package/.next/server/chunks/{[root-of-the-server]__1r_d-gv._.js → [root-of-the-server]__1nzt9ia._.js} +1 -1
  85. package/.next/server/chunks/[root-of-the-server]__1v5jpk9._.js +1 -1
  86. package/.next/server/chunks/{[root-of-the-server]__0pp2355._.js → [root-of-the-server]__1vz_k4p._.js} +1 -1
  87. package/.next/server/chunks/_008vczq._.js +1 -1
  88. package/.next/server/chunks/_00aztuo._.js +1 -1
  89. package/.next/server/chunks/_021kabv._.js +20 -20
  90. package/.next/server/chunks/_05gl-xy._.js +48 -40
  91. package/.next/server/chunks/_07mczew._.js +1 -1
  92. package/.next/server/chunks/_0la8s6t._.js +1 -1
  93. package/.next/server/chunks/_0rn3c_0._.js +31 -31
  94. package/.next/server/chunks/_0wkhub3._.js +1 -1
  95. package/.next/server/chunks/{_0q2y48v._.js → _0z9l1-a._.js} +1 -1
  96. package/.next/server/chunks/_0zwjr-g._.js +1 -1
  97. package/.next/server/chunks/_12-7atf._.js +1 -1
  98. package/.next/server/chunks/_124q1p2._.js +1 -1
  99. package/.next/server/chunks/_13qoxq9._.js +31 -31
  100. package/.next/server/chunks/_15-_mie._.js +1 -1
  101. package/.next/server/chunks/_18sj4xf._.js +1 -1
  102. package/.next/server/chunks/_19kea1l._.js +46 -38
  103. package/.next/server/chunks/{_0-934yz._.js → _1ao-3d8._.js} +1 -1
  104. package/.next/server/chunks/{_0a09g1e._.js → _1cc2hkg._.js} +1 -1
  105. package/.next/server/chunks/_1chy-lk._.js +1 -1
  106. package/.next/server/chunks/_1cok9lj._.js +76 -0
  107. package/.next/server/chunks/_1d5zmy8._.js +1 -1
  108. package/.next/server/chunks/{_0ocmvv0._.js → _1h7ll0h._.js} +1 -1
  109. package/.next/server/chunks/_1hw1ujv._.js +20 -20
  110. package/.next/server/chunks/_1lg0lsu._.js +24 -24
  111. package/.next/server/chunks/_1mzdpal._.js +76 -0
  112. package/.next/server/chunks/_1q42187._.js +2 -2
  113. package/.next/server/chunks/_1u2plme._.js +3 -0
  114. package/.next/server/chunks/_1ufbxe1._.js +1 -1
  115. package/.next/server/chunks/_1unludv._.js +1 -1
  116. package/.next/server/chunks/_1v4id5q._.js +20 -20
  117. package/.next/server/chunks/_1v5qol2._.js +20 -20
  118. package/.next/server/chunks/_1wg0cqo._.js +1 -1
  119. package/.next/server/chunks/_1x2xiyw._.js +1 -1
  120. package/.next/server/chunks/_1znrlca._.js +1 -1
  121. package/.next/server/chunks/node_modules_09fdt86._.js +26 -0
  122. package/.next/server/chunks/node_modules_0u_q4-b._.js +26 -0
  123. package/.next/server/chunks/node_modules_1oo0z5r._.js +26 -0
  124. package/.next/server/chunks/ssr/[root-of-the-server]__09u-n6y._.js +112 -0
  125. package/.next/server/chunks/ssr/[root-of-the-server]__0glkz9k._.js +3 -0
  126. package/.next/server/chunks/ssr/[root-of-the-server]__0rpmgnt._.js +3 -0
  127. package/.next/server/chunks/ssr/[root-of-the-server]__0tgkj13._.js +3 -0
  128. package/.next/server/chunks/ssr/{[root-of-the-server]__203utm3._.js → [root-of-the-server]__0wrprhy._.js} +1 -1
  129. package/.next/server/chunks/ssr/[root-of-the-server]__17yeveo._.js +1 -1
  130. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  131. package/.next/server/chunks/ssr/{[root-of-the-server]__0zt_au4._.js → [root-of-the-server]__1ft98nl._.js} +2 -2
  132. package/.next/server/chunks/ssr/[root-of-the-server]__1gv2nbd._.js +3 -0
  133. package/.next/server/chunks/ssr/[root-of-the-server]__1kos36s._.js +6 -0
  134. package/.next/server/chunks/ssr/{[root-of-the-server]__0y03pu0._.js → [root-of-the-server]__1n2hycp._.js} +1 -1
  135. package/.next/server/chunks/ssr/[root-of-the-server]__20floom._.js +2 -2
  136. package/.next/server/chunks/ssr/{_0eprrig._.js → _0-y517w._.js} +2 -2
  137. package/.next/server/chunks/ssr/{_03vw3u5._.js → _02sda-9._.js} +2 -2
  138. package/.next/server/chunks/ssr/_03n27qx._.js +85 -0
  139. package/.next/server/chunks/ssr/_04jb10a._.js +3 -0
  140. package/.next/server/chunks/ssr/_09a6bpd._.js +1 -1
  141. package/.next/server/chunks/ssr/_0akma_h._.js +3 -0
  142. package/.next/server/chunks/ssr/_0cd6g3l._.js +44 -36
  143. package/.next/server/chunks/ssr/_0fx7w0u._.js +3 -0
  144. package/.next/server/chunks/ssr/_0gfa_rb._.js +3 -0
  145. package/.next/server/chunks/ssr/_0ghdb00._.js +3 -0
  146. package/.next/server/chunks/ssr/_0ingto_._.js +3 -0
  147. package/.next/server/chunks/ssr/_0jgsxrg._.js +6 -0
  148. package/.next/server/chunks/ssr/{_0a_pedm._.js → _0ktd2qg._.js} +2 -2
  149. package/.next/server/chunks/ssr/{_0bt2e10._.js → _0kvhn--._.js} +2 -2
  150. package/.next/server/chunks/ssr/_0poypri._.js +3 -0
  151. package/.next/server/chunks/ssr/_0tg3o37._.js +1 -1
  152. package/.next/server/chunks/ssr/_0y0ubpl._.js +85 -0
  153. package/.next/server/chunks/ssr/_11l9kc0._.js +1 -1
  154. package/.next/server/chunks/ssr/_12-hlgn._.js +3 -0
  155. package/.next/server/chunks/ssr/_12_ail7._.js +1 -1
  156. package/.next/server/chunks/ssr/_12n2oxe._.js +3 -0
  157. package/.next/server/chunks/ssr/_16_7zeo._.js +1 -1
  158. package/.next/server/chunks/ssr/_1a_w_du._.js +3 -0
  159. package/.next/server/chunks/ssr/_1bfrntd._.js +2 -2
  160. package/.next/server/chunks/ssr/_1e_9qjr._.js +3 -0
  161. package/.next/server/chunks/ssr/{_0kmldic._.js → _1gqjgsr._.js} +2 -2
  162. package/.next/server/chunks/ssr/_1kyjimg._.js +162 -0
  163. package/.next/server/chunks/ssr/_1l-3enz._.js +5 -5
  164. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  165. package/.next/server/chunks/ssr/{_0x9f717._.js → _1odlery._.js} +2 -2
  166. package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
  167. package/.next/server/chunks/ssr/components_ui_markdown-body_tsx_0eaiq36._.js +3 -0
  168. package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
  169. package/.next/server/chunks/ssr/features_bot_components_01ye2wp._.js +3 -0
  170. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +4 -0
  171. package/.next/server/chunks/ssr/features_bot_components_thread-setting_tsx_0yae7zy._.js +3 -0
  172. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +20 -0
  173. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  174. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  175. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  176. package/.next/server/chunks/ssr/features_skills_components_skills-setting_tsx_1wtuuip._.js +3 -0
  177. package/.next/server/chunks/ssr/features_thursday_0tni574._.js +3 -0
  178. package/.next/server/chunks/ssr/features_thursday_components_thursday-setting_tsx_1_6ydrc._.js +3 -0
  179. package/.next/server/chunks/ssr/lib_date-like_ts_02is0pw._.js +3 -0
  180. package/.next/server/chunks/ssr/node_modules_017gqu8._.js +3 -0
  181. package/.next/server/chunks/ssr/node_modules_01alue6._.js +3 -0
  182. package/.next/server/chunks/ssr/node_modules_01htpr-._.js +17 -0
  183. package/.next/server/chunks/ssr/node_modules_01pxb8b._.js +26 -0
  184. package/.next/server/chunks/ssr/node_modules_01tm_tp._.js +3 -0
  185. package/.next/server/chunks/ssr/node_modules_02n9-pb._.js +3 -0
  186. package/.next/server/chunks/ssr/node_modules_02pi0yq._.js +17 -0
  187. package/.next/server/chunks/ssr/node_modules_03-o46i._.js +3 -0
  188. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0ir6p7s._.js → node_modules_04aag9b._.js} +2 -2
  189. package/.next/server/chunks/ssr/node_modules_04si41m._.js +3 -0
  190. package/.next/server/chunks/ssr/{node_modules_d3-scale_src_1tr1qwb._.js → node_modules_05-8wqp._.js} +2 -2
  191. package/.next/server/chunks/ssr/node_modules_063ofsn._.js +64 -0
  192. package/.next/server/chunks/ssr/node_modules_0794bsw._.js +20 -20
  193. package/.next/server/chunks/ssr/node_modules_09zjj0q._.js +3 -0
  194. package/.next/server/chunks/ssr/node_modules_0_aoyhl._.js +24 -0
  195. package/.next/server/chunks/ssr/node_modules_0_nsswh._.js +3 -0
  196. package/.next/server/chunks/ssr/node_modules_0_ps6bu._.js +3 -0
  197. package/.next/server/chunks/ssr/{node_modules_0y_k4h5._.js → node_modules_0bxpl07._.js} +2 -2
  198. package/.next/server/chunks/ssr/node_modules_0bz_arm._.js +3 -0
  199. package/.next/server/chunks/ssr/node_modules_0dxcji9._.js +3 -0
  200. package/.next/server/chunks/ssr/node_modules_0f5_pdq._.js +40 -0
  201. package/.next/server/chunks/ssr/node_modules_0fibdri._.js +3 -0
  202. package/.next/server/chunks/ssr/node_modules_0gtb11b._.js +3 -0
  203. package/.next/server/chunks/ssr/node_modules_0hlr1-8._.js +24 -0
  204. package/.next/server/chunks/ssr/{node_modules_111pp7w._.js → node_modules_0klo3i5._.js} +2 -2
  205. package/.next/server/chunks/ssr/{node_modules_0xht9wg._.js → node_modules_0koo_87._.js} +2 -2
  206. package/.next/server/chunks/ssr/node_modules_0kyd5t1._.js +3 -0
  207. package/.next/server/chunks/ssr/node_modules_0kzqz7r._.js +3 -0
  208. package/.next/server/chunks/ssr/node_modules_0lf6itx._.js +3 -0
  209. package/.next/server/chunks/ssr/node_modules_0pejed0._.js +3 -0
  210. package/.next/server/chunks/ssr/node_modules_0pf0mdn._.js +43 -0
  211. package/.next/server/chunks/ssr/node_modules_0q3wqo6._.js +3 -0
  212. package/.next/server/chunks/ssr/node_modules_0qw862r._.js +3 -0
  213. package/.next/server/chunks/ssr/node_modules_0rr5bhc._.js +3 -0
  214. package/.next/server/chunks/ssr/node_modules_0u1te_7._.js +3 -0
  215. package/.next/server/chunks/ssr/node_modules_0udp97e._.js +3 -0
  216. package/.next/server/chunks/ssr/node_modules_0v47nij._.js +43 -0
  217. package/.next/server/chunks/ssr/node_modules_0x7tjjt._.js +17 -0
  218. package/.next/server/chunks/ssr/node_modules_0xhtcgd._.js +3 -0
  219. package/.next/server/chunks/ssr/{node_modules_0ayoorn._.js → node_modules_0xon57z._.js} +2 -2
  220. package/.next/server/chunks/ssr/node_modules_0z1zutp._.js +17 -0
  221. package/.next/server/chunks/ssr/node_modules_0z7xnqk._.js +17 -0
  222. package/.next/server/chunks/ssr/node_modules_11bryw1._.js +3 -0
  223. package/.next/server/chunks/ssr/{node_modules_00mh9o-._.js → node_modules_13eo1xw._.js} +2 -2
  224. package/.next/server/chunks/ssr/node_modules_13udj58._.js +3 -0
  225. package/.next/server/chunks/ssr/node_modules_15vxln6._.js +17 -0
  226. package/.next/server/chunks/ssr/node_modules_15yal8y._.js +17 -0
  227. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1ejf5ye._.js → node_modules_17q6-cb._.js} +2 -2
  228. package/.next/server/chunks/ssr/node_modules_17sis9w._.js +17 -0
  229. package/.next/server/chunks/ssr/node_modules_19v9p62._.js +17 -0
  230. package/.next/server/chunks/ssr/node_modules_19xlry2._.js +3 -0
  231. package/.next/server/chunks/ssr/node_modules_1afgbir._.js +17 -0
  232. package/.next/server/chunks/ssr/node_modules_1asq18n._.js +29 -0
  233. package/.next/server/chunks/ssr/node_modules_1bo15xl._.js +3 -0
  234. package/.next/server/chunks/ssr/node_modules_1crkt86._.js +3 -0
  235. package/.next/server/chunks/ssr/{node_modules_04f_uw2._.js → node_modules_1fpm85j._.js} +2 -2
  236. package/.next/server/chunks/ssr/node_modules_1gkjtk-._.js +3 -0
  237. package/.next/server/chunks/ssr/node_modules_1hj50tu._.js +3 -0
  238. package/.next/server/chunks/ssr/node_modules_1hv0kyf._.js +3 -0
  239. package/.next/server/chunks/ssr/node_modules_1i5fr0j._.js +3 -0
  240. package/.next/server/chunks/ssr/node_modules_1k3cymo._.js +3 -0
  241. package/.next/server/chunks/ssr/node_modules_1ki78ma._.js +3 -0
  242. package/.next/server/chunks/ssr/{node_modules_07udd3z._.js → node_modules_1lrg_ju._.js} +2 -2
  243. package/.next/server/chunks/ssr/node_modules_1lt565w._.js +3 -0
  244. package/.next/server/chunks/ssr/node_modules_1oxvn1l._.js +3 -0
  245. package/.next/server/chunks/ssr/node_modules_1qgcqvi._.js +3 -0
  246. package/.next/server/chunks/ssr/node_modules_1r_497y._.js +3 -0
  247. package/.next/server/chunks/ssr/node_modules_1thrjjl._.js +3 -0
  248. package/.next/server/chunks/ssr/node_modules_1tsuh_o._.js +17 -0
  249. package/.next/server/chunks/ssr/node_modules_1vhpjvn._.js +3 -0
  250. package/.next/server/chunks/ssr/{node_modules_1b5rxw5._.js → node_modules_1xpa_a4._.js} +2 -2
  251. package/.next/server/chunks/ssr/node_modules_1xtyj97._.js +26 -0
  252. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_0dlpxwr._.js → node_modules_@mermaid-js_parser_dist_066fcep._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_0eji647._.js → node_modules_@mermaid-js_parser_dist_0_301m2._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_0lct0v1._.js → node_modules_@mermaid-js_parser_dist_0it10w8._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_13hksv_._.js → node_modules_@mermaid-js_parser_dist_0m-ahsg._.js} +1 -1
  256. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0n8rqkj._.js +3 -0
  257. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0nb4v-i._.js +3 -0
  258. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_0tdjo9s._.js +3 -0
  259. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_12betp4._.js +3 -0
  260. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1mu01rb._.js +3 -0
  261. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1xda76v._.js +3 -0
  262. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1z2f7i3._.js +3 -0
  263. package/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_0gtpcr6._.js +3 -0
  264. package/.next/server/chunks/ssr/node_modules_katex_dist_katex_mjs_0o4db0q._.js +3 -0
  265. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0e5n4p5._.js +3 -0
  266. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-Y2CYZVJY_mjs_20i4m4_._.js +3 -0
  267. package/.next/server/chunks/ssr/node_modules_streamdown_dist_0lptw6m._.js +3 -0
  268. package/.next/server/chunks/ssr/node_modules_streamdown_dist_1-e49om._.js +3 -0
  269. package/.next/server/middleware-build-manifest.js +3 -3
  270. package/.next/server/pages/404.html +1 -1
  271. package/.next/server/pages/500.html +1 -1
  272. package/.next/server/server-reference-manifest.js +1 -1
  273. package/.next/server/server-reference-manifest.json +64 -64
  274. package/.next/static/chunks/{1ettmta9iet7b.js → 03_uoxripq3nc.js} +1 -1
  275. package/.next/static/chunks/{396enq-m0sss5.js → 0776-hu4_eek7.js} +2 -2
  276. package/.next/static/chunks/0akv-2v88qow0.js +1 -0
  277. package/.next/static/chunks/{1oh4hbusfz97l.js → 0rq_fqeaz_bvd.js} +1 -1
  278. package/.next/static/chunks/0zardk7icrprd.js +4 -0
  279. package/.next/static/chunks/17rnkwd0nvzhn.js +1 -0
  280. package/.next/static/chunks/{0fklfoj8o_msg.js → 1cmwusx1ey_yw.js} +1 -1
  281. package/.next/static/chunks/{1j4rndg17wgfk.js → 1grvc88py7u6u.js} +1 -1
  282. package/.next/static/chunks/1ob3lsnuwfj-n.js +70 -0
  283. package/.next/static/chunks/{411uyd0is9u5s.js → 1qmqv6cr2nr5g.js} +1 -1
  284. package/.next/static/chunks/1yrz0aw09rjij.js +1 -0
  285. package/.next/static/chunks/1z2_9pl3nezly.js +3 -0
  286. package/.next/static/chunks/{1mpz4epyg-7pz.js → 2-zwoj9evpp_d.js} +2 -2
  287. package/.next/static/chunks/{11c3uijgqik4m.js → 20w8bgikzj9nl.js} +1 -1
  288. package/.next/static/chunks/{2sxclirl-c-um.js → 2abjsec0elgbx.js} +1 -1
  289. package/.next/static/chunks/{3_deesw_pbmkd.js → 2fxn-xltgy2un.js} +1 -1
  290. package/.next/static/chunks/2hq0xxr8bwwjx.js +1 -0
  291. package/.next/static/chunks/2jf2ckv1t70es.js +1 -0
  292. package/.next/static/chunks/2k8ou_gpe91k1.js +1 -0
  293. package/.next/static/chunks/{2zhiqxw61qowv.js → 2vk1rx8_abchj.js} +1 -1
  294. package/.next/static/chunks/{22jb4s3-8ckup.js → 2vz587tsy9sw-.js} +1 -1
  295. package/.next/static/chunks/33qtnlc00c9gq.js +1 -0
  296. package/.next/static/chunks/34ih-rod1rypo.js +1 -0
  297. package/.next/static/chunks/{3uf32hp_g9stz.js → 399la1vg4mefu.js} +1 -1
  298. package/.next/static/chunks/3b8uta6_6no_3.css +1 -0
  299. package/.next/static/chunks/3eeapb56_2bu2.js +2 -0
  300. package/.next/static/chunks/{081kl7k8r6f8z.js → 3h29tl1whfjs2.js} +1 -1
  301. package/.next/static/chunks/3l4m3_ojnhbav.js +1 -0
  302. package/.next/static/chunks/3pia1ryvrhyfr.js +1 -0
  303. package/.next/static/chunks/3qzf68zb5zlh8.js +1 -0
  304. package/.next/static/chunks/{3ph9u-51x6jhe.js → 3w6r10nihrl3l.js} +5 -5
  305. package/.next/static/chunks/3xloayc4c096r.js +1 -0
  306. package/README.md +10 -1
  307. package/guide/bots.md +35 -26
  308. package/node_modules/@types/ws/README.md +1 -1
  309. package/node_modules/@types/ws/index.d.mts +4 -0
  310. package/node_modules/@types/ws/index.d.ts +4 -0
  311. package/node_modules/@types/ws/package.json +3 -3
  312. package/package.json +2 -2
  313. package/.next/server/chunks/_1fn6cvh._.js +0 -3
  314. package/.next/server/chunks/_1jtvbp9._.js +0 -76
  315. package/.next/server/chunks/node_modules_@ai-sdk_1o5ydf6._.js +0 -26
  316. package/.next/server/chunks/ssr/[root-of-the-server]__0jjj49d._.js +0 -3
  317. package/.next/server/chunks/ssr/[root-of-the-server]__1qn0axo._.js +0 -6
  318. package/.next/server/chunks/ssr/[root-of-the-server]__1u42eh0._.js +0 -3
  319. package/.next/server/chunks/ssr/_0-s7ria._.js +0 -3
  320. package/.next/server/chunks/ssr/_088qe9a._.js +0 -162
  321. package/.next/server/chunks/ssr/_0ali_i8._.js +0 -3
  322. package/.next/server/chunks/ssr/_0flnog5._.js +0 -3
  323. package/.next/server/chunks/ssr/_0iuvjnw._.js +0 -3
  324. package/.next/server/chunks/ssr/_0k-gl8l._.js +0 -3
  325. package/.next/server/chunks/ssr/_0ks03l-._.js +0 -3
  326. package/.next/server/chunks/ssr/_0mng-y8._.js +0 -6
  327. package/.next/server/chunks/ssr/_0ugzm_0._.js +0 -3
  328. package/.next/server/chunks/ssr/_0wnv6c0._.js +0 -3
  329. package/.next/server/chunks/ssr/_0z9zkd-._.js +0 -3
  330. package/.next/server/chunks/ssr/_123y-ah._.js +0 -3
  331. package/.next/server/chunks/ssr/_14j205q._.js +0 -85
  332. package/.next/server/chunks/ssr/_16wjbs2._.js +0 -3
  333. package/.next/server/chunks/ssr/_18rmqqu._.js +0 -3
  334. package/.next/server/chunks/ssr/_1ckje8g._.js +0 -3
  335. package/.next/server/chunks/ssr/_1h3qetc._.js +0 -3
  336. package/.next/server/chunks/ssr/_1kpvfmn._.js +0 -4
  337. package/.next/server/chunks/ssr/_1pkw8wf._.js +0 -85
  338. package/.next/server/chunks/ssr/_1xwtbdz._.js +0 -3
  339. package/.next/server/chunks/ssr/features_bot_0-7flc-._.js +0 -3
  340. package/.next/server/chunks/ssr/features_config_10xs4l1._.js +0 -20
  341. package/.next/server/chunks/ssr/features_thursday_0cf9y0b._.js +0 -3
  342. package/.next/server/chunks/ssr/node_modules_04f6p6a._.js +0 -24
  343. package/.next/server/chunks/ssr/node_modules_08-pj-2._.js +0 -3
  344. package/.next/server/chunks/ssr/node_modules_098h6h5._.js +0 -29
  345. package/.next/server/chunks/ssr/node_modules_0_7yfem._.js +0 -3
  346. package/.next/server/chunks/ssr/node_modules_0bp3vfu._.js +0 -3
  347. package/.next/server/chunks/ssr/node_modules_0ch5hqr._.js +0 -3
  348. package/.next/server/chunks/ssr/node_modules_0e-hyim._.js +0 -64
  349. package/.next/server/chunks/ssr/node_modules_0ffm9w3._.js +0 -26
  350. package/.next/server/chunks/ssr/node_modules_0il0v7d._.js +0 -3
  351. package/.next/server/chunks/ssr/node_modules_0jzyuwk._.js +0 -3
  352. package/.next/server/chunks/ssr/node_modules_0ln4iwf._.js +0 -3
  353. package/.next/server/chunks/ssr/node_modules_0my2hph._.js +0 -3
  354. package/.next/server/chunks/ssr/node_modules_0ql0igl._.js +0 -17
  355. package/.next/server/chunks/ssr/node_modules_0qwth-_._.js +0 -17
  356. package/.next/server/chunks/ssr/node_modules_0y9byl5._.js +0 -3
  357. package/.next/server/chunks/ssr/node_modules_10bzndo._.js +0 -43
  358. package/.next/server/chunks/ssr/node_modules_19f7b4c._.js +0 -3
  359. package/.next/server/chunks/ssr/node_modules_1b_h09q._.js +0 -3
  360. package/.next/server/chunks/ssr/node_modules_1e83j9e._.js +0 -26
  361. package/.next/server/chunks/ssr/node_modules_1e9ugfy._.js +0 -3
  362. package/.next/server/chunks/ssr/node_modules_1hd66k0._.js +0 -64
  363. package/.next/server/chunks/ssr/node_modules_1inwr2m._.js +0 -43
  364. package/.next/server/chunks/ssr/node_modules_1j9xx1k._.js +0 -3
  365. package/.next/server/chunks/ssr/node_modules_1k8kypa._.js +0 -3
  366. package/.next/server/chunks/ssr/node_modules_1oeu85h._.js +0 -3
  367. package/.next/server/chunks/ssr/node_modules_1r2ghv5._.js +0 -3
  368. package/.next/server/chunks/ssr/node_modules_1rg7lj4._.js +0 -40
  369. package/.next/server/chunks/ssr/node_modules_1ttpnib._.js +0 -29
  370. package/.next/server/chunks/ssr/node_modules_201yvda._.js +0 -17
  371. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_17wxxyr._.js +0 -3
  372. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_18pinup._.js +0 -3
  373. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1feyqvf._.js +0 -3
  374. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1ok0411._.js +0 -3
  375. package/.next/server/chunks/ssr/node_modules_@mermaid-js_parser_dist_1sgfrma._.js +0 -3
  376. package/.next/server/chunks/ssr/node_modules_d3-shape_src_arc_1-w13bo.js +0 -3
  377. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0jkhu0x._.js +0 -3
  378. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_0thh8pk._.js +0 -17
  379. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1o1kg4c._.js +0 -3
  380. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1rxlz7e._.js +0 -3
  381. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1turj0n._.js +0 -3
  382. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_1v463pe._.js +0 -17
  383. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-5VM5RSS4_mjs_0tg6kya._.js +0 -17
  384. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_chunk-F27PBJKO_mjs_0ms0zmb._.js +0 -3
  385. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_dagre-GXQ25YYZ_mjs_0k_lz8d._.js +0 -3
  386. package/.next/server/chunks/ssr/node_modules_mermaid_dist_chunks_mermaid_core_sizeCapture-INFHLROL_mjs_179zv_p._.js +0 -3
  387. package/.next/server/chunks/ssr/node_modules_streamdown_dist_highlighted-body-KPVGNVTW_1fnf894.js +0 -3
  388. package/.next/server/chunks/ssr/node_modules_streamdown_dist_mermaid-HWGCJPDP_093xi20.js +0 -3
  389. package/.next/static/chunks/02lze_e5sagjn.js +0 -1
  390. package/.next/static/chunks/0ve2gb0hw3wkq.js +0 -1
  391. package/.next/static/chunks/16np6727e61io.js +0 -1
  392. package/.next/static/chunks/18amidjlaqexf.js +0 -1
  393. package/.next/static/chunks/1u4jowlgjgeip.js +0 -70
  394. package/.next/static/chunks/236le5kv_yj6a.css +0 -1
  395. package/.next/static/chunks/24op50z6sqi_5.js +0 -1
  396. package/.next/static/chunks/2eczs-lporqt6.js +0 -1
  397. package/.next/static/chunks/2z4sodeldj_86.js +0 -1
  398. package/.next/static/chunks/3ezjz93yvzmop.js +0 -4
  399. package/.next/static/chunks/3h6rqjx92wva9.js +0 -1
  400. package/.next/static/chunks/3w7zt3xzyjn86.js +0 -3
  401. package/.next/static/chunks/3xkx7vqefm7on.js +0 -2
  402. package/.next/static/chunks/3ygk41pgsw7nv.js +0 -1
  403. package/.next/static/chunks/4384atd5zerir.js +0 -1
  404. /package/.next/static/{6tIYlzfG_5P4sIxxgmucO → WKQCaSVcySHM4bjkWJXEH}/_buildManifest.js +0 -0
  405. /package/.next/static/{6tIYlzfG_5P4sIxxgmucO → WKQCaSVcySHM4bjkWJXEH}/_clientMiddlewareManifest.js +0 -0
  406. /package/.next/static/{6tIYlzfG_5P4sIxxgmucO → WKQCaSVcySHM4bjkWJXEH}/_ssgManifest.js +0 -0
@@ -0,0 +1,70 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,670097,640262,e=>{"use strict";let t,r;var a,n,o,i,s,l,u,c,d,p,h,m,g,f,y,v,b,w,_,I,k,x,S,E,M,j,A,T,R,O,C,P,$,N,U,L,D,F,q,H,Z,B,V,z,G,W,Y,J,K,Q,X,ee,et,er,ea,en,eo,ei,es,el,eu,ec,ed,ep,eh,em,eg,ef,ey,ev,eb,ew,e_,eI,ek,ex,eS=e.i(247167),eE="vercel.ai.error",eM=Symbol.for(eE),ej=class e extends(n=Error,a=eM,n){constructor({name:e,message:t,cause:r}){super(t),this[a]=!0,this.name=e,this.cause=r}static isInstance(t){return e.hasMarker(t,eE)}static hasMarker(e,t){let r=Symbol.for(t);return null!=e&&"object"==typeof e&&r in e&&"boolean"==typeof e[r]&&!0===e[r]}},eA="AI_APICallError",eT=`vercel.ai.error.${eA}`,eR=Symbol.for(eT),eO=class extends(i=ej,o=eR,i){constructor({message:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n,responseBody:i,cause:s,isRetryable:l=null!=a&&(408===a||409===a||429===a||a>=500),data:u}){super({name:eA,message:e,cause:s}),this[o]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=a,this.responseHeaders=n,this.responseBody=i,this.isRetryable=l,this.data=u}static isInstance(e){return ej.hasMarker(e,eT)}},eC="AI_EmptyResponseBodyError",eP=`vercel.ai.error.${eC}`,e$=Symbol.for(eP),eN=class extends(l=ej,s=e$,l){constructor({message:e="Empty response body"}={}){super({name:eC,message:e}),this[s]=!0}static isInstance(e){return ej.hasMarker(e,eP)}},eU=Symbol.for("vercel.ai.error.AI_EvaluationUnsupportedQuestionTypeError");function eL(e){return null==e?"unknown error":"string"==typeof e?e:e instanceof Error?e.toString():JSON.stringify(e)}var eD="AI_InvalidArgumentError",eF=`vercel.ai.error.${eD}`,eq=Symbol.for(eF),eH=class extends(c=ej,u=eq,c){constructor({message:e,cause:t,argument:r}){super({name:eD,message:e,cause:t}),this[u]=!0,this.argument=r}static isInstance(e){return ej.hasMarker(e,eF)}},eZ=Symbol.for("vercel.ai.error.AI_InvalidPromptError");Symbol.for("vercel.ai.error.AI_InvalidResponseDataError");var eB="AI_JSONParseError",eV=`vercel.ai.error.${eB}`,ez=Symbol.for(eV),eG=class extends(p=ej,d=ez,p){constructor({text:e,cause:t}){super({name:eB,message:`JSON parsing failed: Text: ${e}.
2
+ Error message: ${eL(t)}`,cause:t}),this[d]=!0,this.text=e}static isInstance(e){return ej.hasMarker(e,eV)}},eW=Symbol.for("vercel.ai.error.AI_LoadAPIKeyError");Symbol.for("vercel.ai.error.AI_LoadSettingError");Symbol.for("vercel.ai.error.AI_NoContentGeneratedError");var eY="AI_NoSuchModelError",eJ=`vercel.ai.error.${eY}`,eK=Symbol.for(eJ),eQ=class extends(m=ej,h=eK,m){constructor({errorName:e=eY,modelId:t,modelType:r,message:a=`No such ${r}: ${t}`}){super({name:e,message:a}),this[h]=!0,this.modelId=t,this.modelType=r}static isInstance(e){return ej.hasMarker(e,eJ)}},eX=Symbol.for("vercel.ai.error.AI_NoSuchProviderReferenceError");Symbol.for("vercel.ai.error.AI_TooManyEmbeddingValuesForCallError");var e0="AI_TypeValidationError",e1=`vercel.ai.error.${e0}`,e4=Symbol.for(e1),e2=class e extends(f=ej,g=e4,f){constructor({value:e,cause:t,context:r}){let a="Type validation failed";if((null==r?void 0:r.field)&&(a+=` for ${r.field}`),(null==r?void 0:r.entityName)||(null==r?void 0:r.entityId)){a+=" (";const e=[];r.entityName&&e.push(r.entityName),r.entityId&&e.push(`id: "${r.entityId}"`),a+=e.join(", "),a+=")"}super({name:e0,message:`${a}: Value: ${JSON.stringify(e)}.
3
+ Error message: ${eL(t)}`,cause:t}),this[g]=!0,this.value=e,this.context=r}static isInstance(e){return ej.hasMarker(e,e1)}static wrap({value:t,cause:r,context:a}){var n,o,i;return e.isInstance(r)&&r.value===t&&(null==(n=r.context)?void 0:n.field)===(null==a?void 0:a.field)&&(null==(o=r.context)?void 0:o.entityName)===(null==a?void 0:a.entityName)&&(null==(i=r.context)?void 0:i.entityId)===(null==a?void 0:a.entityId)?r:new e({value:t,cause:r,context:a})}},e5="AI_UnsupportedFunctionalityError",e9=`vercel.ai.error.${e5}`,e6=Symbol.for(e9),e3=class extends(v=ej,y=e6,v){constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:e5,message:t}),this[y]=!0,this.functionality=e}static isInstance(e){return ej.hasMarker(e,e9)}},e8=e.i(280656),e7=e.i(321678);class te extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}function tt(e){}function tr(e,t,r){return 100===r&&97===e.charCodeAt(t+1)&&116===e.charCodeAt(t+2)&&97===e.charCodeAt(t+3)&&58===e.charCodeAt(t+4)}function ta(e,t,r){return 101===r&&118===e.charCodeAt(t+1)&&101===e.charCodeAt(t+2)&&110===e.charCodeAt(t+3)&&116===e.charCodeAt(t+4)&&58===e.charCodeAt(t+5)}class tn extends TransformStream{constructor({onError:e,onRetry:t,onComment:r,maxBufferSize:a}={}){let n;super({start(o){n=function(e){if("function"==typeof e)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=tt,onError:r=tt,onRetry:a=tt,onComment:n,maxBufferSize:o}=e,i=[],s=0,l=!0,u,c="",d=0,p,h=!1;function m(){void 0!==o&&(s+c.length<=o||(h=!0,i.length=0,s=0,u=void 0,c="",d=0,p=void 0,r(new te(`Buffered data exceeded max buffer size of ${o} characters`,{type:"max-buffer-size-exceeded"}))))}function g(e){let r=0;if(-1===e.indexOf("\r")){let a=e.indexOf(`
4
+ `,r);for(;-1!==a;){if(r===a){d>0&&t({id:u,event:p,data:c}),u=void 0,c="",d=0,p=void 0,r=a+1,a=e.indexOf(`
5
+ `,r);continue}let n=e.charCodeAt(r);if(tr(e,r,n)){let n=32===e.charCodeAt(r+5)?r+6:r+5,o=e.slice(n,a);if(0===d&&10===e.charCodeAt(a+1)){t({id:u,event:p,data:o}),u=void 0,c="",p=void 0,r=a+2,a=e.indexOf(`
6
+ `,r);continue}c=0===d?o:`${c}
7
+ ${o}`,d++}else ta(e,r,n)?p=e.slice(32===e.charCodeAt(r+6)?r+7:r+6,a)||void 0:f(e,r,a);r=a+1,a=e.indexOf(`
8
+ `,r)}return e.slice(r)}for(;r<e.length;){let t=e.indexOf("\r",r),a=e.indexOf(`
9
+ `,r),n=-1;if(-1!==t&&-1!==a?n=t<a?t:a:-1!==t?n=t===e.length-1?-1:t:-1!==a&&(n=a),-1===n)break;f(e,r,n),r=n+1,13===e.charCodeAt(r-1)&&10===e.charCodeAt(r)&&r++}return e.slice(r)}function f(e,r,a){if(r===a)return void(d>0&&t({id:u,event:p,data:c}),u=void 0,c="",d=0,p=void 0);let o=e.charCodeAt(r);if(tr(e,r,o)){let t=32===e.charCodeAt(r+5)?r+6:r+5,n=e.slice(t,a);c=0===d?n:`${c}
10
+ ${n}`,d++;return}if(ta(e,r,o)){p=e.slice(32===e.charCodeAt(r+6)?r+7:r+6,a)||void 0;return}if(105===o&&100===e.charCodeAt(r+1)&&58===e.charCodeAt(r+2)){let t=e.slice(32===e.charCodeAt(r+3)?r+4:r+3,a);t.includes("\0")||(u=t);return}if(58===o){n&&n(e.slice(r,a).slice(32===e.charCodeAt(r+1)?2:1));return}let i=e.slice(r,a),s=i.indexOf(":");if(-1===s)return void y(i,"",i);let l=i.slice(0,s),h=32===i.charCodeAt(s+1)?2:1;y(l,i.slice(s+h),i)}function y(e,t,n){switch(e){case"event":p=t||void 0;break;case"data":c=0===d?t:`${c}
11
+ ${t}`,d++;break;case"id":t.includes("\0")||(u=t);break;case"retry":/^\d+$/.test(t)?a(parseInt(t,10)):r(new te(`Invalid \`retry\` value: "${t}"`,{type:"invalid-retry",value:t,line:n}));break;default:r(new te(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:"unknown-field",field:e,value:t,line:n}))}}return{feed:function(e){if(h)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,239===e.charCodeAt(0)&&187===e.charCodeAt(1)&&191===e.charCodeAt(2)&&(e=e.slice(3))),0===i.length){let t=g(e);""!==t&&(i.push(t),s=t.length),m();return}if(-1===e.indexOf(`
12
+ `)&&-1===e.indexOf("\r")){i.push(e),s+=e.length,m();return}i.push(e);let t=i.join("");i.length=0,s=0;let r=g(t);""!==r&&(i.push(r),s=r.length),m()},reset:function(e={}){if(e.consume&&i.length>0){let e=i.join("");f(e,0,e.length)}l=!0,u=void 0,c="",d=0,p=void 0,i.length=0,s=0,h=!1}}}({onEvent:e=>{o.enqueue(e)},onError(t){"function"==typeof e&&e(t),("terminate"===e||"max-buffer-size-exceeded"===t.type)&&o.error(t)},onRetry:t,onComment:r,maxBufferSize:a})},transform(e){n.feed(e)}})}}let to=Symbol.for("workflow-serialize"),ti=Symbol.for("workflow-deserialize");new TextDecoder;var{btoa:ts,atob:tl}=globalThis;function tu(e){if(null==e)return{};let t={};if(e instanceof Headers)e.forEach((e,r)=>{t[r.toLowerCase()]=e});else for(let[r,a]of(Array.isArray(e)||(e=Object.entries(e)),e))null!=a&&(t[r.toLowerCase()]=a);return t}async function tc(e){var t;try{await (null==(t=e.body)?void 0:t.cancel())}catch(e){}}var td="AI_DownloadError",tp=`vercel.ai.error.${td}`,th=Symbol.for(tp),tm=class extends(w=ej,b=th,w){constructor({url:e,statusCode:t,statusText:r,cause:a,message:n=null==a?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${a}`}){super({name:td,message:n,cause:a}),this[b]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return ej.hasMarker(e,tp)}};function tg(e,t){try{return new URL(e).origin===new URL(t).origin}catch(e){return!1}}function tf(e){let t=e.split(".");return 4===t.length&&t.every(e=>{let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255&&String(t)===e})}function ty(e){let[t,r,a]=e.split(".").map(Number);return 0===t||10===t||100===t&&r>=64&&r<=127||127===t||169===t&&254===r||172===t&&r>=16&&r<=31||192===t&&0===r&&0===a||192===t&&0===r&&2===a||192===t&&168===r||198===t&&(18===r||19===r)||198===t&&51===r&&100===a||203===t&&0===r&&113===a||t>=224||!1}function tv(e){let t=function(e){let t=e.toLowerCase(),r=t.indexOf("%");-1!==r&&(t=t.slice(0,r));let a=t.split("::");if(a.length>2)return null;let n=e=>{if(""===e)return[];let t=[],r=e.split(":");for(let e=0;e<r.length;e++){let a=r[e];if(a.includes(".")){if(e!==r.length-1||!tf(a))return null;let[n,o,i,s]=a.split(".").map(Number);t.push(n<<8|o,i<<8|s);continue}if(!/^[0-9a-f]{1,4}$/.test(a))return null;t.push(parseInt(a,16))}return t},o=n(a[0]);if(null===o)return null;if(2===a.length){let e=n(a[1]);if(null===e)return null;let t=8-o.length-e.length;return t<0?null:[...o,...Array(t).fill(0),...e]}return 8===o.length?o:null}(e);if(null===t)return!0;let r=e=>t.slice(0,e).every(e=>0===e);if(r(7)&&(0===t[7]||1===t[7])||(65024&t[0])==64512||(65472&t[0])==65152||(65472&t[0])==65216||(65280&t[0])==65280||8193===t[0]&&3512===t[1]||16383===t[0]&&(61440&t[1])==0)return!0;if(r(6)||r(5)&&65535===t[5]||r(4)&&65535===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&1===t[2]){let e=t[6]>>8&255,r=255&t[6],a=t[7]>>8&255,n=255&t[7];return ty(`${e}.${r}.${a}.${n}`)}return!1}async function tb(){var e,t,r;let a;return(null==(e=null==(a=globalThis.process)?void 0:a.release)?void 0:e.name)!=="node"||(null==(t=a.versions)?void 0:t.bun)!=null||(null==(r=a.versions)?void 0:r.deno)!=null||"workerd"===a.title||null!=globalThis.EdgeRuntime?globalThis.fetch:null!=_?_:_=Promise.resolve().then(tw)}function tw(){let e=t_("node:module"),{lookup:t}=t_("node:dns"),{Agent:r,fetch:a}=e.createRequire(function e(){let t=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let t=Error("Capture current module path");Error.captureStackTrace(t,e);let[r]=t.stack,a=null==r?void 0:r.getFileName();if(null==a)throw Error("Unable to determine the current module path");return a}finally{Error.prepareStackTrace=t}}())("undici"),n=new r({connect:{lookup:(e,r,a)=>{t(e,{...r,all:!0},(t,n)=>{if(t)return void a(t);try{let[t]=n;if(null==t)throw Error(`Hostname ${e} did not resolve to an address`);for(let{address:t,family:r}of n)!function({address:e,family:t,hostname:r}){if(4===t?!tf(e)||ty(e):6!==t||tv(e))throw new tm({url:r,message:`Hostname ${r} resolved to disallowed IP address ${e}`})}({address:t,family:r,hostname:e});!0===r.all?a(null,n):a(null,t.address,t.family)}catch(e){a(e instanceof Error?e:Error(String(e)))}})}}});return(e,t)=>a(e,{...t,dispatcher:n})}function t_(e){var t;let r=globalThis.process,a=null==(t=null==r?void 0:r.getBuiltinModule)?void 0:t.call(r,e);if(null==a)throw Error(`Node.js built-in module ${e} is unavailable`);return a}var tI=["connection","keep-alive","te","trailer","transfer-encoding","upgrade","host","forwarded","proxy-authorization","via","x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-real-ip","metadata","metadata-flavor","x-aws-ec2-metadata-token","x-metadata-token","cookie","set-cookie"],tk=new Set([301,302,303,307,308]);async function tx(e){return null==e||e===globalThis.fetch?await tb():e}async function tS({url:e,headers:t,abortSignal:r,maxRedirects:a=10,fetch:n,trustedOrigin:o}){var i;let s=void 0===t?void 0:function(e){let t=new Headers(e);for(let e of tI)t.delete(e);return t}(t),l=e=>{let t={signal:r,redirect:e};return void 0!==s&&(t.headers=new Headers(s)),t},u=e;for(let t=0;t<=a;t++){let t=void 0!==o&&tg(u,o);t||function(e){let t;try{t=new URL(e)}catch(t){throw new tm({url:e,message:`Invalid URL: ${e}`})}if("data:"===t.protocol)return;if("http:"!==t.protocol&&"https:"!==t.protocol)throw new tm({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let r=t.hostname.toLowerCase().replace(/\.+$/,"");if(!r)throw new tm({url:e,message:"URL must have a hostname"});if("localhost"===r||r.endsWith(".local")||r.endsWith(".localhost"))throw new tm({url:e,message:`URL with hostname ${r} is not allowed`});if(r.startsWith("[")&&r.endsWith("]")){if(tv(r.slice(1,-1)))throw new tm({url:e,message:`URL with IPv6 address ${r} is not allowed`});return}if(tf(r)&&ty(r))throw new tm({url:e,message:`URL with IP address ${r} is not allowed`})}(u);let r=t&&null!=n?n:t?globalThis.fetch:await tx(n),a=await r(u,l("manual"));if("opaqueredirect"===a.type){if(!function(e=globalThis){return null!=e.window}())throw new tm({url:e,message:`Redirect from ${u} could not be validated and was blocked`});return await r(u,l("follow"))}let c=null==(i=a.headers)?void 0:i.get("location");if(tk.has(a.status)&&c){await tc(a);let e=new URL(c,u).toString();if(void 0!==s&&!tg(e,u)){let e=s.get("user-agent");s=new Headers(null==e?void 0:{"user-agent":e})}u=e;continue}return a}throw new tm({url:e,message:`Too many redirects (max ${a})`})}async function tE({response:e,url:t,maxBytes:r=0x80000000}){let a=e.headers.get("content-length");if(null!=a){let n=parseInt(a,10);if(!isNaN(n)&&n>r)throw await tc(e),new tm({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes (Content-Length: ${n}).`})}let n=e.body;if(null==n)return new Uint8Array(0);let o=n.getReader(),i=[],s=0;try{for(;;){let{done:e,value:a}=await o.read();if(e)break;if((s+=a.length)>r)throw new tm({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes.`});i.push(a)}}finally{try{await o.cancel()}catch(e){}finally{o.releaseLock()}}let l=new Uint8Array(s),u=0;for(let e of i)l.set(e,u),u+=e.length;return l}var tM=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{let n=()=>{let e=r.length,a=Array(t);for(let n=0;n<t;n++)a[n]=r[Math.random()*e|0];return a.join("")};if(null==e)return n;if(r.includes(a))throw new eH({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${n()}`},tj=tM(),tA=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,tT=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function tR(e){let t=JSON.parse(e);return null===t||"object"!=typeof t||!1===tA.test(e)&&!1===tT.test(e)?t:function(e){let t=[e];for(;t.length;){let e=t;for(let r of(t=[],e)){if(Object.prototype.hasOwnProperty.call(r,"__proto__")||Object.prototype.hasOwnProperty.call(r,"constructor")&&null!==r.constructor&&"object"==typeof r.constructor&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let e in r){let a=r[e];a&&"object"==typeof a&&t.push(a)}}}return e}(t)}function tO(e){if("object"===e.type||Array.isArray(e.type)&&e.type.includes("object")){let{additionalProperties:t}=e;e.additionalProperties=null!=t&&"boolean"!=typeof t&&tC(t);let{properties:r}=e;if(null!=r)for(let e of Object.keys(r))r[e]=tC(r[e])}null!=e.items&&(e.items=Array.isArray(e.items)?e.items.map(tC):tC(e.items)),null!=e.anyOf&&(e.anyOf=e.anyOf.map(tC)),null!=e.allOf&&(e.allOf=e.allOf.map(tC)),null!=e.oneOf&&(e.oneOf=e.oneOf.map(tC));let{definitions:t}=e;if(null!=t)for(let e of Object.keys(t))t[e]=tC(t[e]);return e}function tC(e){return"boolean"==typeof e?e:tO(e)}var tP=Symbol("Let zodToJsonSchema decide on which parser to use"),t$={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};function tN(e,t){return t2(e.type._def,t)}var tU=void 0,tL=/^[cC][^\s-]{8,}$/,tD=/^[0-9a-z]+$/,tF=/^[0-9A-HJKMNP-TV-Z]{26}$/,tq=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,tH=()=>(void 0===tU&&(tU=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),tU),tZ=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,tB=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,tV=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,tz=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,tG=/^[a-zA-Z0-9_-]{21}$/,tW=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function tY(e,t){let r={type:"string"};if(e.checks)for(let a of e.checks)switch(a.kind){case"min":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value;break;case"max":r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"email":switch(t.emailStrategy){case"format:email":tQ(r,"email",a.message,t);break;case"format:idn-email":tQ(r,"idn-email",a.message,t);break;case"pattern:zod":tX(r,tq,a.message,t)}break;case"url":tQ(r,"uri",a.message,t);break;case"uuid":tQ(r,"uuid",a.message,t);break;case"regex":tX(r,a.regex,a.message,t);break;case"cuid":tX(r,tL,a.message,t);break;case"cuid2":tX(r,tD,a.message,t);break;case"startsWith":tX(r,RegExp(`^${tJ(a.value,t)}`),a.message,t);break;case"endsWith":tX(r,RegExp(`${tJ(a.value,t)}$`),a.message,t);break;case"datetime":tQ(r,"date-time",a.message,t);break;case"date":tQ(r,"date",a.message,t);break;case"time":tQ(r,"time",a.message,t);break;case"duration":tQ(r,"duration",a.message,t);break;case"length":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value,r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"includes":tX(r,RegExp(tJ(a.value,t)),a.message,t);break;case"ip":"v6"!==a.version&&tQ(r,"ipv4",a.message,t),"v4"!==a.version&&tQ(r,"ipv6",a.message,t);break;case"base64url":tX(r,tz,a.message,t);break;case"jwt":tX(r,tW,a.message,t);break;case"cidr":"v6"!==a.version&&tX(r,tZ,a.message,t),"v4"!==a.version&&tX(r,tB,a.message,t);break;case"emoji":tX(r,tH(),a.message,t);break;case"ulid":tX(r,tF,a.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":tQ(r,"binary",a.message,t);break;case"contentEncoding:base64":r.contentEncoding="base64";break;case"pattern:zod":tX(r,tV,a.message,t)}break;case"nanoid":tX(r,tG,a.message,t)}return r}function tJ(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let r=0;r<e.length;r++)tK.has(e[r])||(t+="\\"),t+=e[r];return t}(e):e}var tK=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function tQ(e,t,r,a){var n;e.format||(null==(n=e.anyOf)?void 0:n.some(e=>e.format))?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&a.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function tX(e,t,r,a){var n;e.pattern||(null==(n=e.allOf)?void 0:n.some(e=>e.pattern))?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:t0(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=t0(t,a)}function t0(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;let a={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=a.i?e.source.toLowerCase():e.source,o="",i=!1,s=!1,l=!1;for(let e=0;e<n.length;e++){if(i){o+=n[e],i=!1;continue}if(a.i){if(s){if(n[e].match(/[a-z]/)){l?(o+=n[e],o+=`${n[e-2]}-${n[e]}`.toUpperCase(),l=!1):"-"===n[e+1]&&(null==(r=n[e+2])?void 0:r.match(/[a-z]/))?(o+=n[e],l=!0):o+=`${n[e]}${n[e].toUpperCase()}`;continue}}else if(n[e].match(/[a-z]/)){o+=`[${n[e]}${n[e].toUpperCase()}]`;continue}}if(a.m){if("^"===n[e]){o+=`(^|(?<=[\r
13
+ ]))`;continue}else if("$"===n[e]){o+=`($|(?=[\r
14
+ ]))`;continue}}if(a.s&&"."===n[e]){o+=s?`${n[e]}\r
15
+ `:`[${n[e]}\r
16
+ ]`;continue}o+=n[e],"\\"===n[e]?i=!0:s&&"]"===n[e]?s=!1:s||"["!==n[e]||(s=!0)}try{new RegExp(o)}catch(r){return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function t1(e,t){var r,a,n,o,i,s;let l={type:"object",additionalProperties:null!=(r=t2(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))?r:t.allowedAdditionalProperties};if((null==(a=e.keyType)?void 0:a._def.typeName)==="ZodString"&&(null==(n=e.keyType._def.checks)?void 0:n.length)){let{type:r,...a}=tY(e.keyType._def,t);return{...l,propertyNames:a}}if((null==(o=e.keyType)?void 0:o._def.typeName)==="ZodEnum")return{...l,propertyNames:{enum:e.keyType._def.values}};if((null==(i=e.keyType)?void 0:i._def.typeName)==="ZodBranded"&&"ZodString"===e.keyType._def.type._def.typeName&&(null==(s=e.keyType._def.type._def.checks)?void 0:s.length)){let{type:r,...a}=tN(e.keyType._def,t);return{...l,propertyNames:a}}return l}var t4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function t2(e,t,r=!1){var a;let n=t.seen.get(e);if(t.override){let o=null==(a=t.override)?void 0:a.call(t,e,t,n,r);if(o!==tP)return o}if(n&&!r){let e=t5(n,t);if(void 0!==e)return e}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let i=((e,t,r)=>{var a,n,o,i,s,l;switch(t){case"ZodString":return tY(e,r);case"ZodNumber":let u={type:"number"};if(!e.checks)return u;for(let t of e.checks)switch(t.kind){case"int":u.type="integer";break;case"min":t.inclusive?u.minimum=t.value:u.exclusiveMinimum=t.value;break;case"max":t.inclusive?u.maximum=t.value:u.exclusiveMaximum=t.value;break;case"multipleOf":u.multipleOf=t.value}return u;case"ZodObject":return function(e,t){let r={type:"object",properties:{}},a=[],n=e.shape();for(let e in n){let o=n[e];if(void 0===o||void 0===o._def)continue;let i=function(e){try{return e.isOptional()}catch(e){return!0}}(o),s=t2(o._def,{...t,currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]});void 0!==s&&(r.properties[e]=s,i||a.push(e))}a.length&&(r.required=a);let o=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return t2(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==o&&(r.additionalProperties=o),r}(e,r);case"ZodBigInt":let c={type:"integer",format:"int64"};if(!e.checks)return c;for(let t of e.checks)switch(t.kind){case"min":t.inclusive?c.minimum=t.value:c.exclusiveMinimum=t.value;break;case"max":t.inclusive?c.maximum=t.value:c.exclusiveMaximum=t.value;break;case"multipleOf":c.multipleOf=t.value}return c;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function e(t,r,a){let n=null!=a?a:r.dateStrategy;if(Array.isArray(n))return{anyOf:n.map(a=>e(t,r,a))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var o=t;let i={type:"integer",format:"unix-time"};for(let e of o.checks)switch(e.kind){case"min":i.minimum=e.value;break;case"max":i.maximum=e.value}return i}}(e,r);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let d;return d={type:"array"},(null==(o=e.type)?void 0:o._def)&&(null==(s=null==(i=e.type)?void 0:i._def)?void 0:s.typeName)!=="ZodAny"&&(d.items=t2(e.type._def,{...r,currentPath:[...r.currentPath,"items"]})),e.minLength&&(d.minItems=e.minLength.value),e.maxLength&&(d.maxItems=e.maxLength.value),e.exactLength&&(d.minItems=e.exactLength.value,d.maxItems=e.exactLength.value),d;case"ZodUnion":case"ZodDiscriminatedUnion":let p,h=e.options instanceof Map?Array.from(e.options.values()):e.options;if(h.every(e=>e._def.typeName in t4&&(!e._def.checks||!e._def.checks.length))){let e=h.reduce((e,t)=>{let r=t4[t._def.typeName];return r&&!e.includes(r)?[...e,r]:e},[]);return{type:e.length>1?e:e[0]}}if(h.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){let e=h.reduce((e,t)=>{let r=typeof t._def.value;switch(r){case"string":case"number":case"boolean":return[...e,r];case"bigint":return[...e,"integer"];case"object":if(null===t._def.value)return[...e,"null"];default:return e}},[]);if(e.length===h.length){let t=e.filter((e,t,r)=>r.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:h.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(h.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:h.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return a=e,n=r,(p=(a.options instanceof Map?Array.from(a.options.values()):a.options).map((e,t)=>t2(e._def,{...n,currentPath:[...n.currentPath,"anyOf",`${t}`]})).filter(e=>!!e&&(!n.strictUnions||"object"==typeof e&&Object.keys(e).length>0))).length?{anyOf:p}:void 0;case"ZodIntersection":let m,g;return m=[t2(e.left._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),t2(e.right._def,{...r,currentPath:[...r.currentPath,"allOf","1"]})].filter(e=>!!e),g=[],m.forEach(e=>{if((!("type"in e)||"string"!==e.type)&&"allOf"in e)g.push(...e.allOf);else{let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){let{additionalProperties:r,...a}=e;t=a}g.push(t)}}),g.length?{allOf:g}:void 0;case"ZodTuple":return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,t)=>t2(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:t2(e.rest._def,{...r,currentPath:[...r.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,t)=>t2(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[])};case"ZodRecord":return t1(e,r);case"ZodLiteral":let f;return"bigint"!=(f=typeof e.value)&&"number"!==f&&"boolean"!==f&&"string"!==f?{type:Array.isArray(e.value)?"array":"object"}:{type:"bigint"===f?"integer":f,const:e.value};case"ZodEnum":return{type:"string",enum:Array.from(e.values)};case"ZodNativeEnum":let y,v,b;return y=e.values,{type:1===(b=Array.from(new Set((v=Object.keys(e.values).filter(e=>"number"!=typeof y[y[e]]).map(e=>y[e])).map(e=>typeof e)))).length?"string"===b[0]?"string":"number":["string","number"],enum:v};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[t4[e.innerType._def.typeName],"null"]};let w=t2(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","0"]});return w&&{anyOf:[w,{type:"null"}]};case"ZodOptional":if(r.currentPath.toString()===(null==(l=r.propertyPath)?void 0:l.toString()))return t2(e.innerType._def,r);let _=t2(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","1"]});return _?{anyOf:[{not:{}},_]}:{};case"ZodMap":if("record"===r.mapStrategy)return t1(e,r);return{type:"array",maxItems:125,items:{type:"array",items:[t2(e.keyType._def,{...r,currentPath:[...r.currentPath,"items","items","0"]})||{},t2(e.valueType._def,{...r,currentPath:[...r.currentPath,"items","items","1"]})||{}],minItems:2,maxItems:2}};case"ZodSet":let I;return I={type:"array",uniqueItems:!0,items:t2(e.valueType._def,{...r,currentPath:[...r.currentPath,"items"]})},e.minSize&&(I.minItems=e.minSize.value),e.maxSize&&(I.maxItems=e.maxSize.value),I;case"ZodLazy":return()=>e.getter()._def;case"ZodPromise":return t2(e.type._def,r);case"ZodEffects":return"input"===r.effectStrategy?t2(e.schema._def,r):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return{...t2(e.innerType._def,r),default:e.defaultValue()};case"ZodBranded":return tN(e,r);case"ZodReadonly":case"ZodCatch":return t2(e.innerType._def,r);case"ZodPipeline":if("input"===r.pipeStrategy)return t2(e.in._def,r);if("output"===r.pipeStrategy)return t2(e.out._def,r);let k=t2(e.in._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),x=t2(e.out._def,{...r,currentPath:[...r.currentPath,"allOf",k?"1":"0"]});return{allOf:[k,x].filter(e=>void 0!==e)};default:return}})(e,e.typeName,t),s="function"==typeof i?t2(i(),t):i;if(s&&t9(e,t,s),t.postProcess){let r=t.postProcess(s,e,t);return o.jsonSchema=s,r}return o.jsonSchema=s,s}var t5=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:((e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")})(t.currentPath,e.path)};case"none":case"seen":if(e.path.length<t.currentPath.length&&e.path.every((e,r)=>t.currentPath[r]===e))return console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{};return"seen"===t.$refStrategy?{}:void 0}},t9=(e,t,r)=>(e.description&&(r.description=e.description),r),t6=Symbol.for("vercel.ai.schema");function t3(e){let t;return()=>(null==t&&(t=e()),t)}function t8(e,{validate:t}={}){return{[t6]:!0,_type:void 0,get jsonSchema(){return"function"==typeof e&&(e=e()),e},validate:t}}function t7(e){var t;return null==e?t8({type:"object",properties:{},additionalProperties:!1}):"object"==typeof e&&null!==e&&t6 in e&&!0===e[t6]&&"jsonSchema"in e&&"validate"in e?e:"~standard"in e?"zod"===e["~standard"].vendor?re(e):(t=e,t8(()=>{if(null==t["~standard"].jsonSchema)throw Error(`Standard schema vendor '${t["~standard"].vendor}' does not support JSON Schema conversion.`);return tO(t["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{let r=await t["~standard"].validate(e);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new e2({value:e,cause:r.issues})}}})):e()}function re(e,t){var r,a;let n;if("_zod"in e){let a;return a=null!=(r=null==t?void 0:t.useReferences)&&r,t8(()=>tO((0,e7.toJSONSchema)(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async t=>{let r=await (0,e8.safeParseAsync)(e,t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}return n=null!=(a=null==t?void 0:t.useReferences)&&a,t8(()=>((e,t)=>{var r;let a,n,o=(n=void 0!==(a="string"==typeof t?{...t$,name:t}:{...t$,...t}).name?[...a.basePath,a.definitionPath,a.name]:a.basePath,{...a,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(a.definitions).map(([e,t])=>[t._def,{def:t._def,path:[...a.basePath,a.definitionPath,e],jsonSchema:void 0}]))}),i="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>{var a;return{...e,[t]:null!=(a=t2(r._def,{...o,currentPath:[...o.basePath,o.definitionPath,t]},!0))?a:{}}},{}):void 0,s="string"==typeof t?t:(null==t?void 0:t.nameStrategy)==="title"||null==t?void 0:t.name,l=null!=(r=t2(e._def,void 0===s?o:{...o,currentPath:[...o.basePath,o.definitionPath,s]},!1))?r:{},u="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==u&&(l.title=u);let c=void 0===s?i?{...l,[o.definitionPath]:i}:l:{$ref:[..."relative"===o.$refStrategy?[]:o.basePath,o.definitionPath,s].join("/"),[o.definitionPath]:{...i,[s]:l}};return c.$schema="http://json-schema.org/draft-07/schema#",c})(e,{$refStrategy:n?"root":"none"}),{validate:async t=>{let r=await e.safeParseAsync(t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}async function rt({value:e,schema:t,context:r}){let a=await rr({value:e,schema:t,context:r});if(!a.success)throw e2.wrap({value:e,cause:a.error,context:r});return a.value}async function rr({value:e,schema:t,context:r}){let a=t7(t);try{if(null==a.validate)return{success:!0,value:e,rawValue:e};let t=await a.validate(e);if(t.success)return{success:!0,value:t.value,rawValue:e};return{success:!1,error:e2.wrap({value:e,cause:t.error,context:r}),rawValue:e}}catch(t){return{success:!1,error:e2.wrap({value:e,cause:t,context:r}),rawValue:e}}}async function ra({text:e,schema:t}){try{let r=function(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch(t){return tR(e)}try{return tR(e)}finally{Error.stackTraceLimit=t}}(e);if(null==t)return{success:!0,value:r,rawValue:r};return await rr({value:r,schema:t})}catch(t){return{success:!1,error:eG.isInstance(t)?t:new eG({text:e,cause:t}),rawValue:void 0}}}async function rn(e){return"function"==typeof e&&(e=e()),Promise.resolve(e)}new TextDecoder;Symbol.for("vercel.ai.error.AI_SerializationError");var ro=e.i(467034),ri="vercel.ai.error",rs=Symbol.for(ri),rl=class e extends(k=Error,I=rs,k){constructor({name:e,message:t,cause:r}){super(t),this[I]=!0,this.name=e,this.cause=r}static isInstance(t){return e.hasMarker(t,ri)}static hasMarker(e,t){let r=Symbol.for(t);return null!=e&&"object"==typeof e&&r in e&&"boolean"==typeof e[r]&&!0===e[r]}},ru="AI_APICallError",rc=`vercel.ai.error.${ru}`,rd=Symbol.for(rc),rp=class extends(S=rl,x=rd,S){constructor({message:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n,responseBody:o,cause:i,isRetryable:s=null!=a&&(408===a||409===a||429===a||a>=500),data:l}){super({name:ru,message:e,cause:i}),this[x]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=a,this.responseHeaders=n,this.responseBody=o,this.isRetryable=s,this.data=l}static isInstance(e){return rl.hasMarker(e,rc)}},rh="AI_EmptyResponseBodyError",rm=`vercel.ai.error.${rh}`,rg=Symbol.for(rm),rf=class extends(M=rl,E=rg,M){constructor({message:e="Empty response body"}={}){super({name:rh,message:e}),this[E]=!0}static isInstance(e){return rl.hasMarker(e,rm)}},ry=Symbol.for("vercel.ai.error.AI_EvaluationUnsupportedQuestionTypeError");function rv(e){return null==e?"unknown error":"string"==typeof e?e:e instanceof Error?e.toString():JSON.stringify(e)}var rb="AI_InvalidArgumentError",rw=`vercel.ai.error.${rb}`,r_=Symbol.for(rw),rI=class extends(A=rl,j=r_,A){constructor({message:e,cause:t,argument:r}){super({name:rb,message:e,cause:t}),this[j]=!0,this.argument=r}static isInstance(e){return rl.hasMarker(e,rw)}},rk=Symbol.for("vercel.ai.error.AI_InvalidPromptError");Symbol.for("vercel.ai.error.AI_InvalidResponseDataError");var rx="AI_JSONParseError",rS=`vercel.ai.error.${rx}`,rE=Symbol.for(rS),rM=class extends(R=rl,T=rE,R){constructor({text:e,cause:t}){super({name:rx,message:`JSON parsing failed: Text: ${e}.
17
+ Error message: ${rv(t)}`,cause:t}),this[T]=!0,this.text=e}static isInstance(e){return rl.hasMarker(e,rS)}},rj=Symbol.for("vercel.ai.error.AI_LoadAPIKeyError");Symbol.for("vercel.ai.error.AI_LoadSettingError");Symbol.for("vercel.ai.error.AI_NoContentGeneratedError");Symbol.for("vercel.ai.error.AI_NoSuchModelError");Symbol.for("vercel.ai.error.AI_NoSuchProviderReferenceError");Symbol.for("vercel.ai.error.AI_TooManyEmbeddingValuesForCallError");var rA="AI_TypeValidationError",rT=`vercel.ai.error.${rA}`,rR=Symbol.for(rT),rO=class e extends(C=rl,O=rR,C){constructor({value:e,cause:t,context:r}){let a="Type validation failed";if((null==r?void 0:r.field)&&(a+=` for ${r.field}`),(null==r?void 0:r.entityName)||(null==r?void 0:r.entityId)){a+=" (";const e=[];r.entityName&&e.push(r.entityName),r.entityId&&e.push(`id: "${r.entityId}"`),a+=e.join(", "),a+=")"}super({name:rA,message:`${a}: Value: ${JSON.stringify(e)}.
18
+ Error message: ${rv(t)}`,cause:t}),this[O]=!0,this.value=e,this.context=r}static isInstance(e){return rl.hasMarker(e,rT)}static wrap({value:t,cause:r,context:a}){var n,o,i;return e.isInstance(r)&&r.value===t&&(null==(n=r.context)?void 0:n.field)===(null==a?void 0:a.field)&&(null==(o=r.context)?void 0:o.entityName)===(null==a?void 0:a.entityName)&&(null==(i=r.context)?void 0:i.entityId)===(null==a?void 0:a.entityId)?r:new e({value:t,cause:r,context:a})}},rC="AI_UnsupportedFunctionalityError",rP=`vercel.ai.error.${rC}`,r$=Symbol.for(rP),rN=class extends($=rl,P=r$,$){constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:rC,message:t}),this[P]=!0,this.functionality=e}static isInstance(e){return rl.hasMarker(e,rP)}};function rU(...e){return e.reduce((e,t)=>({...e,...null!=t?t:{}}),{})}async function rL(e,t){if(null==e)return Promise.resolve();let r=null==t?void 0:t.abortSignal;return new Promise((t,a)=>{if(null==r?void 0:r.aborted)return void a(rD());let n=setTimeout(()=>{o(),t()},e),o=()=>{clearTimeout(n),null==r||r.removeEventListener("abort",i)},i=()=>{o(),a(rD())};null==r||r.addEventListener("abort",i)})}function rD(){return new DOMException("Delay was aborted","AbortError")}var rF=new TextDecoder;async function rq(e){return"string"==typeof e?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?rF.decode(e):"u">typeof Blob&&e instanceof Blob?e.text():String(e)}async function rH(e,{highWaterMark:t=1048576,pollIntervalMs:r=20,abortSignal:a}={}){for(var n;1===e.readyState&&(null!=(n=e.bufferedAmount)?n:0)>t;){if((null==a?void 0:a.aborted)===!0)return;await rL(r)}}var{btoa:rZ,atob:rB}=globalThis;function rV(e){let t=[];for(let r=0;r<e.length;r+=4096)t.push(String.fromCodePoint(...e.subarray(r,r+4096)));return rZ(t.join(""))}function rz(e){return Object.fromEntries([...e.headers])}function rG(e=globalThis){var t,r,a;return e.window?"runtime/browser":(null==(t=e.navigator)?void 0:t.userAgent)?`runtime/${e.navigator.userAgent.toLowerCase()}`:(null==(a=null==(r=e.process)?void 0:r.versions)?void 0:a.node)?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function rW(e){return(e instanceof Error||"function"==typeof DOMException&&e instanceof DOMException)&&("AbortError"===e.name||"ResponseAborted"===e.name||"TimeoutError"===e.name)}var rY=["fetch failed","failed to fetch"],rJ=new Set(["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE","UND_ERR_SOCKET","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"]);function rK({error:e,url:t,requestBodyValues:r}){if(rW(e))return e;if(e instanceof TypeError&&rY.includes(e.message.toLowerCase())){let a=e.cause;if(null!=a)return new rp({message:`Cannot connect to API: ${a.message}`,cause:a,url:t,requestBodyValues:r,isRetryable:!0})}let a=function(e){let t=new Set,r=e;for(;r instanceof Error&&!t.has(r);){t.add(r);let e=r;if("string"==typeof e.code&&rJ.has(e.code))return e;r=r.cause}}(e);return null!=a?new rp(rp.isInstance(e)?{message:e.message,cause:e.cause,url:e.url,requestBodyValues:e.requestBodyValues,statusCode:e.statusCode,responseHeaders:e.responseHeaders,responseBody:e.responseBody,data:e.data,isRetryable:!0}:{message:`Cannot connect to API: ${e instanceof Error?e.message:a.message}`,cause:e,url:t,requestBodyValues:r,isRetryable:!0}):e}var rQ="5.0.44";function rX(e){if(null==e)return{};let t={};if(e instanceof Headers)e.forEach((e,r)=>{t[r.toLowerCase()]=e});else for(let[r,a]of(Array.isArray(e)||(e=Object.entries(e)),e))null!=a&&(t[r.toLowerCase()]=a);return t}function r0(e,...t){let r=new Headers(rX(e)),a=r.get("user-agent")||"";return r.set("user-agent",[a,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}async function r1(e){var t;try{await (null==(t=e.body)?void 0:t.cancel())}catch(e){}}var r4="AI_DownloadError",r2=`vercel.ai.error.${r4}`,r5=Symbol.for(r2),r9=class extends(U=rl,N=r5,U){constructor({url:e,statusCode:t,statusText:r,cause:a,message:n=null==a?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${a}`}){super({name:r4,message:n,cause:a}),this[N]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return rl.hasMarker(e,r2)}};function r6(e,t){try{return new URL(e).origin===new URL(t).origin}catch(e){return!1}}function r3(e){let t=e.split(".");return 4===t.length&&t.every(e=>{let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255&&String(t)===e})}function r8(e){let[t,r,a]=e.split(".").map(Number);return 0===t||10===t||100===t&&r>=64&&r<=127||127===t||169===t&&254===r||172===t&&r>=16&&r<=31||192===t&&0===r&&0===a||192===t&&0===r&&2===a||192===t&&168===r||198===t&&(18===r||19===r)||198===t&&51===r&&100===a||203===t&&0===r&&113===a||t>=224||!1}function r7(e){let t=function(e){let t=e.toLowerCase(),r=t.indexOf("%");-1!==r&&(t=t.slice(0,r));let a=t.split("::");if(a.length>2)return null;let n=e=>{if(""===e)return[];let t=[],r=e.split(":");for(let e=0;e<r.length;e++){let a=r[e];if(a.includes(".")){if(e!==r.length-1||!r3(a))return null;let[n,o,i,s]=a.split(".").map(Number);t.push(n<<8|o,i<<8|s);continue}if(!/^[0-9a-f]{1,4}$/.test(a))return null;t.push(parseInt(a,16))}return t},o=n(a[0]);if(null===o)return null;if(2===a.length){let e=n(a[1]);if(null===e)return null;let t=8-o.length-e.length;return t<0?null:[...o,...Array(t).fill(0),...e]}return 8===o.length?o:null}(e);if(null===t)return!0;let r=e=>t.slice(0,e).every(e=>0===e);if(r(7)&&(0===t[7]||1===t[7])||(65024&t[0])==64512||(65472&t[0])==65152||(65472&t[0])==65216||(65280&t[0])==65280||8193===t[0]&&3512===t[1]||16383===t[0]&&(61440&t[1])==0)return!0;if(r(6)||r(5)&&65535===t[5]||r(4)&&65535===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&1===t[2]){let e=t[6]>>8&255,r=255&t[6],a=t[7]>>8&255,n=255&t[7];return r8(`${e}.${r}.${a}.${n}`)}return!1}async function ae(){var e,t,r;let a;return(null==(e=null==(a=globalThis.process)?void 0:a.release)?void 0:e.name)!=="node"||(null==(t=a.versions)?void 0:t.bun)!=null||(null==(r=a.versions)?void 0:r.deno)!=null||"workerd"===a.title||null!=globalThis.EdgeRuntime?globalThis.fetch:null!=L?L:L=Promise.resolve().then(at)}function at(){let e=ar("node:module"),{lookup:t}=ar("node:dns"),{Agent:r,fetch:a}=e.createRequire(function e(){let t=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let t=Error("Capture current module path");Error.captureStackTrace(t,e);let[r]=t.stack,a=null==r?void 0:r.getFileName();if(null==a)throw Error("Unable to determine the current module path");return a}finally{Error.prepareStackTrace=t}}())("undici"),n=new r({connect:{lookup:(e,r,a)=>{t(e,{...r,all:!0},(t,n)=>{if(t)return void a(t);try{let[t]=n;if(null==t)throw Error(`Hostname ${e} did not resolve to an address`);for(let{address:t,family:r}of n)!function({address:e,family:t,hostname:r}){if(4===t?!r3(e)||r8(e):6!==t||r7(e))throw new r9({url:r,message:`Hostname ${r} resolved to disallowed IP address ${e}`})}({address:t,family:r,hostname:e});!0===r.all?a(null,n):a(null,t.address,t.family)}catch(e){a(e instanceof Error?e:Error(String(e)))}})}}});return(e,t)=>a(e,{...t,dispatcher:n})}function ar(e){var t;let r=globalThis.process,a=null==(t=null==r?void 0:r.getBuiltinModule)?void 0:t.call(r,e);if(null==a)throw Error(`Node.js built-in module ${e} is unavailable`);return a}var aa=["connection","keep-alive","te","trailer","transfer-encoding","upgrade","host","forwarded","proxy-authorization","via","x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-real-ip","metadata","metadata-flavor","x-aws-ec2-metadata-token","x-metadata-token","cookie","set-cookie"],an=new Set([301,302,303,307,308]);async function ao(e){return null==e||e===globalThis.fetch?await ae():e}async function ai({url:e,headers:t,abortSignal:r,maxRedirects:a=10,fetch:n,trustedOrigin:o}){var i;let s=void 0===t?void 0:function(e){let t=new Headers(e);for(let e of aa)t.delete(e);return t}(t),l=e=>{let t={signal:r,redirect:e};return void 0!==s&&(t.headers=new Headers(s)),t},u=e;for(let t=0;t<=a;t++){let t=void 0!==o&&r6(u,o);t||function(e){let t;try{t=new URL(e)}catch(t){throw new r9({url:e,message:`Invalid URL: ${e}`})}if("data:"===t.protocol)return;if("http:"!==t.protocol&&"https:"!==t.protocol)throw new r9({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let r=t.hostname.toLowerCase().replace(/\.+$/,"");if(!r)throw new r9({url:e,message:"URL must have a hostname"});if("localhost"===r||r.endsWith(".local")||r.endsWith(".localhost"))throw new r9({url:e,message:`URL with hostname ${r} is not allowed`});if(r.startsWith("[")&&r.endsWith("]")){if(r7(r.slice(1,-1)))throw new r9({url:e,message:`URL with IPv6 address ${r} is not allowed`});return}if(r3(r)&&r8(r))throw new r9({url:e,message:`URL with IP address ${r} is not allowed`})}(u);let r=t&&null!=n?n:t?globalThis.fetch:await ao(n),a=await r(u,l("manual"));if("opaqueredirect"===a.type){if(!function(e=globalThis){return null!=e.window}())throw new r9({url:e,message:`Redirect from ${u} could not be validated and was blocked`});return await r(u,l("follow"))}let c=null==(i=a.headers)?void 0:i.get("location");if(an.has(a.status)&&c){await r1(a);let e=new URL(c,u).toString();if(void 0!==s&&!r6(e,u)){let e=s.get("user-agent");s=new Headers(null==e?void 0:{"user-agent":e})}u=e;continue}return a}throw new r9({url:e,message:`Too many redirects (max ${a})`})}async function as({response:e,url:t,maxBytes:r=0x80000000}){let a=e.headers.get("content-length");if(null!=a){let n=parseInt(a,10);if(!isNaN(n)&&n>r)throw await r1(e),new r9({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes (Content-Length: ${n}).`})}let n=e.body;if(null==n)return new Uint8Array(0);let o=n.getReader(),i=[],s=0;try{for(;;){let{done:e,value:a}=await o.read();if(e)break;if((s+=a.length)>r)throw new r9({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes.`});i.push(a)}}finally{try{await o.cancel()}catch(e){}finally{o.releaseLock()}}let l=new Uint8Array(s),u=0;for(let e of i)l.set(e,u),u+=e.length;return l}(({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{if(null!=e){if(r.includes(a))throw new rI({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${(()=>{let e=r.length,a=Array(t);for(let n=0;n<t;n++)a[n]=r[Math.random()*e|0];return a.join("")})()}`}})();var al=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:a,abortSignal:n,fetch:o,validateUrl:i,credentialedOrigin:s,trustedOrigin:l})=>{try{let u=null!=o?o:globalThis.fetch,c=void 0===s||r6(e,s)?t:{},d=r0(c,`ai-sdk/provider-utils/${rQ}`,rG()),p=i?await ai({url:e,headers:d,abortSignal:n,fetch:o,trustedOrigin:l}):await u(e,{method:"GET",headers:d,signal:n}),h=rz(p);if(!p.ok){let t;try{t=await a({response:p,url:e,requestBodyValues:{}})}catch(t){if(rW(t)||rp.isInstance(t))throw t;throw new rp({message:"Failed to process error response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}throw t.value}try{return await r({response:p,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&(rW(t)||rp.isInstance(t)))throw t;throw new rp({message:"Failed to process successful response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}}catch(t){throw rK({error:t,url:e,requestBodyValues:{}})}};function au(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)}function ac({settingValue:e,environmentVariableName:t}){return"string"==typeof e?e:null!=e||void 0===eS.default?void 0:null!=(e=eS.default.env[t])&&"string"==typeof e?e:void 0}function ad(e){return null!=e&&Number.isSafeInteger(e)&&e>=0}var ap=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,ah=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function am(e){let t=JSON.parse(e);return null===t||"object"!=typeof t||!1===ap.test(e)&&!1===ah.test(e)?t:function(e){let t=[e];for(;t.length;){let e=t;for(let r of(t=[],e)){if(Object.prototype.hasOwnProperty.call(r,"__proto__")||Object.prototype.hasOwnProperty.call(r,"constructor")&&null!==r.constructor&&"object"==typeof r.constructor&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let e in r){let a=r[e];a&&"object"==typeof a&&t.push(a)}}}return e}(t)}function ag(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch(t){return am(e)}try{return am(e)}finally{Error.stackTraceLimit=t}}function af(e){if("object"===e.type||Array.isArray(e.type)&&e.type.includes("object")){let{additionalProperties:t}=e;e.additionalProperties=null!=t&&"boolean"!=typeof t&&ay(t);let{properties:r}=e;if(null!=r)for(let e of Object.keys(r))r[e]=ay(r[e])}null!=e.items&&(e.items=Array.isArray(e.items)?e.items.map(ay):ay(e.items)),null!=e.anyOf&&(e.anyOf=e.anyOf.map(ay)),null!=e.allOf&&(e.allOf=e.allOf.map(ay)),null!=e.oneOf&&(e.oneOf=e.oneOf.map(ay));let{definitions:t}=e;if(null!=t)for(let e of Object.keys(t))t[e]=ay(t[e]);return e}function ay(e){return"boolean"==typeof e?e:af(e)}var av=Symbol("Let zodToJsonSchema decide on which parser to use"),ab={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};function aw(e,t){return aq(e.type._def,t)}var a_=void 0,aI=/^[cC][^\s-]{8,}$/,ak=/^[0-9a-z]+$/,ax=/^[0-9A-HJKMNP-TV-Z]{26}$/,aS=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,aE=()=>(void 0===a_&&(a_=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),a_),aM=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,aj=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,aA=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,aT=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,aR=/^[a-zA-Z0-9_-]{21}$/,aO=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function aC(e,t){let r={type:"string"};if(e.checks)for(let a of e.checks)switch(a.kind){case"min":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value;break;case"max":r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"email":switch(t.emailStrategy){case"format:email":aN(r,"email",a.message,t);break;case"format:idn-email":aN(r,"idn-email",a.message,t);break;case"pattern:zod":aU(r,aS,a.message,t)}break;case"url":aN(r,"uri",a.message,t);break;case"uuid":aN(r,"uuid",a.message,t);break;case"regex":aU(r,a.regex,a.message,t);break;case"cuid":aU(r,aI,a.message,t);break;case"cuid2":aU(r,ak,a.message,t);break;case"startsWith":aU(r,RegExp(`^${aP(a.value,t)}`),a.message,t);break;case"endsWith":aU(r,RegExp(`${aP(a.value,t)}$`),a.message,t);break;case"datetime":aN(r,"date-time",a.message,t);break;case"date":aN(r,"date",a.message,t);break;case"time":aN(r,"time",a.message,t);break;case"duration":aN(r,"duration",a.message,t);break;case"length":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value,r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"includes":aU(r,RegExp(aP(a.value,t)),a.message,t);break;case"ip":"v6"!==a.version&&aN(r,"ipv4",a.message,t),"v4"!==a.version&&aN(r,"ipv6",a.message,t);break;case"base64url":aU(r,aT,a.message,t);break;case"jwt":aU(r,aO,a.message,t);break;case"cidr":"v6"!==a.version&&aU(r,aM,a.message,t),"v4"!==a.version&&aU(r,aj,a.message,t);break;case"emoji":aU(r,aE(),a.message,t);break;case"ulid":aU(r,ax,a.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":aN(r,"binary",a.message,t);break;case"contentEncoding:base64":r.contentEncoding="base64";break;case"pattern:zod":aU(r,aA,a.message,t)}break;case"nanoid":aU(r,aR,a.message,t)}return r}function aP(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let r=0;r<e.length;r++)a$.has(e[r])||(t+="\\"),t+=e[r];return t}(e):e}var a$=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function aN(e,t,r,a){var n;e.format||(null==(n=e.anyOf)?void 0:n.some(e=>e.format))?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&a.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function aU(e,t,r,a){var n;e.pattern||(null==(n=e.allOf)?void 0:n.some(e=>e.pattern))?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:aL(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=aL(t,a)}function aL(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;let a={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=a.i?e.source.toLowerCase():e.source,o="",i=!1,s=!1,l=!1;for(let e=0;e<n.length;e++){if(i){o+=n[e],i=!1;continue}if(a.i){if(s){if(n[e].match(/[a-z]/)){l?(o+=n[e],o+=`${n[e-2]}-${n[e]}`.toUpperCase(),l=!1):"-"===n[e+1]&&(null==(r=n[e+2])?void 0:r.match(/[a-z]/))?(o+=n[e],l=!0):o+=`${n[e]}${n[e].toUpperCase()}`;continue}}else if(n[e].match(/[a-z]/)){o+=`[${n[e]}${n[e].toUpperCase()}]`;continue}}if(a.m){if("^"===n[e]){o+=`(^|(?<=[\r
19
+ ]))`;continue}else if("$"===n[e]){o+=`($|(?=[\r
20
+ ]))`;continue}}if(a.s&&"."===n[e]){o+=s?`${n[e]}\r
21
+ `:`[${n[e]}\r
22
+ ]`;continue}o+=n[e],"\\"===n[e]?i=!0:s&&"]"===n[e]?s=!1:s||"["!==n[e]||(s=!0)}try{new RegExp(o)}catch(r){return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function aD(e,t){var r,a,n,o,i,s;let l={type:"object",additionalProperties:null!=(r=aq(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))?r:t.allowedAdditionalProperties};if((null==(a=e.keyType)?void 0:a._def.typeName)==="ZodString"&&(null==(n=e.keyType._def.checks)?void 0:n.length)){let{type:r,...a}=aC(e.keyType._def,t);return{...l,propertyNames:a}}if((null==(o=e.keyType)?void 0:o._def.typeName)==="ZodEnum")return{...l,propertyNames:{enum:e.keyType._def.values}};if((null==(i=e.keyType)?void 0:i._def.typeName)==="ZodBranded"&&"ZodString"===e.keyType._def.type._def.typeName&&(null==(s=e.keyType._def.type._def.checks)?void 0:s.length)){let{type:r,...a}=aw(e.keyType._def,t);return{...l,propertyNames:a}}return l}var aF={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function aq(e,t,r=!1){var a;let n=t.seen.get(e);if(t.override){let o=null==(a=t.override)?void 0:a.call(t,e,t,n,r);if(o!==av)return o}if(n&&!r){let e=aH(n,t);if(void 0!==e)return e}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let i=((e,t,r)=>{var a,n,o,i,s,l;switch(t){case"ZodString":return aC(e,r);case"ZodNumber":let u={type:"number"};if(!e.checks)return u;for(let t of e.checks)switch(t.kind){case"int":u.type="integer";break;case"min":t.inclusive?u.minimum=t.value:u.exclusiveMinimum=t.value;break;case"max":t.inclusive?u.maximum=t.value:u.exclusiveMaximum=t.value;break;case"multipleOf":u.multipleOf=t.value}return u;case"ZodObject":return function(e,t){let r={type:"object",properties:{}},a=[],n=e.shape();for(let e in n){let o=n[e];if(void 0===o||void 0===o._def)continue;let i=function(e){try{return e.isOptional()}catch(e){return!0}}(o),s=aq(o._def,{...t,currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]});void 0!==s&&(r.properties[e]=s,i||a.push(e))}a.length&&(r.required=a);let o=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return aq(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==o&&(r.additionalProperties=o),r}(e,r);case"ZodBigInt":let c={type:"integer",format:"int64"};if(!e.checks)return c;for(let t of e.checks)switch(t.kind){case"min":t.inclusive?c.minimum=t.value:c.exclusiveMinimum=t.value;break;case"max":t.inclusive?c.maximum=t.value:c.exclusiveMaximum=t.value;break;case"multipleOf":c.multipleOf=t.value}return c;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function e(t,r,a){let n=null!=a?a:r.dateStrategy;if(Array.isArray(n))return{anyOf:n.map(a=>e(t,r,a))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var o=t;let i={type:"integer",format:"unix-time"};for(let e of o.checks)switch(e.kind){case"min":i.minimum=e.value;break;case"max":i.maximum=e.value}return i}}(e,r);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let d;return d={type:"array"},(null==(o=e.type)?void 0:o._def)&&(null==(s=null==(i=e.type)?void 0:i._def)?void 0:s.typeName)!=="ZodAny"&&(d.items=aq(e.type._def,{...r,currentPath:[...r.currentPath,"items"]})),e.minLength&&(d.minItems=e.minLength.value),e.maxLength&&(d.maxItems=e.maxLength.value),e.exactLength&&(d.minItems=e.exactLength.value,d.maxItems=e.exactLength.value),d;case"ZodUnion":case"ZodDiscriminatedUnion":let p,h=e.options instanceof Map?Array.from(e.options.values()):e.options;if(h.every(e=>e._def.typeName in aF&&(!e._def.checks||!e._def.checks.length))){let e=h.reduce((e,t)=>{let r=aF[t._def.typeName];return r&&!e.includes(r)?[...e,r]:e},[]);return{type:e.length>1?e:e[0]}}if(h.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){let e=h.reduce((e,t)=>{let r=typeof t._def.value;switch(r){case"string":case"number":case"boolean":return[...e,r];case"bigint":return[...e,"integer"];case"object":if(null===t._def.value)return[...e,"null"];default:return e}},[]);if(e.length===h.length){let t=e.filter((e,t,r)=>r.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:h.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(h.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:h.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return a=e,n=r,(p=(a.options instanceof Map?Array.from(a.options.values()):a.options).map((e,t)=>aq(e._def,{...n,currentPath:[...n.currentPath,"anyOf",`${t}`]})).filter(e=>!!e&&(!n.strictUnions||"object"==typeof e&&Object.keys(e).length>0))).length?{anyOf:p}:void 0;case"ZodIntersection":let m,g;return m=[aq(e.left._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),aq(e.right._def,{...r,currentPath:[...r.currentPath,"allOf","1"]})].filter(e=>!!e),g=[],m.forEach(e=>{if((!("type"in e)||"string"!==e.type)&&"allOf"in e)g.push(...e.allOf);else{let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){let{additionalProperties:r,...a}=e;t=a}g.push(t)}}),g.length?{allOf:g}:void 0;case"ZodTuple":return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,t)=>aq(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:aq(e.rest._def,{...r,currentPath:[...r.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,t)=>aq(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[])};case"ZodRecord":return aD(e,r);case"ZodLiteral":let f;return"bigint"!=(f=typeof e.value)&&"number"!==f&&"boolean"!==f&&"string"!==f?{type:Array.isArray(e.value)?"array":"object"}:{type:"bigint"===f?"integer":f,const:e.value};case"ZodEnum":return{type:"string",enum:Array.from(e.values)};case"ZodNativeEnum":let y,v,b;return y=e.values,{type:1===(b=Array.from(new Set((v=Object.keys(e.values).filter(e=>"number"!=typeof y[y[e]]).map(e=>y[e])).map(e=>typeof e)))).length?"string"===b[0]?"string":"number":["string","number"],enum:v};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[aF[e.innerType._def.typeName],"null"]};let w=aq(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","0"]});return w&&{anyOf:[w,{type:"null"}]};case"ZodOptional":if(r.currentPath.toString()===(null==(l=r.propertyPath)?void 0:l.toString()))return aq(e.innerType._def,r);let _=aq(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","1"]});return _?{anyOf:[{not:{}},_]}:{};case"ZodMap":if("record"===r.mapStrategy)return aD(e,r);return{type:"array",maxItems:125,items:{type:"array",items:[aq(e.keyType._def,{...r,currentPath:[...r.currentPath,"items","items","0"]})||{},aq(e.valueType._def,{...r,currentPath:[...r.currentPath,"items","items","1"]})||{}],minItems:2,maxItems:2}};case"ZodSet":let I;return I={type:"array",uniqueItems:!0,items:aq(e.valueType._def,{...r,currentPath:[...r.currentPath,"items"]})},e.minSize&&(I.minItems=e.minSize.value),e.maxSize&&(I.maxItems=e.maxSize.value),I;case"ZodLazy":return()=>e.getter()._def;case"ZodPromise":return aq(e.type._def,r);case"ZodEffects":return"input"===r.effectStrategy?aq(e.schema._def,r):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return{...aq(e.innerType._def,r),default:e.defaultValue()};case"ZodBranded":return aw(e,r);case"ZodReadonly":case"ZodCatch":return aq(e.innerType._def,r);case"ZodPipeline":if("input"===r.pipeStrategy)return aq(e.in._def,r);if("output"===r.pipeStrategy)return aq(e.out._def,r);let k=aq(e.in._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),x=aq(e.out._def,{...r,currentPath:[...r.currentPath,"allOf",k?"1":"0"]});return{allOf:[k,x].filter(e=>void 0!==e)};default:return}})(e,e.typeName,t),s="function"==typeof i?aq(i(),t):i;if(s&&aZ(e,t,s),t.postProcess){let r=t.postProcess(s,e,t);return o.jsonSchema=s,r}return o.jsonSchema=s,s}var aH=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:((e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")})(t.currentPath,e.path)};case"none":case"seen":if(e.path.length<t.currentPath.length&&e.path.every((e,r)=>t.currentPath[r]===e))return console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{};return"seen"===t.$refStrategy?{}:void 0}},aZ=(e,t,r)=>(e.description&&(r.description=e.description),r),aB=Symbol.for("vercel.ai.schema");function aV(e){let t;return()=>(null==t&&(t=e()),t)}function az(e,{validate:t}={}){return{[aB]:!0,_type:void 0,get jsonSchema(){return"function"==typeof e&&(e=e()),e},validate:t}}function aG(e,t){var r,a;let n;if("_zod"in e){let a;return a=null!=(r=null==t?void 0:t.useReferences)&&r,az(()=>af((0,e7.toJSONSchema)(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async t=>{let r=await (0,e8.safeParseAsync)(e,t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}return n=null!=(a=null==t?void 0:t.useReferences)&&a,az(()=>((e,t)=>{var r;let a,n,o=(n=void 0!==(a="string"==typeof t?{...ab,name:t}:{...ab,...t}).name?[...a.basePath,a.definitionPath,a.name]:a.basePath,{...a,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(a.definitions).map(([e,t])=>[t._def,{def:t._def,path:[...a.basePath,a.definitionPath,e],jsonSchema:void 0}]))}),i="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>{var a;return{...e,[t]:null!=(a=aq(r._def,{...o,currentPath:[...o.basePath,o.definitionPath,t]},!0))?a:{}}},{}):void 0,s="string"==typeof t?t:(null==t?void 0:t.nameStrategy)==="title"||null==t?void 0:t.name,l=null!=(r=aq(e._def,void 0===s?o:{...o,currentPath:[...o.basePath,o.definitionPath,s]},!1))?r:{},u="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==u&&(l.title=u);let c=void 0===s?i?{...l,[o.definitionPath]:i}:l:{$ref:[..."relative"===o.$refStrategy?[]:o.basePath,o.definitionPath,s].join("/"),[o.definitionPath]:{...i,[s]:l}};return c.$schema="http://json-schema.org/draft-07/schema#",c})(e,{$refStrategy:n?"root":"none"}),{validate:async t=>{let r=await e.safeParseAsync(t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}async function aW({value:e,schema:t,context:r}){let a=await aY({value:e,schema:t,context:r});if(!a.success)throw rO.wrap({value:e,cause:a.error,context:r});return a.value}async function aY({value:e,schema:t,context:r}){var a;let n=null==t?az({type:"object",properties:{},additionalProperties:!1}):"object"==typeof t&&null!==t&&aB in t&&!0===t[aB]&&"jsonSchema"in t&&"validate"in t?t:"~standard"in t?"zod"===t["~standard"].vendor?aG(t):(a=t,az(()=>{if(null==a["~standard"].jsonSchema)throw Error(`Standard schema vendor '${a["~standard"].vendor}' does not support JSON Schema conversion.`);return af(a["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{let t=await a["~standard"].validate(e);return"value"in t?{success:!0,value:t.value}:{success:!1,error:new rO({value:e,cause:t.issues})}}})):t();try{if(null==n.validate)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);if(t.success)return{success:!0,value:t.value,rawValue:e};return{success:!1,error:rO.wrap({value:e,cause:t.error,context:r}),rawValue:e}}catch(t){return{success:!1,error:rO.wrap({value:e,cause:t,context:r}),rawValue:e}}}async function aJ({text:e,schema:t}){try{let r=ag(e);if(null==t)return r;return await aW({value:r,schema:t})}catch(t){if(rM.isInstance(t)||rO.isInstance(t))throw t;throw new rM({text:e,cause:t})}}async function aK({text:e,schema:t}){try{let r=ag(e);if(null==t)return{success:!0,value:r,rawValue:r};return await aY({value:r,schema:t})}catch(t){return{success:!1,error:rM.isInstance(t)?t:new rM({text:e,cause:t}),rawValue:void 0}}}function aQ({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new tn).pipeThrough(new TransformStream({async transform({data:e},r){"[DONE]"!==e&&r.enqueue(await aK({text:e,schema:t}))}}))}var aX=()=>globalThis.fetch,a0=async({url:e,headers:t,body:r,failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:i})=>await a1({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:i}),a1=async({url:e,headers:t={},body:r,successfulResponseHandler:a,failedResponseHandler:n,abortSignal:o,fetch:i=aX()})=>{try{let s=await i(e,{method:"POST",headers:r0(t,`ai-sdk/provider-utils/${rQ}`,rG()),body:r.content,signal:o}),l=rz(s);if(!s.ok){let t;try{t=await n({response:s,url:e,requestBodyValues:r.values})}catch(t){if(rW(t)||rp.isInstance(t))throw t;throw new rp({message:"Failed to process error response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw t.value}try{return await a({response:s,url:e,requestBodyValues:r.values})}catch(t){if(t instanceof Error&&(rW(t)||rp.isInstance(t)))throw t;throw new rp({message:"Failed to process successful response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(t){throw rK({error:t,url:e,requestBodyValues:r.values})}};function a4({id:e,inputSchema:t,outputSchema:r,supportsDeferredResults:a}){return({onInputStart:n,onInputDelta:o,onInputAvailable:i,...s})=>({type:"provider",isProviderExecuted:!0,id:e,args:s,inputSchema:t,outputSchema:r,onInputStart:n,onInputDelta:o,onInputAvailable:i,supportsDeferredResults:a})}async function a2(e){return"function"==typeof e&&(e=e()),Promise.resolve(e)}var a5=new TextDecoder;async function a9({response:e,url:t}){return a5.decode(await as({response:e,url:t}))}var a6=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:a,url:n,requestBodyValues:o})=>{let i=await a9({response:a,url:n}),s=rz(a);if(""===i.trim())return{responseHeaders:s,value:new rp({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:s,responseBody:i,isRetryable:null==r?void 0:r(a)})};try{let l=await aJ({text:i,schema:e});return{responseHeaders:s,value:new rp({message:t(l),url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:s,responseBody:i,data:l,isRetryable:null==r?void 0:r(a,l)})}}catch(e){return{responseHeaders:s,value:new rp({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:s,responseBody:i,isRetryable:null==r?void 0:r(a)})}}},a3=e=>async({response:t,url:r,requestBodyValues:a})=>{let n=await a9({response:t,url:r}),o=await aK({text:n,schema:e}),i=rz(t);if(!o.success)throw new rp({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:i,responseBody:n,url:r,requestBodyValues:a});return{responseHeaders:i,value:o.value,rawValue:o.rawValue}};async function*a8({stream:e,schema:t}){let r=e.getReader(),a=new TextDecoder,n="",o=!1;try{for(;;){let{done:e,value:i}=await r.read();if(e){o=!0,n+=a.decode();break}let s=(n+=a.decode(i,{stream:!0})).indexOf("\n");for(;-1!==s;){let e=n.slice(0,s).replace(/\r$/,"");n=n.slice(s+1),e.trim().length>0&&(yield await aJ({text:e,schema:t})),s=n.indexOf("\n")}}let e=n.replace(/\r$/,"");e.trim().length>0&&(yield await aJ({text:e,schema:t}))}finally{o||await r.cancel().catch(()=>{}),r.releaseLock()}}function a7(e){if(null==e)return!0;let t=typeof e;return"string"===t||"number"===t||"boolean"===t||"function"!==t&&"symbol"!==t&&"bigint"!==t&&(Array.isArray(e)?e.every(a7):Object.getPrototypeOf(e)===Object.prototype&&Object.values(e).every(a7))}var ne="AI_SerializationError",nt=`vercel.ai.error.${ne}`,nr=Symbol.for(nt),na=class extends(F=rl,D=nr,F){constructor({message:e="Failed to serialize value.",cause:t}={}){super({name:ne,message:e,cause:t}),this[D]=!0}static isInstance(e){return rl.hasMarker(e,nt)}};function nn(e){let t={};for(let[r,a]of Object.entries(e.config))if("headers"===r){let e=function(e){let t=e;if("function"==typeof e&&(t=e()),t instanceof Promise)throw new na({message:"Cannot serialize asynchronous model options."});return t}(a);a7(e)&&(t[r]=e)}else a7(a)&&(t[r]=a);return{modelId:e.modelId,config:t}}function no(e){return"string"==typeof e}function ni(e){return"number"==typeof e}function ns(e,t){return void 0===e||t(e)}function nl(e){return au(e)&&no(e.type)}function nu(e){return au(e)&&no(e.text)&&ni(e.startSecond)&&ni(e.endSecond)}var nc=e.i(362201),nd=e.i(725150),np="ai-gateway-transcription.v1";function nh(e,t,r){let a=[e,`ai-gateway-auth.${t}`];return(null==r?void 0:r.teamIdOrSlug)&&a.push(`ai-gateway-team.${function(e){let t=new TextEncoder().encode(e),r="";for(let e of t)r+=String.fromCharCode(e);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}(r.teamIdOrSlug)}`),a}var nm={any:nc.any,array:nc.array,boolean:nc.boolean,discriminatedUnion:nc.discriminatedUnion,enum:nc.enum,literal:nc.literal,number:nc.number,object:nc.object,record:nc.record,string:nc.string,union:nc.union,unknown:nc.unknown},ng=Symbol.for("vercel.ai.gateway.error"),nf=class e extends(H=Error,q=ng,H){constructor({message:e,statusCode:t=500,cause:r,generationId:a,isRetryable:n=null!=t&&(408===t||409===t||429===t||t>=500)}){super(a?`${e} [${a}]`:e),this[q]=!0,this.statusCode=t,this.cause=r,this.generationId=a,this.isRetryable=n}static isInstance(t){return e.hasMarker(t)}static hasMarker(e){return"object"==typeof e&&null!==e&&ng in e&&!0===e[ng]}},ny="GatewayAuthenticationError",nv=Symbol.for(`vercel.ai.gateway.error.${ny}`),nb=class e extends(B=nf,Z=nv,B){constructor({message:e="Authentication failed",statusCode:t=401,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[Z]=!0,this.name=ny,this.type="authentication_error"}static isInstance(e){return nf.hasMarker(e)&&nv in e}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,statusCode:a=401,cause:n,generationId:o}){return new e({message:t?`AI Gateway authentication failed: Invalid API key or token.
23
+
24
+ Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
25
+
26
+ Provide an API key or Vercel access token via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:r?`AI Gateway authentication failed: Invalid OIDC token.
27
+
28
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
29
+
30
+ Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
31
+ or pass a Vercel access token via the 'apiKey' option.`:`AI Gateway authentication failed: No authentication provided.
32
+
33
+ Option 1 - API key:
34
+ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
35
+ Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
36
+
37
+ Option 2 - Vercel access token:
38
+ Pass a Vercel personal access token or Vercel app access token via the 'apiKey' option.
39
+
40
+ Option 3 - OIDC token:
41
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,statusCode:a,cause:n,generationId:o})}},nw="GatewayInvalidRequestError",n_=Symbol.for(`vercel.ai.gateway.error.${nw}`),nI=class extends(z=nf,V=n_,z){constructor({message:e="Invalid request",statusCode:t=400,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[V]=!0,this.name=nw,this.type="invalid_request_error"}static isInstance(e){return nf.hasMarker(e)&&n_ in e}},nk="GatewayRateLimitError",nx=Symbol.for(`vercel.ai.gateway.error.${nk}`),nS=class extends(W=nf,G=nx,W){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[G]=!0,this.name=nk,this.type="rate_limit_exceeded"}static isInstance(e){return nf.hasMarker(e)&&nx in e}},nE="GatewayModelNotFoundError",nM=Symbol.for(`vercel.ai.gateway.error.${nE}`),nj=aV(()=>aG(nm.object({modelId:nm.string()}))),nA=class extends(J=nf,Y=nM,J){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:a,generationId:n}={}){super({message:e,statusCode:t,cause:a,generationId:n}),this[Y]=!0,this.name=nE,this.type="model_not_found",this.modelId=r}static isInstance(e){return nf.hasMarker(e)&&nM in e}},nT="GatewayNotFoundError",nR=Symbol.for(`vercel.ai.gateway.error.${nT}`),nO=class extends(Q=nf,K=nR,Q){constructor({message:e="Resource not found",statusCode:t=404,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[K]=!0,this.name=nT,this.type="not_found"}static isInstance(e){return nf.hasMarker(e)&&nR in e}},nC="GatewayInternalServerError",nP=Symbol.for(`vercel.ai.gateway.error.${nC}`),n$=class extends(ee=nf,X=nP,ee){constructor({message:e="Internal server error",statusCode:t=500,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[X]=!0,this.name=nC,this.type="internal_server_error"}static isInstance(e){return nf.hasMarker(e)&&nP in e}},nN="GatewayFailedDependencyError",nU=Symbol.for(`vercel.ai.gateway.error.${nN}`),nL=class extends(er=nf,et=nU,er){constructor({message:e="Failed dependency",statusCode:t=424,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[et]=!0,this.name=nN,this.type="failed_dependency"}static isInstance(e){return nf.hasMarker(e)&&nU in e}},nD="GatewayForbiddenError",nF=Symbol.for(`vercel.ai.gateway.error.${nD}`),nq=aV(()=>aG(nm.object({ruleId:nm.string()}))),nH=class extends(en=nf,ea=nF,en){constructor({message:e="Forbidden",statusCode:t=403,cause:r,generationId:a,ruleId:n}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[ea]=!0,this.name=nD,this.type="forbidden",this.ruleId=n}static isInstance(e){return nf.hasMarker(e)&&nF in e}},nZ="GatewayResponseError",nB=Symbol.for(`vercel.ai.gateway.error.${nZ}`),nV=class extends(ei=nf,eo=nB,ei){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:a,cause:n,generationId:o,isRetryable:i}={}){super({message:e,statusCode:t,cause:n,generationId:o,isRetryable:i}),this[eo]=!0,this.name=nZ,this.type="response_error",this.response=r,this.validationError=a}static isInstance(e){return nf.hasMarker(e)&&nB in e}};async function nz({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:a,authMethod:n,isRetryable:o}){var i;let s=await aY({value:e,schema:nG});if(!s.success){let n="object"==typeof e&&null!==e&&"generationId"in e?e.generationId:void 0;return new nV({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:s.error,cause:a,generationId:n,isRetryable:o})}let l=s.value,u=l.error.type,c=l.error.message,d=null!=(i=l.generationId)?i:void 0;switch(u){case"authentication_error":return nb.createContextualError({apiKeyProvided:"api-key"===n,oidcTokenProvided:"oidc"===n,statusCode:t,cause:a,generationId:d});case"invalid_request_error":return new nI({message:c,statusCode:t,cause:a,generationId:d});case"rate_limit_exceeded":return new nS({message:c,statusCode:t,cause:a,generationId:d});case"model_not_found":{let e=await aY({value:l.error.param,schema:nj});return new nA({message:c,statusCode:t,modelId:e.success?e.value.modelId:void 0,cause:a,generationId:d})}case"not_found":return new nO({message:c,statusCode:t,cause:a,generationId:d});case"internal_server_error":default:return new n$({message:c,statusCode:t,cause:a,generationId:d});case"failed_dependency":return new nL({message:c,statusCode:t,cause:a,generationId:d});case"forbidden":{let e=await aY({value:l.error.param,schema:nq});return new nH({message:c,statusCode:t,cause:a,generationId:d,ruleId:e.success?e.value.ruleId:void 0})}}}var nG=aV(()=>aG(nm.object({error:nm.object({message:nm.string(),type:nm.string().nullish(),param:nm.unknown().nullish(),code:nm.union([nm.string(),nm.number()]).nullish()}),generationId:nm.string().nullish()}))),nW="GatewayTimeoutError",nY=Symbol.for(`vercel.ai.gateway.error.${nW}`),nJ=class e extends(el=nf,es=nY,el){constructor({message:e="Request timed out",statusCode:t=408,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[es]=!0,this.name=nW,this.type="timeout_error"}static isInstance(e){return nf.hasMarker(e)&&nY in e}static createTimeoutError({originalMessage:t,statusCode:r=408,cause:a,generationId:n}){return new e({message:`Gateway request timed out: ${t}
42
+
43
+ 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:r,cause:a,generationId:n})}};function nK(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 nQ(e,t){var r;return nf.isInstance(e)?e:nK(e)?nJ.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):rp.isInstance(e)?e.cause&&nK(e.cause)?nJ.createTimeoutError({originalMessage:e.message,cause:e}):await nz({response:function(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return ag(e.responseBody)}catch(t){return e.responseBody}return{}}(e),statusCode:null!=(r=e.statusCode)?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:!!e.isRetryable&&(null==e.statusCode||e.statusCode<400)||void 0}):await nz({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}var nX="ai-gateway-auth-method",n0="x-vercel-ai-gateway-team";async function n1(e){let t=await aY({value:e[nX],schema:n4});return t.success?t.value:void 0}var n4=aV(()=>aG(nm.union([nm.literal("api-key"),nm.literal("oidc")]))),n2=["embedding","evaluation","image","language","realtime","reranking","speech","transcription","video"],n5=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await al({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await a2(this.config.headers):void 0,successfulResponseHandler:a3(n9),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),fetch:this.config.fetch});return e}catch(e){throw await nQ(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await al({url:`${e.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await a2(this.config.headers):void 0,successfulResponseHandler:a3(n6),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),fetch:this.config.fetch});return t}catch(e){throw await nQ(e)}}},n9=aV(()=>aG(nm.object({models:nm.array(nm.object({id:nm.string(),name:nm.string(),description:nm.string().nullish(),pricing:nm.object({input:nm.string(),output:nm.string(),input_cache_read:nm.string().nullish(),input_cache_write:nm.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:a})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...a?{cacheCreationInputTokens:a}:{}})).nullish(),specification:nm.object({specificationVersion:nm.literal("v4"),provider:nm.string(),modelId:nm.string()}),modelType:nm.string().nullish()})).transform(e=>e.filter(e=>null==e.modelType||n2.includes(e.modelType)))}))),n6=aV(()=>aG(nm.object({balance:nm.string(),total_used:nm.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),n3=class{constructor(e){this.config=e}async getSpendReport(e){try{let t=new URL(this.config.baseURL),r=new URLSearchParams;r.set("start_date",e.startDate),r.set("end_date",e.endDate),e.groupBy&&r.set("group_by",e.groupBy),e.datePart&&r.set("date_part",e.datePart),e.userId&&r.set("user_id",e.userId),e.model&&r.set("model",e.model),e.provider&&r.set("provider",e.provider),e.credentialType&&r.set("credential_type",e.credentialType),e.tags&&e.tags.length>0&&r.set("tags",e.tags.join(","));let{value:a}=await al({url:`${t.origin}/v1/report?${r.toString()}`,validateUrl:!1,headers:this.config.headers?await a2(this.config.headers):void 0,successfulResponseHandler:a3(n8),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),fetch:this.config.fetch});return a}catch(e){throw await nQ(e)}}},n8=aV(()=>aG(nm.object({results:nm.array(nm.object({day:nm.string().optional(),hour:nm.string().optional(),user:nm.string().optional(),model:nm.string().optional(),tag:nm.string().optional(),provider:nm.string().optional(),credential_type:nm.enum(["byok","system"]).optional(),total_cost:nm.number(),market_cost:nm.number().optional(),input_tokens:nm.number().optional(),output_tokens:nm.number().optional(),cached_input_tokens:nm.number().optional(),cache_creation_input_tokens:nm.number().optional(),reasoning_tokens:nm.number().optional(),request_count:nm.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:r,input_tokens:a,output_tokens:n,cached_input_tokens:o,cache_creation_input_tokens:i,reasoning_tokens:s,request_count:l,...u})=>({...u,...void 0!==e?{credentialType:e}:{},totalCost:t,...void 0!==r?{marketCost:r}:{},...void 0!==a?{inputTokens:a}:{},...void 0!==n?{outputTokens:n}:{},...void 0!==o?{cachedInputTokens:o}:{},...void 0!==i?{cacheCreationInputTokens:i}:{},...void 0!==s?{reasoningTokens:s}:{},...void 0!==l?{requestCount:l}:{}})))}))),n7=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:r}=await al({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,validateUrl:!1,headers:this.config.headers?await a2(this.config.headers):void 0,successfulResponseHandler:a3(oe),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),fetch:this.config.fetch});return r}catch(e){throw await nQ(e)}}},oe=aV(()=>aG(nm.object({data:nm.object({id:nm.string(),total_cost:nm.number(),upstream_inference_cost:nm.number(),usage:nm.number(),created_at:nm.string(),model:nm.string(),is_byok:nm.boolean(),provider_name:nm.string(),streamed:nm.boolean(),finish_reason:nm.string(),latency:nm.number(),generation_time:nm.number(),native_tokens_prompt:nm.number(),native_tokens_completion:nm.number(),native_tokens_reasoning:nm.number(),native_tokens_cached:nm.number(),native_tokens_cache_creation:nm.number(),billable_web_search_calls:nm.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:r,is_byok:a,provider_name:n,finish_reason:o,generation_time:i,native_tokens_prompt:s,native_tokens_completion:l,native_tokens_reasoning:u,native_tokens_cached:c,native_tokens_cache_creation:d,billable_web_search_calls:p,...h})=>({...h,totalCost:e,upstreamInferenceCost:t,createdAt:r,isByok:a,providerName:n,finishReason:o,generationTime:i,promptTokens:s,completionTokens:l,reasoningTokens:u,cachedTokens:c,cacheCreationTokens:d,billableWebSearchCalls:p}))}).transform(({data:e})=>e))),ot=class{constructor(e){this.config=e,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]},this.provider=`${e.provider}.batch`}async doStartBatch({requests:e,providerOptions:t,headers:r,abortSignal:a,webhookUrl:n}){var o,i=e;for(let e of i){let t=e.type;if("text"!==t)throw new rN({functionality:`batch request type: ${t}`,message:`The AI Gateway Batch API does not support batch requests with type "${t}".`})}let s=function(e){var t;let r=null==(t=e[0])?void 0:t.modelId;if(null==r)throw new rI({argument:"requests",message:"The AI Gateway Batch API requires at least one request."});for(let t of e)if(t.modelId!==r)throw new rI({argument:"requests",message:`The AI Gateway Batch API requires all requests in a batch to use the same model. Found "${r}" and "${t.modelId}".`});return r}(e),l=this.config.headers?await a2(this.config.headers):void 0,u=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t.idempotencyKey;return"string"==typeof r&&r.length>0?r:void 0}(t),c=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:r,...a}=t,n={...e};if(0===Object.keys(a).length?delete n.gateway:n.gateway=a,0!==Object.keys(n).length)return n}(t);try{let{value:t}=await a0({url:this.getBatchUrl("start"),headers:rU(l,r,{"ai-model-id":s},await a2(this.config.o11yHeaders),null!=u?{"idempotency-key":u}:void 0),body:{...null!=n&&{callbackUrl:n},requests:e.map(e=>({id:e.id,type:e.type,modelId:e.modelId,options:function(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=or(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=or(t.data))}return e}(e.options)})),...null!=c&&{providerOptions:c}},successfulResponseHandler:a3(od),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{batchId:t.batchId,...on(t),warnings:null!=(o=t.warnings)?o:[]}}catch(e){if(oa(e))throw e;throw await nQ(e,await n1(null!=l?l:{}))}}async doGetBatchStatus({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await a2(this.config.headers):void 0;try{let{value:n}=await a0({url:this.getBatchUrl("status"),headers:rU(a,t,await a2(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:a3(op),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return on(n)}catch(e){if(oa(e))throw e;throw await nQ(e,await n1(null!=a?a:{}))}}async doGetBatchResults({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await a2(this.config.headers):void 0;try{var n;let o,{value:i}=await a0({url:this.getBatchUrl("results"),headers:rU(a,t,await a2(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:async({response:e})=>{let t=rz(e);if(null==e.body)throw new rf({});return{responseHeaders:t,value:a8({stream:e.body,schema:oi})}},failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return n=oo(i),o=!1,new ReadableStream({async pull(e){if(!o)try{let{value:t,done:r}=await n.next();r?e.close():e.enqueue(t)}catch(t){e.error(t)}},async cancel(e){if(o=!0,n.return)try{await n.return(e)}catch(e){}}})}catch(e){if(oa(e))throw e;throw await nQ(e,await n1(null!=a?a:{}))}}getBatchUrl(e){return`${this.config.baseURL}/batch/${e}`}};function or(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:ro.Buffer.from(t).toString("base64")}}return e}function oa(e){return!!(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"TimeoutError"===e.name)}function on(e){var t,r,a,n;let o=function({total:e,pending:t,completed:r,failed:a}){if(ad(e)&&ad(t)&&ad(r)&&ad(a)&&t+r+a===e)return{total:e,pending:t,completed:r,failed:a}}({total:null==(t=e.requestCounts)?void 0:t.total,pending:null==(r=e.requestCounts)?void 0:r.pending,completed:null==(a=e.requestCounts)?void 0:a.completed,failed:null==(n=e.requestCounts)?void 0:n.failed});return{status:e.status,...null!=e.rawStatus&&{rawStatus:e.rawStatus},...null!=o&&{requestCounts:o},...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*oo(e){var t;for await(let r of e){if("succeeded"===r.status){let e=null==(t=r.result)?void 0:t.response;void 0!==e&&"string"==typeof e.timestamp&&(e.timestamp=new Date(e.timestamp))}yield r}}var oi=nm.object({type:nm.literal("text"),id:nm.string(),status:nm.enum(["cancelled","expired","failed","succeeded"])}).catchall(nm.unknown()),os=nm.object({message:nm.string(),type:nm.string().nullish(),code:nm.string().nullish(),statusCode:nm.number().nullish()}),ol=nm.object({total:nm.number().nullish(),pending:nm.number().nullish(),completed:nm.number().nullish(),failed:nm.number().nullish()}),ou=nm.record(nm.string(),nm.record(nm.string(),nm.unknown())),oc=nm.object({status:nm.enum(["completed","failed","pending"]),rawStatus:nm.string().nullish(),requestCounts:ol.nullish(),error:os.nullish(),createdAt:nm.string().nullish(),expiresAt:nm.string().nullish(),providerMetadata:ou.nullish()}),od=oc.extend({batchId:nm.string(),warnings:nm.array(nm.object({requestId:nm.string().nullish(),warning:nm.unknown()}).catchall(nm.unknown())).nullish()}),op=oc,oh=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[to](e){return nn({modelId:e.modelId,config:e.config})}static[ti](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){var t;let{args:r,warnings:a}=await this.getArgs(e),{abortSignal:n}=e,o=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:i,value:s,rawValue:l}=await a0({url:this.getUrl(),headers:rU(o,e.headers,this.getModelConfigHeaders(this.modelId,!1),await a2(this.config.o11yHeaders)),body:r,successfulResponseHandler:a3(nm.any()),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{...s,request:{body:r},response:{headers:i,body:l},warnings:[...null!=(t=s.warnings)?t:[],...a]}}catch(e){throw await nQ(e,await n1(null!=o?o:{}))}}async doStream(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await a2(this.config.headers):void 0;try{let o,{value:i,responseHeaders:s}=await a0({url:this.getUrl(),headers:rU(n,e.headers,this.getModelConfigHeaders(this.modelId,!0),await a2(this.config.o11yHeaders)),body:t,successfulResponseHandler:(o=nm.any(),async({response:e,url:t,requestBodyValues:r})=>{let a=rz(e);if(null==e.body)throw new rf({});return{responseHeaders:a,value:aQ({stream:function({stream:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n}){let o=e.getReader(),i=!1,s=()=>{i||(o.releaseLock(),i=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await o.read();t?(s(),e.close()):e.enqueue(r)}catch(o){if(s(),rW(o))return void e.error(o);e.error(rK({error:new rp({message:"Failed to process successful response",cause:o,statusCode:a,url:t,responseHeaders:n,requestBodyValues:r}),url:t,requestBodyValues:r}))}},async cancel(e){try{await o.cancel(e)}finally{s()}}})}({stream:e.body,url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a}),schema:o})}}),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:i.pipeThrough(new TransformStream({start(e){r.length>0&&e.enqueue({type:"stream-start",warnings:r})},transform(t,r){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)),r.enqueue(a))}else r.error(t.error)}})),request:{body:t},response:{headers:s}}}catch(e){throw await nQ(e,await n1(null!=n?n:{}))}}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=om(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=om(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 om(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:ro.Buffer.from(t).toString("base64")}}return e}var og=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[to](e){return nn({modelId:e.modelId,config:e.config})}static[ti](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:a}){var n,o;let i=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:s,value:l,rawValue:u}=await a0({url:this.getUrl(),headers:rU(i,null!=t?t:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders)),body:{values:e,...a?{providerOptions:a}:{}},successfulResponseHandler:a3(oy),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:l.embeddings,usage:null!=(n=l.usage)?n:void 0,providerMetadata:l.providerMetadata,response:{headers:s,body:u},warnings:null!=(o=l.warnings)?o:[]}}catch(e){throw await nQ(e,await n1(null!=i?i:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},of=nm.discriminatedUnion("type",[nm.object({type:nm.literal("unsupported"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("compatibility"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("deprecated"),setting:nm.string(),message:nm.string()}),nm.object({type:nm.literal("other"),message:nm.string()})]),oy=aV(()=>aG(nm.object({embeddings:nm.array(nm.array(nm.number())),usage:nm.object({tokens:nm.number()}).nullish(),warnings:nm.array(of).optional(),providerMetadata:nm.record(nm.string(),nm.record(nm.string(),nm.unknown())).optional()}))),ov=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[to](e){return nn({modelId:e.modelId,config:e.config})}static[ti](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:a,seed:n,files:o,mask:i,providerOptions:s,headers:l,abortSignal:u}){var c,d,p,h;let m=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:g,value:f}=await a0({url:this.getUrl(),headers:rU(m,null!=l?l:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...a&&{aspectRatio:a},...n&&{seed:n},...s&&{providerOptions:s},...o&&{files:o.map(e=>ob(e))},...i&&{mask:ob(i)}},successfulResponseHandler:a3(ok),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:f.images,...null!=f.isRetryable&&{isRetryable:f.isRetryable},warnings:null!=(c=f.warnings)?c:[],providerMetadata:f.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:g},...null!=f.usage&&{usage:{inputTokens:null!=(d=f.usage.inputTokens)?d:void 0,outputTokens:null!=(p=f.usage.outputTokens)?p:void 0,totalTokens:null!=(h=f.usage.totalTokens)?h:void 0}}}}catch(e){throw await nQ(e,await n1(null!=m?m:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function ob(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:rV(e.data)}:e}var ow=nm.object({images:nm.array(nm.unknown()).optional()}).catchall(nm.unknown()),o_=nm.discriminatedUnion("type",[nm.object({type:nm.literal("unsupported"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("compatibility"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("deprecated"),setting:nm.string(),message:nm.string()}),nm.object({type:nm.literal("other"),message:nm.string()})]),oI=nm.object({inputTokens:nm.number().nullish(),outputTokens:nm.number().nullish(),totalTokens:nm.number().nullish()}),ok=nm.object({images:nm.array(nm.string()),isRetryable:nm.boolean().optional(),warnings:nm.array(o_).optional(),providerMetadata:nm.record(nm.string(),ow).optional(),usage:oI.optional()}),ox=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,r;let{headers:a,abortSignal:n}=e,o=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:i,value:s}=await a0({url:this.getUrl(),headers:rU(o,null!=a?a:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(e),successfulResponseHandler:async({response:e,url:t,requestBodyValues:r})=>{if(null==e.body)throw new rp({message:"SSE response body is empty",url:t,requestBodyValues:r,statusCode:e.status});let a=aQ({stream:e.body,schema:oA}).getReader(),{done:n,value:o}=await a.read();if(a.releaseLock(),n||!o)throw new rp({message:"SSE stream ended without a data event",url:t,requestBodyValues:r,statusCode:e.status});if(!o.success)throw new rp({message:"Failed to parse video SSE event",cause:o.error,url:t,requestBodyValues:r,statusCode:e.status});let i=o.value;if("error"===i.type)throw new rp({message:i.message,statusCode:i.statusCode,url:t,requestBodyValues:r,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:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{videos:s.videos,warnings:null!=(t=s.warnings)?t:[],providerMetadata:null!=(r=s.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:i}}}catch(e){throw await nQ(e,await n1(null!=o?o:{}))}}async handleWebhookOption({webhook:e}){let{url:t,received:r}=await e();return{webhookUrl:t,received:r}}async doStart(e){var t,r;let{headers:a,abortSignal:n,webhookUrl:o}=e,i=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:s,value:l}=await a0({url:this.getStartUrl(),headers:rU(i,null!=a?a:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders)),body:{...this.buildRequestBody(e),...o&&{callbackUrl:o}},successfulResponseHandler:a3(oT),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{operation:l.operation,warnings:null!=(t=l.warnings)?t:[],providerMetadata:null!=(r=l.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:s}}}catch(e){throw await nQ(e,await n1(null!=i?i:{}))}}async doStatus({operation:e,abortSignal:t,headers:r}){var a,n,o,i,s,l;let u=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:c,value:d}=await a0({url:this.getStatusUrl(),headers:rU(u,null!=r?r:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders)),body:{operation:e},successfulResponseHandler:a3(oR),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...t&&{abortSignal:t},fetch:this.config.fetch}),p={timestamp:new Date,modelId:this.modelId,headers:c};if("completed"===d.status)return{status:"completed",videos:d.videos,warnings:null!=(a=d.warnings)?a:[],providerMetadata:null!=(n=d.providerMetadata)?n:void 0,response:p};if("error"===d.status)return{status:"error",error:d.error,providerMetadata:null!=(o=d.providerMetadata)?o:void 0,response:p};if("cancelled"===d.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(i=d.providerMetadata)?i:void 0,response:p};return{status:"pending",warnings:null!=(s=d.warnings)?s:[],providerMetadata:null!=(l=d.providerMetadata)?l:void 0,response:p}}catch(e){throw await nQ(e,await n1(null!=u?u:{}))}}buildRequestBody({prompt:e,n:t,aspectRatio:r,resolution:a,duration:n,fps:o,seed:i,generateAudio:s,image:l,frameImages:u,inputReferences:c,providerOptions:d}){return{prompt:e,n:t,...r&&{aspectRatio:r},...a&&{resolution:a},...n&&{duration:n},...o&&{fps:o},...i&&{seed:i},...void 0!==s&&{generateAudio:s},...d&&{providerOptions:d},...l&&{image:oS(l)},...u&&{frameImages:u.map(e=>({...e,image:oS(e.image)}))},...c&&{inputReferences:c.map(e=>oS(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 oS(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:rV(e.data)}:e}var oE=nm.object({videos:nm.array(nm.unknown()).optional()}).catchall(nm.unknown()),oM=nm.union([nm.object({type:nm.literal("url"),url:nm.string(),mediaType:nm.string()}),nm.object({type:nm.literal("base64"),data:nm.string(),mediaType:nm.string()})]),oj=nm.discriminatedUnion("type",[nm.object({type:nm.literal("unsupported"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("compatibility"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("deprecated"),setting:nm.string(),message:nm.string()}),nm.object({type:nm.literal("other"),message:nm.string()})]),oA=nm.discriminatedUnion("type",[nm.object({type:nm.literal("result"),videos:nm.array(oM),warnings:nm.array(oj).optional(),providerMetadata:nm.record(nm.string(),oE).optional()}),nm.object({type:nm.literal("error"),message:nm.string(),errorType:nm.string(),statusCode:nm.number(),param:nm.unknown().nullable()})]),oT=nm.object({operation:nm.unknown(),warnings:nm.array(oj).nullish(),providerMetadata:nm.record(nm.string(),oE).nullish()}),oR=nm.discriminatedUnion("status",[nm.object({status:nm.literal("pending"),warnings:nm.array(oj).nullish(),providerMetadata:nm.record(nm.string(),oE).nullish()}),nm.object({status:nm.literal("completed"),videos:nm.array(oM),warnings:nm.array(oj).nullish(),providerMetadata:nm.record(nm.string(),oE).nullish()}),nm.object({status:nm.literal("error"),error:nm.string(),providerMetadata:nm.record(nm.string(),oE).nullish()}),nm.object({status:nm.literal("cancelled"),providerMetadata:nm.record(nm.string(),oE).nullish()})]),oO=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedQuestionTypes=["choice","score","boolean"]}get provider(){return this.config.provider}async doEvaluate({state:e,questions:t,headers:r,abortSignal:a,providerOptions:n}){var o;let i=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:s,value:l,rawValue:u}=await a0({url:this.getUrl(),headers:rU(i,null!=r?r:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders)),body:{state:e,questions:t,...n?{providerOptions:n}:{}},successfulResponseHandler:a3(o$),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{answers:l.answers,...l.rounding?{rounding:l.rounding}:{},...l.usage?{usage:l.usage}:{},warnings:null!=(o=l.warnings)?o:[],providerMetadata:l.providerMetadata,response:{modelId:this.modelId,headers:s,body:u}}}catch(e){throw await nQ(e,await n1(null!=i?i:{}))}}getUrl(){return`${this.config.baseURL}/evaluation-model`}getModelConfigHeaders(){return{"ai-evaluation-model-specification-version":"4","ai-model-id":this.modelId}}},oC=nm.discriminatedUnion("type",[nm.object({type:nm.literal("choice"),choice:nm.string(),probabilities:nm.record(nm.string(),nm.number()).optional()}),nm.object({type:nm.literal("score"),score:nm.number(),probabilities:nm.record(nm.string(),nm.number()).optional()}),nm.object({type:nm.literal("boolean"),probability:nm.number()})]),oP=nm.discriminatedUnion("type",[nm.object({type:nm.literal("unsupported"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("compatibility"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("deprecated"),setting:nm.string(),message:nm.string()}),nm.object({type:nm.literal("other"),message:nm.string()})]),o$=aV(()=>aG(nm.object({answers:nm.record(nm.string(),oC),rounding:nm.object({probabilityDecimals:nm.number().optional(),scoreDecimals:nm.number().optional()}).optional(),usage:nm.object({inputTokens:nm.number().optional(),outputTokens:nm.number().optional()}).optional(),warnings:nm.array(oP).optional(),providerMetadata:nm.record(nm.string(),nm.record(nm.string(),nm.unknown())).optional()}))),oN=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:r,headers:a,abortSignal:n,providerOptions:o}){var i;let s=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:l,value:u,rawValue:c}=await a0({url:this.getUrl(),headers:rU(s,null!=a?a:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders)),body:{documents:e,query:t,...null!=r?{topN:r}:{},...o?{providerOptions:o}:{}},successfulResponseHandler:a3(oL),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{ranking:u.ranking,providerMetadata:u.providerMetadata,response:{headers:l,body:c},warnings:null!=(i=u.warnings)?i:[]}}catch(e){throw await nQ(e,await n1(null!=s?s:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},oU=nm.discriminatedUnion("type",[nm.object({type:nm.literal("unsupported"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("compatibility"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("deprecated"),setting:nm.string(),message:nm.string()}),nm.object({type:nm.literal("other"),message:nm.string()})]),oL=aV(()=>aG(nm.object({ranking:nm.array(nm.object({index:nm.number(),relevanceScore:nm.number()})),warnings:nm.array(oU).optional(),providerMetadata:nm.record(nm.string(),nm.record(nm.string(),nm.unknown())).optional()}))),oD=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:r,instructions:a,speed:n,language:o,providerOptions:i,headers:s,abortSignal:l}){var u;let c=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:d,value:p,rawValue:h}=await a0({url:this.getUrl(),headers:rU(c,null!=s?s:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...r&&{outputFormat:r},...a&&{instructions:a},...null!=n&&{speed:n},...o&&{language:o},...i&&{providerOptions:i}},successfulResponseHandler:a3(oH),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...l&&{abortSignal:l},fetch:this.config.fetch});return{audio:p.audio,warnings:null!=(u=p.warnings)?u:[],providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d,body:h}}}catch(e){throw await nQ(e,await n1(null!=c?c:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},oF=nm.object({}).catchall(nm.unknown()),oq=nm.discriminatedUnion("type",[nm.object({type:nm.literal("unsupported"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("compatibility"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("deprecated"),setting:nm.string(),message:nm.string()}),nm.object({type:nm.literal("other"),message:nm.string()})]),oH=nm.object({audio:nm.string(),warnings:nm.array(oq).optional(),providerMetadata:nm.record(nm.string(),oF).optional()}),oZ=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:r,headers:a,abortSignal:n}){var o,i,s,l;let u=this.config.headers?await a2(this.config.headers):void 0;try{let{responseHeaders:c,value:d,rawValue:p}=await a0({url:this.getUrl(),headers:rU(u,null!=a?a:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?rV(e):e,mediaType:t,...r&&{providerOptions:r}},successfulResponseHandler:a3(oG),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{text:d.text,segments:null!=(o=d.segments)?o:[],language:null!=(i=d.language)?i:void 0,durationInSeconds:null!=(s=d.durationInSeconds)?s:void 0,warnings:null!=(l=d.warnings)?l:[],providerMetadata:d.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:c,body:p}}}catch(e){throw await nQ(e,await n1(null!=u?u:{}))}}async doStream(e){var t,r,a,n,o;let i,s,l,u=null!=(a=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?a:new Date,c=rU(await a2(null!=(n=this.config.headers)?n:{}),null!=(o=e.headers)?o:{},this.getModelConfigHeaders(),await a2(this.config.o11yHeaders)),d=await n1(c),p={type:"transcription-stream.start",inputAudioFormat:e.inputAudioFormat,...null!=e.providerOptions&&{providerOptions:e.providerOptions},...null!=e.includeRawChunks&&{includeRawChunks:e.includeRawChunks}};return{stream:function({webSocket:e,url:t,protocols:r,headers:a,startFrame:n,audio:o,abortSignal:i,authMethod:s}){let l=!1,u=()=>{};return new ReadableStream({start:c=>{let d,p,h,m=!1,g=!1;u=e=>{null!=d?d.cancel().catch(()=>{}):o.cancel().catch(()=>{}),null==h||h.close(e)};let f=e=>{l||(l=!0,u(),oW(c,e,s))},y=async e=>{let t=o.getReader();d=t;try{for(;;){let{done:r,value:a}=await t.read();if(r||l)break;let n="string"==typeof a?function(e){let t=rB(e.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(t,e=>e.codePointAt(0))}(a):a;for(let t=0;t<n.length&&!l;t+=65536)e.send(n.subarray(t,t+65536)),await rH(e)}}finally{t.releaseLock(),d===t&&(d=void 0)}l||g||e.send(JSON.stringify({type:"transcription-stream.audio-done"}))};h=function({url:e,protocols:t,headers:r,webSocket:a,abortSignal:n,onOpen:o,onMessageText:i,onProcessingError:s,onSocketError:l,onClose:u,onAbort:c}){var d,p;let h,m,g=e=>{null!=m&&(null==n||n.removeEventListener("abort",m),m=void 0);try{null==h||h.close(e)}catch(e){}};if(null==n?void 0:n.aborted)return null==c||c(null!=(d=n.reason)?d:Error("Aborted")),{socket:void 0,close:g};try{h=new(function(e){let t=null!=e?e:globalThis.WebSocket;if(null==t)throw Error("No WebSocket implementation available.");return t}(a))(e,t,{headers:(p=null!=r?r:{},Object.fromEntries(Object.entries(p).filter(([e,t])=>null!=t)))})}catch(e){return s(e),{socket:void 0,close:g}}null!=n&&null!=c&&(m=()=>{var e;return c(null!=(e=n.reason)?e:Error("Aborted"))},n.addEventListener("abort",m,{once:!0}));let f=h;h.onopen=()=>{try{null==o||o(f)}catch(e){s(e)}};let y=Promise.resolve();return h.onmessage=e=>{y=y.then(()=>rq(e.data)).then(e=>i(e)).catch(s)},h.onerror=()=>{y=y.then(()=>null==l?void 0:l()).catch(s)},h.onclose=e=>{let t="number"==typeof(null==e?void 0:e.code)?e.code:void 0,r="string"==typeof(null==e?void 0:e.reason)?e.reason:void 0;y=y.then(()=>null==u?void 0:u({code:t,reason:r})).catch(s)},{socket:h,close:g}}({url:t,protocols:r,headers:a,webSocket:e,abortSignal:i,onAbort:e=>{l||(l=!0,u(),c.error(e))},onProcessingError:f,onOpen:e=>{e.send(JSON.stringify(n)),y(e).catch(f)},onMessageText:e=>{if(l)return;let t=function(e){let t;try{t=ag(e)}catch(e){return}if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t;switch(r.type){case"stream-start":return Array.isArray(r.warnings)&&r.warnings.every(nl)?r:void 0;case"transcript-delta":return no(r.delta)&&ns(r.id,no)&&ns(r.providerMetadata,au)?r:void 0;case"transcript-partial":return no(r.text)&&ns(r.id,no)&&ns(r.startSecond,ni)&&ns(r.durationInSeconds,ni)&&ns(r.channelIndex,ni)&&ns(r.providerMetadata,au)?r:void 0;case"transcript-final":return no(r.text)&&ns(r.id,no)&&ns(r.startSecond,ni)&&ns(r.endSecond,ni)&&ns(r.channelIndex,ni)&&ns(r.providerMetadata,au)?r:void 0;case"finish":return no(r.text)&&Array.isArray(r.segments)&&r.segments.every(nu)&&ns(r.language,no)&&ns(r.durationInSeconds,ni)&&ns(r.providerMetadata,au)?r:void 0;case"response-metadata":{if(!(ns(r.modelId,no)&&ns(r.headers,au)))return;let e=r.timestamp;if(null==e)return{...r,timestamp:void 0};if("string"!=typeof e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:{...r,timestamp:t}}case"raw":return"rawValue"in r?r:void 0;case"error":return"error"in r?r:void 0;default:return}}(e);if(null!=t){if("finish"===t.type){l=!0,c.enqueue(t),c.close(),u(1e3);return}"error"===t.type&&(m=!0,p=t.error,g=!0,null!=d?(d.cancel().catch(()=>{}),d=void 0):o.cancel().catch(()=>{})),c.enqueue(t)}},onSocketError:()=>{f(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(m){if(l)return;oJ(p,s).then(f);return}f(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{l||(l=!0,u())}})}({webSocket:this.config.webSocket,url:oB(this.config.baseURL,this.modelId),protocols:null==(l=(null==(s=(i=rX(c)).authorization)?void 0:s.startsWith("Bearer "))?s.slice(7):void 0)?[np]:nh(np,l,{teamIdOrSlug:i[n0]}),headers:c,startFrame:p,audio:e.audio,abortSignal:e.abortSignal,authMethod:d}),request:{body:p},response:{timestamp:u,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function oB(e,t){let r=new URL(`${e.replace(/^http/,"ws")}/transcription-model`);return r.searchParams.set("ai-model-id",t),r.toString()}var oV=nm.object({}).catchall(nm.unknown()),oz=nm.discriminatedUnion("type",[nm.object({type:nm.literal("unsupported"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("compatibility"),feature:nm.string(),details:nm.string().optional()}),nm.object({type:nm.literal("deprecated"),setting:nm.string(),message:nm.string()}),nm.object({type:nm.literal("other"),message:nm.string()})]),oG=nm.object({text:nm.string(),segments:nm.array(nm.object({text:nm.string(),startSecond:nm.number(),endSecond:nm.number()})).optional(),language:nm.string().nullish(),durationInSeconds:nm.number().nullish(),warnings:nm.array(oz).optional(),providerMetadata:nm.record(nm.string(),oV).optional()});async function oW(e,t,r){e.error(await nQ(t,r))}var oY={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 oJ(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 oY?nz({response:{error:{message:e.message,type:e.type}},statusCode:oY[e.type],authMethod:t}):Error(`AI Gateway transcription stream failed: ${null!=e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message?e.message:rv(e)}`)}var oK=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t,r;let a,n=await this.config.createClientSecret({modelId:this.modelId,...(null==e?void 0:e.expiresAfterSeconds)!=null&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:n.token,url:(t=this.config.baseURL,r=this.modelId,(a=new URL(`${t.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",r),a.toString()),...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}getWebSocketConfig(e){return{url:e.url,protocols:nh("ai-gateway-realtime.v1",e.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(e){return e}serializeClientEvent(e){return e}buildSessionConfig(e){return e}},oQ=a4({id:"gateway.exa_search",inputSchema:aV(()=>aG(nm.object({query:nm.string().describe("Natural-language web search query. This is required."),type:nm.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:nm.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:nm.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:nm.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:nm.array(nm.string()).optional().describe("Only return results from these domains."),exclude_domains:nm.array(nm.string()).optional().describe("Exclude results from these domains."),start_published_date:nm.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:nm.string().optional().describe("Only return links published before this ISO 8601 date."),contents:nm.object({text:nm.union([nm.boolean(),nm.object({max_characters:nm.number().optional(),include_html_tags:nm.boolean().optional(),verbosity:nm.enum(["compact","standard","full"]).optional(),include_sections:nm.array(nm.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:nm.array(nm.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:nm.union([nm.boolean(),nm.object({query:nm.string().optional(),max_characters:nm.number().optional()})]).optional(),max_age_hours:nm.number().optional(),livecrawl_timeout:nm.number().optional(),subpages:nm.number().optional(),subpage_target:nm.union([nm.string(),nm.array(nm.string())]).optional(),extras:nm.object({links:nm.number().optional(),image_links:nm.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:aV(()=>aG(nm.union([nm.object({requestId:nm.string(),searchType:nm.string().optional(),resolvedSearchType:nm.string().optional(),results:nm.array(nm.object({title:nm.string(),url:nm.string(),id:nm.string(),publishedDate:nm.string().nullable().optional(),author:nm.string().nullable().optional(),image:nm.string().nullable().optional(),favicon:nm.string().nullable().optional(),text:nm.string().optional(),highlights:nm.array(nm.string()).optional(),highlightScores:nm.array(nm.number()).optional(),summary:nm.string().optional(),subpages:nm.array(nm.any()).optional(),extras:nm.object({links:nm.array(nm.string()).optional(),imageLinks:nm.array(nm.string()).optional()}).optional()})),costDollars:nm.object({total:nm.number().optional(),search:nm.record(nm.string(),nm.number()).optional()}).optional()}),nm.object({error:nm.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:nm.number().optional(),message:nm.string()})])))}),oX=a4({id:"gateway.parallel_search",inputSchema:aV(()=>aG(nm.object({objective:nm.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:nm.array(nm.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:nm.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:nm.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:nm.object({include_domains:nm.array(nm.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:nm.array(nm.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:nm.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:nm.object({max_chars_per_result:nm.number().optional().describe("Maximum characters per result."),max_chars_total:nm.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:nm.object({max_age_seconds:nm.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.")}))),outputSchema:aV(()=>aG(nm.union([nm.object({searchId:nm.string(),results:nm.array(nm.object({url:nm.string(),title:nm.string(),excerpt:nm.string(),publishDate:nm.string().nullable().optional(),relevanceScore:nm.number().optional()}))}),nm.object({error:nm.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:nm.number().optional(),message:nm.string()})])))}),o0=a4({id:"gateway.perplexity_search",inputSchema:aV(()=>aG(nm.object({query:nm.union([nm.string(),nm.array(nm.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:nm.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:nm.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:nm.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:nm.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:nm.array(nm.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:nm.array(nm.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:nm.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:nm.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:nm.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:nm.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:nm.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),outputSchema:aV(()=>aG(nm.union([nm.object({results:nm.array(nm.object({title:nm.string(),url:nm.string(),snippet:nm.string(),date:nm.string().optional(),lastUpdated:nm.string().optional()})),id:nm.string()}),nm.object({error:nm.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:nm.number().optional(),message:nm.string()})])))}),o1=nm.object({count:nm.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:nm.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:nm.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:nm.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:nm.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:nm.array(nm.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:nm.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),o4=nm.object({count:nm.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:nm.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:nm.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:nm.array(nm.string()).optional().describe("Only return results from these bare domains."),exclude_domains:nm.array(nm.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:nm.number().optional().describe("Maximum characters in each web-result snippet."),highlights:nm.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:nm.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:nm.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:nm.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),o2=aV(()=>aG(nm.object({query:nm.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:nm.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:nm.object({data:o1.optional(),web:o4.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:nm.object({latitude:nm.number().describe("Latitude between -90 and 90."),longitude:nm.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:nm.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:nm.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:nm.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:nm.object({image_dark_mode:nm.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:nm.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:nm.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),o5=nm.union([nm.boolean(),nm.number(),nm.string()]).nullable(),o9=nm.object({content_format:nm.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:nm.number().optional(),data:nm.string().nullish(),records:nm.array(nm.record(nm.string(),o5)).nullish(),dataset:nm.object({columns:nm.array(nm.object({name:nm.string(),type:nm.enum(["boolean","date","datetime","number","string"]),unit:nm.string().nullish()})),rows:nm.array(nm.array(o5)),total_rows:nm.number(),truncated:nm.boolean(),ref:nm.string(),sources:nm.array(nm.object({name:nm.string(),index:nm.enum(["data","web"]).optional()})),provenance:nm.enum(["query","web_extraction"]).optional()}).nullish(),card_data:nm.object({}).passthrough().nullish(),card_data_schema:nm.object({}).passthrough().nullish(),url:nm.string().nullish(),expires_at:nm.string().nullish(),total_rows:nm.number().nullish(),truncated:nm.boolean().optional(),export_pricing:nm.object({baseline_usd:nm.number(),free_rows:nm.number(),max_rows_ceiling:nm.number(),row_cpm_usd:nm.number()}).nullish(),manifest:nm.array(nm.object({dtype:nm.enum(["boolean","date","datetime","number","string"]).nullish(),entity:nm.string().nullish(),metric:nm.string().nullish(),name:nm.string().nullish(),unit:nm.string().nullish()})).nullish()}).passthrough(),o6=nm.object({card_id:nm.string().nullish(),title:nm.string().nullish(),description:nm.string().nullish(),semantic_description:nm.string().nullish(),webpage_url:nm.string().nullish(),image_url:nm.string().nullish(),embed_url:nm.string().nullish(),sources:nm.array(nm.object({source_name:nm.string().nullish(),source_description:nm.string().nullish(),source_index:nm.enum(["data","web"]),source_text:nm.string().nullish(),url:nm.string().nullish()})).nullish(),methodologies:nm.array(nm.object({methodology_name:nm.string().nullable(),methodology_description:nm.string().nullable()})).nullish(),source_indexes:nm.array(nm.enum(["data","web"])).nullish(),card_type:nm.string().nullish(),relevance:nm.enum(["High","Low","Medium"]).nullish(),content:o9.nullish(),exportable:nm.boolean().optional(),nodes:nm.array(nm.object({id:nm.string(),type:nm.enum(["entity","metric"]),name:nm.string(),description:nm.string().nullish()})).nullish(),metric_definitions:nm.array(nm.object({name:nm.string(),definition:nm.string()})).nullish(),data_freshness:nm.object({coverage_end:nm.string().nullish(),data_as_of:nm.string().nullish(),last_updated:nm.string().nullish()}).nullish()}).passthrough(),o3=nm.object({title:nm.string(),url:nm.string(),snippet:nm.string().nullish(),source_name:nm.string().nullish(),publish_date:nm.string().nullish(),content:o9.nullish()}).passthrough(),o8=a4({id:"gateway.tako_search",inputSchema:o2,outputSchema:aV(()=>aG(nm.union([nm.object({request_id:nm.string(),cards:nm.array(o6).optional(),web_results:nm.array(o3).optional(),usage:nm.object({total_cost_usd:nm.number(),compute:nm.object({cost_usd:nm.number()}).nullish(),data:nm.object({cost_usd:nm.number(),datasets:nm.number()}).nullish()}).nullish(),related:nm.array(nm.object({}).passthrough()).nullish()}).passthrough(),nm.object({error:nm.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:nm.number().optional(),message:nm.string()})])))}),o7={exaSearch:(e={})=>oQ(e),parallelSearch:(e={})=>oX(e),perplexitySearch:(e={})=>o0(e),takoSearch:(e={})=>o8(e)};async function ie(){var e;return null==(e=(0,nd.getContext)().headers)?void 0:e["x-vercel-id"]}var it=nm.object({token:nm.string(),expiresAt:nm.number().nullish()});async function ir(e){let t=ac({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await (0,nd.getVercelOidcToken)(),authMethod:"oidc"}}!function(e={}){var t,r,a;let n=null,o=null,i=null!=(t=e.metadataCacheRefreshMillis)?t:3e5,s=0,l=null!=(r=null==(a=e.baseURL)?void 0:a.replace(/\/$/,""))?r:"https://ai-gateway.vercel.sh/v4/ai",u=t=>r0({Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":"0.0.1",[nX]:t.authMethod,...null!=e.teamIdOrSlug?{[n0]:e.teamIdOrSlug}:{},...e.headers},"ai-sdk/gateway/4.0.86"),c=async()=>{try{return u(await ir(e))}catch(e){throw nb.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},d=async()=>{try{return await ir(e)}catch(e){throw nb.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 r=u(await d()),a=new URL("/v1/realtime/client-secrets",l).toString();try{let{value:n}=await a0({url:a,headers:r,body:{model:t.modelId,...null!=t.routeKind&&{routeKind:t.routeKind},...null!=t.expiresAfterSeconds&&{expiresIn:t.expiresAfterSeconds}},successfulResponseHandler:a3(it),failedResponseHandler:a6({errorSchema:nm.any(),errorToMessage:e=>{var t;return null!=(t=rv(e))?t:"unknown error"}}),fetch:e.fetch});return{token:n.token,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}catch(e){throw await nQ(e,await n1(r))}},h=()=>{let e=ac({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),t=ac({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),r=ac({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),a=ac({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let n=await ie();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...r&&{"ai-o11y-region":r},...n&&{"ai-o11y-request-id":n},...a&&{"ai-o11y-project-id":a}}}},m=t=>new oh(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()}),g=async()=>{var t,r,a;let u=null!=(a=null==(r=null==(t=e._internal)?void 0:t.currentDate)?void 0:r.call(t).getTime())?a:Date.now();return(!n||u-s>i)&&(s=u,n=new n5({baseURL:l,headers:c,fetch:e.fetch}).getAvailableModels().then(e=>(o=e,e)).catch(async e=>{throw await nQ(e,await n1(await c()))})),o?Promise.resolve(o):n},f=async()=>new n5({baseURL:l,headers:c,fetch:e.fetch}).getCredits().catch(async e=>{throw await nQ(e,await n1(await c()))}),y=async t=>new n3({baseURL:l,headers:c,fetch:e.fetch}).getSpendReport(t).catch(async e=>{throw await nQ(e,await n1(await c()))}),v=async t=>new n7({baseURL:l,headers:c,fetch:e.fetch}).getGenerationInfo(t).catch(async e=>{throw await nQ(e,await n1(await c()))}),b=function(e){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return m(e)};b.specificationVersion="v4",b.getAvailableModels=g,b.getCredits=f,b.getSpendReport=y,b.getGenerationInfo=v,b.imageModel=t=>new ov(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()}),b.languageModel=m,b.experimental_batch=()=>new ot({provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});let w=t=>new og(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});b.embeddingModel=w,b.textEmbeddingModel=w,b.videoModel=t=>new ox(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});let _=t=>new oN(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});b.rerankingModel=_,b.reranking=_;let I=t=>new oO(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});b.evaluationModel=I,b.evaluation=I;let k=t=>new oD(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h()});b.speechModel=k,b.speech=k;let x=t=>new oZ(t,{provider:"gateway",baseURL:l,headers:c,fetch:e.fetch,o11yHeaders:h(),webSocket:e.webSocket});b.transcriptionModel=x,b.transcription=x,b.experimental_transcription=Object.assign(e=>x(e),{getToken:async e=>{let t=await p({modelId:e.model,routeKind:"transcription",...null!=e.expiresAfterSeconds&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:t.token,url:oB(l,e.model),...null!=t.expiresAt&&{expiresAt:t.expiresAt}}}});let S=t=>new oK(t,{provider:"gateway.realtime",baseURL:l,teamIdOrSlug:e.teamIdOrSlug,createClientSecret:p});b.experimental_realtime=Object.assign(e=>S(e),{getToken:async e=>{let{model:t,...r}=e,a=S(t),n=await a.doCreateClientSecret(r);return{token:n.token,url:n.url,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}}),b.chat=b.languageModel,b.embedding=b.embeddingModel,b.image=b.imageModel,b.video=b.videoModel,b.tools=o7}();var ia=Object.defineProperty,io="AI_InvalidArgumentError",ii=`vercel.ai.error.${io}`,is=Symbol.for(ii),il=class extends(ec=ej,eu=is,ec){constructor({parameter:e,value:t,message:r}){super({name:io,message:`Invalid argument for parameter ${e}: ${r}`}),this[eu]=!0,this.parameter=e,this.value=t}static isInstance(e){return ej.hasMarker(e,ii)}},iu=Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalSignatureError");Symbol.for("vercel.ai.error.AI_InvalidToolInputError");Symbol.for("vercel.ai.error.AI_ToolCallNotFoundForApprovalError");Symbol.for("vercel.ai.error.AI_MissingToolResultsError");Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");var ic="AI_NoObjectGeneratedError",id=`vercel.ai.error.${ic}`,ip=Symbol.for(id),ih=class extends(ep=ej,ed=ip,ep){constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:n,finishReason:o}){super({name:ic,message:e,cause:t}),this[ed]=!0,this.text=r,this.response=a,this.usage=n,this.finishReason=o}static isInstance(e){return ej.hasMarker(e,id)}},im=Symbol.for("vercel.ai.error.AI_NoOutputGeneratedError");Symbol.for("vercel.ai.error.AI_NoSpeechGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranscriptGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranslationGeneratedError");Symbol.for("vercel.ai.error.AI_NoVideoGeneratedError");Symbol.for("vercel.ai.error.AI_NoSuchToolError");Symbol.for("vercel.ai.error.AI_StreamProviderError");Symbol.for("vercel.ai.error.AI_ToolCallRepairError");Symbol.for("vercel.ai.error.AI_ToolChoiceViolationError");var ig="AI_UIMessageStreamError",iy=`vercel.ai.error.${ig}`,iv=Symbol.for(iy),ib=class extends(em=ej,eh=iv,em){constructor({chunkType:e,chunkId:t,message:r}){super({name:ig,message:r}),this[eh]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return ej.hasMarker(e,iy)}},iw=Symbol.for("vercel.ai.error.AI_InvalidDataContentError");Symbol.for("vercel.ai.error.AI_InvalidMessageRoleError");Symbol.for("vercel.ai.error.AI_MessageConversionError");Symbol.for("vercel.ai.error.AI_RetryError");var i_=!1;function iI({message:e,type:t}){void 0!==eS.default&&"function"==typeof eS.default.emitWarning?eS.default.emitWarning(e,{type:t}):console.warn(e)}var ik=async({url:e,maxBytes:t,abortSignal:r})=>{var a;let n=e.toString();try{let e=function(e,...t){let r=new Headers(tu(e)),a=r.get("user-agent")||"";return r.set("user-agent",[a,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}({},"ai-sdk/7.0.106",function(e=globalThis){var t,r,a;return e.window?"runtime/browser":(null==(t=e.navigator)?void 0:t.userAgent)?`runtime/${e.navigator.userAgent.toLowerCase()}`:(null==(a=null==(r=e.process)?void 0:r.versions)?void 0:a.node)?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}()),o=await tS({url:n,headers:e,abortSignal:r});if(!o.ok)throw await tc(o),new tm({url:n,statusCode:o.status,statusText:o.statusText});return{data:await tE({response:o,url:n,maxBytes:null!=t?t:0x80000000}),mediaType:null!=(a=o.headers.get("content-type"))?a:void 0}}catch(e){if(tm.isInstance(e))throw e;throw new tm({url:n,cause:e})}},ix={array:nc.array,boolean:nc.boolean,custom:nc.custom,discriminatedUnion:nc.discriminatedUnion,enum:nc.enum,instanceof:nc.instanceof,lazy:nc.lazy,literal:nc.literal,looseObject:nc.looseObject,never:nc.never,null:nc.null,number:nc.number,object:nc.object,record:nc.record,string:nc.string,union:nc.union,unknown:nc.unknown},iS=ix.lazy(()=>ix.union([ix.null(),ix.string(),ix.number(),ix.boolean(),ix.record(ix.string(),iS.optional()),ix.array(iS)])),iE=ix.record(ix.string(),ix.record(ix.string(),iS.optional())),iM=ix.union([ix.string(),ix.instanceof(Uint8Array),ix.instanceof(ArrayBuffer),ix.custom(function(e){var t,r;return null!=(r=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&r},{message:"Must be a Buffer"})]),ij=ix.record(ix.string(),ix.string()),iA=ix.object({type:ix.literal("text"),text:ix.string(),providerOptions:iE.optional()}),iT=ix.object({type:ix.literal("image"),image:ix.union([iM,ix.instanceof(URL),ij]),mediaType:ix.string().optional(),providerOptions:iE.optional()}),iR=ix.discriminatedUnion("type",[ix.object({type:ix.literal("data"),data:iM}),ix.object({type:ix.literal("url"),url:ix.instanceof(URL)}),ix.object({type:ix.literal("reference"),reference:ij}),ix.object({type:ix.literal("text"),text:ix.string()})]),iO=ix.discriminatedUnion("type",[ix.object({type:ix.literal("data"),data:iM}),ix.object({type:ix.literal("url"),url:ix.instanceof(URL)})]),iC=ix.object({type:ix.literal("file"),data:ix.union([iR,iM,ix.instanceof(URL),ij]),filename:ix.string().optional(),mediaType:ix.string(),providerOptions:iE.optional()}),iP=ix.object({type:ix.literal("reasoning"),text:ix.string(),providerOptions:iE.optional()}),i$=ix.object({type:ix.literal("custom"),kind:ix.string().transform(e=>e),providerOptions:iE.optional()}),iN=ix.object({type:ix.literal("reasoning-file"),data:ix.union([iO,iM,ix.instanceof(URL)]),mediaType:ix.string(),providerOptions:iE.optional()}),iU=ix.object({type:ix.literal("tool-call"),toolCallId:ix.string(),toolName:ix.string(),input:ix.unknown(),providerOptions:iE.optional(),providerExecuted:ix.boolean().optional()}),iL=ix.discriminatedUnion("type",[ix.object({type:ix.literal("text"),value:ix.string(),providerOptions:iE.optional()}),ix.object({type:ix.literal("json"),value:iS,providerOptions:iE.optional()}),ix.object({type:ix.literal("execution-denied"),reason:ix.string().optional(),providerOptions:iE.optional()}),ix.object({type:ix.literal("error-text"),value:ix.string(),providerOptions:iE.optional()}),ix.object({type:ix.literal("error-json"),value:iS,providerOptions:iE.optional()}),ix.object({type:ix.literal("content"),value:ix.array(ix.union([ix.object({type:ix.literal("text"),text:ix.string(),providerOptions:iE.optional()}),ix.object({type:ix.literal("file"),data:iR,mediaType:ix.string(),filename:ix.string().optional(),providerOptions:iE.optional()}),ix.object({type:ix.literal("file-data"),data:ix.string(),mediaType:ix.string(),filename:ix.string().optional(),providerOptions:iE.optional()}),ix.object({type:ix.literal("file-url"),url:ix.string(),mediaType:ix.string().optional(),providerOptions:iE.optional()}),ix.object({type:ix.literal("file-id"),fileId:ix.union([ix.string(),ix.record(ix.string(),ix.string())]),providerOptions:iE.optional()}),ix.object({type:ix.literal("file-reference"),providerReference:ix.record(ix.string(),ix.string()),providerOptions:iE.optional()}),ix.object({type:ix.literal("image-data"),data:ix.string(),mediaType:ix.string(),providerOptions:iE.optional()}),ix.object({type:ix.literal("image-url"),url:ix.string(),providerOptions:iE.optional()}),ix.object({type:ix.literal("image-file-id"),fileId:ix.union([ix.string(),ix.record(ix.string(),ix.string())]),providerOptions:iE.optional()}),ix.object({type:ix.literal("image-file-reference"),providerReference:ix.record(ix.string(),ix.string()),providerOptions:iE.optional()}),ix.object({type:ix.literal("custom"),providerOptions:iE.optional()})]))})]),iD=ix.object({type:ix.literal("tool-result"),toolCallId:ix.string(),toolName:ix.string(),output:iL,providerOptions:iE.optional()}),iF=ix.object({type:ix.literal("tool-approval-request"),approvalId:ix.string(),toolCallId:ix.string(),reason:ix.string().optional()}),iq=ix.object({type:ix.literal("tool-approval-response"),approvalId:ix.string(),approved:ix.boolean(),reason:ix.string().optional()}),iH=ix.object({role:ix.literal("system"),content:ix.string(),providerOptions:iE.optional()}),iZ=ix.object({role:ix.literal("user"),content:ix.union([ix.string(),ix.array(ix.union([iA,iT,iC]))]),providerOptions:iE.optional()}),iB=ix.object({role:ix.literal("assistant"),content:ix.union([ix.string(),ix.array(ix.union([iA,i$,iC,iP,iN,iU,iD,iF]))]),providerOptions:iE.optional()}),iV=ix.object({role:ix.literal("tool"),content:ix.array(ix.union([iD,iq])),providerOptions:iE.optional()});ix.union([iH,iZ,iB,iV]);var iz={},iG={array:()=>iQ,choice:()=>i1,json:()=>i4,object:()=>iK,text:()=>iJ};for(var iW in iG)ia(iz,iW,{get:iG[iW],enumerable:!0});async function iY(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await ra({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await ra({text:function(e){let t=["ROOT"],r=-1,a=null,n=0;function o(e,n,o){switch(e){case'"':r=n,t.pop(),t.push(o),t.push("INSIDE_STRING");break;case"f":case"t":case"n":r=n,a=n,t.pop(),t.push(o),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(o),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":r=n,t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"{":r=n,t.pop(),t.push(o),t.push("INSIDE_OBJECT_START");break;case"[":r=n,t.pop(),t.push(o),t.push("INSIDE_ARRAY_START")}}function i(e,a){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":r=a,t.pop()}}function s(e,a){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=a,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case"ROOT":o(u,l,"FINISH");break;case"INSIDE_OBJECT_START":switch(u){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":r=l,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":o(u,l,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":i(u,l);break;case"INSIDE_STRING":switch(u){case'"':t.pop(),r=l;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:r=l}break;case"INSIDE_ARRAY_START":"]"===u?(r=l,t.pop()):(r=l,o(u,l,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(u){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=l,t.pop();break;default:r=l}break;case"INSIDE_ARRAY_AFTER_COMMA":o(u,l,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),"u"===u?(n=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):r=l;break;case"INSIDE_STRING_UNICODE_ESCAPE":(u>="0"&&u<="9"||u>="A"&&u<="F"||u>="a"&&u<="f")&&4==++n&&(t.pop(),r=l);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":r=l;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&s(u,l),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&i(u,l);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&i(u,l);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&s(u,l);break;default:t.pop()}break;case"INSIDE_LITERAL":{let n=e.substring(a,l+1);"false".startsWith(n)||"true".startsWith(n)||"null".startsWith(n)?r=l:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?i(u,l):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&s(u,l))}}}let l=e.slice(0,r+1);for(let r=t.length-1;r>=0;r--)switch(t[r]){case"INSIDE_STRING":l+='"';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":l+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":l+="]";break;case"INSIDE_LITERAL":{let t=e.substring(a,e.length);"true".startsWith(t)?l+="true".slice(t.length):"false".startsWith(t)?l+="false".slice(t.length):"null".startsWith(t)&&(l+="null".slice(t.length))}}return l}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var iJ=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:e})=>e,parsePartialOutput:async({text:e})=>({partial:e}),createElementStreamTransform(){}}),iK=({schema:e,name:t,description:r})=>{let a=t7(e);return{name:"object",responseFormat:rn(a.jsonSchema).then(e=>({type:"json",schema:e,...null!=t&&{name:t},...null!=r&&{description:r}})),async parseCompleteOutput({text:e},t){let r=await ra({text:e});if(!r.success)throw new ih({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let n=await rr({value:r.value,schema:a});if(!n.success)throw new ih({message:"No object generated: response did not match schema.",cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await iY(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value}}},createElementStreamTransform(){}}},iQ=({element:e,minItems:t,maxItems:r,name:a,description:n})=>{if(iX({name:"minItems",value:t}),iX({name:"maxItems",value:r}),null!=t&&null!=r&&t>r)throw new il({parameter:"minItems",value:t,message:"minItems must be less than or equal to maxItems"});let o=t7(e);return{name:"array",responseFormat:rn(o.jsonSchema).then(e=>{let{$schema:o,definitions:i,$defs:s,...l}=e;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=i&&{definitions:i},...null!=s&&{$defs:s},type:"object",properties:{elements:{type:"array",items:l,...null!=t&&{minItems:t},...null!=r&&{maxItems:r}}},required:["elements"],additionalProperties:!1},...null!=a&&{name:a},...null!=n&&{description:n}}}),async parseCompleteOutput({text:e},a){let n=await ra({text:e});if(!n.success)throw new ih({message:"No object generated: could not parse the response.",cause:n.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let i=n.value;if(null==i||"object"!=typeof i||!("elements"in i)||!Array.isArray(i.elements))throw new ih({message:"No object generated: response did not match schema.",cause:new e2({value:i,cause:"response must be an object with an elements array"}),text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let s=i0({value:i.elements,minItems:t,maxItems:r});if(null!=s)throw new ih({message:"No object generated: response did not match schema.",cause:s,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let l=[];for(let t of i.elements){let r=await rr({value:t,schema:o});if(!r.success)throw new ih({message:"No object generated: response did not match schema.",cause:r.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});l.push(r.value)}return l},async parsePartialOutput({text:e}){let t=await iY(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 r="repaired-parse"===t.state&&e.elements.length>0?e.elements.slice(0,-1):e.elements,a=[];for(let e of r){let t=await rr({value:e,schema:o});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!=r&&e>=r)return void a.error(i0({value:t,maxItems:r}));a.enqueue(t[e])}}})}}};function iX({name:e,value:t}){if(null!=t){if(!Number.isInteger(t))throw new il({parameter:e,value:t,message:`${e} must be an integer`});if(t<0)throw new il({parameter:e,value:t,message:`${e} must be greater than or equal to 0`})}}function i0({value:e,minItems:t,maxItems:r}){return null!=t&&e.length<t?new e2({value:e,cause:`elements array must contain at least ${t} items`}):null!=r&&e.length>r?new e2({value:e,cause:`elements array must contain at most ${r} items`}):void 0}var i1=({options:e,name:t,description:r})=>({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!=r&&{description:r}}),async parseCompleteOutput({text:t},r){let a=await ra({text:t});if(!a.success)throw new ih({message:"No object generated: could not parse the response.",cause:a.error,text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});let n=a.value;if(null==n||"object"!=typeof n||!("result"in n)||"string"!=typeof n.result||!e.includes(n.result))throw new ih({message:"No object generated: response did not match schema.",cause:new e2({value:n,cause:"response must be an object that contains a choice value."}),text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});return n.result},async parsePartialOutput({text:t}){let r=await iY(t);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let t=r.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"===r.state)return a.includes(t.result)?{partial:t.result}:void 0;return 1===a.length?{partial:a[0]}:void 0}}},createElementStreamTransform(){}}),i4=({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 r=await ra({text:e});if(!r.success)throw new ih({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return r.value},async parsePartialOutput({text:e}){let t=await iY(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(){}});new TextEncoder,new TextEncoder,tM({prefix:"aitxt",size:24}),tM({prefix:"call",size:24}),TransformStream;var i2=ix.record(ix.string(),iS.optional()),i5=t3(()=>re(ix.union([ix.looseObject({type:ix.literal("text-start"),id:ix.string(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("text-delta"),id:ix.string(),delta:ix.string(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("text-end"),id:ix.string(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("error"),errorText:ix.string()}),ix.looseObject({type:ix.literal("tool-input-start"),toolCallId:ix.string(),toolName:ix.string(),providerExecuted:ix.boolean().optional(),providerMetadata:iE.optional(),toolMetadata:i2.optional(),dynamic:ix.boolean().optional(),title:ix.string().optional()}),ix.looseObject({type:ix.literal("tool-input-delta"),toolCallId:ix.string(),inputTextDelta:ix.string()}),ix.looseObject({type:ix.literal("tool-input-available"),toolCallId:ix.string(),toolName:ix.string(),input:ix.unknown(),providerExecuted:ix.boolean().optional(),providerMetadata:iE.optional(),toolMetadata:i2.optional(),dynamic:ix.boolean().optional(),title:ix.string().optional()}),ix.looseObject({type:ix.literal("tool-input-error"),toolCallId:ix.string(),toolName:ix.string(),input:ix.unknown(),providerExecuted:ix.boolean().optional(),providerMetadata:iE.optional(),toolMetadata:i2.optional(),dynamic:ix.boolean().optional(),errorText:ix.string(),title:ix.string().optional()}),ix.looseObject({type:ix.literal("tool-approval-request"),approvalId:ix.string(),toolCallId:ix.string(),approvalDescriptor:ix.unknown().optional(),reason:ix.string().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()}),ix.looseObject({type:ix.literal("tool-approval-response"),approvalId:ix.string(),approved:ix.boolean(),reason:ix.string().optional(),providerExecuted:ix.boolean().optional(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("tool-output-available"),toolCallId:ix.string(),output:ix.unknown(),providerExecuted:ix.boolean().optional(),providerMetadata:iE.optional(),toolMetadata:i2.optional(),dynamic:ix.boolean().optional(),preliminary:ix.boolean().optional()}),ix.looseObject({type:ix.literal("tool-output-error"),toolCallId:ix.string(),errorText:ix.string(),providerExecuted:ix.boolean().optional(),providerMetadata:iE.optional(),toolMetadata:i2.optional(),dynamic:ix.boolean().optional()}),ix.looseObject({type:ix.literal("tool-output-denied"),toolCallId:ix.string()}),ix.looseObject({type:ix.literal("reasoning-start"),id:ix.string(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("reasoning-delta"),id:ix.string(),delta:ix.string(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("reasoning-end"),id:ix.string(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("custom"),kind:ix.string().transform(e=>e),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("source-url"),sourceId:ix.string(),url:ix.string(),title:ix.string().optional(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("source-document"),sourceId:ix.string(),mediaType:ix.string(),title:ix.string(),filename:ix.string().optional(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("file"),url:ix.string(),mediaType:ix.string(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.literal("reasoning-file"),url:ix.string(),mediaType:ix.string(),providerMetadata:iE.optional()}),ix.looseObject({type:ix.custom(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:ix.string().optional(),data:ix.unknown(),transient:ix.boolean().optional()}),ix.looseObject({type:ix.literal("start-step")}),ix.looseObject({type:ix.literal("finish-step")}),ix.looseObject({type:ix.literal("reset-step")}),ix.looseObject({type:ix.literal("start"),messageId:ix.string().optional(),messageMetadata:ix.unknown().optional()}),ix.looseObject({type:ix.literal("finish"),finishReason:ix.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:ix.unknown().optional()}),ix.looseObject({type:ix.literal("abort"),reason:ix.string().optional()}),ix.looseObject({type:ix.literal("message-metadata"),messageMetadata:ix.unknown()})])));function i9(){return Object.create(null)}function i6(e){return e.type.startsWith("tool-")}function i3(e){return i6(e)||"dynamic-tool"===e.type}function i8(e){return e.type.split("-").slice(1).join("-")}var i7={type:"deprecated",setting:"rawInput in output-error UI message parts",message:'Use the "input" field instead. The "rawInput" field will be removed in the next major version.'};async function se({stream:e,onError:t,abortSignal:r}){let a=e.getReader(),n=()=>{a.cancel().catch(()=>{})};(null==r?void 0:r.aborted)?n():null==r||r.addEventListener("abort",n,{once:!0});try{for(;;){let{done:e}=await a.read();if(e)break}}catch(e){null==t||t(e)}finally{null==r||r.removeEventListener("abort",n),a.releaseLock()}}tM({prefix:"aitxt",size:24}),tM({prefix:"call",size:24}),tM({prefix:"aitxt",size:24}),tM({prefix:"call",size:24});var st=ix.record(ix.string(),iS.optional()),sr=ix.record(ix.string(),ix.string());function sa(e){return({url:t,abortSignal:r})=>ik({url:t,maxBytes:null==e?void 0:e.maxBytes,abortSignal:r})}t3(()=>re(ix.array(ix.object({id:ix.string(),role:ix.enum(["system","user","assistant"]),metadata:ix.unknown().optional(),parts:ix.array(ix.union([ix.object({type:ix.literal("text"),text:ix.string(),state:ix.enum(["streaming","done"]).optional(),providerMetadata:iE.optional()}),ix.object({type:ix.literal("reasoning"),id:ix.string().optional(),text:ix.string(),state:ix.enum(["streaming","done"]).optional(),providerMetadata:iE.optional()}),ix.object({type:ix.literal("custom"),kind:ix.string(),providerMetadata:iE.optional()}),ix.object({type:ix.literal("source-url"),sourceId:ix.string(),url:ix.string(),title:ix.string().optional(),providerMetadata:iE.optional()}),ix.object({type:ix.literal("source-document"),sourceId:ix.string(),mediaType:ix.string(),title:ix.string(),filename:ix.string().optional(),providerMetadata:iE.optional()}),ix.object({type:ix.literal("file"),mediaType:ix.string(),filename:ix.string().optional(),url:ix.string(),providerReference:sr.optional(),providerMetadata:iE.optional()}),ix.object({type:ix.literal("reasoning-file"),mediaType:ix.string(),url:ix.string(),providerMetadata:iE.optional()}),ix.object({type:ix.literal("step-start")}),ix.object({type:ix.string().startsWith("data-"),id:ix.string().optional(),data:ix.unknown()}),ix.object({type:ix.literal("dynamic-tool"),toolName:ix.string(),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("input-streaming"),input:ix.unknown().optional(),providerExecuted:ix.boolean().optional(),callProviderMetadata:iE.optional(),output:ix.never().optional(),errorText:ix.never().optional(),approval:ix.never().optional()}),ix.object({type:ix.literal("dynamic-tool"),toolName:ix.string(),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("input-available"),input:ix.unknown(),providerExecuted:ix.boolean().optional(),output:ix.never().optional(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),approval:ix.never().optional()}),ix.object({type:ix.literal("dynamic-tool"),toolName:ix.string(),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("approval-requested"),input:ix.unknown(),providerExecuted:ix.boolean().optional(),output:ix.never().optional(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),approval:ix.object({id:ix.string(),approved:ix.never().optional(),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.never().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()})}),ix.object({type:ix.literal("dynamic-tool"),toolName:ix.string(),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("approval-responded"),input:ix.unknown(),providerExecuted:ix.boolean().optional(),output:ix.never().optional(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),approval:ix.object({id:ix.string(),approved:ix.boolean(),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.string().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()})}),ix.object({type:ix.literal("dynamic-tool"),toolName:ix.string(),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("output-available"),input:ix.unknown(),providerExecuted:ix.boolean().optional(),output:ix.unknown(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),resultProviderMetadata:iE.optional(),preliminary:ix.boolean().optional(),approval:ix.object({id:ix.string(),approved:ix.literal(!0),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.string().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()}).optional()}),ix.object({type:ix.literal("dynamic-tool"),toolName:ix.string(),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("output-error"),input:ix.unknown().optional(),rawInput:ix.unknown().optional(),providerExecuted:ix.boolean().optional(),output:ix.never().optional(),errorText:ix.string(),callProviderMetadata:iE.optional(),resultProviderMetadata:iE.optional(),approval:ix.object({id:ix.string(),approved:ix.literal(!0),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.string().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()}).optional()}),ix.object({type:ix.literal("dynamic-tool"),toolName:ix.string(),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("output-denied"),input:ix.unknown(),providerExecuted:ix.boolean().optional(),output:ix.never().optional(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),approval:ix.object({id:ix.string(),approved:ix.literal(!1),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.string().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()})}),ix.object({type:ix.string().startsWith("tool-"),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("input-streaming"),providerExecuted:ix.boolean().optional(),callProviderMetadata:iE.optional(),input:ix.unknown().optional(),output:ix.never().optional(),errorText:ix.never().optional(),approval:ix.never().optional()}),ix.object({type:ix.string().startsWith("tool-"),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("input-available"),providerExecuted:ix.boolean().optional(),input:ix.unknown(),output:ix.never().optional(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),approval:ix.never().optional()}),ix.object({type:ix.string().startsWith("tool-"),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("approval-requested"),input:ix.unknown(),providerExecuted:ix.boolean().optional(),output:ix.never().optional(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),approval:ix.object({id:ix.string(),approved:ix.never().optional(),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.never().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()})}),ix.object({type:ix.string().startsWith("tool-"),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("approval-responded"),input:ix.unknown(),providerExecuted:ix.boolean().optional(),output:ix.never().optional(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),approval:ix.object({id:ix.string(),approved:ix.boolean(),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.string().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()})}),ix.object({type:ix.string().startsWith("tool-"),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("output-available"),providerExecuted:ix.boolean().optional(),input:ix.unknown(),output:ix.unknown(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),resultProviderMetadata:iE.optional(),preliminary:ix.boolean().optional(),approval:ix.object({id:ix.string(),approved:ix.literal(!0),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.string().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()}).optional()}),ix.object({type:ix.string().startsWith("tool-"),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("output-error"),providerExecuted:ix.boolean().optional(),input:ix.unknown().optional(),rawInput:ix.unknown().optional(),output:ix.never().optional(),errorText:ix.string(),callProviderMetadata:iE.optional(),resultProviderMetadata:iE.optional(),approval:ix.object({id:ix.string(),approved:ix.literal(!0),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.string().optional(),isAutomatic:ix.boolean().optional(),signature:ix.string().optional()}).optional()}),ix.object({type:ix.string().startsWith("tool-"),toolCallId:ix.string(),title:ix.string().optional(),toolMetadata:st.optional(),state:ix.literal("output-denied"),providerExecuted:ix.boolean().optional(),input:ix.unknown(),output:ix.never().optional(),errorText:ix.never().optional(),callProviderMetadata:iE.optional(),approval:ix.object({id:ix.string(),approved:ix.literal(!1),descriptor:ix.unknown().optional(),requestReason:ix.string().optional(),reason:ix.string().optional(),isAutomatic:ix.boolean().optional(),signature:ix.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"))),tM({prefix:"call",size:24}),tM({prefix:"call",size:24}),new TextEncoder,tM({prefix:"aiobj",size:24});var{atob:sn}=globalThis,so=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,r)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){r(e)}}),this.processQueue()})}};tM({prefix:"aiobj",size:24}),sa();ix.object({token:ix.string().refine(e=>e.trim().length>0),url:ix.string().refine(e=>{try{let t=new URL(e);return("ws:"===t.protocol||"wss:"===t.protocol)&&""!==t.hostname}catch(e){return!1}}),expiresAt:ix.number().positive().max(Number.MAX_SAFE_INTEGER).optional(),tools:ix.array(ix.object({type:ix.literal("function"),name:ix.string().min(1),description:ix.string().optional(),parameters:ix.record(ix.string(),ix.unknown())})).optional()});Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function si({response:e,url:t,fallbackMessage:r}){let a=await e.text();return new eO({message:a||r,url:t,requestBodyValues:void 0,statusCode:e.status,responseBody:a})}async function ss(e){if(null==e)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw new e3({functionality:"FileList",message:"FileList is not supported in the current environment"});return Promise.all(Array.from(e).map(async e=>{let{name:t,type:r}=e;return{type:"file",mediaType:r,filename:t,url:await new Promise((t,r)=>{let a=new FileReader;a.onload=e=>{var r;t(null==(r=e.target)?void 0:r.result)},a.onerror=e=>r(e),a.readAsDataURL(e)})}}))}tM({prefix:"call",size:24}),sa();var sl=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:n,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:i}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=n,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=i}async sendMessages({abortSignal:e,...t}){var r,a,n,o;let i=await rn(this.body),s=await rn(this.headers),l=await rn(this.credentials),u={...tu(s),...tu(t.headers)},c=await (null==(r=this.prepareSendMessagesRequest)?void 0:r.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...i,...t.body},headers:u,credentials:l,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),d=null!=(a=null==c?void 0:c.api)?a:this.api,p=(null==c?void 0:c.headers)!==void 0?tu(c.headers):u,h=(null==c?void 0:c.body)!==void 0?c.body:{...i,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},m=null!=(n=null==c?void 0:c.credentials)?n:l,g=null!=(o=this.fetch)?o:globalThis.fetch,f=await g(d,{method:"POST",headers:{"Content-Type":"application/json",...p},body:JSON.stringify(h),credentials:m,signal:e});if(!f.ok)throw await si({response:f,url:d,fallbackMessage:"Failed to fetch the chat response."});if(!f.body)throw new eN({message:"The response body is empty."});return this.processResponseStream(f.body)}async reconnectToStream(e){var t,r,a,n;let o=await rn(this.body),i=await rn(this.headers),s=await rn(this.credentials),l={...tu(i),...tu(e.headers)},u=await (null==(t=this.prepareReconnectToStreamRequest)?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...o,...e.body},headers:l,credentials:s,requestMetadata:e.metadata})),c=null!=(r=null==u?void 0:u.api)?r:`${this.api}/${e.chatId}/stream`,d=(null==u?void 0:u.headers)!==void 0?tu(u.headers):l,p=null!=(a=null==u?void 0:u.credentials)?a:s,h=null!=(n=this.fetch)?n:globalThis.fetch,m=await h(c,{method:"GET",headers:d,credentials:p,signal:e.abortSignal});if(204===m.status)return null;if(!m.ok)throw await si({response:m,url:c,fallbackMessage:"Failed to fetch the chat response."});if(!m.body)throw new eN({message:"The response body is empty."});return this.processResponseStream(m.body)}},su=class extends sl{constructor(e={}){super(e)}processResponseStream(e){return(function({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new tn).pipeThrough(new TransformStream({async transform({data:e},r){"[DONE]"!==e&&r.enqueue(await ra({text:e,schema:t}))}}))})({stream:e,schema:i5}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},sc=class{constructor({generateId:e=tj,id:t=e(),transport:r=new su,messageMetadataSchema:a,dataPartSchemas:n,state:o,onError:i,onToolCall:s,onFinish:l,onData:u,sendAutomaticallyWhen:c}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new so,this.sendMessage=async(e,t)=>{var r,a,n,o;let i;if(null==e)return void await this.makeRequest({trigger:"submit-message",messageId:null==(r=this.lastMessage)?void 0:r.id,...t});if("text"in e||"files"in e){let t,r=new AbortController;this.pendingMessagePreparations.add(r);try{t=Array.isArray(e.files)?e.files:await ss(e.files)}finally{this.pendingMessagePreparations.delete(r)}if(r.signal.aborted)return;i={parts:[...t,..."text"in e&&null!=e.text?[{type:"text",text:e.text}]:[]]}}else i=e;if(null!=e.messageId){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(-1===t)throw new il({parameter:"message.messageId",value:e.messageId,message:`message with id ${e.messageId} not found`});if("user"!==this.state.messages[t].role)throw new il({parameter:"message.messageId",value:e.messageId,message:`message with id ${e.messageId} is not a user message`});this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{id:e.messageId,...i,role:null!=(a=i.role)?a:"user",metadata:e.metadata})}else this.state.pushMessage({...i,id:null!=(n=i.id)?n:this.generateId(),role:null!=(o=i.role)?o:"user",metadata:e.metadata});await this.makeRequest({trigger:"submit-message",messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let r=null==e?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(-1===r)throw new il({parameter:"messageId",value:e,message:`message ${e} not found`});this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[r].role?r:r+1),await this.makeRequest({trigger:"regenerate-message",messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:"resume-stream",...e})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:r,options:a})=>this.jobExecutor.run(async()=>{let n=this.state.messages,o=n[n.length-1],i=a=>i3(a)&&"approval-requested"===a.state&&a.approval.id===e?{...a,state:"approval-responded",approval:{...a.approval,id:e,approved:t,reason:r}}:a;this.state.replaceMessage(n.length-1,{...o,parts:o.parts.map(i)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(i)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...a})})}),this.addToolOutput=async({state:e="output-available",toolCallId:t,output:r,errorText:a,options:n})=>this.jobExecutor.run(async()=>{let o=this.state.messages,i=o[o.length-1],s=n=>i3(n)&&n.toolCallId===t?{...n,state:e,output:r,errorText:a}:n;this.state.replaceMessage(o.length-1,{...i,parts:i.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...n})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var e,t;for(let e of this.pendingMessagePreparations)e.abort();null==(e=this.activeResumeRequest)||e.abortController.abort(),null==(t=this.activeResponse)||t.abortController.abort()},this.id=t,this.transport=r,this.generateId=e,this.messageMetadataSchema=a,this.dataPartSchemas=n,this.state=o,this.onError=i,this.onToolCall=s,this.onFinish=l,this.onData=u,this.sendAutomaticallyWhen=c}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&"object"==typeof e&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:r,body:a,messageId:n}){var o,i,s;let l,u,c=new AbortController,d="resume-stream"===e?{abortController:c}:void 0;d&&(null==(o=this.activeResumeRequest)||o.abortController.abort(),this.activeResumeRequest=d);let p=()=>null==d||this.activeResumeRequest===d,h=()=>{this.activeResumeRequest===d&&(this.activeResumeRequest=void 0)};if("resume-stream"===e)try{let e=await this.transport.reconnectToStream({chatId:this.id,abortSignal:c.signal,metadata:t,headers:r,body:a});if(c.signal.aborted||!p()){await (null==e?void 0:e.cancel().catch(()=>{})),p()&&this.setStatus({status:"ready"}),h();return}if(null==e){this.setStatus({status:"ready"}),h();return}l=e}catch(e){if(c.signal.aborted||"AbortError"===e.name){p()&&this.setStatus({status:"ready"}),h();return}if(!p())return;this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e}),h();return}this.setStatus({status:"submitted",error:void 0});let m=this.lastMessage,g=!1,f=!1,y=!1;try{let o,i={state:function({lastMessage:e,messageId:t}){return{message:(null==e?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:i9(),activeReasoningParts:i9(),partialToolCalls:i9()}}({lastMessage:"resume-stream"===e||"regenerate-message"===e?void 0:this.state.snapshot(m),messageId:this.generateId()}),abortController:c};u=i,i.abortController.signal.addEventListener("abort",()=>{g=!0}),this.activeResponse=i,o="resume-stream"===e?l:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:i.abortController.signal,metadata:t,headers:r,body:a,trigger:e,messageId:n});let s=e=>this.jobExecutor.run(()=>i.abortController.signal.aborted?Promise.resolve():e({state:i.state,write:({updateStatus:e=!0}={})=>{var t;i.abortController.signal.aborted||(e&&this.setStatus({status:"streaming"}),i.state.message.id===(null==(t=this.lastMessage)?void 0:t.id)?this.state.replaceMessage(this.state.messages.length-1,i.state.message):this.state.pushMessage(i.state.message))}}));if(await se({stream:function({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:a,onError:n,onToolCall:o,onData:i}){return e.pipeThrough(new TransformStream({async transform(e,s){await a(async({state:a,write:l})=>{var u,c,d,p;function h(){let e=a.message.parts,t=e.length-1;for(;t>=0&&"step-start"!==e[t].type;)t--;return e.slice(t+1)}function m(e){let t=h().filter(i3).find(t=>t.toolCallId===e);if(null==t){let r=a.message.parts;for(let a=r.length-1;a>=0;a--){let n=r[a];if(i3(n)&&n.toolCallId===e){t=n;break}}}if(null==t)throw new ib({chunkType:"tool-invocation",chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function g(e,t){var r;let n=null!=t?t:h().find(t=>i6(t)&&t.toolCallId===e.toolCallId);if(null!=n){n.state=e.state,n.input=e.input,n.output=e.output,n.errorText=e.errorText,n.rawInput=e.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:`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 r,n;let o=null!=t?t:h().find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId);if(null!=o){o.state=e.state,o.toolName=e.toolName,o.input=e.input,o.output=e.output,o.errorText=e.errorText,o.rawInput=null!=(r=e.rawInput)?r:o.rawInput,o.preliminary=e.preliminary,void 0!==e.title&&(o.title=e.title),void 0!==e.toolMetadata&&(o.toolMetadata=e.toolMetadata),o.providerExecuted=null!=(n=e.providerExecuted)?n:o.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?o.resultProviderMetadata=t:o.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 r=null!=a.message.metadata?function e(t,r){if(void 0===t&&void 0===r)return;if(void 0===t)return r;if(void 0===r)return t;let a={...t};for(let n in r)if("__proto__"!==n&&"constructor"!==n&&"prototype"!==n&&Object.prototype.hasOwnProperty.call(r,n)){let o=r[n];if(void 0===o)continue;let i=n in t?t[n]:void 0,s=null!==o&&"object"==typeof o&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),l=null!=i&&"object"==typeof i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp);s&&l?a[n]=e(i,o):a[n]=o}return a}(a.message.metadata,e):e;null!=t&&await rt({value:r,schema:t,context:{field:"message.metadata",entityId:a.message.id}}),a.message.metadata=r}}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),l();break}case"text-delta":{let t=a.activeTextParts[e.id];if(null==t)throw new ib({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,l();break}case"text-end":{let t=a.activeTextParts[e.id];if(null==t)throw new ib({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!=(c=e.providerMetadata)?c:t.providerMetadata,delete a.activeTextParts[e.id],l();break}case"custom":{let t={type:"custom",kind:e.kind,providerMetadata:e.providerMetadata};a.message.parts.push(t),l();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),l();break}case"reasoning-delta":{let t=a.activeReasoningParts[e.id];if(null==t)throw new ib({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!=(d=e.providerMetadata)?d:t.providerMetadata,l();break}case"reasoning-end":{let t=a.activeReasoningParts[e.id];if(null==t)throw new ib({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!=(p=e.providerMetadata)?p:t.providerMetadata,t.state="done",delete a.activeReasoningParts[e.id],l();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}:{}}),l();break;case"source-url":a.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),l();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}),l();break;case"tool-input-start":{let t=h().filter(i6);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}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),l();break}case"tool-input-delta":{let t=a.partialToolCalls[e.toolCallId];if(null==t)throw new ib({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:r}=await iY(t.text);t.dynamic?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}):g({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}),l();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}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),l(),o&&!e.providerExecuted&&await o({toolCall:e});break;case"tool-input-error":{let t=h().filter(i3).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}):(g({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}),[a.message].some(e=>e.parts.some(e=>null!=e&&"object"==typeof e&&"type"in e&&"string"==typeof e.type&&("dynamic-tool"===e.type||e.type.startsWith("tool-"))&&"state"in e&&"output-error"===e.state&&Object.prototype.hasOwnProperty.call(e,"rawInput")&&"rawInput"in e&&void 0!==e.rawInput))&&(e=>{if(0===e.warnings.length)return;let t=globalThis.AI_SDK_LOG_WARNINGS;if(!1!==t){if("function"==typeof t)return t(e);for(let t of(i_||(i_=!0,iI({message:"AI SDK Warning System: To turn off warning logging, set the AI_SDK_LOG_WARNINGS global to false.",type:"Warning"})),e.warnings))iI({message:function({warning:e,provider:t,model:r}){let a=null!=t&&null!=r?` (${t} / ${r})`:"",n=`AI SDK Warning${a}:`;switch(e.type){case"unsupported":{let t=`${n} The feature "${e.feature}" is not supported.`;return e.details&&(t+=` ${e.details}`),t}case"compatibility":{let t=`${n} The feature "${e.feature}" is used in a compatibility mode.`;return e.details&&(t+=` ${e.details}`),t}case"deprecated":return`${n} Deprecated: "${e.setting}". ${e.message}`;case"other":return`${n} ${e.message}`;default:return`${n} ${JSON.stringify(e,null,2)}`}}({warning:t,provider:e.provider,model:e.model}),type:"deprecated"===t.type?"DeprecationWarning":"Warning"})}})({warnings:[i7]})),l();break}case"tool-approval-request":{let t=m(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}:{}},l();break}case"tool-approval-response":{let t=function(e){let t=a.message.parts.filter(i3).find(t=>{var r;return(null==(r=t.approval)?void 0:r.id)===e});if(null==t)throw new ib({chunkType:"tool-approval-response",chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}(e.approvalId),r=null==t.approval?{id:e.approvalId}:t.approval;t.state="approval-responded",t.approval={...r,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),l();break}case"tool-output-denied":m(e.toolCallId).state="output-denied",l();break;case"tool-output-available":{let t=m(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):g({toolCallId:e.toolCallId,toolName:i8(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),l();break}case"tool-output-error":{let t=m(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):g({toolCallId:e.toolCallId,toolName:i8(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),l();break}case"start-step":a.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let e=h();a.activeTextParts=i9(),a.activeReasoningParts=i9(),a.partialToolCalls=i9(),e.length>0&&(a.message.parts.splice(a.message.parts.length-e.length,e.length),l());break}case"start":null!=e.messageId&&(a.message.id=e.messageId),await y(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&l({updateStatus:!1});break;case"finish":null!=e.finishReason&&(a.finishReason=e.finishReason),await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"message-metadata":await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"error":null==n||n(Error(e.errorText));break;default:if(e.type.startsWith("data-")){if((null==r?void 0:r[e.type])!=null){let t=a.message.parts.findIndex(t=>"id"in t&&"data"in t&&t.id===e.id&&t.type===e.type),n=t>=0?t:a.message.parts.length;await rt({value:e.data,schema:r[e.type],context:{field:`message.parts[${n}].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),l()}}s.enqueue(e)})}}))}({stream:o,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:s,onError:e=>{throw e}}),abortSignal:i.abortController.signal,onError:e=>{throw e}}),g)return p()&&this.setStatus({status:"ready"}),null;p()&&this.setStatus({status:"ready"})}catch(e){if(g||"AbortError"===e.name)return g=!0,p()&&this.setStatus({status:"ready"}),null;if(!p())return null;y=!0,e instanceof TypeError&&(e.message.toLowerCase().includes("fetch")||e.message.toLowerCase().includes("network"))&&(f=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e})}finally{try{u&&(null==(i=this.onFinish)||i.call(this,{message:u.state.message,messages:this.state.messages,isAbort:g,isDisconnect:f,isError:y,finishReason:u.state.finishReason}))}finally{this.activeResponse===u&&(this.activeResponse=void 0),h()}}!y&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(s=this.lastMessage)?void 0:s.id,metadata:t,headers:r,body:a})}},sd=e.i(271645);e.i(560491);var sp=e.i(561866);e.i(843476);var sh=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},sm=(e,t,r)=>(sh(e,t,"read from private field"),r?r.call(e):t.get(e)),sg=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},sf=(e,t,r,a)=>(sh(e,t,"write to private field"),a?a.call(e,r):t.set(e,r),r),sy=class{constructor(e=[]){sg(this,eg,void 0),sg(this,ef,"ready"),sg(this,ey,void 0),sg(this,ev,new Set),sg(this,eb,new Set),sg(this,ew,new Set),this.pushMessage=e=>{sf(this,eg,sm(this,eg).concat(e)),sm(this,e_).call(this)},this.popMessage=()=>{sf(this,eg,sm(this,eg).slice(0,-1)),sm(this,e_).call(this)},this.replaceMessage=(e,t)=>{sf(this,eg,[...sm(this,eg).slice(0,e),this.snapshot(t),...sm(this,eg).slice(e+1)]),sm(this,e_).call(this)},this.snapshot=e=>{var t;if(null==e||"object"!=typeof e||!("parts"in e)||!Array.isArray(e.parts))return e;let r={...e,parts:e.parts.map(e=>({...e}))};return"metadata"in e&&(r.metadata=Array.isArray(t=e.metadata)?[...t]:null!=t&&"object"==typeof t&&(Object.getPrototypeOf(t)===Object.prototype||null===Object.getPrototypeOf(t))?{...t}:t),r},this["~registerMessagesCallback"]=(e,t)=>{let r=t?null!=t?(0,sp.default)(e,t):e:e;return sm(this,ev).add(r),()=>{sm(this,ev).delete(r)}},this["~registerStatusCallback"]=e=>(sm(this,eb).add(e),()=>{sm(this,eb).delete(e)}),this["~registerErrorCallback"]=e=>(sm(this,ew).add(e),()=>{sm(this,ew).delete(e)}),sg(this,e_,()=>{sm(this,ev).forEach(e=>e())}),sg(this,eI,()=>{sm(this,eb).forEach(e=>e())}),sg(this,ek,()=>{sm(this,ew).forEach(e=>e())}),sf(this,eg,e)}get status(){return sm(this,ef)}set status(e){sf(this,ef,e),sm(this,eI).call(this)}get error(){return sm(this,ey)}set error(e){sf(this,ey,e),sm(this,ek).call(this)}get messages(){return sm(this,eg)}set messages(e){sf(this,eg,[...e]),sm(this,e_).call(this)}};eg=new WeakMap,ef=new WeakMap,ey=new WeakMap,ev=new WeakMap,eb=new WeakMap,ew=new WeakMap,e_=new WeakMap,eI=new WeakMap,ek=new WeakMap;var sv=class extends sc{constructor({messages:e,...t}){const r=new sy(e);super({...t,state:r}),sg(this,ex,void 0),this["~registerMessagesCallback"]=(e,t)=>sm(this,ex)["~registerMessagesCallback"](e,t),this["~registerStatusCallback"]=e=>sm(this,ex)["~registerStatusCallback"](e),this["~registerErrorCallback"]=e=>sm(this,ex)["~registerErrorCallback"](e),sf(this,ex,r)}};ex=new WeakMap,"u"<typeof window?sd.useEffect:sd.useLayoutEffect,e.s(["useChat",0,function({throttle:e,experimental_throttle:t,resume:r=!1,...a}={}){let n,o=null!=e?e:t,i=(0,sd.useRef)({});"chat"in a||(i.current={onToolCall:a.onToolCall,onData:a.onData,onFinish:a.onFinish,onError:a.onError,sendAutomaticallyWhen:a.sendAutomaticallyWhen,transport:a.transport});let s=()=>{var e;return null!=(e=i.current.transport)?e:null!=n?n:n=new su},l={...a,transport:{sendMessages:e=>s().sendMessages(e),reconnectToStream:e=>s().reconnectToStream(e)},onToolCall:e=>{var t,r;return null==(r=(t=i.current).onToolCall)?void 0:r.call(t,e)},onData:e=>{var t,r;return null==(r=(t=i.current).onData)?void 0:r.call(t,e)},onFinish:e=>{var t,r;return null==(r=(t=i.current).onFinish)?void 0:r.call(t,e)},onError:e=>{var t,r;return null==(r=(t=i.current).onError)?void 0:r.call(t,e)},sendAutomaticallyWhen:e=>{var t,r,a;return null!=(a=null==(r=(t=i.current).sendAutomaticallyWhen)?void 0:r.call(t,e))&&a}},u="chat"in a?a.chat:a.id,{chat:c,isExternallyManaged:d}=(0,sd.useMemo)(()=>({chat:"chat"in a?a.chat:new sv(l),isExternallyManaged:"chat"in a}),[u]);(0,sd.useEffect)(()=>{if(!d)return()=>{c.stop()}},[c,d]);let p=(0,sd.useMemo)(()=>({messages:c.messages}),[c]),h=(0,sd.useCallback)(e=>{let t=!0,r=c["~registerMessagesCallback"](()=>{t&&(p.messages=c.messages,e())},o);return p.messages=c.messages,()=>{t=!1,r()}},[c,p,o]),m=(0,sd.useCallback)(()=>p.messages,[p]),g=(0,sd.useSyncExternalStore)(h,m,m),f=(0,sd.useCallback)(e=>c["~registerStatusCallback"](()=>{("ready"===c.status||"error"===c.status)&&(p.messages=c.messages),e()}),[c,p]),y=(0,sd.useCallback)(()=>c.status,[c]),v=(0,sd.useSyncExternalStore)(f,y,y),b=(0,sd.useSyncExternalStore)(c["~registerErrorCallback"],()=>c.error,()=>c.error),w=(0,sd.useCallback)(e=>{"function"==typeof e&&(e=e(c.messages)),c.messages=e},[c]);return(0,sd.useEffect)(()=>{r&&c.resumeStream()},[r,c]),{id:c.id,messages:g,setMessages:w,sendMessage:c.sendMessage,regenerate:c.regenerate,clearError:c.clearError,stop:c.stop,error:b,resumeStream:c.resumeStream,status:v,addToolResult:c.addToolOutput,addToolOutput:c.addToolOutput,addToolApprovalResponse:c.addToolApprovalResponse}}],670097);let sb="vercel.ai.error",sw=Symbol.for(sb);var s_=class e extends Error{constructor({name:e,message:t,cause:r}){super(t),this[sw]=!0,this.name=e,this.cause=r}static isInstance(t){return e.hasMarker(t,sb)}static hasMarker(e,t){let r=Symbol.for(t);return null!=e&&"object"==typeof e&&r in e&&"boolean"==typeof e[r]&&!0===e[r]}};let sI="AI_APICallError",sk=`vercel.ai.error.${sI}`,sx=Symbol.for(sk);var sS=class extends s_{constructor({message:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n,responseBody:o,cause:i,isRetryable:s=null!=a&&(408===a||409===a||429===a||a>=500),data:l}){super({name:sI,message:e,cause:i}),this[sx]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=a,this.responseHeaders=n,this.responseBody=o,this.isRetryable=s,this.data=l}static isInstance(e){return s_.hasMarker(e,sk)}};let sE="AI_EmptyResponseBodyError",sM=`vercel.ai.error.${sE}`,sj=Symbol.for(sM);var sA=class extends s_{constructor({message:e="Empty response body"}={}){super({name:sE,message:e}),this[sj]=!0}static isInstance(e){return s_.hasMarker(e,sM)}};function sT(e){return null==e?"unknown error":"string"==typeof e?e:e instanceof Error?e.toString():JSON.stringify(e)}Symbol.for("vercel.ai.error.AI_EvaluationUnsupportedQuestionTypeError");let sR="AI_InvalidArgumentError",sO=`vercel.ai.error.${sR}`,sC=Symbol.for(sO);var sP=class extends s_{constructor({message:e,cause:t,argument:r}){super({name:sR,message:e,cause:t}),this[sC]=!0,this.argument=r}static isInstance(e){return s_.hasMarker(e,sO)}};Symbol.for("vercel.ai.error.AI_InvalidPromptError"),Symbol.for("vercel.ai.error.AI_InvalidResponseDataError");let s$="AI_JSONParseError",sN=`vercel.ai.error.${s$}`,sU=Symbol.for(sN);var sL=class extends s_{constructor({text:e,cause:t}){super({name:s$,message:`JSON parsing failed: Text: ${e}.
44
+ Error message: ${sT(t)}`,cause:t}),this[sU]=!0,this.text=e}static isInstance(e){return s_.hasMarker(e,sN)}};Symbol.for("vercel.ai.error.AI_LoadAPIKeyError"),Symbol.for("vercel.ai.error.AI_LoadSettingError"),Symbol.for("vercel.ai.error.AI_NoContentGeneratedError"),Symbol.for("vercel.ai.error.AI_NoSuchModelError"),Symbol.for("vercel.ai.error.AI_NoSuchProviderReferenceError"),Symbol.for("vercel.ai.error.AI_TooManyEmbeddingValuesForCallError");let sD="AI_TypeValidationError",sF=`vercel.ai.error.${sD}`,sq=Symbol.for(sF);var sH=class e extends s_{constructor({value:e,cause:t,context:r}){let a="Type validation failed";if(r?.field&&(a+=` for ${r.field}`),r?.entityName||r?.entityId){a+=" (";const e=[];r.entityName&&e.push(r.entityName),r.entityId&&e.push(`id: "${r.entityId}"`),a+=e.join(", "),a+=")"}super({name:sD,message:`${a}: Value: ${JSON.stringify(e)}.
45
+ Error message: ${sT(t)}`,cause:t}),this[sq]=!0,this.value=e,this.context=r}static isInstance(e){return s_.hasMarker(e,sF)}static wrap({value:t,cause:r,context:a}){return e.isInstance(r)&&r.value===t&&r.context?.field===a?.field&&r.context?.entityName===a?.entityName&&r.context?.entityId===a?.entityId?r:new e({value:t,cause:r,context:a})}};let sZ="AI_UnsupportedFunctionalityError",sB=`vercel.ai.error.${sZ}`,sV=Symbol.for(sB);var sz=class extends s_{constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:sZ,message:t}),this[sV]=!0,this.functionality=e}static isInstance(e){return s_.hasMarker(e,sB)}};function sG(...e){return e.reduce((e,t)=>({...e,...t}),{})}async function sW(e,t){if(null==e)return;let r=t?.abortSignal;return new Promise((t,a)=>{if(r?.aborted)return void a(sY());let n=setTimeout(()=>{o(),t()},e),o=()=>{clearTimeout(n),r?.removeEventListener("abort",i)},i=()=>{o(),a(sY())};r?.addEventListener("abort",i)})}function sY(){return new DOMException("Delay was aborted","AbortError")}let sJ=new TextDecoder;async function sK(e){return"string"==typeof e?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?sJ.decode(e):"u">typeof Blob&&e instanceof Blob?e.text():String(e)}async function sQ(e,{highWaterMark:t=1048576,pollIntervalMs:r=20,abortSignal:a}={}){for(;1===e.readyState&&(e.bufferedAmount??0)>t;){if(a?.aborted===!0)return;await sW(r)}}let{btoa:sX,atob:s0}=globalThis;function s1(e){let t=[];for(let r=0;r<e.length;r+=4096)t.push(String.fromCodePoint(...e.subarray(r,r+4096)));return sX(t.join(""))}function s4(e){return Object.fromEntries([...e.headers])}function s2(e=globalThis){return e.navigator?.userAgent?e.navigator.userAgent.toLowerCase():e.process?.versions?.node?`node.js/${e.process.version}`:e.EdgeRuntime?"vercel-edge":""}function s5(e){return(e instanceof Error||"function"==typeof DOMException&&e instanceof DOMException)&&("AbortError"===e.name||"ResponseAborted"===e.name||"TimeoutError"===e.name)}Symbol.for("vercel.ai.providerStreamError");let s9=["fetch failed","failed to fetch"],s6=new Set(["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE","UND_ERR_SOCKET","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"]);function s3({error:e,url:t,requestBodyValues:r}){if(s5(e))return e;if(e instanceof TypeError&&s9.includes(e.message.toLowerCase())){let a=e.cause;if(null!=a)return new sS({message:`Cannot connect to API: ${a.message}`,cause:a,url:t,requestBodyValues:r,isRetryable:!0})}let a=function(e){let t=new Set,r=e;for(;r instanceof Error&&!t.has(r);){t.add(r);let e=r;if("string"==typeof e.code&&s6.has(e.code))return e;r=r.cause}}(e);return null!=a?new sS(sS.isInstance(e)?{message:e.message,cause:e.cause,url:e.url,requestBodyValues:e.requestBodyValues,statusCode:e.statusCode,responseHeaders:e.responseHeaders,responseBody:e.responseBody,data:e.data,isRetryable:!0}:{message:`Cannot connect to API: ${e instanceof Error?e.message:a.message}`,cause:e,url:t,requestBodyValues:r,isRetryable:!0}):e}let s8="5.0.52";function s7(e){if(null==e)return{};let t={};if(e instanceof Headers)e.forEach((e,r)=>{t[r.toLowerCase()]=e});else for(let[r,a]of(Array.isArray(e)||(e=Object.entries(e)),e))null!=a&&(t[r.toLowerCase()]=a);return t}function le(e,...t){let r=new Headers(s7(e)),a=r.get("user-agent")||"";return r.set("user-agent",[a,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}async function lt(e){try{await e.body?.cancel()}catch{}}let lr="AI_DownloadError",la=`vercel.ai.error.${lr}`,ln=Symbol.for(la);var lo=class extends s_{constructor({url:e,statusCode:t,statusText:r,cause:a,message:n=null==a?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${a}`}){super({name:lr,message:n,cause:a}),this[ln]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return s_.hasMarker(e,la)}};function li(e,t){try{return new URL(e).origin===new URL(t).origin}catch{return!1}}function ls(e){let t=e.split(".");return 4===t.length&&t.every(e=>{let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255&&String(t)===e})}function ll(e){let[t,r,a]=e.split(".").map(Number);return 0===t||10===t||100===t&&r>=64&&r<=127||127===t||169===t&&254===r||172===t&&r>=16&&r<=31||192===t&&0===r&&0===a||192===t&&0===r&&2===a||192===t&&168===r||198===t&&(18===r||19===r)||198===t&&51===r&&100===a||203===t&&0===r&&113===a||t>=224||!1}function lu(e){let t=function(e){let t=e.toLowerCase(),r=t.indexOf("%");-1!==r&&(t=t.slice(0,r));let a=t.split("::");if(a.length>2)return null;let n=e=>{if(""===e)return[];let t=[],r=e.split(":");for(let e=0;e<r.length;e++){let a=r[e];if(a.includes(".")){if(e!==r.length-1||!ls(a))return null;let[n,o,i,s]=a.split(".").map(Number);t.push(n<<8|o,i<<8|s);continue}if(!/^[0-9a-f]{1,4}$/.test(a))return null;t.push(parseInt(a,16))}return t},o=n(a[0]);if(null===o)return null;if(2===a.length){let e=n(a[1]);if(null===e)return null;let t=8-o.length-e.length;return t<0?null:[...o,...Array(t).fill(0),...e]}return 8===o.length?o:null}(e);if(null===t)return!0;let r=e=>t.slice(0,e).every(e=>0===e);return!!r(7)&&(0===t[7]||1===t[7])||(65024&t[0])==64512||(65472&t[0])==65152||(65472&t[0])==65216||(65280&t[0])==65280||8193===t[0]&&3512===t[1]||16383===t[0]&&(61440&t[1])==0||(!!(r(6)||r(5)&&65535===t[5]||r(4)&&65535===t[4]&&0===t[5])||100===t[0]&&65435===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&1===t[2])&&ll(`${t[6]>>8&255}.${255&t[6]}.${t[7]>>8&255}.${255&t[7]}`)}async function lc(){let e;return(e=globalThis.process,e?.release?.name!=="node"||e.versions?.bun!=null||e.versions?.deno!=null||"workerd"===e.title||null!=globalThis.EdgeRuntime)?globalThis.fetch:t??=Promise.resolve().then(ld)}function ld(){let e=lp("node:module"),{lookup:t}=lp("node:dns"),{Agent:r,fetch:a}=e.createRequire(function e(){let t=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let t=Error("Capture current module path");Error.captureStackTrace(t,e);let[r]=t.stack,a=r?.getFileName();if(null==a)throw Error("Unable to determine the current module path");return a}finally{Error.prepareStackTrace=t}}())("undici"),n=new r({connect:{lookup:(e,r,a)=>{t(e,{...r,all:!0},(t,n)=>{if(t)return void a(t);try{let[t]=n;if(null==t)throw Error(`Hostname ${e} did not resolve to an address`);for(let{address:t,family:r}of n)!function({address:e,family:t,hostname:r}){if(4===t?!ls(e)||ll(e):6!==t||lu(e))throw new lo({url:r,message:`Hostname ${r} resolved to disallowed IP address ${e}`})}({address:t,family:r,hostname:e});!0===r.all?a(null,n):a(null,t.address,t.family)}catch(e){a(e instanceof Error?e:Error(String(e)))}})}}});return(e,t)=>a(e,{...t,dispatcher:n})}function lp(e){let t=globalThis.process?.getBuiltinModule?.(e);if(null==t)throw Error(`Node.js built-in module ${e} is unavailable`);return t}let lh=["connection","keep-alive","te","trailer","transfer-encoding","upgrade","host","forwarded","proxy-authorization","via","x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-real-ip","metadata","metadata-flavor","x-aws-ec2-metadata-token","x-metadata-token","cookie","set-cookie"];function lm(e){let t=new Headers(e);for(let e of lh)t.delete(e);return t}let lg=new Set([301,302,303,307,308]);async function lf(e){return null==e||e===globalThis.fetch?await lc():e}async function ly({url:e,headers:t,abortSignal:r,maxRedirects:a=10,fetch:n,trustedOrigin:o}){let i=void 0===t?void 0:lm(t),s=e=>{let t={signal:r,redirect:e};return void 0!==i&&(t.headers=new Headers(i)),t},l=e;for(let t=0;t<=a;t++){let t=void 0!==o&&li(l,o);t||function(e){let t;try{t=new URL(e)}catch{throw new lo({url:e,message:`Invalid URL: ${e}`})}if("data:"===t.protocol)return;if("http:"!==t.protocol&&"https:"!==t.protocol)throw new lo({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let r=t.hostname.toLowerCase().replace(/\.+$/,"");if(!r)throw new lo({url:e,message:"URL must have a hostname"});if("localhost"===r||r.endsWith(".local")||r.endsWith(".localhost"))throw new lo({url:e,message:`URL with hostname ${r} is not allowed`});if(r.startsWith("[")&&r.endsWith("]")){if(lu(r.slice(1,-1)))throw new lo({url:e,message:`URL with IPv6 address ${r} is not allowed`});return}if(ls(r)&&ll(r))throw new lo({url:e,message:`URL with IP address ${r} is not allowed`})}(l);let r=t&&null!=n?n:t?globalThis.fetch:await lf(n),a=await r(l,s("manual"));if("opaqueredirect"===a.type){if(!function(e=globalThis){return null!=e.window}())throw new lo({url:e,message:`Redirect from ${l} could not be validated and was blocked`});return await r(l,s("follow"))}let u=a.headers?.get("location");if(lg.has(a.status)&&u){lt(a);let e=new URL(u,l).toString();if(void 0!==i&&!li(e,l)){let e=i.get("user-agent");i=new Headers(null==e?void 0:{"user-agent":e})}l=e;continue}return a}throw new lo({url:e,message:`Too many redirects (max ${a})`})}let lv=new Set(["accept","accept-language","baggage","cache-control","idempotency-key","if-match","if-modified-since","if-none-match","if-range","if-unmodified-since","pragma","range","traceparent","tracestate","user-agent","x-correlation-id","x-request-id"]);async function lb({headers:e,credentialedOrigin:t,untrustedFirstHopHeaders:r,...a}){let n;if(void 0!==e){n=lm(e);let o=t??a.trustedOrigin;if(void 0===o||!li(a.url,o)){let e=new Set([...lv,...(r??[]).map(e=>e.toLowerCase())]);n=new Headers([...n].filter(([t])=>e.has(t)))}}return ly({...a,headers:n})}async function lw({response:e,url:t,maxBytes:r=0x80000000}){let a=e.headers.get("content-length");if(null!=a){let n=parseInt(a,10);if(!isNaN(n)&&n>r)throw await lt(e),new lo({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes (Content-Length: ${n}).`})}let n=e.body;if(null==n)return new Uint8Array(0);let o=n.getReader(),i=[],s=0;try{for(;;){let{done:e,value:a}=await o.read();if(e)break;if((s+=a.length)>r)throw new lo({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes.`});i.push(a)}}finally{try{await o.cancel()}catch{}finally{o.releaseLock()}}let l=new Uint8Array(s),u=0;for(let e of i)l.set(e,u),u+=e.length;return l}Symbol.for("vercel.ai.embeddingModel.maxInputBytesPerCall"),Symbol.for("vercel.ai.embeddingModel.providerOptionsTransformer");let l_=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{let n=()=>{let e=r.length,a=Array(t);for(let n=0;n<t;n++)a[n]=r[Math.random()*e|0];return a.join("")};if(null==e)return n;if(r.includes(a))throw new sP({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${n()}`};l_();let lI=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:a,abortSignal:n,fetch:o,validateUrl:i,credentialedOrigin:s,trustedOrigin:l})=>{try{let u=o??globalThis.fetch,c=le(void 0===s||li(e,s)?t:{},`ai-sdk-provider-utils/${s8}`,s2()),d=i?await ly({url:e,headers:c,abortSignal:n,fetch:o,trustedOrigin:l}):await u(e,{method:"GET",headers:c,signal:n}),p=s4(d);if(!d.ok){let t;try{t=await a({response:d,url:e,requestBodyValues:{}})}catch(t){if(s5(t)||sS.isInstance(t))throw t;throw new sS({message:"Failed to process error response",cause:t,statusCode:d.status,url:e,responseHeaders:p,requestBodyValues:{}})}throw t.value}try{return await r({response:d,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&(s5(t)||sS.isInstance(t)))throw t;throw new sS({message:"Failed to process successful response",cause:t,statusCode:d.status,url:e,responseHeaders:p,requestBodyValues:{}})}}catch(t){throw s3({error:t,url:e,requestBodyValues:{}})}};function lk(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)}function lx({settingValue:e,environmentVariableName:t}){return"string"==typeof e?e:null!=e||void 0===eS.default?void 0:null!=(e=eS.default.env[t])&&"string"==typeof e?e:void 0}function lS(e){return null!=e&&Number.isSafeInteger(e)&&e>=0}let lE=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,lM=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function lj(e){let t=JSON.parse(e);return null===t||"object"!=typeof t||!1===lE.test(e)&&!1===lM.test(e)?t:function(e){let t=[e];for(;t.length;){let e=t;for(let r of(t=[],e)){if(Object.prototype.hasOwnProperty.call(r,"__proto__")||Object.prototype.hasOwnProperty.call(r,"constructor")&&null!==r.constructor&&"object"==typeof r.constructor&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let e in r){let a=r[e];a&&"object"==typeof a&&t.push(a)}}}return e}(t)}function lA(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return lj(e)}try{return lj(e)}finally{Error.stackTraceLimit=t}}function lT(e){if("object"===e.type||Array.isArray(e.type)&&e.type.includes("object")){let{additionalProperties:t}=e;e.additionalProperties=null!=t&&"boolean"!=typeof t&&lR(t);let{properties:r}=e;if(null!=r)for(let e of Object.keys(r))r[e]=lR(r[e])}null!=e.items&&(e.items=Array.isArray(e.items)?e.items.map(lR):lR(e.items)),null!=e.anyOf&&(e.anyOf=e.anyOf.map(lR)),null!=e.allOf&&(e.allOf=e.allOf.map(lR)),null!=e.oneOf&&(e.oneOf=e.oneOf.map(lR));let{definitions:t}=e;if(null!=t)for(let e of Object.keys(t))t[e]=lR(t[e]);return e}function lR(e){return"boolean"==typeof e?e:lT(e)}let lO=Symbol("Let zodToJsonSchema decide on which parser to use"),lC={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};function lP(e,t){return l0(e.type._def,t)}let l$=/^[cC][^\s-]{8,}$/,lN=/^[0-9a-z]+$/,lU=/^[0-9A-HJKMNP-TV-Z]{26}$/,lL=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9-]*\.)+[a-zA-Z]{2,}$/,lD=()=>(void 0===r&&(r=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),r),lF=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,lq=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,lH=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,lZ=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,lB=/^[a-zA-Z0-9_-]{21}$/,lV=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function lz(e,t){let r={type:"string"};if(e.checks)for(let a of e.checks)switch(a.kind){case"min":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value;break;case"max":r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"email":switch(t.emailStrategy){case"format:email":lY(r,"email",a.message,t);break;case"format:idn-email":lY(r,"idn-email",a.message,t);break;case"pattern:zod":lJ(r,lL,a.message,t)}break;case"url":lY(r,"uri",a.message,t);break;case"uuid":lY(r,"uuid",a.message,t);break;case"regex":lJ(r,a.regex,a.message,t);break;case"cuid":lJ(r,l$,a.message,t);break;case"cuid2":lJ(r,lN,a.message,t);break;case"startsWith":lJ(r,RegExp(`^${lG(a.value,t)}`),a.message,t);break;case"endsWith":lJ(r,RegExp(`${lG(a.value,t)}$`),a.message,t);break;case"datetime":lY(r,"date-time",a.message,t);break;case"date":lY(r,"date",a.message,t);break;case"time":lY(r,"time",a.message,t);break;case"duration":lY(r,"duration",a.message,t);break;case"length":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value,r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"includes":lJ(r,RegExp(lG(a.value,t)),a.message,t);break;case"ip":"v6"!==a.version&&lY(r,"ipv4",a.message,t),"v4"!==a.version&&lY(r,"ipv6",a.message,t);break;case"base64url":lJ(r,lZ,a.message,t);break;case"jwt":lJ(r,lV,a.message,t);break;case"cidr":"v6"!==a.version&&lJ(r,lF,a.message,t),"v4"!==a.version&&lJ(r,lq,a.message,t);break;case"emoji":lJ(r,lD(),a.message,t);break;case"ulid":lJ(r,lU,a.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":lY(r,"binary",a.message,t);break;case"contentEncoding:base64":r.contentEncoding="base64";break;case"pattern:zod":lJ(r,lH,a.message,t)}break;case"nanoid":lJ(r,lB,a.message,t)}return r}function lG(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let r=0;r<e.length;r++)lW.has(e[r])||(t+="\\"),t+=e[r];return t}(e):e}let lW=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function lY(e,t,r,a){e.format||e.anyOf?.some(e=>e.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&a.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function lJ(e,t,r,a){e.pattern||e.allOf?.some(e=>e.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:lK(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=lK(t,a)}function lK(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},a=r.i?e.source.toLowerCase():e.source,n="",o=!1,i=!1,s=!1;for(let e=0;e<a.length;e++){if(o){n+=a[e],o=!1;continue}if(r.i){if(i){if(a[e].match(/[a-z]/)){s?(n+=a[e],n+=`${a[e-2]}-${a[e]}`.toUpperCase(),s=!1):"-"===a[e+1]&&a[e+2]?.match(/[a-z]/)?(n+=a[e],s=!0):n+=`${a[e]}${a[e].toUpperCase()}`;continue}}else if(a[e].match(/[a-z]/)){n+=`[${a[e]}${a[e].toUpperCase()}]`;continue}}if(r.m){if("^"===a[e]){n+=`(^|(?<=[\r
46
+ ]))`;continue}else if("$"===a[e]){n+=`($|(?=[\r
47
+ ]))`;continue}}if(r.s&&"."===a[e]){n+=i?`${a[e]}\r
48
+ `:`[${a[e]}\r
49
+ ]`;continue}n+=a[e],"\\"===a[e]?o=!0:i&&"]"===a[e]?i=!1:i||"["!==a[e]||(i=!0)}try{new RegExp(n)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return n}function lQ(e,t){let r={type:"object",additionalProperties:l0(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(e.keyType?._def.typeName==="ZodString"&&e.keyType._def.checks?.length){let{type:a,...n}=lz(e.keyType._def,t);return{...r,propertyNames:n}}if(e.keyType?._def.typeName==="ZodEnum")return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName==="ZodBranded"&&"ZodString"===e.keyType._def.type._def.typeName&&e.keyType._def.type._def.checks?.length){let{type:a,...n}=lP(e.keyType._def,t);return{...r,propertyNames:n}}return r}let lX={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function l0(e,t,r=!1){let a=t.seen.get(e);if(t.override){let n=t.override?.(e,t,a,r);if(n!==lO)return n}if(a&&!r){let e=l1(a,t);if(void 0!==e)return e}let n={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,n);let o=((e,t,r)=>{switch(t){case"ZodString":return lz(e,r);case"ZodNumber":let a={type:"number"};if(!e.checks)return a;for(let t of e.checks)switch(t.kind){case"int":a.type="integer";break;case"min":t.inclusive?a.minimum=t.value:a.exclusiveMinimum=t.value;break;case"max":t.inclusive?a.maximum=t.value:a.exclusiveMaximum=t.value;break;case"multipleOf":a.multipleOf=t.value}return a;case"ZodObject":return function(e,t){let r={type:"object",properties:{}},a=[],n=e.shape();for(let e in n){let o=n[e];if(void 0===o||void 0===o._def)continue;let i=function(e){try{return e.isOptional()}catch{return!0}}(o),s=l0(o._def,{...t,currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]});void 0!==s&&(r.properties[e]=s,i||a.push(e))}a.length&&(r.required=a);let o=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return l0(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==o&&(r.additionalProperties=o),r}(e,r);case"ZodBigInt":let n={type:"integer",format:"int64"};if(!e.checks)return n;for(let t of e.checks)switch(t.kind){case"min":t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value;break;case"max":t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value;break;case"multipleOf":n.multipleOf=t.value}return n;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function e(t,r,a){let n=a??r.dateStrategy;if(Array.isArray(n))return{anyOf:n.map(a=>e(t,r,a))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var o=t;let i={type:"integer",format:"unix-time"};for(let e of o.checks)switch(e.kind){case"min":i.minimum=e.value;break;case"max":i.maximum=e.value}return i}}(e,r);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let o;return o={type:"array"},e.type?._def&&e.type?._def?.typeName!=="ZodAny"&&(o.items=l0(e.type._def,{...r,currentPath:[...r.currentPath,"items"]})),e.minLength&&(o.minItems=e.minLength.value),e.maxLength&&(o.maxItems=e.maxLength.value),e.exactLength&&(o.minItems=e.exactLength.value,o.maxItems=e.exactLength.value),o;case"ZodUnion":case"ZodDiscriminatedUnion":var i,s;let l,u=e.options instanceof Map?Array.from(e.options.values()):e.options;if(u.every(e=>e._def.typeName in lX&&(!e._def.checks||!e._def.checks.length))){let e=u.reduce((e,t)=>{let r=lX[t._def.typeName];return r&&!e.includes(r)?[...e,r]:e},[]);return{type:e.length>1?e:e[0]}}if(u.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){let e=u.reduce((e,t)=>{let r=typeof t._def.value;switch(r){case"string":case"number":case"boolean":return[...e,r];case"bigint":return[...e,"integer"];case"object":if(null===t._def.value)return[...e,"null"];default:return e}},[]);if(e.length===u.length){let t=e.filter((e,t,r)=>r.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:u.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(u.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:u.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return i=e,s=r,(l=(i.options instanceof Map?Array.from(i.options.values()):i.options).map((e,t)=>l0(e._def,{...s,currentPath:[...s.currentPath,"anyOf",`${t}`]})).filter(e=>!!e&&(!s.strictUnions||"object"==typeof e&&Object.keys(e).length>0))).length?{anyOf:l}:void 0;case"ZodIntersection":let c,d;return c=[l0(e.left._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),l0(e.right._def,{...r,currentPath:[...r.currentPath,"allOf","1"]})].filter(e=>!!e),d=[],c.forEach(e=>{if((!("type"in e)||"string"!==e.type)&&"allOf"in e)d.push(...e.allOf);else{let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){let{additionalProperties:r,...a}=e;t=a}d.push(t)}}),d.length?{allOf:d}:void 0;case"ZodTuple":return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,t)=>l0(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:l0(e.rest._def,{...r,currentPath:[...r.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,t)=>l0(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[])};case"ZodRecord":return lQ(e,r);case"ZodLiteral":let p;return"bigint"!=(p=typeof e.value)&&"number"!==p&&"boolean"!==p&&"string"!==p?{type:Array.isArray(e.value)?"array":"object"}:{type:"bigint"===p?"integer":p,const:e.value};case"ZodEnum":return{type:"string",enum:Array.from(e.values)};case"ZodNativeEnum":let h,m,g;return h=e.values,{type:1===(g=Array.from(new Set((m=Object.keys(e.values).filter(e=>"number"!=typeof h[h[e]]).map(e=>h[e])).map(e=>typeof e)))).length?"string"===g[0]?"string":"number":["string","number"],enum:m};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[lX[e.innerType._def.typeName],"null"]};let f=l0(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","0"]});return f&&{anyOf:[f,{type:"null"}]};case"ZodOptional":if(r.currentPath.toString()===r.propertyPath?.toString())return l0(e.innerType._def,r);let y=l0(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","1"]});return y?{anyOf:[{not:{}},y]}:{};case"ZodMap":return"record"===r.mapStrategy?lQ(e,r):{type:"array",maxItems:125,items:{type:"array",items:[l0(e.keyType._def,{...r,currentPath:[...r.currentPath,"items","items","0"]})||{},l0(e.valueType._def,{...r,currentPath:[...r.currentPath,"items","items","1"]})||{}],minItems:2,maxItems:2}};case"ZodSet":let v;return v={type:"array",uniqueItems:!0,items:l0(e.valueType._def,{...r,currentPath:[...r.currentPath,"items"]})},e.minSize&&(v.minItems=e.minSize.value),e.maxSize&&(v.maxItems=e.maxSize.value),v;case"ZodLazy":return()=>e.getter()._def;case"ZodPromise":return l0(e.type._def,r);case"ZodEffects":return"input"===r.effectStrategy?l0(e.schema._def,r):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return{...l0(e.innerType._def,r),default:e.defaultValue()};case"ZodBranded":return lP(e,r);case"ZodReadonly":case"ZodCatch":return l0(e.innerType._def,r);case"ZodPipeline":if("input"===r.pipeStrategy)return l0(e.in._def,r);if("output"===r.pipeStrategy)return l0(e.out._def,r);let b=l0(e.in._def,{...r,currentPath:[...r.currentPath,"allOf","0"]});return{allOf:[b,l0(e.out._def,{...r,currentPath:[...r.currentPath,"allOf",b?"1":"0"]})].filter(e=>void 0!==e)};default:return}})(e,e.typeName,t),i="function"==typeof o?l0(o(),t):o;if(i&&l4(e,t,i),t.postProcess){let r=t.postProcess(i,e,t);return n.jsonSchema=i,r}return n.jsonSchema=i,i}let l1=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:((e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")})(t.currentPath,e.path)};case"none":case"seen":if(e.path.length<t.currentPath.length&&e.path.every((e,r)=>t.currentPath[r]===e))return console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{};return"seen"===t.$refStrategy?{}:void 0}},l4=(e,t,r)=>(e.description&&(r.description=e.description),r),l2=Symbol.for("vercel.ai.schema");function l5(e){let t;return()=>(null==t&&(t=e()),t)}function l9(e,{validate:t}={}){return{[l2]:!0,_type:void 0,get jsonSchema(){return"function"==typeof e&&(e=e()),e},validate:t}}function l6(e,t){let r;if("_zod"in e){let r;return r=t?.useReferences??!1,l9(()=>lT((0,e7.toJSONSchema)(e,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:async t=>{let r=await (0,e8.safeParseAsync)(e,t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}return r=t?.useReferences??!1,l9(()=>((e,t)=>{let r,a,n=(a=void 0!==(r="string"==typeof t?{...lC,name:t}:{...lC,...t}).name?[...r.basePath,r.definitionPath,r.name]:r.basePath,{...r,currentPath:a,propertyPath:void 0,seen:new Map(Object.entries(r.definitions).map(([e,t])=>[t._def,{def:t._def,path:[...r.basePath,r.definitionPath,e],jsonSchema:void 0}]))}),o="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>({...e,[t]:l0(r._def,{...n,currentPath:[...n.basePath,n.definitionPath,t]},!0)??{}}),{}):void 0,i="string"==typeof t?t:t?.nameStrategy==="title"?void 0:t?.name,s=l0(e._def,void 0===i?n:{...n,currentPath:[...n.basePath,n.definitionPath,i]},!1)??{},l="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==l&&(s.title=l);let u=void 0===i?o?{...s,[n.definitionPath]:o}:s:{$ref:[..."relative"===n.$refStrategy?[]:n.basePath,n.definitionPath,i].join("/"),[n.definitionPath]:{...o,[i]:s}};return u.$schema="http://json-schema.org/draft-07/schema#",u})(e,{$refStrategy:r?"root":"none"}),{validate:async t=>{let r=await e.safeParseAsync(t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}async function l3({value:e,schema:t,context:r}){let a=await l8({value:e,schema:t,context:r});if(!a.success)throw sH.wrap({value:e,cause:a.error,context:r});return a.value}async function l8({value:e,schema:t,context:r}){let a=function(e){var t;return null==e?l9({type:"object",properties:{},additionalProperties:!1}):"object"==typeof e&&null!==e&&l2 in e&&!0===e[l2]&&"jsonSchema"in e&&"validate"in e?e:"~standard"in e?"zod"===e["~standard"].vendor?l6(e):(t=e,l9(()=>{if(null==t["~standard"].jsonSchema)throw Error(`Standard schema vendor '${t["~standard"].vendor}' does not support JSON Schema conversion.`);return lT(t["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{let r=await t["~standard"].validate(e);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new sH({value:e,cause:r.issues})}}})):e()}(t);try{if(null==a.validate)return{success:!0,value:e,rawValue:e};let t=await a.validate(e);if(t.success)return{success:!0,value:t.value,rawValue:e};return{success:!1,error:sH.wrap({value:e,cause:t.error,context:r}),rawValue:e}}catch(t){return{success:!1,error:sH.wrap({value:e,cause:t,context:r}),rawValue:e}}}async function l7({text:e,schema:t}){try{let r=lA(e);if(null==t)return r;return await l3({value:r,schema:t})}catch(t){if(sL.isInstance(t)||sH.isInstance(t))throw t;throw new sL({text:e,cause:t})}}async function ue({text:e,schema:t}){try{let r=lA(e);if(null==t)return{success:!0,value:r,rawValue:r};return await l8({value:r,schema:t})}catch(t){return{success:!1,error:sL.isInstance(t)?t:new sL({text:e,cause:t}),rawValue:void 0}}}function ut({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new tn).pipeThrough(new TransformStream({async transform({data:e},r){"[DONE]"!==e&&r.enqueue(await ue({text:e,schema:t}))}}))}async function ur({provider:e,providerOptions:t,schema:r}){if(t?.[e]==null)return;let a=await l8({value:t[e],schema:r});if(!a.success)throw new sP({argument:"providerOptions",message:`invalid ${e} provider options`,cause:a.error});return a.value}let ua=()=>globalThis.fetch,un=async({url:e,headers:t,body:r,failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:i})=>await uo({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:i}),uo=async({url:e,headers:t={},body:r,successfulResponseHandler:a,failedResponseHandler:n,abortSignal:o,fetch:i=ua()})=>{try{let s=await i(e,{method:"POST",headers:le(t,`ai-sdk-provider-utils/${s8}`,s2()),body:r.content,signal:o}),l=s4(s);if(!s.ok){let t;try{t=await n({response:s,url:e,requestBodyValues:r.values})}catch(t){if(s5(t)||sS.isInstance(t))throw t;throw new sS({message:"Failed to process error response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw t.value}try{return await a({response:s,url:e,requestBodyValues:r.values})}catch(t){if(t instanceof Error&&(s5(t)||sS.isInstance(t)))throw t;throw new sS({message:"Failed to process successful response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(t){throw s3({error:t,url:e,requestBodyValues:r.values})}};function ui({id:e,inputSchema:t,outputSchema:r,supportsDeferredResults:a}){return({onInputStart:n,onInputDelta:o,onInputAvailable:i,...s})=>({type:"provider",isProviderExecuted:!0,id:e,args:s,inputSchema:t,outputSchema:r,onInputStart:n,onInputDelta:o,onInputAvailable:i,supportsDeferredResults:a})}async function us(e){return"function"==typeof e&&(e=e()),e}let ul=new TextDecoder;async function uu({response:e,url:t}){return ul.decode(await lw({response:e,url:t}))}let uc=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:a,url:n,requestBodyValues:o})=>{let i=await uu({response:a,url:n}),s=s4(a);if(""===i.trim())return{responseHeaders:s,value:new sS({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:s,responseBody:i,isRetryable:r?.(a)})};try{let l=await l7({text:i,schema:e});return{responseHeaders:s,value:new sS({message:t(l),url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:s,responseBody:i,data:l,isRetryable:r?.(a,l)})}}catch{return{responseHeaders:s,value:new sS({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:s,responseBody:i,isRetryable:r?.(a)})}}},ud=e=>async({response:t,url:r,requestBodyValues:a})=>{let n=await uu({response:t,url:r}),o=await ue({text:n,schema:e}),i=s4(t);if(!o.success)throw new sS({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:i,responseBody:n,url:r,requestBodyValues:a});return{responseHeaders:i,value:o.value,rawValue:o.rawValue}};async function*up({stream:e,schema:t}){let r=e.getReader(),a=new TextDecoder,n="",o=!1;try{for(;;){let{done:e,value:i}=await r.read();if(e){o=!0,n+=a.decode();break}let s=(n+=a.decode(i,{stream:!0})).indexOf("\n");for(;-1!==s;){let e=n.slice(0,s).replace(/\r$/,"");n=n.slice(s+1),e.trim().length>0&&(yield await l7({text:e,schema:t})),s=n.indexOf("\n")}}let e=n.replace(/\r$/,"");e.trim().length>0&&(yield await l7({text:e,schema:t}))}finally{o||await r.cancel().catch(()=>{}),r.releaseLock()}}function uh(e){if(null==e)return!0;let t=typeof e;return"string"===t||"number"===t||"boolean"===t||"function"!==t&&"symbol"!==t&&"bigint"!==t&&(Array.isArray(e)?e.every(uh):Object.getPrototypeOf(e)===Object.prototype&&Object.values(e).every(uh))}let um="AI_SerializationError",ug=`vercel.ai.error.${um}`,uf=Symbol.for(ug);var uy=class extends s_{constructor({message:e="Failed to serialize value.",cause:t}={}){super({name:um,message:e,cause:t}),this[uf]=!0}static isInstance(e){return s_.hasMarker(e,ug)}};function uv(e){let t={};for(let[r,a]of Object.entries(e.config))if("headers"===r){let e=function(e){let t=e;if("function"==typeof e&&(t=e()),t instanceof Promise)throw new uy({message:"Cannot serialize asynchronous model options."});return t}(a);uh(e)&&(t[r]=e)}else uh(a)&&(t[r]=a);return{modelId:e.modelId,config:t}}function ub(e){return"string"==typeof e}function uw(e){return"number"==typeof e}function u_(e,t){return void 0===e||t(e)}function uI(e){return lk(e)&&ub(e.type)}function uk(e){return lk(e)&&ub(e.text)&&uw(e.startSecond)&&uw(e.endSecond)}let ux="ai-gateway-transcription.v1";function uS(e,t,r){let a=[e,`ai-gateway-auth.${t}`];return r?.teamIdOrSlug&&a.push(`ai-gateway-team.${function(e){let t=new TextEncoder().encode(e),r="";for(let e of t)r+=String.fromCharCode(e);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}(r.teamIdOrSlug)}`),a}let uE={any:nc.any,array:nc.array,boolean:nc.boolean,discriminatedUnion:nc.discriminatedUnion,enum:nc.enum,literal:nc.literal,number:nc.number,object:nc.object,record:nc.record,string:nc.string,union:nc.union,unknown:nc.unknown},uM=Symbol.for("vercel.ai.gateway.error");var uj=class e extends Error{constructor({message:e,statusCode:t=500,cause:r,generationId:a,isRetryable:n=null!=t&&(408===t||409===t||429===t||t>=500)}){super(a?`${e} [${a}]`:e),this[uM]=!0,this.statusCode=t,this.cause=r,this.generationId=a,this.isRetryable=n}static isInstance(t){return e.hasMarker(t)}static hasMarker(e){return"object"==typeof e&&null!==e&&uM in e&&!0===e[uM]}};let uA="GatewayAuthenticationError",uT=Symbol.for(`vercel.ai.gateway.error.${uA}`);var uR=class e extends uj{constructor({message:e="Authentication failed",statusCode:t=401,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[uT]=!0,this.name=uA,this.type="authentication_error"}static isInstance(e){return uj.hasMarker(e)&&uT in e}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,statusCode:a=401,cause:n,generationId:o}){return new e({message:t?`AI Gateway authentication failed: Invalid API key or token.
50
+
51
+ Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
52
+
53
+ Provide an API key or Vercel access token via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:r?`AI Gateway authentication failed: Invalid OIDC token.
54
+
55
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
56
+
57
+ Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
58
+ or pass a Vercel access token via the 'apiKey' option.`:`AI Gateway authentication failed: No authentication provided.
59
+
60
+ Option 1 - API key:
61
+ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
62
+ Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
63
+
64
+ Option 2 - Vercel access token:
65
+ Pass a Vercel personal access token or Vercel app access token via the 'apiKey' option.
66
+
67
+ Option 3 - OIDC token:
68
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,statusCode:a,cause:n,generationId:o})}};let uO="GatewayInvalidRequestError",uC=Symbol.for(`vercel.ai.gateway.error.${uO}`);var uP=class extends uj{constructor({message:e="Invalid request",statusCode:t=400,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[uC]=!0,this.name=uO,this.type="invalid_request_error"}static isInstance(e){return uj.hasMarker(e)&&uC in e}};let u$="GatewayRateLimitError",uN=Symbol.for(`vercel.ai.gateway.error.${u$}`);var uU=class extends uj{constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[uN]=!0,this.name=u$,this.type="rate_limit_exceeded"}static isInstance(e){return uj.hasMarker(e)&&uN in e}};let uL="GatewayModelNotFoundError",uD=Symbol.for(`vercel.ai.gateway.error.${uL}`),uF=l5(()=>l6(uE.object({modelId:uE.string()})));var uq=class extends uj{constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:a,generationId:n}={}){super({message:e,statusCode:t,cause:a,generationId:n}),this[uD]=!0,this.name=uL,this.type="model_not_found",this.modelId=r}static isInstance(e){return uj.hasMarker(e)&&uD in e}};let uH="GatewayNotFoundError",uZ=Symbol.for(`vercel.ai.gateway.error.${uH}`);var uB=class extends uj{constructor({message:e="Resource not found",statusCode:t=404,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[uZ]=!0,this.name=uH,this.type="not_found"}static isInstance(e){return uj.hasMarker(e)&&uZ in e}};let uV="GatewayInternalServerError",uz=Symbol.for(`vercel.ai.gateway.error.${uV}`);var uG=class extends uj{constructor({message:e="Internal server error",statusCode:t=500,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[uz]=!0,this.name=uV,this.type="internal_server_error"}static isInstance(e){return uj.hasMarker(e)&&uz in e}};let uW="GatewayFailedDependencyError",uY=Symbol.for(`vercel.ai.gateway.error.${uW}`);var uJ=class extends uj{constructor({message:e="Failed dependency",statusCode:t=424,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[uY]=!0,this.name=uW,this.type="failed_dependency"}static isInstance(e){return uj.hasMarker(e)&&uY in e}};let uK="GatewayForbiddenError",uQ=Symbol.for(`vercel.ai.gateway.error.${uK}`),uX=l5(()=>l6(uE.object({ruleId:uE.string()})));var u0=class extends uj{constructor({message:e="Forbidden",statusCode:t=403,cause:r,generationId:a,ruleId:n}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[uQ]=!0,this.name=uK,this.type="forbidden",this.ruleId=n}static isInstance(e){return uj.hasMarker(e)&&uQ in e}};let u1="GatewayResponseError",u4=Symbol.for(`vercel.ai.gateway.error.${u1}`);var u2=class extends uj{constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:a,cause:n,generationId:o,isRetryable:i}={}){super({message:e,statusCode:t,cause:n,generationId:o,isRetryable:i}),this[u4]=!0,this.name=u1,this.type="response_error",this.response=r,this.validationError=a}static isInstance(e){return uj.hasMarker(e)&&u4 in e}};async function u5({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:a,authMethod:n,isRetryable:o}){let i=await l8({value:e,schema:u9});if(!i.success){let n="object"==typeof e&&null!==e&&"generationId"in e?e.generationId:void 0;return new u2({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:i.error,cause:a,generationId:n,isRetryable:o})}let s=i.value,l=s.error.type,u=s.error.message,c=s.generationId??void 0;switch(l){case"authentication_error":return uR.createContextualError({apiKeyProvided:"api-key"===n,oidcTokenProvided:"oidc"===n,statusCode:t,cause:a,generationId:c});case"invalid_request_error":return new uP({message:u,statusCode:t,cause:a,generationId:c});case"rate_limit_exceeded":return new uU({message:u,statusCode:t,cause:a,generationId:c});case"model_not_found":{let e=await l8({value:s.error.param,schema:uF});return new uq({message:u,statusCode:t,modelId:e.success?e.value.modelId:void 0,cause:a,generationId:c})}case"not_found":return new uB({message:u,statusCode:t,cause:a,generationId:c});case"internal_server_error":default:return new uG({message:u,statusCode:t,cause:a,generationId:c});case"failed_dependency":return new uJ({message:u,statusCode:t,cause:a,generationId:c});case"forbidden":{let e=await l8({value:s.error.param,schema:uX});return new u0({message:u,statusCode:t,cause:a,generationId:c,ruleId:e.success?e.value.ruleId:void 0})}}}let u9=l5(()=>l6(uE.object({error:uE.object({message:uE.string(),type:uE.string().nullish(),param:uE.unknown().nullish(),code:uE.union([uE.string(),uE.number()]).nullish()}),generationId:uE.string().nullish()}))),u6="GatewayTimeoutError",u3=Symbol.for(`vercel.ai.gateway.error.${u6}`);var u8=class e extends uj{constructor({message:e="Request timed out",statusCode:t=408,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[u3]=!0,this.name=u6,this.type="timeout_error"}static isInstance(e){return uj.hasMarker(e)&&u3 in e}static createTimeoutError({originalMessage:t,statusCode:r=408,cause:a,generationId:n}){return new e({message:`Gateway request timed out: ${t}
69
+
70
+ 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:r,cause:a,generationId:n})}};function u7(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 ce(e,t){return uj.isInstance(e)?e:u7(e)?u8.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):sS.isInstance(e)?e.cause&&u7(e.cause)?u8.createTimeoutError({originalMessage:e.message,cause:e}):await u5({response:function(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return lA(e.responseBody)}catch{return e.responseBody}return{}}(e),statusCode:e.statusCode??500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:!!e.isRetryable&&(null==e.statusCode||e.statusCode<400)||void 0}):await u5({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}let ct="ai-gateway-auth-method",cr="x-vercel-ai-gateway-team";async function ca(e){let t=await l8({value:e[ct],schema:cn});return t.success?t.value:void 0}let cn=l5(()=>l6(uE.union([uE.literal("api-key"),uE.literal("oidc")]))),co=["embedding","evaluation","image","language","realtime","reranking","speech","transcription","video"];var ci=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await lI({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await us(this.config.headers):void 0,successfulResponseHandler:ud(cs),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),fetch:this.config.fetch});return e}catch(e){throw await ce(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await lI({url:`${e.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await us(this.config.headers):void 0,successfulResponseHandler:ud(cl),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),fetch:this.config.fetch});return t}catch(e){throw await ce(e)}}};let cs=l5(()=>l6(uE.object({models:uE.array(uE.object({id:uE.string(),name:uE.string(),description:uE.string().nullish(),pricing:uE.object({input:uE.string(),output:uE.string(),input_cache_read:uE.string().nullish(),input_cache_write:uE.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:a})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...a?{cacheCreationInputTokens:a}:{}})).nullish(),specification:uE.object({specificationVersion:uE.literal("v4"),provider:uE.string(),modelId:uE.string()}),modelType:uE.string().nullish()})).transform(e=>e.filter(e=>null==e.modelType||co.includes(e.modelType)))}))),cl=l5(()=>l6(uE.object({balance:uE.string(),total_used:uE.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t}))));var cu=class{constructor(e){this.config=e}async getSpendReport(e){try{let t=new URL(this.config.baseURL),r=new URLSearchParams;r.set("start_date",e.startDate),r.set("end_date",e.endDate),e.groupBy&&r.set("group_by",e.groupBy),e.datePart&&r.set("date_part",e.datePart),e.userId&&r.set("user_id",e.userId),e.model&&r.set("model",e.model),e.provider&&r.set("provider",e.provider),e.credentialType&&r.set("credential_type",e.credentialType),e.tags&&e.tags.length>0&&r.set("tags",e.tags.join(","));let{value:a}=await lI({url:`${t.origin}/v1/report?${r.toString()}`,validateUrl:!1,headers:this.config.headers?await us(this.config.headers):void 0,successfulResponseHandler:ud(cc),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),fetch:this.config.fetch});return a}catch(e){throw await ce(e)}}};let cc=l5(()=>l6(uE.object({results:uE.array(uE.object({day:uE.string().optional(),hour:uE.string().optional(),user:uE.string().optional(),model:uE.string().optional(),tag:uE.string().optional(),provider:uE.string().optional(),credential_type:uE.enum(["byok","system"]).optional(),total_cost:uE.number(),market_cost:uE.number().optional(),input_tokens:uE.number().optional(),output_tokens:uE.number().optional(),cached_input_tokens:uE.number().optional(),cache_creation_input_tokens:uE.number().optional(),reasoning_tokens:uE.number().optional(),request_count:uE.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:r,input_tokens:a,output_tokens:n,cached_input_tokens:o,cache_creation_input_tokens:i,reasoning_tokens:s,request_count:l,...u})=>({...u,...void 0!==e?{credentialType:e}:{},totalCost:t,...void 0!==r?{marketCost:r}:{},...void 0!==a?{inputTokens:a}:{},...void 0!==n?{outputTokens:n}:{},...void 0!==o?{cachedInputTokens:o}:{},...void 0!==i?{cacheCreationInputTokens:i}:{},...void 0!==s?{reasoningTokens:s}:{},...void 0!==l?{requestCount:l}:{}})))})));var cd=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:r}=await lI({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,validateUrl:!1,headers:this.config.headers?await us(this.config.headers):void 0,successfulResponseHandler:ud(cp),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),fetch:this.config.fetch});return r}catch(e){throw await ce(e)}}};let cp=l5(()=>l6(uE.object({data:uE.object({id:uE.string(),total_cost:uE.number(),upstream_inference_cost:uE.number(),usage:uE.number(),created_at:uE.string(),model:uE.string(),is_byok:uE.boolean(),provider_name:uE.string(),streamed:uE.boolean(),finish_reason:uE.string(),latency:uE.number(),generation_time:uE.number(),native_tokens_prompt:uE.number(),native_tokens_completion:uE.number(),native_tokens_reasoning:uE.number(),native_tokens_cached:uE.number(),native_tokens_cache_creation:uE.number(),billable_web_search_calls:uE.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:r,is_byok:a,provider_name:n,finish_reason:o,generation_time:i,native_tokens_prompt:s,native_tokens_completion:l,native_tokens_reasoning:u,native_tokens_cached:c,native_tokens_cache_creation:d,billable_web_search_calls:p,...h})=>({...h,totalCost:e,upstreamInferenceCost:t,createdAt:r,isByok:a,providerName:n,finishReason:o,generationTime:i,promptTokens:s,completionTokens:l,reasoningTokens:u,cachedTokens:c,cacheCreationTokens:d,billableWebSearchCalls:p}))}).transform(({data:e})=>e)));var ch=class{constructor(e){this.config=e,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]},this.provider=`${e.provider}.batch`}async doStartBatch({requests:e,providerOptions:t,headers:r,abortSignal:a,webhookUrl:n}){var o=e;for(let e of o){let t=e.type;if("text"!==t)throw new sz({functionality:`batch request type: ${t}`,message:`The AI Gateway Batch API does not support batch requests with type "${t}".`})}let i=function(e){let t=e[0]?.modelId;if(null==t)throw new sP({argument:"requests",message:"The AI Gateway Batch API requires at least one request."});for(let r of e)if(r.modelId!==t)throw new sP({argument:"requests",message:`The AI Gateway Batch API requires all requests in a batch to use the same model. Found "${t}" and "${r.modelId}".`});return t}(e),s=this.config.headers?await us(this.config.headers):void 0,l=function(e){let t=e?.gateway;if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t.idempotencyKey;return"string"==typeof r&&r.length>0?r:void 0}(t),u=function(e){let t=e?.gateway;if(null==t||"object"!=typeof t||Array.isArray(t)||!("idempotencyKey"in t))return e;let{idempotencyKey:r,...a}=t,n={...e};if(0===Object.keys(a).length?delete n.gateway:n.gateway=a,0!==Object.keys(n).length)return n}(t);try{let{value:t}=await un({url:this.getBatchUrl("start"),headers:sG(s,r,{"ai-model-id":i},await us(this.config.o11yHeaders),null!=l?{"idempotency-key":l}:void 0),body:{...null!=n&&{callbackUrl:n},requests:e.map(e=>({id:e.id,type:e.type,modelId:e.modelId,options:function(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=cm(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=cm(t.data))}return e}(e.options)})),...null!=u&&{providerOptions:u}},successfulResponseHandler:ud(ck),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...a&&{abortSignal:a},fetch:this.config.fetch});return{batchId:t.batchId,...cf(t),warnings:t.warnings??[]}}catch(e){if(cg(e))throw e;throw await ce(e,await ca(s??{}))}}async doGetBatchStatus({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await us(this.config.headers):void 0;try{let{value:n}=await un({url:this.getBatchUrl("status"),headers:sG(a,t,await us(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:ud(cx),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...r&&{abortSignal:r},fetch:this.config.fetch});return cf(n)}catch(e){if(cg(e))throw e;throw await ce(e,await ca(a??{}))}}async doGetBatchResults({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await us(this.config.headers):void 0;try{var n;let o,{value:i}=await un({url:this.getBatchUrl("results"),headers:sG(a,t,await us(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:async({response:e})=>{let t=s4(e);if(null==e.body)throw new sA({});return{responseHeaders:t,value:up({stream:e.body,schema:cv})}},failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...r&&{abortSignal:r},fetch:this.config.fetch});return n=cy(i),o=!1,new ReadableStream({async pull(e){if(!o)try{let{value:t,done:r}=await n.next();r?e.close():e.enqueue(t)}catch(t){e.error(t)}},async cancel(e){if(o=!0,n.return)try{await n.return(e)}catch{}}})}catch(e){if(cg(e))throw e;throw await ce(e,await ca(a??{}))}}async doCancelBatch({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await us(this.config.headers):void 0;try{let{value:n}=await un({url:this.getBatchUrl("cancel"),headers:sG(a,t,await us(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:ud(cx),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...r&&{abortSignal:r},fetch:this.config.fetch});return{...null!=n.providerMetadata&&{providerMetadata:n.providerMetadata}}}catch(e){if(cg(e))throw e;throw await ce(e,await ca(a??{}))}}getBatchUrl(e){return`${this.config.baseURL}/batch/${e}`}};function cm(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:ro.Buffer.from(t).toString("base64")}}return e}function cg(e){return!!(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"TimeoutError"===e.name)}function cf(e){let t=function({total:e,pending:t,completed:r,failed:a}){if(lS(e)&&lS(t)&&lS(r)&&lS(a)&&t+r+a===e)return{total:e,pending:t,completed:r,failed:a}}({total:e.requestCounts?.total,pending:e.requestCounts?.pending,completed:e.requestCounts?.completed,failed:e.requestCounts?.failed});return{status:e.status,...null!=e.rawStatus&&{rawStatus:e.rawStatus},...null!=t&&{requestCounts:t},...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*cy(e){for await(let t of e){if("succeeded"===t.status){let e=t.result?.response;void 0!==e&&"string"==typeof e.timestamp&&(e.timestamp=new Date(e.timestamp))}yield t}}let cv=uE.object({type:uE.literal("text"),id:uE.string(),status:uE.enum(["cancelled","expired","failed","succeeded"])}).catchall(uE.unknown()),cb=uE.object({message:uE.string(),type:uE.string().nullish(),code:uE.string().nullish(),statusCode:uE.number().nullish()}),cw=uE.object({total:uE.number().nullish(),pending:uE.number().nullish(),completed:uE.number().nullish(),failed:uE.number().nullish()}),c_=uE.record(uE.string(),uE.record(uE.string(),uE.unknown())),cI=uE.object({status:uE.enum(["completed","failed","pending"]),rawStatus:uE.string().nullish(),requestCounts:cw.nullish(),error:cb.nullish(),createdAt:uE.string().nullish(),expiresAt:uE.string().nullish(),providerMetadata:c_.nullish()}),ck=cI.extend({batchId:uE.string(),warnings:uE.array(uE.object({requestId:uE.string().nullish(),warning:uE.unknown()}).catchall(uE.unknown())).nullish()}),cx=cI;var cS=class e{static[to](e){return uv({modelId:e.modelId,config:e.config})}static[ti](t){return new e(t.modelId,t.config)}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:o,value:i,rawValue:s}=await un({url:this.getUrl(),headers:sG(n,e.headers,this.getModelConfigHeaders(this.modelId,!1),await us(this.config.o11yHeaders)),body:t,successfulResponseHandler:ud(uE.any()),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...a&&{abortSignal:a},fetch:this.config.fetch});return{...i,request:{body:t},response:{headers:o,body:s},warnings:[...i.warnings??[],...r]}}catch(e){throw await ce(e,await ca(n??{}))}}async doStream(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await us(this.config.headers):void 0;try{let o,{value:i,responseHeaders:s}=await un({url:this.getUrl(),headers:sG(n,e.headers,this.getModelConfigHeaders(this.modelId,!0),await us(this.config.o11yHeaders)),body:t,successfulResponseHandler:(o=uE.any(),async({response:e,url:t,requestBodyValues:r})=>{let a=s4(e);if(null==e.body)throw new sA({});return{responseHeaders:a,value:ut({stream:function({stream:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n}){let o=e.getReader(),i=!1,s=()=>{i||(o.releaseLock(),i=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await o.read();t?(s(),e.close()):e.enqueue(r)}catch(o){if(s(),s5(o))return void e.error(o);e.error(s3({error:new sS({message:"Failed to process successful response",cause:o,statusCode:a,url:t,responseHeaders:n,requestBodyValues:r}),url:t,requestBodyValues:r}))}},async cancel(e){try{await o.cancel(e)}finally{s()}}})}({stream:e.body,url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a}),schema:o})}}),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:i.pipeThrough(new TransformStream({start(e){r.length>0&&e.enqueue({type:"stream-start",warnings:r})},transform(t,r){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)),r.enqueue(a))}else r.error(t.error)}})),request:{body:t},response:{headers:s}}}catch(e){throw await ce(e,await ca(n??{}))}}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=cE(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=cE(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 cE(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:ro.Buffer.from(t).toString("base64")}}return e}var cM=class e{static[to](e){return uv({modelId:e.modelId,config:e.config})}static[ti](t){return new e(t.modelId,t.config)}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:a}){let n=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:o,value:i,rawValue:s}=await un({url:this.getUrl(),headers:sG(n,t??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders)),body:{values:e,...a?{providerOptions:a}:{}},successfulResponseHandler:ud(cA),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:i.usage??void 0,providerMetadata:i.providerMetadata,response:{headers:o,body:s},warnings:i.warnings??[]}}catch(e){throw await ce(e,await ca(n??{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}};let cj=uE.discriminatedUnion("type",[uE.object({type:uE.literal("unsupported"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("compatibility"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("deprecated"),setting:uE.string(),message:uE.string()}),uE.object({type:uE.literal("other"),message:uE.string()})]),cA=l5(()=>l6(uE.object({embeddings:uE.array(uE.array(uE.number())),usage:uE.object({tokens:uE.number()}).nullish(),warnings:uE.array(cj).optional(),providerMetadata:uE.record(uE.string(),uE.record(uE.string(),uE.unknown())).optional()})));var cT=class e{static[to](e){return uv({modelId:e.modelId,config:e.config})}static[ti](t){return new e(t.modelId,t.config)}constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:a,seed:n,files:o,mask:i,providerOptions:s,headers:l,abortSignal:u}){let c=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:d,value:p}=await un({url:this.getUrl(),headers:sG(c,l??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...a&&{aspectRatio:a},...n&&{seed:n},...s&&{providerOptions:s},...o&&{files:o.map(e=>cR(e))},...i&&{mask:cR(i)}},successfulResponseHandler:ud(c$),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:p.images,...null!=p.isRetryable&&{isRetryable:p.isRetryable},warnings:p.warnings??[],providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d},...null!=p.usage&&{usage:{inputTokens:p.usage.inputTokens??void 0,outputTokens:p.usage.outputTokens??void 0,totalTokens:p.usage.totalTokens??void 0}}}}catch(e){throw await ce(e,await ca(c??{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function cR(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:s1(e.data)}:e}let cO=uE.object({images:uE.array(uE.unknown()).optional()}).catchall(uE.unknown()),cC=uE.discriminatedUnion("type",[uE.object({type:uE.literal("unsupported"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("compatibility"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("deprecated"),setting:uE.string(),message:uE.string()}),uE.object({type:uE.literal("other"),message:uE.string()})]),cP=uE.object({inputTokens:uE.number().nullish(),outputTokens:uE.number().nullish(),totalTokens:uE.number().nullish()}),c$=uE.object({images:uE.array(uE.string()),isRetryable:uE.boolean().optional(),warnings:uE.array(cC).optional(),providerMetadata:uE.record(uE.string(),cO).optional(),usage:cP.optional()});var cN=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){let{headers:t,abortSignal:r}=e,a=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:n,value:o}=await un({url:this.getUrl(),headers:sG(a,t??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(e),successfulResponseHandler:async({response:e,url:t,requestBodyValues:r})=>{if(null==e.body)throw new sS({message:"SSE response body is empty",url:t,requestBodyValues:r,statusCode:e.status});let a=ut({stream:e.body,schema:cq}).getReader(),{done:n,value:o}=await a.read();if(a.releaseLock(),n||!o)throw new sS({message:"SSE stream ended without a data event",url:t,requestBodyValues:r,statusCode:e.status});if(!o.success)throw new sS({message:"Failed to parse video SSE event",cause:o.error,url:t,requestBodyValues:r,statusCode:e.status});let i=o.value;if("error"===i.type)throw new sS({message:i.message,statusCode:i.statusCode,url:t,requestBodyValues:r,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:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...r&&{abortSignal:r},fetch:this.config.fetch});return{videos:o.videos,warnings:o.warnings??[],providerMetadata:o.providerMetadata??void 0,response:{timestamp:new Date,modelId:this.modelId,headers:n}}}catch(e){throw await ce(e,await ca(a??{}))}}async handleWebhookOption({webhook:e}){let{url:t,received:r}=await e();return{webhookUrl:t,received:r}}async doStart(e){let{headers:t,abortSignal:r,webhookUrl:a}=e,n=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:o,value:i}=await un({url:this.getStartUrl(),headers:sG(n,t??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders)),body:{...this.buildRequestBody(e),...a&&{callbackUrl:a}},successfulResponseHandler:ud(cH),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...r&&{abortSignal:r},fetch:this.config.fetch});return{operation:i.operation,warnings:i.warnings??[],providerMetadata:i.providerMetadata??void 0,response:{timestamp:new Date,modelId:this.modelId,headers:o}}}catch(e){throw await ce(e,await ca(n??{}))}}async doStatus({operation:e,abortSignal:t,headers:r}){let a=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:n,value:o}=await un({url:this.getStatusUrl(),headers:sG(a,r??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders)),body:{operation:e},successfulResponseHandler:ud(cZ),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...t&&{abortSignal:t},fetch:this.config.fetch}),i={timestamp:new Date,modelId:this.modelId,headers:n};if("completed"===o.status)return{status:"completed",videos:o.videos,warnings:o.warnings??[],providerMetadata:o.providerMetadata??void 0,response:i};if("error"===o.status)return{status:"error",error:o.error,providerMetadata:o.providerMetadata??void 0,response:i};if("cancelled"===o.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:o.providerMetadata??void 0,response:i};return{status:"pending",warnings:o.warnings??[],providerMetadata:o.providerMetadata??void 0,response:i}}catch(e){throw await ce(e,await ca(a??{}))}}buildRequestBody({prompt:e,n:t,aspectRatio:r,resolution:a,duration:n,fps:o,seed:i,generateAudio:s,image:l,frameImages:u,inputReferences:c,providerOptions:d}){return{prompt:e,n:t,...r&&{aspectRatio:r},...a&&{resolution:a},...n&&{duration:n},...o&&{fps:o},...i&&{seed:i},...void 0!==s&&{generateAudio:s},...d&&{providerOptions:d},...l&&{image:cU(l)},...u&&{frameImages:u.map(e=>({...e,image:cU(e.image)}))},...c&&{inputReferences:c.map(e=>cU(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 cU(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:s1(e.data)}:e}let cL=uE.object({videos:uE.array(uE.unknown()).optional()}).catchall(uE.unknown()),cD=uE.union([uE.object({type:uE.literal("url"),url:uE.string(),mediaType:uE.string()}),uE.object({type:uE.literal("base64"),data:uE.string(),mediaType:uE.string()})]),cF=uE.discriminatedUnion("type",[uE.object({type:uE.literal("unsupported"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("compatibility"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("deprecated"),setting:uE.string(),message:uE.string()}),uE.object({type:uE.literal("other"),message:uE.string()})]),cq=uE.discriminatedUnion("type",[uE.object({type:uE.literal("result"),videos:uE.array(cD),warnings:uE.array(cF).optional(),providerMetadata:uE.record(uE.string(),cL).optional()}),uE.object({type:uE.literal("error"),message:uE.string(),errorType:uE.string(),statusCode:uE.number(),param:uE.unknown().nullable()})]),cH=uE.object({operation:uE.unknown(),warnings:uE.array(cF).nullish(),providerMetadata:uE.record(uE.string(),cL).nullish()}),cZ=uE.discriminatedUnion("status",[uE.object({status:uE.literal("pending"),warnings:uE.array(cF).nullish(),providerMetadata:uE.record(uE.string(),cL).nullish()}),uE.object({status:uE.literal("completed"),videos:uE.array(cD),warnings:uE.array(cF).nullish(),providerMetadata:uE.record(uE.string(),cL).nullish()}),uE.object({status:uE.literal("error"),error:uE.string(),providerMetadata:uE.record(uE.string(),cL).nullish()}),uE.object({status:uE.literal("cancelled"),providerMetadata:uE.record(uE.string(),cL).nullish()})]),cB=l5(()=>l6(uE.object({models:cJ.optional()}).catchall(uE.unknown()))),cV=uE.number().finite().min(0).max(1),cz=uE.string().min(1).max(256),cG=uE.union([uE.object({question:cz.optional(),confidenceBelow:cV}).strict(),uE.object({question:cz.optional(),probabilityBetween:uE.array(cV).length(2).refine(([e,t])=>e<=t,{message:"probabilityBetween minimum must be less than or equal to maximum"})}).strict()]),cW=uE.union([uE.object({any:uE.unknown()}),uE.object({all:uE.unknown()}),uE.object({atLeast:uE.unknown()})]).superRefine((e,t)=>{t.addIssue({code:"custom",message:"conditions can be nested at most 5 levels deep"})}),cY=uE.object({model:uE.string().min(1),when:function e(t){if(5===t)return uE.union([cG,cW]);let r=e(t+1),a=uE.array(r).min(1).max(20);return uE.union([cG,uE.object({any:a}).strict(),uE.object({all:a}).strict(),uE.object({atLeast:uE.object({count:uE.number().int().min(1),conditions:a}).strict().refine(({count:e,conditions:t})=>e<=t.length,{message:"atLeast count cannot exceed the number of conditions",path:["count"]})}).strict()])}(1)}).strict(),cJ=uE.array(uE.union([uE.string(),cY])).superRefine((e,t)=>{let r=e.flatMap((e,t)=>"string"==typeof e?[]:[t]);r.length>1&&t.addIssue({code:"custom",message:"models supports at most one conditional evaluation fallback"}),void 0!==r[0]&&0!==r[0]&&t.addIssue({code:"custom",message:"a conditional evaluation fallback must be the first models entry",path:[r[0]]})});var cK=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedQuestionTypes=["choice","score","boolean"]}get provider(){return this.config.provider}async doEvaluate({state:e,questions:t,headers:r,abortSignal:a,providerOptions:n}){let o=await ur({provider:"gateway",providerOptions:n,schema:cB}),i=null==o?n:{...n,gateway:o},s=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:n,value:o,rawValue:l}=await un({url:this.getUrl(),headers:sG(s,r??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders)),body:{state:e,questions:t,...i?{providerOptions:i}:{}},successfulResponseHandler:ud(c0),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...a&&{abortSignal:a},fetch:this.config.fetch});return{answers:o.answers,...o.rounding?{rounding:o.rounding}:{},...o.usage?{usage:o.usage}:{},warnings:o.warnings??[],providerMetadata:o.providerMetadata,response:{modelId:o.model??this.modelId,headers:n,body:l}}}catch(e){throw await ce(e,await ca(s??{}))}}getUrl(){return`${this.config.baseURL}/evaluation-model`}getModelConfigHeaders(){return{"ai-evaluation-model-specification-version":"4","ai-model-id":this.modelId}}};let cQ=uE.discriminatedUnion("type",[uE.object({type:uE.literal("choice"),choice:uE.string(),probabilities:uE.record(uE.string(),uE.number()).optional()}),uE.object({type:uE.literal("score"),score:uE.number(),probabilities:uE.record(uE.string(),uE.number()).optional()}),uE.object({type:uE.literal("boolean"),probability:uE.number()})]),cX=uE.discriminatedUnion("type",[uE.object({type:uE.literal("unsupported"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("compatibility"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("deprecated"),setting:uE.string(),message:uE.string()}),uE.object({type:uE.literal("other"),message:uE.string()})]),c0=l5(()=>l6(uE.object({answers:uE.record(uE.string(),cQ),model:uE.string().optional(),rounding:uE.object({probabilityDecimals:uE.number().optional(),scoreDecimals:uE.number().optional()}).optional(),usage:uE.object({inputTokens:uE.number().optional(),outputTokens:uE.number().optional()}).optional(),warnings:uE.array(cX).optional(),providerMetadata:uE.record(uE.string(),uE.record(uE.string(),uE.unknown())).optional()})));var c1=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:r,headers:a,abortSignal:n,providerOptions:o}){let i=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:s,value:l,rawValue:u}=await un({url:this.getUrl(),headers:sG(i,a??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders)),body:{documents:e,query:t,...null!=r?{topN:r}:{},...o?{providerOptions:o}:{}},successfulResponseHandler:ud(c2),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...n&&{abortSignal:n},fetch:this.config.fetch});return{ranking:l.ranking,providerMetadata:l.providerMetadata,response:{headers:s,body:u},warnings:l.warnings??[]}}catch(e){throw await ce(e,await ca(i??{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}};let c4=uE.discriminatedUnion("type",[uE.object({type:uE.literal("unsupported"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("compatibility"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("deprecated"),setting:uE.string(),message:uE.string()}),uE.object({type:uE.literal("other"),message:uE.string()})]),c2=l5(()=>l6(uE.object({ranking:uE.array(uE.object({index:uE.number(),relevanceScore:uE.number()})),warnings:uE.array(c4).optional(),providerMetadata:uE.record(uE.string(),uE.record(uE.string(),uE.unknown())).optional()})));var c5=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:r,instructions:a,speed:n,language:o,providerOptions:i,headers:s,abortSignal:l}){let u=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:c,value:d,rawValue:p}=await un({url:this.getUrl(),headers:sG(u,s??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...r&&{outputFormat:r},...a&&{instructions:a},...null!=n&&{speed:n},...o&&{language:o},...i&&{providerOptions:i}},successfulResponseHandler:ud(c3),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...l&&{abortSignal:l},fetch:this.config.fetch});return{audio:d.audio,warnings:d.warnings??[],providerMetadata:d.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:c,body:p}}}catch(e){throw await ce(e,await ca(u??{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}};let c9=uE.object({}).catchall(uE.unknown()),c6=uE.discriminatedUnion("type",[uE.object({type:uE.literal("unsupported"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("compatibility"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("deprecated"),setting:uE.string(),message:uE.string()}),uE.object({type:uE.literal("other"),message:uE.string()})]),c3=uE.object({audio:uE.string(),warnings:uE.array(c6).optional(),providerMetadata:uE.record(uE.string(),c9).optional()});var c8=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:r,headers:a,abortSignal:n}){let o=this.config.headers?await us(this.config.headers):void 0;try{let{responseHeaders:i,value:s,rawValue:l}=await un({url:this.getUrl(),headers:sG(o,a??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?s1(e):e,mediaType:t,...r&&{providerOptions:r}},successfulResponseHandler:ud(dr),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),...n&&{abortSignal:n},fetch:this.config.fetch});return{text:s.text,segments:s.segments??[],language:s.language??void 0,durationInSeconds:s.durationInSeconds??void 0,warnings:s.warnings??[],providerMetadata:s.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:i,body:l}}}catch(e){throw await ce(e,await ca(o??{}))}}async doStream(e){let t,r,a,n=this.config._internal?.currentDate?.()??new Date,o=sG(await us(this.config.headers??{}),e.headers??{},this.getModelConfigHeaders(),await us(this.config.o11yHeaders)),i=await ca(o),s={type:"transcription-stream.start",inputAudioFormat:e.inputAudioFormat,...null!=e.providerOptions&&{providerOptions:e.providerOptions},...null!=e.includeRawChunks&&{includeRawChunks:e.includeRawChunks}};return{stream:function({webSocket:e,url:t,protocols:r,headers:a,startFrame:n,audio:o,abortSignal:i,authMethod:s}){let l=!1,u=()=>{};return new ReadableStream({start:c=>{let d,p,h,m=!1,g=!1;u=e=>{null!=d?d.cancel().catch(()=>{}):o.cancel().catch(()=>{}),h?.close(e)};let f=e=>{l||(l=!0,u(),da(c,e,s))},y=async e=>{let t=o.getReader();d=t;try{for(;;){let{done:r,value:a}=await t.read();if(r||l)break;let n="string"==typeof a?function(e){let t=s0(e.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(t,e=>e.codePointAt(0))}(a):a;for(let t=0;t<n.length&&!l;t+=65536)e.send(n.subarray(t,t+65536)),await sQ(e)}}finally{t.releaseLock(),d===t&&(d=void 0)}l||g||e.send(JSON.stringify({type:"transcription-stream.audio-done"}))};h=function({url:e,protocols:t,headers:r,webSocket:a,abortSignal:n,onOpen:o,onMessageText:i,onProcessingError:s,onSocketError:l,onClose:u,onAbort:c}){let d,p,h=e=>{null!=p&&(n?.removeEventListener("abort",p),p=void 0);try{d?.close(e)}catch{}};if(n?.aborted)return c?.(n.reason??Error("Aborted")),{socket:void 0,close:h};try{var m;d=new(function(e){let t=e??globalThis.WebSocket;if(null==t)throw Error("No WebSocket implementation available.");return t}(a))(e,t,{headers:(m=r??{},Object.fromEntries(Object.entries(m).filter(([e,t])=>null!=t)))})}catch(e){return s(e),{socket:void 0,close:h}}null!=n&&null!=c&&(p=()=>c(n.reason??Error("Aborted")),n.addEventListener("abort",p,{once:!0}));let g=d;d.onopen=()=>{try{o?.(g)}catch(e){s(e)}};let f=Promise.resolve();return d.onmessage=e=>{f=f.then(()=>sK(e.data)).then(e=>i(e)).catch(s)},d.onerror=()=>{f=f.then(()=>l?.()).catch(s)},d.onclose=e=>{let t="number"==typeof e?.code?e.code:void 0,r="string"==typeof e?.reason?e.reason:void 0;f=f.then(()=>u?.({code:t,reason:r})).catch(s)},{socket:d,close:h}}({url:t,protocols:r,headers:a,webSocket:e,abortSignal:i,onAbort:e=>{l||(l=!0,u(),c.error(e))},onProcessingError:f,onOpen:e=>{e.send(JSON.stringify(n)),y(e).catch(f)},onMessageText:e=>{if(l)return;let t=function(e){let t;try{t=lA(e)}catch{return}if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t;switch(r.type){case"stream-start":return Array.isArray(r.warnings)&&r.warnings.every(uI)?r:void 0;case"transcript-delta":return ub(r.delta)&&u_(r.id,ub)&&u_(r.providerMetadata,lk)?r:void 0;case"transcript-partial":return ub(r.text)&&u_(r.id,ub)&&u_(r.startSecond,uw)&&u_(r.durationInSeconds,uw)&&u_(r.channelIndex,uw)&&u_(r.providerMetadata,lk)?r:void 0;case"transcript-final":return ub(r.text)&&u_(r.id,ub)&&u_(r.startSecond,uw)&&u_(r.endSecond,uw)&&u_(r.channelIndex,uw)&&u_(r.providerMetadata,lk)?r:void 0;case"finish":return ub(r.text)&&Array.isArray(r.segments)&&r.segments.every(uk)&&u_(r.language,ub)&&u_(r.durationInSeconds,uw)&&u_(r.providerMetadata,lk)?r:void 0;case"response-metadata":{if(!(u_(r.modelId,ub)&&u_(r.headers,lk)))return;let e=r.timestamp;if(null==e)return{...r,timestamp:void 0};if("string"!=typeof e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:{...r,timestamp:t}}case"raw":return"rawValue"in r?r:void 0;case"error":return"error"in r?r:void 0;default:return}}(e);if(null!=t){if("finish"===t.type){l=!0,c.enqueue(t),c.close(),u(1e3);return}"error"===t.type&&(m=!0,p=t.error,g=!0,null!=d?(d.cancel().catch(()=>{}),d=void 0):o.cancel().catch(()=>{})),c.enqueue(t)}},onSocketError:()=>{f(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(m){if(l)return;di(p,s).then(f);return}f(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{l||(l=!0,u())}})}({webSocket:this.config.webSocket,url:c7(this.config.baseURL,this.modelId),protocols:(r=(t=s7(o)).authorization,null==(a=r?.startsWith("Bearer ")?r.slice(7):void 0)?[ux]:uS(ux,a,{teamIdOrSlug:t[cr]})),headers:o,startFrame:s,audio:e.audio,abortSignal:e.abortSignal,authMethod:i}),request:{body:s},response:{timestamp:n,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function c7(e,t){let r=new URL(`${e.replace(/^http/,"ws")}/transcription-model`);return r.searchParams.set("ai-model-id",t),r.toString()}let de=uE.object({}).catchall(uE.unknown()),dt=uE.discriminatedUnion("type",[uE.object({type:uE.literal("unsupported"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("compatibility"),feature:uE.string(),details:uE.string().optional()}),uE.object({type:uE.literal("deprecated"),setting:uE.string(),message:uE.string()}),uE.object({type:uE.literal("other"),message:uE.string()})]),dr=uE.object({text:uE.string(),segments:uE.array(uE.object({text:uE.string(),startSecond:uE.number(),endSecond:uE.number()})).optional(),language:uE.string().nullish(),durationInSeconds:uE.number().nullish(),warnings:uE.array(dt).optional(),providerMetadata:uE.record(uE.string(),de).optional()});async function da(e,t,r){e.error(await ce(t,r))}let dn={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 di(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 dn?u5({response:{error:{message:e.message,type:e.type}},statusCode:dn[e.type],authMethod:t}):Error(`AI Gateway transcription stream failed: ${null!=e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message?e.message:sT(e)}`)}var ds=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t,r;let a,n=await this.config.createClientSecret({modelId:this.modelId,...e?.expiresAfterSeconds!=null&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:n.token,url:(t=this.config.baseURL,r=this.modelId,(a=new URL(`${t.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",r),a.toString()),...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}getWebSocketConfig(e){return{url:e.url,protocols:uS("ai-gateway-realtime.v1",e.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(e){return e}serializeClientEvent(e){return e}buildSessionConfig(e){return e}};let dl=uE.record(uE.string(),uE.unknown()),du=ui({id:"gateway.browserbase_fetch",inputSchema:l5(()=>l6(uE.object({url:uE.string().url().describe("URL of the page to fetch."),allow_redirects:uE.boolean().optional().describe("Whether to follow HTTP redirects (default: false)."),allow_insecure_ssl:uE.boolean().optional().describe("Whether to bypass TLS certificate verification (default: false). Only use for trusted hosts."),proxies:uE.boolean().optional().describe("Whether to route the request through Browserbase proxies (default: false)."),format:uE.enum(["raw","json","markdown"]).optional().describe("Output format. raw returns the response body unchanged, markdown returns page content as Markdown, and json returns structured content using schema."),schema:dl.optional().describe("JSON Schema for structured extraction. Only use with format set to json.")}))),outputSchema:l5(()=>l6(uE.union([uE.object({id:uE.string(),content:uE.union([uE.string(),dl]),contentType:uE.string(),encoding:uE.string(),headers:uE.record(uE.string(),uE.string()),statusCode:uE.number()}),uE.object({error:uE.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown"]),statusCode:uE.number().optional(),message:uE.string()})])))}),dc=ui({id:"gateway.browserbase_search",inputSchema:l5(()=>l6(uE.object({query:uE.string().min(1).max(200).describe("Web search query. Must be between 1 and 200 characters."),num_results:uE.number().int().min(1).max(25).optional().describe("Maximum number of results to return (1-25, default: 10).")}))),outputSchema:l5(()=>l6(uE.union([uE.object({query:uE.string(),requestId:uE.string(),results:uE.array(uE.object({id:uE.string(),title:uE.string(),url:uE.string(),author:uE.string().optional(),favicon:uE.string().optional(),image:uE.string().optional(),publishedDate:uE.string().optional()}))}),uE.object({error:uE.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown"]),statusCode:uE.number().optional(),message:uE.string()})])))}),dd=ui({id:"gateway.exa_search",inputSchema:l5(()=>l6(uE.object({query:uE.string().describe("Natural-language web search query. This is required."),type:uE.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:uE.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:uE.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:uE.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:uE.array(uE.string()).optional().describe("Only return results from these domains."),exclude_domains:uE.array(uE.string()).optional().describe("Exclude results from these domains."),start_published_date:uE.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:uE.string().optional().describe("Only return links published before this ISO 8601 date."),contents:uE.object({text:uE.union([uE.boolean(),uE.object({max_characters:uE.number().optional(),include_html_tags:uE.boolean().optional(),verbosity:uE.enum(["compact","standard","full"]).optional(),include_sections:uE.array(uE.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:uE.array(uE.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:uE.union([uE.boolean(),uE.object({query:uE.string().optional(),max_characters:uE.number().optional()})]).optional(),max_age_hours:uE.number().optional(),livecrawl_timeout:uE.number().optional(),subpages:uE.number().optional(),subpage_target:uE.union([uE.string(),uE.array(uE.string())]).optional(),extras:uE.object({links:uE.number().optional(),image_links:uE.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:l5(()=>l6(uE.union([uE.object({requestId:uE.string(),searchType:uE.string().optional(),resolvedSearchType:uE.string().optional(),results:uE.array(uE.object({title:uE.string(),url:uE.string(),id:uE.string(),publishedDate:uE.string().nullable().optional(),author:uE.string().nullable().optional(),image:uE.string().nullable().optional(),favicon:uE.string().nullable().optional(),text:uE.string().optional(),highlights:uE.array(uE.string()).optional(),highlightScores:uE.array(uE.number()).optional(),summary:uE.string().optional(),subpages:uE.array(uE.any()).optional(),extras:uE.object({links:uE.array(uE.string()).optional(),imageLinks:uE.array(uE.string()).optional()}).optional()})),costDollars:uE.object({total:uE.number().optional(),search:uE.record(uE.string(),uE.number()).optional()}).optional()}),uE.object({error:uE.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:uE.number().optional(),message:uE.string()})])))}),dp=ui({id:"gateway.parallel_search",inputSchema:l5(()=>l6(uE.object({objective:uE.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:uE.array(uE.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:uE.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:uE.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:uE.object({include_domains:uE.array(uE.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:uE.array(uE.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:uE.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:uE.object({max_chars_per_result:uE.number().optional().describe("Maximum characters per result."),max_chars_total:uE.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:uE.object({max_age_seconds:uE.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.")}))),outputSchema:l5(()=>l6(uE.union([uE.object({searchId:uE.string(),results:uE.array(uE.object({url:uE.string(),title:uE.string(),excerpt:uE.string(),publishDate:uE.string().nullable().optional(),relevanceScore:uE.number().optional()}))}),uE.object({error:uE.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:uE.number().optional(),message:uE.string()})])))}),dh=ui({id:"gateway.perplexity_search",inputSchema:l5(()=>l6(uE.object({query:uE.union([uE.string(),uE.array(uE.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:uE.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:uE.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:uE.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:uE.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:uE.array(uE.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:uE.array(uE.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:uE.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:uE.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:uE.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:uE.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:uE.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),outputSchema:l5(()=>l6(uE.union([uE.object({results:uE.array(uE.object({title:uE.string(),url:uE.string(),snippet:uE.string(),date:uE.string().optional(),lastUpdated:uE.string().optional()})),id:uE.string()}),uE.object({error:uE.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:uE.number().optional(),message:uE.string()})])))}),dm=uE.object({count:uE.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:uE.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:uE.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:uE.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:uE.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:uE.array(uE.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:uE.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),dg=uE.object({count:uE.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:uE.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:uE.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:uE.array(uE.string()).optional().describe("Only return results from these bare domains."),exclude_domains:uE.array(uE.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:uE.number().optional().describe("Maximum characters in each web-result snippet."),highlights:uE.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:uE.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:uE.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:uE.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),df=l5(()=>l6(uE.object({query:uE.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:uE.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:uE.object({data:dm.optional(),web:dg.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:uE.object({latitude:uE.number().describe("Latitude between -90 and 90."),longitude:uE.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:uE.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:uE.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:uE.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:uE.object({image_dark_mode:uE.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:uE.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:uE.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),dy=uE.union([uE.boolean(),uE.number(),uE.string()]).nullable(),dv=uE.object({content_format:uE.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:uE.number().optional(),data:uE.string().nullish(),records:uE.array(uE.record(uE.string(),dy)).nullish(),dataset:uE.object({columns:uE.array(uE.object({name:uE.string(),type:uE.enum(["boolean","date","datetime","number","string"]),unit:uE.string().nullish()})),rows:uE.array(uE.array(dy)),total_rows:uE.number(),truncated:uE.boolean(),ref:uE.string(),sources:uE.array(uE.object({name:uE.string(),index:uE.enum(["data","web"]).optional()})),provenance:uE.enum(["query","web_extraction"]).optional()}).nullish(),card_data:uE.object({}).passthrough().nullish(),card_data_schema:uE.object({}).passthrough().nullish(),url:uE.string().nullish(),expires_at:uE.string().nullish(),total_rows:uE.number().nullish(),truncated:uE.boolean().optional(),export_pricing:uE.object({baseline_usd:uE.number(),free_rows:uE.number(),max_rows_ceiling:uE.number(),row_cpm_usd:uE.number()}).nullish(),manifest:uE.array(uE.object({dtype:uE.enum(["boolean","date","datetime","number","string"]).nullish(),entity:uE.string().nullish(),metric:uE.string().nullish(),name:uE.string().nullish(),unit:uE.string().nullish()})).nullish()}).passthrough(),db=uE.object({card_id:uE.string().nullish(),title:uE.string().nullish(),description:uE.string().nullish(),semantic_description:uE.string().nullish(),webpage_url:uE.string().nullish(),image_url:uE.string().nullish(),embed_url:uE.string().nullish(),sources:uE.array(uE.object({source_name:uE.string().nullish(),source_description:uE.string().nullish(),source_index:uE.enum(["data","web"]),source_text:uE.string().nullish(),url:uE.string().nullish()})).nullish(),methodologies:uE.array(uE.object({methodology_name:uE.string().nullable(),methodology_description:uE.string().nullable()})).nullish(),source_indexes:uE.array(uE.enum(["data","web"])).nullish(),card_type:uE.string().nullish(),relevance:uE.enum(["High","Low","Medium"]).nullish(),content:dv.nullish(),exportable:uE.boolean().optional(),nodes:uE.array(uE.object({id:uE.string(),type:uE.enum(["entity","metric"]),name:uE.string(),description:uE.string().nullish()})).nullish(),metric_definitions:uE.array(uE.object({name:uE.string(),definition:uE.string()})).nullish(),data_freshness:uE.object({coverage_end:uE.string().nullish(),data_as_of:uE.string().nullish(),last_updated:uE.string().nullish()}).nullish()}).passthrough(),dw=uE.object({title:uE.string(),url:uE.string(),snippet:uE.string().nullish(),source_name:uE.string().nullish(),publish_date:uE.string().nullish(),content:dv.nullish()}).passthrough(),d_=ui({id:"gateway.tako_search",inputSchema:df,outputSchema:l5(()=>l6(uE.union([uE.object({request_id:uE.string(),cards:uE.array(db).optional(),web_results:uE.array(dw).optional(),usage:uE.object({total_cost_usd:uE.number(),compute:uE.object({cost_usd:uE.number()}).nullish(),data:uE.object({cost_usd:uE.number(),datasets:uE.number()}).nullish()}).nullish(),related:uE.array(uE.object({}).passthrough()).nullish()}).passthrough(),uE.object({error:uE.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:uE.number().optional(),message:uE.string()})])))}),dI={browserbaseFetch:(e={})=>du(e),browserbaseSearch:(e={})=>dc(e),exaSearch:(e={})=>dd(e),parallelSearch:(e={})=>dp(e),perplexitySearch:(e={})=>dh(e),takoSearch:(e={})=>d_(e)};async function dk(){return(0,nd.getContext)().headers?.["x-vercel-id"]}let dx=uE.object({token:uE.string(),expiresAt:uE.number().nullish()});async function dS(e){let t=lx({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await (0,nd.getVercelOidcToken)(),authMethod:"oidc"}}!function(e={}){var t;let r=null,a=null,n=e.metadataCacheRefreshMillis??3e5,o=0,i=(t=e.baseURL,t?.replace(/\/$/,"")??"https://ai-gateway.vercel.sh/v4/ai"),s=t=>le({Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":"0.0.1",[ct]:t.authMethod,...null!=e.teamIdOrSlug?{[cr]:e.teamIdOrSlug}:{},...e.headers},"ai-sdk-gateway/4.0.101"),l=async()=>{try{return s(await dS(e))}catch(e){throw uR.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},u=async()=>{try{return await dS(e)}catch(e){throw uR.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},c=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 r=s(await u()),a=new URL("/v1/realtime/client-secrets",i).toString();try{let{value:n}=await un({url:a,headers:r,body:{model:t.modelId,...null!=t.routeKind&&{routeKind:t.routeKind},...null!=t.expiresAfterSeconds&&{expiresIn:t.expiresAfterSeconds}},successfulResponseHandler:ud(dx),failedResponseHandler:uc({errorSchema:uE.any(),errorToMessage:e=>sT(e)??"unknown error"}),fetch:e.fetch});return{token:n.token,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}catch(e){throw await ce(e,await ca(r))}},d=()=>{let e=lx({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),t=lx({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),r=lx({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),a=lx({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let n=await dk();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...r&&{"ai-o11y-region":r},...n&&{"ai-o11y-request-id":n},...a&&{"ai-o11y-project-id":a}}}},p=t=>new cS(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:d()}),h=async()=>{let t=e._internal?.currentDate?.().getTime()??Date.now();return(!r||t-o>n)&&(o=t,r=new ci({baseURL:i,headers:l,fetch:e.fetch}).getAvailableModels().then(e=>(a=e,e)).catch(async e=>{throw await ce(e,await ca(await l()))})),a?Promise.resolve(a):r},m=async()=>new ci({baseURL:i,headers:l,fetch:e.fetch}).getCredits().catch(async e=>{throw await ce(e,await ca(await l()))}),g=async t=>new cu({baseURL:i,headers:l,fetch:e.fetch}).getSpendReport(t).catch(async e=>{throw await ce(e,await ca(await l()))}),f=async t=>new cd({baseURL:i,headers:l,fetch:e.fetch}).getGenerationInfo(t).catch(async e=>{throw await ce(e,await ca(await l()))}),y=function(e){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return p(e)};y.specificationVersion="v4",y.getAvailableModels=h,y.getCredits=m,y.getSpendReport=g,y.getGenerationInfo=f,y.imageModel=t=>new cT(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:d()}),y.languageModel=p,y.experimental_batch=()=>new ch({provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:d()});let v=t=>new cM(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:d()});y.embeddingModel=v,y.textEmbeddingModel=v,y.videoModel=t=>new cN(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:d()});let b=t=>new c1(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:d()});y.rerankingModel=b,y.reranking=b;let w=t=>new cK(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:d()});y.evaluationModel=w,y.evaluation=w;let _=t=>new c5(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:d()});y.speechModel=_,y.speech=_;let I=t=>new c8(t,{provider:"gateway",baseURL:i,headers:l,fetch:e.fetch,o11yHeaders:d(),webSocket:e.webSocket});y.transcriptionModel=I,y.transcription=I,y.experimental_transcription=Object.assign(e=>I(e),{getToken:async e=>{let t=await c({modelId:e.model,routeKind:"transcription",...null!=e.expiresAfterSeconds&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:t.token,url:c7(i,e.model),...null!=t.expiresAt&&{expiresAt:t.expiresAt}}}});let k=t=>new ds(t,{provider:"gateway.realtime",baseURL:i,teamIdOrSlug:e.teamIdOrSlug,createClientSecret:c});y.experimental_realtime=Object.assign(e=>k(e),{getToken:async e=>{let{model:t,...r}=e,a=await k(t).doCreateClientSecret(r);return{token:a.token,url:a.url,...null!=a.expiresAt&&{expiresAt:a.expiresAt}}}}),y.chat=y.languageModel,y.embedding=y.embeddingModel,y.image=y.imageModel,y.video=y.videoModel,y.tools=dI}();let dE="AI_InvalidArgumentError",dM=`vercel.ai.error.${dE}`,dj=Symbol.for(dM);var dA=class extends s_{constructor({parameter:e,value:t,message:r}){super({name:dE,message:`Invalid argument for parameter ${e}: ${r}`}),this[dj]=!0,this.parameter=e,this.value=t}static isInstance(e){return s_.hasMarker(e,dM)}};Symbol.for("vercel.ai.error.AI_InvalidStreamPartError"),Symbol.for("vercel.ai.error.AI_InvalidToolApprovalError"),Symbol.for("vercel.ai.error.AI_InvalidToolApprovalSignatureError"),Symbol.for("vercel.ai.error.AI_InvalidToolInputError"),Symbol.for("vercel.ai.error.AI_ToolCallNotFoundForApprovalError"),Symbol.for("vercel.ai.error.AI_MissingToolResultsError"),Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");let dT="AI_NoObjectGeneratedError",dR=`vercel.ai.error.${dT}`,dO=Symbol.for(dR);Symbol.for("vercel.ai.error.AI_NoOutputGeneratedError"),Symbol.for("vercel.ai.error.AI_NoSpeechGeneratedError"),Symbol.for("vercel.ai.error.AI_NoTranscriptGeneratedError"),Symbol.for("vercel.ai.error.AI_NoTranslationGeneratedError"),Symbol.for("vercel.ai.error.AI_NoVideoGeneratedError"),Symbol.for("vercel.ai.error.AI_NoSuchToolError"),Symbol.for("vercel.ai.error.AI_StreamProviderError"),Symbol.for("vercel.ai.error.AI_ToolCallRepairError"),Symbol.for("vercel.ai.error.AI_ToolChoiceViolationError"),Symbol.for("vercel.ai.error.AI_UIMessageStreamError"),Symbol.for("vercel.ai.error.AI_InvalidDataContentError"),Symbol.for("vercel.ai.error.AI_InvalidMessageRoleError"),Symbol.for("vercel.ai.error.AI_MessageConversionError"),Symbol.for("vercel.ai.error.AI_RetryError");let dC=async({url:e,maxBytes:t,abortSignal:r})=>{let a=e.toString();try{let e=le({},"ai-sdk/7.0.123",s2()),n=await lb({url:a,headers:e,abortSignal:r});if(!n.ok)throw await lt(n),new lo({url:a,statusCode:n.status,statusText:n.statusText});return{data:await lw({response:n,url:a,maxBytes:t??0x80000000}),mediaType:n.headers.get("content-type")??void 0}}catch(e){if(lo.isInstance(e))throw e;throw new lo({url:a,cause:e})}},dP={array:nc.array,boolean:nc.boolean,custom:nc.custom,discriminatedUnion:nc.discriminatedUnion,enum:nc.enum,instanceof:nc.instanceof,lazy:nc.lazy,literal:nc.literal,looseObject:nc.looseObject,never:nc.never,null:nc.null,number:nc.number,object:nc.object,record:nc.record,string:nc.string,union:nc.union,unknown:nc.unknown},d$=dP.lazy(()=>dP.union([dP.null(),dP.string(),dP.number(),dP.boolean(),dP.record(dP.string(),d$.optional()),dP.array(d$)])),dN=dP.record(dP.string(),dP.record(dP.string(),d$.optional())),dU=dP.union([dP.string(),dP.instanceof(Uint8Array),dP.instanceof(ArrayBuffer),dP.custom(function(e){return globalThis.Buffer?.isBuffer(e)??!1},{message:"Must be a Buffer"})]),dL=dP.record(dP.string(),dP.string()),dD=dP.object({type:dP.literal("text"),text:dP.string(),providerOptions:dN.optional()}),dF=dP.object({type:dP.literal("image"),image:dP.union([dU,dP.instanceof(URL),dL]),mediaType:dP.string().optional(),providerOptions:dN.optional()}),dq=dP.discriminatedUnion("type",[dP.object({type:dP.literal("data"),data:dU}),dP.object({type:dP.literal("url"),url:dP.instanceof(URL)}),dP.object({type:dP.literal("reference"),reference:dL}),dP.object({type:dP.literal("text"),text:dP.string()})]),dH=dP.discriminatedUnion("type",[dP.object({type:dP.literal("data"),data:dU}),dP.object({type:dP.literal("url"),url:dP.instanceof(URL)})]),dZ=dP.object({type:dP.literal("file"),data:dP.union([dq,dU,dP.instanceof(URL),dL]),filename:dP.string().optional(),mediaType:dP.string(),providerOptions:dN.optional()}),dB=dP.object({type:dP.literal("reasoning"),text:dP.string(),providerOptions:dN.optional()}),dV=dP.object({type:dP.literal("custom"),kind:dP.string().transform(e=>e),providerOptions:dN.optional()}),dz=dP.object({type:dP.literal("reasoning-file"),data:dP.union([dH,dU,dP.instanceof(URL)]),mediaType:dP.string(),providerOptions:dN.optional()}),dG=dP.object({type:dP.literal("tool-call"),toolCallId:dP.string(),toolName:dP.string(),input:dP.unknown(),providerOptions:dN.optional(),providerExecuted:dP.boolean().optional()}),dW=dP.discriminatedUnion("type",[dP.object({type:dP.literal("text"),value:dP.string(),providerOptions:dN.optional()}),dP.object({type:dP.literal("json"),value:d$,providerOptions:dN.optional()}),dP.object({type:dP.literal("execution-denied"),reason:dP.string().optional(),providerOptions:dN.optional()}),dP.object({type:dP.literal("error-text"),value:dP.string(),providerOptions:dN.optional()}),dP.object({type:dP.literal("error-json"),value:d$,providerOptions:dN.optional()}),dP.object({type:dP.literal("content"),value:dP.array(dP.union([dP.object({type:dP.literal("text"),text:dP.string(),providerOptions:dN.optional()}),dP.object({type:dP.literal("file"),data:dq,mediaType:dP.string(),filename:dP.string().optional(),providerOptions:dN.optional()}),dP.object({type:dP.literal("file-data"),data:dP.string(),mediaType:dP.string(),filename:dP.string().optional(),providerOptions:dN.optional()}),dP.object({type:dP.literal("file-url"),url:dP.string(),mediaType:dP.string().optional(),providerOptions:dN.optional()}),dP.object({type:dP.literal("file-id"),fileId:dP.union([dP.string(),dP.record(dP.string(),dP.string())]),providerOptions:dN.optional()}),dP.object({type:dP.literal("file-reference"),providerReference:dP.record(dP.string(),dP.string()),providerOptions:dN.optional()}),dP.object({type:dP.literal("image-data"),data:dP.string(),mediaType:dP.string(),providerOptions:dN.optional()}),dP.object({type:dP.literal("image-url"),url:dP.string(),providerOptions:dN.optional()}),dP.object({type:dP.literal("image-file-id"),fileId:dP.union([dP.string(),dP.record(dP.string(),dP.string())]),providerOptions:dN.optional()}),dP.object({type:dP.literal("image-file-reference"),providerReference:dP.record(dP.string(),dP.string()),providerOptions:dN.optional()}),dP.object({type:dP.literal("custom"),providerOptions:dN.optional()})]))})]),dY=dP.object({type:dP.literal("tool-result"),toolCallId:dP.string(),toolName:dP.string(),output:dW,providerOptions:dN.optional()}),dJ=dP.object({type:dP.literal("tool-approval-request"),approvalId:dP.string(),toolCallId:dP.string(),reason:dP.string().optional(),isAutomatic:dP.boolean().optional(),signature:dP.string().optional(),inputSchemaInput:dP.unknown().optional()}),dK=dP.object({type:dP.literal("tool-approval-response"),approvalId:dP.string(),approved:dP.boolean(),reason:dP.string().optional()}),dQ=dP.object({role:dP.literal("system"),content:dP.string(),providerOptions:dN.optional()}),dX=dP.object({role:dP.literal("user"),content:dP.union([dP.string(),dP.array(dP.union([dD,dF,dZ]))]),providerOptions:dN.optional()}),d0=dP.object({role:dP.literal("assistant"),content:dP.union([dP.string(),dP.array(dP.union([dD,dV,dZ,dB,dz,dG,dY,dJ]))]),providerOptions:dN.optional()}),d1=dP.object({role:dP.literal("tool"),content:dP.array(dP.union([dY,dK])),providerOptions:dN.optional()});dP.union([dQ,dX,d0,d1]),Symbol.for("vercel.ai.toolSearch");Symbol("ai-sdk-tool-call-input-schema-input"),new TextEncoder,new TextEncoder,l_({prefix:"aitxt",size:24}),l_({prefix:"call",size:24}),TransformStream;let d4=dP.record(dP.string(),d$.optional()),d2=l5(()=>l6(dP.union([dP.looseObject({type:dP.literal("text-start"),id:dP.string(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("text-delta"),id:dP.string(),delta:dP.string(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("text-end"),id:dP.string(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("error"),errorText:dP.string()}),dP.looseObject({type:dP.literal("tool-input-start"),toolCallId:dP.string(),toolName:dP.string(),providerExecuted:dP.boolean().optional(),providerMetadata:dN.optional(),toolMetadata:d4.optional(),dynamic:dP.boolean().optional(),title:dP.string().optional()}),dP.looseObject({type:dP.literal("tool-input-delta"),toolCallId:dP.string(),inputTextDelta:dP.string()}),dP.looseObject({type:dP.literal("tool-input-available"),toolCallId:dP.string(),toolName:dP.string(),input:dP.unknown(),providerExecuted:dP.boolean().optional(),providerMetadata:dN.optional(),toolMetadata:d4.optional(),dynamic:dP.boolean().optional(),title:dP.string().optional()}),dP.looseObject({type:dP.literal("tool-input-error"),toolCallId:dP.string(),toolName:dP.string(),input:dP.unknown(),providerExecuted:dP.boolean().optional(),providerMetadata:dN.optional(),toolMetadata:d4.optional(),dynamic:dP.boolean().optional(),errorText:dP.string(),title:dP.string().optional()}),dP.looseObject({type:dP.literal("tool-approval-request"),approvalId:dP.string(),toolCallId:dP.string(),approvalDescriptor:dP.unknown().optional(),inputSchemaInput:dP.unknown().optional(),reason:dP.string().optional(),isAutomatic:dP.boolean().optional(),signature:dP.string().optional()}),dP.looseObject({type:dP.literal("tool-approval-response"),approvalId:dP.string(),approved:dP.boolean(),reason:dP.string().optional(),providerExecuted:dP.boolean().optional(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("tool-output-available"),toolCallId:dP.string(),output:dP.unknown(),providerExecuted:dP.boolean().optional(),providerMetadata:dN.optional(),toolMetadata:d4.optional(),dynamic:dP.boolean().optional(),preliminary:dP.boolean().optional()}),dP.looseObject({type:dP.literal("tool-output-error"),toolCallId:dP.string(),errorText:dP.string(),providerExecuted:dP.boolean().optional(),providerMetadata:dN.optional(),toolMetadata:d4.optional(),dynamic:dP.boolean().optional()}),dP.looseObject({type:dP.literal("tool-output-denied"),toolCallId:dP.string()}),dP.looseObject({type:dP.literal("reasoning-start"),id:dP.string(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("reasoning-delta"),id:dP.string(),delta:dP.string(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("reasoning-end"),id:dP.string(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("custom"),kind:dP.string().transform(e=>e),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("source-url"),sourceId:dP.string(),url:dP.string(),title:dP.string().optional(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("source-document"),sourceId:dP.string(),mediaType:dP.string(),title:dP.string(),filename:dP.string().optional(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("file"),url:dP.string(),mediaType:dP.string(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.literal("reasoning-file"),url:dP.string(),mediaType:dP.string(),providerMetadata:dN.optional()}),dP.looseObject({type:dP.custom(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:dP.string().optional(),data:dP.unknown(),transient:dP.boolean().optional()}),dP.looseObject({type:dP.literal("start-step")}),dP.looseObject({type:dP.literal("finish-step")}),dP.looseObject({type:dP.literal("reset-step")}),dP.looseObject({type:dP.literal("start"),messageId:dP.string().optional(),messageMetadata:dP.unknown().optional()}),dP.looseObject({type:dP.literal("finish"),finishReason:dP.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:dP.unknown().optional()}),dP.looseObject({type:dP.literal("abort"),reason:dP.string().optional()}),dP.looseObject({type:dP.literal("message-metadata"),messageMetadata:dP.unknown()})])));function d5(e){return"dynamic-tool"===e.type}Symbol("streamRetryAttemptBoundary"),l_({prefix:"aitxt",size:24}),l_({prefix:"call",size:24}),l_({prefix:"aitxt",size:24}),l_({prefix:"call",size:24}),Symbol("streamRetryBoundary");let d9=dP.record(dP.string(),d$.optional()),d6=dP.record(dP.string(),dP.string());function d3(e){return({url:t,abortSignal:r})=>dC({url:t,maxBytes:e?.maxBytes,abortSignal:r})}l5(()=>{let e=dP.object({id:dP.string(),approved:dP.never().optional(),descriptor:dP.unknown().optional(),requestReason:dP.string().optional(),reason:dP.never().optional(),isAutomatic:dP.boolean().optional(),signature:dP.string().optional(),inputSchemaInput:dP.unknown().optional()}),t=e.extend({approved:dP.boolean(),reason:dP.string().optional()}),r=t.extend({approved:dP.literal(!0)}),a=t.extend({approved:dP.literal(!1)});return l6(dP.array(dP.object({id:dP.string(),role:dP.enum(["system","user","assistant"]),metadata:dP.unknown().optional(),parts:dP.array(dP.union([dP.object({type:dP.literal("text"),text:dP.string(),state:dP.enum(["streaming","done"]).optional(),providerMetadata:dN.optional()}),dP.object({type:dP.literal("reasoning"),id:dP.string().optional(),text:dP.string(),state:dP.enum(["streaming","done"]).optional(),providerMetadata:dN.optional()}),dP.object({type:dP.literal("custom"),kind:dP.string(),providerMetadata:dN.optional()}),dP.object({type:dP.literal("source-url"),sourceId:dP.string(),url:dP.string(),title:dP.string().optional(),providerMetadata:dN.optional()}),dP.object({type:dP.literal("source-document"),sourceId:dP.string(),mediaType:dP.string(),title:dP.string(),filename:dP.string().optional(),providerMetadata:dN.optional()}),dP.object({type:dP.literal("file"),mediaType:dP.string(),filename:dP.string().optional(),url:dP.string(),providerReference:d6.optional(),providerMetadata:dN.optional()}),dP.object({type:dP.literal("reasoning-file"),mediaType:dP.string(),url:dP.string(),providerMetadata:dN.optional()}),dP.object({type:dP.literal("step-start")}),dP.object({type:dP.string().startsWith("data-"),id:dP.string().optional(),data:dP.unknown()}),dP.object({type:dP.literal("dynamic-tool"),toolName:dP.string(),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("input-streaming"),input:dP.unknown().optional(),rawInput:dP.string().optional(),providerExecuted:dP.boolean().optional(),callProviderMetadata:dN.optional(),output:dP.never().optional(),errorText:dP.never().optional(),approval:dP.never().optional()}),dP.object({type:dP.literal("dynamic-tool"),toolName:dP.string(),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("input-available"),input:dP.unknown(),providerExecuted:dP.boolean().optional(),output:dP.never().optional(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),approval:dP.never().optional()}),dP.object({type:dP.literal("dynamic-tool"),toolName:dP.string(),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("approval-requested"),input:dP.unknown(),providerExecuted:dP.boolean().optional(),output:dP.never().optional(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),approval:e}),dP.object({type:dP.literal("dynamic-tool"),toolName:dP.string(),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("approval-responded"),input:dP.unknown(),providerExecuted:dP.boolean().optional(),output:dP.never().optional(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),approval:t}),dP.object({type:dP.literal("dynamic-tool"),toolName:dP.string(),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("output-available"),input:dP.unknown(),providerExecuted:dP.boolean().optional(),output:dP.unknown(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),resultProviderMetadata:dN.optional(),preliminary:dP.boolean().optional(),approval:r.optional()}),dP.object({type:dP.literal("dynamic-tool"),toolName:dP.string(),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("output-error"),input:dP.unknown().optional(),rawInput:dP.unknown().optional(),providerExecuted:dP.boolean().optional(),output:dP.never().optional(),errorText:dP.string(),callProviderMetadata:dN.optional(),resultProviderMetadata:dN.optional(),approval:r.optional()}),dP.object({type:dP.literal("dynamic-tool"),toolName:dP.string(),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("output-denied"),input:dP.unknown(),providerExecuted:dP.boolean().optional(),output:dP.never().optional(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),approval:a}),dP.object({type:dP.string().startsWith("tool-"),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("input-streaming"),providerExecuted:dP.boolean().optional(),callProviderMetadata:dN.optional(),input:dP.unknown().optional(),rawInput:dP.string().optional(),output:dP.never().optional(),errorText:dP.never().optional(),approval:dP.never().optional()}),dP.object({type:dP.string().startsWith("tool-"),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("input-available"),providerExecuted:dP.boolean().optional(),input:dP.unknown(),output:dP.never().optional(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),approval:dP.never().optional()}),dP.object({type:dP.string().startsWith("tool-"),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("approval-requested"),input:dP.unknown(),providerExecuted:dP.boolean().optional(),output:dP.never().optional(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),approval:e}),dP.object({type:dP.string().startsWith("tool-"),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("approval-responded"),input:dP.unknown(),providerExecuted:dP.boolean().optional(),output:dP.never().optional(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),approval:t}),dP.object({type:dP.string().startsWith("tool-"),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("output-available"),providerExecuted:dP.boolean().optional(),input:dP.unknown(),output:dP.unknown(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),resultProviderMetadata:dN.optional(),preliminary:dP.boolean().optional(),approval:r.optional()}),dP.object({type:dP.string().startsWith("tool-"),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("output-error"),providerExecuted:dP.boolean().optional(),input:dP.unknown().optional(),rawInput:dP.unknown().optional(),output:dP.never().optional(),errorText:dP.string(),callProviderMetadata:dN.optional(),resultProviderMetadata:dN.optional(),approval:r.optional()}),dP.object({type:dP.string().startsWith("tool-"),toolCallId:dP.string(),title:dP.string().optional(),toolMetadata:d9.optional(),state:dP.literal("output-denied"),providerExecuted:dP.boolean().optional(),input:dP.unknown(),output:dP.never().optional(),errorText:dP.never().optional(),callProviderMetadata:dN.optional(),approval:a})]))}).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"))}),l_({prefix:"call",size:24}),l_({prefix:"call",size:24}),new TextEncoder,l_({prefix:"call",size:24}),l_({prefix:"aiobj",size:24});let{atob:d8}=globalThis;async function d7({response:e,url:t,fallbackMessage:r}){let a=await e.text();return new sS({message:a||r,url:t,requestBodyValues:void 0,statusCode:e.status,responseBody:a})}l_({prefix:"aiobj",size:24}),d3(),dP.object({token:dP.string().refine(e=>e.trim().length>0),url:dP.string().refine(e=>{try{let t=new URL(e);return("ws:"===t.protocol||"wss:"===t.protocol)&&""!==t.hostname}catch{return!1}}),expiresAt:dP.number().positive().max(Number.MAX_SAFE_INTEGER).optional(),tools:dP.array(dP.object({type:dP.literal("function"),name:dP.string().min(1),description:dP.string().optional(),parameters:dP.record(dP.string(),dP.unknown())})).optional()}),Symbol.for("vercel.ai.error.AI_NoSuchProviderError"),l_({prefix:"call",size:24}),d3();var pe=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:n,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:i}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=n,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=i}async sendMessages({abortSignal:e,...t}){let r=await us(this.body),a=await us(this.headers),n=await us(this.credentials),o={...s7(a),...s7(t.headers)},i=await this.prepareSendMessagesRequest?.({api:this.api,id:t.chatId,messages:t.messages,body:{...r,...t.body},headers:o,credentials:n,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId}),s=i?.api??this.api,l=i?.headers!==void 0?s7(i.headers):o,u=i?.body!==void 0?i.body:{...r,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},c=i?.credentials??n,d=await (this.fetch??globalThis.fetch)(s,{method:"POST",headers:{"content-type":"application/json",...l},body:JSON.stringify(u),credentials:c,signal:e});if(!d.ok)throw await d7({response:d,url:s,fallbackMessage:"Failed to fetch the chat response."});if(!d.body)throw new sA({message:"The response body is empty."});return this.processResponseStream(d.body)}async reconnectToStream(e){let t=await us(this.body),r=await us(this.headers),a=await us(this.credentials),n={...s7(r),...s7(e.headers)},o=await this.prepareReconnectToStreamRequest?.({api:this.api,id:e.chatId,body:{...t,...e.body},headers:n,credentials:a,requestMetadata:e.metadata}),i=o?.api;if(null==i){var s,l;let t;if("."===e.chatId||".."===e.chatId)throw new dA({parameter:"chatId",value:e.chatId,message:'Chat IDs must not be "." or ".." when using the default reconnect URL.'});s=this.api,l=`/${encodeURIComponent(e.chatId)}/stream`,i=-1===(t=s.search(/[?#]/))?`${s}${l}`:`${s.slice(0,t)}${l}${s.slice(t)}`}let u=o?.headers!==void 0?s7(o.headers):n,c=o?.credentials??a,d=await (this.fetch??globalThis.fetch)(i,{method:"GET",headers:u,credentials:c,signal:e.abortSignal});if(204===d.status)return null;if(!d.ok)throw await d7({response:d,url:i,fallbackMessage:"Failed to fetch the chat response."});if(!d.body)throw new sA({message:"The response body is empty."});return this.processResponseStream(d.body)}},pt=class extends pe{constructor(e={}){super(e)}processResponseStream(e){return ut({stream:e,schema:d2}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}};e.s(["DefaultChatTransport",0,pt,"getToolName",0,function(e){return d5(e)?e.toolName:e.type.split("-").slice(1).join("-")},"isToolUIPart",0,function(e){return e.type.startsWith("tool-")||d5(e)}],640262)},99970,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={},l={SYMBOL_FOR_REQ_CONTEXT:()=>c,getContext:()=>d};for(var u in l)a(s,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))i.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=n(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);let c=Symbol.for("@vercel/request-context");function d(){let e=globalThis;return e[c]?.get?.()??{}}},891754,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={},l={AccessTokenMissingError:()=>c,RefreshAccessTokenFailedError:()=>d};for(var u in l)a(s,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))i.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=n(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);class c extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class d extends Error{constructor(e){super("Failed to refresh authentication token.",{cause:e}),this.name="RefreshAccessTokenFailedError"}}},725150,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,s={},l={AccessTokenMissingError:()=>d.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>d.RefreshAccessTokenFailedError,getContext:()=>c.getContext,getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>h,getVercelToken:()=>m};for(var u in l)a(s,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let s of o(t))i.call(e,s)||void 0===s||a(e,s,{get:()=>t[s],enumerable:!(r=n(t,s))||r.enumerable});return e})(a({},"__esModule",{value:!0}),s);var c=e.r(99970),d=e.r(891754);async function p(){return""}function h(){return""}async function m(){throw Error("getVercelToken is not supported in browser environments")}},561866,(e,t,r)=>{t.exports=function(e,t){let r;if("function"!=typeof e)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let a=0;return function(...n){clearTimeout(r);let o=Date.now(),i=t-(o-a);i<=0?(a=o,e.apply(this,n)):r=setTimeout(()=>{a=Date.now(),e.apply(this,n)},i)}}}]);