thursday-agent 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (535) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -2
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +5 -5
  5. package/.next/routes-manifest.json +24 -6
  6. package/.next/server/app/_global-error/page.js +2 -2
  7. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +2 -2
  11. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page.js +2 -2
  15. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +14 -14
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
  21. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/.next/server/app/api/artifact/route.js +3 -3
  23. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/memory/files/route/app-paths-manifest.json +3 -0
  25. package/.next/server/app/api/bot/memory/files/route.js +10 -0
  26. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -0
  27. package/.next/server/app/api/bot/memory/files/route_client-reference-manifest.js +3 -0
  28. package/.next/server/app/api/bot/memory/route/app-paths-manifest.json +3 -0
  29. package/.next/server/app/api/bot/memory/route.js +14 -0
  30. package/.next/server/app/api/bot/{notes → memory}/route.js.nft.json +1 -1
  31. package/.next/server/app/api/bot/memory/route_client-reference-manifest.js +3 -0
  32. package/.next/server/app/api/bot/route.js +6 -6
  33. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  34. package/.next/server/app/api/bot/task/[id]/route.js +8 -8
  35. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  36. package/.next/server/app/api/bot/task/route.js +8 -8
  37. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  38. package/.next/server/app/api/config/route.js +5 -5
  39. package/.next/server/app/api/config/route.js.nft.json +1 -1
  40. package/.next/server/app/api/events/route.js +4 -5
  41. package/.next/server/app/api/events/route.js.nft.json +1 -1
  42. package/.next/server/app/api/file/[...path]/route.js +3 -3
  43. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/catalog/route.js +9 -8
  45. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  46. package/.next/server/app/api/llm-model/credits/route/app-paths-manifest.json +3 -0
  47. package/.next/server/app/api/llm-model/credits/route/build-manifest.json +12 -0
  48. package/.next/server/app/api/llm-model/credits/route/server-reference-manifest.json +4 -0
  49. package/.next/server/app/api/llm-model/credits/route.js +16 -0
  50. package/.next/server/app/api/llm-model/credits/route.js.map +5 -0
  51. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -0
  52. package/.next/server/app/api/llm-model/credits/route_client-reference-manifest.js +3 -0
  53. package/.next/server/app/api/llm-model/route.js +10 -8
  54. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  55. package/.next/server/app/api/llm-model/subscription/route/app-paths-manifest.json +3 -0
  56. package/.next/server/app/api/llm-model/subscription/route/build-manifest.json +12 -0
  57. package/.next/server/app/api/llm-model/subscription/route/server-reference-manifest.json +4 -0
  58. package/.next/server/app/api/llm-model/subscription/route.js +15 -0
  59. package/.next/server/app/api/llm-model/subscription/route.js.map +5 -0
  60. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -0
  61. package/.next/server/app/api/llm-model/subscription/route_client-reference-manifest.js +3 -0
  62. package/.next/server/app/api/mcp/[name]/route.js +4 -4
  63. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/mcp/oauth/callback/route.js +5 -5
  65. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  66. package/.next/server/app/api/mcp/route.js +4 -4
  67. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  68. package/.next/server/app/api/mcp/tools/route.js +4 -4
  69. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  70. package/.next/server/app/api/memory/edit/route/app-paths-manifest.json +3 -0
  71. package/.next/server/app/api/memory/edit/route/build-manifest.json +12 -0
  72. package/.next/server/app/api/memory/edit/route/server-reference-manifest.json +4 -0
  73. package/.next/server/app/api/memory/edit/route.js +24 -0
  74. package/.next/server/app/api/memory/edit/route.js.map +5 -0
  75. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -0
  76. package/.next/server/app/api/memory/{tidy → edit}/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/memory/route.js +6 -7
  78. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  79. package/.next/server/app/api/skills/[source]/[name]/route.js +3 -3
  80. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  81. package/.next/server/app/api/skills/route.js +3 -3
  82. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  83. package/.next/server/app/api/thursday/call/route.js +9 -7
  84. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  85. package/.next/server/app/api/thursday/skills/route.js +9 -7
  86. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  87. package/.next/server/app/api/thursday/tool-call/route.js +17 -15
  88. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  89. package/.next/server/app/api/workspace/route.js +4 -5
  90. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  91. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  92. package/.next/server/app/artifact/[...path]/page.js +5 -6
  93. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  94. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/favicon.ico/route.js +3 -4
  96. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  97. package/.next/server/app/favicon.ico.body +0 -0
  98. package/.next/server/app/page/server-reference-manifest.json +57 -90
  99. package/.next/server/app/page.js +10 -10
  100. package/.next/server/app/page.js.nft.json +1 -1
  101. package/.next/server/app/page_client-reference-manifest.js +1 -1
  102. package/.next/server/app-paths-manifest.json +5 -2
  103. package/.next/server/chunks/[externals]__0dzuk6_._.js +3 -0
  104. package/.next/server/chunks/[root-of-the-server]__01dkp4a._.js +3 -0
  105. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +1 -1
  106. package/.next/server/chunks/[root-of-the-server]__02xjoto._.js +3 -0
  107. package/.next/server/chunks/[root-of-the-server]__04q--0f._.js +8 -0
  108. package/.next/server/chunks/[root-of-the-server]__0bl-e63._.js +3 -0
  109. package/.next/server/chunks/[root-of-the-server]__0ce8nf8._.js +5 -0
  110. package/.next/server/chunks/[root-of-the-server]__0ffbg85._.js +3 -0
  111. package/.next/server/chunks/[root-of-the-server]__0j7z0r3._.js +12 -0
  112. package/.next/server/chunks/[root-of-the-server]__0jq4ohy._.js +8 -0
  113. package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +8 -0
  114. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +3 -0
  115. package/.next/server/chunks/[root-of-the-server]__0pa2n68._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__0q0vvt2._.js +5 -0
  117. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +5 -0
  118. package/.next/server/chunks/[root-of-the-server]__11n256_._.js +5 -0
  119. package/.next/server/chunks/[root-of-the-server]__12cabg9._.js +3 -0
  120. package/.next/server/chunks/[root-of-the-server]__1339jnv._.js +8 -0
  121. package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js +5 -0
  122. package/.next/server/chunks/[root-of-the-server]__18_teo8._.js +8 -0
  123. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +5 -0
  124. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +3 -0
  125. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +5 -5
  126. package/.next/server/chunks/[root-of-the-server]__1fizn31._.js +3 -0
  127. package/.next/server/chunks/[root-of-the-server]__1llj3-b._.js +3 -0
  128. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +11 -0
  129. package/.next/server/chunks/[root-of-the-server]__1p8m3f4._.js +3 -0
  130. package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +8 -0
  131. package/.next/server/chunks/_0-73of8._.js +5 -5
  132. package/.next/server/chunks/_0-fjql4._.js +26 -0
  133. package/.next/server/chunks/_00xh_q0._.js +27 -0
  134. package/.next/server/chunks/{_0pppbb5._.js → _03kp0jp._.js} +163 -36
  135. package/.next/server/chunks/_051qh8u._.js +3 -0
  136. package/.next/server/chunks/{node_modules_next_04q-o58._.js → _05dla15._.js} +2 -2
  137. package/.next/server/chunks/_05h2cii._.js +1 -1
  138. package/.next/server/chunks/_0c9j6rb._.js +49 -0
  139. package/.next/server/chunks/_0fzqt2y._.js +130 -0
  140. package/.next/server/chunks/{_0vnutv9._.js → _0ioz3nd._.js} +1 -1
  141. package/.next/server/chunks/_0iwfby5._.js +3 -0
  142. package/.next/server/chunks/_0mecv0f._.js +26 -0
  143. package/.next/server/chunks/_0mh8j4m._.js +3 -0
  144. package/.next/server/chunks/_0n74zsf._.js +4 -4
  145. package/.next/server/chunks/_0obojvv._.js +3 -0
  146. package/.next/server/chunks/_0recufk._.js +49 -0
  147. package/.next/server/chunks/_0rnf-6n._.js +4 -4
  148. package/.next/server/chunks/_0sb7tlz._.js +3 -0
  149. package/.next/server/chunks/_0u10wmw._.js +5 -5
  150. package/.next/server/chunks/_0u4aiy2._.js +3 -0
  151. package/.next/server/chunks/_0wp4le3._.js +1 -1
  152. package/.next/server/chunks/_0y5fg-x._.js +1 -1
  153. package/.next/server/chunks/_1230wbx._.js +10 -0
  154. package/.next/server/chunks/_12nheja._.js +3 -0
  155. package/.next/server/chunks/_13510xh._.js +3 -0
  156. package/.next/server/chunks/_15hq89o._.js +1 -1
  157. package/.next/server/chunks/_17l5ygt._.js +49 -0
  158. package/.next/server/chunks/_18-1wcc._.js +5 -5
  159. package/.next/server/chunks/_1_5mnq4._.js +4 -4
  160. package/.next/server/chunks/_1_9mjx-._.js +3 -0
  161. package/.next/server/chunks/_1d0j961._.js +6 -0
  162. package/.next/server/chunks/_1d5zmy8._.js +1 -1
  163. package/.next/server/chunks/_1drgfx4._.js +4 -4
  164. package/.next/server/chunks/_1f46eie._.js +3 -0
  165. package/.next/server/chunks/_1h5_8sk._.js +3 -0
  166. package/.next/server/chunks/_1hdnxb7._.js +3 -0
  167. package/.next/server/chunks/_1j8k_j5._.js +3 -0
  168. package/.next/server/chunks/_1krd9rf._.js +3 -0
  169. package/.next/server/chunks/_1nc0eui._.js +11 -0
  170. package/.next/server/chunks/_1nula3v._.js +3 -0
  171. package/.next/server/chunks/_1pf4qe-._.js +3 -0
  172. package/.next/server/chunks/_1php4eq._.js +1 -1
  173. package/.next/server/chunks/_1qxheoa._.js +3 -0
  174. package/.next/server/chunks/_1x6kd1r._.js +3 -0
  175. package/.next/server/chunks/_1yuv4vp._.js +1 -1
  176. package/.next/server/chunks/_1zjrdag._.js +3 -0
  177. package/.next/server/chunks/_next-internal_server_app_api_bot_memory_files_route_actions_1_xd_8f.js +3 -0
  178. package/.next/server/chunks/_next-internal_server_app_api_bot_memory_route_actions_1a8xfr7.js +3 -0
  179. package/.next/server/chunks/_next-internal_server_app_api_llm-model_credits_route_actions_0v424pb.js +3 -0
  180. package/.next/server/chunks/_next-internal_server_app_api_llm-model_subscription_route_actions_0-udcm5.js +3 -0
  181. package/.next/server/chunks/_next-internal_server_app_api_memory_edit_route_actions_02sfnmr.js +3 -0
  182. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  183. package/.next/server/chunks/features_0rpfxbk._.js +3 -0
  184. package/.next/server/chunks/features_1qf3cei._.js +3 -0
  185. package/.next/server/chunks/features_bot_0zt92oh._.js +3 -0
  186. package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +3 -0
  187. package/.next/server/chunks/features_memory_1uqvksn._.js +6 -0
  188. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0a1rd09._.js → node_modules_consola_dist_chunks_prompt_mjs_0i7cvml._.js} +1 -1
  189. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_06067w6._.js → node_modules_consola_dist_chunks_prompt_mjs_0icqaqw._.js} +1 -1
  190. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_096ais_._.js → node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js} +1 -1
  191. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_02s3hjt._.js → node_modules_consola_dist_chunks_prompt_mjs_0v_7drq._.js} +1 -1
  192. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js +3 -0
  193. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0tvkfgh._.js → node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js} +1 -1
  194. package/.next/server/chunks/ssr/[root-of-the-server]__09q9med._.js +1 -1
  195. package/.next/server/chunks/ssr/{[root-of-the-server]__1qfqvmg._.js → [root-of-the-server]__0_69wqr._.js} +2 -2
  196. package/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js +1 -1
  197. package/.next/server/chunks/ssr/[root-of-the-server]__0i8ie7f._.js +3 -0
  198. package/.next/server/chunks/ssr/{[root-of-the-server]__0jsmmb-._.js → [root-of-the-server]__0mz33a7._.js} +1 -1
  199. package/.next/server/chunks/ssr/[root-of-the-server]__0tbkdlx._.js +3 -0
  200. package/.next/server/chunks/ssr/[root-of-the-server]__0vnmv-s._.js +3 -0
  201. package/.next/server/chunks/ssr/{[root-of-the-server]__0f6s48x._.js → [root-of-the-server]__0xpcv9w._.js} +3 -3
  202. package/.next/server/chunks/ssr/[root-of-the-server]__0xtssj3._.js +1 -1
  203. package/.next/server/chunks/ssr/[root-of-the-server]__0zkv7z_._.js +3 -0
  204. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +57 -0
  205. package/.next/server/chunks/ssr/[root-of-the-server]__15_uhip._.js +3 -0
  206. package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
  207. package/.next/server/chunks/ssr/{[root-of-the-server]__0m1b5ky._.js → [root-of-the-server]__1cyjywu._.js} +1 -1
  208. package/.next/server/chunks/ssr/[root-of-the-server]__1eh7hid._.js +3 -0
  209. package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +43 -0
  210. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  211. package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +4 -0
  212. package/.next/server/chunks/ssr/[root-of-the-server]__1pduf5n._.js +3 -0
  213. package/.next/server/chunks/ssr/{_1mznrxk._.js → _001_ms1._.js} +3 -3
  214. package/.next/server/chunks/ssr/_01_6m32._.js +3 -0
  215. package/.next/server/chunks/ssr/_01n3o0m._.js +3 -0
  216. package/.next/server/chunks/ssr/_07uchnc._.js +3 -0
  217. package/.next/server/chunks/ssr/_0ap2fzn._.js +3 -0
  218. package/.next/server/chunks/ssr/_0c-ql2m._.js +3 -0
  219. package/.next/server/chunks/ssr/_0h42fze._.js +3 -0
  220. package/.next/server/chunks/ssr/_0h7zdni._.js +1 -1
  221. package/.next/server/chunks/ssr/_0i_6q1w._.js +41 -0
  222. package/.next/server/chunks/ssr/_0kbkmar._.js +3 -0
  223. package/.next/server/chunks/ssr/{_077-g6s._.js → _0mb8zc8._.js} +3 -3
  224. package/.next/server/chunks/ssr/_0mo2w06._.js +3 -0
  225. package/.next/server/chunks/ssr/{_13punpm._.js → _0q0zan6._.js} +2 -2
  226. package/.next/server/chunks/ssr/{_040sk32._.js → _0u2jv_x._.js} +76 -82
  227. package/.next/server/chunks/ssr/_0y0tiht._.js +4 -0
  228. package/.next/server/chunks/ssr/_0zhoc3r._.js +3 -0
  229. package/.next/server/chunks/ssr/_1-teee5._.js +3 -3
  230. package/.next/server/chunks/ssr/_13fke0x._.js +3 -0
  231. package/.next/server/chunks/ssr/{_1lip4th._.js → _13z3f85._.js} +2 -2
  232. package/.next/server/chunks/ssr/_14_lw10._.js +3 -0
  233. package/.next/server/chunks/ssr/_15j2_8f._.js +3 -0
  234. package/.next/server/chunks/ssr/{_09ja_w1._.js → _1eoqg_g._.js} +2 -2
  235. package/.next/server/chunks/ssr/_1sji22n._.js +3 -0
  236. package/.next/server/chunks/ssr/_1spzm8z._.js +3 -0
  237. package/.next/server/chunks/ssr/{_0x_nu5e._.js → _1vi_uo7._.js} +2 -2
  238. package/.next/server/chunks/ssr/_1vyd1ji._.js +1 -1
  239. package/.next/server/chunks/ssr/{_1m3bsfr._.js → _1xvgn77._.js} +2 -2
  240. package/.next/server/chunks/ssr/_20kd_n0._.js +42 -0
  241. package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +3 -0
  242. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  243. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  244. package/.next/server/chunks/ssr/lib_date-like_ts_02is0pw._.js +3 -0
  245. package/.next/server/chunks/ssr/{node_modules_18_dk7_._.js → node_modules_063xwpp._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_01qnv-a._.js → node_modules_0bvraul._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_0n1kj4p._.js → node_modules_0eu1va6._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_0kl7-tn._.js → node_modules_0h50b8n._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_0_n241r._.js → node_modules_0h5hnr1._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_0lrjk5t._.js → node_modules_0h7u60n._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_0ndvxub._.js → node_modules_0lm7_vm._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_13r44jq._.js → node_modules_0mwym0g._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_17lrt3y._.js → node_modules_0rjg6t1._.js} +1 -1
  254. package/.next/server/chunks/ssr/node_modules_0x3-ply._.js +3 -0
  255. package/.next/server/chunks/ssr/{node_modules_004qlr4._.js → node_modules_0y_cded._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_0kxz4gt._.js → node_modules_0z5tsu8._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_0iz1rzd._.js → node_modules_0zp9r92._.js} +1 -1
  258. package/.next/server/chunks/ssr/{node_modules_19dp7ko._.js → node_modules_1-hc6uv._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_1q0p85z._.js → node_modules_113tz0l._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_1toafc-._.js → node_modules_124bue5._.js} +1 -1
  261. package/.next/server/chunks/ssr/node_modules_17bwo43._.js +55 -0
  262. package/.next/server/chunks/ssr/{node_modules_08d8bke._.js → node_modules_1_n3ztw._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_1dwguw_._.js → node_modules_1bc7gu8._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_20yebtj._.js → node_modules_1bgb6-f._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_1n5ygqe._.js → node_modules_1h4a4pp._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_04n7mjs._.js → node_modules_1i7u1ia._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_1hn8z1f._.js → node_modules_1juq3hs._.js} +1 -1
  268. package/.next/server/chunks/ssr/{node_modules_1xyd7ov._.js → node_modules_1l0qtdu._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_0m93zeg._.js → node_modules_1t9cyee._.js} +1 -1
  270. package/.next/server/chunks/ssr/{node_modules_09xhur7._.js → node_modules_1uuj9x1._.js} +1 -1
  271. package/.next/server/chunks/ssr/{node_modules_1hd-5tv._.js → node_modules_1vqb6po._.js} +1 -1
  272. package/.next/server/chunks/ssr/{node_modules_1zu988w._.js → node_modules_1xx28h1._.js} +1 -1
  273. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m9a4y0._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0d3skpl._.js} +1 -1
  274. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_13w_wy9._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i44kk5._.js} +1 -1
  275. package/.next/server/chunks/ssr/node_modules_@vercel_oidc_dist_0qe30a_._.js +3 -0
  276. package/.next/server/chunks/ssr/{node_modules_next_dist_0w6mzq5._.js → node_modules_next_dist_0drixxt._.js} +4 -4
  277. package/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +2 -2
  278. package/.next/server/instrumentation.js +1 -1
  279. package/.next/server/middleware-build-manifest.js +3 -3
  280. package/.next/server/pages/404.html +1 -1
  281. package/.next/server/pages/500.html +1 -1
  282. package/.next/server/server-reference-manifest.js +1 -1
  283. package/.next/server/server-reference-manifest.json +58 -91
  284. package/.next/static/chunks/{31ttnjt6g35a0.js → 0ev4hyghq0mbb.js} +1 -1
  285. package/.next/static/chunks/0r5qcctujhxli.js +1 -0
  286. package/.next/static/chunks/0tmgrnlje14-s.js +3 -0
  287. package/.next/static/chunks/0x79tx04dxbpp.js +1 -0
  288. package/.next/static/chunks/0xzgvc0fkdb6t.js +1 -0
  289. package/.next/static/chunks/10teww7wt-f6h.js +1 -0
  290. package/.next/static/chunks/14hgtsjg-kael.css +1 -0
  291. package/.next/static/chunks/17donp69y4do7.js +40 -0
  292. package/.next/static/chunks/{3_h9txt3tq8t8.js → 1dkjg87pxk0n9.js} +1 -1
  293. package/.next/static/chunks/1ekc7ul556kbl.js +1 -0
  294. package/.next/static/chunks/{3ard_noqapnw1.js → 1grhjo7a5a0_-.js} +1 -1
  295. package/.next/static/chunks/1kq8h8wi_e0bc.js +53 -0
  296. package/.next/static/chunks/1okqiww3pnwka.js +1 -0
  297. package/.next/static/chunks/26-pr2c9ro222.js +1 -0
  298. package/.next/static/chunks/{18vhba44l1fc9.js → 280t0_e99i276.js} +1 -1
  299. package/.next/static/chunks/28cizcdaabd4h.js +1 -0
  300. package/.next/static/chunks/2a0k6jlq0_v1u.js +2 -0
  301. package/.next/static/chunks/2fzs9fm8yarvq.js +1 -0
  302. package/.next/static/chunks/2h0sd2vumhb15.js +1 -0
  303. package/.next/static/chunks/2hw2f6zmt7fmt.js +1 -0
  304. package/.next/static/chunks/2t4vhi3m8ahya.js +1 -0
  305. package/.next/static/chunks/2tigdtz3dpcy8.js +1 -0
  306. package/.next/static/chunks/3111pj5wnjgos.js +1 -0
  307. package/.next/static/chunks/{07kl352c-lvcz.js → 3agpgkwaa321p.js} +1 -1
  308. package/.next/static/chunks/3cfi_q6d_wtci.js +1 -0
  309. package/.next/static/chunks/3ok9_x74rip3v.js +1 -0
  310. package/.next/static/chunks/3xk7yqgomx7yq.js +1 -0
  311. package/.next/static/chunks/3xpbkl66ssib5.js +38 -0
  312. package/.next/static/media/favicon.37o1pjldwi2uc.ico +0 -0
  313. package/README.md +6 -4
  314. package/app/api/bot/memory/files/route.ts +14 -0
  315. package/app/api/bot/memory/route.ts +5 -0
  316. package/app/api/events/app-event.ts +3 -5
  317. package/app/api/llm-model/credits/route.ts +11 -0
  318. package/app/api/llm-model/route.ts +6 -1
  319. package/app/api/llm-model/subscription/route.ts +11 -0
  320. package/app/api/memory/edit/route.ts +7 -0
  321. package/app/api/memory/route.ts +21 -0
  322. package/app/api/query-key.ts +19 -4
  323. package/bin/thursday.mjs +3 -0
  324. package/components/ui/shiny-text.tsx +48 -134
  325. package/database/migrations/{20260909060813_optimal_sabretooth → 20260910173049_numerous_spirit}/migration.sql +24 -34
  326. package/database/migrations/{20260909060813_optimal_sabretooth → 20260910173049_numerous_spirit}/snapshot.json +71 -145
  327. package/database/migrations/20260911030320_opposite_jack_power/migration.sql +1 -0
  328. package/database/migrations/{20260909063821_bitter_tenebrous → 20260911030320_opposite_jack_power}/snapshot.json +57 -184
  329. package/features/ai/chatgpt.ts +617 -0
  330. package/features/ai/components/chatgpt-sign-in.tsx +66 -0
  331. package/features/ai/components/model-picker.tsx +17 -1
  332. package/features/ai/components/provider-icon.tsx +1 -0
  333. package/features/ai/load-tools.ts +58 -42
  334. package/features/ai/model.schema.ts +232 -34
  335. package/features/ai/model.ts +169 -24
  336. package/features/ai/prompts/bot.prompt.ts +156 -65
  337. package/features/ai/prompts/memory-edit.prompt.ts +33 -0
  338. package/features/ai/prompts/prompt-helper.ts +45 -26
  339. package/features/ai/prompts/thursday.prompt.ts +40 -17
  340. package/features/ai/tools/bot.tool.ts +35 -52
  341. package/features/ai/tools/connected.ts +17 -4
  342. package/features/ai/tools/memory.tool.ts +133 -72
  343. package/features/ai/tools/search.tool.ts +136 -47
  344. package/features/ai/tools/tool-name.ts +2 -5
  345. package/features/ai/tools/workspace.tool.ts +2 -1
  346. package/features/bot/bot.action.ts +8 -18
  347. package/features/bot/bot.memory.ts +89 -0
  348. package/features/bot/bot.query.ts +37 -57
  349. package/features/bot/bot.run.ts +507 -241
  350. package/features/bot/bot.runner.ts +410 -114
  351. package/features/bot/bot.schema.ts +79 -19
  352. package/features/bot/bot.seed.ts +89 -16
  353. package/features/bot/components/bot-mark.tsx +122 -20
  354. package/features/bot/components/bot-room.tsx +159 -130
  355. package/features/bot/components/bot-setting.tsx +790 -402
  356. package/features/bot/components/bot-tool.tsx +2 -6
  357. package/features/bot/components/mark-palette.tsx +54 -0
  358. package/features/bot/components/path-chips.tsx +1 -1
  359. package/features/bot/components/task-badge.tsx +26 -6
  360. package/features/bot/components/task-reply.tsx +22 -33
  361. package/features/bot/components/task-setting.tsx +20 -17
  362. package/features/bot/task.query.ts +215 -28
  363. package/features/bot/task.store.ts +53 -9
  364. package/features/config/components/config-setting.tsx +265 -34
  365. package/features/config/components/models-badge.tsx +42 -0
  366. package/features/config/config.action.ts +12 -0
  367. package/features/config/config.const.ts +38 -2
  368. package/features/connectors/mcp.manager.ts +10 -2
  369. package/features/intro/components/intro.tsx +47 -46
  370. package/features/memory/components/memory-edit.tsx +338 -0
  371. package/features/memory/components/memory-setting.tsx +75 -77
  372. package/features/memory/memory.action.ts +3 -43
  373. package/features/memory/memory.edit.ts +87 -0
  374. package/features/memory/memory.query.ts +24 -42
  375. package/features/memory/memory.schema.ts +29 -106
  376. package/features/settings/components/settings.tsx +2 -0
  377. package/features/settings/settings.alert.ts +3 -1
  378. package/features/thursday/components/ascii-orb.tsx +106 -90
  379. package/features/thursday/components/boot.tsx +7 -0
  380. package/features/thursday/components/call-log.tsx +219 -92
  381. package/features/thursday/components/face.tsx +6 -4
  382. package/features/thursday/components/tab-state.tsx +97 -0
  383. package/features/thursday/components/thursday-mark.tsx +4 -1
  384. package/features/thursday/components/thursday-setting.tsx +17 -47
  385. package/features/thursday/components/thursday.tsx +208 -95
  386. package/features/thursday/thursday.action.ts +12 -17
  387. package/features/thursday/thursday.query.ts +61 -70
  388. package/features/thursday/thursday.schema.ts +20 -7
  389. package/features/thursday/tool-line.ts +85 -11
  390. package/features/thursday/use-thursday.ts +86 -59
  391. package/features/workspace/components/file-view.tsx +4 -2
  392. package/features/workspace/workspace.ts +110 -26
  393. package/lib/limits.ts +1 -1
  394. package/lib/oauth-page.ts +27 -0
  395. package/lib/realtime/openai.ts +2 -2
  396. package/lib/realtime/realtime.protocol.ts +1 -1
  397. package/lib/realtime/realtime.tap.ts +122 -0
  398. package/lib/sandbox.ts +59 -36
  399. package/package.json +1 -1
  400. package/skills/browser/SKILL.md +55 -34
  401. package/.next/server/app/api/bot/notes/route/app-paths-manifest.json +0 -3
  402. package/.next/server/app/api/bot/notes/route.js +0 -14
  403. package/.next/server/app/api/bot/notes/route_client-reference-manifest.js +0 -3
  404. package/.next/server/app/api/memory/tidy/route/app-paths-manifest.json +0 -3
  405. package/.next/server/app/api/memory/tidy/route.js +0 -22
  406. package/.next/server/app/api/memory/tidy/route.js.nft.json +0 -1
  407. package/.next/server/chunks/0d-b_next_dist_server_app-render_after-task-async-storage_external_0-exn7p.js +0 -3
  408. package/.next/server/chunks/[root-of-the-server]__0-npkh_._.js +0 -3
  409. package/.next/server/chunks/[root-of-the-server]__005var5._.js +0 -3
  410. package/.next/server/chunks/[root-of-the-server]__019dx9f._.js +0 -5
  411. package/.next/server/chunks/[root-of-the-server]__02_2sm-._.js +0 -5
  412. package/.next/server/chunks/[root-of-the-server]__04_8spk._.js +0 -3
  413. package/.next/server/chunks/[root-of-the-server]__05luceg._.js +0 -3
  414. package/.next/server/chunks/[root-of-the-server]__06t77t4._.js +0 -11
  415. package/.next/server/chunks/[root-of-the-server]__0bed6hu._.js +0 -8
  416. package/.next/server/chunks/[root-of-the-server]__0cro2dz._.js +0 -5
  417. package/.next/server/chunks/[root-of-the-server]__0dupqt7._.js +0 -5
  418. package/.next/server/chunks/[root-of-the-server]__0emr6go._.js +0 -3
  419. package/.next/server/chunks/[root-of-the-server]__0le4d-p._.js +0 -3
  420. package/.next/server/chunks/[root-of-the-server]__0m8ywyo._.js +0 -10
  421. package/.next/server/chunks/[root-of-the-server]__0nfuugi._.js +0 -5
  422. package/.next/server/chunks/[root-of-the-server]__0p32jfz._.js +0 -12
  423. package/.next/server/chunks/[root-of-the-server]__0phdgco._.js +0 -8
  424. package/.next/server/chunks/[root-of-the-server]__0wvgrsl._.js +0 -3
  425. package/.next/server/chunks/[root-of-the-server]__10qshki._.js +0 -3
  426. package/.next/server/chunks/[root-of-the-server]__11j52t0._.js +0 -5
  427. package/.next/server/chunks/[root-of-the-server]__1692zrv._.js +0 -3
  428. package/.next/server/chunks/[root-of-the-server]__16thabu._.js +0 -3
  429. package/.next/server/chunks/[root-of-the-server]__173nhwf._.js +0 -8
  430. package/.next/server/chunks/[root-of-the-server]__1_aoyr9._.js +0 -3
  431. package/.next/server/chunks/[root-of-the-server]__1bn73ih._.js +0 -10
  432. package/.next/server/chunks/[root-of-the-server]__1bqhuh9._.js +0 -8
  433. package/.next/server/chunks/[root-of-the-server]__1cqizfq._.js +0 -5
  434. package/.next/server/chunks/[root-of-the-server]__1e-ci13._.js +0 -3
  435. package/.next/server/chunks/[root-of-the-server]__1fboj2j._.js +0 -3
  436. package/.next/server/chunks/[root-of-the-server]__1lr7j9t._.js +0 -5
  437. package/.next/server/chunks/[root-of-the-server]__1oli73c._.js +0 -3
  438. package/.next/server/chunks/[root-of-the-server]__1txedx6._.js +0 -8
  439. package/.next/server/chunks/[root-of-the-server]__1untqv8._.js +0 -5
  440. package/.next/server/chunks/[root-of-the-server]__1zgpz1w._.js +0 -3
  441. package/.next/server/chunks/_00_584r._.js +0 -293
  442. package/.next/server/chunks/_012yhfm._.js +0 -39
  443. package/.next/server/chunks/_06mxlgn._.js +0 -3
  444. package/.next/server/chunks/_07rtlxv._.js +0 -3
  445. package/.next/server/chunks/_0a351g7._.js +0 -6
  446. package/.next/server/chunks/_0kjjmag._.js +0 -3
  447. package/.next/server/chunks/_0nn99o2._.js +0 -3
  448. package/.next/server/chunks/_0zuzmt_._.js +0 -39
  449. package/.next/server/chunks/_106co2o._.js +0 -3
  450. package/.next/server/chunks/_12bbv5i._.js +0 -100
  451. package/.next/server/chunks/_15q1pig._.js +0 -3
  452. package/.next/server/chunks/_19wg5yn._.js +0 -138
  453. package/.next/server/chunks/_1bt95p9._.js +0 -55
  454. package/.next/server/chunks/_1cbk7ms._.js +0 -26
  455. package/.next/server/chunks/_1drv2et._.js +0 -40
  456. package/.next/server/chunks/_1ic3bew._.js +0 -5
  457. package/.next/server/chunks/_1mxn_lb._.js +0 -3
  458. package/.next/server/chunks/_1rysr-r._.js +0 -10
  459. package/.next/server/chunks/_1u3rwbr._.js +0 -3
  460. package/.next/server/chunks/_1x7p319._.js +0 -6
  461. package/.next/server/chunks/_next-internal_server_app_api_bot_notes_route_actions_0qcsyu7.js +0 -3
  462. package/.next/server/chunks/_next-internal_server_app_api_memory_tidy_route_actions_0_cfuom.js +0 -3
  463. package/.next/server/chunks/features_bot_task_query_ts_11xuzl3._.js +0 -3
  464. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js +0 -3
  465. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0vorg6w._.js +0 -3
  466. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1tpvamf._.js +0 -3
  467. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1vmaq9f._.js +0 -3
  468. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y9-wcr._.js +0 -3
  469. package/.next/server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js +0 -3
  470. package/.next/server/chunks/ssr/[root-of-the-server]__0iuoa-r._.js +0 -3
  471. package/.next/server/chunks/ssr/[root-of-the-server]__0un-erv._.js +0 -4
  472. package/.next/server/chunks/ssr/[root-of-the-server]__1-mnhyd._.js +0 -92
  473. package/.next/server/chunks/ssr/[root-of-the-server]__1bww500._.js +0 -3
  474. package/.next/server/chunks/ssr/[root-of-the-server]__1vcdast._.js +0 -3
  475. package/.next/server/chunks/ssr/[root-of-the-server]__1xwnu-h._.js +0 -3
  476. package/.next/server/chunks/ssr/_0-mc7ro._.js +0 -3
  477. package/.next/server/chunks/ssr/_01p5r6-._.js +0 -3
  478. package/.next/server/chunks/ssr/_03webdr._.js +0 -3
  479. package/.next/server/chunks/ssr/_09-0k3z._.js +0 -3
  480. package/.next/server/chunks/ssr/_0f_b_9s._.js +0 -3
  481. package/.next/server/chunks/ssr/_0fafgvl._.js +0 -3
  482. package/.next/server/chunks/ssr/_0sf1isi._.js +0 -3
  483. package/.next/server/chunks/ssr/_0su6_08._.js +0 -3
  484. package/.next/server/chunks/ssr/_0ti51xc._.js +0 -3
  485. package/.next/server/chunks/ssr/_0w5bgak._.js +0 -3
  486. package/.next/server/chunks/ssr/_0y84qo6._.js +0 -3
  487. package/.next/server/chunks/ssr/_1ciyoo3._.js +0 -3
  488. package/.next/server/chunks/ssr/_1e-dgz0._.js +0 -4
  489. package/.next/server/chunks/ssr/_1fq7zgb._.js +0 -3
  490. package/.next/server/chunks/ssr/_1g6l4uj._.js +0 -3
  491. package/.next/server/chunks/ssr/_1ruzehw._.js +0 -3
  492. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +0 -4
  493. package/.next/server/chunks/ssr/features_config_components_14jqgy4._.js +0 -3
  494. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +0 -4
  495. package/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_15fmmz3.js +0 -55
  496. package/.next/static/chunks/05b6nx_o3_f_n.js +0 -1
  497. package/.next/static/chunks/0dmns-gi0raa4.js +0 -1
  498. package/.next/static/chunks/0f9sq-7q_yxyl.js +0 -1
  499. package/.next/static/chunks/0oc4_xoia77dg.css +0 -1
  500. package/.next/static/chunks/0pheo8m3a-rzi.js +0 -1
  501. package/.next/static/chunks/19i8h2t-5evjx.js +0 -1
  502. package/.next/static/chunks/1c5fcj473025q.js +0 -1
  503. package/.next/static/chunks/1pi_hbmjw-f-z.js +0 -1
  504. package/.next/static/chunks/1twt6k09vg4np.js +0 -1
  505. package/.next/static/chunks/1ytnip8wdng93.js +0 -1
  506. package/.next/static/chunks/28gotuisldmom.js +0 -1
  507. package/.next/static/chunks/2998p0y7k1c8z.js +0 -3
  508. package/.next/static/chunks/29gyb3nubj51j.js +0 -53
  509. package/.next/static/chunks/2l233xfycjpd8.js +0 -1
  510. package/.next/static/chunks/2p5n7pa3c40t-.js +0 -2
  511. package/.next/static/chunks/2ru1q132af7h7.js +0 -1
  512. package/.next/static/chunks/2t8wqycwg3y04.js +0 -2
  513. package/.next/static/chunks/2uxum7qbyeyxd.js +0 -1
  514. package/.next/static/chunks/32z_ypgtchw48.js +0 -1
  515. package/.next/static/chunks/33pyjb3xd1iez.js +0 -1
  516. package/.next/static/chunks/3omud5xunrk1f.js +0 -1
  517. package/.next/static/chunks/42dnrkbph9e-1.js +0 -1
  518. package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  519. package/database/migrations/20260909063821_bitter_tenebrous/migration.sql +0 -1
  520. package/features/ai/prompts/memory-tidy.prompt.ts +0 -129
  521. package/features/ai/tools/tidy.tool.ts +0 -22
  522. package/features/bot/bot.notes.ts +0 -120
  523. package/features/memory/components/memory-tidy.tsx +0 -395
  524. package/features/memory/memory.tidy.ts +0 -332
  525. package/features/memory/tidy.query.ts +0 -135
  526. package/features/thursday/use-call-title.ts +0 -31
  527. /package/.next/server/app/api/bot/{notes → memory/files}/route/build-manifest.json +0 -0
  528. /package/.next/server/app/api/bot/{notes → memory/files}/route/server-reference-manifest.json +0 -0
  529. /package/.next/server/app/api/bot/{notes → memory/files}/route.js.map +0 -0
  530. /package/.next/server/app/api/{memory/tidy → bot/memory}/route/build-manifest.json +0 -0
  531. /package/.next/server/app/api/{memory/tidy → bot/memory}/route/server-reference-manifest.json +0 -0
  532. /package/.next/server/app/api/{memory/tidy → bot/memory}/route.js.map +0 -0
  533. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → x1cCqY0kWpR_VcYx_lWO5}/_buildManifest.js +0 -0
  534. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → x1cCqY0kWpR_VcYx_lWO5}/_clientMiddlewareManifest.js +0 -0
  535. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → x1cCqY0kWpR_VcYx_lWO5}/_ssgManifest.js +0 -0
@@ -0,0 +1,41 @@
1
+ module.exports=[857022,a=>{"use strict";var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae=a.i(187924),af=a.i(256711),ag=a.i(987234),ah=a.i(752562),ai=a.i(164831);let aj={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};aj.node;let ak=(0,ai.default)(aj),al={name:"pin",size:24,node:[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]};al.node;let am=(0,ai.default)(al);var an=a.i(403512),ao=a.i(951675),ap=a.i(474215),aq=a.i(572131),ar=a.i(767561),as=a.i(340695),at=a.i(316474),au=a.i(205522),av=a.i(446181),aw=a.i(950463),ax=a.i(621958),ay=a.i(546893),az=a.i(287702),aA="vercel.ai.error",aB=Symbol.for(aA),aC=class a extends(c=Error,b=aB,c){constructor({name:a,message:c,cause:d}){super(c),this[b]=!0,this.name=a,this.cause=d}static isInstance(b){return a.hasMarker(b,aA)}static hasMarker(a,b){let c=Symbol.for(b);return null!=a&&"object"==typeof a&&c in a&&"boolean"==typeof a[c]&&!0===a[c]}},aD="AI_APICallError",aE=`vercel.ai.error.${aD}`,aF=Symbol.for(aE),aG=class extends(e=aC,d=aF,e){constructor({message:a,url:b,requestBodyValues:c,statusCode:e,responseHeaders:f,responseBody:g,cause:h,isRetryable:i=null!=e&&(408===e||409===e||429===e||e>=500),data:j}){super({name:aD,message:a,cause:h}),this[d]=!0,this.url=b,this.requestBodyValues=c,this.statusCode=e,this.responseHeaders=f,this.responseBody=g,this.isRetryable=i,this.data=j}static isInstance(a){return aC.hasMarker(a,aE)}},aH="AI_EmptyResponseBodyError",aI=`vercel.ai.error.${aH}`,aJ=Symbol.for(aI),aK=class extends(g=aC,f=aJ,g){constructor({message:a="Empty response body"}={}){super({name:aH,message:a}),this[f]=!0}static isInstance(a){return aC.hasMarker(a,aI)}};function aL(a){return null==a?"unknown error":"string"==typeof a?a:a instanceof Error?a.toString():JSON.stringify(a)}var aM="AI_InvalidArgumentError",aN=`vercel.ai.error.${aM}`,aO=Symbol.for(aN),aP=class extends(i=aC,h=aO,i){constructor({message:a,cause:b,argument:c}){super({name:aM,message:a,cause:b}),this[h]=!0,this.argument=c}static isInstance(a){return aC.hasMarker(a,aN)}},aQ=Symbol.for("vercel.ai.error.AI_InvalidPromptError");Symbol.for("vercel.ai.error.AI_InvalidResponseDataError");var aR="AI_JSONParseError",aS=`vercel.ai.error.${aR}`,aT=Symbol.for(aS),aU=class extends(k=aC,j=aT,k){constructor({text:a,cause:b}){super({name:aR,message:`JSON parsing failed: Text: ${a}.
2
+ Error message: ${aL(b)}`,cause:b}),this[j]=!0,this.text=a}static isInstance(a){return aC.hasMarker(a,aS)}},aV=Symbol.for("vercel.ai.error.AI_LoadAPIKeyError");Symbol.for("vercel.ai.error.AI_LoadSettingError");Symbol.for("vercel.ai.error.AI_NoContentGeneratedError");var aW="AI_NoSuchModelError",aX=`vercel.ai.error.${aW}`,aY=Symbol.for(aX),aZ=class extends(m=aC,l=aY,m){constructor({errorName:a=aW,modelId:b,modelType:c,message:d=`No such ${c}: ${b}`}){super({name:a,message:d}),this[l]=!0,this.modelId=b,this.modelType=c}static isInstance(a){return aC.hasMarker(a,aX)}},a$=Symbol.for("vercel.ai.error.AI_NoSuchProviderReferenceError");Symbol.for("vercel.ai.error.AI_TooManyEmbeddingValuesForCallError");var a_="AI_TypeValidationError",a0=`vercel.ai.error.${a_}`,a1=Symbol.for(a0),a2=class a extends(o=aC,n=a1,o){constructor({value:a,cause:b,context:c}){let d="Type validation failed";if((null==c?void 0:c.field)&&(d+=` for ${c.field}`),(null==c?void 0:c.entityName)||(null==c?void 0:c.entityId)){d+=" (";const a=[];c.entityName&&a.push(c.entityName),c.entityId&&a.push(`id: "${c.entityId}"`),d+=a.join(", "),d+=")"}super({name:a_,message:`${d}: Value: ${JSON.stringify(a)}.
3
+ Error message: ${aL(b)}`,cause:b}),this[n]=!0,this.value=a,this.context=c}static isInstance(a){return aC.hasMarker(a,a0)}static wrap({value:b,cause:c,context:d}){var e,f,g;return a.isInstance(c)&&c.value===b&&(null==(e=c.context)?void 0:e.field)===(null==d?void 0:d.field)&&(null==(f=c.context)?void 0:f.entityName)===(null==d?void 0:d.entityName)&&(null==(g=c.context)?void 0:g.entityId)===(null==d?void 0:d.entityId)?c:new a({value:b,cause:c,context:d})}},a3=Symbol.for("vercel.ai.error.AI_UnsupportedFunctionalityError"),a4=a.i(950612),a5=a.i(303767);class a6 extends Error{constructor(a,b){super(a),this.name="ParseError",this.type=b.type,this.field=b.field,this.value=b.value,this.line=b.line}}function a7(a){}function a8(a,b,c){return 100===c&&97===a.charCodeAt(b+1)&&116===a.charCodeAt(b+2)&&97===a.charCodeAt(b+3)&&58===a.charCodeAt(b+4)}function a9(a,b,c){return 101===c&&118===a.charCodeAt(b+1)&&101===a.charCodeAt(b+2)&&110===a.charCodeAt(b+3)&&116===a.charCodeAt(b+4)&&58===a.charCodeAt(b+5)}class ba extends TransformStream{constructor({onError:a,onRetry:b,onComment:c,maxBufferSize:d}={}){let e;super({start(f){e=function(a){if("function"==typeof a)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:b=a7,onError:c=a7,onRetry:d=a7,onComment:e,maxBufferSize:f}=a,g=[],h=0,i=!0,j,k="",l=0,m,n=!1;function o(){void 0!==f&&(h+k.length<=f||(n=!0,g.length=0,h=0,j=void 0,k="",l=0,m=void 0,c(new a6(`Buffered data exceeded max buffer size of ${f} characters`,{type:"max-buffer-size-exceeded"}))))}function p(a){let c=0;if(-1===a.indexOf("\r")){let d=a.indexOf(`
4
+ `,c);for(;-1!==d;){if(c===d){l>0&&b({id:j,event:m,data:k}),j=void 0,k="",l=0,m=void 0,c=d+1,d=a.indexOf(`
5
+ `,c);continue}let e=a.charCodeAt(c);if(a8(a,c,e)){let e=32===a.charCodeAt(c+5)?c+6:c+5,f=a.slice(e,d);if(0===l&&10===a.charCodeAt(d+1)){b({id:j,event:m,data:f}),j=void 0,k="",m=void 0,c=d+2,d=a.indexOf(`
6
+ `,c);continue}k=0===l?f:`${k}
7
+ ${f}`,l++}else a9(a,c,e)?m=a.slice(32===a.charCodeAt(c+6)?c+7:c+6,d)||void 0:q(a,c,d);c=d+1,d=a.indexOf(`
8
+ `,c)}return a.slice(c)}for(;c<a.length;){let b=a.indexOf("\r",c),d=a.indexOf(`
9
+ `,c),e=-1;if(-1!==b&&-1!==d?e=b<d?b:d:-1!==b?e=b===a.length-1?-1:b:-1!==d&&(e=d),-1===e)break;q(a,c,e),c=e+1,13===a.charCodeAt(c-1)&&10===a.charCodeAt(c)&&c++}return a.slice(c)}function q(a,c,d){if(c===d)return void(l>0&&b({id:j,event:m,data:k}),j=void 0,k="",l=0,m=void 0);let f=a.charCodeAt(c);if(a8(a,c,f)){let b=32===a.charCodeAt(c+5)?c+6:c+5,e=a.slice(b,d);k=0===l?e:`${k}
10
+ ${e}`,l++;return}if(a9(a,c,f)){m=a.slice(32===a.charCodeAt(c+6)?c+7:c+6,d)||void 0;return}if(105===f&&100===a.charCodeAt(c+1)&&58===a.charCodeAt(c+2)){let b=a.slice(32===a.charCodeAt(c+3)?c+4:c+3,d);b.includes("\0")||(j=b);return}if(58===f){e&&e(a.slice(c,d).slice(32===a.charCodeAt(c+1)?2:1));return}let g=a.slice(c,d),h=g.indexOf(":");if(-1===h)return void r(g,"",g);let i=g.slice(0,h),n=32===g.charCodeAt(h+1)?2:1;r(i,g.slice(h+n),g)}function r(a,b,e){switch(a){case"event":m=b||void 0;break;case"data":k=0===l?b:`${k}
11
+ ${b}`,l++;break;case"id":b.includes("\0")||(j=b);break;case"retry":/^\d+$/.test(b)?d(parseInt(b,10)):c(new a6(`Invalid \`retry\` value: "${b}"`,{type:"invalid-retry",value:b,line:e}));break;default:c(new a6(`Unknown field "${a.length>20?`${a.slice(0,20)}\u2026`:a}"`,{type:"unknown-field",field:a,value:b,line:e}))}}return{feed:function(a){if(n)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(i&&(i=!1,239===a.charCodeAt(0)&&187===a.charCodeAt(1)&&191===a.charCodeAt(2)&&(a=a.slice(3))),0===g.length){let b=p(a);""!==b&&(g.push(b),h=b.length),o();return}if(-1===a.indexOf(`
12
+ `)&&-1===a.indexOf("\r")){g.push(a),h+=a.length,o();return}g.push(a);let b=g.join("");g.length=0,h=0;let c=p(b);""!==c&&(g.push(c),h=c.length),o()},reset:function(a={}){if(a.consume&&g.length>0){let a=g.join("");q(a,0,a.length)}i=!0,j=void 0,k="",l=0,m=void 0,g.length=0,h=0,n=!1}}}({onEvent:a=>{f.enqueue(a)},onError(b){"function"==typeof a&&a(b),("terminate"===a||"max-buffer-size-exceeded"===b.type)&&f.error(b)},onRetry:b,onComment:c,maxBufferSize:d})},transform(a){e.feed(a)}})}}let bb=Symbol.for("workflow-serialize"),bc=Symbol.for("workflow-deserialize");function bd(...a){return a.reduce((a,b)=>({...a,...null!=b?b:{}}),{})}async function be(a,b){if(null==a)return Promise.resolve();let c=null==b?void 0:b.abortSignal;return new Promise((b,d)=>{if(null==c?void 0:c.aborted)return void d(bf());let e=setTimeout(()=>{f(),b()},a),f=()=>{clearTimeout(e),null==c||c.removeEventListener("abort",g)},g=()=>{f(),d(bf())};null==c||c.addEventListener("abort",g)})}function bf(){return new DOMException("Delay was aborted","AbortError")}var bg=new TextDecoder;async function bh(a){return"string"==typeof a?a:a instanceof ArrayBuffer||ArrayBuffer.isView(a)?bg.decode(a):"u">typeof Blob&&a instanceof Blob?a.text():String(a)}async function bi(a,{highWaterMark:b=1048576,pollIntervalMs:c=20,abortSignal:d}={}){for(var e;1===a.readyState&&(null!=(e=a.bufferedAmount)?e:0)>b;){if((null==d?void 0:d.aborted)===!0)return;await be(c)}}var{btoa:bj,atob:bk}=globalThis;function bl(a){let b="";for(let c=0;c<a.length;c++)b+=String.fromCodePoint(a[c]);return bj(b)}function bm(a){return Object.fromEntries([...a.headers])}function bn(a=globalThis){var b,c,d;return a.window?"runtime/browser":(null==(b=a.navigator)?void 0:b.userAgent)?`runtime/${a.navigator.userAgent.toLowerCase()}`:(null==(d=null==(c=a.process)?void 0:c.versions)?void 0:d.node)?`runtime/node.js/${a.process.version.substring(0)}`:a.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function bo(a){return(a instanceof Error||a instanceof DOMException)&&("AbortError"===a.name||"ResponseAborted"===a.name||"TimeoutError"===a.name)}var bp=["fetch failed","failed to fetch"],bq=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 br({error:a,url:b,requestBodyValues:c}){if(bo(a))return a;if(a instanceof TypeError&&bp.includes(a.message.toLowerCase())){let d=a.cause;if(null!=d)return new aG({message:`Cannot connect to API: ${d.message}`,cause:d,url:b,requestBodyValues:c,isRetryable:!0})}let d=function(a){let b=new Set,c=a;for(;c instanceof Error&&!b.has(c);){b.add(c);let a=c;if("string"==typeof a.code&&bq.has(a.code))return a;c=c.cause}}(a);return null!=d?new aG(aG.isInstance(a)?{message:a.message,cause:a.cause,url:a.url,requestBodyValues:a.requestBodyValues,statusCode:a.statusCode,responseHeaders:a.responseHeaders,responseBody:a.responseBody,data:a.data,isRetryable:!0}:{message:`Cannot connect to API: ${a instanceof Error?a.message:d.message}`,cause:a,url:b,requestBodyValues:c,isRetryable:!0}):a}var bs="5.0.36";function bt(a){if(null==a)return{};let b={};if(a instanceof Headers)a.forEach((a,c)=>{b[c.toLowerCase()]=a});else for(let[c,d]of(Array.isArray(a)||(a=Object.entries(a)),a))null!=d&&(b[c.toLowerCase()]=d);return b}function bu(a,...b){let c=new Headers(bt(a)),d=c.get("user-agent")||"";return c.set("user-agent",[d,...b].filter(Boolean).join(" ")),Object.fromEntries(c.entries())}async function bv(a){var b;try{await (null==(b=a.body)?void 0:b.cancel())}catch(a){}}var bw="AI_DownloadError",bx=`vercel.ai.error.${bw}`,by=Symbol.for(bx),bz=class extends(q=aC,p=by,q){constructor({url:a,statusCode:b,statusText:c,cause:d,message:e=null==d?`Failed to download ${a}: ${b} ${c}`:`Failed to download ${a}: ${d}`}){super({name:bw,message:e,cause:d}),this[p]=!0,this.url=a,this.statusCode=b,this.statusText=c}static isInstance(a){return aC.hasMarker(a,bx)}};function bA(a,b){try{return new URL(a).origin===new URL(b).origin}catch(a){return!1}}function bB(a){let b=a.split(".");return 4===b.length&&b.every(a=>{let b=Number(a);return Number.isInteger(b)&&b>=0&&b<=255&&String(b)===a})}function bC(a){let[b,c,d]=a.split(".").map(Number);return 0===b||10===b||100===b&&c>=64&&c<=127||127===b||169===b&&254===c||172===b&&c>=16&&c<=31||192===b&&0===c&&0===d||192===b&&0===c&&2===d||192===b&&168===c||198===b&&(18===c||19===c)||198===b&&51===c&&100===d||203===b&&0===c&&113===d||b>=224||!1}function bD(a){let b=function(a){let b=a.toLowerCase(),c=b.indexOf("%");-1!==c&&(b=b.slice(0,c));let d=b.split("::");if(d.length>2)return null;let e=a=>{if(""===a)return[];let b=[],c=a.split(":");for(let a=0;a<c.length;a++){let d=c[a];if(d.includes(".")){if(a!==c.length-1||!bB(d))return null;let[e,f,g,h]=d.split(".").map(Number);b.push(e<<8|f,g<<8|h);continue}if(!/^[0-9a-f]{1,4}$/.test(d))return null;b.push(parseInt(d,16))}return b},f=e(d[0]);if(null===f)return null;if(2===d.length){let a=e(d[1]);if(null===a)return null;let b=8-f.length-a.length;return b<0?null:[...f,...Array(b).fill(0),...a]}return 8===f.length?f:null}(a);if(null===b)return!0;let c=a=>b.slice(0,a).every(a=>0===a);if(c(7)&&(0===b[7]||1===b[7])||(65024&b[0])==64512||(65472&b[0])==65152||(65472&b[0])==65216||(65280&b[0])==65280||8193===b[0]&&3512===b[1]||16383===b[0]&&(61440&b[1])==0)return!0;if(c(6)||c(5)&&65535===b[5]||c(4)&&65535===b[4]&&0===b[5]||100===b[0]&&65435===b[1]&&0===b[2]&&0===b[3]&&0===b[4]&&0===b[5]||100===b[0]&&65435===b[1]&&1===b[2]){let a=b[6]>>8&255,c=255&b[6],d=b[7]>>8&255,e=255&b[7];return bC(`${a}.${c}.${d}.${e}`)}return!1}var bE=globalThis.fetch,bF=function(a){if("function"!=typeof a)return!1;let b=Function.prototype.toString.call(a);return b.includes("internal/deps/undici")||b.includes("lazy loading of undici")}(bE);async function bG(){var a,b;let c;return(null==(a=null==(c=globalThis.process)?void 0:c.release)?void 0:a.name)==="node"&&(null==(b=c.versions)?void 0:b.bun)==null&&bF&&globalThis.fetch===bE?null!=r?r:r=Promise.resolve().then(bH):globalThis.fetch}function bH(){let{createRequire:a}=bI("node:module"),{lookup:b}=bI("node:dns"),{Agent:c,fetch:d}=a(function a(){let b=Error.prepareStackTrace;try{Error.prepareStackTrace=(a,b)=>b;let b=Error("Capture current module path");Error.captureStackTrace(b,a);let[c]=b.stack,d=null==c?void 0:c.getFileName();if(null==d)throw Error("Unable to determine the current module path");return d}finally{Error.prepareStackTrace=b}}())("undici"),e=new c({connect:{lookup:(a,c,d)=>{b(a,{...c,all:!0},(b,e)=>{if(b)return void d(b);try{let[b]=e;if(null==b)throw Error(`Hostname ${a} did not resolve to an address`);for(let{address:b,family:c}of e)!function({address:a,family:b,hostname:c}){if(4===b?!bB(a)||bC(a):6!==b||bD(a))throw new bz({url:c,message:`Hostname ${c} resolved to disallowed IP address ${a}`})}({address:b,family:c,hostname:a});!0===c.all?d(null,e):d(null,b.address,b.family)}catch(a){d(a instanceof Error?a:Error(String(a)))}})}}});return(a,b)=>d(a,{...b,dispatcher:e})}function bI(a){var b;let c=globalThis.process,d=null==(b=null==c?void 0:c.getBuiltinModule)?void 0:b.call(c,a);if(null==d)throw Error(`Node.js built-in module ${a} is unavailable`);return d}var bJ=["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"],bK=new Set([301,302,303,307,308]);async function bL({url:a,headers:b,abortSignal:c,maxRedirects:d=10,fetch:e,trustedOrigin:f}){let g=void 0===b?void 0:function(a){let b=new Headers(a);for(let a of bJ)b.delete(a);return b}(b),h=a=>{let b={signal:c,redirect:a};return void 0!==g&&(b.headers=new Headers(g)),b},i=a;for(let b=0;b<=d;b++){let b=void 0!==f&&bA(i,f);b||function(a){let b;try{b=new URL(a)}catch(b){throw new bz({url:a,message:`Invalid URL: ${a}`})}if("data:"===b.protocol)return;if("http:"!==b.protocol&&"https:"!==b.protocol)throw new bz({url:a,message:`URL scheme must be http, https, or data, got ${b.protocol}`});let c=b.hostname.toLowerCase().replace(/\.+$/,"");if(!c)throw new bz({url:a,message:"URL must have a hostname"});if("localhost"===c||c.endsWith(".local")||c.endsWith(".localhost"))throw new bz({url:a,message:`URL with hostname ${c} is not allowed`});if(c.startsWith("[")&&c.endsWith("]")){if(bD(c.slice(1,-1)))throw new bz({url:a,message:`URL with IPv6 address ${c} is not allowed`});return}if(bB(c)&&bC(c))throw new bz({url:a,message:`URL with IP address ${c} is not allowed`})}(i);let c=null!=e?e:b?globalThis.fetch:await bG(),d=await c(i,h("manual"));if("opaqueredirect"===d.type){if(!function(a=globalThis){return null!=a.window}())throw new bz({url:a,message:`Redirect from ${i} could not be validated and was blocked`});return await c(i,h("follow"))}let j=d.headers.get("location");if(bK.has(d.status)&&j){await bv(d);let a=new URL(j,i).toString();if(void 0!==g&&!bA(a,i)){let a=g.get("user-agent");g=new Headers(null==a?void 0:{"user-agent":a})}i=a;continue}return d}throw new bz({url:a,message:`Too many redirects (max ${d})`})}async function bM({response:a,url:b,maxBytes:c=0x80000000}){let d=a.headers.get("content-length");if(null!=d){let e=parseInt(d,10);if(!isNaN(e)&&e>c)throw await bv(a),new bz({url:b,message:`Download of ${b} exceeded maximum size of ${c} bytes (Content-Length: ${e}).`})}let e=a.body;if(null==e)return new Uint8Array(0);let f=e.getReader(),g=[],h=0;try{for(;;){let{done:a,value:d}=await f.read();if(a)break;if((h+=d.length)>c)throw new bz({url:b,message:`Download of ${b} exceeded maximum size of ${c} bytes.`});g.push(d)}}finally{try{await f.cancel()}catch(a){}finally{f.releaseLock()}}let i=new Uint8Array(h),j=0;for(let a of g)i.set(a,j),j+=a.length;return i}var bN=({prefix:a,size:b=16,alphabet:c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:d="-"}={})=>{let e=()=>{let a=c.length,d=Array(b);for(let e=0;e<b;e++)d[e]=c[Math.random()*a|0];return d.join("")};if(null==a)return e;if(c.includes(d))throw new aP({argument:"separator",message:`The separator "${d}" must not be part of the alphabet "${c}".`});return()=>`${a}${d}${e()}`},bO=bN(),bP=async({url:a,headers:b={},successfulResponseHandler:c,failedResponseHandler:d,abortSignal:e,fetch:f,validateUrl:g,credentialedOrigin:h,trustedOrigin:i})=>{try{let j=null!=f?f:globalThis.fetch,k=void 0===h||bA(a,h)?b:{},l=bu(k,`ai-sdk/provider-utils/${bs}`,bn()),m=g?await bL({url:a,headers:l,abortSignal:e,fetch:f,trustedOrigin:i}):await j(a,{method:"GET",headers:l,signal:e}),n=bm(m);if(!m.ok){let b;try{b=await d({response:m,url:a,requestBodyValues:{}})}catch(b){if(bo(b)||aG.isInstance(b))throw b;throw new aG({message:"Failed to process error response",cause:b,statusCode:m.status,url:a,responseHeaders:n,requestBodyValues:{}})}throw b.value}try{return await c({response:m,url:a,requestBodyValues:{}})}catch(b){if(b instanceof Error&&(bo(b)||aG.isInstance(b)))throw b;throw new aG({message:"Failed to process successful response",cause:b,statusCode:m.status,url:a,responseHeaders:n,requestBodyValues:{}})}}catch(b){throw br({error:b,url:a,requestBodyValues:{}})}};function bQ(a){return null!=a&&"object"==typeof a&&!Array.isArray(a)}function bR({settingValue:a,environmentVariableName:b}){return"string"==typeof a?a:null!=a||"u"<typeof process?void 0:null!=(a=process.env[b])&&"string"==typeof a?a:void 0}function bS(a){return null!=a&&Number.isSafeInteger(a)&&a>=0}var bT=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,bU=/"(?: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 bV(a){let b=JSON.parse(a);return null===b||"object"!=typeof b||!1===bT.test(a)&&!1===bU.test(a)?b:function(a){let b=[a];for(;b.length;){let a=b;for(let c of(b=[],a)){if(Object.prototype.hasOwnProperty.call(c,"__proto__")||Object.prototype.hasOwnProperty.call(c,"constructor")&&null!==c.constructor&&"object"==typeof c.constructor&&Object.prototype.hasOwnProperty.call(c.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let a in c){let d=c[a];d&&"object"==typeof d&&b.push(d)}}}return a}(b)}function bW(a){let{stackTraceLimit:b}=Error;try{Error.stackTraceLimit=0}catch(b){return bV(a)}try{return bV(a)}finally{Error.stackTraceLimit=b}}function bX(a){if("object"===a.type||Array.isArray(a.type)&&a.type.includes("object")){let{additionalProperties:b}=a;a.additionalProperties=null!=b&&"boolean"!=typeof b&&bY(b);let{properties:c}=a;if(null!=c)for(let a of Object.keys(c))c[a]=bY(c[a])}null!=a.items&&(a.items=Array.isArray(a.items)?a.items.map(bY):bY(a.items)),null!=a.anyOf&&(a.anyOf=a.anyOf.map(bY)),null!=a.allOf&&(a.allOf=a.allOf.map(bY)),null!=a.oneOf&&(a.oneOf=a.oneOf.map(bY));let{definitions:b}=a;if(null!=b)for(let a of Object.keys(b))b[a]=bY(b[a]);return a}function bY(a){return"boolean"==typeof a?a:bX(a)}var bZ=Symbol("Let zodToJsonSchema decide on which parser to use"),b$={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 b_(a,b){return ck(a.type._def,b)}var b0=void 0,b1=/^[cC][^\s-]{8,}$/,b2=/^[0-9a-z]+$/,b3=/^[0-9A-HJKMNP-TV-Z]{26}$/,b4=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,b5=()=>(void 0===b0&&(b0=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),b0),b6=/^(?:(?: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])$/,b7=/^(([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])$/,b8=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,b9=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ca=/^[a-zA-Z0-9_-]{21}$/,cb=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function cc(a,b){let c={type:"string"};if(a.checks)for(let d of a.checks)switch(d.kind){case"min":c.minLength="number"==typeof c.minLength?Math.max(c.minLength,d.value):d.value;break;case"max":c.maxLength="number"==typeof c.maxLength?Math.min(c.maxLength,d.value):d.value;break;case"email":switch(b.emailStrategy){case"format:email":cf(c,"email",d.message,b);break;case"format:idn-email":cf(c,"idn-email",d.message,b);break;case"pattern:zod":cg(c,b4,d.message,b)}break;case"url":cf(c,"uri",d.message,b);break;case"uuid":cf(c,"uuid",d.message,b);break;case"regex":cg(c,d.regex,d.message,b);break;case"cuid":cg(c,b1,d.message,b);break;case"cuid2":cg(c,b2,d.message,b);break;case"startsWith":cg(c,RegExp(`^${cd(d.value,b)}`),d.message,b);break;case"endsWith":cg(c,RegExp(`${cd(d.value,b)}$`),d.message,b);break;case"datetime":cf(c,"date-time",d.message,b);break;case"date":cf(c,"date",d.message,b);break;case"time":cf(c,"time",d.message,b);break;case"duration":cf(c,"duration",d.message,b);break;case"length":c.minLength="number"==typeof c.minLength?Math.max(c.minLength,d.value):d.value,c.maxLength="number"==typeof c.maxLength?Math.min(c.maxLength,d.value):d.value;break;case"includes":cg(c,RegExp(cd(d.value,b)),d.message,b);break;case"ip":"v6"!==d.version&&cf(c,"ipv4",d.message,b),"v4"!==d.version&&cf(c,"ipv6",d.message,b);break;case"base64url":cg(c,b9,d.message,b);break;case"jwt":cg(c,cb,d.message,b);break;case"cidr":"v6"!==d.version&&cg(c,b6,d.message,b),"v4"!==d.version&&cg(c,b7,d.message,b);break;case"emoji":cg(c,b5(),d.message,b);break;case"ulid":cg(c,b3,d.message,b);break;case"base64":switch(b.base64Strategy){case"format:binary":cf(c,"binary",d.message,b);break;case"contentEncoding:base64":c.contentEncoding="base64";break;case"pattern:zod":cg(c,b8,d.message,b)}break;case"nanoid":cg(c,ca,d.message,b)}return c}function cd(a,b){return"escape"===b.patternStrategy?function(a){let b="";for(let c=0;c<a.length;c++)ce.has(a[c])||(b+="\\"),b+=a[c];return b}(a):a}var ce=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function cf(a,b,c,d){var e;a.format||(null==(e=a.anyOf)?void 0:e.some(a=>a.format))?(a.anyOf||(a.anyOf=[]),a.format&&(a.anyOf.push({format:a.format}),delete a.format),a.anyOf.push({format:b,...c&&d.errorMessages&&{errorMessage:{format:c}}})):a.format=b}function cg(a,b,c,d){var e;a.pattern||(null==(e=a.allOf)?void 0:e.some(a=>a.pattern))?(a.allOf||(a.allOf=[]),a.pattern&&(a.allOf.push({pattern:a.pattern}),delete a.pattern),a.allOf.push({pattern:ch(b,d),...c&&d.errorMessages&&{errorMessage:{pattern:c}}})):a.pattern=ch(b,d)}function ch(a,b){var c;if(!b.applyRegexFlags||!a.flags)return a.source;let d={i:a.flags.includes("i"),m:a.flags.includes("m"),s:a.flags.includes("s")},e=d.i?a.source.toLowerCase():a.source,f="",g=!1,h=!1,i=!1;for(let a=0;a<e.length;a++){if(g){f+=e[a],g=!1;continue}if(d.i){if(h){if(e[a].match(/[a-z]/)){i?(f+=e[a],f+=`${e[a-2]}-${e[a]}`.toUpperCase(),i=!1):"-"===e[a+1]&&(null==(c=e[a+2])?void 0:c.match(/[a-z]/))?(f+=e[a],i=!0):f+=`${e[a]}${e[a].toUpperCase()}`;continue}}else if(e[a].match(/[a-z]/)){f+=`[${e[a]}${e[a].toUpperCase()}]`;continue}}if(d.m){if("^"===e[a]){f+=`(^|(?<=[\r
13
+ ]))`;continue}else if("$"===e[a]){f+=`($|(?=[\r
14
+ ]))`;continue}}if(d.s&&"."===e[a]){f+=h?`${e[a]}\r
15
+ `:`[${e[a]}\r
16
+ ]`;continue}f+=e[a],"\\"===e[a]?g=!0:h&&"]"===e[a]?h=!1:h||"["!==e[a]||(h=!0)}try{new RegExp(f)}catch(c){return console.warn(`Could not convert regex pattern at ${b.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),a.source}return f}function ci(a,b){var c,d,e,f,g,h;let i={type:"object",additionalProperties:null!=(c=ck(a.valueType._def,{...b,currentPath:[...b.currentPath,"additionalProperties"]}))?c:b.allowedAdditionalProperties};if((null==(d=a.keyType)?void 0:d._def.typeName)==="ZodString"&&(null==(e=a.keyType._def.checks)?void 0:e.length)){let{type:c,...d}=cc(a.keyType._def,b);return{...i,propertyNames:d}}if((null==(f=a.keyType)?void 0:f._def.typeName)==="ZodEnum")return{...i,propertyNames:{enum:a.keyType._def.values}};if((null==(g=a.keyType)?void 0:g._def.typeName)==="ZodBranded"&&"ZodString"===a.keyType._def.type._def.typeName&&(null==(h=a.keyType._def.type._def.checks)?void 0:h.length)){let{type:c,...d}=b_(a.keyType._def,b);return{...i,propertyNames:d}}return i}var cj={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ck(a,b,c=!1){var d;let e=b.seen.get(a);if(b.override){let f=null==(d=b.override)?void 0:d.call(b,a,b,e,c);if(f!==bZ)return f}if(e&&!c){let a=cl(e,b);if(void 0!==a)return a}let f={def:a,path:b.currentPath,jsonSchema:void 0};b.seen.set(a,f);let g=((a,b,c)=>{var d,e,f,g,h,i;switch(b){case"ZodString":return cc(a,c);case"ZodNumber":let j={type:"number"};if(!a.checks)return j;for(let b of a.checks)switch(b.kind){case"int":j.type="integer";break;case"min":b.inclusive?j.minimum=b.value:j.exclusiveMinimum=b.value;break;case"max":b.inclusive?j.maximum=b.value:j.exclusiveMaximum=b.value;break;case"multipleOf":j.multipleOf=b.value}return j;case"ZodObject":return function(a,b){let c={type:"object",properties:{}},d=[],e=a.shape();for(let a in e){let f=e[a];if(void 0===f||void 0===f._def)continue;let g=function(a){try{return a.isOptional()}catch(a){return!0}}(f),h=ck(f._def,{...b,currentPath:[...b.currentPath,"properties",a],propertyPath:[...b.currentPath,"properties",a]});void 0!==h&&(c.properties[a]=h,g||d.push(a))}d.length&&(c.required=d);let f=function(a,b){if("ZodNever"!==a.catchall._def.typeName)return ck(a.catchall._def,{...b,currentPath:[...b.currentPath,"additionalProperties"]});switch(a.unknownKeys){case"passthrough":return b.allowedAdditionalProperties;case"strict":return b.rejectedAdditionalProperties;case"strip":return"strict"===b.removeAdditionalStrategy?b.allowedAdditionalProperties:b.rejectedAdditionalProperties}}(a,b);return void 0!==f&&(c.additionalProperties=f),c}(a,c);case"ZodBigInt":let k={type:"integer",format:"int64"};if(!a.checks)return k;for(let b of a.checks)switch(b.kind){case"min":b.inclusive?k.minimum=b.value:k.exclusiveMinimum=b.value;break;case"max":b.inclusive?k.maximum=b.value:k.exclusiveMaximum=b.value;break;case"multipleOf":k.multipleOf=b.value}return k;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function a(b,c,d){let e=null!=d?d:c.dateStrategy;if(Array.isArray(e))return{anyOf:e.map(d=>a(b,c,d))};switch(e){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var f=b;let g={type:"integer",format:"unix-time"};for(let a of f.checks)switch(a.kind){case"min":g.minimum=a.value;break;case"max":g.maximum=a.value}return g}}(a,c);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let l;return l={type:"array"},(null==(f=a.type)?void 0:f._def)&&(null==(h=null==(g=a.type)?void 0:g._def)?void 0:h.typeName)!=="ZodAny"&&(l.items=ck(a.type._def,{...c,currentPath:[...c.currentPath,"items"]})),a.minLength&&(l.minItems=a.minLength.value),a.maxLength&&(l.maxItems=a.maxLength.value),a.exactLength&&(l.minItems=a.exactLength.value,l.maxItems=a.exactLength.value),l;case"ZodUnion":case"ZodDiscriminatedUnion":let m,n=a.options instanceof Map?Array.from(a.options.values()):a.options;if(n.every(a=>a._def.typeName in cj&&(!a._def.checks||!a._def.checks.length))){let a=n.reduce((a,b)=>{let c=cj[b._def.typeName];return c&&!a.includes(c)?[...a,c]:a},[]);return{type:a.length>1?a:a[0]}}if(n.every(a=>"ZodLiteral"===a._def.typeName&&!a.description)){let a=n.reduce((a,b)=>{let c=typeof b._def.value;switch(c){case"string":case"number":case"boolean":return[...a,c];case"bigint":return[...a,"integer"];case"object":if(null===b._def.value)return[...a,"null"];default:return a}},[]);if(a.length===n.length){let b=a.filter((a,b,c)=>c.indexOf(a)===b);return{type:b.length>1?b:b[0],enum:n.reduce((a,b)=>a.includes(b._def.value)?a:[...a,b._def.value],[])}}}else if(n.every(a=>"ZodEnum"===a._def.typeName))return{type:"string",enum:n.reduce((a,b)=>[...a,...b._def.values.filter(b=>!a.includes(b))],[])};return d=a,e=c,(m=(d.options instanceof Map?Array.from(d.options.values()):d.options).map((a,b)=>ck(a._def,{...e,currentPath:[...e.currentPath,"anyOf",`${b}`]})).filter(a=>!!a&&(!e.strictUnions||"object"==typeof a&&Object.keys(a).length>0))).length?{anyOf:m}:void 0;case"ZodIntersection":let o,p;return o=[ck(a.left._def,{...c,currentPath:[...c.currentPath,"allOf","0"]}),ck(a.right._def,{...c,currentPath:[...c.currentPath,"allOf","1"]})].filter(a=>!!a),p=[],o.forEach(a=>{if((!("type"in a)||"string"!==a.type)&&"allOf"in a)p.push(...a.allOf);else{let b=a;if("additionalProperties"in a&&!1===a.additionalProperties){let{additionalProperties:c,...d}=a;b=d}p.push(b)}}),p.length?{allOf:p}:void 0;case"ZodTuple":return a.rest?{type:"array",minItems:a.items.length,items:a.items.map((a,b)=>ck(a._def,{...c,currentPath:[...c.currentPath,"items",`${b}`]})).reduce((a,b)=>void 0===b?a:[...a,b],[]),additionalItems:ck(a.rest._def,{...c,currentPath:[...c.currentPath,"additionalItems"]})}:{type:"array",minItems:a.items.length,maxItems:a.items.length,items:a.items.map((a,b)=>ck(a._def,{...c,currentPath:[...c.currentPath,"items",`${b}`]})).reduce((a,b)=>void 0===b?a:[...a,b],[])};case"ZodRecord":return ci(a,c);case"ZodLiteral":let q;return"bigint"!=(q=typeof a.value)&&"number"!==q&&"boolean"!==q&&"string"!==q?{type:Array.isArray(a.value)?"array":"object"}:{type:"bigint"===q?"integer":q,const:a.value};case"ZodEnum":return{type:"string",enum:Array.from(a.values)};case"ZodNativeEnum":let r,s,t;return r=a.values,{type:1===(t=Array.from(new Set((s=Object.keys(a.values).filter(a=>"number"!=typeof r[r[a]]).map(a=>r[a])).map(a=>typeof a)))).length?"string"===t[0]?"string":"number":["string","number"],enum:s};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(a.innerType._def.typeName)&&(!a.innerType._def.checks||!a.innerType._def.checks.length))return{type:[cj[a.innerType._def.typeName],"null"]};let u=ck(a.innerType._def,{...c,currentPath:[...c.currentPath,"anyOf","0"]});return u&&{anyOf:[u,{type:"null"}]};case"ZodOptional":if(c.currentPath.toString()===(null==(i=c.propertyPath)?void 0:i.toString()))return ck(a.innerType._def,c);let v=ck(a.innerType._def,{...c,currentPath:[...c.currentPath,"anyOf","1"]});return v?{anyOf:[{not:{}},v]}:{};case"ZodMap":if("record"===c.mapStrategy)return ci(a,c);return{type:"array",maxItems:125,items:{type:"array",items:[ck(a.keyType._def,{...c,currentPath:[...c.currentPath,"items","items","0"]})||{},ck(a.valueType._def,{...c,currentPath:[...c.currentPath,"items","items","1"]})||{}],minItems:2,maxItems:2}};case"ZodSet":let w;return w={type:"array",uniqueItems:!0,items:ck(a.valueType._def,{...c,currentPath:[...c.currentPath,"items"]})},a.minSize&&(w.minItems=a.minSize.value),a.maxSize&&(w.maxItems=a.maxSize.value),w;case"ZodLazy":return()=>a.getter()._def;case"ZodPromise":return ck(a.type._def,c);case"ZodEffects":return"input"===c.effectStrategy?ck(a.schema._def,c):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return{...ck(a.innerType._def,c),default:a.defaultValue()};case"ZodBranded":return b_(a,c);case"ZodReadonly":case"ZodCatch":return ck(a.innerType._def,c);case"ZodPipeline":if("input"===c.pipeStrategy)return ck(a.in._def,c);if("output"===c.pipeStrategy)return ck(a.out._def,c);let x=ck(a.in._def,{...c,currentPath:[...c.currentPath,"allOf","0"]}),y=ck(a.out._def,{...c,currentPath:[...c.currentPath,"allOf",x?"1":"0"]});return{allOf:[x,y].filter(a=>void 0!==a)};default:return}})(a,a.typeName,b),h="function"==typeof g?ck(g(),b):g;if(h&&cm(a,b,h),b.postProcess){let c=b.postProcess(h,a,b);return f.jsonSchema=h,c}return f.jsonSchema=h,h}var cl=(a,b)=>{switch(b.$refStrategy){case"root":return{$ref:a.path.join("/")};case"relative":return{$ref:((a,b)=>{let c=0;for(;c<a.length&&c<b.length&&a[c]===b[c];c++);return[(a.length-c).toString(),...b.slice(c)].join("/")})(b.currentPath,a.path)};case"none":case"seen":if(a.path.length<b.currentPath.length&&a.path.every((a,c)=>b.currentPath[c]===a))return console.warn(`Recursive reference detected at ${b.currentPath.join("/")}! Defaulting to any`),{};return"seen"===b.$refStrategy?{}:void 0}},cm=(a,b,c)=>(a.description&&(c.description=a.description),c),cn=Symbol.for("vercel.ai.schema");function co(a){let b;return()=>(null==b&&(b=a()),b)}function cp(a,{validate:b}={}){return{[cn]:!0,_type:void 0,get jsonSchema(){return"function"==typeof a&&(a=a()),a},validate:b}}function cq(a){var b;return null==a?cp({type:"object",properties:{},additionalProperties:!1}):"object"==typeof a&&null!==a&&cn in a&&!0===a[cn]&&"jsonSchema"in a&&"validate"in a?a:"~standard"in a?"zod"===a["~standard"].vendor?cr(a):(b=a,cp(()=>{if(null==b["~standard"].jsonSchema)throw Error(`Standard schema vendor '${b["~standard"].vendor}' does not support JSON Schema conversion.`);return bX(b["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async a=>{let c=await b["~standard"].validate(a);return"value"in c?{success:!0,value:c.value}:{success:!1,error:new a2({value:a,cause:c.issues})}}})):a()}function cr(a,b){var c,d;let e;if("_zod"in a){let d;return d=null!=(c=null==b?void 0:b.useReferences)&&c,cp(()=>bX((0,a5.toJSONSchema)(a,{target:"draft-7",io:"input",reused:d?"ref":"inline"})),{validate:async b=>{let c=await (0,a4.safeParseAsync)(a,b);return c.success?{success:!0,value:c.data}:{success:!1,error:c.error}}})}return e=null!=(d=null==b?void 0:b.useReferences)&&d,cp(()=>((a,b)=>{var c;let d,e,f=(e=void 0!==(d="string"==typeof b?{...b$,name:b}:{...b$,...b}).name?[...d.basePath,d.definitionPath,d.name]:d.basePath,{...d,currentPath:e,propertyPath:void 0,seen:new Map(Object.entries(d.definitions).map(([a,b])=>[b._def,{def:b._def,path:[...d.basePath,d.definitionPath,a],jsonSchema:void 0}]))}),g="object"==typeof b&&b.definitions?Object.entries(b.definitions).reduce((a,[b,c])=>{var d;return{...a,[b]:null!=(d=ck(c._def,{...f,currentPath:[...f.basePath,f.definitionPath,b]},!0))?d:{}}},{}):void 0,h="string"==typeof b?b:(null==b?void 0:b.nameStrategy)==="title"||null==b?void 0:b.name,i=null!=(c=ck(a._def,void 0===h?f:{...f,currentPath:[...f.basePath,f.definitionPath,h]},!1))?c:{},j="object"==typeof b&&void 0!==b.name&&"title"===b.nameStrategy?b.name:void 0;void 0!==j&&(i.title=j);let k=void 0===h?g?{...i,[f.definitionPath]:g}:i:{$ref:[..."relative"===f.$refStrategy?[]:f.basePath,f.definitionPath,h].join("/"),[f.definitionPath]:{...g,[h]:i}};return k.$schema="http://json-schema.org/draft-07/schema#",k})(a,{$refStrategy:e?"root":"none"}),{validate:async b=>{let c=await a.safeParseAsync(b);return c.success?{success:!0,value:c.data}:{success:!1,error:c.error}}})}async function cs({value:a,schema:b,context:c}){let d=await ct({value:a,schema:b,context:c});if(!d.success)throw a2.wrap({value:a,cause:d.error,context:c});return d.value}async function ct({value:a,schema:b,context:c}){let d=cq(b);try{if(null==d.validate)return{success:!0,value:a,rawValue:a};let b=await d.validate(a);if(b.success)return{success:!0,value:b.value,rawValue:a};return{success:!1,error:a2.wrap({value:a,cause:b.error,context:c}),rawValue:a}}catch(b){return{success:!1,error:a2.wrap({value:a,cause:b,context:c}),rawValue:a}}}async function cu({text:a,schema:b}){try{let c=bW(a);if(null==b)return c;return await cs({value:c,schema:b})}catch(b){if(aU.isInstance(b)||a2.isInstance(b))throw b;throw new aU({text:a,cause:b})}}async function cv({text:a,schema:b}){try{let c=bW(a);if(null==b)return{success:!0,value:c,rawValue:c};return await ct({value:c,schema:b})}catch(b){return{success:!1,error:aU.isInstance(b)?b:new aU({text:a,cause:b}),rawValue:void 0}}}function cw({stream:a,schema:b}){return a.pipeThrough(new TextDecoderStream).pipeThrough(new ba).pipeThrough(new TransformStream({async transform({data:a},c){"[DONE]"!==a&&c.enqueue(await cv({text:a,schema:b}))}}))}var cx=()=>globalThis.fetch,cy=async({url:a,headers:b,body:c,failedResponseHandler:d,successfulResponseHandler:e,abortSignal:f,fetch:g})=>await cz({url:a,headers:{"Content-Type":"application/json",...b},body:{content:JSON.stringify(c),values:c},failedResponseHandler:d,successfulResponseHandler:e,abortSignal:f,fetch:g}),cz=async({url:a,headers:b={},body:c,successfulResponseHandler:d,failedResponseHandler:e,abortSignal:f,fetch:g=cx()})=>{try{let h=await g(a,{method:"POST",headers:bu(b,`ai-sdk/provider-utils/${bs}`,bn()),body:c.content,signal:f}),i=bm(h);if(!h.ok){let b;try{b=await e({response:h,url:a,requestBodyValues:c.values})}catch(b){if(bo(b)||aG.isInstance(b))throw b;throw new aG({message:"Failed to process error response",cause:b,statusCode:h.status,url:a,responseHeaders:i,requestBodyValues:c.values})}throw b.value}try{return await d({response:h,url:a,requestBodyValues:c.values})}catch(b){if(b instanceof Error&&(bo(b)||aG.isInstance(b)))throw b;throw new aG({message:"Failed to process successful response",cause:b,statusCode:h.status,url:a,responseHeaders:i,requestBodyValues:c.values})}}catch(b){throw br({error:b,url:a,requestBodyValues:c.values})}};function cA({id:a,inputSchema:b,outputSchema:c,supportsDeferredResults:d}){return({onInputStart:e,onInputDelta:f,onInputAvailable:g,...h})=>({type:"provider",isProviderExecuted:!0,id:a,args:h,inputSchema:b,outputSchema:c,onInputStart:e,onInputDelta:f,onInputAvailable:g,supportsDeferredResults:d})}async function cB(a){return"function"==typeof a&&(a=a()),Promise.resolve(a)}var cC=new TextDecoder;async function cD({response:a,url:b}){return cC.decode(await bM({response:a,url:b}))}var cE=({errorSchema:a,errorToMessage:b,isRetryable:c})=>async({response:d,url:e,requestBodyValues:f})=>{let g=await cD({response:d,url:e}),h=bm(d);if(""===g.trim())return{responseHeaders:h,value:new aG({message:d.statusText,url:e,requestBodyValues:f,statusCode:d.status,responseHeaders:h,responseBody:g,isRetryable:null==c?void 0:c(d)})};try{let i=await cu({text:g,schema:a});return{responseHeaders:h,value:new aG({message:b(i),url:e,requestBodyValues:f,statusCode:d.status,responseHeaders:h,responseBody:g,data:i,isRetryable:null==c?void 0:c(d,i)})}}catch(a){return{responseHeaders:h,value:new aG({message:d.statusText,url:e,requestBodyValues:f,statusCode:d.status,responseHeaders:h,responseBody:g,isRetryable:null==c?void 0:c(d)})}}},cF=a=>async({response:b,url:c,requestBodyValues:d})=>{let e=await cD({response:b,url:c}),f=await cv({text:e,schema:a}),g=bm(b);if(!f.success)throw new aG({message:"Invalid JSON response",cause:f.error,statusCode:b.status,responseHeaders:g,responseBody:e,url:c,requestBodyValues:d});return{responseHeaders:g,value:f.value,rawValue:f.rawValue}};async function*cG({stream:a,schema:b}){let c=a.getReader(),d=new TextDecoder,e="",f=!1;try{for(;;){let{done:a,value:g}=await c.read();if(a){f=!0,e+=d.decode();break}let h=(e+=d.decode(g,{stream:!0})).indexOf("\n");for(;-1!==h;){let a=e.slice(0,h).replace(/\r$/,"");e=e.slice(h+1),a.trim().length>0&&(yield await cu({text:a,schema:b})),h=e.indexOf("\n")}}let a=e.replace(/\r$/,"");a.trim().length>0&&(yield await cu({text:a,schema:b}))}finally{f||await c.cancel().catch(()=>{}),c.releaseLock()}}function cH(a){if(null==a)return!0;let b=typeof a;return"string"===b||"number"===b||"boolean"===b||"function"!==b&&"symbol"!==b&&"bigint"!==b&&(Array.isArray(a)?a.every(cH):Object.getPrototypeOf(a)===Object.prototype&&Object.values(a).every(cH))}var cI="AI_SerializationError",cJ=`vercel.ai.error.${cI}`,cK=Symbol.for(cJ),cL=class extends(t=aC,s=cK,t){constructor({message:a="Failed to serialize value.",cause:b}={}){super({name:cI,message:a,cause:b}),this[s]=!0}static isInstance(a){return aC.hasMarker(a,cJ)}};function cM(a){let b={};for(let[c,d]of Object.entries(a.config))if("headers"===c){let a=function(a){let b=a;if("function"==typeof a&&(b=a()),b instanceof Promise)throw new cL({message:"Cannot serialize asynchronous model options."});return b}(d);cH(a)&&(b[c]=a)}else cH(d)&&(b[c]=d);return{modelId:a.modelId,config:b}}function cN(a){return"string"==typeof a}function cO(a){return"number"==typeof a}function cP(a,b){return void 0===a||b(a)}function cQ(a){return bQ(a)&&cN(a.type)}function cR(a){return bQ(a)&&cN(a.text)&&cO(a.startSecond)&&cO(a.endSecond)}var cS=a.i(954714),cT=a.i(327673),cU="ai-gateway-transcription.v1";function cV(a,b,c){let d=[a,`ai-gateway-auth.${b}`];return(null==c?void 0:c.teamIdOrSlug)&&d.push(`ai-gateway-team.${function(a){let b=new TextEncoder().encode(a),c="";for(let a of b)c+=String.fromCharCode(a);return btoa(c).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}(c.teamIdOrSlug)}`),d}var cW={any:cS.any,array:cS.array,boolean:cS.boolean,discriminatedUnion:cS.discriminatedUnion,enum:cS.enum,literal:cS.literal,number:cS.number,object:cS.object,record:cS.record,string:cS.string,union:cS.union,unknown:cS.unknown},cX=Symbol.for("vercel.ai.gateway.error"),cY=class a extends(v=Error,u=cX,v){constructor({message:a,statusCode:b=500,cause:c,generationId:d,isRetryable:e=null!=b&&(408===b||409===b||429===b||b>=500)}){super(d?`${a} [${d}]`:a),this[u]=!0,this.statusCode=b,this.cause=c,this.generationId=d,this.isRetryable=e}static isInstance(b){return a.hasMarker(b)}static hasMarker(a){return"object"==typeof a&&null!==a&&cX in a&&!0===a[cX]}},cZ="GatewayAuthenticationError",c$=Symbol.for(`vercel.ai.gateway.error.${cZ}`),c_=class a extends(x=cY,w=c$,x){constructor({message:a="Authentication failed",statusCode:b=401,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[w]=!0,this.name=cZ,this.type="authentication_error"}static isInstance(a){return cY.hasMarker(a)&&c$ in a}static createContextualError({apiKeyProvided:b,oidcTokenProvided:c,statusCode:d=401,cause:e,generationId:f}){return new a({message:b?`AI Gateway authentication failed: Invalid API key or token.
17
+
18
+ Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
19
+
20
+ Provide an API key or Vercel access token via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:c?`AI Gateway authentication failed: Invalid OIDC token.
21
+
22
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
23
+
24
+ Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
25
+ or pass a Vercel access token via the 'apiKey' option.`:`AI Gateway authentication failed: No authentication provided.
26
+
27
+ Option 1 - API key:
28
+ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
29
+ Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
30
+
31
+ Option 2 - Vercel access token:
32
+ Pass a Vercel personal access token or Vercel app access token via the 'apiKey' option.
33
+
34
+ Option 3 - OIDC token:
35
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,statusCode:d,cause:e,generationId:f})}},c0="GatewayInvalidRequestError",c1=Symbol.for(`vercel.ai.gateway.error.${c0}`),c2=class extends(z=cY,y=c1,z){constructor({message:a="Invalid request",statusCode:b=400,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[y]=!0,this.name=c0,this.type="invalid_request_error"}static isInstance(a){return cY.hasMarker(a)&&c1 in a}},c3="GatewayRateLimitError",c4=Symbol.for(`vercel.ai.gateway.error.${c3}`),c5=class extends(B=cY,A=c4,B){constructor({message:a="Rate limit exceeded",statusCode:b=429,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[A]=!0,this.name=c3,this.type="rate_limit_exceeded"}static isInstance(a){return cY.hasMarker(a)&&c4 in a}},c6="GatewayModelNotFoundError",c7=Symbol.for(`vercel.ai.gateway.error.${c6}`),c8=co(()=>cr(cW.object({modelId:cW.string()}))),c9=class extends(D=cY,C=c7,D){constructor({message:a="Model not found",statusCode:b=404,modelId:c,cause:d,generationId:e}={}){super({message:a,statusCode:b,cause:d,generationId:e}),this[C]=!0,this.name=c6,this.type="model_not_found",this.modelId=c}static isInstance(a){return cY.hasMarker(a)&&c7 in a}},da="GatewayNotFoundError",db=Symbol.for(`vercel.ai.gateway.error.${da}`),dc=class extends(F=cY,E=db,F){constructor({message:a="Resource not found",statusCode:b=404,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[E]=!0,this.name=da,this.type="not_found"}static isInstance(a){return cY.hasMarker(a)&&db in a}},dd="GatewayInternalServerError",de=Symbol.for(`vercel.ai.gateway.error.${dd}`),df=class extends(H=cY,G=de,H){constructor({message:a="Internal server error",statusCode:b=500,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[G]=!0,this.name=dd,this.type="internal_server_error"}static isInstance(a){return cY.hasMarker(a)&&de in a}},dg="GatewayFailedDependencyError",dh=Symbol.for(`vercel.ai.gateway.error.${dg}`),di=class extends(J=cY,I=dh,J){constructor({message:a="Failed dependency",statusCode:b=424,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[I]=!0,this.name=dg,this.type="failed_dependency"}static isInstance(a){return cY.hasMarker(a)&&dh in a}},dj="GatewayForbiddenError",dk=Symbol.for(`vercel.ai.gateway.error.${dj}`),dl=co(()=>cr(cW.object({ruleId:cW.string()}))),dm=class extends(L=cY,K=dk,L){constructor({message:a="Forbidden",statusCode:b=403,cause:c,generationId:d,ruleId:e}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[K]=!0,this.name=dj,this.type="forbidden",this.ruleId=e}static isInstance(a){return cY.hasMarker(a)&&dk in a}},dn="GatewayResponseError",dp=Symbol.for(`vercel.ai.gateway.error.${dn}`),dq=class extends(N=cY,M=dp,N){constructor({message:a="Invalid response from Gateway",statusCode:b=502,response:c,validationError:d,cause:e,generationId:f,isRetryable:g}={}){super({message:a,statusCode:b,cause:e,generationId:f,isRetryable:g}),this[M]=!0,this.name=dn,this.type="response_error",this.response=c,this.validationError=d}static isInstance(a){return cY.hasMarker(a)&&dp in a}};async function dr({response:a,statusCode:b,defaultMessage:c="Gateway request failed",cause:d,authMethod:e,isRetryable:f}){var g;let h=await ct({value:a,schema:ds});if(!h.success){let e="object"==typeof a&&null!==a&&"generationId"in a?a.generationId:void 0;return new dq({message:`Invalid error response format: ${c}`,statusCode:b,response:a,validationError:h.error,cause:d,generationId:e,isRetryable:f})}let i=h.value,j=i.error.type,k=i.error.message,l=null!=(g=i.generationId)?g:void 0;switch(j){case"authentication_error":return c_.createContextualError({apiKeyProvided:"api-key"===e,oidcTokenProvided:"oidc"===e,statusCode:b,cause:d,generationId:l});case"invalid_request_error":return new c2({message:k,statusCode:b,cause:d,generationId:l});case"rate_limit_exceeded":return new c5({message:k,statusCode:b,cause:d,generationId:l});case"model_not_found":{let a=await ct({value:i.error.param,schema:c8});return new c9({message:k,statusCode:b,modelId:a.success?a.value.modelId:void 0,cause:d,generationId:l})}case"not_found":return new dc({message:k,statusCode:b,cause:d,generationId:l});case"internal_server_error":default:return new df({message:k,statusCode:b,cause:d,generationId:l});case"failed_dependency":return new di({message:k,statusCode:b,cause:d,generationId:l});case"forbidden":{let a=await ct({value:i.error.param,schema:dl});return new dm({message:k,statusCode:b,cause:d,generationId:l,ruleId:a.success?a.value.ruleId:void 0})}}}var ds=co(()=>cr(cW.object({error:cW.object({message:cW.string(),type:cW.string().nullish(),param:cW.unknown().nullish(),code:cW.union([cW.string(),cW.number()]).nullish()}),generationId:cW.string().nullish()}))),dt="GatewayTimeoutError",du=Symbol.for(`vercel.ai.gateway.error.${dt}`),dv=class a extends(P=cY,O=du,P){constructor({message:a="Request timed out",statusCode:b=408,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[O]=!0,this.name=dt,this.type="timeout_error"}static isInstance(a){return cY.hasMarker(a)&&du in a}static createTimeoutError({originalMessage:b,statusCode:c=408,cause:d,generationId:e}){return new a({message:`Gateway request timed out: ${b}
36
+
37
+ 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:c,cause:d,generationId:e})}};function dw(a){if(!(a instanceof Error))return!1;let b=a.code;return"string"==typeof b&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(b)}async function dx(a,b){var c;return cY.isInstance(a)?a:dw(a)?dv.createTimeoutError({originalMessage:a instanceof Error?a.message:"Unknown error",cause:a}):aG.isInstance(a)?a.cause&&dw(a.cause)?dv.createTimeoutError({originalMessage:a.message,cause:a}):await dr({response:function(a){if(void 0!==a.data)return a.data;if(null!=a.responseBody)try{return bW(a.responseBody)}catch(b){return a.responseBody}return{}}(a),statusCode:null!=(c=a.statusCode)?c:500,defaultMessage:"Gateway request failed",cause:a,authMethod:b,isRetryable:!!a.isRetryable&&(null==a.statusCode||a.statusCode<400)||void 0}):await dr({response:{},statusCode:500,defaultMessage:a instanceof Error?`Gateway request failed: ${a.message}`:"Unknown Gateway error",cause:a,authMethod:b})}var dy="ai-gateway-auth-method",dz="x-vercel-ai-gateway-team";async function dA(a){let b=await ct({value:a[dy],schema:dB});return b.success?b.value:void 0}var dB=co(()=>cr(cW.union([cW.literal("api-key"),cW.literal("oidc")]))),dC=["embedding","image","language","realtime","reranking","speech","transcription","video"],dD=class{constructor(a){this.config=a}async getAvailableModels(){try{let{value:a}=await bP({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dE),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return a}catch(a){throw await dx(a)}}async getCredits(){try{let a=new URL(this.config.baseURL),{value:b}=await bP({url:`${a.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return b}catch(a){throw await dx(a)}}},dE=co(()=>cr(cW.object({models:cW.array(cW.object({id:cW.string(),name:cW.string(),description:cW.string().nullish(),pricing:cW.object({input:cW.string(),output:cW.string(),input_cache_read:cW.string().nullish(),input_cache_write:cW.string().nullish()}).transform(({input:a,output:b,input_cache_read:c,input_cache_write:d})=>({input:a,output:b,...c?{cachedInputTokens:c}:{},...d?{cacheCreationInputTokens:d}:{}})).nullish(),specification:cW.object({specificationVersion:cW.literal("v4"),provider:cW.string(),modelId:cW.string()}),modelType:cW.string().nullish()})).transform(a=>a.filter(a=>null==a.modelType||dC.includes(a.modelType)))}))),dF=co(()=>cr(cW.object({balance:cW.string(),total_used:cW.string()}).transform(({balance:a,total_used:b})=>({balance:a,totalUsed:b})))),dG=class{constructor(a){this.config=a}async getSpendReport(a){try{let b=new URL(this.config.baseURL),c=new URLSearchParams;c.set("start_date",a.startDate),c.set("end_date",a.endDate),a.groupBy&&c.set("group_by",a.groupBy),a.datePart&&c.set("date_part",a.datePart),a.userId&&c.set("user_id",a.userId),a.model&&c.set("model",a.model),a.provider&&c.set("provider",a.provider),a.credentialType&&c.set("credential_type",a.credentialType),a.tags&&a.tags.length>0&&c.set("tags",a.tags.join(","));let{value:d}=await bP({url:`${b.origin}/v1/report?${c.toString()}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dH),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return d}catch(a){throw await dx(a)}}},dH=co(()=>cr(cW.object({results:cW.array(cW.object({day:cW.string().optional(),hour:cW.string().optional(),user:cW.string().optional(),model:cW.string().optional(),tag:cW.string().optional(),provider:cW.string().optional(),credential_type:cW.enum(["byok","system"]).optional(),total_cost:cW.number(),market_cost:cW.number().optional(),input_tokens:cW.number().optional(),output_tokens:cW.number().optional(),cached_input_tokens:cW.number().optional(),cache_creation_input_tokens:cW.number().optional(),reasoning_tokens:cW.number().optional(),request_count:cW.number().optional()}).transform(({credential_type:a,total_cost:b,market_cost:c,input_tokens:d,output_tokens:e,cached_input_tokens:f,cache_creation_input_tokens:g,reasoning_tokens:h,request_count:i,...j})=>({...j,...void 0!==a?{credentialType:a}:{},totalCost:b,...void 0!==c?{marketCost:c}:{},...void 0!==d?{inputTokens:d}:{},...void 0!==e?{outputTokens:e}:{},...void 0!==f?{cachedInputTokens:f}:{},...void 0!==g?{cacheCreationInputTokens:g}:{},...void 0!==h?{reasoningTokens:h}:{},...void 0!==i?{requestCount:i}:{}})))}))),dI=class{constructor(a){this.config=a}async getGenerationInfo(a){try{let b=new URL(this.config.baseURL),{value:c}=await bP({url:`${b.origin}/v1/generation?id=${encodeURIComponent(a.id)}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dJ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return c}catch(a){throw await dx(a)}}},dJ=co(()=>cr(cW.object({data:cW.object({id:cW.string(),total_cost:cW.number(),upstream_inference_cost:cW.number(),usage:cW.number(),created_at:cW.string(),model:cW.string(),is_byok:cW.boolean(),provider_name:cW.string(),streamed:cW.boolean(),finish_reason:cW.string(),latency:cW.number(),generation_time:cW.number(),native_tokens_prompt:cW.number(),native_tokens_completion:cW.number(),native_tokens_reasoning:cW.number(),native_tokens_cached:cW.number(),native_tokens_cache_creation:cW.number(),billable_web_search_calls:cW.number()}).transform(({total_cost:a,upstream_inference_cost:b,created_at:c,is_byok:d,provider_name:e,finish_reason:f,generation_time:g,native_tokens_prompt:h,native_tokens_completion:i,native_tokens_reasoning:j,native_tokens_cached:k,native_tokens_cache_creation:l,billable_web_search_calls:m,...n})=>({...n,totalCost:a,upstreamInferenceCost:b,createdAt:c,isByok:d,providerName:e,finishReason:f,generationTime:g,promptTokens:h,completionTokens:i,reasoningTokens:j,cachedTokens:k,cacheCreationTokens:l,billableWebSearchCalls:m}))}).transform(({data:a})=>a))),dK=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs(a){let{abortSignal:b,...c}=a;return{args:this.maybeEncodeFileParts(c),warnings:[]}}async doGenerate(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:f,value:g,rawValue:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!1),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:cF(cW.any()),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{...g,request:{body:b},response:{headers:f,body:h},warnings:c}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}async doStream(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let f,{value:g,responseHeaders:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!0),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:(f=cW.any(),async({response:a,url:b,requestBodyValues:c})=>{let d=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:d,value:cw({stream:function({stream:a,url:b,requestBodyValues:c,statusCode:d,responseHeaders:e}){let f=a.getReader(),g=!1,h=()=>{g||(f.releaseLock(),g=!0)};return new ReadableStream({async pull(a){try{let{done:b,value:c}=await f.read();b?(h(),a.close()):a.enqueue(c)}catch(f){if(h(),bo(f))return void a.error(f);a.error(br({error:new aG({message:"Failed to process successful response",cause:f,statusCode:d,url:b,responseHeaders:e,requestBodyValues:c}),url:b,requestBodyValues:c}))}},async cancel(a){try{await f.cancel(a)}finally{h()}}})}({stream:a.body,url:b,requestBodyValues:c,statusCode:a.status,responseHeaders:d}),schema:f})}}),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{stream:g.pipeThrough(new TransformStream({start(a){c.length>0&&a.enqueue({type:"stream-start",warnings:c})},transform(b,c){if(b.success){let d=b.value;("raw"!==d.type||a.includeRawChunks)&&("response-metadata"===d.type&&d.timestamp&&"string"==typeof d.timestamp&&(d.timestamp=new Date(d.timestamp)),c.enqueue(d))}else c.error(b.error)}})),request:{body:b},response:{headers:h}}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}maybeEncodeFileParts(a){for(let b of a.prompt)if(Array.isArray(b.content)){for(let a of b.content)if("file"===a.type||"reasoning-file"===a.type)a.data=dL(a.data);else if("tool-result"===a.type&&"content"===a.output.type)for(let b of a.output.value)"file"===b.type&&(b.data=dL(b.data))}return a}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(a,b){return{"ai-language-model-specification-version":"4","ai-language-model-id":a,"ai-language-model-streaming":String(b)}}};function dL(a){if("data"===a.type){let b=a.data;if(b instanceof Uint8Array)return{...a,data:Buffer.from(b).toString("base64")}}return a}var dM=class a extends dK{static[bb](a){return dK[bb](a)}static[bc](b){return new a(b.modelId,b.config)}constructor(a,b){super(a,b)}async experimental_doStartBatch({requests:a,providerOptions:b,headers:c,abortSignal:d,webhookUrl:e}){var f;let g=this.config.headers?await cB(this.config.headers):void 0,h=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b.idempotencyKey;return"string"==typeof c&&c.length>0?c:void 0}(b),i=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b)||!("idempotencyKey"in b))return a;let{idempotencyKey:c,...d}=b,e={...a};if(0===Object.keys(d).length?delete e.gateway:e.gateway=d,0!==Object.keys(e).length)return e}(b);try{let{value:b}=await cy({url:this.getBatchUrl("start"),headers:bd(g,c,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders),null!=h?{"idempotency-key":h}:void 0),body:{...null!=e&&{callbackUrl:e},modelId:this.modelId,requests:a.map(a=>({id:a.id,options:this.maybeEncodeFileParts(a.options)})),...null!=i&&{providerOptions:i}},successfulResponseHandler:cF(dV),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{batchId:b.batchId,...dO(b),warnings:null!=(f=b.warnings)?f:[]}}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=g?g:{}))}}async experimental_doGetBatchStatus({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{let{value:e}=await cy({url:this.getBatchUrl("status"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:cF(dW),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return dO(e)}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}async experimental_doGetBatchResults({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{var e;let f,{value:g}=await cy({url:this.getBatchUrl("results"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:async({response:a})=>{let b=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:b,value:cG({stream:a.body,schema:dQ})}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return e=dP(g),f=!1,new ReadableStream({async pull(a){if(!f)try{let{value:b,done:c}=await e.next();c?a.close():a.enqueue(b)}catch(b){a.error(b)}},async cancel(a){if(f=!0,e.return)try{await e.return(a)}catch(a){}}})}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}getBatchUrl(a){return`${this.config.baseURL}/batch/${a}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function dN(a){return!!(a instanceof Error||a instanceof DOMException)&&("AbortError"===a.name||"TimeoutError"===a.name)}function dO(a){var b,c,d,e;let f=function({total:a,pending:b,completed:c,failed:d}){if(bS(a)&&bS(b)&&bS(c)&&bS(d)&&b+c+d===a)return{total:a,pending:b,completed:c,failed:d}}({total:null==(b=a.requestCounts)?void 0:b.total,pending:null==(c=a.requestCounts)?void 0:c.pending,completed:null==(d=a.requestCounts)?void 0:d.completed,failed:null==(e=a.requestCounts)?void 0:e.failed});return{status:a.status,...null!=a.rawStatus&&{rawStatus:a.rawStatus},...null!=f&&{requestCounts:f},...null!=a.error&&{error:{message:a.error.message,...null!=a.error.type&&{type:a.error.type},...null!=a.error.code&&{code:a.error.code},...null!=a.error.statusCode&&{statusCode:a.error.statusCode}}},...null!=a.createdAt&&{createdAt:a.createdAt},...null!=a.expiresAt&&{expiresAt:a.expiresAt},...null!=a.providerMetadata&&{providerMetadata:a.providerMetadata}}}async function*dP(a){var b;for await(let c of a){if("succeeded"===c.status){let a=null==(b=c.result)?void 0:b.response;void 0!==a&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp))}yield c}}var dQ=cW.object({id:cW.string(),status:cW.enum(["cancelled","expired","failed","succeeded"])}).catchall(cW.unknown()),dR=cW.object({message:cW.string(),type:cW.string().nullish(),code:cW.string().nullish(),statusCode:cW.number().nullish()}),dS=cW.object({total:cW.number().nullish(),pending:cW.number().nullish(),completed:cW.number().nullish(),failed:cW.number().nullish()}),dT=cW.record(cW.string(),cW.record(cW.string(),cW.unknown())),dU=cW.object({status:cW.enum(["completed","failed","pending"]),rawStatus:cW.string().nullish(),requestCounts:dS.nullish(),error:dR.nullish(),createdAt:cW.string().nullish(),expiresAt:cW.string().nullish(),providerMetadata:dT.nullish()}),dV=dU.extend({batchId:cW.string(),warnings:cW.array(cW.object({requestId:cW.string().nullish(),warning:cW.unknown()}).catchall(cW.unknown())).nullish()}),dW=dU,dX=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doEmbed({values:a,headers:b,abortSignal:c,providerOptions:d}){var e,f;let g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i,rawValue:j}=await cy({url:this.getUrl(),headers:bd(g,null!=b?b:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{values:a,...d?{providerOptions:d}:{}},successfulResponseHandler:cF(dZ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:null!=(e=i.usage)?e:void 0,providerMetadata:i.providerMetadata,response:{headers:h,body:j},warnings:null!=(f=i.warnings)?f:[]}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},dY=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),dZ=co(()=>cr(cW.object({embeddings:cW.array(cW.array(cW.number())),usage:cW.object({tokens:cW.number()}).nullish(),warnings:cW.array(dY).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),d$=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doGenerate({prompt:a,n:b,size:c,aspectRatio:d,seed:e,files:f,mask:g,providerOptions:h,headers:i,abortSignal:j}){var k,l,m,n;let o=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:p,value:q}=await cy({url:this.getUrl(),headers:bd(o,null!=i?i:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{prompt:a,n:b,...c&&{size:c},...d&&{aspectRatio:d},...e&&{seed:e},...h&&{providerOptions:h},...f&&{files:f.map(a=>d_(a))},...g&&{mask:d_(g)}},successfulResponseHandler:cF(d3),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...j&&{abortSignal:j},fetch:this.config.fetch});return{images:q.images,warnings:null!=(k=q.warnings)?k:[],providerMetadata:q.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:p},...null!=q.usage&&{usage:{inputTokens:null!=(l=q.usage.inputTokens)?l:void 0,outputTokens:null!=(m=q.usage.outputTokens)?m:void 0,totalTokens:null!=(n=q.usage.totalTokens)?n:void 0}}}}catch(a){throw await dx(a,await dA(null!=o?o:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function d_(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d0=cW.object({images:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d1=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d2=cW.object({inputTokens:cW.number().nullish(),outputTokens:cW.number().nullish(),totalTokens:cW.number().nullish()}),d3=cW.object({images:cW.array(cW.string()),warnings:cW.array(d1).optional(),providerMetadata:cW.record(cW.string(),d0).optional(),usage:d2.optional()}),d4=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(a){var b,c;let{headers:d,abortSignal:e}=a,f=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:g,value:h}=await cy({url:this.getUrl(),headers:bd(f,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(a),successfulResponseHandler:async({response:a,url:b,requestBodyValues:c})=>{if(null==a.body)throw new aG({message:"SSE response body is empty",url:b,requestBodyValues:c,statusCode:a.status});let d=cw({stream:a.body,schema:d9}).getReader(),{done:e,value:f}=await d.read();if(d.releaseLock(),e||!f)throw new aG({message:"SSE stream ended without a data event",url:b,requestBodyValues:c,statusCode:a.status});if(!f.success)throw new aG({message:"Failed to parse video SSE event",cause:f.error,url:b,requestBodyValues:c,statusCode:a.status});let g=f.value;if("error"===g.type)throw new aG({message:g.message,statusCode:g.statusCode,url:b,requestBodyValues:c,responseHeaders:Object.fromEntries([...a.headers]),responseBody:JSON.stringify(g),data:{error:{message:g.message,type:g.errorType,param:g.param}}});return{value:{videos:g.videos,warnings:g.warnings,providerMetadata:g.providerMetadata},responseHeaders:Object.fromEntries([...a.headers])}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{videos:h.videos,warnings:null!=(b=h.warnings)?b:[],providerMetadata:null!=(c=h.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:g}}}catch(a){throw await dx(a,await dA(null!=f?f:{}))}}async handleWebhookOption({webhook:a}){let{url:b,received:c}=await a();return{webhookUrl:b,received:c}}async doStart(a){var b,c;let{headers:d,abortSignal:e,webhookUrl:f}=a,g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i}=await cy({url:this.getStartUrl(),headers:bd(g,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{...this.buildRequestBody(a),...f&&{callbackUrl:f}},successfulResponseHandler:cF(ea),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{operation:i.operation,warnings:null!=(b=i.warnings)?b:[],providerMetadata:null!=(c=i.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:h}}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}async doStatus({operation:a,abortSignal:b,headers:c}){var d,e,f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l}=await cy({url:this.getStatusUrl(),headers:bd(j,null!=c?c:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{operation:a},successfulResponseHandler:cF(eb),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...b&&{abortSignal:b},fetch:this.config.fetch}),m={timestamp:new Date,modelId:this.modelId,headers:k};if("completed"===l.status)return{status:"completed",videos:l.videos,warnings:null!=(d=l.warnings)?d:[],providerMetadata:null!=(e=l.providerMetadata)?e:void 0,response:m};if("error"===l.status)return{status:"error",error:l.error,providerMetadata:null!=(f=l.providerMetadata)?f:void 0,response:m};if("cancelled"===l.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(g=l.providerMetadata)?g:void 0,response:m};return{status:"pending",warnings:null!=(h=l.warnings)?h:[],providerMetadata:null!=(i=l.providerMetadata)?i:void 0,response:m}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}buildRequestBody({prompt:a,n:b,aspectRatio:c,resolution:d,duration:e,fps:f,seed:g,generateAudio:h,image:i,frameImages:j,inputReferences:k,providerOptions:l}){return{prompt:a,n:b,...c&&{aspectRatio:c},...d&&{resolution:d},...e&&{duration:e},...f&&{fps:f},...g&&{seed:g},...void 0!==h&&{generateAudio:h},...l&&{providerOptions:l},...i&&{image:d5(i)},...j&&{frameImages:j.map(a=>({...a,image:d5(a.image)}))},...k&&{inputReferences:k.map(a=>d5(a))}}}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 d5(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d6=cW.object({videos:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d7=cW.union([cW.object({type:cW.literal("url"),url:cW.string(),mediaType:cW.string()}),cW.object({type:cW.literal("base64"),data:cW.string(),mediaType:cW.string()})]),d8=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d9=cW.discriminatedUnion("type",[cW.object({type:cW.literal("result"),videos:cW.array(d7),warnings:cW.array(d8).optional(),providerMetadata:cW.record(cW.string(),d6).optional()}),cW.object({type:cW.literal("error"),message:cW.string(),errorType:cW.string(),statusCode:cW.number(),param:cW.unknown().nullable()})]),ea=cW.object({operation:cW.unknown(),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),eb=cW.discriminatedUnion("status",[cW.object({status:cW.literal("pending"),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("completed"),videos:cW.array(d7),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("error"),error:cW.string(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("cancelled"),providerMetadata:cW.record(cW.string(),d6).nullish()})]),ec=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:a,query:b,topN:c,headers:d,abortSignal:e,providerOptions:f}){var g;let h=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:i,value:j,rawValue:k}=await cy({url:this.getUrl(),headers:bd(h,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{documents:a,query:b,...null!=c?{topN:c}:{},...f?{providerOptions:f}:{}},successfulResponseHandler:cF(ee),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{ranking:j.ranking,providerMetadata:j.providerMetadata,response:{headers:i,body:k},warnings:null!=(g=j.warnings)?g:[]}}catch(a){throw await dx(a,await dA(null!=h?h:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},ed=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ee=co(()=>cr(cW.object({ranking:cW.array(cW.object({index:cW.number(),relevanceScore:cW.number()})),warnings:cW.array(ed).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),ef=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:a,voice:b,outputFormat:c,instructions:d,speed:e,language:f,providerOptions:g,headers:h,abortSignal:i}){var j;let k=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:l,value:m,rawValue:n}=await cy({url:this.getUrl(),headers:bd(k,null!=h?h:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{text:a,...b&&{voice:b},...c&&{outputFormat:c},...d&&{instructions:d},...null!=e&&{speed:e},...f&&{language:f},...g&&{providerOptions:g}},successfulResponseHandler:cF(ei),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{audio:m.audio,warnings:null!=(j=m.warnings)?j:[],providerMetadata:m.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:l,body:n}}}catch(a){throw await dx(a,await dA(null!=k?k:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},eg=cW.object({}).catchall(cW.unknown()),eh=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ei=cW.object({audio:cW.string(),warnings:cW.array(eh).optional(),providerMetadata:cW.record(cW.string(),eg).optional()}),ej=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:a,mediaType:b,providerOptions:c,headers:d,abortSignal:e}){var f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l,rawValue:m}=await cy({url:this.getUrl(),headers:bd(j,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{audio:a instanceof Uint8Array?bl(a):a,mediaType:b,...c&&{providerOptions:c}},successfulResponseHandler:cF(en),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{text:l.text,segments:null!=(f=l.segments)?f:[],language:null!=(g=l.language)?g:void 0,durationInSeconds:null!=(h=l.durationInSeconds)?h:void 0,warnings:null!=(i=l.warnings)?i:[],providerMetadata:l.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:k,body:m}}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}async doStream(a){var b,c,d,e,f;let g,h,i,j=null!=(d=null==(c=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:c.call(b))?d:new Date,k=bd(await cB(null!=(e=this.config.headers)?e:{}),null!=(f=a.headers)?f:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),l=await dA(k),m={type:"transcription-stream.start",inputAudioFormat:a.inputAudioFormat,...null!=a.providerOptions&&{providerOptions:a.providerOptions},...null!=a.includeRawChunks&&{includeRawChunks:a.includeRawChunks}};return{stream:function({webSocket:a,url:b,protocols:c,headers:d,startFrame:e,audio:f,abortSignal:g,authMethod:h}){let i=!1,j=()=>{};return new ReadableStream({start:k=>{let l,m,n,o=!1,p=!1;j=a=>{null!=l?l.cancel().catch(()=>{}):f.cancel().catch(()=>{}),null==n||n.close(a)};let q=a=>{i||(i=!0,j(),eo(k,a,h))},r=async a=>{let b=f.getReader();l=b;try{for(;;){let{done:c,value:d}=await b.read();if(c||i)break;let e="string"==typeof d?function(a){let b=bk(a.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(b,a=>a.codePointAt(0))}(d):d;for(let b=0;b<e.length&&!i;b+=65536)a.send(e.subarray(b,b+65536)),await bi(a)}}finally{b.releaseLock(),l===b&&(l=void 0)}i||p||a.send(JSON.stringify({type:"transcription-stream.audio-done"}))};n=function({url:a,protocols:b,headers:c,webSocket:d,abortSignal:e,onOpen:f,onMessageText:g,onProcessingError:h,onSocketError:i,onClose:j,onAbort:k}){var l,m;let n,o,p=a=>{null!=o&&(null==e||e.removeEventListener("abort",o),o=void 0);try{null==n||n.close(a)}catch(a){}};if(null==e?void 0:e.aborted)return null==k||k(null!=(l=e.reason)?l:Error("Aborted")),{socket:void 0,close:p};try{n=new(function(a){let b=null!=a?a:globalThis.WebSocket;if(null==b)throw Error("No WebSocket implementation available.");return b}(d))(a,b,{headers:(m=null!=c?c:{},Object.fromEntries(Object.entries(m).filter(([a,b])=>null!=b)))})}catch(a){return h(a),{socket:void 0,close:p}}null!=e&&null!=k&&(o=()=>{var a;return k(null!=(a=e.reason)?a:Error("Aborted"))},e.addEventListener("abort",o,{once:!0}));let q=n;n.onopen=()=>{try{null==f||f(q)}catch(a){h(a)}};let r=Promise.resolve();return n.onmessage=a=>{r=r.then(()=>bh(a.data)).then(a=>g(a)).catch(h)},n.onerror=()=>{r=r.then(()=>null==i?void 0:i()).catch(h)},n.onclose=a=>{let b="number"==typeof(null==a?void 0:a.code)?a.code:void 0,c="string"==typeof(null==a?void 0:a.reason)?a.reason:void 0;r=r.then(()=>null==j?void 0:j({code:b,reason:c})).catch(h)},{socket:n,close:p}}({url:b,protocols:c,headers:d,webSocket:a,abortSignal:g,onAbort:a=>{i||(i=!0,j(),k.error(a))},onProcessingError:q,onOpen:a=>{a.send(JSON.stringify(e)),r(a).catch(q)},onMessageText:a=>{if(i)return;let b=function(a){let b;try{b=bW(a)}catch(a){return}if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b;switch(c.type){case"stream-start":return Array.isArray(c.warnings)&&c.warnings.every(cQ)?c:void 0;case"transcript-delta":return cN(c.delta)&&cP(c.id,cN)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-partial":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.durationInSeconds,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-final":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.endSecond,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"finish":return cN(c.text)&&Array.isArray(c.segments)&&c.segments.every(cR)&&cP(c.language,cN)&&cP(c.durationInSeconds,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"response-metadata":{if(!(cP(c.modelId,cN)&&cP(c.headers,bQ)))return;let a=c.timestamp;if(null==a)return{...c,timestamp:void 0};if("string"!=typeof a)return;let b=new Date(a);return Number.isNaN(b.getTime())?void 0:{...c,timestamp:b}}case"raw":return"rawValue"in c?c:void 0;case"error":return"error"in c?c:void 0;default:return}}(a);if(null!=b){if("finish"===b.type){i=!0,k.enqueue(b),k.close(),j(1e3);return}"error"===b.type&&(o=!0,m=b.error,p=!0,null!=l?(l.cancel().catch(()=>{}),l=void 0):f.cancel().catch(()=>{})),k.enqueue(b)}},onSocketError:()=>{q(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(o){if(i)return;eq(m,h).then(q);return}q(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{i||(i=!0,j())}})}({webSocket:this.config.webSocket,url:ek(this.config.baseURL,this.modelId),protocols:null==(i=(null==(h=(g=bt(k)).authorization)?void 0:h.startsWith("Bearer "))?h.slice(7):void 0)?[cU]:cV(cU,i,{teamIdOrSlug:g[dz]}),headers:k,startFrame:m,audio:a.audio,abortSignal:a.abortSignal,authMethod:l}),request:{body:m},response:{timestamp:j,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function ek(a,b){let c=new URL(`${a.replace(/^http/,"ws")}/transcription-model`);return c.searchParams.set("ai-model-id",b),c.toString()}var el=cW.object({}).catchall(cW.unknown()),em=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),en=cW.object({text:cW.string(),segments:cW.array(cW.object({text:cW.string(),startSecond:cW.number(),endSecond:cW.number()})).optional(),language:cW.string().nullish(),durationInSeconds:cW.number().nullish(),warnings:cW.array(em).optional(),providerMetadata:cW.record(cW.string(),el).optional()});async function eo(a,b,c){a.error(await dx(b,c))}var ep={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 eq(a,b){return"object"==typeof a&&null!=a&&"message"in a&&"string"==typeof a.message&&"type"in a&&"string"==typeof a.type&&a.type in ep?dr({response:{error:{message:a.message,type:a.type}},statusCode:ep[a.type],authMethod:b}):Error(`AI Gateway transcription stream failed: ${null!=a&&"object"==typeof a&&"message"in a&&"string"==typeof a.message?a.message:aL(a)}`)}var er=class{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b,c;let d,e=await this.config.createClientSecret({modelId:this.modelId,...(null==a?void 0:a.expiresAfterSeconds)!=null&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:e.token,url:(b=this.config.baseURL,c=this.modelId,(d=new URL(`${b.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",c),d.toString()),...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}getWebSocketConfig(a){return{url:a.url,protocols:cV("ai-gateway-realtime.v1",a.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(a){return a}serializeClientEvent(a){return a}buildSessionConfig(a){return a}},es=cA({id:"gateway.exa_search",inputSchema:co(()=>cr(cW.object({query:cW.string().describe("Natural-language web search query. This is required."),type:cW.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:cW.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:cW.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:cW.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these domains."),start_published_date:cW.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:cW.string().optional().describe("Only return links published before this ISO 8601 date."),contents:cW.object({text:cW.union([cW.boolean(),cW.object({max_characters:cW.number().optional(),include_html_tags:cW.boolean().optional(),verbosity:cW.enum(["compact","standard","full"]).optional(),include_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:cW.union([cW.boolean(),cW.object({query:cW.string().optional(),max_characters:cW.number().optional()})]).optional(),max_age_hours:cW.number().optional(),livecrawl_timeout:cW.number().optional(),subpages:cW.number().optional(),subpage_target:cW.union([cW.string(),cW.array(cW.string())]).optional(),extras:cW.object({links:cW.number().optional(),image_links:cW.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:co(()=>cr(cW.union([cW.object({requestId:cW.string(),searchType:cW.string().optional(),resolvedSearchType:cW.string().optional(),results:cW.array(cW.object({title:cW.string(),url:cW.string(),id:cW.string(),publishedDate:cW.string().nullable().optional(),author:cW.string().nullable().optional(),image:cW.string().nullable().optional(),favicon:cW.string().nullable().optional(),text:cW.string().optional(),highlights:cW.array(cW.string()).optional(),highlightScores:cW.array(cW.number()).optional(),summary:cW.string().optional(),subpages:cW.array(cW.any()).optional(),extras:cW.object({links:cW.array(cW.string()).optional(),imageLinks:cW.array(cW.string()).optional()}).optional()})),costDollars:cW.object({total:cW.number().optional(),search:cW.record(cW.string(),cW.number()).optional()}).optional()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),et=cA({id:"gateway.parallel_search",inputSchema:co(()=>cr(cW.object({objective:cW.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:cW.array(cW.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:cW.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:cW.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:cW.object({include_domains:cW.array(cW.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:cW.array(cW.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:cW.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:cW.object({max_chars_per_result:cW.number().optional().describe("Maximum characters per result."),max_chars_total:cW.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:cW.object({max_age_seconds:cW.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:co(()=>cr(cW.union([cW.object({searchId:cW.string(),results:cW.array(cW.object({url:cW.string(),title:cW.string(),excerpt:cW.string(),publishDate:cW.string().nullable().optional(),relevanceScore:cW.number().optional()}))}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eu=cA({id:"gateway.perplexity_search",inputSchema:co(()=>cr(cW.object({query:cW.union([cW.string(),cW.array(cW.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:cW.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:cW.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:cW.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:cW.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:cW.array(cW.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:cW.array(cW.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:cW.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:cW.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:cW.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:cW.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:cW.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:co(()=>cr(cW.union([cW.object({results:cW.array(cW.object({title:cW.string(),url:cW.string(),snippet:cW.string(),date:cW.string().optional(),lastUpdated:cW.string().optional()})),id:cW.string()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),ev=cW.object({count:cW.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:cW.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:cW.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:cW.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:cW.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:cW.array(cW.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:cW.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),ew=cW.object({count:cW.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:cW.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:cW.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these bare domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:cW.number().optional().describe("Maximum characters in each web-result snippet."),highlights:cW.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:cW.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:cW.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:cW.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),ex=co(()=>cr(cW.object({query:cW.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:cW.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:cW.object({data:ev.optional(),web:ew.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:cW.object({latitude:cW.number().describe("Latitude between -90 and 90."),longitude:cW.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:cW.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:cW.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:cW.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:cW.object({image_dark_mode:cW.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:cW.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:cW.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),ey=cW.union([cW.boolean(),cW.number(),cW.string()]).nullable(),ez=cW.object({content_format:cW.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:cW.number().optional(),data:cW.string().nullish(),records:cW.array(cW.record(cW.string(),ey)).nullish(),dataset:cW.object({columns:cW.array(cW.object({name:cW.string(),type:cW.enum(["boolean","date","datetime","number","string"]),unit:cW.string().nullish()})),rows:cW.array(cW.array(ey)),total_rows:cW.number(),truncated:cW.boolean(),ref:cW.string(),sources:cW.array(cW.object({name:cW.string(),index:cW.enum(["data","web"]).optional()})),provenance:cW.enum(["query","web_extraction"]).optional()}).nullish(),card_data:cW.object({}).passthrough().nullish(),card_data_schema:cW.object({}).passthrough().nullish(),url:cW.string().nullish(),expires_at:cW.string().nullish(),total_rows:cW.number().nullish(),truncated:cW.boolean().optional(),export_pricing:cW.object({baseline_usd:cW.number(),free_rows:cW.number(),max_rows_ceiling:cW.number(),row_cpm_usd:cW.number()}).nullish(),manifest:cW.array(cW.object({dtype:cW.enum(["boolean","date","datetime","number","string"]).nullish(),entity:cW.string().nullish(),metric:cW.string().nullish(),name:cW.string().nullish(),unit:cW.string().nullish()})).nullish()}).passthrough(),eA=cW.object({card_id:cW.string().nullish(),title:cW.string().nullish(),description:cW.string().nullish(),semantic_description:cW.string().nullish(),webpage_url:cW.string().nullish(),image_url:cW.string().nullish(),embed_url:cW.string().nullish(),sources:cW.array(cW.object({source_name:cW.string().nullish(),source_description:cW.string().nullish(),source_index:cW.enum(["data","web"]),source_text:cW.string().nullish(),url:cW.string().nullish()})).nullish(),methodologies:cW.array(cW.object({methodology_name:cW.string().nullable(),methodology_description:cW.string().nullable()})).nullish(),source_indexes:cW.array(cW.enum(["data","web"])).nullish(),card_type:cW.string().nullish(),relevance:cW.enum(["High","Low","Medium"]).nullish(),content:ez.nullish(),exportable:cW.boolean().optional(),nodes:cW.array(cW.object({id:cW.string(),type:cW.enum(["entity","metric"]),name:cW.string(),description:cW.string().nullish()})).nullish(),metric_definitions:cW.array(cW.object({name:cW.string(),definition:cW.string()})).nullish(),data_freshness:cW.object({coverage_end:cW.string().nullish(),data_as_of:cW.string().nullish(),last_updated:cW.string().nullish()}).nullish()}).passthrough(),eB=cW.object({title:cW.string(),url:cW.string(),snippet:cW.string().nullish(),source_name:cW.string().nullish(),publish_date:cW.string().nullish(),content:ez.nullish()}).passthrough(),eC=cA({id:"gateway.tako_search",inputSchema:ex,outputSchema:co(()=>cr(cW.union([cW.object({request_id:cW.string(),cards:cW.array(eA).optional(),web_results:cW.array(eB).optional(),usage:cW.object({total_cost_usd:cW.number(),compute:cW.object({cost_usd:cW.number()}).nullish(),data:cW.object({cost_usd:cW.number(),datasets:cW.number()}).nullish()}).nullish(),related:cW.array(cW.object({}).passthrough()).nullish()}).passthrough(),cW.object({error:cW.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eD={exaSearch:(a={})=>es(a),parallelSearch:(a={})=>et(a),perplexitySearch:(a={})=>eu(a),takoSearch:(a={})=>eC(a)};async function eE(){var a;return null==(a=(0,cT.getContext)().headers)?void 0:a["x-vercel-id"]}var eF=cW.object({token:cW.string(),expiresAt:cW.number().nullish()});async function eG(a){let b=bR({settingValue:a.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return b?{token:b,authMethod:"api-key"}:{token:await (0,cT.getVercelOidcToken)(),authMethod:"oidc"}}!function(a={}){var b,c,d;let e=null,f=null,g=null!=(b=a.metadataCacheRefreshMillis)?b:3e5,h=0,i=null!=(c=null==(d=a.baseURL)?void 0:d.replace(/\/$/,""))?c:"https://ai-gateway.vercel.sh/v4/ai",j=b=>bu({Authorization:`Bearer ${b.token}`,"ai-gateway-protocol-version":"0.0.1",[dy]:b.authMethod,...null!=a.teamIdOrSlug?{[dz]:a.teamIdOrSlug}:{},...a.headers},"ai-sdk/gateway/4.0.75"),k=async()=>{try{return j(await eG(a))}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},l=async()=>{try{return await eG(a)}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},m=async b=>{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 c=j(await l()),d=new URL("/v1/realtime/client-secrets",i).toString();try{let{value:e}=await cy({url:d,headers:c,body:{model:b.modelId,...null!=b.routeKind&&{routeKind:b.routeKind},...null!=b.expiresAfterSeconds&&{expiresIn:b.expiresAfterSeconds}},successfulResponseHandler:cF(eF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:a.fetch});return{token:e.token,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}catch(a){throw await dx(a,await dA(c))}},n=()=>{let a=bR({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),b=bR({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),c=bR({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),d=bR({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let e=await eE();return{...a&&{"ai-o11y-deployment-id":a},...b&&{"ai-o11y-environment":b},...c&&{"ai-o11y-region":c},...e&&{"ai-o11y-request-id":e},...d&&{"ai-o11y-project-id":d}}}},o=b=>new dM(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),p=async()=>{var b,c,d;let j=null!=(d=null==(c=null==(b=a._internal)?void 0:b.currentDate)?void 0:c.call(b).getTime())?d:Date.now();return(!e||j-h>g)&&(h=j,e=new dD({baseURL:i,headers:k,fetch:a.fetch}).getAvailableModels().then(a=>(f=a,a)).catch(async a=>{throw await dx(a,await dA(await k()))})),f?Promise.resolve(f):e},q=async()=>new dD({baseURL:i,headers:k,fetch:a.fetch}).getCredits().catch(async a=>{throw await dx(a,await dA(await k()))}),r=async b=>new dG({baseURL:i,headers:k,fetch:a.fetch}).getSpendReport(b).catch(async a=>{throw await dx(a,await dA(await k()))}),s=async b=>new dI({baseURL:i,headers:k,fetch:a.fetch}).getGenerationInfo(b).catch(async a=>{throw await dx(a,await dA(await k()))}),t=function(a){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return o(a)};t.specificationVersion="v4",t.getAvailableModels=p,t.getCredits=q,t.getSpendReport=r,t.getGenerationInfo=s,t.imageModel=b=>new d$(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),t.languageModel=o;let u=b=>new dX(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.embeddingModel=u,t.textEmbeddingModel=u,t.videoModel=b=>new d4(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});let v=b=>new ec(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.rerankingModel=v,t.reranking=v;let w=b=>new ef(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.speechModel=w,t.speech=w;let x=b=>new ej(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n(),webSocket:a.webSocket});t.transcriptionModel=x,t.transcription=x,t.experimental_transcription=Object.assign(a=>x(a),{getToken:async a=>{let b=await m({modelId:a.model,routeKind:"transcription",...null!=a.expiresAfterSeconds&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:b.token,url:ek(i,a.model),...null!=b.expiresAt&&{expiresAt:b.expiresAt}}}});let y=b=>new er(b,{provider:"gateway.realtime",baseURL:i,teamIdOrSlug:a.teamIdOrSlug,createClientSecret:m});t.experimental_realtime=Object.assign(a=>y(a),{getToken:async a=>{let{model:b,...c}=a,d=y(b),e=await d.doCreateClientSecret(c);return{token:e.token,url:e.url,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}}),t.chat=t.languageModel,t.embedding=t.embeddingModel,t.image=t.imageModel,t.video=t.videoModel,t.tools=eD}();var eH=Object.defineProperty,eI="AI_InvalidArgumentError",eJ=`vercel.ai.error.${eI}`,eK=Symbol.for(eJ),eL=class extends(R=aC,Q=eK,R){constructor({parameter:a,value:b,message:c}){super({name:eI,message:`Invalid argument for parameter ${a}: ${c}`}),this[Q]=!0,this.parameter=a,this.value=b}static isInstance(a){return aC.hasMarker(a,eJ)}},eM=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 eN="AI_NoObjectGeneratedError",eO=`vercel.ai.error.${eN}`,eP=Symbol.for(eO),eQ=class extends(T=aC,S=eP,T){constructor({message:a="No object generated.",cause:b,text:c,response:d,usage:e,finishReason:f}){super({name:eN,message:a,cause:b}),this[S]=!0,this.text=c,this.response=d,this.usage=e,this.finishReason=f}static isInstance(a){return aC.hasMarker(a,eO)}},eR=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 eS="AI_UIMessageStreamError",eT=`vercel.ai.error.${eS}`,eU=Symbol.for(eT),eV=class extends(V=aC,U=eU,V){constructor({chunkType:a,chunkId:b,message:c}){super({name:eS,message:c}),this[U]=!0,this.chunkType=a,this.chunkId=b}static isInstance(a){return aC.hasMarker(a,eT)}},eW=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 eX=async({url:a,maxBytes:b,abortSignal:c})=>{var d;let e=a.toString();try{let a=bu({},"ai-sdk/7.0.93",bn()),f=await bL({url:e,headers:a,abortSignal:c});if(!f.ok)throw await bv(f),new bz({url:e,statusCode:f.status,statusText:f.statusText});return{data:await bM({response:f,url:e,maxBytes:null!=b?b:0x80000000}),mediaType:null!=(d=f.headers.get("content-type"))?d:void 0}}catch(a){if(bz.isInstance(a))throw a;throw new bz({url:e,cause:a})}},eY={array:cS.array,boolean:cS.boolean,custom:cS.custom,discriminatedUnion:cS.discriminatedUnion,enum:cS.enum,instanceof:cS.instanceof,lazy:cS.lazy,literal:cS.literal,looseObject:cS.looseObject,never:cS.never,null:cS.null,number:cS.number,object:cS.object,record:cS.record,string:cS.string,union:cS.union,unknown:cS.unknown},eZ=eY.lazy(()=>eY.union([eY.null(),eY.string(),eY.number(),eY.boolean(),eY.record(eY.string(),eZ.optional()),eY.array(eZ)])),e$=eY.record(eY.string(),eY.record(eY.string(),eZ.optional())),e_=eY.union([eY.string(),eY.instanceof(Uint8Array),eY.instanceof(ArrayBuffer),eY.custom(function(a){var b,c;return null!=(c=null==(b=globalThis.Buffer)?void 0:b.isBuffer(a))&&c},{message:"Must be a Buffer"})]),e0=eY.record(eY.string(),eY.string()),e1=eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),e2=eY.object({type:eY.literal("image"),image:eY.union([e_,eY.instanceof(URL),e0]),mediaType:eY.string().optional(),providerOptions:e$.optional()}),e3=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)}),eY.object({type:eY.literal("reference"),reference:e0}),eY.object({type:eY.literal("text"),text:eY.string()})]),e4=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)})]),e5=eY.object({type:eY.literal("file"),data:eY.union([e3,e_,eY.instanceof(URL),e0]),filename:eY.string().optional(),mediaType:eY.string(),providerOptions:e$.optional()}),e6=eY.object({type:eY.literal("reasoning"),text:eY.string(),providerOptions:e$.optional()}),e7=eY.object({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerOptions:e$.optional()}),e8=eY.object({type:eY.literal("reasoning-file"),data:eY.union([e4,e_,eY.instanceof(URL)]),mediaType:eY.string(),providerOptions:e$.optional()}),e9=eY.object({type:eY.literal("tool-call"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerOptions:e$.optional(),providerExecuted:eY.boolean().optional()}),fa=eY.discriminatedUnion("type",[eY.object({type:eY.literal("text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("execution-denied"),reason:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("content"),value:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file"),data:e3,mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-data"),data:eY.string(),mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-url"),url:eY.string(),mediaType:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-data"),data:eY.string(),mediaType:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-url"),url:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("custom"),providerOptions:e$.optional()})]))})]),fb=eY.object({type:eY.literal("tool-result"),toolCallId:eY.string(),toolName:eY.string(),output:fa,providerOptions:e$.optional()}),fc=eY.object({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),reason:eY.string().optional()}),fd=eY.object({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional()}),fe=eY.object({role:eY.literal("system"),content:eY.string(),providerOptions:e$.optional()}),ff=eY.object({role:eY.literal("user"),content:eY.union([eY.string(),eY.array(eY.union([e1,e2,e5]))]),providerOptions:e$.optional()}),fg=eY.object({role:eY.literal("assistant"),content:eY.union([eY.string(),eY.array(eY.union([e1,e7,e5,e6,e8,e9,fb,fc]))]),providerOptions:e$.optional()}),fh=eY.object({role:eY.literal("tool"),content:eY.array(eY.union([fb,fd])),providerOptions:e$.optional()});eY.union([fe,ff,fg,fh]);var fi={},fj={array:()=>fo,choice:()=>fr,json:()=>fs,object:()=>fn,text:()=>fm};for(var fk in fj)eH(fi,fk,{get:fj[fk],enumerable:!0});async function fl(a){if(void 0===a)return{value:void 0,state:"undefined-input"};let b=await cv({text:a});return b.success?{value:b.value,state:"successful-parse"}:(b=await cv({text:function(a){let b=["ROOT"],c=-1,d=null,e=0;function f(a,e,f){switch(a){case'"':c=e,b.pop(),b.push(f),b.push("INSIDE_STRING");break;case"f":case"t":case"n":c=e,d=e,b.pop(),b.push(f),b.push("INSIDE_LITERAL");break;case"-":b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=e,b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"{":c=e,b.pop(),b.push(f),b.push("INSIDE_OBJECT_START");break;case"[":c=e,b.pop(),b.push(f),b.push("INSIDE_ARRAY_START")}}function g(a,d){switch(a){case",":b.pop(),b.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":c=d,b.pop()}}function h(a,d){switch(a){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=d,b.pop()}}for(let i=0;i<a.length;i++){let j=a[i];switch(b[b.length-1]){case"ROOT":f(j,i,"FINISH");break;case"INSIDE_OBJECT_START":switch(j){case'"':b.pop(),b.push("INSIDE_OBJECT_KEY");break;case"}":c=i,b.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===j&&(b.pop(),b.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":f(j,i,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":g(j,i);break;case"INSIDE_STRING":switch(j){case'"':b.pop(),c=i;break;case"\\":b.push("INSIDE_STRING_ESCAPE");break;default:c=i}break;case"INSIDE_ARRAY_START":"]"===j?(c=i,b.pop()):(c=i,f(j,i,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(j){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=i,b.pop();break;default:c=i}break;case"INSIDE_ARRAY_AFTER_COMMA":f(j,i,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":b.pop(),"u"===j?(e=0,b.push("INSIDE_STRING_UNICODE_ESCAPE")):c=i;break;case"INSIDE_STRING_UNICODE_ESCAPE":(j>="0"&&j<="9"||j>="A"&&j<="F"||j>="a"&&j<="f")&&4==++e&&(b.pop(),c=i);break;case"INSIDE_NUMBER":switch(j){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=i;break;case"e":case"E":case"-":case".":break;case",":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"}":b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"]":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i);break;default:b.pop()}break;case"INSIDE_LITERAL":{let e=a.substring(d,i+1);"false".startsWith(e)||"true".startsWith(e)||"null".startsWith(e)?c=i:(b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]?g(j,i):"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i))}}}let i=a.slice(0,c+1);for(let c=b.length-1;c>=0;c--)switch(b[c]){case"INSIDE_STRING":i+='"';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":i+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":i+="]";break;case"INSIDE_LITERAL":{let b=a.substring(d,a.length);"true".startsWith(b)?i+="true".slice(b.length):"false".startsWith(b)?i+="false".slice(b.length):"null".startsWith(b)&&(i+="null".slice(b.length))}}return i}(a)})).success?{value:b.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var fm=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:a})=>a,parsePartialOutput:async({text:a})=>({partial:a}),createElementStreamTransform(){}}),fn=({schema:a,name:b,description:c})=>{let d=cq(a);return{name:"object",responseFormat:cB(d.jsonSchema).then(a=>({type:"json",schema:a,...null!=b&&{name:b},...null!=c&&{description:c}})),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});let e=await ct({value:c.value,schema:d});if(!e.success)throw new eQ({message:"No object generated: response did not match schema.",cause:e.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return e.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:b.value}}},createElementStreamTransform(){}}},fo=({element:a,minItems:b,maxItems:c,name:d,description:e})=>{if(fp({name:"minItems",value:b}),fp({name:"maxItems",value:c}),null!=b&&null!=c&&b>c)throw new eL({parameter:"minItems",value:b,message:"minItems must be less than or equal to maxItems"});let f=cq(a);return{name:"array",responseFormat:cB(f.jsonSchema).then(a=>{let{$schema:f,definitions:g,$defs:h,...i}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=g&&{definitions:g},...null!=h&&{$defs:h},type:"object",properties:{elements:{type:"array",items:i,...null!=b&&{minItems:b},...null!=c&&{maxItems:c}}},required:["elements"],additionalProperties:!1},...null!=d&&{name:d},...null!=e&&{description:e}}}),async parseCompleteOutput({text:a},d){let e=await cv({text:a});if(!e.success)throw new eQ({message:"No object generated: could not parse the response.",cause:e.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let g=e.value;if(null==g||"object"!=typeof g||!("elements"in g)||!Array.isArray(g.elements))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:g,cause:"response must be an object with an elements array"}),text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let h=fq({value:g.elements,minItems:b,maxItems:c});if(null!=h)throw new eQ({message:"No object generated: response did not match schema.",cause:h,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let i=[];for(let b of g.elements){let c=await ct({value:b,schema:f});if(!c.success)throw new eQ({message:"No object generated: response did not match schema.",cause:c.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});i.push(c.value)}return i},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let a=b.value;if(null==a||"object"!=typeof a||!("elements"in a)||!Array.isArray(a.elements))return;let c="repaired-parse"===b.state&&a.elements.length>0?a.elements.slice(0,-1):a.elements,d=[];for(let a of c){let b=await ct({value:a,schema:f});b.success&&d.push(b.value)}return{partial:d}}}},createElementStreamTransform(){let a=0;return new TransformStream({transform({partialOutput:b},d){if(null!=b)for(;a<b.length;a++){if(null!=c&&a>=c)return void d.error(fq({value:b,maxItems:c}));d.enqueue(b[a])}}})}}};function fp({name:a,value:b}){if(null!=b){if(!Number.isInteger(b))throw new eL({parameter:a,value:b,message:`${a} must be an integer`});if(b<0)throw new eL({parameter:a,value:b,message:`${a} must be greater than or equal to 0`})}}function fq({value:a,minItems:b,maxItems:c}){return null!=b&&a.length<b?new a2({value:a,cause:`elements array must contain at least ${b} items`}):null!=c&&a.length>c?new a2({value:a,cause:`elements array must contain at most ${c} items`}):void 0}var fr=({options:a,name:b,description:c})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:a}},required:["result"],additionalProperties:!1},...null!=b&&{name:b},...null!=c&&{description:c}}),async parseCompleteOutput({text:b},c){let d=await cv({text:b});if(!d.success)throw new eQ({message:"No object generated: could not parse the response.",cause:d.error,text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});let e=d.value;if(null==e||"object"!=typeof e||!("result"in e)||"string"!=typeof e.result||!a.includes(e.result))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:e,cause:"response must be an object that contains a choice value."}),text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});return e.result},async parsePartialOutput({text:b}){let c=await fl(b);switch(c.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let b=c.value;if(null==b||"object"!=typeof b||!("result"in b)||"string"!=typeof b.result)return;let d=a.filter(a=>a.startsWith(b.result));if("successful-parse"===c.state)return d.includes(b.result)?{partial:b.result}:void 0;return 1===d.length?{partial:d[0]}:void 0}}},createElementStreamTransform(){}}),fs=({name:a,description:b}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=a&&{name:a},...null!=b&&{description:b}}),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return c.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===b.value?void 0:{partial:b.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),TransformStream;var ft=eY.record(eY.string(),eZ.optional()),fu=co(()=>cr(eY.union([eY.looseObject({type:eY.literal("text-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("error"),errorText:eY.string()}),eY.looseObject({type:eY.literal("tool-input-start"),toolCallId:eY.string(),toolName:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-delta"),toolCallId:eY.string(),inputTextDelta:eY.string()}),eY.looseObject({type:eY.literal("tool-input-available"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-error"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),errorText:eY.string(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),approvalDescriptor:eY.unknown().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("tool-output-available"),toolCallId:eY.string(),output:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),preliminary:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-error"),toolCallId:eY.string(),errorText:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-denied"),toolCallId:eY.string()}),eY.looseObject({type:eY.literal("reasoning-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.custom(a=>"string"==typeof a&&a.startsWith("data-"),{message:'Type must start with "data-"'}),id:eY.string().optional(),data:eY.unknown(),transient:eY.boolean().optional()}),eY.looseObject({type:eY.literal("start-step")}),eY.looseObject({type:eY.literal("finish-step")}),eY.looseObject({type:eY.literal("reset-step")}),eY.looseObject({type:eY.literal("start"),messageId:eY.string().optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("finish"),finishReason:eY.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("abort"),reason:eY.string().optional()}),eY.looseObject({type:eY.literal("message-metadata"),messageMetadata:eY.unknown()})])));function fv(){return Object.create(null)}function fw(a){return a.type.startsWith("tool-")}function fx(a){return"dynamic-tool"===a.type}function fy(a){return fw(a)||fx(a)}function fz(a){return a.type.split("-").slice(1).join("-")}function fA(a){return fx(a)?a.toolName:fz(a)}async function fB({stream:a,onError:b,abortSignal:c}){let d=a.getReader(),e=()=>{d.cancel().catch(()=>{})};(null==c?void 0:c.aborted)?e():null==c||c.addEventListener("abort",e,{once:!0});try{for(;;){let{done:a}=await d.read();if(a)break}}catch(a){null==b||b(a)}finally{null==c||c.removeEventListener("abort",e),d.releaseLock()}}bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24});var fC=eY.record(eY.string(),eZ.optional()),fD=eY.record(eY.string(),eY.string());function fE(a){return({url:b,abortSignal:c})=>eX({url:b,maxBytes:null==a?void 0:a.maxBytes,abortSignal:c})}co(()=>cr(eY.array(eY.object({id:eY.string(),role:eY.enum(["system","user","assistant"]),metadata:eY.unknown().optional(),parts:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning"),id:eY.string().optional(),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("custom"),kind:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("file"),mediaType:eY.string(),filename:eY.string().optional(),url:eY.string(),providerReference:fD.optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning-file"),mediaType:eY.string(),url:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("step-start")}),eY.object({type:eY.string().startsWith("data-"),id:eY.string().optional(),data:eY.unknown()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),input:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),input:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),providerExecuted:eY.boolean().optional(),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})})]))}).superRefine((a,b)=>{"assistant"!==a.role&&0===a.parts.length&&b.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:a.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),bN({prefix:"call",size:24}),bN({prefix:"call",size:24}),new TextEncoder,bN({prefix:"aiobj",size:24});var fF=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(a){return new Promise((b,c)=>{this.queue.push(async()=>{try{await a(),b()}catch(a){c(a)}}),this.processQueue()})}};bN({prefix:"aiobj",size:24}),fE();Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function fG(a){if(null==a)return[];if(!globalThis.FileList||!(a instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(a).map(async a=>{let{name:b,type:c}=a;return{type:"file",mediaType:c,filename:b,url:await new Promise((b,c)=>{let d=new FileReader;d.onload=a=>{var c;b(null==(c=a.target)?void 0:c.result)},d.onerror=a=>c(a),d.readAsDataURL(a)})}}))}bN({prefix:"call",size:24}),fE();var fH=class{constructor({api:a="/api/chat",credentials:b,headers:c,body:d,fetch:e,prepareSendMessagesRequest:f,prepareReconnectToStreamRequest:g}){this.api=a,this.credentials=b,this.headers=c,this.body=d,this.fetch=e,this.prepareSendMessagesRequest=f,this.prepareReconnectToStreamRequest=g}async sendMessages({abortSignal:a,...b}){var c,d,e,f;let g=await cB(this.body),h=await cB(this.headers),i=await cB(this.credentials),j={...bt(h),...bt(b.headers)},k=await (null==(c=this.prepareSendMessagesRequest)?void 0:c.call(this,{api:this.api,id:b.chatId,messages:b.messages,body:{...g,...b.body},headers:j,credentials:i,requestMetadata:b.metadata,trigger:b.trigger,messageId:b.messageId})),l=null!=(d=null==k?void 0:k.api)?d:this.api,m=(null==k?void 0:k.headers)!==void 0?bt(k.headers):j,n=(null==k?void 0:k.body)!==void 0?k.body:{...g,...b.body,id:b.chatId,messages:b.messages,trigger:b.trigger,messageId:b.messageId},o=null!=(e=null==k?void 0:k.credentials)?e:i,p=null!=(f=this.fetch)?f:globalThis.fetch,q=await p(l,{method:"POST",headers:{"Content-Type":"application/json",...m},body:JSON.stringify(n),credentials:o,signal:a});if(!q.ok)throw Error(await q.text()||"Failed to fetch the chat response.");if(!q.body)throw Error("The response body is empty.");return this.processResponseStream(q.body)}async reconnectToStream(a){var b,c,d,e;let f=await cB(this.body),g=await cB(this.headers),h=await cB(this.credentials),i={...bt(g),...bt(a.headers)},j=await (null==(b=this.prepareReconnectToStreamRequest)?void 0:b.call(this,{api:this.api,id:a.chatId,body:{...f,...a.body},headers:i,credentials:h,requestMetadata:a.metadata})),k=null!=(c=null==j?void 0:j.api)?c:`${this.api}/${a.chatId}/stream`,l=(null==j?void 0:j.headers)!==void 0?bt(j.headers):i,m=null!=(d=null==j?void 0:j.credentials)?d:h,n=null!=(e=this.fetch)?e:globalThis.fetch,o=await n(k,{method:"GET",headers:l,credentials:m,signal:a.abortSignal});if(204===o.status)return null;if(!o.ok)throw Error(await o.text()||"Failed to fetch the chat response.");if(!o.body)throw Error("The response body is empty.");return this.processResponseStream(o.body)}},fI=class extends fH{constructor(a={}){super(a)}processResponseStream(a){return cw({stream:a,schema:fu}).pipeThrough(new TransformStream({async transform(a,b){if(!a.success)throw a.error;b.enqueue(a.value)}}))}},fJ=class{constructor({generateId:a=bO,id:b=a(),transport:c=new fI,messageMetadataSchema:d,dataPartSchemas:e,state:f,onError:g,onToolCall:h,onFinish:i,onData:j,sendAutomaticallyWhen:k}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new fF,this.sendMessage=async(a,b)=>{var c,d,e,f;let g;if(null==a)return void await this.makeRequest({trigger:"submit-message",messageId:null==(c=this.lastMessage)?void 0:c.id,...b});if("text"in a||"files"in a){let b,c=new AbortController;this.pendingMessagePreparations.add(c);try{b=Array.isArray(a.files)?a.files:await fG(a.files)}finally{this.pendingMessagePreparations.delete(c)}if(c.signal.aborted)return;g={parts:[...b,..."text"in a&&null!=a.text?[{type:"text",text:a.text}]:[]]}}else g=a;if(null!=a.messageId){let b=this.state.messages.findIndex(b=>b.id===a.messageId);if(-1===b)throw Error(`message with id ${a.messageId} not found`);if("user"!==this.state.messages[b].role)throw Error(`message with id ${a.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,b+1),this.state.replaceMessage(b,{id:a.messageId,...g,role:null!=(d=g.role)?d:"user",metadata:a.metadata})}else this.state.pushMessage({...g,id:null!=(e=g.id)?e:this.generateId(),role:null!=(f=g.role)?f:"user",metadata:a.metadata});await this.makeRequest({trigger:"submit-message",messageId:a.messageId,...b})},this.regenerate=async({messageId:a,...b}={})=>{let c=null==a?this.state.messages.length-1:this.state.messages.findIndex(b=>b.id===a);if(-1===c)throw Error(`message ${a} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[c].role?c:c+1),await this.makeRequest({trigger:"regenerate-message",messageId:a,...b})},this.resumeStream=async(a={})=>{await this.makeRequest({trigger:"resume-stream",...a})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:a,approved:b,reason:c,options:d})=>this.jobExecutor.run(async()=>{let e=this.state.messages,f=e[e.length-1],g=d=>fy(d)&&"approval-requested"===d.state&&d.approval.id===a?{...d,state:"approval-responded",approval:{...d.approval,id:a,approved:b,reason:c}}:d;this.state.replaceMessage(e.length-1,{...f,parts:f.parts.map(g)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(g)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...d})})}),this.addToolOutput=async({state:a="output-available",toolCallId:b,output:c,errorText:d,options:e})=>this.jobExecutor.run(async()=>{let f=this.state.messages,g=f[f.length-1],h=e=>fy(e)&&e.toolCallId===b?{...e,state:a,output:c,errorText:d}:e;this.state.replaceMessage(f.length-1,{...g,parts:g.parts.map(h)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(h)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...e})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var a,b;for(let a of this.pendingMessagePreparations)a.abort();null==(a=this.activeResumeRequest)||a.abortController.abort(),null==(b=this.activeResponse)||b.abortController.abort()},this.id=b,this.transport=c,this.generateId=a,this.messageMetadataSchema=d,this.dataPartSchemas=e,this.state=f,this.onError=g,this.onToolCall=h,this.onFinish=i,this.onData=j,this.sendAutomaticallyWhen=k}get status(){return this.state.status}setStatus({status:a,error:b}){this.status!==a&&(this.state.status=a,this.state.error=b)}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(a){this.state.messages=a}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let a=this.sendAutomaticallyWhen({messages:this.state.messages});return a&&"object"==typeof a&&"then"in a?await a:a}async makeRequest({trigger:a,metadata:b,headers:c,body:d,messageId:e}){var f,g,h;let i,j,k=new AbortController,l="resume-stream"===a?{abortController:k}:void 0;l&&(null==(f=this.activeResumeRequest)||f.abortController.abort(),this.activeResumeRequest=l);let m=()=>null==l||this.activeResumeRequest===l,n=()=>{this.activeResumeRequest===l&&(this.activeResumeRequest=void 0)};if("resume-stream"===a)try{let a=await this.transport.reconnectToStream({chatId:this.id,abortSignal:k.signal,metadata:b,headers:c,body:d});if(k.signal.aborted||!m()){await (null==a?void 0:a.cancel().catch(()=>{})),m()&&this.setStatus({status:"ready"}),n();return}if(null==a){this.setStatus({status:"ready"}),n();return}i=a}catch(a){if(k.signal.aborted||"AbortError"===a.name){m()&&this.setStatus({status:"ready"}),n();return}if(!m())return;this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a}),n();return}this.setStatus({status:"submitted",error:void 0});let o=this.lastMessage,p=!1,q=!1,r=!1;try{let f,g={state:function({lastMessage:a,messageId:b}){return{message:(null==a?void 0:a.role)==="assistant"?a:{id:b,metadata:void 0,role:"assistant",parts:[]},activeTextParts:fv(),activeReasoningParts:fv(),partialToolCalls:fv()}}({lastMessage:"resume-stream"===a||"regenerate-message"===a?void 0:this.state.snapshot(o),messageId:this.generateId()}),abortController:k};j=g,g.abortController.signal.addEventListener("abort",()=>{p=!0}),this.activeResponse=g,f="resume-stream"===a?i:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:g.abortController.signal,metadata:b,headers:c,body:d,trigger:a,messageId:e});let h=a=>this.jobExecutor.run(()=>g.abortController.signal.aborted?Promise.resolve():a({state:g.state,write:({updateStatus:a=!0}={})=>{var b;g.abortController.signal.aborted||(a&&this.setStatus({status:"streaming"}),g.state.message.id===(null==(b=this.lastMessage)?void 0:b.id)?this.state.replaceMessage(this.state.messages.length-1,g.state.message):this.state.pushMessage(g.state.message))}}));if(await fB({stream:function({stream:a,messageMetadataSchema:b,dataPartSchemas:c,runUpdateMessageJob:d,onError:e,onToolCall:f,onData:g}){return a.pipeThrough(new TransformStream({async transform(a,h){await d(async({state:d,write:i})=>{var j,k,l,m;function n(){let a=d.message.parts,b=a.length-1;for(;b>=0&&"step-start"!==a[b].type;)b--;return a.slice(b+1)}function o(a){let b=n().filter(fy).find(b=>b.toolCallId===a);if(null==b){let c=d.message.parts;for(let d=c.length-1;d>=0;d--){let e=c[d];if(fy(e)&&e.toolCallId===a){b=e;break}}}if(null==b)throw new eV({chunkType:"tool-invocation",chunkId:a,message:`No tool invocation found for tool call ID "${a}".`});return b}function p(a,b){var c;let e=null!=b?b:n().find(b=>fw(b)&&b.toolCallId===a.toolCallId);if(null!=e){e.state=a.state,e.input=a.input,e.output=a.output,e.errorText=a.errorText,e.rawInput=a.rawInput,e.preliminary=a.preliminary,void 0!==a.title&&(e.title=a.title),void 0!==a.toolMetadata&&(e.toolMetadata=a.toolMetadata),e.providerExecuted=null!=(c=a.providerExecuted)?c:e.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?e.resultProviderMetadata=b:e.callProviderMetadata=b)}else d.message.parts.push({type:`tool-${a.toolName}`,toolCallId:a.toolCallId,state:a.state,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},input:a.input,output:a.output,rawInput:a.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,preliminary:a.preliminary,...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}function q(a,b){var c,e;let f=null!=b?b:n().find(b=>"dynamic-tool"===b.type&&b.toolCallId===a.toolCallId);if(null!=f){f.state=a.state,f.toolName=a.toolName,f.input=a.input,f.output=a.output,f.errorText=a.errorText,f.rawInput=null!=(c=a.rawInput)?c:f.rawInput,f.preliminary=a.preliminary,void 0!==a.title&&(f.title=a.title),void 0!==a.toolMetadata&&(f.toolMetadata=a.toolMetadata),f.providerExecuted=null!=(e=a.providerExecuted)?e:f.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?f.resultProviderMetadata=b:f.callProviderMetadata=b)}else d.message.parts.push({type:"dynamic-tool",toolName:a.toolName,toolCallId:a.toolCallId,state:a.state,input:a.input,output:a.output,errorText:a.errorText,preliminary:a.preliminary,providerExecuted:a.providerExecuted,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}async function r(a){if(null!=a){let c=null!=d.message.metadata?function a(b,c){if(void 0===b&&void 0===c)return;if(void 0===b)return c;if(void 0===c)return b;let d={...b};for(let e in c)if("__proto__"!==e&&"constructor"!==e&&"prototype"!==e&&Object.prototype.hasOwnProperty.call(c,e)){let f=c[e];if(void 0===f)continue;let g=e in b?b[e]:void 0,h=null!==f&&"object"==typeof f&&!Array.isArray(f)&&!(f instanceof Date)&&!(f instanceof RegExp),i=null!=g&&"object"==typeof g&&!Array.isArray(g)&&!(g instanceof Date)&&!(g instanceof RegExp);h&&i?d[e]=a(g,f):d[e]=f}return d}(d.message.metadata,a):a;null!=b&&await cs({value:c,schema:b,context:{field:"message.metadata",entityId:d.message.id}}),d.message.metadata=c}}switch(a.type){case"text-start":{let b={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeTextParts[a.id]=b,d.message.parts.push(b),i();break}case"text-delta":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-delta",chunkId:a.id,message:`Received text-delta for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(j=a.providerMetadata)?j:b.providerMetadata,i();break}case"text-end":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-end",chunkId:a.id,message:`Received text-end for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});b.state="done",b.providerMetadata=null!=(k=a.providerMetadata)?k:b.providerMetadata,delete d.activeTextParts[a.id],i();break}case"custom":{let b={type:"custom",kind:a.kind,providerMetadata:a.providerMetadata};d.message.parts.push(b),i();break}case"reasoning-start":{let b={type:"reasoning",id:a.id,text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeReasoningParts[a.id]=b,d.message.parts.push(b),i();break}case"reasoning-delta":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-delta",chunkId:a.id,message:`Received reasoning-delta for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(l=a.providerMetadata)?l:b.providerMetadata,i();break}case"reasoning-end":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-end",chunkId:a.id,message:`Received reasoning-end for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});b.providerMetadata=null!=(m=a.providerMetadata)?m:b.providerMetadata,b.state="done",delete d.activeReasoningParts[a.id],i();break}case"file":case"reasoning-file":d.message.parts.push({type:a.type,mediaType:a.mediaType,url:a.url,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}}),i();break;case"source-url":d.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),i();break;case"source-document":d.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),i();break;case"tool-input-start":{let b=n().filter(fw);d.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:b.length,dynamic:a.dynamic,title:a.title,toolMetadata:a.toolMetadata},a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}),i();break}case"tool-input-delta":{let b=d.partialToolCalls[a.toolCallId];if(null==b)throw new eV({chunkType:"tool-input-delta",chunkId:a.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${a.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});b.text+=a.inputTextDelta;let{value:c}=await fl(b.text);b.dynamic?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}):p({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}),i();break}case"tool-input-available":a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}),i(),f&&!a.providerExecuted&&await f({toolCall:a});break;case"tool-input-error":{let b=n().filter(fy).find(b=>b.toolCallId===a.toolCallId);(null!=b?"dynamic-tool"===b.type:a.dynamic)?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}),i();break}case"tool-approval-request":{let b=o(a.toolCallId);b.state="approval-requested",b.approval={id:a.approvalId,...null!=a.approvalDescriptor?{descriptor:a.approvalDescriptor}:{},...null!=a.reason?{requestReason:a.reason}:{},...!0===a.isAutomatic?{isAutomatic:!0}:{},...null!=a.signature?{signature:a.signature}:{}},i();break}case"tool-approval-response":{let b=function(a){let b=d.message.parts.filter(fy).find(b=>{var c;return(null==(c=b.approval)?void 0:c.id)===a});if(null==b)throw new eV({chunkType:"tool-approval-response",chunkId:a,message:`No tool invocation found for approval ID "${a}".`});return b}(a.approvalId),c=null==b.approval?{id:a.approvalId}:b.approval;b.state="approval-responded",b.approval={...c,id:a.approvalId,approved:a.approved,...null!=a.reason?{reason:a.reason}:{}},null!=a.providerExecuted&&(b.providerExecuted=a.providerExecuted),null!=a.providerMetadata&&(b.callProviderMetadata=a.providerMetadata),i();break}case"tool-output-denied":o(a.toolCallId).state="output-denied",i();break;case"tool-output-available":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-available",input:b.input,output:a.output,preliminary:a.preliminary,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-available",input:b.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"tool-output-error":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-error",input:b.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-error",input:b.input,rawInput:b.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"start-step":d.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let a=n();d.activeTextParts=fv(),d.activeReasoningParts=fv(),d.partialToolCalls=fv(),a.length>0&&(d.message.parts.splice(d.message.parts.length-a.length,a.length),i());break}case"start":null!=a.messageId&&(d.message.id=a.messageId),await r(a.messageMetadata),(null!=a.messageId||null!=a.messageMetadata)&&i({updateStatus:!1});break;case"finish":null!=a.finishReason&&(d.finishReason=a.finishReason),await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"message-metadata":await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"error":null==e||e(Error(a.errorText));break;default:if(a.type.startsWith("data-")){if((null==c?void 0:c[a.type])!=null){let b=d.message.parts.findIndex(b=>"id"in b&&"data"in b&&b.id===a.id&&b.type===a.type),e=b>=0?b:d.message.parts.length;await cs({value:a.data,schema:c[a.type],context:{field:`message.parts[${e}].data`,entityName:a.type,entityId:a.id}})}if(a.transient){null==g||g(a);break}let b=null!=a.id?d.message.parts.find(b=>a.type===b.type&&a.id===b.id):void 0;null!=b?b.data=a.data:d.message.parts.push(a),null==g||g(a),i()}}h.enqueue(a)})}}))}({stream:f,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:h,onError:a=>{throw a}}),abortSignal:g.abortController.signal,onError:a=>{throw a}}),p)return m()&&this.setStatus({status:"ready"}),null;m()&&this.setStatus({status:"ready"})}catch(a){if(p||"AbortError"===a.name)return p=!0,m()&&this.setStatus({status:"ready"}),null;if(!m())return null;r=!0,a instanceof TypeError&&(a.message.toLowerCase().includes("fetch")||a.message.toLowerCase().includes("network"))&&(q=!0),this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a})}finally{try{j&&(null==(g=this.onFinish)||g.call(this,{message:j.state.message,messages:this.state.messages,isAbort:p,isDisconnect:q,isError:r,finishReason:j.state.finishReason}))}finally{this.activeResponse===j&&(this.activeResponse=void 0),n()}}!r&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(h=this.lastMessage)?void 0:h.id,metadata:b,headers:c,body:d})}};a.i(393931);var fK=a.i(313350),fL=(a,b,c)=>{if(!b.has(a))throw TypeError("Cannot "+c)},fM=(a,b,c)=>(fL(a,b,"read from private field"),c?c.call(a):b.get(a)),fN=(a,b,c)=>{if(b.has(a))throw TypeError("Cannot add the same private member more than once");b instanceof WeakSet?b.add(a):b.set(a,c)},fO=(a,b,c,d)=>(fL(a,b,"write to private field"),d?d.call(a,c):b.set(a,c),c),fP=class{constructor(a=[]){fN(this,W,void 0),fN(this,X,"ready"),fN(this,Y,void 0),fN(this,Z,new Set),fN(this,$,new Set),fN(this,_,new Set),this.pushMessage=a=>{fO(this,W,fM(this,W).concat(a)),fM(this,aa).call(this)},this.popMessage=()=>{fO(this,W,fM(this,W).slice(0,-1)),fM(this,aa).call(this)},this.replaceMessage=(a,b)=>{fO(this,W,[...fM(this,W).slice(0,a),this.snapshot(b),...fM(this,W).slice(a+1)]),fM(this,aa).call(this)},this.snapshot=a=>{var b;if(null==a||"object"!=typeof a||!("parts"in a)||!Array.isArray(a.parts))return a;let c={...a,parts:a.parts.map(a=>({...a}))};return"metadata"in a&&(c.metadata=Array.isArray(b=a.metadata)?[...b]:null!=b&&"object"==typeof b&&(Object.getPrototypeOf(b)===Object.prototype||null===Object.getPrototypeOf(b))?{...b}:b),c},this["~registerMessagesCallback"]=(a,b)=>{let c=b?null!=b?(0,fK.default)(a,b):a:a;return fM(this,Z).add(c),()=>{fM(this,Z).delete(c)}},this["~registerStatusCallback"]=a=>(fM(this,$).add(a),()=>{fM(this,$).delete(a)}),this["~registerErrorCallback"]=a=>(fM(this,_).add(a),()=>{fM(this,_).delete(a)}),fN(this,aa,()=>{fM(this,Z).forEach(a=>a())}),fN(this,ab,()=>{fM(this,$).forEach(a=>a())}),fN(this,ac,()=>{fM(this,_).forEach(a=>a())}),fO(this,W,a)}get status(){return fM(this,X)}set status(a){fO(this,X,a),fM(this,ab).call(this)}get error(){return fM(this,Y)}set error(a){fO(this,Y,a),fM(this,ac).call(this)}get messages(){return fM(this,W)}set messages(a){fO(this,W,[...a]),fM(this,aa).call(this)}};W=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ab=new WeakMap,ac=new WeakMap;var fQ=class extends fJ{constructor({messages:a,...b}){const c=new fP(a);super({...b,state:c}),fN(this,ad,void 0),this["~registerMessagesCallback"]=(a,b)=>fM(this,ad)["~registerMessagesCallback"](a,b),this["~registerStatusCallback"]=a=>fM(this,ad)["~registerStatusCallback"](a),this["~registerErrorCallback"]=a=>fM(this,ad)["~registerErrorCallback"](a),fO(this,ad,c)}};ad=new WeakMap;var fR=a.i(327598);let fS={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};fS.node;let fT=(0,ai.default)(fS);var fU=a.i(589027),fV=a.i(875160);let fW={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};fW.node;let fX=(0,ai.default)(fW);var fY=a.i(545097),fZ=a.i(608902),f$=a.i(379630),f_=a.i(421042),f0=a.i(497895);let f1=new fI({api:ar.queryKey.memoryEdit});function f2({notes:a}){let[b,c]=(0,aq.useState)(""),[d,e]=(0,aq.useState)({provider:null,model:""}),[f,g]=(0,aq.useState)(!1),{messages:h,sendMessage:i,setMessages:j,status:k,stop:l,error:m,clearError:n}=function({throttle:a,experimental_throttle:b,resume:c=!1,...d}={}){let e,f=null!=a?a:b,g=(0,aq.useRef)({});"chat"in d||(g.current={onToolCall:d.onToolCall,onData:d.onData,onFinish:d.onFinish,onError:d.onError,sendAutomaticallyWhen:d.sendAutomaticallyWhen,transport:d.transport});let h=()=>{var a;return null!=(a=g.current.transport)?a:null!=e?e:e=new fI},i={...d,transport:{sendMessages:a=>h().sendMessages(a),reconnectToStream:a=>h().reconnectToStream(a)},onToolCall:a=>{var b,c;return null==(c=(b=g.current).onToolCall)?void 0:c.call(b,a)},onData:a=>{var b,c;return null==(c=(b=g.current).onData)?void 0:c.call(b,a)},onFinish:a=>{var b,c;return null==(c=(b=g.current).onFinish)?void 0:c.call(b,a)},onError:a=>{var b,c;return null==(c=(b=g.current).onError)?void 0:c.call(b,a)},sendAutomaticallyWhen:a=>{var b,c,d;return null!=(d=null==(c=(b=g.current).sendAutomaticallyWhen)?void 0:c.call(b,a))&&d}},j=(0,aq.useRef)("chat"in d?d.chat:new fQ(i));("chat"in d&&d.chat!==j.current||"id"in d&&null!=d.id&&j.current.id!==d.id)&&(j.current="chat"in d?d.chat:new fQ(i));let k=j.current,l=(0,aq.useRef)({chat:k,messages:k.messages});l.current.chat!==k&&(l.current={chat:k,messages:k.messages});let m=(0,aq.useCallback)(a=>{let b=!0,c=k["~registerMessagesCallback"](()=>{b&&l.current.chat===k&&(l.current={chat:k,messages:k.messages},a())},f);return l.current={chat:k,messages:k.messages},()=>{b=!1,c()}},[k,f]),n=(0,aq.useCallback)(()=>l.current.messages,[]),o=(0,aq.useSyncExternalStore)(m,n,n),p=(0,aq.useCallback)(a=>k["~registerStatusCallback"](()=>{l.current.chat===k&&(("ready"===k.status||"error"===k.status)&&(l.current={chat:k,messages:k.messages}),a())}),[k]),q=(0,aq.useCallback)(()=>k.status,[k]),r=(0,aq.useSyncExternalStore)(p,q,q),s=(0,aq.useSyncExternalStore)(j.current["~registerErrorCallback"],()=>j.current.error,()=>j.current.error),t=(0,aq.useCallback)(a=>{"function"==typeof a&&(a=a(j.current.messages)),j.current.messages=a},[j]);return(0,aq.useEffect)(()=>{c&&j.current.resumeStream()},[c,j]),{id:j.current.id,messages:o,setMessages:t,sendMessage:j.current.sendMessage,regenerate:j.current.regenerate,clearError:j.current.clearError,stop:j.current.stop,error:s,resumeStream:j.current.resumeStream,status:r,addToolResult:j.current.addToolOutput,addToolOutput:j.current.addToolOutput,addToolApprovalResponse:j.current.addToolApprovalResponse}}({transport:f1}),o=(0,aq.useRef)(l);o.current=l,(0,aq.useEffect)(()=>()=>{o.current()},[]);let p=(0,aq.useRef)(new Map);for(let b of a)for(let a of b.facts)p.current.set(a.id,{text:a.text,path:b.path});let q="submitted"===k||"streaming"===k,r=!!(d.provider&&d.model.trim()),s=[...h].reverse().find(a=>"assistant"===a.role),t=s?.parts??[],u=t.filter(fy),v=t.flatMap(a=>"text"===a.type?[a.text]:[]).join(" ").trim(),w=!!m||u.some(a=>"output-error"===a.state),x=u.filter(a=>"output-available"===a.state&&fA(a)!==f_.TOOL_NAMES.memory_recall).length;(0,aq.useEffect)(()=>{if("ready"!==k||w||0===h.length)return;let a=setTimeout(()=>j([]),4e3);return()=>clearTimeout(a)},[k,w,h.length,j]);let y=q?(0,ae.jsx)(fY.ShinyText,{text:"Working on memory",className:"text-xs"}):m?(0,ae.jsx)("span",{className:"text-xs text-destructive",children:m.message}):s?(0,ae.jsx)("span",{className:"text-xs text-muted-foreground",children:v||(0===x?"Nothing to change":1===x?"1 change saved":`${x} changes saved`)}):null;return(0,ae.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,ae.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[f&&(0,ae.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,ae.jsx)(fZ.ModelPicker,{provider:d.provider,model:d.model,unset:"Provider",onChange:e})}),u.length>0&&(0,ae.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:u.map(a=>(0,ae.jsx)(f4,{name:fA(a),input:a.input,state:a.state,errorText:"output-error"===a.state?a.errorText:void 0,known:p.current},a.toolCallId))}),y&&(0,ae.jsx)("p",{className:"max-w-full truncate px-1",children:y}),(0,ae.jsxs)("form",{onSubmit:a=>{a.preventDefault();let e=b.trim();e&&r&&!q&&(c(""),g(!1),n(),j([]),i({text:e},{body:{model:d}}))},className:"flex h-10 w-full items-center gap-1.5 rounded-xl bg-popover pr-1.5 pl-3.5 shadow-lg ring-1 ring-foreground/10",children:[(0,ae.jsx)("input",{value:b,onChange:a=>c(a.target.value),disabled:q,"aria-label":"Edit memory",placeholder:"Tell memory what changed",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-60"}),(0,ae.jsxs)(as.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>g(!f),className:(0,f0.cn)("max-w-44",!r&&"text-muted-foreground"),children:[r&&d.provider?(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(f$.ProviderIcon,{provider:d.provider,className:"size-3"}),(0,ae.jsx)("span",{className:"truncate",children:d.model})]}):"Model",(0,ae.jsx)(fU.ChevronDown,{className:"text-muted-foreground"})]}),(0,ae.jsx)(as.Button,{type:"submit",size:"icon-sm",loading:q,disabled:!b.trim()||!r||q,"aria-label":"Send",children:!q&&(0,ae.jsx)(fR.ArrowUp,{})})]})]})})}let f3={Remember:an.Plus,Replace:ak,Forget:fX,Rename:ak,Opened:fT};function f4({name:a,input:b,state:c,errorText:d,known:e}){let f=function(a,b,c){let d=b??{};if(a===f_.TOOL_NAMES.memory_recall)return{kind:"Opened",path:d.path??"",lines:[],carried:!1};if(a===f_.TOOL_NAMES.memory_forget){let a=null!=d.factId?c.get(d.factId):void 0,b=null!=d.factId?`Fact #${d.factId}`:"";return{kind:"Forget",path:a?.path??"",lines:[{before:a?.text??b}],carried:!1}}let e=(d.facts??[]).filter(a=>null!=a),f=e.map(a=>null!=a.replaces?{before:c.get(a.replaces)?.text??`Fact #${a.replaces}`,after:a.text}:{after:a.text});d.description&&f.push({after:`“${d.description}”`});let g=(d.aliases??[]).filter(Boolean);return g.length&&f.push({after:`Called ${g.map(a=>`“${a}”`).join(", ")}`}),{kind:e.some(a=>null!=a.replaces)?"Replace":e.length?"Remember":"Rename",path:d.path??"",lines:f,carried:e.some(a=>a.alwaysLoad)}}(a,b,e),g=f3[f.kind],h="output-error"===c;return(0,ae.jsxs)("li",{className:"flex animate-in items-start gap-2.5 px-3 py-2.5 duration-200 fade-in slide-in-from-bottom-1",children:[(0,ae.jsx)(g,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,ae.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[f.lines.map((a,b)=>(0,ae.jsxs)("div",{children:[a.before&&(0,ae.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:a.before}),a.after&&(0,ae.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:a.after})]},`${f.kind}-${b}`)),(0,ae.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[f.kind,f.path&&` \xb7 ${f.path}`,f.carried&&" · carried into every call"]}),h&&d&&(0,ae.jsx)("p",{className:"text-xs text-destructive",children:d})]}),(0,ae.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:h?(0,ae.jsx)(ap.X,{className:"size-3.5 text-destructive"}):"output-available"===c?(0,ae.jsx)(ah.Check,{className:"size-3.5"}):(0,ae.jsx)(fV.Loader2,{className:"size-3.5 animate-spin"})})]})}var f5=a.i(405050);let f6=(0,f5.createServerReference)("7fda69a255fb7c5c5fd5401dd0430ccfc6d9ebd601",f5.callServer,void 0,f5.findSourceMapURL,"addFactsAction"),f7=(0,f5.createServerReference)("7f238d60ec0427ba89cff15934ff099cbe1044619c",f5.callServer,void 0,f5.findSourceMapURL,"createNoteAction"),f8=(0,f5.createServerReference)("7fc31f84110d23b621f3e25a91911ccd4664d8643e",f5.callServer,void 0,f5.findSourceMapURL,"deleteNoteAction"),f9=(0,f5.createServerReference)("7f9a2b254168fd5502160348c9e187bc9a1f582de4",f5.callServer,void 0,f5.findSourceMapURL,"forgetFactAction"),ga=(0,f5.createServerReference)("7f147159e492165c6f3e725b6fb1e5b607e98e646a",f5.callServer,void 0,f5.findSourceMapURL,"reviseFactAction"),gb=(0,f5.createServerReference)("7f77eeed8de53bdd8bc4cea5fa47d4df68a64ffef9",f5.callServer,void 0,f5.findSourceMapURL,"setFactAlwaysLoadAction"),gc=(0,f5.createServerReference)("7f02e7db8b28f260e8681ddc98e73321c154495252",f5.callServer,void 0,f5.findSourceMapURL,"updateNoteAction");var gd=a.i(139329),ge=a.i(619477),gf=a.i(888396),gg=a.i(313237),gh=a.i(862966),gi=a.i(759497);let gj=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"inbox",label:"Inbox"}];function gk({note:a}){let b=a.facts.filter(a=>a.alwaysLoad).length;return(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsxs)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:[a.path," · ",a.hits," ",1===a.hits?"read":"reads"," ·"," ",a.lastReadAt?`last read ${(0,ag.formatDistanceToNowStrict)(a.lastReadAt,{addSuffix:!0})}`:"never read back"]}),b>0&&(0,ae.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[b," carried into every call"]})]})}function gl({note:a,active:b,onPick:c}){return(0,ae.jsxs)("button",{type:"button",onClick:c,className:(0,f0.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",b?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground",(0,gd.isFading)(a)&&!b&&"opacity-55"),children:[(0,ae.jsx)("span",{className:(0,f0.cn)("min-w-0 flex-1 truncate text-[13px]",b&&"font-medium"),children:(0,gd.noteTitle)(a.path)}),(0,ae.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:a.factCount})]})}function gm({note:a}){let[b,c]=(0,aq.useState)(!1),[d,e]=(0,aq.useState)(""),f={onOk:()=>(0,gi.revalidate)(ar.queryKey.memory)},[g]=(0,gg.useServerAction)(gc,f),[h]=(0,gg.useServerAction)(f6,f),[i]=(0,gg.useServerAction)(ga,f),[j]=(0,gg.useServerAction)(f9,f),[k]=(0,gg.useServerAction)(gb,f),[l,m]=(0,gg.useServerAction)(f8,f),n=async()=>{let b=d.split("\n").map(a=>a.trim()).filter(Boolean);0!==b.length&&(await h(a.id,b),e(""))},o=async()=>{await av.notify.confirm({title:`Forget ${a.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&l(a.id)};return(0,ae.jsxs)("div",{className:(0,f0.cn)("flex min-h-full flex-col",(0,gd.isFading)(a)&&"opacity-55"),children:[(0,ae.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-6 py-2.5",children:[(0,ae.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.path}),(0,ae.jsxs)("span",{className:"flex shrink-0 gap-1",children:[(0,ae.jsx)(as.Button,{size:"icon-sm",variant:b?"secondary":"ghost","aria-label":b?"Done editing":"Edit this note",onClick:()=>c(!b),children:b?(0,ae.jsx)(ah.Check,{}):(0,ae.jsx)(ak,{})}),(0,ae.jsx)(as.Button,{size:"icon-sm",variant:"ghost","aria-label":"Forget this note",loading:m,onClick:o,children:(0,ae.jsx)(ao.Trash2,{})})]})]}),(0,ae.jsxs)("div",{className:"flex-1 space-y-5 px-6 py-5",children:[(0,ae.jsxs)("div",{className:"space-y-1.5",children:[(0,ae.jsx)("p",{className:"text-xl font-semibold",children:(0,gd.noteTitle)(a.path)}),b?(0,ae.jsx)(gn,{text:a.description,onCommit:async b=>{await g(a.id,{description:b})}}):(0,ae.jsx)("p",{className:"text-[13px] leading-relaxed text-muted-foreground",children:a.description})]}),b?(0,ae.jsxs)("div",{className:"space-y-2",children:[a.facts.map(b=>(0,ae.jsx)(go,{text:b.text,alwaysLoad:b.alwaysLoad,onRevise:async c=>{await i(a.id,b.id,c)},onCarry:async c=>{await k(a.id,b.id,c)},onForget:async()=>{await j(a.id,b.id)}},b.id)),(0,ae.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,ae.jsx)(ay.Textarea,{value:d,onChange:a=>e(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),n())},placeholder:"Add facts — one per line",className:"min-h-9 resize-none py-1.5 text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:"outline",disabled:!d.trim(),onClick:n,children:(0,ae.jsx)(an.Plus,{})})]})]}):0===a.facts.length?(0,ae.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Nothing saved here yet — the agent adds facts during calls"}):(0,ae.jsx)("ul",{className:"divide-y divide-border/60 border-y border-border/60",children:a.facts.map(a=>(0,ae.jsxs)("li",{className:"flex gap-3 py-3",children:[(0,ae.jsx)("span",{className:"flex w-3.5 shrink-0 justify-center pt-1",children:a.alwaysLoad?(0,ae.jsx)(am,{className:"size-3 text-foreground"}):(0,ae.jsx)("span",{className:"text-muted-foreground/50",children:"—"})}),(0,ae.jsx)("span",{className:"flex-1 text-sm leading-relaxed text-foreground/90",children:a.text}),(0,ae.jsxs)("span",{className:"shrink-0 pt-0.5 text-right text-[11px] text-muted-foreground/50",children:[(0,ae.jsx)("span",{className:"block font-mono",children:(0,af.format)(a.createdAt,"yyyy.MM.dd")}),(0,gd.memorySourceLabel)(a.source)&&(0,ae.jsx)("span",{className:"block",children:(0,gd.memorySourceLabel)(a.source)})]})]},a.id))})]})]})}function gn({text:a,onCommit:b}){let c=(0,gf.useDraft)(a,b);return(0,ae.jsx)(au.Input,{value:c.value,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,placeholder:"One-line summary",className:"text-sm text-muted-foreground"})}function go({text:a,alwaysLoad:b,onRevise:c,onCarry:d,onForget:e}){let f=(0,gf.useDraft)(a,c);return(0,ae.jsxs)("div",{className:"flex gap-2",children:[(0,ae.jsx)(au.Input,{value:f.value,onChange:a=>f.set(a.target.value),onBlur:f.commit,onKeyDown:f.onKeyDown,className:"text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:b?"secondary":"ghost","aria-label":b?"Stop carrying into calls":"Carry into every call",title:"Carried into every call, without opening this note",onClick:()=>d(!b),children:(0,ae.jsx)(am,{className:(0,f0.cn)(!b&&"text-muted-foreground/60")})}),(0,ae.jsx)(as.Button,{size:"icon",variant:"ghost",onClick:e,children:(0,ae.jsx)(ap.X,{})})]})}let gp=[{key:"people",label:"Person",placeholder:"jihoon",fact:"Moved to the platform team in March"},{key:"projects",label:"Project",placeholder:"thursday",fact:"Ships behind a feature flag until April"},{key:"topics",label:"Topic",placeholder:"scheduling",fact:"No meetings before 10am"}];function gq(){return av.notify.component({className:"sm:max-w-lg",renderer:({close:a})=>(0,ae.jsx)(gr,{onDone:a})})}function gr({onDone:a}){let[b,c]=(0,aq.useState)("people"),[d,e]=(0,aq.useState)(""),[f,g]=(0,aq.useState)(""),[h,i]=(0,aq.useState)(""),[j,k,,l]=(0,gg.useServerAction)(f7,{errorMessage:!1,onOk:()=>{(0,gi.revalidate)(ar.queryKey.memory),a()}}),m=gp.find(a=>a.key===b),n=d.trim()&&f.trim()&&!k,o=()=>{n&&j(`${b}/${d.trim()}`,f.trim(),h.split("\n").map(a=>a.trim()).filter(Boolean))};return(0,ae.jsxs)(ge.SettingDialogContent,{title:"New note",description:"Where the agent files what it learns about this subject.",footer:(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(as.Button,{variant:"ghost",onClick:a,children:"Cancel"}),(0,ae.jsxs)(as.Button,{disabled:!n,loading:k,onClick:o,children:[!k&&(0,ae.jsx)(an.Plus,{}),"Create"]})]}),children:[(0,ae.jsxs)("div",{className:"space-y-6",children:[(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{children:"Kind"}),(0,ae.jsx)(ax.Tabs,{value:b,onValueChange:a=>c(a),children:(0,ae.jsx)(ax.TabsList,{className:"w-full",children:gp.map(a=>(0,ae.jsx)(ax.TabsTrigger,{value:a.key,children:a.label},a.key))})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,ae.jsxs)(at.FieldContent,{children:[(0,ae.jsx)(au.Input,{id:"note-name",value:d,onChange:a=>e(a.target.value),placeholder:m?.placeholder,spellCheck:!1,required:!0}),(0,ae.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[b,"/",d.trim()||"…"]})]})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,ae.jsx)(at.FieldContent,{children:(0,ae.jsx)(au.Input,{id:"note-summary",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>"Enter"===a.key&&o(),placeholder:"One line the agent sees in its note list",required:!0})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,ae.jsx)(ay.Textarea,{id:"note-facts",value:h,onChange:a=>i(a.target.value),placeholder:`One per line
38
+ ${m?.fact??""}`,className:"min-h-24 resize-none text-sm"})]})]}),l&&(0,ae.jsx)("p",{className:"font-mono text-xs text-destructive",children:l})]})}a.s(["MemorySetting",0,function(){let{items:a,isLoading:b,isLoadingMore:c,error:d,hasMore:e,sentinelRef:f}=(0,gh.useServerPages)({key:a=>ar.queryKey.memoryPage(a*az.PAGE_SIZE)}),[g,h]=(0,aq.useState)(null),i=a.find(a=>a.id===g)??a[0]??null;return b?(0,ae.jsx)(ge.SettingPanesSkeleton,{}):d?(0,ae.jsx)(ge.SettingError,{message:d.message}):(0,ae.jsxs)("div",{className:"relative h-full min-h-0",children:[(0,ae.jsx)(ge.SettingPanes,{footer:i&&(0,ae.jsx)(gk,{note:i}),left:(0,ae.jsxs)("div",{className:"flex flex-col py-2",children:[(0,ae.jsxs)("button",{type:"button",onClick:gq,className:"mx-2 mb-1 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,ae.jsx)(an.Plus,{className:"size-3.5 shrink-0"}),"New note"]}),gj.map(({key:b,label:c})=>{let d=a.filter(a=>(0,gd.sectionOf)(a.path)===b);return 0===d.length?null:(0,ae.jsxs)(aq.Fragment,{children:[(0,ae.jsxs)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:[c,"inbox"===b&&(0,ae.jsx)("span",{className:"pl-1.5 text-muted-foreground/50",children:"waiting to be filed"})]}),d.map(a=>(0,ae.jsx)(gl,{note:a,active:a.id===i?.id,onPick:()=>h(a.id)},a.id))]},b)}),(0,ae.jsx)(ge.SettingMore,{hasMore:e,loading:c,sentinelRef:f,count:3,ghost:(0,ae.jsxs)("div",{className:"mx-2 flex items-center gap-2 px-2 py-2",children:[(0,ae.jsx)(aw.Skeleton,{className:"h-3 w-28"}),(0,ae.jsx)("span",{className:"flex-1"}),(0,ae.jsx)(aw.Skeleton,{className:"h-2.5 w-2.5"})]})})]}),right:i?(0,ae.jsx)(gm,{note:i},i.id):(0,ae.jsxs)("div",{className:"space-y-4 p-8",children:[(0,ae.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"During calls Thursday saves what it picks up — that a teammate moved teams, that you take meetings in the morning — and reads it back before answering. File the first note yourself and it starts the next call already knowing something."}),(0,ae.jsxs)(as.Button,{variant:"outline",onClick:gq,children:[(0,ae.jsx)(an.Plus,{}),"Add note"]})]})}),(0,ae.jsx)(f2,{notes:a})]})},"openMemoryCreate",0,gq],857022)},951991,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={SYMBOL_FOR_REQ_CONTEXT:()=>k,getContext:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);let k=Symbol.for("@vercel/request-context");function l(){let a=globalThis;return a[k]?.get?.()??{}}},599708,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={getVercelOidcToken:()=>m,getVercelOidcTokenSync:()=>n};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(951991),l=a.r(325279);async function m(b){let c,d="";try{d=n()}catch(a){c=a}try{let[{getTokenPayload:c,isExpired:e},{refreshToken:f}]=await Promise.all([await a.A(72597),await a.A(628472)]);(!d||e(c(d),b?.expirationBufferMs))&&(await f(b),d=n())}catch(b){let a=c instanceof Error?c.message:"";if(b instanceof Error&&(a=`${a}
39
+ ${b.message}`),a)throw new l.VercelOidcTokenError(a);throw b}return d}function n(){let a=(0,k.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!a)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return a}},327673,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={AccessTokenMissingError:()=>m.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>m.RefreshAccessTokenFailedError,getContext:()=>l.getContext,getVercelOidcToken:()=>k.getVercelOidcToken,getVercelOidcTokenSync:()=>k.getVercelOidcTokenSync,getVercelToken:()=>n.getVercelToken};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(599708),l=a.r(951991),m=a.r(69845),n=a.r(809750)},313350,(a,b,c)=>{b.exports=function(a,b){let c;if("function"!=typeof a)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof a}\`.`);let d=0;return function(...e){clearTimeout(c);let f=Date.now(),g=b-(f-d);g<=0?(d=f,a.apply(this,e)):c=setTimeout(()=>{d=Date.now(),a.apply(this,e)},g)}}}];
40
+
41
+ //# sourceMappingURL=_0i_6q1w._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[210799,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(589027),f=a.i(875160),g=a.i(272944),h=a.i(19895),i=a.i(951675),j=a.i(572131),k=a.i(767561),l=a.i(340695),m=a.i(676504),n=a.i(446181),o=a.i(545097),p=a.i(950463),q=a.i(445009),r=a.i(874004),s=a.i(369278),t=a.i(411509),u=a.i(913834),v=a.i(467268),w=a.i(42380),x=a.i(8468),y=a.i(777279),z=a.i(619477),A=a.i(199169),B=a.i(313237),C=a.i(862966),D=a.i(759497),E=a.i(497895),F=a.i(394440),G=b([v,x]);[v,x]=G.then?(await G)():G;let L="w-36";function H({task:a,bots:b,open:c,onToggle:k,onStop:n,onDelete:p}){var q,r;let s,x="running"===a.status||"waiting"===a.status,z="running"===a.status,B=(0,j.useMemo)(()=>(0,y.taskFromRow)(a,b),[a,b]),C=function(a){if("waiting"===a.status&&a.ask)return{text:(0,t.isAppStop)(a.ask)?(0,E.plainText)(a.outcome??a.ask.question):a.ask.question,tone:E.WAITING_INK};let b=a.seen;if("failed"===a.status)return{text:(0,E.plainText)(a.outcome??"Failed"),tone:b?"text-destructive/70":"text-destructive"};if("done"===a.status)return{text:(0,E.plainText)(a.outcome??"Done"),tone:b?"text-muted-foreground":"text-foreground/80"};for(let b=a.lines.length-1;b>=0;b--){let c=a.lines[b];if("tool"===c.kind)return{text:c.note??c.input,tone:"text-muted-foreground",tool:c.name,shine:!0};if("text"===c.kind)return{text:c.text,tone:"text-muted-foreground",shine:!0};if("user"===c.kind||"waiting"===c.kind)break}return{text:`${a.bot} is taking it on…`,tone:"text-muted-foreground italic",shine:!0}}(a),D=a.tokens.input+a.tokens.output;return(0,d.jsxs)("div",{className:"group/row relative transition-colors hover:bg-muted/50",children:[(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsxs)("button",{type:"button",onClick:k,className:"flex min-w-0 flex-1 items-center gap-3 rounded-md text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,d.jsx)(u.BotMark,{size:40,seed:a.bot,vary:a.id,...(q=a.bot,r=b,s=r?.find(a=>a.name===q)?.icon,{color:s?.color,shape:s?.shape,outline:s?.outline}),state:z?"thinking":"idle",notify:"waiting"===a.status,className:"shrink-0"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"truncate text-sm font-medium",children:a.label}),(0,d.jsx)(w.BotRoster,{bots:(0,y.rosterOf)(B),taskId:a.id}),z&&(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),C&&(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-[13px] leading-snug",children:[C.tool&&(0,d.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:C.tool}),C.shine?(0,d.jsx)(o.ShinyText,{text:C.text,speed:2.2,className:"min-w-0 truncate"}):(0,d.jsx)("span",{className:(0,E.cn)("min-w-0 truncate",C.tone),children:C.text})]})]}),(0,d.jsxs)("span",{className:(0,E.cn)("flex shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",L),children:[(0,d.jsx)("span",{children:(0,A.whenOf)(a.updatedAt)}),(0,d.jsxs)("span",{className:"max-w-full truncate text-muted-foreground/70",title:D>0?`${a.id} \xb7 in ${(0,E.formatCount)(a.tokens.input)} \xb7 out ${(0,E.formatCount)(a.tokens.output)}`:a.id,children:[a.bot,D>0&&` \xb7 ${(0,E.formatCount)(D)}`]})]}),(0,d.jsx)(e.ChevronDown,{className:(0,E.cn)("size-4 shrink-0 text-muted-foreground transition-transform",c&&"rotate-180")})]}),(0,d.jsxs)(m.DropdownMenu,{children:[(0,d.jsx)(m.DropdownMenuTrigger,{render:(0,d.jsx)(l.Button,{size:"icon-sm",variant:"ghost"}),children:(0,d.jsx)(g.MoreHorizontal,{})}),(0,d.jsxs)(m.DropdownMenuContent,{align:"end",children:[x&&(0,d.jsxs)(m.DropdownMenuItem,{onClick:n,children:[(0,d.jsx)(h.Square,{}),"Stop"]}),(0,d.jsxs)(m.DropdownMenuItem,{variant:"destructive",onClick:p,children:[(0,d.jsx)(i.Trash2,{}),"Delete"]})]})]})]}),z&&!c&&(0,d.jsx)(I,{task:a}),c&&(0,d.jsxs)("div",{className:"mx-4 mb-4 space-y-2",children:[(0,d.jsx)("div",{className:"rounded-xl border border-border/60 bg-background",children:(0,d.jsx)(v.Conversation,{task:B})}),(0,d.jsx)(F.TaskReply,{task:{id:a.id,label:a.label,bot:a.bot,ask:a.ask},status:a.status})]})]})}function I({task:a}){let b=[];if(a.lines.forEach((c,d)=>{if("tool"!==c.kind)return;let e=a.lines[d+1];b.push({step:c,took:e?(0,A.toDate)(e.at).getTime()-(0,A.toDate)(c.at).getTime():null})}),0===b.length)return null;let c=(0,A.toDate)(a.updatedAt).getTime()-(0,A.toDate)(a.createdAt).getTime();return(0,d.jsxs)("div",{className:"pointer-events-none absolute top-[calc(100%-0.75rem)] left-17 z-20 hidden w-96 max-w-[calc(100%-5rem)] rounded-xl bg-background p-3 pb-2 shadow-xl shadow-black/10 ring-1 ring-border/60 group-hover/row:block",children:[(0,d.jsxs)("div",{className:"mb-1.5 flex items-center gap-2 font-mono text-[10px] text-muted-foreground",children:[(0,d.jsx)("span",{children:a.bot}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsxs)("span",{children:[b.length," ",1===b.length?"step":"steps"]}),(0,d.jsx)("span",{className:"opacity-50",children:"·"}),(0,d.jsx)("span",{children:J(c)})]}),b.slice(-6).map(({step:a,took:b})=>{let c=(0,x.toolIcon)(a.name);return(0,d.jsxs)("div",{className:"flex h-5.5 items-center gap-2 font-mono text-[11px]",children:[null===b?(0,d.jsx)(f.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"}):(0,d.jsx)(c,{className:"size-3 shrink-0 text-muted-foreground"}),(0,d.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",children:a.name}),null===b?(0,d.jsx)(o.ShinyText,{text:a.note??a.input,speed:2.2,className:"min-w-0 flex-1 truncate"}):(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-foreground",children:a.note??a.input}),(0,d.jsx)("span",{className:"w-10 shrink-0 text-right text-muted-foreground/70 tabular-nums",children:null===b?"":J(b)})]},a.id)})]})}function J(a){let b=Math.max(0,a)/1e3;if(b<10)return`${b.toFixed(1)}s`;if(b<60)return`${Math.round(b)}s`;let c=Math.floor(b/60);return`${c}m ${Math.round(b-60*c)}s`}function K(){return(0,d.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,d.jsx)(p.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-2",children:[(0,d.jsx)(p.Skeleton,{className:"h-3 w-40 max-w-full"}),(0,d.jsx)(p.Skeleton,{className:"h-2.5 w-80 max-w-full"})]}),(0,d.jsxs)("span",{className:(0,E.cn)("flex shrink-0 flex-col items-end gap-1.5",L),children:[(0,d.jsx)(p.Skeleton,{className:"h-2.5 w-12"}),(0,d.jsx)(p.Skeleton,{className:"h-2.5 w-24"})]}),(0,d.jsx)("span",{className:"size-4 shrink-0"}),(0,d.jsx)("span",{className:"size-7 shrink-0"})]})}a.s(["TaskSetting",0,function(){let[a,b]=(0,j.useState)(null),[c,e]=(0,j.useState)(""),{data:f}=(0,D.useServerRoute)(k.queryKey.bot),{items:g,isLoading:h,isLoadingMore:i,error:m,hasMore:o,sentinelRef:p}=(0,C.useServerPages)({key:(a,b)=>{if(0===a)return k.queryKey.taskHistory(null);let c=b?.at(-1);return c?k.queryKey.taskHistory((0,A.toDate)(c.updatedAt).toISOString()):null},size:t.TASK_HISTORY_PAGE,swr:{revalidateFirstPage:!0,refreshInterval:a=>3e3*!!a?.[0]?.some(a=>"running"===a.status)}});(0,y.useSeenOnDetail)(g.find(b=>b.id===a));let[u]=(0,B.useServerAction)(q.cancelTaskAction,{okMessage:"Task stopped",onOk:a=>{(0,D.revalidate)(k.queryKey.tasks),y.screenActs.announce({kind:"stopped",id:a.id,label:a.label})}}),[v]=(0,B.useServerAction)(s.deleteTaskAction,{okMessage:"Task deleted",onOk:()=>(0,D.revalidate)(k.queryKey.tasks)}),[w]=(0,B.useServerAction)(r.clearFinishedTasksAction,{onOk:()=>(0,D.revalidate)(k.queryKey.tasks)}),x=async()=>{await n.notify.confirm({title:"Clear finished jobs?",description:"Everything done or failed goes, threads included. Running and waiting jobs stay.",okText:"Clear",destructive:!0})&&w()},E=async a=>{await n.notify.confirm({title:`Delete "${a.label}"?`,description:"The thread goes with it — nothing can be picked back up.",okText:"Delete",destructive:!0})&&v(a.id)};if(h)return(0,d.jsx)(z.SettingSkeleton,{rows:3});if(m)return(0,d.jsx)(z.SettingError,{message:m.message});let F=c.trim().toLowerCase(),G=F?g.filter(a=>[a.label,a.outcome,a.bot].join(" ").toLowerCase().includes(F)):g,I=g.filter(a=>"waiting"===a.status).length,J=g.filter(a=>"failed"===a.status).length;return(0,d.jsx)(z.SettingScreen,{footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(z.SettingRailNote,{children:[g.length," loaded",I>0&&` \xb7 ${I} waiting on you`,J>0&&` \xb7 ${J} failed`]}),(0,d.jsx)(l.Button,{variant:"outline",size:"sm",onClick:x,children:"Clear finished"})]}),children:(0,d.jsx)(z.SettingGroup,{filter:(0,d.jsx)(z.SettingFilter,{value:c,onChange:e,placeholder:"Filter by label, bot or word"}),right:F?`${G.length} of ${g.length}`:void 0,children:(0,d.jsxs)(z.SettingItems,{children:[0===G.length?(0,d.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:F?"Nothing loaded matches. Keep scrolling to search further back.":"Nothing yet. When Thursday hands a job to a bot mid-call, it shows up here — while it runs, and after."}):G.map(c=>(0,d.jsx)(H,{task:c,bots:f,open:a===c.id,onToggle:()=>b(a=>a===c.id?null:c.id),onStop:()=>u(c.id),onDelete:()=>E(c)},c.id)),(0,d.jsx)(z.SettingMore,{hasMore:o,loading:i,sentinelRef:p,ghost:(0,d.jsx)(K,{}),className:"divide-y divide-border/60"})]})})})}]),c()}catch(a){c(a)}},!1),874004,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f673b8897006f8ae8c1a709d306fe394476e76d0b",b.callServer,void 0,b.findSourceMapURL,"clearFinishedTasksAction");a.s(["clearFinishedTasksAction",0,c])},369278,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fcad43ea4ae0039c0186bcc86a4e3b3a0e706caa4",b.callServer,void 0,b.findSourceMapURL,"deleteTaskAction");a.s(["deleteTaskAction",0,c])},862966,a=>{"use strict";var b=a.i(572131),c=a.i(988712),d=a.i(426618),e=a.i(664565),f=a.i(487610),g=a.i(561311);let h=Promise.resolve(),i=(0,e.withMiddleware)(c.u,a=>(c,e,i)=>{let j,k=(0,b.useRef)(!1),{cache:l,initialSize:m=1,revalidateAll:n=!1,persistSize:o=!1,revalidateFirstPage:p=!0,revalidateOnMount:q=!1,parallel:r=!1}=i,[,,,s]=d.a.get(d.o);try{(j=(0,d.s)(c?c(0,null):null)[0])&&(j=g.INFINITE_PREFIX+j)}catch(a){}let[t,u,v]=(0,d.c)(l,j),w=(0,b.useCallback)(()=>(0,d.i)(t()._l)?m:t()._l,[l,j,m]);(0,f.useSyncExternalStore)((0,b.useCallback)(a=>j?v(j,()=>{a()}):()=>{},[l,j]),w,w);let x=(0,b.useCallback)(()=>{let a=t()._l;return(0,d.i)(a)?m:a},[j,m]),y=(0,b.useRef)(x());(0,d.u)(()=>{if(!k.current){k.current=!0;return}j&&u({_l:o?y.current:x()})},[j,l]);let z=q&&!k.current,A=a(j,async a=>{let b=t()._i,f=t()._r,g=d.a.get(l),h=g[8],j=()=>g[8]!==h;u({_r:d.U});let k=[],m=x(),[o]=(0,d.c)(l,a),q=o().data,v=[],w=null;for(let a=0;a<m;++a){let[g,h]=(0,d.s)(c(a,r?null:w));if(!g)break;let[m,o]=(0,d.c)(l,g),t=m().data,u=n||b||(0,d.i)(t)||p&&!a&&!(0,d.i)(q)||z||q&&!(0,d.i)(q[a])&&!i.compare(q[a],t);if(e&&("function"==typeof f?f(t,h):u)){let b=async()=>{if(g in s){let a=s[g];delete s[g],t=await a}else t=await e(h);j()||o({data:t,_k:h}),k[a]=t};r?v.push(b):await b()}else k[a]=t;r||(w=t)}return r&&await Promise.all(v.map(a=>a())),j()||u({_i:d.U}),k},i),B=(0,b.useCallback)(function(a,b){let c="boolean"==typeof b?{revalidate:b}:b||{},e=!1!==c.revalidate;return j?(e&&((0,d.i)(a)?u({_i:!0,_r:c.revalidate}):u({_i:!1,_r:c.revalidate})),arguments.length?A.mutate(a,{...c,revalidate:e}):A.mutate()):h},[j,l]),C=(0,b.useCallback)(a=>{let b;if(!j)return h;let[,e]=(0,d.c)(l,j);if((0,d.e)(a)?b=a(x()):"number"==typeof a&&(b=a),"number"!=typeof b)return h;e({_l:b}),y.current=b;let f=[],[g]=(0,d.c)(l,j),i=null;for(let a=0;a<b;++a){let[b]=(0,d.s)(c(a,i)),[e]=(0,d.c)(l,b),h=b?e().data:d.U;if((0,d.i)(h))return B(g().data);f.push(h),i=h}return B(f)},[j,l,B,x]);return{size:x(),setSize:C,mutate:B,get data(){return A.data},get error(){return A.error},get isValidating(){return A.isValidating},get isLoading(){return A.isLoading}}});var j=a.i(287702),k=a.i(759497);a.s(["useServerPages",0,function(a){let c=a.size??j.PAGE_SIZE,{key:d}=a,{data:e,error:f,isLoading:g,isValidating:h,setSize:l,mutate:m}=i((a,b)=>(0,k.resolveKey)(d(a,b)),k.fetchRoute,{dedupingInterval:500,revalidateOnMount:!0,revalidateOnFocus:!0,revalidateOnReconnect:!0,focusThrottleInterval:1e3,revalidateFirstPage:!1,...a.swr}),n=e??[],o=n.flat(),p=n.at(-1),q=void 0!==p&&p.length>=c,r=(0,b.useRef)(0),s=h&&n.length>0&&r.current>n.length,t=(0,b.useRef)({isValidating:h,setSize:l,pages:n.length});t.current={isValidating:h,setSize:l,pages:n.length};let u=(0,k.resolveKey)(d(0,null)),v="string"==typeof u?u:u?.url;(0,b.useEffect)(()=>{if(v)return(0,k.registerPagedReader)({url:v,refresh:()=>m()})},[v,m]);let w=function(a,c={}){let{enabled:d=!0,margin:e="600px",revision:f}=c,g=(0,b.useRef)(a);g.current=a;let h=(0,b.useRef)(null),i=(0,b.useRef)(null),j=(0,b.useCallback)(a=>{h.current=a},[]);return(0,b.useEffect)(()=>{i.current?.disconnect();let a=h.current;if(a&&d)return i.current=new IntersectionObserver(([a])=>{a.isIntersecting&&g.current()},{root:function(a){let b=a.parentElement;for(;b;){let{overflowY:a}=getComputedStyle(b);if(("auto"===a||"scroll"===a)&&b.scrollHeight>b.clientHeight)return b;b=b.parentElement}return null}(a),rootMargin:e}),i.current.observe(a),()=>i.current?.disconnect()},[d,e,f]),j}(()=>{let a=t.current;a.isValidating||(r.current=a.pages+1,a.setSize(a.pages+1))},{enabled:q,revision:`${n.length}:${h}`});return{items:o,isLoading:g,isLoadingMore:s,error:f,hasMore:q,sentinelRef:w,refresh:()=>m()}}],862966)},272944,a=>{"use strict";var b=a.i(164831);let c={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};c.node;let d=(0,b.default)(c);a.s(["MoreHorizontal",0,d],272944)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)}];
2
+
3
+ //# sourceMappingURL=_0kbkmar._.js.map