thursday-agent 0.4.0 → 0.6.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 (657) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +3 -2
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.json +8 -1
  6. package/.next/routes-manifest.json +18 -6
  7. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +13 -13
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/.next/server/app/api/artifact/route.js +10 -6
  21. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  22. package/.next/server/app/api/bot/memory/files/route.js +6 -5
  23. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/memory/route.js +8 -8
  25. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  26. package/.next/server/app/api/bot/route.js +8 -8
  27. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bot/thread/[id]/route/app-paths-manifest.json +3 -0
  29. package/.next/server/app/api/bot/thread/[id]/route.js +15 -0
  30. package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -0
  31. package/.next/server/app/api/bot/thread/[id]/route_client-reference-manifest.js +3 -0
  32. package/.next/server/app/api/bot/thread/route/app-paths-manifest.json +3 -0
  33. package/.next/server/app/api/bot/thread/route.js +15 -0
  34. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -0
  35. package/.next/server/app/api/bot/thread/route_client-reference-manifest.js +3 -0
  36. package/.next/server/app/api/config/route.js +7 -7
  37. package/.next/server/app/api/config/route.js.nft.json +1 -1
  38. package/.next/server/app/api/events/route.js +3 -3
  39. package/.next/server/app/api/events/route.js.nft.json +1 -1
  40. package/.next/server/app/api/file/[...path]/route.js +5 -5
  41. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  42. package/.next/server/app/api/llm-model/catalog/route.js +8 -8
  43. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/credits/route.js +8 -8
  45. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
  46. package/.next/server/app/api/llm-model/route.js +8 -8
  47. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  48. package/.next/server/app/api/llm-model/subscription/route.js +8 -8
  49. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  50. package/.next/server/app/api/mcp/[name]/route.js +6 -6
  51. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  52. package/.next/server/app/api/mcp/oauth/callback/route.js +4 -4
  53. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  54. package/.next/server/app/api/mcp/route.js +6 -6
  55. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  56. package/.next/server/app/api/mcp/tools/route.js +6 -6
  57. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  58. package/.next/server/app/api/memory/edit/route.js +13 -13
  59. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  60. package/.next/server/app/api/memory/route.js +7 -6
  61. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  62. package/.next/server/app/api/skills/[source]/[name]/route.js +6 -6
  63. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/skills/route.js +6 -6
  65. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  66. package/.next/server/app/api/thursday/call/route.js +10 -11
  67. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  68. package/.next/server/app/api/thursday/skills/route.js +10 -11
  69. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  70. package/.next/server/app/api/thursday/tool-call/route.js +15 -15
  71. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  72. package/.next/server/app/api/workspace/missing/route/app-paths-manifest.json +3 -0
  73. package/.next/server/app/api/workspace/missing/route/build-manifest.json +12 -0
  74. package/.next/server/app/api/workspace/missing/route/server-reference-manifest.json +4 -0
  75. package/.next/server/app/api/workspace/missing/route.js +12 -0
  76. package/.next/server/app/api/workspace/missing/route.js.map +5 -0
  77. package/.next/server/app/api/workspace/missing/route.js.nft.json +1 -0
  78. package/.next/server/app/api/workspace/missing/route_client-reference-manifest.js +3 -0
  79. package/.next/server/app/api/workspace/route.js +5 -4
  80. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  81. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  82. package/.next/server/app/artifact/[...path]/page.js +4 -3
  83. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  84. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  86. package/.next/server/app/page/server-reference-manifest.json +67 -45
  87. package/.next/server/app/page.js +10 -9
  88. package/.next/server/app/page.js.nft.json +1 -1
  89. package/.next/server/app/page_client-reference-manifest.js +1 -1
  90. package/.next/server/app-paths-manifest.json +3 -2
  91. package/.next/server/chunks/[root-of-the-server]__02846fb._.js +8 -0
  92. package/.next/server/chunks/[root-of-the-server]__049f521._.js +3 -0
  93. package/.next/server/chunks/[root-of-the-server]__05luceg._.js +3 -0
  94. package/.next/server/chunks/[root-of-the-server]__06--3q3._.js +8 -0
  95. package/.next/server/chunks/[root-of-the-server]__07bnah_._.js +3 -0
  96. package/.next/server/chunks/[root-of-the-server]__08eae20._.js +8 -0
  97. package/.next/server/chunks/[root-of-the-server]__0_ue8oe._.js +3 -0
  98. package/.next/server/chunks/[root-of-the-server]__0c9fgca._.js +5 -0
  99. package/.next/server/chunks/[root-of-the-server]__0g-ueei._.js +8 -0
  100. package/.next/server/chunks/[root-of-the-server]__0h_x6q6._.js +5 -0
  101. package/.next/server/chunks/{[root-of-the-server]__0pa2n68._.js → [root-of-the-server]__0kxrvxf._.js} +2 -2
  102. package/.next/server/chunks/{[root-of-the-server]__0q0vvt2._.js → [root-of-the-server]__0ov3iir._.js} +2 -2
  103. package/.next/server/chunks/[root-of-the-server]__0qwtlmx._.js +8 -0
  104. package/.next/server/chunks/[root-of-the-server]__0sm5xvm._.js +3 -0
  105. package/.next/server/chunks/[root-of-the-server]__0ye3da2._.js +3 -0
  106. package/.next/server/chunks/[root-of-the-server]__0zp35ul._.js +5 -0
  107. package/.next/server/chunks/[root-of-the-server]__144u9d_._.js +3 -0
  108. package/.next/server/chunks/[root-of-the-server]__18-2tsq._.js +5 -0
  109. package/.next/server/chunks/[root-of-the-server]__1e-ci13._.js +3 -0
  110. package/.next/server/chunks/[root-of-the-server]__1e2365e._.js +8 -0
  111. package/.next/server/chunks/[root-of-the-server]__1fix932._.js +8 -0
  112. package/.next/server/chunks/{[root-of-the-server]__0ce8nf8._.js → [root-of-the-server]__1g3t7vn._.js} +3 -3
  113. package/.next/server/chunks/[root-of-the-server]__1kp-83u._.js +5 -0
  114. package/.next/server/chunks/[root-of-the-server]__1kv8p3e._.js +5 -0
  115. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +2 -3
  116. package/.next/server/chunks/_02szwk8._.js +5 -0
  117. package/.next/server/chunks/_05h2cii._.js +1 -1
  118. package/.next/server/chunks/_06c9kie._.js +216 -0
  119. package/.next/server/chunks/{_1x6kd1r._.js → _07y2gj-._.js} +1 -1
  120. package/.next/server/chunks/_0a43a-0._.js +3 -0
  121. package/.next/server/chunks/_0bujjey._.js +5 -0
  122. package/.next/server/chunks/_0c9j6rb._.js +1 -1
  123. package/.next/server/chunks/_0dkd549._.js +3 -0
  124. package/.next/server/chunks/_0ej1kvv._.js +3 -0
  125. package/.next/server/chunks/_0f6ts7z._.js +3 -0
  126. package/.next/server/chunks/_0gm9hyv._.js +55 -0
  127. package/.next/server/chunks/_0i55en5._.js +25 -0
  128. package/.next/server/chunks/_0k50n27._.js +18 -0
  129. package/.next/server/chunks/_0khihjk._.js +3 -3
  130. package/.next/server/chunks/_0n74zsf._.js +5 -5
  131. package/.next/server/chunks/_0nvm9ef._.js +3 -0
  132. package/.next/server/chunks/_0p56fn0._.js +3 -0
  133. package/.next/server/chunks/_0recufk._.js +1 -1
  134. package/.next/server/chunks/_0xbkz10._.js +3 -0
  135. package/.next/server/chunks/_10tkr26._.js +3 -0
  136. package/.next/server/chunks/{_0ioz3nd._.js → _11u2kp7._.js} +1 -1
  137. package/.next/server/chunks/_11ujpya._.js +3 -0
  138. package/.next/server/chunks/_127nx_p._.js +5 -0
  139. package/.next/server/chunks/_17l5ygt._.js +1 -1
  140. package/.next/server/chunks/_19uauj6._.js +3 -0
  141. package/.next/server/chunks/_1_5mnq4._.js +5 -5
  142. package/.next/server/chunks/_1abl6t9._.js +55 -0
  143. package/.next/server/chunks/_1d0j961._.js +3 -3
  144. package/.next/server/chunks/_1dbixxz._.js +3 -0
  145. package/.next/server/chunks/_1dc_d1q._.js +98 -0
  146. package/.next/server/chunks/_1drgfx4._.js +5 -5
  147. package/.next/server/chunks/_1e48czp._.js +3 -3
  148. package/.next/server/chunks/_1f31u5x._.js +5 -0
  149. package/.next/server/chunks/_1kg70wc._.js +3 -3
  150. package/.next/server/chunks/_1klbcft._.js +5 -0
  151. package/.next/server/chunks/_1krd9rf._.js +4 -1
  152. package/.next/server/chunks/_1kwmzab._.js +3 -0
  153. package/.next/server/chunks/{_1pf4qe-._.js → _1oxj9fa._.js} +1 -1
  154. package/.next/server/chunks/{_1f46eie._.js → _1pcmdbb._.js} +1 -1
  155. package/.next/server/chunks/_1qgix-j._.js +3 -0
  156. package/.next/server/chunks/{lib_logger_ts_1exwjut._.js → _1rpchta._.js} +5 -5
  157. package/.next/server/chunks/_1vsej-s._.js +5 -0
  158. package/.next/server/chunks/_1yx0p_s._.js +5 -0
  159. package/.next/server/chunks/{_0rnf-6n._.js → _20fsr_z._.js} +6 -6
  160. package/.next/server/chunks/_2128hkj._.js +5 -0
  161. package/.next/server/chunks/_next-internal_server_app_api_bot_thread_[id]_route_actions_1fstjn2.js +3 -0
  162. package/.next/server/chunks/_next-internal_server_app_api_bot_thread_route_actions_003ccso.js +3 -0
  163. package/.next/server/chunks/_next-internal_server_app_api_workspace_missing_route_actions_1fidi6p.js +3 -0
  164. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  165. package/.next/server/chunks/features_0-cnt0l._.js +4 -0
  166. package/.next/server/chunks/features_0hdaci0._.js +4 -0
  167. package/.next/server/chunks/features_1e39j7-._.js +8 -0
  168. package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +1 -1
  169. package/.next/server/chunks/features_memory_1uqvksn._.js +1 -1
  170. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js → node_modules_consola_dist_chunks_prompt_mjs_0a7-pbw._.js} +1 -1
  171. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0v_7drq._.js → node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js} +1 -1
  172. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0i7cvml._.js → node_modules_consola_dist_chunks_prompt_mjs_107pxfn._.js} +1 -1
  173. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0icqaqw._.js → node_modules_consola_dist_chunks_prompt_mjs_15hbel8._.js} +1 -1
  174. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_18i-23e._.js +3 -0
  175. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1bewgf3._.js +3 -0
  176. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1kipdeo._.js +3 -0
  177. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1nlww1m._.js +3 -0
  178. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1q77nfx._.js +3 -0
  179. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xqdzx_._.js +3 -0
  180. package/.next/server/chunks/{node_modules_zod_v4_1801ax7._.js → node_modules_zod_v4_0lkux5-._.js} +2 -2
  181. package/.next/server/chunks/{node_modules_zod_v4_1cha_bw._.js → node_modules_zod_v4_1jmr9cq._.js} +2 -2
  182. package/.next/server/chunks/{node_modules_zod_v4_0ubdflj._.js → node_modules_zod_v4_1yrxmek._.js} +2 -2
  183. package/.next/server/chunks/node_modules_zod_v4_classic_errors_0tp0y-q.js +3 -0
  184. package/.next/server/chunks/ssr/[root-of-the-server]__09q9med._.js +1 -1
  185. package/.next/server/chunks/ssr/[root-of-the-server]__0bxsfyn._.js +101 -0
  186. package/.next/server/chunks/ssr/[root-of-the-server]__0lyi8i2._.js +1 -1
  187. package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
  188. package/.next/server/chunks/ssr/[root-of-the-server]__172cq4x._.js +3 -0
  189. package/.next/server/chunks/ssr/[root-of-the-server]__18dthbp._.js +3 -0
  190. package/.next/server/chunks/ssr/[root-of-the-server]__18e68w8._.js +3 -0
  191. package/.next/server/chunks/ssr/[root-of-the-server]__1fll8dc._.js +3 -0
  192. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  193. package/.next/server/chunks/ssr/[root-of-the-server]__1nygfik._.js +5 -0
  194. package/.next/server/chunks/ssr/[root-of-the-server]__1sdphb0._.js +8 -0
  195. package/.next/server/chunks/ssr/[root-of-the-server]__1waa3rc._.js +100 -0
  196. package/.next/server/chunks/ssr/_00rehl_._.js +3 -0
  197. package/.next/server/chunks/ssr/{_1lz_cq2._.js → _02oc_h5._.js} +76 -89
  198. package/.next/server/chunks/ssr/_03_928f._.js +3 -0
  199. package/.next/server/chunks/ssr/_05yghx6._.js +3 -0
  200. package/.next/server/chunks/ssr/_08c4z-9._.js +3 -0
  201. package/.next/server/chunks/ssr/_0_qfdlw._.js +4 -0
  202. package/.next/server/chunks/ssr/_0c9e5w6._.js +9 -0
  203. package/.next/server/chunks/ssr/{_0s99bgb._.js → _0dh2e1j._.js} +9 -3
  204. package/.next/server/chunks/ssr/_0dr-ddg._.js +3 -0
  205. package/.next/server/chunks/ssr/_0eaog6_._.js +3 -0
  206. package/.next/server/chunks/ssr/_0evkpto._.js +3 -0
  207. package/.next/server/chunks/ssr/_0g_rlog._.js +3 -0
  208. package/.next/server/chunks/ssr/_0geg212._.js +3 -0
  209. package/.next/server/chunks/ssr/{_1gd8q8l._.js → _0hxt2ul._.js} +2 -2
  210. package/.next/server/chunks/ssr/_0i_6q1w._.js +2 -2
  211. package/.next/server/chunks/ssr/_0lu1n_x._.js +1 -1
  212. package/.next/server/chunks/ssr/{_15j2_8f._.js → _0wzaht-._.js} +2 -2
  213. package/.next/server/chunks/ssr/_0z-g0uy._.js +3 -0
  214. package/.next/server/chunks/ssr/_123ttsf._.js +3 -0
  215. package/.next/server/chunks/ssr/_123y-ah._.js +3 -0
  216. package/.next/server/chunks/ssr/_12w42gi._.js +3 -0
  217. package/.next/server/chunks/ssr/_161kqav._.js +3 -0
  218. package/.next/server/chunks/ssr/{_0ap2fzn._.js → _16c6_xm._.js} +2 -2
  219. package/.next/server/chunks/ssr/_18opah7._.js +3 -0
  220. package/.next/server/chunks/ssr/_18xqmny._.js +3 -0
  221. package/.next/server/chunks/ssr/_1_krfph._.js +3 -0
  222. package/.next/server/chunks/ssr/{_1-_etts._.js → _1anqots._.js} +2 -2
  223. package/.next/server/chunks/ssr/_1ey7qn-._.js +70 -0
  224. package/.next/server/chunks/ssr/_1g9vs7q._.js +3 -0
  225. package/.next/server/chunks/ssr/_1jmz33w._.js +3 -0
  226. package/.next/server/chunks/ssr/{_0n3toaw._.js → _1k0spz7._.js} +2 -2
  227. package/.next/server/chunks/ssr/_1rgtxhr._.js +5 -0
  228. package/.next/server/chunks/ssr/_1slp25y._.js +3 -0
  229. package/.next/server/chunks/ssr/{_1fojd41._.js → _1x9pskj._.js} +3 -3
  230. package/.next/server/chunks/ssr/_1y6b5mr._.js +101 -0
  231. package/.next/server/chunks/ssr/_1ztk7p6._.js +7 -0
  232. package/.next/server/chunks/ssr/components_ui_tabs_tsx_0ej40b4._.js +3 -0
  233. package/.next/server/chunks/ssr/features_bot_thread_query_ts_023eklt._.js +4 -0
  234. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  235. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  236. package/.next/server/chunks/ssr/{_1-teee5._.js → lib_logger_ts_0-olsze._.js} +2 -7
  237. package/.next/server/chunks/ssr/{node_modules_0cxaxk9._.js → node_modules_00_51_v._.js} +1 -1
  238. package/.next/server/chunks/ssr/{node_modules_04jf_m8._.js → node_modules_022sipm._.js} +1 -1
  239. package/.next/server/chunks/ssr/{node_modules_0g7fzk3._.js → node_modules_0332gw4._.js} +1 -1
  240. package/.next/server/chunks/ssr/{node_modules_1cx_ql6._.js → node_modules_04vxchl._.js} +1 -1
  241. package/.next/server/chunks/ssr/{node_modules_1vh5ntv._.js → node_modules_0746rzi._.js} +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_0yugy6m._.js → node_modules_0d5uzof._.js} +1 -1
  243. package/.next/server/chunks/ssr/{node_modules_09q35v_._.js → node_modules_0exkwcm._.js} +1 -1
  244. package/.next/server/chunks/ssr/{node_modules_08dhkiq._.js → node_modules_0fr-ml8._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_14q6g4n._.js → node_modules_0mxvg8h._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_0arus10._.js → node_modules_0qapgjr._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_1eg7m6c._.js → node_modules_0qbfyjh._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_1cz2hle._.js → node_modules_0t-9nup._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_17bwo43._.js → node_modules_0tusx4d._.js} +3 -3
  250. package/.next/server/chunks/ssr/{node_modules_1efrqxi._.js → node_modules_0vsxbzp._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_0_-_a--._.js → node_modules_0vv0-fg._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_1gdh31p._.js → node_modules_0wsvp00._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_1hpopmo._.js → node_modules_1-urho9._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_1_pc9kq._.js → node_modules_16pi_dd._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_00etblx._.js → node_modules_1d53yiq._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_1aaxuef._.js → node_modules_1g1eihe._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_198nmll._.js → node_modules_1gpednh._.js} +1 -1
  258. package/.next/server/chunks/ssr/{node_modules_0pvd7q-._.js → node_modules_1gu1pph._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_0b__sgl._.js → node_modules_1he1w8_._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_1qpjvy5._.js → node_modules_1lnjapm._.js} +1 -1
  261. package/.next/server/chunks/ssr/{node_modules_0940ns5._.js → node_modules_1lynj9m._.js} +1 -1
  262. package/.next/server/chunks/ssr/{node_modules_0x3-ply._.js → node_modules_1seuurl._.js} +2 -2
  263. package/.next/server/chunks/ssr/{node_modules_14om4ar._.js → node_modules_1u6w1pb._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_0had7xd._.js → node_modules_1xn6saw._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b748ic._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_067_exa._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1z4hm5e._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0nrrdaq._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_@vercel_oidc_dist_06mk8id._.js → node_modules_@vercel_oidc_dist_21a5haa._.js} +1 -1
  268. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_trash_mjs_0px2gzr._.js +3 -0
  269. package/.next/server/middleware-build-manifest.js +3 -3
  270. package/.next/server/pages/404.html +1 -1
  271. package/.next/server/pages/500.html +1 -1
  272. package/.next/server/server-reference-manifest.js +1 -1
  273. package/.next/server/server-reference-manifest.json +68 -46
  274. package/.next/static/chunks/0dr16v67vj4n7.js +2 -0
  275. package/.next/static/chunks/0g4b348l0pve7.js +1 -0
  276. package/.next/static/chunks/0joan-69kbspd.js +1 -0
  277. package/.next/static/chunks/0vlgzqo9ka90v.js +1 -0
  278. package/.next/static/chunks/0zrupxgci5gqc.js +1 -0
  279. package/.next/static/chunks/10k2xvap03z20.css +1 -0
  280. package/.next/static/chunks/18mkhstgiqcbt.js +1 -0
  281. package/.next/static/chunks/{15m575979un5f.js → 1i-u2wzub_to1.js} +2 -2
  282. package/.next/static/chunks/1kp5nfp06nj9h.js +5 -0
  283. package/.next/static/chunks/1ohslk4568tm3.js +1 -0
  284. package/.next/static/chunks/1sbmwswc9k2-1.js +1 -0
  285. package/.next/static/chunks/1t9qms5pwwa3n.js +1 -0
  286. package/.next/static/chunks/1vj_5bnbxx84e.js +1 -0
  287. package/.next/static/chunks/1vqezbhjm3goq.js +1 -0
  288. package/.next/static/chunks/{3akmqm77muj4-.js → 1wlo979mx-y3w.js} +1 -1
  289. package/.next/static/chunks/26ql4y-43xwhp.js +1 -0
  290. package/.next/static/chunks/{0fl3gwe4-l6tz.js → 2_pnccjp6j1ca.js} +1 -1
  291. package/.next/static/chunks/2a51-ywz9b2a3.js +1 -0
  292. package/.next/static/chunks/2fvdgxih7x7hr.js +1 -0
  293. package/.next/static/chunks/2jlz8zp4jax_m.js +18 -0
  294. package/.next/static/chunks/2nvepds1fu2ux.js +1 -0
  295. package/.next/static/chunks/3addj3i4-izma.js +1 -0
  296. package/.next/static/chunks/3bfwpww3m3x4u.js +1 -0
  297. package/.next/static/chunks/3gfh7nxwusbt0.js +1 -0
  298. package/.next/static/chunks/3gwa44cvz4qoi.js +1 -0
  299. package/.next/static/chunks/{38gweqdo4jpfj.js → 3izg0a3k87q1-.js} +5 -5
  300. package/.next/static/chunks/3zk6q3-3f9swq.js +99 -0
  301. package/.next/static/chunks/3zkg5iup3v4a2.js +12 -0
  302. package/.next/static/chunks/405m0bqtoihev.js +1 -0
  303. package/.next/static/chunks/42wcg3wfg_m_p.js +1 -0
  304. package/README.md +27 -216
  305. package/app/api/events/app-event.ts +6 -4
  306. package/app/api/query-key.ts +25 -16
  307. package/bin/database.mjs +37 -0
  308. package/bin/thursday.mjs +44 -28
  309. package/components/ui/custom-icon.tsx +0 -60
  310. package/components/ui/radio-group.tsx +37 -0
  311. package/components/ui/shiny-text.tsx +33 -6
  312. package/database/migrations/{20260910173049_numerous_spirit → 20260916145701_clever_multiple_man}/migration.sql +80 -24
  313. package/database/migrations/{20260910173049_numerous_spirit → 20260916145701_clever_multiple_man}/snapshot.json +689 -110
  314. package/database/migrations/20260916160713_thread_cancelled/migration.sql +2 -0
  315. package/database/migrations/{20260911030320_opposite_jack_power → 20260916160713_thread_cancelled}/snapshot.json +706 -84
  316. package/docs/how-it-works.md +39 -36
  317. package/docs/images/keeps-going.png +0 -0
  318. package/docs/images/two-minds.png +0 -0
  319. package/docs/live-calls.md +231 -0
  320. package/docs/thread-rooms.md +71 -0
  321. package/features/ai/chatgpt.ts +1 -2
  322. package/features/ai/live.schema.ts +128 -0
  323. package/features/ai/load-tools.ts +148 -77
  324. package/features/ai/model.schema.ts +2 -120
  325. package/features/ai/model.ts +52 -88
  326. package/features/ai/prompts/bot.prompt.ts +91 -214
  327. package/features/ai/prompts/live.prompt.ts +265 -0
  328. package/features/ai/prompts/prompt-helper.ts +91 -32
  329. package/features/ai/prompts/thursday.prompt.ts +125 -172
  330. package/features/ai/tools/bot.tool.ts +38 -145
  331. package/features/ai/tools/call.tool.ts +1 -1
  332. package/features/ai/tools/connected.ts +5 -3
  333. package/features/ai/tools/mcp.tool.ts +7 -4
  334. package/features/ai/tools/memory.tool.ts +35 -31
  335. package/features/ai/tools/skills.tool.ts +36 -14
  336. package/features/ai/tools/studio.tool.ts +26 -21
  337. package/features/ai/tools/tool-name.ts +2 -5
  338. package/features/ai/tools/workspace.tool.ts +33 -10
  339. package/features/artifact/artifact.action.ts +2 -2
  340. package/features/artifact/artifact.query.ts +112 -61
  341. package/features/artifact/artifact.schema.ts +8 -6
  342. package/features/artifact/components/artifact-setting.tsx +83 -33
  343. package/features/bot/bot.action.ts +43 -36
  344. package/features/bot/bot.memory.ts +137 -20
  345. package/features/bot/bot.query.ts +28 -11
  346. package/features/bot/bot.run.ts +299 -636
  347. package/features/bot/bot.runner.ts +468 -844
  348. package/features/bot/bot.schema.ts +93 -82
  349. package/features/bot/bot.seed.ts +141 -64
  350. package/features/bot/components/bot-mark.tsx +324 -232
  351. package/features/bot/components/bot-room.tsx +1613 -697
  352. package/features/bot/components/bot-roster.tsx +8 -13
  353. package/features/bot/components/bot-setting.tsx +58 -42
  354. package/features/bot/components/bot-tool.tsx +55 -87
  355. package/features/bot/components/mark-palette.tsx +35 -32
  356. package/features/bot/components/path-chips.tsx +33 -3
  357. package/features/bot/components/thread-badge.tsx +34 -0
  358. package/features/bot/components/thread-reply.tsx +639 -0
  359. package/features/bot/components/thread-setting.tsx +674 -0
  360. package/features/bot/mark.const.ts +79 -31
  361. package/features/bot/room.query.ts +889 -0
  362. package/features/bot/room.schema.ts +64 -0
  363. package/features/bot/seed-bots.ts +2 -1
  364. package/features/bot/thread.query.ts +971 -0
  365. package/features/bot/thread.store.ts +587 -0
  366. package/features/config/components/voice-key.tsx +113 -88
  367. package/features/config/config.const.ts +5 -9
  368. package/features/connectors/mcp.schema.ts +0 -2
  369. package/features/intro/components/intro.tsx +169 -139
  370. package/features/memory/components/memory-setting.tsx +2 -7
  371. package/features/memory/memory.schema.ts +14 -23
  372. package/features/settings/components/setting-ui.tsx +0 -44
  373. package/features/settings/components/settings.tsx +12 -12
  374. package/features/settings/settings.alert.ts +3 -3
  375. package/features/settings/settings.store.ts +1 -1
  376. package/features/skills/skills.schema.ts +0 -2
  377. package/features/thursday/components/ascii-field.tsx +24 -44
  378. package/features/thursday/components/ascii-orb.tsx +359 -358
  379. package/features/thursday/components/call-log.tsx +46 -44
  380. package/features/thursday/components/face.tsx +35 -10
  381. package/features/thursday/components/tab-state.tsx +3 -3
  382. package/features/thursday/components/thursday-mark.tsx +1 -0
  383. package/features/thursday/components/thursday-setting.tsx +631 -332
  384. package/features/thursday/components/thursday.tsx +106 -41
  385. package/features/thursday/components/voice-picker.tsx +255 -0
  386. package/features/thursday/thursday.action.ts +94 -68
  387. package/features/thursday/thursday.query.ts +49 -30
  388. package/features/thursday/thursday.schema.ts +27 -30
  389. package/features/thursday/thursday.store.ts +11 -7
  390. package/features/thursday/tool-call.ts +3 -3
  391. package/features/thursday/tool-line.ts +5 -3
  392. package/features/thursday/use-thursday.ts +725 -450
  393. package/features/workspace/workspace.query.ts +17 -0
  394. package/features/workspace/workspace.ts +103 -50
  395. package/lib/live/live.schema.ts +47 -0
  396. package/lib/live/live.server.ts +155 -0
  397. package/lib/live/live.session.ts +574 -0
  398. package/lib/{realtime/realtime.tap.ts → live/live.tap.ts} +41 -12
  399. package/lib/live/live.transport.ts +152 -0
  400. package/lib/protocol/use-server-pages.ts +9 -5
  401. package/lib/utils.ts +21 -20
  402. package/package.json +2 -2
  403. package/public/voices/alloy.ogg +0 -0
  404. package/public/voices/ash.ogg +0 -0
  405. package/public/voices/ballad.ogg +0 -0
  406. package/public/voices/beacon.ogg +0 -0
  407. package/public/voices/bossa.ogg +0 -0
  408. package/public/voices/cedar.ogg +0 -0
  409. package/public/voices/cinder.ogg +0 -0
  410. package/public/voices/coral.ogg +0 -0
  411. package/public/voices/delta.ogg +0 -0
  412. package/public/voices/echo.ogg +0 -0
  413. package/public/voices/gleam.ogg +0 -0
  414. package/public/voices/marin.ogg +0 -0
  415. package/public/voices/meridian.ogg +0 -0
  416. package/public/voices/quartz.ogg +0 -0
  417. package/public/voices/ripple.ogg +0 -0
  418. package/public/voices/sage.ogg +0 -0
  419. package/public/voices/shimmer.ogg +0 -0
  420. package/public/voices/stone.ogg +0 -0
  421. package/public/voices/tempo.ogg +0 -0
  422. package/public/voices/verse.ogg +0 -0
  423. package/public/voices/vesper.ogg +0 -0
  424. package/public/voices/willow.ogg +0 -0
  425. package/scripts/artifact-paths.test.mts +25 -0
  426. package/scripts/bot-context.test.mts +1408 -0
  427. package/scripts/live-history.test.mts +115 -0
  428. package/scripts/live-session.test.mts +948 -0
  429. package/server.js +1 -1
  430. package/skills/browser/SKILL.md +17 -6
  431. package/skills/computer/SKILL.md +1 -1
  432. package/skills/find-skills/SKILL.md +3 -8
  433. package/skills/interactive-page/SKILL.md +12 -7
  434. package/skills/interactive-page/references/diagram.md +89 -0
  435. package/skills/interactive-page/scripts/archify/LICENSE +22 -0
  436. package/skills/interactive-page/scripts/archify/README.md +25 -0
  437. package/skills/interactive-page/scripts/archify/assets/JetBrainsMono-OFL.txt +93 -0
  438. package/skills/interactive-page/scripts/archify/assets/template.html +14934 -0
  439. package/skills/interactive-page/scripts/archify/bin/archify.mjs +2126 -0
  440. package/skills/interactive-page/scripts/archify/bin/open-artifact.mjs +86 -0
  441. package/skills/interactive-page/scripts/archify/bin/preview.mjs +653 -0
  442. package/skills/interactive-page/scripts/archify/bin/visual-check.mjs +829 -0
  443. package/skills/interactive-page/scripts/archify/delta/architecture-delta.mjs +1223 -0
  444. package/skills/interactive-page/scripts/archify/examples/agent-run.lifecycle.json +60 -0
  445. package/skills/interactive-page/scripts/archify/examples/agent-tool-call.workflow.json +94 -0
  446. package/skills/interactive-page/scripts/archify/examples/async-job-roundtrip.sequence.json +61 -0
  447. package/skills/interactive-page/scripts/archify/examples/cache-miss-request.sequence.json +82 -0
  448. package/skills/interactive-page/scripts/archify/examples/checkout-platform.base.architecture.json +31 -0
  449. package/skills/interactive-page/scripts/archify/examples/checkout-platform.head.architecture.json +31 -0
  450. package/skills/interactive-page/scripts/archify/examples/deployment-release.lifecycle.json +49 -0
  451. package/skills/interactive-page/scripts/archify/examples/event-stream.dataflow.json +57 -0
  452. package/skills/interactive-page/scripts/archify/examples/incident-response.workflow.json +64 -0
  453. package/skills/interactive-page/scripts/archify/examples/product-analytics.dataflow.json +76 -0
  454. package/skills/interactive-page/scripts/archify/examples/production-deployment.architecture.json +71 -0
  455. package/skills/interactive-page/scripts/archify/examples/release-delivery.workflow.json +62 -0
  456. package/skills/interactive-page/scripts/archify/examples/web-app.architecture.json +46 -0
  457. package/skills/interactive-page/scripts/archify/migrations/workflow-v2.mjs +279 -0
  458. package/skills/interactive-page/scripts/archify/recipes/scenarios.mjs +284 -0
  459. package/skills/interactive-page/scripts/archify/references/authoring-contract.md +243 -0
  460. package/skills/interactive-page/scripts/archify/references/delivery-contract.md +120 -0
  461. package/skills/interactive-page/scripts/archify/references/viewer-runtime.md +45 -0
  462. package/skills/interactive-page/scripts/archify/renderers/architecture/grid.mjs +62 -0
  463. package/skills/interactive-page/scripts/archify/renderers/architecture/render-architecture.mjs +1078 -0
  464. package/skills/interactive-page/scripts/archify/renderers/dataflow/README.md +104 -0
  465. package/skills/interactive-page/scripts/archify/renderers/dataflow/render-dataflow.mjs +483 -0
  466. package/skills/interactive-page/scripts/archify/renderers/lifecycle/README.md +115 -0
  467. package/skills/interactive-page/scripts/archify/renderers/lifecycle/render-lifecycle.mjs +561 -0
  468. package/skills/interactive-page/scripts/archify/renderers/sequence/README.md +114 -0
  469. package/skills/interactive-page/scripts/archify/renderers/sequence/render-sequence.mjs +464 -0
  470. package/skills/interactive-page/scripts/archify/renderers/shared/brand-marks.mjs +563 -0
  471. package/skills/interactive-page/scripts/archify/renderers/shared/cli.mjs +218 -0
  472. package/skills/interactive-page/scripts/archify/renderers/shared/desktop-readability.mjs +26 -0
  473. package/skills/interactive-page/scripts/archify/renderers/shared/diagnostics.mjs +127 -0
  474. package/skills/interactive-page/scripts/archify/renderers/shared/engineering-profiles.mjs +157 -0
  475. package/skills/interactive-page/scripts/archify/renderers/shared/generated-brand-marks.mjs +3 -0
  476. package/skills/interactive-page/scripts/archify/renderers/shared/generated-validators.mjs +13 -0
  477. package/skills/interactive-page/scripts/archify/renderers/shared/geometry.mjs +1423 -0
  478. package/skills/interactive-page/scripts/archify/renderers/shared/i18n.mjs +595 -0
  479. package/skills/interactive-page/scripts/archify/renderers/shared/layout-report.mjs +40 -0
  480. package/skills/interactive-page/scripts/archify/renderers/shared/legend.mjs +217 -0
  481. package/skills/interactive-page/scripts/archify/renderers/shared/output-path.mjs +340 -0
  482. package/skills/interactive-page/scripts/archify/renderers/shared/repository-evidence.mjs +238 -0
  483. package/skills/interactive-page/scripts/archify/renderers/shared/repository-location.mjs +58 -0
  484. package/skills/interactive-page/scripts/archify/renderers/shared/text-fit.mjs +49 -0
  485. package/skills/interactive-page/scripts/archify/renderers/shared/utils.mjs +232 -0
  486. package/skills/interactive-page/scripts/archify/renderers/shared/validator.mjs +86 -0
  487. package/skills/interactive-page/scripts/archify/renderers/workflow/README.md +223 -0
  488. package/skills/interactive-page/scripts/archify/renderers/workflow/render-workflow.mjs +35 -0
  489. package/skills/interactive-page/scripts/archify/renderers/workflow/workflow-compiler.mjs +4400 -0
  490. package/skills/interactive-page/scripts/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
  491. package/skills/interactive-page/scripts/archify/schemas/README.md +211 -0
  492. package/skills/interactive-page/scripts/archify/schemas/architecture.schema.json +178 -0
  493. package/skills/interactive-page/scripts/archify/schemas/common.schema.json +115 -0
  494. package/skills/interactive-page/scripts/archify/schemas/dataflow.schema.json +243 -0
  495. package/skills/interactive-page/scripts/archify/schemas/lifecycle.schema.json +266 -0
  496. package/skills/interactive-page/scripts/archify/schemas/sequence.schema.json +223 -0
  497. package/skills/interactive-page/scripts/archify/schemas/workflow.schema.json +428 -0
  498. package/skills/interactive-page/scripts/archify/scripts/check-render-output.mjs +916 -0
  499. package/skills/interactive-page/scripts/archify/scripts/render-examples.mjs +26 -0
  500. package/skills/interactive-page/scripts/bundle-artifact.sh +9 -8
  501. package/skills/skill-creator/SKILL.md +4 -5
  502. package/.next/server/app/api/bot/task/[id]/route/app-paths-manifest.json +0 -3
  503. package/.next/server/app/api/bot/task/[id]/route.js +0 -16
  504. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +0 -1
  505. package/.next/server/app/api/bot/task/[id]/route_client-reference-manifest.js +0 -3
  506. package/.next/server/app/api/bot/task/route/app-paths-manifest.json +0 -3
  507. package/.next/server/app/api/bot/task/route.js +0 -16
  508. package/.next/server/app/api/bot/task/route.js.nft.json +0 -1
  509. package/.next/server/app/api/bot/task/route_client-reference-manifest.js +0 -3
  510. package/.next/server/chunks/[root-of-the-server]__01dkp4a._.js +0 -3
  511. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +0 -3
  512. package/.next/server/chunks/[root-of-the-server]__02xjoto._.js +0 -3
  513. package/.next/server/chunks/[root-of-the-server]__04q--0f._.js +0 -8
  514. package/.next/server/chunks/[root-of-the-server]__0bl-e63._.js +0 -3
  515. package/.next/server/chunks/[root-of-the-server]__0ffbg85._.js +0 -3
  516. package/.next/server/chunks/[root-of-the-server]__0jq4ohy._.js +0 -8
  517. package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +0 -8
  518. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +0 -3
  519. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +0 -5
  520. package/.next/server/chunks/[root-of-the-server]__11n256_._.js +0 -5
  521. package/.next/server/chunks/[root-of-the-server]__12cabg9._.js +0 -3
  522. package/.next/server/chunks/[root-of-the-server]__1339jnv._.js +0 -8
  523. package/.next/server/chunks/[root-of-the-server]__18_teo8._.js +0 -8
  524. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +0 -5
  525. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +0 -3
  526. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +0 -10
  527. package/.next/server/chunks/[root-of-the-server]__1fizn31._.js +0 -3
  528. package/.next/server/chunks/[root-of-the-server]__1llj3-b._.js +0 -3
  529. package/.next/server/chunks/[root-of-the-server]__1p8m3f4._.js +0 -3
  530. package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +0 -8
  531. package/.next/server/chunks/_0-73of8._.js +0 -55
  532. package/.next/server/chunks/_0-fjql4._.js +0 -26
  533. package/.next/server/chunks/_00xh_q0._.js +0 -25
  534. package/.next/server/chunks/_03a0897._.js +0 -3
  535. package/.next/server/chunks/_051qh8u._.js +0 -3
  536. package/.next/server/chunks/_05sovvj._.js +0 -3
  537. package/.next/server/chunks/_0fzqt2y._.js +0 -134
  538. package/.next/server/chunks/_0mecv0f._.js +0 -26
  539. package/.next/server/chunks/_0mh8j4m._.js +0 -3
  540. package/.next/server/chunks/_0obojvv._.js +0 -3
  541. package/.next/server/chunks/_0sb7tlz._.js +0 -3
  542. package/.next/server/chunks/_0sbynis._.js +0 -3
  543. package/.next/server/chunks/_0u10wmw._.js +0 -55
  544. package/.next/server/chunks/_0u4aiy2._.js +0 -3
  545. package/.next/server/chunks/_0wp4le3._.js +0 -3
  546. package/.next/server/chunks/_0y5fg-x._.js +0 -3
  547. package/.next/server/chunks/_1230wbx._.js +0 -10
  548. package/.next/server/chunks/_12nheja._.js +0 -3
  549. package/.next/server/chunks/_13510xh._.js +0 -3
  550. package/.next/server/chunks/_15hq89o._.js +0 -3
  551. package/.next/server/chunks/_18-1wcc._.js +0 -55
  552. package/.next/server/chunks/_1_9mjx-._.js +0 -3
  553. package/.next/server/chunks/_1c78vw5._.js +0 -229
  554. package/.next/server/chunks/_1h5_8sk._.js +0 -3
  555. package/.next/server/chunks/_1hdnxb7._.js +0 -3
  556. package/.next/server/chunks/_1j8k_j5._.js +0 -3
  557. package/.next/server/chunks/_1nula3v._.js +0 -3
  558. package/.next/server/chunks/_1php4eq._.js +0 -3
  559. package/.next/server/chunks/_1yuv4vp._.js +0 -3
  560. package/.next/server/chunks/_1zjrdag._.js +0 -3
  561. package/.next/server/chunks/_next-internal_server_app_api_bot_task_[id]_route_actions_1_k_8u3.js +0 -3
  562. package/.next/server/chunks/_next-internal_server_app_api_bot_task_route_actions_0xln6ra.js +0 -3
  563. package/.next/server/chunks/features_0rpfxbk._.js +0 -3
  564. package/.next/server/chunks/features_1qf3cei._.js +0 -3
  565. package/.next/server/chunks/features_bot_0zt92oh._.js +0 -3
  566. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js +0 -3
  567. package/.next/server/chunks/ssr/[externals]__0dizgek._.js +0 -3
  568. package/.next/server/chunks/ssr/[root-of-the-server]__092knlj._.js +0 -3
  569. package/.next/server/chunks/ssr/[root-of-the-server]__0mz33a7._.js +0 -3
  570. package/.next/server/chunks/ssr/[root-of-the-server]__0s9dq5u._.js +0 -3
  571. package/.next/server/chunks/ssr/[root-of-the-server]__0s9l2sv._.js +0 -3
  572. package/.next/server/chunks/ssr/[root-of-the-server]__0vnmv-s._.js +0 -3
  573. package/.next/server/chunks/ssr/[root-of-the-server]__0xsog8n._.js +0 -3
  574. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +0 -61
  575. package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +0 -43
  576. package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +0 -4
  577. package/.next/server/chunks/ssr/[root-of-the-server]__202p40z._.js +0 -3
  578. package/.next/server/chunks/ssr/_001_ms1._.js +0 -28
  579. package/.next/server/chunks/ssr/_01n3o0m._.js +0 -3
  580. package/.next/server/chunks/ssr/_0fz4mf_._.js +0 -3
  581. package/.next/server/chunks/ssr/_0gb4gmf._.js +0 -3
  582. package/.next/server/chunks/ssr/_0h42fze._.js +0 -3
  583. package/.next/server/chunks/ssr/_0h7zdni._.js +0 -3
  584. package/.next/server/chunks/ssr/_0ilna52._.js +0 -42
  585. package/.next/server/chunks/ssr/_0q0zan6._.js +0 -70
  586. package/.next/server/chunks/ssr/_0zcjrbg._.js +0 -3
  587. package/.next/server/chunks/ssr/_0zhoc3r._.js +0 -3
  588. package/.next/server/chunks/ssr/_13fke0x._.js +0 -3
  589. package/.next/server/chunks/ssr/_18cymkq._.js +0 -3
  590. package/.next/server/chunks/ssr/_1b2mjwr._.js +0 -3
  591. package/.next/server/chunks/ssr/_1f-dg-6._.js +0 -3
  592. package/.next/server/chunks/ssr/_1h0rw11._.js +0 -3
  593. package/.next/server/chunks/ssr/_1jhd09t._.js +0 -3
  594. package/.next/server/chunks/ssr/_1nnsk7z._.js +0 -3
  595. package/.next/server/chunks/ssr/_1ov37if._.js +0 -3
  596. package/.next/server/chunks/ssr/_1sji22n._.js +0 -3
  597. package/.next/server/chunks/ssr/_1vi_uo7._.js +0 -3
  598. package/.next/server/chunks/ssr/_1vyd1ji._.js +0 -3
  599. package/.next/server/chunks/ssr/_1xx4zlb._.js +0 -3
  600. package/.next/server/chunks/ssr/components_ui_1y1l7yj._.js +0 -3
  601. package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +0 -3
  602. package/.next/server/chunks/ssr/lib_realtime_12wg_dd._.js +0 -27
  603. package/.next/server/chunks/ssr/lib_realtime_15h_v1v._.js +0 -27
  604. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0npjf8-._.js +0 -3
  605. package/.next/static/chunks/00rd4-v8r7axp.js +0 -1
  606. package/.next/static/chunks/08qe4as2q428z.js +0 -3
  607. package/.next/static/chunks/0gnqdjn2lvdad.js +0 -2
  608. package/.next/static/chunks/0hwap1-p0m5sa.js +0 -1
  609. package/.next/static/chunks/0r5qcctujhxli.js +0 -1
  610. package/.next/static/chunks/0w52rrrmuj9r9.js +0 -1
  611. package/.next/static/chunks/0wcprt5ot5she.js +0 -1
  612. package/.next/static/chunks/10teww7wt-f6h.js +0 -1
  613. package/.next/static/chunks/17p6tk6k88dq6.js +0 -1
  614. package/.next/static/chunks/18a96rkhi4_yd.js +0 -1
  615. package/.next/static/chunks/1dkjg87pxk0n9.js +0 -28
  616. package/.next/static/chunks/1jd09sxcjddu1.js +0 -1
  617. package/.next/static/chunks/1w73ece_6bheu.js +0 -18
  618. package/.next/static/chunks/214ya3n5gxeih.js +0 -1
  619. package/.next/static/chunks/22_zkas21rpna.js +0 -1
  620. package/.next/static/chunks/2fh4-3z_q8b_w.js +0 -1
  621. package/.next/static/chunks/2h0sd2vumhb15.js +0 -1
  622. package/.next/static/chunks/2t4vhi3m8ahya.js +0 -1
  623. package/.next/static/chunks/2tigdtz3dpcy8.js +0 -1
  624. package/.next/static/chunks/2u7xt6mxg44lf.js +0 -1
  625. package/.next/static/chunks/3786h5vayt80-.js +0 -28
  626. package/.next/static/chunks/39j0fvpybzabl.js +0 -40
  627. package/.next/static/chunks/3cq5g494yuke8.css +0 -1
  628. package/.next/static/chunks/3hibbjnt85-k6.js +0 -1
  629. package/.next/static/chunks/3woj-xd7ki5_i.js +0 -1
  630. package/.next/static/chunks/3xk7yqgomx7yq.js +0 -1
  631. package/.next/static/chunks/3zmcsnuo25zvq.js +0 -1
  632. package/database/migrations/20260911030320_opposite_jack_power/migration.sql +0 -1
  633. package/docs/images/task-thread.png +0 -0
  634. package/features/bot/components/task-badge.tsx +0 -42
  635. package/features/bot/components/task-reply.tsx +0 -328
  636. package/features/bot/components/task-setting.tsx +0 -524
  637. package/features/bot/task.query.ts +0 -976
  638. package/features/bot/task.store.ts +0 -489
  639. package/lib/realtime/client-secret.ts +0 -86
  640. package/lib/realtime/open-session.ts +0 -31
  641. package/lib/realtime/openai.ts +0 -35
  642. package/lib/realtime/realtime.audio.ts +0 -196
  643. package/lib/realtime/realtime.driver.ts +0 -489
  644. package/lib/realtime/realtime.protocol.ts +0 -393
  645. package/lib/realtime/realtime.schema.ts +0 -37
  646. package/lib/realtime/realtime.session.ts +0 -106
  647. package/lib/realtime/realtime.transport.ts +0 -384
  648. package/lib/realtime/xai.ts +0 -39
  649. /package/.next/server/app/api/bot/{task → thread}/[id]/route/build-manifest.json +0 -0
  650. /package/.next/server/app/api/bot/{task → thread}/[id]/route/server-reference-manifest.json +0 -0
  651. /package/.next/server/app/api/bot/{task → thread}/[id]/route.js.map +0 -0
  652. /package/.next/server/app/api/bot/{task → thread}/route/build-manifest.json +0 -0
  653. /package/.next/server/app/api/bot/{task → thread}/route/server-reference-manifest.json +0 -0
  654. /package/.next/server/app/api/bot/{task → thread}/route.js.map +0 -0
  655. /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → 0qzGoKn2wTERVZtblX1tp}/_buildManifest.js +0 -0
  656. /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → 0qzGoKn2wTERVZtblX1tp}/_clientMiddlewareManifest.js +0 -0
  657. /package/.next/static/{kaTO0UHqF1bMnWgCDik2f → 0qzGoKn2wTERVZtblX1tp}/_ssgManifest.js +0 -0
@@ -34,5 +34,5 @@ Pass a Vercel personal access token or Vercel app access token via the 'apiKey'
34
34
  Option 3 - OIDC token:
35
35
  Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,statusCode:a,cause:n,generationId:o})}},r2="GatewayInvalidRequestError",r5=Symbol.for(`vercel.ai.gateway.error.${r2}`),r4=class extends(j=rX,_=r5,j){constructor({message:e="Invalid request",statusCode:t=400,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[_]=!0,this.name=r2,this.type="invalid_request_error"}static isInstance(e){return rX.hasMarker(e)&&r5 in e}},r6="GatewayRateLimitError",r9=Symbol.for(`vercel.ai.gateway.error.${r6}`),r3=class extends(S=rX,E=r9,S){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[E]=!0,this.name=r6,this.type="rate_limit_exceeded"}static isInstance(e){return rX.hasMarker(e)&&r9 in e}},r7="GatewayModelNotFoundError",r8=Symbol.for(`vercel.ai.gateway.error.${r7}`),ae=rg(()=>rv(rK.object({modelId:rK.string()}))),at=class extends(A=rX,M=r8,A){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:a,generationId:n}={}){super({message:e,statusCode:t,cause:a,generationId:n}),this[M]=!0,this.name=r7,this.type="model_not_found",this.modelId=r}static isInstance(e){return rX.hasMarker(e)&&r8 in e}},ar="GatewayNotFoundError",aa=Symbol.for(`vercel.ai.gateway.error.${ar}`),an=class extends(R=rX,T=aa,R){constructor({message:e="Resource not found",statusCode:t=404,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[T]=!0,this.name=ar,this.type="not_found"}static isInstance(e){return rX.hasMarker(e)&&aa in e}},ao="GatewayInternalServerError",as=Symbol.for(`vercel.ai.gateway.error.${ao}`),ai=class extends(O=rX,C=as,O){constructor({message:e="Internal server error",statusCode:t=500,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[C]=!0,this.name=ao,this.type="internal_server_error"}static isInstance(e){return rX.hasMarker(e)&&as in e}},al="GatewayFailedDependencyError",au=Symbol.for(`vercel.ai.gateway.error.${al}`),ad=class extends(P=rX,N=au,P){constructor({message:e="Failed dependency",statusCode:t=424,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[N]=!0,this.name=al,this.type="failed_dependency"}static isInstance(e){return rX.hasMarker(e)&&au in e}},ac="GatewayForbiddenError",ap=Symbol.for(`vercel.ai.gateway.error.${ac}`),ah=rg(()=>rv(rK.object({ruleId:rK.string()}))),am=class extends(D=rX,$=ap,D){constructor({message:e="Forbidden",statusCode:t=403,cause:r,generationId:a,ruleId:n}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[$]=!0,this.name=ac,this.type="forbidden",this.ruleId=n}static isInstance(e){return rX.hasMarker(e)&&ap in e}},ag="GatewayResponseError",af=Symbol.for(`vercel.ai.gateway.error.${ag}`),ay=class extends(F=rX,U=af,F){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:a,cause:n,generationId:o,isRetryable:s}={}){super({message:e,statusCode:t,cause:n,generationId:o,isRetryable:s}),this[U]=!0,this.name=ag,this.type="response_error",this.response=r,this.validationError=a}static isInstance(e){return rX.hasMarker(e)&&af in e}};async function av({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:a,authMethod:n,isRetryable:o}){var s;let i=await rw({value:e,schema:ab});if(!i.success){let n="object"==typeof e&&null!==e&&"generationId"in e?e.generationId:void 0;return new ay({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:i.error,cause:a,generationId:n,isRetryable:o})}let l=i.value,u=l.error.type,d=l.error.message,c=null!=(s=l.generationId)?s:void 0;switch(u){case"authentication_error":return r1.createContextualError({apiKeyProvided:"api-key"===n,oidcTokenProvided:"oidc"===n,statusCode:t,cause:a,generationId:c});case"invalid_request_error":return new r4({message:d,statusCode:t,cause:a,generationId:c});case"rate_limit_exceeded":return new r3({message:d,statusCode:t,cause:a,generationId:c});case"model_not_found":{let e=await rw({value:l.error.param,schema:ae});return new at({message:d,statusCode:t,modelId:e.success?e.value.modelId:void 0,cause:a,generationId:c})}case"not_found":return new an({message:d,statusCode:t,cause:a,generationId:c});case"internal_server_error":default:return new ai({message:d,statusCode:t,cause:a,generationId:c});case"failed_dependency":return new ad({message:d,statusCode:t,cause:a,generationId:c});case"forbidden":{let e=await rw({value:l.error.param,schema:ah});return new am({message:d,statusCode:t,cause:a,generationId:c,ruleId:e.success?e.value.ruleId:void 0})}}}var ab=rg(()=>rv(rK.object({error:rK.object({message:rK.string(),type:rK.string().nullish(),param:rK.unknown().nullish(),code:rK.union([rK.string(),rK.number()]).nullish()}),generationId:rK.string().nullish()}))),aw="GatewayTimeoutError",ax=Symbol.for(`vercel.ai.gateway.error.${aw}`),ak=class e extends(q=rX,L=ax,q){constructor({message:e="Request timed out",statusCode:t=408,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[L]=!0,this.name=aw,this.type="timeout_error"}static isInstance(e){return rX.hasMarker(e)&&ax in e}static createTimeoutError({originalMessage:t,statusCode:r=408,cause:a,generationId:n}){return new e({message:`Gateway request timed out: ${t}
36
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:r,cause:a,generationId:n})}};function aI(e){if(!(e instanceof Error))return!1;let t=e.code;return"string"==typeof t&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t)}async function a_(e,t){var r;return rX.isInstance(e)?e:aI(e)?ak.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):eO.isInstance(e)?e.cause&&aI(e.cause)?ak.createTimeoutError({originalMessage:e.message,cause:e}):await av({response:function(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return tW(e.responseBody)}catch(t){return e.responseBody}return{}}(e),statusCode:null!=(r=e.statusCode)?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:!!e.isRetryable&&(null==e.statusCode||e.statusCode<400)||void 0}):await av({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}var aj="ai-gateway-auth-method",aE="x-vercel-ai-gateway-team";async function aS(e){let t=await rw({value:e[aj],schema:aM});return t.success?t.value:void 0}var aM=rg(()=>rv(rK.union([rK.literal("api-key"),rK.literal("oidc")]))),aA=["embedding","image","language","realtime","reranking","speech","transcription","video"],aT=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await tB({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(aR),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return e}catch(e){throw await a_(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await tB({url:`${e.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(aC),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return t}catch(e){throw await a_(e)}}},aR=rg(()=>rv(rK.object({models:rK.array(rK.object({id:rK.string(),name:rK.string(),description:rK.string().nullish(),pricing:rK.object({input:rK.string(),output:rK.string(),input_cache_read:rK.string().nullish(),input_cache_write:rK.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:a})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...a?{cacheCreationInputTokens:a}:{}})).nullish(),specification:rK.object({specificationVersion:rK.literal("v4"),provider:rK.string(),modelId:rK.string()}),modelType:rK.string().nullish()})).transform(e=>e.filter(e=>null==e.modelType||aA.includes(e.modelType)))}))),aC=rg(()=>rv(rK.object({balance:rK.string(),total_used:rK.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),aO=class{constructor(e){this.config=e}async getSpendReport(e){try{let t=new URL(this.config.baseURL),r=new URLSearchParams;r.set("start_date",e.startDate),r.set("end_date",e.endDate),e.groupBy&&r.set("group_by",e.groupBy),e.datePart&&r.set("date_part",e.datePart),e.userId&&r.set("user_id",e.userId),e.model&&r.set("model",e.model),e.provider&&r.set("provider",e.provider),e.credentialType&&r.set("credential_type",e.credentialType),e.tags&&e.tags.length>0&&r.set("tags",e.tags.join(","));let{value:a}=await tB({url:`${t.origin}/v1/report?${r.toString()}`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(aN),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return a}catch(e){throw await a_(e)}}},aN=rg(()=>rv(rK.object({results:rK.array(rK.object({day:rK.string().optional(),hour:rK.string().optional(),user:rK.string().optional(),model:rK.string().optional(),tag:rK.string().optional(),provider:rK.string().optional(),credential_type:rK.enum(["byok","system"]).optional(),total_cost:rK.number(),market_cost:rK.number().optional(),input_tokens:rK.number().optional(),output_tokens:rK.number().optional(),cached_input_tokens:rK.number().optional(),cache_creation_input_tokens:rK.number().optional(),reasoning_tokens:rK.number().optional(),request_count:rK.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:r,input_tokens:a,output_tokens:n,cached_input_tokens:o,cache_creation_input_tokens:s,reasoning_tokens:i,request_count:l,...u})=>({...u,...void 0!==e?{credentialType:e}:{},totalCost:t,...void 0!==r?{marketCost:r}:{},...void 0!==a?{inputTokens:a}:{},...void 0!==n?{outputTokens:n}:{},...void 0!==o?{cachedInputTokens:o}:{},...void 0!==s?{cacheCreationInputTokens:s}:{},...void 0!==i?{reasoningTokens:i}:{},...void 0!==l?{requestCount:l}:{}})))}))),aP=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:r}=await tB({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(a$),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return r}catch(e){throw await a_(e)}}},a$=rg(()=>rv(rK.object({data:rK.object({id:rK.string(),total_cost:rK.number(),upstream_inference_cost:rK.number(),usage:rK.number(),created_at:rK.string(),model:rK.string(),is_byok:rK.boolean(),provider_name:rK.string(),streamed:rK.boolean(),finish_reason:rK.string(),latency:rK.number(),generation_time:rK.number(),native_tokens_prompt:rK.number(),native_tokens_completion:rK.number(),native_tokens_reasoning:rK.number(),native_tokens_cached:rK.number(),native_tokens_cache_creation:rK.number(),billable_web_search_calls:rK.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:r,is_byok:a,provider_name:n,finish_reason:o,generation_time:s,native_tokens_prompt:i,native_tokens_completion:l,native_tokens_reasoning:u,native_tokens_cached:d,native_tokens_cache_creation:c,billable_web_search_calls:p,...h})=>({...h,totalCost:e,upstreamInferenceCost:t,createdAt:r,isByok:a,providerName:n,finishReason:o,generationTime:s,promptTokens:i,completionTokens:l,reasoningTokens:u,cachedTokens:d,cacheCreationTokens:c,billableWebSearchCalls:p}))}).transform(({data:e})=>e))),aD=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[tr](e){return rF({modelId:e.modelId,config:e.config})}static[ta](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:o,value:s,rawValue:i}=await rj({url:this.getUrl(),headers:tn(n,e.headers,this.getModelConfigHeaders(this.modelId,!1),await rM(this.config.o11yHeaders)),body:t,successfulResponseHandler:rC(rK.any()),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{...s,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(e){throw await a_(e,await aS(null!=n?n:{}))}}async doStream(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await rM(this.config.headers):void 0;try{let o,{value:s,responseHeaders:i}=await rj({url:this.getUrl(),headers:tn(n,e.headers,this.getModelConfigHeaders(this.modelId,!0),await rM(this.config.o11yHeaders)),body:t,successfulResponseHandler:(o=rK.any(),async({response:e,url:t,requestBodyValues:r})=>{let a=th(e);if(null==e.body)throw new eD({});return{responseHeaders:a,value:rI({stream:function({stream:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n}){let o=e.getReader(),s=!1,i=()=>{s||(o.releaseLock(),s=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await o.read();t?(i(),e.close()):e.enqueue(r)}catch(o){if(i(),tg(o))return void e.error(o);e.error(tv({error:new eO({message:"Failed to process successful response",cause:o,statusCode:a,url:t,responseHeaders:n,requestBodyValues:r}),url:t,requestBodyValues:r}))}},async cancel(e){try{await o.cancel(e)}finally{i()}}})}({stream:e.body,url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a}),schema:o})}}),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:s.pipeThrough(new TransformStream({start(e){r.length>0&&e.enqueue({type:"stream-start",warnings:r})},transform(t,r){if(t.success){let a=t.value;("raw"!==a.type||e.includeRawChunks)&&("response-metadata"===a.type&&a.timestamp&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp)),r.enqueue(a))}else r.error(t.error)}})),request:{body:t},response:{headers:i}}}catch(e){throw await a_(e,await aS(null!=n?n:{}))}}maybeEncodeFileParts(e){for(let t of e.prompt)if(Array.isArray(t.content)){for(let e of t.content)if("file"===e.type||"reasoning-file"===e.type)e.data=aU(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=aU(t.data))}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"4","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}};function aU(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:rV.Buffer.from(t).toString("base64")}}return e}var aF=class e extends aD{static[tr](e){return aD[tr](e)}static[ta](t){return new e(t.modelId,t.config)}constructor(e,t){super(e,t)}async experimental_doStartBatch({requests:e,providerOptions:t,headers:r,abortSignal:a,webhookUrl:n}){var o;let s=this.config.headers?await rM(this.config.headers):void 0,i=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t.idempotencyKey;return"string"==typeof r&&r.length>0?r:void 0}(t),l=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t)||!("idempotencyKey"in t))return e;let{idempotencyKey:r,...a}=t,n={...e};if(0===Object.keys(a).length?delete n.gateway:n.gateway=a,0!==Object.keys(n).length)return n}(t);try{let{value:t}=await rj({url:this.getBatchUrl("start"),headers:tn(s,r,this.getBatchConfigHeaders(),await rM(this.config.o11yHeaders),null!=i?{"idempotency-key":i}:void 0),body:{...null!=n&&{callbackUrl:n},modelId:this.modelId,requests:e.map(e=>({id:e.id,options:this.maybeEncodeFileParts(e.options)})),...null!=l&&{providerOptions:l}},successfulResponseHandler:rC(aY),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{batchId:t.batchId,...aq(t),warnings:null!=(o=t.warnings)?o:[]}}catch(e){if(aL(e))throw e;throw await a_(e,await aS(null!=s?s:{}))}}async experimental_doGetBatchStatus({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await rM(this.config.headers):void 0;try{let{value:n}=await rj({url:this.getBatchUrl("status"),headers:tn(a,t,this.getBatchConfigHeaders(),await rM(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:rC(aW),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return aq(n)}catch(e){if(aL(e))throw e;throw await a_(e,await aS(null!=a?a:{}))}}async experimental_doGetBatchResults({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await rM(this.config.headers):void 0;try{var n;let o,{value:s}=await rj({url:this.getBatchUrl("results"),headers:tn(a,t,this.getBatchConfigHeaders(),await rM(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:async({response:e})=>{let t=th(e);if(null==e.body)throw new eD({});return{responseHeaders:t,value:rO({stream:e.body,schema:az})}},failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return n=aB(s),o=!1,new ReadableStream({async pull(e){if(!o)try{let{value:t,done:r}=await n.next();r?e.close():e.enqueue(t)}catch(t){e.error(t)}},async cancel(e){if(o=!0,n.return)try{await n.return(e)}catch(e){}}})}catch(e){if(aL(e))throw e;throw await a_(e,await aS(null!=a?a:{}))}}getBatchUrl(e){return`${this.config.baseURL}/batch/${e}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function aL(e){return!!(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"TimeoutError"===e.name)}function aq(e){var t,r,a,n;let o=function({total:e,pending:t,completed:r,failed:a}){if(tV(e)&&tV(t)&&tV(r)&&tV(a)&&t+r+a===e)return{total:e,pending:t,completed:r,failed:a}}({total:null==(t=e.requestCounts)?void 0:t.total,pending:null==(r=e.requestCounts)?void 0:r.pending,completed:null==(a=e.requestCounts)?void 0:a.completed,failed:null==(n=e.requestCounts)?void 0:n.failed});return{status:e.status,...null!=e.rawStatus&&{rawStatus:e.rawStatus},...null!=o&&{requestCounts:o},...null!=e.error&&{error:{message:e.error.message,...null!=e.error.type&&{type:e.error.type},...null!=e.error.code&&{code:e.error.code},...null!=e.error.statusCode&&{statusCode:e.error.statusCode}}},...null!=e.createdAt&&{createdAt:e.createdAt},...null!=e.expiresAt&&{expiresAt:e.expiresAt},...null!=e.providerMetadata&&{providerMetadata:e.providerMetadata}}}async function*aB(e){var t;for await(let r of e){if("succeeded"===r.status){let e=null==(t=r.result)?void 0:t.response;void 0!==e&&"string"==typeof e.timestamp&&(e.timestamp=new Date(e.timestamp))}yield r}}var az=rK.object({id:rK.string(),status:rK.enum(["cancelled","expired","failed","succeeded"])}).catchall(rK.unknown()),aH=rK.object({message:rK.string(),type:rK.string().nullish(),code:rK.string().nullish(),statusCode:rK.number().nullish()}),aV=rK.object({total:rK.number().nullish(),pending:rK.number().nullish(),completed:rK.number().nullish(),failed:rK.number().nullish()}),aZ=rK.record(rK.string(),rK.record(rK.string(),rK.unknown())),aG=rK.object({status:rK.enum(["completed","failed","pending"]),rawStatus:rK.string().nullish(),requestCounts:aV.nullish(),error:aH.nullish(),createdAt:rK.string().nullish(),expiresAt:rK.string().nullish(),providerMetadata:aZ.nullish()}),aY=aG.extend({batchId:rK.string(),warnings:rK.array(rK.object({requestId:rK.string().nullish(),warning:rK.unknown()}).catchall(rK.unknown())).nullish()}),aW=aG,aK=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[tr](e){return rF({modelId:e.modelId,config:e.config})}static[ta](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:a}){var n,o;let s=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:i,value:l,rawValue:u}=await rj({url:this.getUrl(),headers:tn(s,null!=t?t:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{values:e,...a?{providerOptions:a}:{}},successfulResponseHandler:rC(aX),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:l.embeddings,usage:null!=(n=l.usage)?n:void 0,providerMetadata:l.providerMetadata,response:{headers:i,body:u},warnings:null!=(o=l.warnings)?o:[]}}catch(e){throw await a_(e,await aS(null!=s?s:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},aJ=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),aX=rg(()=>rv(rK.object({embeddings:rK.array(rK.array(rK.number())),usage:rK.object({tokens:rK.number()}).nullish(),warnings:rK.array(aJ).optional(),providerMetadata:rK.record(rK.string(),rK.record(rK.string(),rK.unknown())).optional()}))),aQ=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[tr](e){return rF({modelId:e.modelId,config:e.config})}static[ta](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:a,seed:n,files:o,mask:s,providerOptions:i,headers:l,abortSignal:u}){var d,c,p,h;let m=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:g,value:f}=await rj({url:this.getUrl(),headers:tn(m,null!=l?l:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...a&&{aspectRatio:a},...n&&{seed:n},...i&&{providerOptions:i},...o&&{files:o.map(e=>a0(e))},...s&&{mask:a0(s)}},successfulResponseHandler:rC(a4),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:f.images,warnings:null!=(d=f.warnings)?d:[],providerMetadata:f.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:g},...null!=f.usage&&{usage:{inputTokens:null!=(c=f.usage.inputTokens)?c:void 0,outputTokens:null!=(p=f.usage.outputTokens)?p:void 0,totalTokens:null!=(h=f.usage.totalTokens)?h:void 0}}}}catch(e){throw await a_(e,await aS(null!=m?m:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function a0(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:tp(e.data)}:e}var a1=rK.object({images:rK.array(rK.unknown()).optional()}).catchall(rK.unknown()),a2=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),a5=rK.object({inputTokens:rK.number().nullish(),outputTokens:rK.number().nullish(),totalTokens:rK.number().nullish()}),a4=rK.object({images:rK.array(rK.string()),warnings:rK.array(a2).optional(),providerMetadata:rK.record(rK.string(),a1).optional(),usage:a5.optional()}),a6=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(e){var t,r;let{headers:a,abortSignal:n}=e,o=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:s,value:i}=await rj({url:this.getUrl(),headers:tn(o,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(e),successfulResponseHandler:async({response:e,url:t,requestBodyValues:r})=>{if(null==e.body)throw new eO({message:"SSE response body is empty",url:t,requestBodyValues:r,statusCode:e.status});let a=rI({stream:e.body,schema:ne}).getReader(),{done:n,value:o}=await a.read();if(a.releaseLock(),n||!o)throw new eO({message:"SSE stream ended without a data event",url:t,requestBodyValues:r,statusCode:e.status});if(!o.success)throw new eO({message:"Failed to parse video SSE event",cause:o.error,url:t,requestBodyValues:r,statusCode:e.status});let s=o.value;if("error"===s.type)throw new eO({message:s.message,statusCode:s.statusCode,url:t,requestBodyValues:r,responseHeaders:Object.fromEntries([...e.headers]),responseBody:JSON.stringify(s),data:{error:{message:s.message,type:s.errorType,param:s.param}}});return{value:{videos:s.videos,warnings:s.warnings,providerMetadata:s.providerMetadata},responseHeaders:Object.fromEntries([...e.headers])}},failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{videos:i.videos,warnings:null!=(t=i.warnings)?t:[],providerMetadata:null!=(r=i.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:s}}}catch(e){throw await a_(e,await aS(null!=o?o:{}))}}async handleWebhookOption({webhook:e}){let{url:t,received:r}=await e();return{webhookUrl:t,received:r}}async doStart(e){var t,r;let{headers:a,abortSignal:n,webhookUrl:o}=e,s=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:i,value:l}=await rj({url:this.getStartUrl(),headers:tn(s,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{...this.buildRequestBody(e),...o&&{callbackUrl:o}},successfulResponseHandler:rC(nt),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{operation:l.operation,warnings:null!=(t=l.warnings)?t:[],providerMetadata:null!=(r=l.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:i}}}catch(e){throw await a_(e,await aS(null!=s?s:{}))}}async doStatus({operation:e,abortSignal:t,headers:r}){var a,n,o,s,i,l;let u=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:d,value:c}=await rj({url:this.getStatusUrl(),headers:tn(u,null!=r?r:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{operation:e},successfulResponseHandler:rC(nr),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...t&&{abortSignal:t},fetch:this.config.fetch}),p={timestamp:new Date,modelId:this.modelId,headers:d};if("completed"===c.status)return{status:"completed",videos:c.videos,warnings:null!=(a=c.warnings)?a:[],providerMetadata:null!=(n=c.providerMetadata)?n:void 0,response:p};if("error"===c.status)return{status:"error",error:c.error,providerMetadata:null!=(o=c.providerMetadata)?o:void 0,response:p};if("cancelled"===c.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(s=c.providerMetadata)?s:void 0,response:p};return{status:"pending",warnings:null!=(i=c.warnings)?i:[],providerMetadata:null!=(l=c.providerMetadata)?l:void 0,response:p}}catch(e){throw await a_(e,await aS(null!=u?u:{}))}}buildRequestBody({prompt:e,n:t,aspectRatio:r,resolution:a,duration:n,fps:o,seed:s,generateAudio:i,image:l,frameImages:u,inputReferences:d,providerOptions:c}){return{prompt:e,n:t,...r&&{aspectRatio:r},...a&&{resolution:a},...n&&{duration:n},...o&&{fps:o},...s&&{seed:s},...void 0!==i&&{generateAudio:i},...c&&{providerOptions:c},...l&&{image:a9(l)},...u&&{frameImages:u.map(e=>({...e,image:a9(e.image)}))},...d&&{inputReferences:d.map(e=>a9(e))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function a9(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:tp(e.data)}:e}var a3=rK.object({videos:rK.array(rK.unknown()).optional()}).catchall(rK.unknown()),a7=rK.union([rK.object({type:rK.literal("url"),url:rK.string(),mediaType:rK.string()}),rK.object({type:rK.literal("base64"),data:rK.string(),mediaType:rK.string()})]),a8=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),ne=rK.discriminatedUnion("type",[rK.object({type:rK.literal("result"),videos:rK.array(a7),warnings:rK.array(a8).optional(),providerMetadata:rK.record(rK.string(),a3).optional()}),rK.object({type:rK.literal("error"),message:rK.string(),errorType:rK.string(),statusCode:rK.number(),param:rK.unknown().nullable()})]),nt=rK.object({operation:rK.unknown(),warnings:rK.array(a8).nullish(),providerMetadata:rK.record(rK.string(),a3).nullish()}),nr=rK.discriminatedUnion("status",[rK.object({status:rK.literal("pending"),warnings:rK.array(a8).nullish(),providerMetadata:rK.record(rK.string(),a3).nullish()}),rK.object({status:rK.literal("completed"),videos:rK.array(a7),warnings:rK.array(a8).nullish(),providerMetadata:rK.record(rK.string(),a3).nullish()}),rK.object({status:rK.literal("error"),error:rK.string(),providerMetadata:rK.record(rK.string(),a3).nullish()}),rK.object({status:rK.literal("cancelled"),providerMetadata:rK.record(rK.string(),a3).nullish()})]),na=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:e,query:t,topN:r,headers:a,abortSignal:n,providerOptions:o}){var s;let i=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:l,value:u,rawValue:d}=await rj({url:this.getUrl(),headers:tn(i,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{documents:e,query:t,...null!=r?{topN:r}:{},...o?{providerOptions:o}:{}},successfulResponseHandler:rC(no),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{ranking:u.ranking,providerMetadata:u.providerMetadata,response:{headers:l,body:d},warnings:null!=(s=u.warnings)?s:[]}}catch(e){throw await a_(e,await aS(null!=i?i:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},nn=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),no=rg(()=>rv(rK.object({ranking:rK.array(rK.object({index:rK.number(),relevanceScore:rK.number()})),warnings:rK.array(nn).optional(),providerMetadata:rK.record(rK.string(),rK.record(rK.string(),rK.unknown())).optional()}))),ns=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:e,voice:t,outputFormat:r,instructions:a,speed:n,language:o,providerOptions:s,headers:i,abortSignal:l}){var u;let d=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:c,value:p,rawValue:h}=await rj({url:this.getUrl(),headers:tn(d,null!=i?i:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...r&&{outputFormat:r},...a&&{instructions:a},...null!=n&&{speed:n},...o&&{language:o},...s&&{providerOptions:s}},successfulResponseHandler:rC(nu),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...l&&{abortSignal:l},fetch:this.config.fetch});return{audio:p.audio,warnings:null!=(u=p.warnings)?u:[],providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:c,body:h}}}catch(e){throw await a_(e,await aS(null!=d?d:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},ni=rK.object({}).catchall(rK.unknown()),nl=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),nu=rK.object({audio:rK.string(),warnings:rK.array(nl).optional(),providerMetadata:rK.record(rK.string(),ni).optional()}),nd=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:e,mediaType:t,providerOptions:r,headers:a,abortSignal:n}){var o,s,i,l;let u=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:d,value:c,rawValue:p}=await rj({url:this.getUrl(),headers:tn(u,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?tp(e):e,mediaType:t,...r&&{providerOptions:r}},successfulResponseHandler:rC(nm),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{text:c.text,segments:null!=(o=c.segments)?o:[],language:null!=(s=c.language)?s:void 0,durationInSeconds:null!=(i=c.durationInSeconds)?i:void 0,warnings:null!=(l=c.warnings)?l:[],providerMetadata:c.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d,body:p}}}catch(e){throw await a_(e,await aS(null!=u?u:{}))}}async doStream(e){var t,r,a,n,o;let s,i,l,u=null!=(a=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?a:new Date,d=tn(await rM(null!=(n=this.config.headers)?n:{}),null!=(o=e.headers)?o:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),c=await aS(d),p={type:"transcription-stream.start",inputAudioFormat:e.inputAudioFormat,...null!=e.providerOptions&&{providerOptions:e.providerOptions},...null!=e.includeRawChunks&&{includeRawChunks:e.includeRawChunks}};return{stream:function({webSocket:e,url:t,protocols:r,headers:a,startFrame:n,audio:o,abortSignal:s,authMethod:i}){let l=!1,u=()=>{};return new ReadableStream({start:d=>{let c,p,h,m=!1,g=!1;u=e=>{null!=c?c.cancel().catch(()=>{}):o.cancel().catch(()=>{}),null==h||h.close(e)};let f=e=>{l||(l=!0,u(),ng(d,e,i))},y=async e=>{let t=o.getReader();c=t;try{for(;;){let{done:r,value:a}=await t.read();if(r||l)break;let n="string"==typeof a?function(e){let t=tc(e.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(t,e=>e.codePointAt(0))}(a):a;for(let t=0;t<n.length&&!l;t+=65536)e.send(n.subarray(t,t+65536)),await tu(e)}}finally{t.releaseLock(),c===t&&(c=void 0)}l||g||e.send(JSON.stringify({type:"transcription-stream.audio-done"}))};h=function({url:e,protocols:t,headers:r,webSocket:a,abortSignal:n,onOpen:o,onMessageText:s,onProcessingError:i,onSocketError:l,onClose:u,onAbort:d}){var c,p;let h,m,g=e=>{null!=m&&(null==n||n.removeEventListener("abort",m),m=void 0);try{null==h||h.close(e)}catch(e){}};if(null==n?void 0:n.aborted)return null==d||d(null!=(c=n.reason)?c:Error("Aborted")),{socket:void 0,close:g};try{h=new(function(e){let t=null!=e?e:globalThis.WebSocket;if(null==t)throw Error("No WebSocket implementation available.");return t}(a))(e,t,{headers:(p=null!=r?r:{},Object.fromEntries(Object.entries(p).filter(([e,t])=>null!=t)))})}catch(e){return i(e),{socket:void 0,close:g}}null!=n&&null!=d&&(m=()=>{var e;return d(null!=(e=n.reason)?e:Error("Aborted"))},n.addEventListener("abort",m,{once:!0}));let f=h;h.onopen=()=>{try{null==o||o(f)}catch(e){i(e)}};let y=Promise.resolve();return h.onmessage=e=>{y=y.then(()=>tl(e.data)).then(e=>s(e)).catch(i)},h.onerror=()=>{y=y.then(()=>null==l?void 0:l()).catch(i)},h.onclose=e=>{let t="number"==typeof(null==e?void 0:e.code)?e.code:void 0,r="string"==typeof(null==e?void 0:e.reason)?e.reason:void 0;y=y.then(()=>null==u?void 0:u({code:t,reason:r})).catch(i)},{socket:h,close:g}}({url:t,protocols:r,headers:a,webSocket:e,abortSignal:s,onAbort:e=>{l||(l=!0,u(),d.error(e))},onProcessingError:f,onOpen:e=>{e.send(JSON.stringify(n)),y(e).catch(f)},onMessageText:e=>{if(l)return;let t=function(e){let t;try{t=tW(e)}catch(e){return}if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t;switch(r.type){case"stream-start":return Array.isArray(r.warnings)&&r.warnings.every(rz)?r:void 0;case"transcript-delta":return rL(r.delta)&&rB(r.id,rL)&&rB(r.providerMetadata,tz)?r:void 0;case"transcript-partial":return rL(r.text)&&rB(r.id,rL)&&rB(r.startSecond,rq)&&rB(r.durationInSeconds,rq)&&rB(r.channelIndex,rq)&&rB(r.providerMetadata,tz)?r:void 0;case"transcript-final":return rL(r.text)&&rB(r.id,rL)&&rB(r.startSecond,rq)&&rB(r.endSecond,rq)&&rB(r.channelIndex,rq)&&rB(r.providerMetadata,tz)?r:void 0;case"finish":return rL(r.text)&&Array.isArray(r.segments)&&r.segments.every(rH)&&rB(r.language,rL)&&rB(r.durationInSeconds,rq)&&rB(r.providerMetadata,tz)?r:void 0;case"response-metadata":{if(!(rB(r.modelId,rL)&&rB(r.headers,tz)))return;let e=r.timestamp;if(null==e)return{...r,timestamp:void 0};if("string"!=typeof e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:{...r,timestamp:t}}case"raw":return"rawValue"in r?r:void 0;case"error":return"error"in r?r:void 0;default:return}}(e);if(null!=t){if("finish"===t.type){l=!0,d.enqueue(t),d.close(),u(1e3);return}"error"===t.type&&(m=!0,p=t.error,g=!0,null!=c?(c.cancel().catch(()=>{}),c=void 0):o.cancel().catch(()=>{})),d.enqueue(t)}},onSocketError:()=>{f(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(m){if(l)return;ny(p,i).then(f);return}f(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{l||(l=!0,u())}})}({webSocket:this.config.webSocket,url:nc(this.config.baseURL,this.modelId),protocols:null==(l=(null==(i=(s=tw(d)).authorization)?void 0:i.startsWith("Bearer "))?i.slice(7):void 0)?[rY]:rW(rY,l,{teamIdOrSlug:s[aE]}),headers:d,startFrame:p,audio:e.audio,abortSignal:e.abortSignal,authMethod:c}),request:{body:p},response:{timestamp:u,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function nc(e,t){let r=new URL(`${e.replace(/^http/,"ws")}/transcription-model`);return r.searchParams.set("ai-model-id",t),r.toString()}var np=rK.object({}).catchall(rK.unknown()),nh=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),nm=rK.object({text:rK.string(),segments:rK.array(rK.object({text:rK.string(),startSecond:rK.number(),endSecond:rK.number()})).optional(),language:rK.string().nullish(),durationInSeconds:rK.number().nullish(),warnings:rK.array(nh).optional(),providerMetadata:rK.record(rK.string(),np).optional()});async function ng(e,t,r){e.error(await a_(t,r))}var nf={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 ny(e,t){return"object"==typeof e&&null!=e&&"message"in e&&"string"==typeof e.message&&"type"in e&&"string"==typeof e.type&&e.type in nf?av({response:{error:{message:e.message,type:e.type}},statusCode:nf[e.type],authMethod:t}):Error(`AI Gateway transcription stream failed: ${null!=e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message?e.message:eU(e)}`)}var nv=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t,r;let a,n=await this.config.createClientSecret({modelId:this.modelId,...(null==e?void 0:e.expiresAfterSeconds)!=null&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:n.token,url:(t=this.config.baseURL,r=this.modelId,(a=new URL(`${t.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",r),a.toString()),...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}getWebSocketConfig(e){return{url:e.url,protocols:rW("ai-gateway-realtime.v1",e.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(e){return e}serializeClientEvent(e){return e}buildSessionConfig(e){return e}},nb=rS({id:"gateway.exa_search",inputSchema:rg(()=>rv(rK.object({query:rK.string().describe("Natural-language web search query. This is required."),type:rK.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:rK.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:rK.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:rK.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:rK.array(rK.string()).optional().describe("Only return results from these domains."),exclude_domains:rK.array(rK.string()).optional().describe("Exclude results from these domains."),start_published_date:rK.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:rK.string().optional().describe("Only return links published before this ISO 8601 date."),contents:rK.object({text:rK.union([rK.boolean(),rK.object({max_characters:rK.number().optional(),include_html_tags:rK.boolean().optional(),verbosity:rK.enum(["compact","standard","full"]).optional(),include_sections:rK.array(rK.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:rK.array(rK.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:rK.union([rK.boolean(),rK.object({query:rK.string().optional(),max_characters:rK.number().optional()})]).optional(),max_age_hours:rK.number().optional(),livecrawl_timeout:rK.number().optional(),subpages:rK.number().optional(),subpage_target:rK.union([rK.string(),rK.array(rK.string())]).optional(),extras:rK.object({links:rK.number().optional(),image_links:rK.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:rg(()=>rv(rK.union([rK.object({requestId:rK.string(),searchType:rK.string().optional(),resolvedSearchType:rK.string().optional(),results:rK.array(rK.object({title:rK.string(),url:rK.string(),id:rK.string(),publishedDate:rK.string().nullable().optional(),author:rK.string().nullable().optional(),image:rK.string().nullable().optional(),favicon:rK.string().nullable().optional(),text:rK.string().optional(),highlights:rK.array(rK.string()).optional(),highlightScores:rK.array(rK.number()).optional(),summary:rK.string().optional(),subpages:rK.array(rK.any()).optional(),extras:rK.object({links:rK.array(rK.string()).optional(),imageLinks:rK.array(rK.string()).optional()}).optional()})),costDollars:rK.object({total:rK.number().optional(),search:rK.record(rK.string(),rK.number()).optional()}).optional()}),rK.object({error:rK.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nw=rS({id:"gateway.parallel_search",inputSchema:rg(()=>rv(rK.object({objective:rK.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:rK.array(rK.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:rK.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:rK.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:rK.object({include_domains:rK.array(rK.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:rK.array(rK.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:rK.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:rK.object({max_chars_per_result:rK.number().optional().describe("Maximum characters per result."),max_chars_total:rK.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:rK.object({max_age_seconds:rK.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:rg(()=>rv(rK.union([rK.object({searchId:rK.string(),results:rK.array(rK.object({url:rK.string(),title:rK.string(),excerpt:rK.string(),publishDate:rK.string().nullable().optional(),relevanceScore:rK.number().optional()}))}),rK.object({error:rK.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nx=rS({id:"gateway.perplexity_search",inputSchema:rg(()=>rv(rK.object({query:rK.union([rK.string(),rK.array(rK.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:rK.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:rK.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:rK.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:rK.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:rK.array(rK.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:rK.array(rK.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:rK.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:rK.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:rK.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:rK.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:rK.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:rg(()=>rv(rK.union([rK.object({results:rK.array(rK.object({title:rK.string(),url:rK.string(),snippet:rK.string(),date:rK.string().optional(),lastUpdated:rK.string().optional()})),id:rK.string()}),rK.object({error:rK.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nk=rK.object({count:rK.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:rK.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:rK.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:rK.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:rK.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:rK.array(rK.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:rK.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),nI=rK.object({count:rK.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:rK.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:rK.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:rK.array(rK.string()).optional().describe("Only return results from these bare domains."),exclude_domains:rK.array(rK.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:rK.number().optional().describe("Maximum characters in each web-result snippet."),highlights:rK.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:rK.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:rK.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:rK.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),n_=rg(()=>rv(rK.object({query:rK.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:rK.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:rK.object({data:nk.optional(),web:nI.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:rK.object({latitude:rK.number().describe("Latitude between -90 and 90."),longitude:rK.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:rK.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:rK.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:rK.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:rK.object({image_dark_mode:rK.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:rK.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:rK.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),nj=rK.union([rK.boolean(),rK.number(),rK.string()]).nullable(),nE=rK.object({content_format:rK.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:rK.number().optional(),data:rK.string().nullish(),records:rK.array(rK.record(rK.string(),nj)).nullish(),dataset:rK.object({columns:rK.array(rK.object({name:rK.string(),type:rK.enum(["boolean","date","datetime","number","string"]),unit:rK.string().nullish()})),rows:rK.array(rK.array(nj)),total_rows:rK.number(),truncated:rK.boolean(),ref:rK.string(),sources:rK.array(rK.object({name:rK.string(),index:rK.enum(["data","web"]).optional()})),provenance:rK.enum(["query","web_extraction"]).optional()}).nullish(),card_data:rK.object({}).passthrough().nullish(),card_data_schema:rK.object({}).passthrough().nullish(),url:rK.string().nullish(),expires_at:rK.string().nullish(),total_rows:rK.number().nullish(),truncated:rK.boolean().optional(),export_pricing:rK.object({baseline_usd:rK.number(),free_rows:rK.number(),max_rows_ceiling:rK.number(),row_cpm_usd:rK.number()}).nullish(),manifest:rK.array(rK.object({dtype:rK.enum(["boolean","date","datetime","number","string"]).nullish(),entity:rK.string().nullish(),metric:rK.string().nullish(),name:rK.string().nullish(),unit:rK.string().nullish()})).nullish()}).passthrough(),nS=rK.object({card_id:rK.string().nullish(),title:rK.string().nullish(),description:rK.string().nullish(),semantic_description:rK.string().nullish(),webpage_url:rK.string().nullish(),image_url:rK.string().nullish(),embed_url:rK.string().nullish(),sources:rK.array(rK.object({source_name:rK.string().nullish(),source_description:rK.string().nullish(),source_index:rK.enum(["data","web"]),source_text:rK.string().nullish(),url:rK.string().nullish()})).nullish(),methodologies:rK.array(rK.object({methodology_name:rK.string().nullable(),methodology_description:rK.string().nullable()})).nullish(),source_indexes:rK.array(rK.enum(["data","web"])).nullish(),card_type:rK.string().nullish(),relevance:rK.enum(["High","Low","Medium"]).nullish(),content:nE.nullish(),exportable:rK.boolean().optional(),nodes:rK.array(rK.object({id:rK.string(),type:rK.enum(["entity","metric"]),name:rK.string(),description:rK.string().nullish()})).nullish(),metric_definitions:rK.array(rK.object({name:rK.string(),definition:rK.string()})).nullish(),data_freshness:rK.object({coverage_end:rK.string().nullish(),data_as_of:rK.string().nullish(),last_updated:rK.string().nullish()}).nullish()}).passthrough(),nM=rK.object({title:rK.string(),url:rK.string(),snippet:rK.string().nullish(),source_name:rK.string().nullish(),publish_date:rK.string().nullish(),content:nE.nullish()}).passthrough(),nA=rS({id:"gateway.tako_search",inputSchema:n_,outputSchema:rg(()=>rv(rK.union([rK.object({request_id:rK.string(),cards:rK.array(nS).optional(),web_results:rK.array(nM).optional(),usage:rK.object({total_cost_usd:rK.number(),compute:rK.object({cost_usd:rK.number()}).nullish(),data:rK.object({cost_usd:rK.number(),datasets:rK.number()}).nullish()}).nullish(),related:rK.array(rK.object({}).passthrough()).nullish()}).passthrough(),rK.object({error:rK.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nT={exaSearch:(e={})=>nb(e),parallelSearch:(e={})=>nw(e),perplexitySearch:(e={})=>nx(e),takoSearch:(e={})=>nA(e)};async function nR(){var e;return null==(e=(0,rG.getContext)().headers)?void 0:e["x-vercel-id"]}var nC=rK.object({token:rK.string(),expiresAt:rK.number().nullish()});async function nO(e){let t=tH({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await (0,rG.getVercelOidcToken)(),authMethod:"oidc"}}!function(e={}){var t,r,a;let n=null,o=null,s=null!=(t=e.metadataCacheRefreshMillis)?t:3e5,i=0,l=null!=(r=null==(a=e.baseURL)?void 0:a.replace(/\/$/,""))?r:"https://ai-gateway.vercel.sh/v4/ai",u=t=>tx({Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":"0.0.1",[aj]:t.authMethod,...null!=e.teamIdOrSlug?{[aE]:e.teamIdOrSlug}:{},...e.headers},"ai-sdk/gateway/4.0.75"),d=async()=>{try{return u(await nO(e))}catch(e){throw r1.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},c=async()=>{try{return await nO(e)}catch(e){throw r1.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},p=async t=>{if(void 0!==globalThis.window)throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() or gateway.experimental_transcription.getToken() from your server and pass the returned token to the client.");let r=u(await c()),a=new URL("/v1/realtime/client-secrets",l).toString();try{let{value:n}=await rj({url:a,headers:r,body:{model:t.modelId,...null!=t.routeKind&&{routeKind:t.routeKind},...null!=t.expiresAfterSeconds&&{expiresIn:t.expiresAfterSeconds}},successfulResponseHandler:rC(nC),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:e.fetch});return{token:n.token,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}catch(e){throw await a_(e,await aS(r))}},h=()=>{let e=tH({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),t=tH({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),r=tH({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),a=tH({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let n=await nR();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...r&&{"ai-o11y-region":r},...n&&{"ai-o11y-request-id":n},...a&&{"ai-o11y-project-id":a}}}},m=t=>new aF(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()}),g=async()=>{var t,r,a;let u=null!=(a=null==(r=null==(t=e._internal)?void 0:t.currentDate)?void 0:r.call(t).getTime())?a:Date.now();return(!n||u-i>s)&&(i=u,n=new aT({baseURL:l,headers:d,fetch:e.fetch}).getAvailableModels().then(e=>(o=e,e)).catch(async e=>{throw await a_(e,await aS(await d()))})),o?Promise.resolve(o):n},f=async()=>new aT({baseURL:l,headers:d,fetch:e.fetch}).getCredits().catch(async e=>{throw await a_(e,await aS(await d()))}),y=async t=>new aO({baseURL:l,headers:d,fetch:e.fetch}).getSpendReport(t).catch(async e=>{throw await a_(e,await aS(await d()))}),v=async t=>new aP({baseURL:l,headers:d,fetch:e.fetch}).getGenerationInfo(t).catch(async e=>{throw await a_(e,await aS(await d()))}),b=function(e){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return m(e)};b.specificationVersion="v4",b.getAvailableModels=g,b.getCredits=f,b.getSpendReport=y,b.getGenerationInfo=v,b.imageModel=t=>new aQ(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()}),b.languageModel=m;let w=t=>new aK(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});b.embeddingModel=w,b.textEmbeddingModel=w,b.videoModel=t=>new a6(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});let x=t=>new na(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});b.rerankingModel=x,b.reranking=x;let k=t=>new ns(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});b.speechModel=k,b.speech=k;let I=t=>new nd(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h(),webSocket:e.webSocket});b.transcriptionModel=I,b.transcription=I,b.experimental_transcription=Object.assign(e=>I(e),{getToken:async e=>{let t=await p({modelId:e.model,routeKind:"transcription",...null!=e.expiresAfterSeconds&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:t.token,url:nc(l,e.model),...null!=t.expiresAt&&{expiresAt:t.expiresAt}}}});let _=t=>new nv(t,{provider:"gateway.realtime",baseURL:l,teamIdOrSlug:e.teamIdOrSlug,createClientSecret:p});b.experimental_realtime=Object.assign(e=>_(e),{getToken:async e=>{let{model:t,...r}=e,a=_(t),n=await a.doCreateClientSecret(r);return{token:n.token,url:n.url,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}}),b.chat=b.languageModel,b.embedding=b.embeddingModel,b.image=b.imageModel,b.video=b.videoModel,b.tools=nT}();var nN=Object.defineProperty,nP="AI_InvalidArgumentError",n$=`vercel.ai.error.${nP}`,nD=Symbol.for(n$),nU=class extends(z=eA,B=nD,z){constructor({parameter:e,value:t,message:r}){super({name:nP,message:`Invalid argument for parameter ${e}: ${r}`}),this[B]=!0,this.parameter=e,this.value=t}static isInstance(e){return eA.hasMarker(e,n$)}},nF=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 nL="AI_NoObjectGeneratedError",nq=`vercel.ai.error.${nL}`,nB=Symbol.for(nq),nz=class extends(V=eA,H=nB,V){constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:n,finishReason:o}){super({name:nL,message:e,cause:t}),this[H]=!0,this.text=r,this.response=a,this.usage=n,this.finishReason=o}static isInstance(e){return eA.hasMarker(e,nq)}},nH=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 nV="AI_UIMessageStreamError",nZ=`vercel.ai.error.${nV}`,nG=Symbol.for(nZ),nY=class extends(G=eA,Z=nG,G){constructor({chunkType:e,chunkId:t,message:r}){super({name:nV,message:r}),this[Z]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return eA.hasMarker(e,nZ)}},nW=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 nK=async({url:e,maxBytes:t,abortSignal:r})=>{var a;let n=e.toString();try{let e=tx({},"ai-sdk/7.0.93",tm()),o=await tU({url:n,headers:e,abortSignal:r});if(!o.ok)throw await tk(o),new tE({url:n,statusCode:o.status,statusText:o.statusText});return{data:await tF({response:o,url:n,maxBytes:null!=t?t:0x80000000}),mediaType:null!=(a=o.headers.get("content-type"))?a:void 0}}catch(e){if(tE.isInstance(e))throw e;throw new tE({url:n,cause:e})}},nJ={array:rZ.array,boolean:rZ.boolean,custom:rZ.custom,discriminatedUnion:rZ.discriminatedUnion,enum:rZ.enum,instanceof:rZ.instanceof,lazy:rZ.lazy,literal:rZ.literal,looseObject:rZ.looseObject,never:rZ.never,null:rZ.null,number:rZ.number,object:rZ.object,record:rZ.record,string:rZ.string,union:rZ.union,unknown:rZ.unknown},nX=nJ.lazy(()=>nJ.union([nJ.null(),nJ.string(),nJ.number(),nJ.boolean(),nJ.record(nJ.string(),nX.optional()),nJ.array(nX)])),nQ=nJ.record(nJ.string(),nJ.record(nJ.string(),nX.optional())),n0=nJ.union([nJ.string(),nJ.instanceof(Uint8Array),nJ.instanceof(ArrayBuffer),nJ.custom(function(e){var t,r;return null!=(r=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&r},{message:"Must be a Buffer"})]),n1=nJ.record(nJ.string(),nJ.string()),n2=nJ.object({type:nJ.literal("text"),text:nJ.string(),providerOptions:nQ.optional()}),n5=nJ.object({type:nJ.literal("image"),image:nJ.union([n0,nJ.instanceof(URL),n1]),mediaType:nJ.string().optional(),providerOptions:nQ.optional()}),n4=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("data"),data:n0}),nJ.object({type:nJ.literal("url"),url:nJ.instanceof(URL)}),nJ.object({type:nJ.literal("reference"),reference:n1}),nJ.object({type:nJ.literal("text"),text:nJ.string()})]),n6=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("data"),data:n0}),nJ.object({type:nJ.literal("url"),url:nJ.instanceof(URL)})]),n9=nJ.object({type:nJ.literal("file"),data:nJ.union([n4,n0,nJ.instanceof(URL),n1]),filename:nJ.string().optional(),mediaType:nJ.string(),providerOptions:nQ.optional()}),n3=nJ.object({type:nJ.literal("reasoning"),text:nJ.string(),providerOptions:nQ.optional()}),n7=nJ.object({type:nJ.literal("custom"),kind:nJ.string().transform(e=>e),providerOptions:nQ.optional()}),n8=nJ.object({type:nJ.literal("reasoning-file"),data:nJ.union([n6,n0,nJ.instanceof(URL)]),mediaType:nJ.string(),providerOptions:nQ.optional()}),oe=nJ.object({type:nJ.literal("tool-call"),toolCallId:nJ.string(),toolName:nJ.string(),input:nJ.unknown(),providerOptions:nQ.optional(),providerExecuted:nJ.boolean().optional()}),ot=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("text"),value:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("json"),value:nX,providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("execution-denied"),reason:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("error-text"),value:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("error-json"),value:nX,providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("content"),value:nJ.array(nJ.union([nJ.object({type:nJ.literal("text"),text:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file"),data:n4,mediaType:nJ.string(),filename:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-data"),data:nJ.string(),mediaType:nJ.string(),filename:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-url"),url:nJ.string(),mediaType:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-id"),fileId:nJ.union([nJ.string(),nJ.record(nJ.string(),nJ.string())]),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-reference"),providerReference:nJ.record(nJ.string(),nJ.string()),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-data"),data:nJ.string(),mediaType:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-url"),url:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-file-id"),fileId:nJ.union([nJ.string(),nJ.record(nJ.string(),nJ.string())]),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-file-reference"),providerReference:nJ.record(nJ.string(),nJ.string()),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("custom"),providerOptions:nQ.optional()})]))})]),or=nJ.object({type:nJ.literal("tool-result"),toolCallId:nJ.string(),toolName:nJ.string(),output:ot,providerOptions:nQ.optional()}),oa=nJ.object({type:nJ.literal("tool-approval-request"),approvalId:nJ.string(),toolCallId:nJ.string(),reason:nJ.string().optional()}),on=nJ.object({type:nJ.literal("tool-approval-response"),approvalId:nJ.string(),approved:nJ.boolean(),reason:nJ.string().optional()}),oo=nJ.object({role:nJ.literal("system"),content:nJ.string(),providerOptions:nQ.optional()}),os=nJ.object({role:nJ.literal("user"),content:nJ.union([nJ.string(),nJ.array(nJ.union([n2,n5,n9]))]),providerOptions:nQ.optional()}),oi=nJ.object({role:nJ.literal("assistant"),content:nJ.union([nJ.string(),nJ.array(nJ.union([n2,n7,n9,n3,n8,oe,or,oa]))]),providerOptions:nQ.optional()}),ol=nJ.object({role:nJ.literal("tool"),content:nJ.array(nJ.union([or,on])),providerOptions:nQ.optional()});nJ.union([oo,os,oi,ol]);var ou={},od={array:()=>og,choice:()=>ov,json:()=>ob,object:()=>om,text:()=>oh};for(var oc in od)nN(ou,oc,{get:od[oc],enumerable:!0});async function op(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await rk({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await rk({text:function(e){let t=["ROOT"],r=-1,a=null,n=0;function o(e,n,o){switch(e){case'"':r=n,t.pop(),t.push(o),t.push("INSIDE_STRING");break;case"f":case"t":case"n":r=n,a=n,t.pop(),t.push(o),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r=n,t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"{":r=n,t.pop(),t.push(o),t.push("INSIDE_OBJECT_START");break;case"[":r=n,t.pop(),t.push(o),t.push("INSIDE_ARRAY_START")}}function s(e,a){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":r=a,t.pop()}}function i(e,a){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=a,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case"ROOT":o(u,l,"FINISH");break;case"INSIDE_OBJECT_START":switch(u){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":r=l,t.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===u&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":o(u,l,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":s(u,l);break;case"INSIDE_STRING":switch(u){case'"':t.pop(),r=l;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:r=l}break;case"INSIDE_ARRAY_START":"]"===u?(r=l,t.pop()):(r=l,o(u,l,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(u){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=l,t.pop();break;default:r=l}break;case"INSIDE_ARRAY_AFTER_COMMA":o(u,l,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),"u"===u?(n=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):r=l;break;case"INSIDE_STRING_UNICODE_ESCAPE":(u>="0"&&u<="9"||u>="A"&&u<="F"||u>="a"&&u<="f")&&4==++n&&(t.pop(),r=l);break;case"INSIDE_NUMBER":switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r=l;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(u,l);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(u,l);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l);break;default:t.pop()}break;case"INSIDE_LITERAL":{let n=e.substring(a,l+1);"false".startsWith(n)||"true".startsWith(n)||"null".startsWith(n)?r=l:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?s(u,l):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l))}}}let l=e.slice(0,r+1);for(let r=t.length-1;r>=0;r--)switch(t[r]){case"INSIDE_STRING":l+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":l+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":l+="]";break;case"INSIDE_LITERAL":{let t=e.substring(a,e.length);"true".startsWith(t)?l+="true".slice(t.length):"false".startsWith(t)?l+="false".slice(t.length):"null".startsWith(t)&&(l+="null".slice(t.length))}}return l}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var oh=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:e})=>e,parsePartialOutput:async({text:e})=>({partial:e}),createElementStreamTransform(){}}),om=({schema:e,name:t,description:r})=>{let a=ry(e);return{name:"object",responseFormat:rM(a.jsonSchema).then(e=>({type:"json",schema:e,...null!=t&&{name:t},...null!=r&&{description:r}})),async parseCompleteOutput({text:e},t){let r=await rk({text:e});if(!r.success)throw new nz({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let n=await rw({value:r.value,schema:a});if(!n.success)throw new nz({message:"No object generated: response did not match schema.",cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await op(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value}}},createElementStreamTransform(){}}},og=({element:e,minItems:t,maxItems:r,name:a,description:n})=>{if(of({name:"minItems",value:t}),of({name:"maxItems",value:r}),null!=t&&null!=r&&t>r)throw new nU({parameter:"minItems",value:t,message:"minItems must be less than or equal to maxItems"});let o=ry(e);return{name:"array",responseFormat:rM(o.jsonSchema).then(e=>{let{$schema:o,definitions:s,$defs:i,...l}=e;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=s&&{definitions:s},...null!=i&&{$defs:i},type:"object",properties:{elements:{type:"array",items:l,...null!=t&&{minItems:t},...null!=r&&{maxItems:r}}},required:["elements"],additionalProperties:!1},...null!=a&&{name:a},...null!=n&&{description:n}}}),async parseCompleteOutput({text:e},a){let n=await rk({text:e});if(!n.success)throw new nz({message:"No object generated: could not parse the response.",cause:n.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let s=n.value;if(null==s||"object"!=typeof s||!("elements"in s)||!Array.isArray(s.elements))throw new nz({message:"No object generated: response did not match schema.",cause:new e5({value:s,cause:"response must be an object with an elements array"}),text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let i=oy({value:s.elements,minItems:t,maxItems:r});if(null!=i)throw new nz({message:"No object generated: response did not match schema.",cause:i,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let l=[];for(let t of s.elements){let r=await rw({value:t,schema:o});if(!r.success)throw new nz({message:"No object generated: response did not match schema.",cause:r.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});l.push(r.value)}return l},async parsePartialOutput({text:e}){let t=await op(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let e=t.value;if(null==e||"object"!=typeof e||!("elements"in e)||!Array.isArray(e.elements))return;let r="repaired-parse"===t.state&&e.elements.length>0?e.elements.slice(0,-1):e.elements,a=[];for(let e of r){let t=await rw({value:e,schema:o});t.success&&a.push(t.value)}return{partial:a}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},a){if(null!=t)for(;e<t.length;e++){if(null!=r&&e>=r)return void a.error(oy({value:t,maxItems:r}));a.enqueue(t[e])}}})}}};function of({name:e,value:t}){if(null!=t){if(!Number.isInteger(t))throw new nU({parameter:e,value:t,message:`${e} must be an integer`});if(t<0)throw new nU({parameter:e,value:t,message:`${e} must be greater than or equal to 0`})}}function oy({value:e,minItems:t,maxItems:r}){return null!=t&&e.length<t?new e5({value:e,cause:`elements array must contain at least ${t} items`}):null!=r&&e.length>r?new e5({value:e,cause:`elements array must contain at most ${r} items`}):void 0}var ov=({options:e,name:t,description:r})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...null!=t&&{name:t},...null!=r&&{description:r}}),async parseCompleteOutput({text:t},r){let a=await rk({text:t});if(!a.success)throw new nz({message:"No object generated: could not parse the response.",cause:a.error,text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});let n=a.value;if(null==n||"object"!=typeof n||!("result"in n)||"string"!=typeof n.result||!e.includes(n.result))throw new nz({message:"No object generated: response did not match schema.",cause:new e5({value:n,cause:"response must be an object that contains a choice value."}),text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});return n.result},async parsePartialOutput({text:t}){let r=await op(t);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let t=r.value;if(null==t||"object"!=typeof t||!("result"in t)||"string"!=typeof t.result)return;let a=e.filter(e=>e.startsWith(t.result));if("successful-parse"===r.state)return a.includes(t.result)?{partial:t.result}:void 0;return 1===a.length?{partial:a[0]}:void 0}}},createElementStreamTransform(){}}),ob=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=e&&{name:e},...null!=t&&{description:t}}),async parseCompleteOutput({text:e},t){let r=await rk({text:e});if(!r.success)throw new nz({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return r.value},async parsePartialOutput({text:e}){let t=await op(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===t.value?void 0:{partial:t.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,tL({prefix:"aitxt",size:24}),tL({prefix:"call",size:24}),TransformStream;var ow=nJ.record(nJ.string(),nX.optional()),ox=rg(()=>rv(nJ.union([nJ.looseObject({type:nJ.literal("text-start"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("text-delta"),id:nJ.string(),delta:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("text-end"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("error"),errorText:nJ.string()}),nJ.looseObject({type:nJ.literal("tool-input-start"),toolCallId:nJ.string(),toolName:nJ.string(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),title:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-input-delta"),toolCallId:nJ.string(),inputTextDelta:nJ.string()}),nJ.looseObject({type:nJ.literal("tool-input-available"),toolCallId:nJ.string(),toolName:nJ.string(),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),title:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-input-error"),toolCallId:nJ.string(),toolName:nJ.string(),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),errorText:nJ.string(),title:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-approval-request"),approvalId:nJ.string(),toolCallId:nJ.string(),approvalDescriptor:nJ.unknown().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-approval-response"),approvalId:nJ.string(),approved:nJ.boolean(),reason:nJ.string().optional(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("tool-output-available"),toolCallId:nJ.string(),output:nJ.unknown(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),preliminary:nJ.boolean().optional()}),nJ.looseObject({type:nJ.literal("tool-output-error"),toolCallId:nJ.string(),errorText:nJ.string(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional()}),nJ.looseObject({type:nJ.literal("tool-output-denied"),toolCallId:nJ.string()}),nJ.looseObject({type:nJ.literal("reasoning-start"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("reasoning-delta"),id:nJ.string(),delta:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("reasoning-end"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("custom"),kind:nJ.string().transform(e=>e),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("source-url"),sourceId:nJ.string(),url:nJ.string(),title:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("source-document"),sourceId:nJ.string(),mediaType:nJ.string(),title:nJ.string(),filename:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("file"),url:nJ.string(),mediaType:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("reasoning-file"),url:nJ.string(),mediaType:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.custom(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:nJ.string().optional(),data:nJ.unknown(),transient:nJ.boolean().optional()}),nJ.looseObject({type:nJ.literal("start-step")}),nJ.looseObject({type:nJ.literal("finish-step")}),nJ.looseObject({type:nJ.literal("reset-step")}),nJ.looseObject({type:nJ.literal("start"),messageId:nJ.string().optional(),messageMetadata:nJ.unknown().optional()}),nJ.looseObject({type:nJ.literal("finish"),finishReason:nJ.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:nJ.unknown().optional()}),nJ.looseObject({type:nJ.literal("abort"),reason:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("message-metadata"),messageMetadata:nJ.unknown()})])));function ok(){return Object.create(null)}function oI(e){return e.type.startsWith("tool-")}function o_(e){return"dynamic-tool"===e.type}function oj(e){return oI(e)||o_(e)}function oE(e){return e.type.split("-").slice(1).join("-")}function oS(e){return o_(e)?e.toolName:oE(e)}async function oM({stream:e,onError:t,abortSignal:r}){let a=e.getReader(),n=()=>{a.cancel().catch(()=>{})};(null==r?void 0:r.aborted)?n():null==r||r.addEventListener("abort",n,{once:!0});try{for(;;){let{done:e}=await a.read();if(e)break}}catch(e){null==t||t(e)}finally{null==r||r.removeEventListener("abort",n),a.releaseLock()}}tL({prefix:"aitxt",size:24}),tL({prefix:"call",size:24}),tL({prefix:"aitxt",size:24}),tL({prefix:"call",size:24});var oA=nJ.record(nJ.string(),nX.optional()),oT=nJ.record(nJ.string(),nJ.string());function oR(e){return({url:t,abortSignal:r})=>nK({url:t,maxBytes:null==e?void 0:e.maxBytes,abortSignal:r})}rg(()=>rv(nJ.array(nJ.object({id:nJ.string(),role:nJ.enum(["system","user","assistant"]),metadata:nJ.unknown().optional(),parts:nJ.array(nJ.union([nJ.object({type:nJ.literal("text"),text:nJ.string(),state:nJ.enum(["streaming","done"]).optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("reasoning"),id:nJ.string().optional(),text:nJ.string(),state:nJ.enum(["streaming","done"]).optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("custom"),kind:nJ.string(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("source-url"),sourceId:nJ.string(),url:nJ.string(),title:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("source-document"),sourceId:nJ.string(),mediaType:nJ.string(),title:nJ.string(),filename:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("file"),mediaType:nJ.string(),filename:nJ.string().optional(),url:nJ.string(),providerReference:oT.optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("reasoning-file"),mediaType:nJ.string(),url:nJ.string(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("step-start")}),nJ.object({type:nJ.string().startsWith("data-"),id:nJ.string().optional(),data:nJ.unknown()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-streaming"),input:nJ.unknown().optional(),providerExecuted:nJ.boolean().optional(),callProviderMetadata:nQ.optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-available"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-requested"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.never().optional(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.never().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-responded"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.boolean(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-available"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.unknown(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),preliminary:nJ.boolean().optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-error"),input:nJ.unknown().optional(),rawInput:nJ.unknown().optional(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.string(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-denied"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!1),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-streaming"),providerExecuted:nJ.boolean().optional(),callProviderMetadata:nQ.optional(),input:nJ.unknown().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-available"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-requested"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.never().optional(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.never().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-responded"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.boolean(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-available"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown(),output:nJ.unknown(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),preliminary:nJ.boolean().optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-error"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown().optional(),rawInput:nJ.unknown().optional(),output:nJ.never().optional(),errorText:nJ.string(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-denied"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!1),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})})]))}).superRefine((e,t)=>{"assistant"!==e.role&&0===e.parts.length&&t.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:e.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),tL({prefix:"call",size:24}),tL({prefix:"call",size:24}),new TextEncoder,tL({prefix:"aiobj",size:24});var oC=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,r)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){r(e)}}),this.processQueue()})}};tL({prefix:"aiobj",size:24}),oR();Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function oO(e){if(null==e)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async e=>{let{name:t,type:r}=e;return{type:"file",mediaType:r,filename:t,url:await new Promise((t,r)=>{let a=new FileReader;a.onload=e=>{var r;t(null==(r=e.target)?void 0:r.result)},a.onerror=e=>r(e),a.readAsDataURL(e)})}}))}tL({prefix:"call",size:24}),oR();var oN=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:n,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:s}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=n,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=s}async sendMessages({abortSignal:e,...t}){var r,a,n,o;let s=await rM(this.body),i=await rM(this.headers),l=await rM(this.credentials),u={...tw(i),...tw(t.headers)},d=await (null==(r=this.prepareSendMessagesRequest)?void 0:r.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...s,...t.body},headers:u,credentials:l,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),c=null!=(a=null==d?void 0:d.api)?a:this.api,p=(null==d?void 0:d.headers)!==void 0?tw(d.headers):u,h=(null==d?void 0:d.body)!==void 0?d.body:{...s,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},m=null!=(n=null==d?void 0:d.credentials)?n:l,g=null!=(o=this.fetch)?o:globalThis.fetch,f=await g(c,{method:"POST",headers:{"Content-Type":"application/json",...p},body:JSON.stringify(h),credentials:m,signal:e});if(!f.ok)throw Error(await f.text()||"Failed to fetch the chat response.");if(!f.body)throw Error("The response body is empty.");return this.processResponseStream(f.body)}async reconnectToStream(e){var t,r,a,n;let o=await rM(this.body),s=await rM(this.headers),i=await rM(this.credentials),l={...tw(s),...tw(e.headers)},u=await (null==(t=this.prepareReconnectToStreamRequest)?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...o,...e.body},headers:l,credentials:i,requestMetadata:e.metadata})),d=null!=(r=null==u?void 0:u.api)?r:`${this.api}/${e.chatId}/stream`,c=(null==u?void 0:u.headers)!==void 0?tw(u.headers):l,p=null!=(a=null==u?void 0:u.credentials)?a:i,h=null!=(n=this.fetch)?n:globalThis.fetch,m=await h(d,{method:"GET",headers:c,credentials:p,signal:e.abortSignal});if(204===m.status)return null;if(!m.ok)throw Error(await m.text()||"Failed to fetch the chat response.");if(!m.body)throw Error("The response body is empty.");return this.processResponseStream(m.body)}},oP=class extends oN{constructor(e={}){super(e)}processResponseStream(e){return rI({stream:e,schema:ox}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},o$=class{constructor({generateId:e=tq,id:t=e(),transport:r=new oP,messageMetadataSchema:a,dataPartSchemas:n,state:o,onError:s,onToolCall:i,onFinish:l,onData:u,sendAutomaticallyWhen:d}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new oC,this.sendMessage=async(e,t)=>{var r,a,n,o;let s;if(null==e)return void await this.makeRequest({trigger:"submit-message",messageId:null==(r=this.lastMessage)?void 0:r.id,...t});if("text"in e||"files"in e){let t,r=new AbortController;this.pendingMessagePreparations.add(r);try{t=Array.isArray(e.files)?e.files:await oO(e.files)}finally{this.pendingMessagePreparations.delete(r)}if(r.signal.aborted)return;s={parts:[...t,..."text"in e&&null!=e.text?[{type:"text",text:e.text}]:[]]}}else s=e;if(null!=e.messageId){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(-1===t)throw Error(`message with id ${e.messageId} not found`);if("user"!==this.state.messages[t].role)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{id:e.messageId,...s,role:null!=(a=s.role)?a:"user",metadata:e.metadata})}else this.state.pushMessage({...s,id:null!=(n=s.id)?n:this.generateId(),role:null!=(o=s.role)?o:"user",metadata:e.metadata});await this.makeRequest({trigger:"submit-message",messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let r=null==e?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(-1===r)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[r].role?r:r+1),await this.makeRequest({trigger:"regenerate-message",messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:"resume-stream",...e})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:r,options:a})=>this.jobExecutor.run(async()=>{let n=this.state.messages,o=n[n.length-1],s=a=>oj(a)&&"approval-requested"===a.state&&a.approval.id===e?{...a,state:"approval-responded",approval:{...a.approval,id:e,approved:t,reason:r}}:a;this.state.replaceMessage(n.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...a})})}),this.addToolOutput=async({state:e="output-available",toolCallId:t,output:r,errorText:a,options:n})=>this.jobExecutor.run(async()=>{let o=this.state.messages,s=o[o.length-1],i=n=>oj(n)&&n.toolCallId===t?{...n,state:e,output:r,errorText:a}:n;this.state.replaceMessage(o.length-1,{...s,parts:s.parts.map(i)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(i)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...n})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var e,t;for(let e of this.pendingMessagePreparations)e.abort();null==(e=this.activeResumeRequest)||e.abortController.abort(),null==(t=this.activeResponse)||t.abortController.abort()},this.id=t,this.transport=r,this.generateId=e,this.messageMetadataSchema=a,this.dataPartSchemas=n,this.state=o,this.onError=s,this.onToolCall=i,this.onFinish=l,this.onData=u,this.sendAutomaticallyWhen=d}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&"object"==typeof e&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:r,body:a,messageId:n}){var o,s,i;let l,u,d=new AbortController,c="resume-stream"===e?{abortController:d}:void 0;c&&(null==(o=this.activeResumeRequest)||o.abortController.abort(),this.activeResumeRequest=c);let p=()=>null==c||this.activeResumeRequest===c,h=()=>{this.activeResumeRequest===c&&(this.activeResumeRequest=void 0)};if("resume-stream"===e)try{let e=await this.transport.reconnectToStream({chatId:this.id,abortSignal:d.signal,metadata:t,headers:r,body:a});if(d.signal.aborted||!p()){await (null==e?void 0:e.cancel().catch(()=>{})),p()&&this.setStatus({status:"ready"}),h();return}if(null==e){this.setStatus({status:"ready"}),h();return}l=e}catch(e){if(d.signal.aborted||"AbortError"===e.name){p()&&this.setStatus({status:"ready"}),h();return}if(!p())return;this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e}),h();return}this.setStatus({status:"submitted",error:void 0});let m=this.lastMessage,g=!1,f=!1,y=!1;try{let o,s={state:function({lastMessage:e,messageId:t}){return{message:(null==e?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:ok(),activeReasoningParts:ok(),partialToolCalls:ok()}}({lastMessage:"resume-stream"===e||"regenerate-message"===e?void 0:this.state.snapshot(m),messageId:this.generateId()}),abortController:d};u=s,s.abortController.signal.addEventListener("abort",()=>{g=!0}),this.activeResponse=s,o="resume-stream"===e?l:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:s.abortController.signal,metadata:t,headers:r,body:a,trigger:e,messageId:n});let i=e=>this.jobExecutor.run(()=>s.abortController.signal.aborted?Promise.resolve():e({state:s.state,write:({updateStatus:e=!0}={})=>{var t;s.abortController.signal.aborted||(e&&this.setStatus({status:"streaming"}),s.state.message.id===(null==(t=this.lastMessage)?void 0:t.id)?this.state.replaceMessage(this.state.messages.length-1,s.state.message):this.state.pushMessage(s.state.message))}}));if(await oM({stream:function({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:a,onError:n,onToolCall:o,onData:s}){return e.pipeThrough(new TransformStream({async transform(e,i){await a(async({state:a,write:l})=>{var u,d,c,p;function h(){let e=a.message.parts,t=e.length-1;for(;t>=0&&"step-start"!==e[t].type;)t--;return e.slice(t+1)}function m(e){let t=h().filter(oj).find(t=>t.toolCallId===e);if(null==t){let r=a.message.parts;for(let a=r.length-1;a>=0;a--){let n=r[a];if(oj(n)&&n.toolCallId===e){t=n;break}}}if(null==t)throw new nY({chunkType:"tool-invocation",chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function g(e,t){var r;let n=null!=t?t:h().find(t=>oI(t)&&t.toolCallId===e.toolCallId);if(null!=n){n.state=e.state,n.input=e.input,n.output=e.output,n.errorText=e.errorText,n.rawInput=e.rawInput,n.preliminary=e.preliminary,void 0!==e.title&&(n.title=e.title),void 0!==e.toolMetadata&&(n.toolMetadata=e.toolMetadata),n.providerExecuted=null!=(r=e.providerExecuted)?r:n.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?n.resultProviderMetadata=t:n.callProviderMetadata=t)}else a.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},input:e.input,output:e.output,rawInput:e.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,preliminary:e.preliminary,...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}function f(e,t){var r,n;let o=null!=t?t:h().find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId);if(null!=o){o.state=e.state,o.toolName=e.toolName,o.input=e.input,o.output=e.output,o.errorText=e.errorText,o.rawInput=null!=(r=e.rawInput)?r:o.rawInput,o.preliminary=e.preliminary,void 0!==e.title&&(o.title=e.title),void 0!==e.toolMetadata&&(o.toolMetadata=e.toolMetadata),o.providerExecuted=null!=(n=e.providerExecuted)?n:o.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?o.resultProviderMetadata=t:o.callProviderMetadata=t)}else a.message.parts.push({type:"dynamic-tool",toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:e.input,output:e.output,errorText:e.errorText,preliminary:e.preliminary,providerExecuted:e.providerExecuted,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}async function y(e){if(null!=e){let r=null!=a.message.metadata?function e(t,r){if(void 0===t&&void 0===r)return;if(void 0===t)return r;if(void 0===r)return t;let a={...t};for(let n in r)if("__proto__"!==n&&"constructor"!==n&&"prototype"!==n&&Object.prototype.hasOwnProperty.call(r,n)){let o=r[n];if(void 0===o)continue;let s=n in t?t[n]:void 0,i=null!==o&&"object"==typeof o&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),l=null!=s&&"object"==typeof s&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp);i&&l?a[n]=e(s,o):a[n]=o}return a}(a.message.metadata,e):e;null!=t&&await rb({value:r,schema:t,context:{field:"message.metadata",entityId:a.message.id}}),a.message.metadata=r}}switch(e.type){case"text-start":{let t={type:"text",text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeTextParts[e.id]=t,a.message.parts.push(t),l();break}case"text-delta":{let t=a.activeTextParts[e.id];if(null==t)throw new nY({chunkType:"text-delta",chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(u=e.providerMetadata)?u:t.providerMetadata,l();break}case"text-end":{let t=a.activeTextParts[e.id];if(null==t)throw new nY({chunkType:"text-end",chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state="done",t.providerMetadata=null!=(d=e.providerMetadata)?d:t.providerMetadata,delete a.activeTextParts[e.id],l();break}case"custom":{let t={type:"custom",kind:e.kind,providerMetadata:e.providerMetadata};a.message.parts.push(t),l();break}case"reasoning-start":{let t={type:"reasoning",id:e.id,text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeReasoningParts[e.id]=t,a.message.parts.push(t),l();break}case"reasoning-delta":{let t=a.activeReasoningParts[e.id];if(null==t)throw new nY({chunkType:"reasoning-delta",chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(c=e.providerMetadata)?c:t.providerMetadata,l();break}case"reasoning-end":{let t=a.activeReasoningParts[e.id];if(null==t)throw new nY({chunkType:"reasoning-end",chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=null!=(p=e.providerMetadata)?p:t.providerMetadata,t.state="done",delete a.activeReasoningParts[e.id],l();break}case"file":case"reasoning-file":a.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}}),l();break;case"source-url":a.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),l();break;case"source-document":a.message.parts.push({type:"source-document",sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),l();break;case"tool-input-start":{let t=h().filter(oI);a.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),l();break}case"tool-input-delta":{let t=a.partialToolCalls[e.toolCallId];if(null==t)throw new nY({chunkType:"tool-input-delta",chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:r}=await op(t.text);t.dynamic?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}):g({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}),l();break}case"tool-input-available":e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),l(),o&&!e.providerExecuted&&await o({toolCall:e});break;case"tool-input-error":{let t=h().filter(oj).find(t=>t.toolCallId===e.toolCallId);(null!=t?"dynamic-tool"===t.type:e.dynamic)?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),l();break}case"tool-approval-request":{let t=m(e.toolCallId);t.state="approval-requested",t.approval={id:e.approvalId,...null!=e.approvalDescriptor?{descriptor:e.approvalDescriptor}:{},...null!=e.reason?{requestReason:e.reason}:{},...!0===e.isAutomatic?{isAutomatic:!0}:{},...null!=e.signature?{signature:e.signature}:{}},l();break}case"tool-approval-response":{let t=function(e){let t=a.message.parts.filter(oj).find(t=>{var r;return(null==(r=t.approval)?void 0:r.id)===e});if(null==t)throw new nY({chunkType:"tool-approval-response",chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}(e.approvalId),r=null==t.approval?{id:e.approvalId}:t.approval;t.state="approval-responded",t.approval={...r,id:e.approvalId,approved:e.approved,...null!=e.reason?{reason:e.reason}:{}},null!=e.providerExecuted&&(t.providerExecuted=e.providerExecuted),null!=e.providerMetadata&&(t.callProviderMetadata=e.providerMetadata),l();break}case"tool-output-denied":m(e.toolCallId).state="output-denied",l();break;case"tool-output-available":{let t=m(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):g({toolCallId:e.toolCallId,toolName:oE(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),l();break}case"tool-output-error":{let t=m(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):g({toolCallId:e.toolCallId,toolName:oE(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),l();break}case"start-step":a.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let e=h();a.activeTextParts=ok(),a.activeReasoningParts=ok(),a.partialToolCalls=ok(),e.length>0&&(a.message.parts.splice(a.message.parts.length-e.length,e.length),l());break}case"start":null!=e.messageId&&(a.message.id=e.messageId),await y(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&l({updateStatus:!1});break;case"finish":null!=e.finishReason&&(a.finishReason=e.finishReason),await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"message-metadata":await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"error":null==n||n(Error(e.errorText));break;default:if(e.type.startsWith("data-")){if((null==r?void 0:r[e.type])!=null){let t=a.message.parts.findIndex(t=>"id"in t&&"data"in t&&t.id===e.id&&t.type===e.type),n=t>=0?t:a.message.parts.length;await rb({value:e.data,schema:r[e.type],context:{field:`message.parts[${n}].data`,entityName:e.type,entityId:e.id}})}if(e.transient){null==s||s(e);break}let t=null!=e.id?a.message.parts.find(t=>e.type===t.type&&e.id===t.id):void 0;null!=t?t.data=e.data:a.message.parts.push(e),null==s||s(e),l()}}i.enqueue(e)})}}))}({stream:o,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:i,onError:e=>{throw e}}),abortSignal:s.abortController.signal,onError:e=>{throw e}}),g)return p()&&this.setStatus({status:"ready"}),null;p()&&this.setStatus({status:"ready"})}catch(e){if(g||"AbortError"===e.name)return g=!0,p()&&this.setStatus({status:"ready"}),null;if(!p())return null;y=!0,e instanceof TypeError&&(e.message.toLowerCase().includes("fetch")||e.message.toLowerCase().includes("network"))&&(f=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e})}finally{try{u&&(null==(s=this.onFinish)||s.call(this,{message:u.state.message,messages:this.state.messages,isAbort:g,isDisconnect:f,isError:y,finishReason:u.state.finishReason}))}finally{this.activeResponse===u&&(this.activeResponse=void 0),h()}}!y&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(i=this.lastMessage)?void 0:i.id,metadata:t,headers:r,body:a})}};e.i(560491);var oD=e.i(561866),oU=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},oF=(e,t,r)=>(oU(e,t,"read from private field"),r?r.call(e):t.get(e)),oL=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},oq=(e,t,r,a)=>(oU(e,t,"write to private field"),a?a.call(e,r):t.set(e,r),r),oB=class{constructor(e=[]){oL(this,Y,void 0),oL(this,W,"ready"),oL(this,K,void 0),oL(this,J,new Set),oL(this,X,new Set),oL(this,Q,new Set),this.pushMessage=e=>{oq(this,Y,oF(this,Y).concat(e)),oF(this,ee).call(this)},this.popMessage=()=>{oq(this,Y,oF(this,Y).slice(0,-1)),oF(this,ee).call(this)},this.replaceMessage=(e,t)=>{oq(this,Y,[...oF(this,Y).slice(0,e),this.snapshot(t),...oF(this,Y).slice(e+1)]),oF(this,ee).call(this)},this.snapshot=e=>{var t;if(null==e||"object"!=typeof e||!("parts"in e)||!Array.isArray(e.parts))return e;let r={...e,parts:e.parts.map(e=>({...e}))};return"metadata"in e&&(r.metadata=Array.isArray(t=e.metadata)?[...t]:null!=t&&"object"==typeof t&&(Object.getPrototypeOf(t)===Object.prototype||null===Object.getPrototypeOf(t))?{...t}:t),r},this["~registerMessagesCallback"]=(e,t)=>{let r=t?null!=t?(0,oD.default)(e,t):e:e;return oF(this,J).add(r),()=>{oF(this,J).delete(r)}},this["~registerStatusCallback"]=e=>(oF(this,X).add(e),()=>{oF(this,X).delete(e)}),this["~registerErrorCallback"]=e=>(oF(this,Q).add(e),()=>{oF(this,Q).delete(e)}),oL(this,ee,()=>{oF(this,J).forEach(e=>e())}),oL(this,et,()=>{oF(this,X).forEach(e=>e())}),oL(this,er,()=>{oF(this,Q).forEach(e=>e())}),oq(this,Y,e)}get status(){return oF(this,W)}set status(e){oq(this,W,e),oF(this,et).call(this)}get error(){return oF(this,K)}set error(e){oq(this,K,e),oF(this,er).call(this)}get messages(){return oF(this,Y)}set messages(e){oq(this,Y,[...e]),oF(this,ee).call(this)}};Y=new WeakMap,W=new WeakMap,K=new WeakMap,J=new WeakMap,X=new WeakMap,Q=new WeakMap,ee=new WeakMap,et=new WeakMap,er=new WeakMap;var oz=class extends o${constructor({messages:e,...t}){const r=new oB(e);super({...t,state:r}),oL(this,ea,void 0),this["~registerMessagesCallback"]=(e,t)=>oF(this,ea)["~registerMessagesCallback"](e,t),this["~registerStatusCallback"]=e=>oF(this,ea)["~registerStatusCallback"](e),this["~registerErrorCallback"]=e=>oF(this,ea)["~registerErrorCallback"](e),oq(this,ea,r)}};ea=new WeakMap;var oH=e.i(96892);let oV={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"}]]};oV.node;let oZ=(0,el.default)(oV);var oG=e.i(716327),oY=e.i(632781);let oW={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};oW.node;let oK=(0,el.default)(oW);var oJ=e.i(660302),oX=e.i(146538),oQ=e.i(968978),o0=e.i(213377),o1=e.i(647163);let o2=new oP({api:ey.queryKey.memoryEdit});function o5({notes:e}){let[t,r]=(0,ef.useState)(""),[a,n]=(0,ef.useState)({provider:null,model:""}),[o,s]=(0,ef.useState)(!1),{messages:i,sendMessage:l,setMessages:u,status:d,stop:c,error:p,clearError:h}=function({throttle:e,experimental_throttle:t,resume:r=!1,...a}={}){let n,o=null!=e?e:t,s=(0,ef.useRef)({});"chat"in a||(s.current={onToolCall:a.onToolCall,onData:a.onData,onFinish:a.onFinish,onError:a.onError,sendAutomaticallyWhen:a.sendAutomaticallyWhen,transport:a.transport});let i=()=>{var e;return null!=(e=s.current.transport)?e:null!=n?n:n=new oP},l={...a,transport:{sendMessages:e=>i().sendMessages(e),reconnectToStream:e=>i().reconnectToStream(e)},onToolCall:e=>{var t,r;return null==(r=(t=s.current).onToolCall)?void 0:r.call(t,e)},onData:e=>{var t,r;return null==(r=(t=s.current).onData)?void 0:r.call(t,e)},onFinish:e=>{var t,r;return null==(r=(t=s.current).onFinish)?void 0:r.call(t,e)},onError:e=>{var t,r;return null==(r=(t=s.current).onError)?void 0:r.call(t,e)},sendAutomaticallyWhen:e=>{var t,r,a;return null!=(a=null==(r=(t=s.current).sendAutomaticallyWhen)?void 0:r.call(t,e))&&a}},u=(0,ef.useRef)("chat"in a?a.chat:new oz(l));("chat"in a&&a.chat!==u.current||"id"in a&&null!=a.id&&u.current.id!==a.id)&&(u.current="chat"in a?a.chat:new oz(l));let d=u.current,c=(0,ef.useRef)({chat:d,messages:d.messages});c.current.chat!==d&&(c.current={chat:d,messages:d.messages});let p=(0,ef.useCallback)(e=>{let t=!0,r=d["~registerMessagesCallback"](()=>{t&&c.current.chat===d&&(c.current={chat:d,messages:d.messages},e())},o);return c.current={chat:d,messages:d.messages},()=>{t=!1,r()}},[d,o]),h=(0,ef.useCallback)(()=>c.current.messages,[]),m=(0,ef.useSyncExternalStore)(p,h,h),g=(0,ef.useCallback)(e=>d["~registerStatusCallback"](()=>{c.current.chat===d&&(("ready"===d.status||"error"===d.status)&&(c.current={chat:d,messages:d.messages}),e())}),[d]),f=(0,ef.useCallback)(()=>d.status,[d]),y=(0,ef.useSyncExternalStore)(g,f,f),v=(0,ef.useSyncExternalStore)(u.current["~registerErrorCallback"],()=>u.current.error,()=>u.current.error),b=(0,ef.useCallback)(e=>{"function"==typeof e&&(e=e(u.current.messages)),u.current.messages=e},[u]);return(0,ef.useEffect)(()=>{r&&u.current.resumeStream()},[r,u]),{id:u.current.id,messages:m,setMessages:b,sendMessage:u.current.sendMessage,regenerate:u.current.regenerate,clearError:u.current.clearError,stop:u.current.stop,error:v,resumeStream:u.current.resumeStream,status:y,addToolResult:u.current.addToolOutput,addToolOutput:u.current.addToolOutput,addToolApprovalResponse:u.current.addToolApprovalResponse}}({transport:o2}),m=(0,ef.useRef)(c);m.current=c,(0,ef.useEffect)(()=>()=>{m.current()},[]);let g=(0,ef.useRef)(new Map);for(let t of e)for(let e of t.facts)g.current.set(e.id,{text:e.text,path:t.path});let f="submitted"===d||"streaming"===d,y=!!(a.provider&&a.model.trim()),v=[...i].reverse().find(e=>"assistant"===e.role),b=v?.parts??[],w=b.filter(oj),x=b.flatMap(e=>"text"===e.type?[e.text]:[]).join(" ").trim(),k=!!p||w.some(e=>"output-error"===e.state),I=w.filter(e=>"output-available"===e.state&&oS(e)!==o0.TOOL_NAMES.memory_recall).length;(0,ef.useEffect)(()=>{if("ready"!==d||k||0===i.length)return;let e=setTimeout(()=>u([]),4e3);return()=>clearTimeout(e)},[d,k,i.length,u]);let _=f?(0,en.jsx)(oJ.ShinyText,{text:"Working on memory",className:"text-xs"}):p?(0,en.jsx)("span",{className:"text-xs text-destructive",children:p.message}):v?(0,en.jsx)("span",{className:"text-xs text-muted-foreground",children:x||(0===I?"Nothing to change":1===I?"1 change saved":`${I} changes saved`)}):null;return(0,en.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,en.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[o&&(0,en.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,en.jsx)(oX.ModelPicker,{provider:a.provider,model:a.model,unset:"Provider",onChange:n})}),w.length>0&&(0,en.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:w.map(e=>(0,en.jsx)(o6,{name:oS(e),input:e.input,state:e.state,errorText:"output-error"===e.state?e.errorText:void 0,known:g.current},e.toolCallId))}),_&&(0,en.jsx)("p",{className:"max-w-full truncate px-1",children:_}),(0,en.jsxs)("form",{onSubmit:e=>{e.preventDefault();let n=t.trim();n&&y&&!f&&(r(""),s(!1),h(),u([]),l({text:n},{body:{model:a}}))},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,en.jsx)("input",{value:t,onChange:e=>r(e.target.value),disabled:f,"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,en.jsxs)(ev.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>s(!o),className:(0,o1.cn)("max-w-44",!y&&"text-muted-foreground"),children:[y&&a.provider?(0,en.jsxs)(en.Fragment,{children:[(0,en.jsx)(oQ.ProviderIcon,{provider:a.provider,className:"size-3"}),(0,en.jsx)("span",{className:"truncate",children:a.model})]}):"Model",(0,en.jsx)(oG.ChevronDown,{className:"text-muted-foreground"})]}),(0,en.jsx)(ev.Button,{type:"submit",size:"icon-sm",loading:f,disabled:!t.trim()||!y||f,"aria-label":"Send",children:!f&&(0,en.jsx)(oH.ArrowUp,{})})]})]})})}let o4={Remember:eh.Plus,Replace:ed,Forget:oK,Rename:ed,Opened:oZ};function o6({name:e,input:t,state:r,errorText:a,known:n}){let o=function(e,t,r){let a=t??{};if(e===o0.TOOL_NAMES.memory_recall)return{kind:"Opened",path:a.path??"",lines:[],carried:!1};if(e===o0.TOOL_NAMES.memory_forget){let e=(a.factIds??[]).filter(e=>null!=e),t=e.map(e=>r.get(e));return{kind:"Forget",path:t.find(e=>e)?.path??"",lines:e.map((e,r)=>({before:t[r]?.text??`Fact #${e}`})),carried:!1}}let n=(a.facts??[]).filter(e=>null!=e),o=n.map(e=>null!=e.replaces?{before:r.get(e.replaces)?.text??`Fact #${e.replaces}`,after:e.text}:{after:e.text});a.description&&o.push({after:`“${a.description}”`});let s=(a.aliases??[]).filter(Boolean);return s.length&&o.push({after:`Called ${s.map(e=>`“${e}”`).join(", ")}`}),{kind:n.some(e=>null!=e.replaces)?"Replace":n.length?"Remember":"Rename",path:a.path??"",lines:o,carried:n.some(e=>e.alwaysLoad)}}(e,t,n),s=o4[o.kind],i="output-error"===r;return(0,en.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,en.jsx)(s,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,en.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[o.lines.map((e,t)=>(0,en.jsxs)("div",{children:[e.before&&(0,en.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:e.before}),e.after&&(0,en.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:e.after})]},`${o.kind}-${t}`)),(0,en.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[o.kind,o.path&&` \xb7 ${o.path}`,o.carried&&" · carried into every call"]}),i&&a&&(0,en.jsx)("p",{className:"text-xs text-destructive",children:a})]}),(0,en.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:i?(0,en.jsx)(eg.X,{className:"size-3.5 text-destructive"}):"output-available"===r?(0,en.jsx)(ei.Check,{className:"size-3.5"}):(0,en.jsx)(oY.Loader2,{className:"size-3.5 animate-spin"})})]})}var o9=e.i(95187);let o3=(0,o9.createServerReference)("7f6646bb4ffc74bae401ad2f790ecb1c2b73aea0d3",o9.callServer,void 0,o9.findSourceMapURL,"addFactsAction"),o7=(0,o9.createServerReference)("7f3f09b549ff0f552c5fe9b285263706f0257fb4f2",o9.callServer,void 0,o9.findSourceMapURL,"createNoteAction"),o8=(0,o9.createServerReference)("7feaf6b673da50f141abb3ed2ab6e9b5411f45dc19",o9.callServer,void 0,o9.findSourceMapURL,"deleteNoteAction"),se=(0,o9.createServerReference)("7fa24d7892488547b32c0dd4fcb3dd7149af93c349",o9.callServer,void 0,o9.findSourceMapURL,"forgetFactAction"),st=(0,o9.createServerReference)("7f27d6f67bb232f052b2123054d00eae85d9879274",o9.callServer,void 0,o9.findSourceMapURL,"reviseFactAction"),sr=(0,o9.createServerReference)("7f6b3929a34f6228b7c1a78faf061dd705a7ceecee",o9.callServer,void 0,o9.findSourceMapURL,"setFactAlwaysLoadAction"),sa=(0,o9.createServerReference)("7f705757a8deddfaecfaa2f5413b6c61e129f0c684",o9.callServer,void 0,o9.findSourceMapURL,"updateNoteAction");var sn=e.i(681307),so=e.i(245629);let ss=sn.z.enum(["user","call","bot"]),si=e=>"user"===e?"you":"call"===e?"on a call":"bot"===e?"a bot":"",sl=sn.z.object({id:sn.z.number(),text:sn.z.string(),alwaysLoad:sn.z.boolean(),source:ss.nullish(),createdAt:so.DateLikeSchema});sn.z.object({id:sn.z.number(),path:sn.z.string(),description:sn.z.string(),aliases:sn.z.string().array().nullish(),ownedByUser:sn.z.boolean(),hits:sn.z.number(),lastReadAt:so.DateLikeSchema.nullable(),createdAt:so.DateLikeSchema,updatedAt:so.DateLikeSchema,factCount:sn.z.number(),facts:sl.array()});let su=[{path:"profile",of:"The user themselves — their name, age, what they do, where they live, and whatever else says who they are"},{path:"preferences",of:"How they want things done, and said"},{path:"people/",of:"Someone in their life, and what matters about them"},{path:"projects/",of:"Something with an end — a trip, a purchase, a deadline, a thing being built"},{path:"topics/",of:"Something ongoing that keeps coming back"},{path:"inbox",of:"Nowhere obvious yet"}],sd=su.filter(e=>!e.path.endsWith("/")).map(e=>e.path),sc=su.filter(e=>e.path.endsWith("/")).map(e=>e.path.slice(0,-1));RegExp(`^(?:${sd.join("|")}|(?:${sc.join("|")})/.+)$`);let sp=["profile","preferences"];function sh(e){let t=e.indexOf("/");return -1===t?e:e.slice(t+1)}function sm(e){let t,r,a;return t=e.path,!sp.includes(t)&&.15>(r=(0,so.toDate)(e.lastReadAt??e.createdAt),a=Math.max(0,(Date.now()-r.getTime())/864e5),(e.hits+1)/(1+a))}[...sp];var sg=e.i(895836),sf=e.i(698570),sy=e.i(609856),sv=e.i(661504),sb=e.i(283653);let sw=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"inbox",label:"Inbox"}];function sx({note:e}){let t=e.facts.filter(e=>e.alwaysLoad).length;return(0,en.jsxs)(en.Fragment,{children:[(0,en.jsxs)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:[e.path," · ",e.hits," ",1===e.hits?"read":"reads"," ·"," ",e.lastReadAt?`last read ${(0,es.formatDistanceToNowStrict)(e.lastReadAt,{addSuffix:!0})}`:"never read back"]}),t>0&&(0,en.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[t," carried into every call"]})]})}function sk({note:e,active:t,onPick:r}){return(0,en.jsxs)("button",{type:"button",onClick:r,className:(0,o1.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",t?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground",sm(e)&&!t&&"opacity-55"),children:[(0,en.jsx)("span",{className:(0,o1.cn)("min-w-0 flex-1 truncate text-[13px]",t&&"font-medium"),children:sh(e.path)}),(0,en.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:e.factCount})]})}function sI({note:e}){let[t,r]=(0,ef.useState)(!1),[a,n]=(0,ef.useState)(""),o={onOk:()=>(0,sb.revalidate)(ey.queryKey.memory)},[s]=(0,sy.useServerAction)(sa,o),[i]=(0,sy.useServerAction)(o3,o),[l]=(0,sy.useServerAction)(st,o),[u]=(0,sy.useServerAction)(se,o),[d]=(0,sy.useServerAction)(sr,o),[c,p]=(0,sy.useServerAction)(o8,o),h=async()=>{let t=a.split("\n").map(e=>e.trim()).filter(Boolean);0!==t.length&&(await i(e.id,t),n(""))},m=async()=>{await ex.notify.confirm({title:`Forget ${e.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&c(e.id)};return(0,en.jsxs)("div",{className:(0,o1.cn)("flex min-h-full flex-col",sm(e)&&"opacity-55"),children:[(0,en.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-6 py-2.5",children:[(0,en.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:e.path}),(0,en.jsxs)("span",{className:"flex shrink-0 gap-1",children:[(0,en.jsx)(ev.Button,{size:"icon-sm",variant:t?"secondary":"ghost","aria-label":t?"Done editing":"Edit this note",onClick:()=>r(!t),children:t?(0,en.jsx)(ei.Check,{}):(0,en.jsx)(ed,{})}),(0,en.jsx)(ev.Button,{size:"icon-sm",variant:"ghost","aria-label":"Forget this note",loading:p,onClick:m,children:(0,en.jsx)(em.Trash2,{})})]})]}),(0,en.jsxs)("div",{className:"flex-1 space-y-5 px-6 py-5",children:[(0,en.jsxs)("div",{className:"space-y-1.5",children:[(0,en.jsx)("p",{className:"text-xl font-semibold",children:sh(e.path)}),t?(0,en.jsx)(s_,{text:e.description,onCommit:async t=>{await s(e.id,{description:t})}}):(0,en.jsx)("p",{className:"text-[13px] leading-relaxed text-muted-foreground",children:e.description})]}),t?(0,en.jsxs)("div",{className:"space-y-2",children:[e.facts.map(t=>(0,en.jsx)(sj,{text:t.text,alwaysLoad:t.alwaysLoad,onRevise:async r=>{await l(e.id,t.id,r)},onCarry:async r=>{await d(e.id,t.id,r)},onForget:async()=>{await u(e.id,t.id)}},t.id)),(0,en.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,en.jsx)(e_.Textarea,{value:a,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),h())},placeholder:"Add facts — one per line",className:"min-h-9 resize-none py-1.5 text-sm"}),(0,en.jsx)(ev.Button,{size:"icon",variant:"outline",disabled:!a.trim(),onClick:h,children:(0,en.jsx)(eh.Plus,{})})]})]}):0===e.facts.length?(0,en.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Nothing saved here yet — the agent adds facts during calls"}):(0,en.jsx)("ul",{className:"divide-y divide-border/60 border-y border-border/60",children:e.facts.map(e=>(0,en.jsxs)("li",{className:"flex gap-3 py-3",children:[(0,en.jsx)("span",{className:"flex w-3.5 shrink-0 justify-center pt-1",children:e.alwaysLoad?(0,en.jsx)(ep,{className:"size-3 text-foreground"}):(0,en.jsx)("span",{className:"text-muted-foreground/50",children:"—"})}),(0,en.jsx)("span",{className:"flex-1 text-sm leading-relaxed text-foreground/90",children:e.text}),(0,en.jsxs)("span",{className:"shrink-0 pt-0.5 text-right text-[11px] text-muted-foreground/50",children:[(0,en.jsx)("span",{className:"block font-mono",children:(0,eo.format)(e.createdAt,"yyyy.MM.dd")}),si(e.source)&&(0,en.jsx)("span",{className:"block",children:si(e.source)})]})]},e.id))})]})]})}function s_({text:e,onCommit:t}){let r=(0,sf.useDraft)(e,t);return(0,en.jsx)(ew.Input,{value:r.value,onChange:e=>r.set(e.target.value),onBlur:r.commit,onKeyDown:r.onKeyDown,placeholder:"One-line summary",className:"text-sm text-muted-foreground"})}function sj({text:e,alwaysLoad:t,onRevise:r,onCarry:a,onForget:n}){let o=(0,sf.useDraft)(e,r);return(0,en.jsxs)("div",{className:"flex gap-2",children:[(0,en.jsx)(ew.Input,{value:o.value,onChange:e=>o.set(e.target.value),onBlur:o.commit,onKeyDown:o.onKeyDown,className:"text-sm"}),(0,en.jsx)(ev.Button,{size:"icon",variant:t?"secondary":"ghost","aria-label":t?"Stop carrying into calls":"Carry into every call",title:"Carried into every call, without opening this note",onClick:()=>a(!t),children:(0,en.jsx)(ep,{className:(0,o1.cn)(!t&&"text-muted-foreground/60")})}),(0,en.jsx)(ev.Button,{size:"icon",variant:"ghost",onClick:n,children:(0,en.jsx)(eg.X,{})})]})}let sE=[{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 sS(){return ex.notify.component({className:"sm:max-w-lg",renderer:({close:e})=>(0,en.jsx)(sM,{onDone:e})})}function sM({onDone:e}){let[t,r]=(0,ef.useState)("people"),[a,n]=(0,ef.useState)(""),[o,s]=(0,ef.useState)(""),[i,l]=(0,ef.useState)(""),[u,d,,c]=(0,sy.useServerAction)(o7,{errorMessage:!1,onOk:()=>{(0,sb.revalidate)(ey.queryKey.memory),e()}}),p=sE.find(e=>e.key===t),h=a.trim()&&o.trim()&&!d,m=()=>{h&&u(`${t}/${a.trim()}`,o.trim(),i.split("\n").map(e=>e.trim()).filter(Boolean))};return(0,en.jsxs)(sg.SettingDialogContent,{title:"New note",description:"Where the agent files what it learns about this subject.",footer:(0,en.jsxs)(en.Fragment,{children:[(0,en.jsx)(ev.Button,{variant:"ghost",onClick:e,children:"Cancel"}),(0,en.jsxs)(ev.Button,{disabled:!h,loading:d,onClick:m,children:[!d&&(0,en.jsx)(eh.Plus,{}),"Create"]})]}),children:[(0,en.jsxs)("div",{className:"space-y-6",children:[(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{children:"Kind"}),(0,en.jsx)(eI.Tabs,{value:t,onValueChange:e=>r(e),children:(0,en.jsx)(eI.TabsList,{className:"w-full",children:sE.map(e=>(0,en.jsx)(eI.TabsTrigger,{value:e.key,children:e.label},e.key))})})]}),(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,en.jsxs)(eb.FieldContent,{children:[(0,en.jsx)(ew.Input,{id:"note-name",value:a,onChange:e=>n(e.target.value),placeholder:p?.placeholder,spellCheck:!1,required:!0}),(0,en.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[t,"/",a.trim()||"…"]})]})]}),(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,en.jsx)(eb.FieldContent,{children:(0,en.jsx)(ew.Input,{id:"note-summary",value:o,onChange:e=>s(e.target.value),onKeyDown:e=>"Enter"===e.key&&m(),placeholder:"One line the agent sees in its note list",required:!0})})]}),(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,en.jsx)(e_.Textarea,{id:"note-facts",value:i,onChange:e=>l(e.target.value),placeholder:`One per line
38
- ${p?.fact??""}`,className:"min-h-24 resize-none text-sm"})]})]}),c&&(0,en.jsx)("p",{className:"font-mono text-xs text-destructive",children:c})]})}e.s(["MemorySetting",0,function(){let{items:e,isLoading:t,isLoadingMore:r,error:a,hasMore:n,sentinelRef:o}=(0,sv.useServerPages)({key:e=>ey.queryKey.memoryPage(e*ej.PAGE_SIZE)}),[s,i]=(0,ef.useState)(null),l=e.find(e=>e.id===s)??e[0]??null;return t?(0,en.jsx)(sg.SettingPanesSkeleton,{}):a?(0,en.jsx)(sg.SettingError,{message:a.message}):(0,en.jsxs)("div",{className:"relative h-full min-h-0",children:[(0,en.jsx)(sg.SettingPanes,{footer:l&&(0,en.jsx)(sx,{note:l}),left:(0,en.jsxs)("div",{className:"flex flex-col py-2",children:[(0,en.jsxs)("button",{type:"button",onClick:sS,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,en.jsx)(eh.Plus,{className:"size-3.5 shrink-0"}),"New note"]}),sw.map(({key:t,label:r})=>{let a=e.filter(e=>(function(e){if("profile"===e||"preferences"===e)return"you";let t=e.slice(0,e.indexOf("/"));return sc.includes(t)?t:"inbox"})(e.path)===t);return 0===a.length?null:(0,en.jsxs)(ef.Fragment,{children:[(0,en.jsxs)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:[r,"inbox"===t&&(0,en.jsx)("span",{className:"pl-1.5 text-muted-foreground/50",children:"waiting to be filed"})]}),a.map(e=>(0,en.jsx)(sk,{note:e,active:e.id===l?.id,onPick:()=>i(e.id)},e.id))]},t)}),(0,en.jsx)(sg.SettingMore,{hasMore:n,loading:r,sentinelRef:o,count:3,ghost:(0,en.jsxs)("div",{className:"mx-2 flex items-center gap-2 px-2 py-2",children:[(0,en.jsx)(ek.Skeleton,{className:"h-3 w-28"}),(0,en.jsx)("span",{className:"flex-1"}),(0,en.jsx)(ek.Skeleton,{className:"h-2.5 w-2.5"})]})})]}),right:l?(0,en.jsx)(sI,{note:l},l.id):(0,en.jsxs)("div",{className:"space-y-4 p-8",children:[(0,en.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,en.jsxs)(ev.Button,{variant:"outline",onClick:sS,children:[(0,en.jsx)(eh.Plus,{}),"Add note"]})]})}),(0,en.jsx)(o5,{notes:e})]})},"openMemoryCreate",0,sS],556133)},99970,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={SYMBOL_FOR_REQ_CONTEXT:()=>d,getContext:()=>c};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);let d=Symbol.for("@vercel/request-context");function c(){let e=globalThis;return e[d]?.get?.()??{}}},891754,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={AccessTokenMissingError:()=>d,RefreshAccessTokenFailedError:()=>c};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);class d extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class c extends Error{constructor(e){super("Failed to refresh authentication token.",{cause:e}),this.name="RefreshAccessTokenFailedError"}}},725150,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={AccessTokenMissingError:()=>c.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>c.RefreshAccessTokenFailedError,getContext:()=>d.getContext,getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>h,getVercelToken:()=>m};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);var d=e.r(99970),c=e.r(891754);async function p(){return""}function h(){return""}async function m(){throw Error("getVercelToken is not supported in browser environments")}},561866,(e,t,r)=>{t.exports=function(e,t){let r;if("function"!=typeof e)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let a=0;return function(...n){clearTimeout(r);let o=Date.now(),s=t-(o-a);s<=0?(a=o,e.apply(this,n)):r=setTimeout(()=>{a=Date.now(),e.apply(this,n)},s)}}}]);
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:r,cause:a,generationId:n})}};function aI(e){if(!(e instanceof Error))return!1;let t=e.code;return"string"==typeof t&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t)}async function a_(e,t){var r;return rX.isInstance(e)?e:aI(e)?ak.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):eO.isInstance(e)?e.cause&&aI(e.cause)?ak.createTimeoutError({originalMessage:e.message,cause:e}):await av({response:function(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return tW(e.responseBody)}catch(t){return e.responseBody}return{}}(e),statusCode:null!=(r=e.statusCode)?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:!!e.isRetryable&&(null==e.statusCode||e.statusCode<400)||void 0}):await av({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}var aj="ai-gateway-auth-method",aE="x-vercel-ai-gateway-team";async function aS(e){let t=await rw({value:e[aj],schema:aM});return t.success?t.value:void 0}var aM=rg(()=>rv(rK.union([rK.literal("api-key"),rK.literal("oidc")]))),aA=["embedding","image","language","realtime","reranking","speech","transcription","video"],aT=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await tB({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(aR),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return e}catch(e){throw await a_(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await tB({url:`${e.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(aC),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return t}catch(e){throw await a_(e)}}},aR=rg(()=>rv(rK.object({models:rK.array(rK.object({id:rK.string(),name:rK.string(),description:rK.string().nullish(),pricing:rK.object({input:rK.string(),output:rK.string(),input_cache_read:rK.string().nullish(),input_cache_write:rK.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:a})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...a?{cacheCreationInputTokens:a}:{}})).nullish(),specification:rK.object({specificationVersion:rK.literal("v4"),provider:rK.string(),modelId:rK.string()}),modelType:rK.string().nullish()})).transform(e=>e.filter(e=>null==e.modelType||aA.includes(e.modelType)))}))),aC=rg(()=>rv(rK.object({balance:rK.string(),total_used:rK.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),aO=class{constructor(e){this.config=e}async getSpendReport(e){try{let t=new URL(this.config.baseURL),r=new URLSearchParams;r.set("start_date",e.startDate),r.set("end_date",e.endDate),e.groupBy&&r.set("group_by",e.groupBy),e.datePart&&r.set("date_part",e.datePart),e.userId&&r.set("user_id",e.userId),e.model&&r.set("model",e.model),e.provider&&r.set("provider",e.provider),e.credentialType&&r.set("credential_type",e.credentialType),e.tags&&e.tags.length>0&&r.set("tags",e.tags.join(","));let{value:a}=await tB({url:`${t.origin}/v1/report?${r.toString()}`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(aN),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return a}catch(e){throw await a_(e)}}},aN=rg(()=>rv(rK.object({results:rK.array(rK.object({day:rK.string().optional(),hour:rK.string().optional(),user:rK.string().optional(),model:rK.string().optional(),tag:rK.string().optional(),provider:rK.string().optional(),credential_type:rK.enum(["byok","system"]).optional(),total_cost:rK.number(),market_cost:rK.number().optional(),input_tokens:rK.number().optional(),output_tokens:rK.number().optional(),cached_input_tokens:rK.number().optional(),cache_creation_input_tokens:rK.number().optional(),reasoning_tokens:rK.number().optional(),request_count:rK.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:r,input_tokens:a,output_tokens:n,cached_input_tokens:o,cache_creation_input_tokens:s,reasoning_tokens:i,request_count:l,...u})=>({...u,...void 0!==e?{credentialType:e}:{},totalCost:t,...void 0!==r?{marketCost:r}:{},...void 0!==a?{inputTokens:a}:{},...void 0!==n?{outputTokens:n}:{},...void 0!==o?{cachedInputTokens:o}:{},...void 0!==s?{cacheCreationInputTokens:s}:{},...void 0!==i?{reasoningTokens:i}:{},...void 0!==l?{requestCount:l}:{}})))}))),aP=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:r}=await tB({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(a$),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return r}catch(e){throw await a_(e)}}},a$=rg(()=>rv(rK.object({data:rK.object({id:rK.string(),total_cost:rK.number(),upstream_inference_cost:rK.number(),usage:rK.number(),created_at:rK.string(),model:rK.string(),is_byok:rK.boolean(),provider_name:rK.string(),streamed:rK.boolean(),finish_reason:rK.string(),latency:rK.number(),generation_time:rK.number(),native_tokens_prompt:rK.number(),native_tokens_completion:rK.number(),native_tokens_reasoning:rK.number(),native_tokens_cached:rK.number(),native_tokens_cache_creation:rK.number(),billable_web_search_calls:rK.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:r,is_byok:a,provider_name:n,finish_reason:o,generation_time:s,native_tokens_prompt:i,native_tokens_completion:l,native_tokens_reasoning:u,native_tokens_cached:d,native_tokens_cache_creation:c,billable_web_search_calls:p,...h})=>({...h,totalCost:e,upstreamInferenceCost:t,createdAt:r,isByok:a,providerName:n,finishReason:o,generationTime:s,promptTokens:i,completionTokens:l,reasoningTokens:u,cachedTokens:d,cacheCreationTokens:c,billableWebSearchCalls:p}))}).transform(({data:e})=>e))),aD=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[tr](e){return rF({modelId:e.modelId,config:e.config})}static[ta](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:o,value:s,rawValue:i}=await rj({url:this.getUrl(),headers:tn(n,e.headers,this.getModelConfigHeaders(this.modelId,!1),await rM(this.config.o11yHeaders)),body:t,successfulResponseHandler:rC(rK.any()),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{...s,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(e){throw await a_(e,await aS(null!=n?n:{}))}}async doStream(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await rM(this.config.headers):void 0;try{let o,{value:s,responseHeaders:i}=await rj({url:this.getUrl(),headers:tn(n,e.headers,this.getModelConfigHeaders(this.modelId,!0),await rM(this.config.o11yHeaders)),body:t,successfulResponseHandler:(o=rK.any(),async({response:e,url:t,requestBodyValues:r})=>{let a=th(e);if(null==e.body)throw new eD({});return{responseHeaders:a,value:rI({stream:function({stream:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n}){let o=e.getReader(),s=!1,i=()=>{s||(o.releaseLock(),s=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await o.read();t?(i(),e.close()):e.enqueue(r)}catch(o){if(i(),tg(o))return void e.error(o);e.error(tv({error:new eO({message:"Failed to process successful response",cause:o,statusCode:a,url:t,responseHeaders:n,requestBodyValues:r}),url:t,requestBodyValues:r}))}},async cancel(e){try{await o.cancel(e)}finally{i()}}})}({stream:e.body,url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a}),schema:o})}}),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:s.pipeThrough(new TransformStream({start(e){r.length>0&&e.enqueue({type:"stream-start",warnings:r})},transform(t,r){if(t.success){let a=t.value;("raw"!==a.type||e.includeRawChunks)&&("response-metadata"===a.type&&a.timestamp&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp)),r.enqueue(a))}else r.error(t.error)}})),request:{body:t},response:{headers:i}}}catch(e){throw await a_(e,await aS(null!=n?n:{}))}}maybeEncodeFileParts(e){for(let t of e.prompt)if(Array.isArray(t.content)){for(let e of t.content)if("file"===e.type||"reasoning-file"===e.type)e.data=aU(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=aU(t.data))}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"4","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}};function aU(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:rV.Buffer.from(t).toString("base64")}}return e}var aF=class e extends aD{static[tr](e){return aD[tr](e)}static[ta](t){return new e(t.modelId,t.config)}constructor(e,t){super(e,t)}async experimental_doStartBatch({requests:e,providerOptions:t,headers:r,abortSignal:a,webhookUrl:n}){var o;let s=this.config.headers?await rM(this.config.headers):void 0,i=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t.idempotencyKey;return"string"==typeof r&&r.length>0?r:void 0}(t),l=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t)||!("idempotencyKey"in t))return e;let{idempotencyKey:r,...a}=t,n={...e};if(0===Object.keys(a).length?delete n.gateway:n.gateway=a,0!==Object.keys(n).length)return n}(t);try{let{value:t}=await rj({url:this.getBatchUrl("start"),headers:tn(s,r,this.getBatchConfigHeaders(),await rM(this.config.o11yHeaders),null!=i?{"idempotency-key":i}:void 0),body:{...null!=n&&{callbackUrl:n},modelId:this.modelId,requests:e.map(e=>({id:e.id,options:this.maybeEncodeFileParts(e.options)})),...null!=l&&{providerOptions:l}},successfulResponseHandler:rC(aY),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{batchId:t.batchId,...aq(t),warnings:null!=(o=t.warnings)?o:[]}}catch(e){if(aL(e))throw e;throw await a_(e,await aS(null!=s?s:{}))}}async experimental_doGetBatchStatus({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await rM(this.config.headers):void 0;try{let{value:n}=await rj({url:this.getBatchUrl("status"),headers:tn(a,t,this.getBatchConfigHeaders(),await rM(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:rC(aW),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return aq(n)}catch(e){if(aL(e))throw e;throw await a_(e,await aS(null!=a?a:{}))}}async experimental_doGetBatchResults({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await rM(this.config.headers):void 0;try{var n;let o,{value:s}=await rj({url:this.getBatchUrl("results"),headers:tn(a,t,this.getBatchConfigHeaders(),await rM(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:async({response:e})=>{let t=th(e);if(null==e.body)throw new eD({});return{responseHeaders:t,value:rO({stream:e.body,schema:az})}},failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return n=aB(s),o=!1,new ReadableStream({async pull(e){if(!o)try{let{value:t,done:r}=await n.next();r?e.close():e.enqueue(t)}catch(t){e.error(t)}},async cancel(e){if(o=!0,n.return)try{await n.return(e)}catch(e){}}})}catch(e){if(aL(e))throw e;throw await a_(e,await aS(null!=a?a:{}))}}getBatchUrl(e){return`${this.config.baseURL}/batch/${e}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function aL(e){return!!(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"TimeoutError"===e.name)}function aq(e){var t,r,a,n;let o=function({total:e,pending:t,completed:r,failed:a}){if(tV(e)&&tV(t)&&tV(r)&&tV(a)&&t+r+a===e)return{total:e,pending:t,completed:r,failed:a}}({total:null==(t=e.requestCounts)?void 0:t.total,pending:null==(r=e.requestCounts)?void 0:r.pending,completed:null==(a=e.requestCounts)?void 0:a.completed,failed:null==(n=e.requestCounts)?void 0:n.failed});return{status:e.status,...null!=e.rawStatus&&{rawStatus:e.rawStatus},...null!=o&&{requestCounts:o},...null!=e.error&&{error:{message:e.error.message,...null!=e.error.type&&{type:e.error.type},...null!=e.error.code&&{code:e.error.code},...null!=e.error.statusCode&&{statusCode:e.error.statusCode}}},...null!=e.createdAt&&{createdAt:e.createdAt},...null!=e.expiresAt&&{expiresAt:e.expiresAt},...null!=e.providerMetadata&&{providerMetadata:e.providerMetadata}}}async function*aB(e){var t;for await(let r of e){if("succeeded"===r.status){let e=null==(t=r.result)?void 0:t.response;void 0!==e&&"string"==typeof e.timestamp&&(e.timestamp=new Date(e.timestamp))}yield r}}var az=rK.object({id:rK.string(),status:rK.enum(["cancelled","expired","failed","succeeded"])}).catchall(rK.unknown()),aH=rK.object({message:rK.string(),type:rK.string().nullish(),code:rK.string().nullish(),statusCode:rK.number().nullish()}),aV=rK.object({total:rK.number().nullish(),pending:rK.number().nullish(),completed:rK.number().nullish(),failed:rK.number().nullish()}),aZ=rK.record(rK.string(),rK.record(rK.string(),rK.unknown())),aG=rK.object({status:rK.enum(["completed","failed","pending"]),rawStatus:rK.string().nullish(),requestCounts:aV.nullish(),error:aH.nullish(),createdAt:rK.string().nullish(),expiresAt:rK.string().nullish(),providerMetadata:aZ.nullish()}),aY=aG.extend({batchId:rK.string(),warnings:rK.array(rK.object({requestId:rK.string().nullish(),warning:rK.unknown()}).catchall(rK.unknown())).nullish()}),aW=aG,aK=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[tr](e){return rF({modelId:e.modelId,config:e.config})}static[ta](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:a}){var n,o;let s=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:i,value:l,rawValue:u}=await rj({url:this.getUrl(),headers:tn(s,null!=t?t:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{values:e,...a?{providerOptions:a}:{}},successfulResponseHandler:rC(aX),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:l.embeddings,usage:null!=(n=l.usage)?n:void 0,providerMetadata:l.providerMetadata,response:{headers:i,body:u},warnings:null!=(o=l.warnings)?o:[]}}catch(e){throw await a_(e,await aS(null!=s?s:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},aJ=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),aX=rg(()=>rv(rK.object({embeddings:rK.array(rK.array(rK.number())),usage:rK.object({tokens:rK.number()}).nullish(),warnings:rK.array(aJ).optional(),providerMetadata:rK.record(rK.string(),rK.record(rK.string(),rK.unknown())).optional()}))),aQ=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[tr](e){return rF({modelId:e.modelId,config:e.config})}static[ta](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:a,seed:n,files:o,mask:s,providerOptions:i,headers:l,abortSignal:u}){var d,c,p,h;let m=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:g,value:f}=await rj({url:this.getUrl(),headers:tn(m,null!=l?l:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...a&&{aspectRatio:a},...n&&{seed:n},...i&&{providerOptions:i},...o&&{files:o.map(e=>a0(e))},...s&&{mask:a0(s)}},successfulResponseHandler:rC(a4),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:f.images,warnings:null!=(d=f.warnings)?d:[],providerMetadata:f.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:g},...null!=f.usage&&{usage:{inputTokens:null!=(c=f.usage.inputTokens)?c:void 0,outputTokens:null!=(p=f.usage.outputTokens)?p:void 0,totalTokens:null!=(h=f.usage.totalTokens)?h:void 0}}}}catch(e){throw await a_(e,await aS(null!=m?m:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function a0(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:tp(e.data)}:e}var a1=rK.object({images:rK.array(rK.unknown()).optional()}).catchall(rK.unknown()),a2=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),a5=rK.object({inputTokens:rK.number().nullish(),outputTokens:rK.number().nullish(),totalTokens:rK.number().nullish()}),a4=rK.object({images:rK.array(rK.string()),warnings:rK.array(a2).optional(),providerMetadata:rK.record(rK.string(),a1).optional(),usage:a5.optional()}),a6=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(e){var t,r;let{headers:a,abortSignal:n}=e,o=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:s,value:i}=await rj({url:this.getUrl(),headers:tn(o,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(e),successfulResponseHandler:async({response:e,url:t,requestBodyValues:r})=>{if(null==e.body)throw new eO({message:"SSE response body is empty",url:t,requestBodyValues:r,statusCode:e.status});let a=rI({stream:e.body,schema:ne}).getReader(),{done:n,value:o}=await a.read();if(a.releaseLock(),n||!o)throw new eO({message:"SSE stream ended without a data event",url:t,requestBodyValues:r,statusCode:e.status});if(!o.success)throw new eO({message:"Failed to parse video SSE event",cause:o.error,url:t,requestBodyValues:r,statusCode:e.status});let s=o.value;if("error"===s.type)throw new eO({message:s.message,statusCode:s.statusCode,url:t,requestBodyValues:r,responseHeaders:Object.fromEntries([...e.headers]),responseBody:JSON.stringify(s),data:{error:{message:s.message,type:s.errorType,param:s.param}}});return{value:{videos:s.videos,warnings:s.warnings,providerMetadata:s.providerMetadata},responseHeaders:Object.fromEntries([...e.headers])}},failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{videos:i.videos,warnings:null!=(t=i.warnings)?t:[],providerMetadata:null!=(r=i.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:s}}}catch(e){throw await a_(e,await aS(null!=o?o:{}))}}async handleWebhookOption({webhook:e}){let{url:t,received:r}=await e();return{webhookUrl:t,received:r}}async doStart(e){var t,r;let{headers:a,abortSignal:n,webhookUrl:o}=e,s=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:i,value:l}=await rj({url:this.getStartUrl(),headers:tn(s,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{...this.buildRequestBody(e),...o&&{callbackUrl:o}},successfulResponseHandler:rC(nt),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{operation:l.operation,warnings:null!=(t=l.warnings)?t:[],providerMetadata:null!=(r=l.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:i}}}catch(e){throw await a_(e,await aS(null!=s?s:{}))}}async doStatus({operation:e,abortSignal:t,headers:r}){var a,n,o,s,i,l;let u=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:d,value:c}=await rj({url:this.getStatusUrl(),headers:tn(u,null!=r?r:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{operation:e},successfulResponseHandler:rC(nr),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...t&&{abortSignal:t},fetch:this.config.fetch}),p={timestamp:new Date,modelId:this.modelId,headers:d};if("completed"===c.status)return{status:"completed",videos:c.videos,warnings:null!=(a=c.warnings)?a:[],providerMetadata:null!=(n=c.providerMetadata)?n:void 0,response:p};if("error"===c.status)return{status:"error",error:c.error,providerMetadata:null!=(o=c.providerMetadata)?o:void 0,response:p};if("cancelled"===c.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(s=c.providerMetadata)?s:void 0,response:p};return{status:"pending",warnings:null!=(i=c.warnings)?i:[],providerMetadata:null!=(l=c.providerMetadata)?l:void 0,response:p}}catch(e){throw await a_(e,await aS(null!=u?u:{}))}}buildRequestBody({prompt:e,n:t,aspectRatio:r,resolution:a,duration:n,fps:o,seed:s,generateAudio:i,image:l,frameImages:u,inputReferences:d,providerOptions:c}){return{prompt:e,n:t,...r&&{aspectRatio:r},...a&&{resolution:a},...n&&{duration:n},...o&&{fps:o},...s&&{seed:s},...void 0!==i&&{generateAudio:i},...c&&{providerOptions:c},...l&&{image:a9(l)},...u&&{frameImages:u.map(e=>({...e,image:a9(e.image)}))},...d&&{inputReferences:d.map(e=>a9(e))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function a9(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:tp(e.data)}:e}var a3=rK.object({videos:rK.array(rK.unknown()).optional()}).catchall(rK.unknown()),a7=rK.union([rK.object({type:rK.literal("url"),url:rK.string(),mediaType:rK.string()}),rK.object({type:rK.literal("base64"),data:rK.string(),mediaType:rK.string()})]),a8=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),ne=rK.discriminatedUnion("type",[rK.object({type:rK.literal("result"),videos:rK.array(a7),warnings:rK.array(a8).optional(),providerMetadata:rK.record(rK.string(),a3).optional()}),rK.object({type:rK.literal("error"),message:rK.string(),errorType:rK.string(),statusCode:rK.number(),param:rK.unknown().nullable()})]),nt=rK.object({operation:rK.unknown(),warnings:rK.array(a8).nullish(),providerMetadata:rK.record(rK.string(),a3).nullish()}),nr=rK.discriminatedUnion("status",[rK.object({status:rK.literal("pending"),warnings:rK.array(a8).nullish(),providerMetadata:rK.record(rK.string(),a3).nullish()}),rK.object({status:rK.literal("completed"),videos:rK.array(a7),warnings:rK.array(a8).nullish(),providerMetadata:rK.record(rK.string(),a3).nullish()}),rK.object({status:rK.literal("error"),error:rK.string(),providerMetadata:rK.record(rK.string(),a3).nullish()}),rK.object({status:rK.literal("cancelled"),providerMetadata:rK.record(rK.string(),a3).nullish()})]),na=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:e,query:t,topN:r,headers:a,abortSignal:n,providerOptions:o}){var s;let i=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:l,value:u,rawValue:d}=await rj({url:this.getUrl(),headers:tn(i,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{documents:e,query:t,...null!=r?{topN:r}:{},...o?{providerOptions:o}:{}},successfulResponseHandler:rC(no),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{ranking:u.ranking,providerMetadata:u.providerMetadata,response:{headers:l,body:d},warnings:null!=(s=u.warnings)?s:[]}}catch(e){throw await a_(e,await aS(null!=i?i:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},nn=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),no=rg(()=>rv(rK.object({ranking:rK.array(rK.object({index:rK.number(),relevanceScore:rK.number()})),warnings:rK.array(nn).optional(),providerMetadata:rK.record(rK.string(),rK.record(rK.string(),rK.unknown())).optional()}))),ns=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:e,voice:t,outputFormat:r,instructions:a,speed:n,language:o,providerOptions:s,headers:i,abortSignal:l}){var u;let d=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:c,value:p,rawValue:h}=await rj({url:this.getUrl(),headers:tn(d,null!=i?i:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...r&&{outputFormat:r},...a&&{instructions:a},...null!=n&&{speed:n},...o&&{language:o},...s&&{providerOptions:s}},successfulResponseHandler:rC(nu),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...l&&{abortSignal:l},fetch:this.config.fetch});return{audio:p.audio,warnings:null!=(u=p.warnings)?u:[],providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:c,body:h}}}catch(e){throw await a_(e,await aS(null!=d?d:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},ni=rK.object({}).catchall(rK.unknown()),nl=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),nu=rK.object({audio:rK.string(),warnings:rK.array(nl).optional(),providerMetadata:rK.record(rK.string(),ni).optional()}),nd=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:e,mediaType:t,providerOptions:r,headers:a,abortSignal:n}){var o,s,i,l;let u=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:d,value:c,rawValue:p}=await rj({url:this.getUrl(),headers:tn(u,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?tp(e):e,mediaType:t,...r&&{providerOptions:r}},successfulResponseHandler:rC(nm),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{text:c.text,segments:null!=(o=c.segments)?o:[],language:null!=(s=c.language)?s:void 0,durationInSeconds:null!=(i=c.durationInSeconds)?i:void 0,warnings:null!=(l=c.warnings)?l:[],providerMetadata:c.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d,body:p}}}catch(e){throw await a_(e,await aS(null!=u?u:{}))}}async doStream(e){var t,r,a,n,o;let s,i,l,u=null!=(a=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?a:new Date,d=tn(await rM(null!=(n=this.config.headers)?n:{}),null!=(o=e.headers)?o:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),c=await aS(d),p={type:"transcription-stream.start",inputAudioFormat:e.inputAudioFormat,...null!=e.providerOptions&&{providerOptions:e.providerOptions},...null!=e.includeRawChunks&&{includeRawChunks:e.includeRawChunks}};return{stream:function({webSocket:e,url:t,protocols:r,headers:a,startFrame:n,audio:o,abortSignal:s,authMethod:i}){let l=!1,u=()=>{};return new ReadableStream({start:d=>{let c,p,h,m=!1,g=!1;u=e=>{null!=c?c.cancel().catch(()=>{}):o.cancel().catch(()=>{}),null==h||h.close(e)};let f=e=>{l||(l=!0,u(),ng(d,e,i))},y=async e=>{let t=o.getReader();c=t;try{for(;;){let{done:r,value:a}=await t.read();if(r||l)break;let n="string"==typeof a?function(e){let t=tc(e.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(t,e=>e.codePointAt(0))}(a):a;for(let t=0;t<n.length&&!l;t+=65536)e.send(n.subarray(t,t+65536)),await tu(e)}}finally{t.releaseLock(),c===t&&(c=void 0)}l||g||e.send(JSON.stringify({type:"transcription-stream.audio-done"}))};h=function({url:e,protocols:t,headers:r,webSocket:a,abortSignal:n,onOpen:o,onMessageText:s,onProcessingError:i,onSocketError:l,onClose:u,onAbort:d}){var c,p;let h,m,g=e=>{null!=m&&(null==n||n.removeEventListener("abort",m),m=void 0);try{null==h||h.close(e)}catch(e){}};if(null==n?void 0:n.aborted)return null==d||d(null!=(c=n.reason)?c:Error("Aborted")),{socket:void 0,close:g};try{h=new(function(e){let t=null!=e?e:globalThis.WebSocket;if(null==t)throw Error("No WebSocket implementation available.");return t}(a))(e,t,{headers:(p=null!=r?r:{},Object.fromEntries(Object.entries(p).filter(([e,t])=>null!=t)))})}catch(e){return i(e),{socket:void 0,close:g}}null!=n&&null!=d&&(m=()=>{var e;return d(null!=(e=n.reason)?e:Error("Aborted"))},n.addEventListener("abort",m,{once:!0}));let f=h;h.onopen=()=>{try{null==o||o(f)}catch(e){i(e)}};let y=Promise.resolve();return h.onmessage=e=>{y=y.then(()=>tl(e.data)).then(e=>s(e)).catch(i)},h.onerror=()=>{y=y.then(()=>null==l?void 0:l()).catch(i)},h.onclose=e=>{let t="number"==typeof(null==e?void 0:e.code)?e.code:void 0,r="string"==typeof(null==e?void 0:e.reason)?e.reason:void 0;y=y.then(()=>null==u?void 0:u({code:t,reason:r})).catch(i)},{socket:h,close:g}}({url:t,protocols:r,headers:a,webSocket:e,abortSignal:s,onAbort:e=>{l||(l=!0,u(),d.error(e))},onProcessingError:f,onOpen:e=>{e.send(JSON.stringify(n)),y(e).catch(f)},onMessageText:e=>{if(l)return;let t=function(e){let t;try{t=tW(e)}catch(e){return}if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t;switch(r.type){case"stream-start":return Array.isArray(r.warnings)&&r.warnings.every(rz)?r:void 0;case"transcript-delta":return rL(r.delta)&&rB(r.id,rL)&&rB(r.providerMetadata,tz)?r:void 0;case"transcript-partial":return rL(r.text)&&rB(r.id,rL)&&rB(r.startSecond,rq)&&rB(r.durationInSeconds,rq)&&rB(r.channelIndex,rq)&&rB(r.providerMetadata,tz)?r:void 0;case"transcript-final":return rL(r.text)&&rB(r.id,rL)&&rB(r.startSecond,rq)&&rB(r.endSecond,rq)&&rB(r.channelIndex,rq)&&rB(r.providerMetadata,tz)?r:void 0;case"finish":return rL(r.text)&&Array.isArray(r.segments)&&r.segments.every(rH)&&rB(r.language,rL)&&rB(r.durationInSeconds,rq)&&rB(r.providerMetadata,tz)?r:void 0;case"response-metadata":{if(!(rB(r.modelId,rL)&&rB(r.headers,tz)))return;let e=r.timestamp;if(null==e)return{...r,timestamp:void 0};if("string"!=typeof e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:{...r,timestamp:t}}case"raw":return"rawValue"in r?r:void 0;case"error":return"error"in r?r:void 0;default:return}}(e);if(null!=t){if("finish"===t.type){l=!0,d.enqueue(t),d.close(),u(1e3);return}"error"===t.type&&(m=!0,p=t.error,g=!0,null!=c?(c.cancel().catch(()=>{}),c=void 0):o.cancel().catch(()=>{})),d.enqueue(t)}},onSocketError:()=>{f(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(m){if(l)return;ny(p,i).then(f);return}f(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{l||(l=!0,u())}})}({webSocket:this.config.webSocket,url:nc(this.config.baseURL,this.modelId),protocols:null==(l=(null==(i=(s=tw(d)).authorization)?void 0:i.startsWith("Bearer "))?i.slice(7):void 0)?[rY]:rW(rY,l,{teamIdOrSlug:s[aE]}),headers:d,startFrame:p,audio:e.audio,abortSignal:e.abortSignal,authMethod:c}),request:{body:p},response:{timestamp:u,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function nc(e,t){let r=new URL(`${e.replace(/^http/,"ws")}/transcription-model`);return r.searchParams.set("ai-model-id",t),r.toString()}var np=rK.object({}).catchall(rK.unknown()),nh=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),nm=rK.object({text:rK.string(),segments:rK.array(rK.object({text:rK.string(),startSecond:rK.number(),endSecond:rK.number()})).optional(),language:rK.string().nullish(),durationInSeconds:rK.number().nullish(),warnings:rK.array(nh).optional(),providerMetadata:rK.record(rK.string(),np).optional()});async function ng(e,t,r){e.error(await a_(t,r))}var nf={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 ny(e,t){return"object"==typeof e&&null!=e&&"message"in e&&"string"==typeof e.message&&"type"in e&&"string"==typeof e.type&&e.type in nf?av({response:{error:{message:e.message,type:e.type}},statusCode:nf[e.type],authMethod:t}):Error(`AI Gateway transcription stream failed: ${null!=e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message?e.message:eU(e)}`)}var nv=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t,r;let a,n=await this.config.createClientSecret({modelId:this.modelId,...(null==e?void 0:e.expiresAfterSeconds)!=null&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:n.token,url:(t=this.config.baseURL,r=this.modelId,(a=new URL(`${t.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",r),a.toString()),...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}getWebSocketConfig(e){return{url:e.url,protocols:rW("ai-gateway-realtime.v1",e.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(e){return e}serializeClientEvent(e){return e}buildSessionConfig(e){return e}},nb=rS({id:"gateway.exa_search",inputSchema:rg(()=>rv(rK.object({query:rK.string().describe("Natural-language web search query. This is required."),type:rK.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:rK.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:rK.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:rK.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:rK.array(rK.string()).optional().describe("Only return results from these domains."),exclude_domains:rK.array(rK.string()).optional().describe("Exclude results from these domains."),start_published_date:rK.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:rK.string().optional().describe("Only return links published before this ISO 8601 date."),contents:rK.object({text:rK.union([rK.boolean(),rK.object({max_characters:rK.number().optional(),include_html_tags:rK.boolean().optional(),verbosity:rK.enum(["compact","standard","full"]).optional(),include_sections:rK.array(rK.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:rK.array(rK.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:rK.union([rK.boolean(),rK.object({query:rK.string().optional(),max_characters:rK.number().optional()})]).optional(),max_age_hours:rK.number().optional(),livecrawl_timeout:rK.number().optional(),subpages:rK.number().optional(),subpage_target:rK.union([rK.string(),rK.array(rK.string())]).optional(),extras:rK.object({links:rK.number().optional(),image_links:rK.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:rg(()=>rv(rK.union([rK.object({requestId:rK.string(),searchType:rK.string().optional(),resolvedSearchType:rK.string().optional(),results:rK.array(rK.object({title:rK.string(),url:rK.string(),id:rK.string(),publishedDate:rK.string().nullable().optional(),author:rK.string().nullable().optional(),image:rK.string().nullable().optional(),favicon:rK.string().nullable().optional(),text:rK.string().optional(),highlights:rK.array(rK.string()).optional(),highlightScores:rK.array(rK.number()).optional(),summary:rK.string().optional(),subpages:rK.array(rK.any()).optional(),extras:rK.object({links:rK.array(rK.string()).optional(),imageLinks:rK.array(rK.string()).optional()}).optional()})),costDollars:rK.object({total:rK.number().optional(),search:rK.record(rK.string(),rK.number()).optional()}).optional()}),rK.object({error:rK.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nw=rS({id:"gateway.parallel_search",inputSchema:rg(()=>rv(rK.object({objective:rK.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:rK.array(rK.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:rK.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:rK.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:rK.object({include_domains:rK.array(rK.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:rK.array(rK.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:rK.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:rK.object({max_chars_per_result:rK.number().optional().describe("Maximum characters per result."),max_chars_total:rK.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:rK.object({max_age_seconds:rK.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:rg(()=>rv(rK.union([rK.object({searchId:rK.string(),results:rK.array(rK.object({url:rK.string(),title:rK.string(),excerpt:rK.string(),publishDate:rK.string().nullable().optional(),relevanceScore:rK.number().optional()}))}),rK.object({error:rK.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nx=rS({id:"gateway.perplexity_search",inputSchema:rg(()=>rv(rK.object({query:rK.union([rK.string(),rK.array(rK.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:rK.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:rK.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:rK.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:rK.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:rK.array(rK.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:rK.array(rK.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:rK.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:rK.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:rK.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:rK.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:rK.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:rg(()=>rv(rK.union([rK.object({results:rK.array(rK.object({title:rK.string(),url:rK.string(),snippet:rK.string(),date:rK.string().optional(),lastUpdated:rK.string().optional()})),id:rK.string()}),rK.object({error:rK.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nk=rK.object({count:rK.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:rK.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:rK.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:rK.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:rK.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:rK.array(rK.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:rK.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),nI=rK.object({count:rK.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:rK.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:rK.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:rK.array(rK.string()).optional().describe("Only return results from these bare domains."),exclude_domains:rK.array(rK.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:rK.number().optional().describe("Maximum characters in each web-result snippet."),highlights:rK.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:rK.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:rK.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:rK.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),n_=rg(()=>rv(rK.object({query:rK.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:rK.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:rK.object({data:nk.optional(),web:nI.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:rK.object({latitude:rK.number().describe("Latitude between -90 and 90."),longitude:rK.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:rK.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:rK.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:rK.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:rK.object({image_dark_mode:rK.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:rK.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:rK.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),nj=rK.union([rK.boolean(),rK.number(),rK.string()]).nullable(),nE=rK.object({content_format:rK.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:rK.number().optional(),data:rK.string().nullish(),records:rK.array(rK.record(rK.string(),nj)).nullish(),dataset:rK.object({columns:rK.array(rK.object({name:rK.string(),type:rK.enum(["boolean","date","datetime","number","string"]),unit:rK.string().nullish()})),rows:rK.array(rK.array(nj)),total_rows:rK.number(),truncated:rK.boolean(),ref:rK.string(),sources:rK.array(rK.object({name:rK.string(),index:rK.enum(["data","web"]).optional()})),provenance:rK.enum(["query","web_extraction"]).optional()}).nullish(),card_data:rK.object({}).passthrough().nullish(),card_data_schema:rK.object({}).passthrough().nullish(),url:rK.string().nullish(),expires_at:rK.string().nullish(),total_rows:rK.number().nullish(),truncated:rK.boolean().optional(),export_pricing:rK.object({baseline_usd:rK.number(),free_rows:rK.number(),max_rows_ceiling:rK.number(),row_cpm_usd:rK.number()}).nullish(),manifest:rK.array(rK.object({dtype:rK.enum(["boolean","date","datetime","number","string"]).nullish(),entity:rK.string().nullish(),metric:rK.string().nullish(),name:rK.string().nullish(),unit:rK.string().nullish()})).nullish()}).passthrough(),nS=rK.object({card_id:rK.string().nullish(),title:rK.string().nullish(),description:rK.string().nullish(),semantic_description:rK.string().nullish(),webpage_url:rK.string().nullish(),image_url:rK.string().nullish(),embed_url:rK.string().nullish(),sources:rK.array(rK.object({source_name:rK.string().nullish(),source_description:rK.string().nullish(),source_index:rK.enum(["data","web"]),source_text:rK.string().nullish(),url:rK.string().nullish()})).nullish(),methodologies:rK.array(rK.object({methodology_name:rK.string().nullable(),methodology_description:rK.string().nullable()})).nullish(),source_indexes:rK.array(rK.enum(["data","web"])).nullish(),card_type:rK.string().nullish(),relevance:rK.enum(["High","Low","Medium"]).nullish(),content:nE.nullish(),exportable:rK.boolean().optional(),nodes:rK.array(rK.object({id:rK.string(),type:rK.enum(["entity","metric"]),name:rK.string(),description:rK.string().nullish()})).nullish(),metric_definitions:rK.array(rK.object({name:rK.string(),definition:rK.string()})).nullish(),data_freshness:rK.object({coverage_end:rK.string().nullish(),data_as_of:rK.string().nullish(),last_updated:rK.string().nullish()}).nullish()}).passthrough(),nM=rK.object({title:rK.string(),url:rK.string(),snippet:rK.string().nullish(),source_name:rK.string().nullish(),publish_date:rK.string().nullish(),content:nE.nullish()}).passthrough(),nA=rS({id:"gateway.tako_search",inputSchema:n_,outputSchema:rg(()=>rv(rK.union([rK.object({request_id:rK.string(),cards:rK.array(nS).optional(),web_results:rK.array(nM).optional(),usage:rK.object({total_cost_usd:rK.number(),compute:rK.object({cost_usd:rK.number()}).nullish(),data:rK.object({cost_usd:rK.number(),datasets:rK.number()}).nullish()}).nullish(),related:rK.array(rK.object({}).passthrough()).nullish()}).passthrough(),rK.object({error:rK.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nT={exaSearch:(e={})=>nb(e),parallelSearch:(e={})=>nw(e),perplexitySearch:(e={})=>nx(e),takoSearch:(e={})=>nA(e)};async function nR(){var e;return null==(e=(0,rG.getContext)().headers)?void 0:e["x-vercel-id"]}var nC=rK.object({token:rK.string(),expiresAt:rK.number().nullish()});async function nO(e){let t=tH({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await (0,rG.getVercelOidcToken)(),authMethod:"oidc"}}!function(e={}){var t,r,a;let n=null,o=null,s=null!=(t=e.metadataCacheRefreshMillis)?t:3e5,i=0,l=null!=(r=null==(a=e.baseURL)?void 0:a.replace(/\/$/,""))?r:"https://ai-gateway.vercel.sh/v4/ai",u=t=>tx({Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":"0.0.1",[aj]:t.authMethod,...null!=e.teamIdOrSlug?{[aE]:e.teamIdOrSlug}:{},...e.headers},"ai-sdk/gateway/4.0.75"),d=async()=>{try{return u(await nO(e))}catch(e){throw r1.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},c=async()=>{try{return await nO(e)}catch(e){throw r1.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},p=async t=>{if(void 0!==globalThis.window)throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() or gateway.experimental_transcription.getToken() from your server and pass the returned token to the client.");let r=u(await c()),a=new URL("/v1/realtime/client-secrets",l).toString();try{let{value:n}=await rj({url:a,headers:r,body:{model:t.modelId,...null!=t.routeKind&&{routeKind:t.routeKind},...null!=t.expiresAfterSeconds&&{expiresIn:t.expiresAfterSeconds}},successfulResponseHandler:rC(nC),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:e.fetch});return{token:n.token,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}catch(e){throw await a_(e,await aS(r))}},h=()=>{let e=tH({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),t=tH({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),r=tH({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),a=tH({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let n=await nR();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...r&&{"ai-o11y-region":r},...n&&{"ai-o11y-request-id":n},...a&&{"ai-o11y-project-id":a}}}},m=t=>new aF(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()}),g=async()=>{var t,r,a;let u=null!=(a=null==(r=null==(t=e._internal)?void 0:t.currentDate)?void 0:r.call(t).getTime())?a:Date.now();return(!n||u-i>s)&&(i=u,n=new aT({baseURL:l,headers:d,fetch:e.fetch}).getAvailableModels().then(e=>(o=e,e)).catch(async e=>{throw await a_(e,await aS(await d()))})),o?Promise.resolve(o):n},f=async()=>new aT({baseURL:l,headers:d,fetch:e.fetch}).getCredits().catch(async e=>{throw await a_(e,await aS(await d()))}),y=async t=>new aO({baseURL:l,headers:d,fetch:e.fetch}).getSpendReport(t).catch(async e=>{throw await a_(e,await aS(await d()))}),v=async t=>new aP({baseURL:l,headers:d,fetch:e.fetch}).getGenerationInfo(t).catch(async e=>{throw await a_(e,await aS(await d()))}),b=function(e){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return m(e)};b.specificationVersion="v4",b.getAvailableModels=g,b.getCredits=f,b.getSpendReport=y,b.getGenerationInfo=v,b.imageModel=t=>new aQ(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()}),b.languageModel=m;let w=t=>new aK(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});b.embeddingModel=w,b.textEmbeddingModel=w,b.videoModel=t=>new a6(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});let x=t=>new na(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});b.rerankingModel=x,b.reranking=x;let k=t=>new ns(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});b.speechModel=k,b.speech=k;let I=t=>new nd(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h(),webSocket:e.webSocket});b.transcriptionModel=I,b.transcription=I,b.experimental_transcription=Object.assign(e=>I(e),{getToken:async e=>{let t=await p({modelId:e.model,routeKind:"transcription",...null!=e.expiresAfterSeconds&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:t.token,url:nc(l,e.model),...null!=t.expiresAt&&{expiresAt:t.expiresAt}}}});let _=t=>new nv(t,{provider:"gateway.realtime",baseURL:l,teamIdOrSlug:e.teamIdOrSlug,createClientSecret:p});b.experimental_realtime=Object.assign(e=>_(e),{getToken:async e=>{let{model:t,...r}=e,a=_(t),n=await a.doCreateClientSecret(r);return{token:n.token,url:n.url,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}}),b.chat=b.languageModel,b.embedding=b.embeddingModel,b.image=b.imageModel,b.video=b.videoModel,b.tools=nT}();var nN=Object.defineProperty,nP="AI_InvalidArgumentError",n$=`vercel.ai.error.${nP}`,nD=Symbol.for(n$),nU=class extends(z=eA,B=nD,z){constructor({parameter:e,value:t,message:r}){super({name:nP,message:`Invalid argument for parameter ${e}: ${r}`}),this[B]=!0,this.parameter=e,this.value=t}static isInstance(e){return eA.hasMarker(e,n$)}},nF=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 nL="AI_NoObjectGeneratedError",nq=`vercel.ai.error.${nL}`,nB=Symbol.for(nq),nz=class extends(V=eA,H=nB,V){constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:n,finishReason:o}){super({name:nL,message:e,cause:t}),this[H]=!0,this.text=r,this.response=a,this.usage=n,this.finishReason=o}static isInstance(e){return eA.hasMarker(e,nq)}},nH=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 nV="AI_UIMessageStreamError",nZ=`vercel.ai.error.${nV}`,nG=Symbol.for(nZ),nY=class extends(G=eA,Z=nG,G){constructor({chunkType:e,chunkId:t,message:r}){super({name:nV,message:r}),this[Z]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return eA.hasMarker(e,nZ)}},nW=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 nK=async({url:e,maxBytes:t,abortSignal:r})=>{var a;let n=e.toString();try{let e=tx({},"ai-sdk/7.0.93",tm()),o=await tU({url:n,headers:e,abortSignal:r});if(!o.ok)throw await tk(o),new tE({url:n,statusCode:o.status,statusText:o.statusText});return{data:await tF({response:o,url:n,maxBytes:null!=t?t:0x80000000}),mediaType:null!=(a=o.headers.get("content-type"))?a:void 0}}catch(e){if(tE.isInstance(e))throw e;throw new tE({url:n,cause:e})}},nJ={array:rZ.array,boolean:rZ.boolean,custom:rZ.custom,discriminatedUnion:rZ.discriminatedUnion,enum:rZ.enum,instanceof:rZ.instanceof,lazy:rZ.lazy,literal:rZ.literal,looseObject:rZ.looseObject,never:rZ.never,null:rZ.null,number:rZ.number,object:rZ.object,record:rZ.record,string:rZ.string,union:rZ.union,unknown:rZ.unknown},nX=nJ.lazy(()=>nJ.union([nJ.null(),nJ.string(),nJ.number(),nJ.boolean(),nJ.record(nJ.string(),nX.optional()),nJ.array(nX)])),nQ=nJ.record(nJ.string(),nJ.record(nJ.string(),nX.optional())),n0=nJ.union([nJ.string(),nJ.instanceof(Uint8Array),nJ.instanceof(ArrayBuffer),nJ.custom(function(e){var t,r;return null!=(r=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&r},{message:"Must be a Buffer"})]),n1=nJ.record(nJ.string(),nJ.string()),n2=nJ.object({type:nJ.literal("text"),text:nJ.string(),providerOptions:nQ.optional()}),n5=nJ.object({type:nJ.literal("image"),image:nJ.union([n0,nJ.instanceof(URL),n1]),mediaType:nJ.string().optional(),providerOptions:nQ.optional()}),n4=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("data"),data:n0}),nJ.object({type:nJ.literal("url"),url:nJ.instanceof(URL)}),nJ.object({type:nJ.literal("reference"),reference:n1}),nJ.object({type:nJ.literal("text"),text:nJ.string()})]),n6=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("data"),data:n0}),nJ.object({type:nJ.literal("url"),url:nJ.instanceof(URL)})]),n9=nJ.object({type:nJ.literal("file"),data:nJ.union([n4,n0,nJ.instanceof(URL),n1]),filename:nJ.string().optional(),mediaType:nJ.string(),providerOptions:nQ.optional()}),n3=nJ.object({type:nJ.literal("reasoning"),text:nJ.string(),providerOptions:nQ.optional()}),n7=nJ.object({type:nJ.literal("custom"),kind:nJ.string().transform(e=>e),providerOptions:nQ.optional()}),n8=nJ.object({type:nJ.literal("reasoning-file"),data:nJ.union([n6,n0,nJ.instanceof(URL)]),mediaType:nJ.string(),providerOptions:nQ.optional()}),oe=nJ.object({type:nJ.literal("tool-call"),toolCallId:nJ.string(),toolName:nJ.string(),input:nJ.unknown(),providerOptions:nQ.optional(),providerExecuted:nJ.boolean().optional()}),ot=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("text"),value:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("json"),value:nX,providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("execution-denied"),reason:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("error-text"),value:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("error-json"),value:nX,providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("content"),value:nJ.array(nJ.union([nJ.object({type:nJ.literal("text"),text:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file"),data:n4,mediaType:nJ.string(),filename:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-data"),data:nJ.string(),mediaType:nJ.string(),filename:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-url"),url:nJ.string(),mediaType:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-id"),fileId:nJ.union([nJ.string(),nJ.record(nJ.string(),nJ.string())]),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-reference"),providerReference:nJ.record(nJ.string(),nJ.string()),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-data"),data:nJ.string(),mediaType:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-url"),url:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-file-id"),fileId:nJ.union([nJ.string(),nJ.record(nJ.string(),nJ.string())]),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-file-reference"),providerReference:nJ.record(nJ.string(),nJ.string()),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("custom"),providerOptions:nQ.optional()})]))})]),or=nJ.object({type:nJ.literal("tool-result"),toolCallId:nJ.string(),toolName:nJ.string(),output:ot,providerOptions:nQ.optional()}),oa=nJ.object({type:nJ.literal("tool-approval-request"),approvalId:nJ.string(),toolCallId:nJ.string(),reason:nJ.string().optional()}),on=nJ.object({type:nJ.literal("tool-approval-response"),approvalId:nJ.string(),approved:nJ.boolean(),reason:nJ.string().optional()}),oo=nJ.object({role:nJ.literal("system"),content:nJ.string(),providerOptions:nQ.optional()}),os=nJ.object({role:nJ.literal("user"),content:nJ.union([nJ.string(),nJ.array(nJ.union([n2,n5,n9]))]),providerOptions:nQ.optional()}),oi=nJ.object({role:nJ.literal("assistant"),content:nJ.union([nJ.string(),nJ.array(nJ.union([n2,n7,n9,n3,n8,oe,or,oa]))]),providerOptions:nQ.optional()}),ol=nJ.object({role:nJ.literal("tool"),content:nJ.array(nJ.union([or,on])),providerOptions:nQ.optional()});nJ.union([oo,os,oi,ol]);var ou={},od={array:()=>og,choice:()=>ov,json:()=>ob,object:()=>om,text:()=>oh};for(var oc in od)nN(ou,oc,{get:od[oc],enumerable:!0});async function op(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await rk({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await rk({text:function(e){let t=["ROOT"],r=-1,a=null,n=0;function o(e,n,o){switch(e){case'"':r=n,t.pop(),t.push(o),t.push("INSIDE_STRING");break;case"f":case"t":case"n":r=n,a=n,t.pop(),t.push(o),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r=n,t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"{":r=n,t.pop(),t.push(o),t.push("INSIDE_OBJECT_START");break;case"[":r=n,t.pop(),t.push(o),t.push("INSIDE_ARRAY_START")}}function s(e,a){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":r=a,t.pop()}}function i(e,a){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=a,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case"ROOT":o(u,l,"FINISH");break;case"INSIDE_OBJECT_START":switch(u){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":r=l,t.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===u&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":o(u,l,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":s(u,l);break;case"INSIDE_STRING":switch(u){case'"':t.pop(),r=l;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:r=l}break;case"INSIDE_ARRAY_START":"]"===u?(r=l,t.pop()):(r=l,o(u,l,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(u){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=l,t.pop();break;default:r=l}break;case"INSIDE_ARRAY_AFTER_COMMA":o(u,l,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),"u"===u?(n=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):r=l;break;case"INSIDE_STRING_UNICODE_ESCAPE":(u>="0"&&u<="9"||u>="A"&&u<="F"||u>="a"&&u<="f")&&4==++n&&(t.pop(),r=l);break;case"INSIDE_NUMBER":switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r=l;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(u,l);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(u,l);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l);break;default:t.pop()}break;case"INSIDE_LITERAL":{let n=e.substring(a,l+1);"false".startsWith(n)||"true".startsWith(n)||"null".startsWith(n)?r=l:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?s(u,l):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l))}}}let l=e.slice(0,r+1);for(let r=t.length-1;r>=0;r--)switch(t[r]){case"INSIDE_STRING":l+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":l+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":l+="]";break;case"INSIDE_LITERAL":{let t=e.substring(a,e.length);"true".startsWith(t)?l+="true".slice(t.length):"false".startsWith(t)?l+="false".slice(t.length):"null".startsWith(t)&&(l+="null".slice(t.length))}}return l}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var oh=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:e})=>e,parsePartialOutput:async({text:e})=>({partial:e}),createElementStreamTransform(){}}),om=({schema:e,name:t,description:r})=>{let a=ry(e);return{name:"object",responseFormat:rM(a.jsonSchema).then(e=>({type:"json",schema:e,...null!=t&&{name:t},...null!=r&&{description:r}})),async parseCompleteOutput({text:e},t){let r=await rk({text:e});if(!r.success)throw new nz({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let n=await rw({value:r.value,schema:a});if(!n.success)throw new nz({message:"No object generated: response did not match schema.",cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await op(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value}}},createElementStreamTransform(){}}},og=({element:e,minItems:t,maxItems:r,name:a,description:n})=>{if(of({name:"minItems",value:t}),of({name:"maxItems",value:r}),null!=t&&null!=r&&t>r)throw new nU({parameter:"minItems",value:t,message:"minItems must be less than or equal to maxItems"});let o=ry(e);return{name:"array",responseFormat:rM(o.jsonSchema).then(e=>{let{$schema:o,definitions:s,$defs:i,...l}=e;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=s&&{definitions:s},...null!=i&&{$defs:i},type:"object",properties:{elements:{type:"array",items:l,...null!=t&&{minItems:t},...null!=r&&{maxItems:r}}},required:["elements"],additionalProperties:!1},...null!=a&&{name:a},...null!=n&&{description:n}}}),async parseCompleteOutput({text:e},a){let n=await rk({text:e});if(!n.success)throw new nz({message:"No object generated: could not parse the response.",cause:n.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let s=n.value;if(null==s||"object"!=typeof s||!("elements"in s)||!Array.isArray(s.elements))throw new nz({message:"No object generated: response did not match schema.",cause:new e5({value:s,cause:"response must be an object with an elements array"}),text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let i=oy({value:s.elements,minItems:t,maxItems:r});if(null!=i)throw new nz({message:"No object generated: response did not match schema.",cause:i,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let l=[];for(let t of s.elements){let r=await rw({value:t,schema:o});if(!r.success)throw new nz({message:"No object generated: response did not match schema.",cause:r.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});l.push(r.value)}return l},async parsePartialOutput({text:e}){let t=await op(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let e=t.value;if(null==e||"object"!=typeof e||!("elements"in e)||!Array.isArray(e.elements))return;let r="repaired-parse"===t.state&&e.elements.length>0?e.elements.slice(0,-1):e.elements,a=[];for(let e of r){let t=await rw({value:e,schema:o});t.success&&a.push(t.value)}return{partial:a}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},a){if(null!=t)for(;e<t.length;e++){if(null!=r&&e>=r)return void a.error(oy({value:t,maxItems:r}));a.enqueue(t[e])}}})}}};function of({name:e,value:t}){if(null!=t){if(!Number.isInteger(t))throw new nU({parameter:e,value:t,message:`${e} must be an integer`});if(t<0)throw new nU({parameter:e,value:t,message:`${e} must be greater than or equal to 0`})}}function oy({value:e,minItems:t,maxItems:r}){return null!=t&&e.length<t?new e5({value:e,cause:`elements array must contain at least ${t} items`}):null!=r&&e.length>r?new e5({value:e,cause:`elements array must contain at most ${r} items`}):void 0}var ov=({options:e,name:t,description:r})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...null!=t&&{name:t},...null!=r&&{description:r}}),async parseCompleteOutput({text:t},r){let a=await rk({text:t});if(!a.success)throw new nz({message:"No object generated: could not parse the response.",cause:a.error,text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});let n=a.value;if(null==n||"object"!=typeof n||!("result"in n)||"string"!=typeof n.result||!e.includes(n.result))throw new nz({message:"No object generated: response did not match schema.",cause:new e5({value:n,cause:"response must be an object that contains a choice value."}),text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});return n.result},async parsePartialOutput({text:t}){let r=await op(t);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let t=r.value;if(null==t||"object"!=typeof t||!("result"in t)||"string"!=typeof t.result)return;let a=e.filter(e=>e.startsWith(t.result));if("successful-parse"===r.state)return a.includes(t.result)?{partial:t.result}:void 0;return 1===a.length?{partial:a[0]}:void 0}}},createElementStreamTransform(){}}),ob=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=e&&{name:e},...null!=t&&{description:t}}),async parseCompleteOutput({text:e},t){let r=await rk({text:e});if(!r.success)throw new nz({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return r.value},async parsePartialOutput({text:e}){let t=await op(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===t.value?void 0:{partial:t.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,tL({prefix:"aitxt",size:24}),tL({prefix:"call",size:24}),TransformStream;var ow=nJ.record(nJ.string(),nX.optional()),ox=rg(()=>rv(nJ.union([nJ.looseObject({type:nJ.literal("text-start"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("text-delta"),id:nJ.string(),delta:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("text-end"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("error"),errorText:nJ.string()}),nJ.looseObject({type:nJ.literal("tool-input-start"),toolCallId:nJ.string(),toolName:nJ.string(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),title:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-input-delta"),toolCallId:nJ.string(),inputTextDelta:nJ.string()}),nJ.looseObject({type:nJ.literal("tool-input-available"),toolCallId:nJ.string(),toolName:nJ.string(),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),title:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-input-error"),toolCallId:nJ.string(),toolName:nJ.string(),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),errorText:nJ.string(),title:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-approval-request"),approvalId:nJ.string(),toolCallId:nJ.string(),approvalDescriptor:nJ.unknown().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-approval-response"),approvalId:nJ.string(),approved:nJ.boolean(),reason:nJ.string().optional(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("tool-output-available"),toolCallId:nJ.string(),output:nJ.unknown(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),preliminary:nJ.boolean().optional()}),nJ.looseObject({type:nJ.literal("tool-output-error"),toolCallId:nJ.string(),errorText:nJ.string(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional()}),nJ.looseObject({type:nJ.literal("tool-output-denied"),toolCallId:nJ.string()}),nJ.looseObject({type:nJ.literal("reasoning-start"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("reasoning-delta"),id:nJ.string(),delta:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("reasoning-end"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("custom"),kind:nJ.string().transform(e=>e),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("source-url"),sourceId:nJ.string(),url:nJ.string(),title:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("source-document"),sourceId:nJ.string(),mediaType:nJ.string(),title:nJ.string(),filename:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("file"),url:nJ.string(),mediaType:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("reasoning-file"),url:nJ.string(),mediaType:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.custom(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:nJ.string().optional(),data:nJ.unknown(),transient:nJ.boolean().optional()}),nJ.looseObject({type:nJ.literal("start-step")}),nJ.looseObject({type:nJ.literal("finish-step")}),nJ.looseObject({type:nJ.literal("reset-step")}),nJ.looseObject({type:nJ.literal("start"),messageId:nJ.string().optional(),messageMetadata:nJ.unknown().optional()}),nJ.looseObject({type:nJ.literal("finish"),finishReason:nJ.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:nJ.unknown().optional()}),nJ.looseObject({type:nJ.literal("abort"),reason:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("message-metadata"),messageMetadata:nJ.unknown()})])));function ok(){return Object.create(null)}function oI(e){return e.type.startsWith("tool-")}function o_(e){return"dynamic-tool"===e.type}function oj(e){return oI(e)||o_(e)}function oE(e){return e.type.split("-").slice(1).join("-")}function oS(e){return o_(e)?e.toolName:oE(e)}async function oM({stream:e,onError:t,abortSignal:r}){let a=e.getReader(),n=()=>{a.cancel().catch(()=>{})};(null==r?void 0:r.aborted)?n():null==r||r.addEventListener("abort",n,{once:!0});try{for(;;){let{done:e}=await a.read();if(e)break}}catch(e){null==t||t(e)}finally{null==r||r.removeEventListener("abort",n),a.releaseLock()}}tL({prefix:"aitxt",size:24}),tL({prefix:"call",size:24}),tL({prefix:"aitxt",size:24}),tL({prefix:"call",size:24});var oA=nJ.record(nJ.string(),nX.optional()),oT=nJ.record(nJ.string(),nJ.string());function oR(e){return({url:t,abortSignal:r})=>nK({url:t,maxBytes:null==e?void 0:e.maxBytes,abortSignal:r})}rg(()=>rv(nJ.array(nJ.object({id:nJ.string(),role:nJ.enum(["system","user","assistant"]),metadata:nJ.unknown().optional(),parts:nJ.array(nJ.union([nJ.object({type:nJ.literal("text"),text:nJ.string(),state:nJ.enum(["streaming","done"]).optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("reasoning"),id:nJ.string().optional(),text:nJ.string(),state:nJ.enum(["streaming","done"]).optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("custom"),kind:nJ.string(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("source-url"),sourceId:nJ.string(),url:nJ.string(),title:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("source-document"),sourceId:nJ.string(),mediaType:nJ.string(),title:nJ.string(),filename:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("file"),mediaType:nJ.string(),filename:nJ.string().optional(),url:nJ.string(),providerReference:oT.optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("reasoning-file"),mediaType:nJ.string(),url:nJ.string(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("step-start")}),nJ.object({type:nJ.string().startsWith("data-"),id:nJ.string().optional(),data:nJ.unknown()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-streaming"),input:nJ.unknown().optional(),providerExecuted:nJ.boolean().optional(),callProviderMetadata:nQ.optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-available"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-requested"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.never().optional(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.never().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-responded"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.boolean(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-available"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.unknown(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),preliminary:nJ.boolean().optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-error"),input:nJ.unknown().optional(),rawInput:nJ.unknown().optional(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.string(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-denied"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!1),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-streaming"),providerExecuted:nJ.boolean().optional(),callProviderMetadata:nQ.optional(),input:nJ.unknown().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-available"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-requested"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.never().optional(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.never().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-responded"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.boolean(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-available"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown(),output:nJ.unknown(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),preliminary:nJ.boolean().optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-error"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown().optional(),rawInput:nJ.unknown().optional(),output:nJ.never().optional(),errorText:nJ.string(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-denied"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!1),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})})]))}).superRefine((e,t)=>{"assistant"!==e.role&&0===e.parts.length&&t.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:e.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),tL({prefix:"call",size:24}),tL({prefix:"call",size:24}),new TextEncoder,tL({prefix:"aiobj",size:24});var oC=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,r)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){r(e)}}),this.processQueue()})}};tL({prefix:"aiobj",size:24}),oR();Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function oO(e){if(null==e)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async e=>{let{name:t,type:r}=e;return{type:"file",mediaType:r,filename:t,url:await new Promise((t,r)=>{let a=new FileReader;a.onload=e=>{var r;t(null==(r=e.target)?void 0:r.result)},a.onerror=e=>r(e),a.readAsDataURL(e)})}}))}tL({prefix:"call",size:24}),oR();var oN=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:n,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:s}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=n,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=s}async sendMessages({abortSignal:e,...t}){var r,a,n,o;let s=await rM(this.body),i=await rM(this.headers),l=await rM(this.credentials),u={...tw(i),...tw(t.headers)},d=await (null==(r=this.prepareSendMessagesRequest)?void 0:r.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...s,...t.body},headers:u,credentials:l,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),c=null!=(a=null==d?void 0:d.api)?a:this.api,p=(null==d?void 0:d.headers)!==void 0?tw(d.headers):u,h=(null==d?void 0:d.body)!==void 0?d.body:{...s,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},m=null!=(n=null==d?void 0:d.credentials)?n:l,g=null!=(o=this.fetch)?o:globalThis.fetch,f=await g(c,{method:"POST",headers:{"Content-Type":"application/json",...p},body:JSON.stringify(h),credentials:m,signal:e});if(!f.ok)throw Error(await f.text()||"Failed to fetch the chat response.");if(!f.body)throw Error("The response body is empty.");return this.processResponseStream(f.body)}async reconnectToStream(e){var t,r,a,n;let o=await rM(this.body),s=await rM(this.headers),i=await rM(this.credentials),l={...tw(s),...tw(e.headers)},u=await (null==(t=this.prepareReconnectToStreamRequest)?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...o,...e.body},headers:l,credentials:i,requestMetadata:e.metadata})),d=null!=(r=null==u?void 0:u.api)?r:`${this.api}/${e.chatId}/stream`,c=(null==u?void 0:u.headers)!==void 0?tw(u.headers):l,p=null!=(a=null==u?void 0:u.credentials)?a:i,h=null!=(n=this.fetch)?n:globalThis.fetch,m=await h(d,{method:"GET",headers:c,credentials:p,signal:e.abortSignal});if(204===m.status)return null;if(!m.ok)throw Error(await m.text()||"Failed to fetch the chat response.");if(!m.body)throw Error("The response body is empty.");return this.processResponseStream(m.body)}},oP=class extends oN{constructor(e={}){super(e)}processResponseStream(e){return rI({stream:e,schema:ox}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},o$=class{constructor({generateId:e=tq,id:t=e(),transport:r=new oP,messageMetadataSchema:a,dataPartSchemas:n,state:o,onError:s,onToolCall:i,onFinish:l,onData:u,sendAutomaticallyWhen:d}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new oC,this.sendMessage=async(e,t)=>{var r,a,n,o;let s;if(null==e)return void await this.makeRequest({trigger:"submit-message",messageId:null==(r=this.lastMessage)?void 0:r.id,...t});if("text"in e||"files"in e){let t,r=new AbortController;this.pendingMessagePreparations.add(r);try{t=Array.isArray(e.files)?e.files:await oO(e.files)}finally{this.pendingMessagePreparations.delete(r)}if(r.signal.aborted)return;s={parts:[...t,..."text"in e&&null!=e.text?[{type:"text",text:e.text}]:[]]}}else s=e;if(null!=e.messageId){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(-1===t)throw Error(`message with id ${e.messageId} not found`);if("user"!==this.state.messages[t].role)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{id:e.messageId,...s,role:null!=(a=s.role)?a:"user",metadata:e.metadata})}else this.state.pushMessage({...s,id:null!=(n=s.id)?n:this.generateId(),role:null!=(o=s.role)?o:"user",metadata:e.metadata});await this.makeRequest({trigger:"submit-message",messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let r=null==e?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(-1===r)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[r].role?r:r+1),await this.makeRequest({trigger:"regenerate-message",messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:"resume-stream",...e})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:r,options:a})=>this.jobExecutor.run(async()=>{let n=this.state.messages,o=n[n.length-1],s=a=>oj(a)&&"approval-requested"===a.state&&a.approval.id===e?{...a,state:"approval-responded",approval:{...a.approval,id:e,approved:t,reason:r}}:a;this.state.replaceMessage(n.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...a})})}),this.addToolOutput=async({state:e="output-available",toolCallId:t,output:r,errorText:a,options:n})=>this.jobExecutor.run(async()=>{let o=this.state.messages,s=o[o.length-1],i=n=>oj(n)&&n.toolCallId===t?{...n,state:e,output:r,errorText:a}:n;this.state.replaceMessage(o.length-1,{...s,parts:s.parts.map(i)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(i)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...n})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var e,t;for(let e of this.pendingMessagePreparations)e.abort();null==(e=this.activeResumeRequest)||e.abortController.abort(),null==(t=this.activeResponse)||t.abortController.abort()},this.id=t,this.transport=r,this.generateId=e,this.messageMetadataSchema=a,this.dataPartSchemas=n,this.state=o,this.onError=s,this.onToolCall=i,this.onFinish=l,this.onData=u,this.sendAutomaticallyWhen=d}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&"object"==typeof e&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:r,body:a,messageId:n}){var o,s,i;let l,u,d=new AbortController,c="resume-stream"===e?{abortController:d}:void 0;c&&(null==(o=this.activeResumeRequest)||o.abortController.abort(),this.activeResumeRequest=c);let p=()=>null==c||this.activeResumeRequest===c,h=()=>{this.activeResumeRequest===c&&(this.activeResumeRequest=void 0)};if("resume-stream"===e)try{let e=await this.transport.reconnectToStream({chatId:this.id,abortSignal:d.signal,metadata:t,headers:r,body:a});if(d.signal.aborted||!p()){await (null==e?void 0:e.cancel().catch(()=>{})),p()&&this.setStatus({status:"ready"}),h();return}if(null==e){this.setStatus({status:"ready"}),h();return}l=e}catch(e){if(d.signal.aborted||"AbortError"===e.name){p()&&this.setStatus({status:"ready"}),h();return}if(!p())return;this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e}),h();return}this.setStatus({status:"submitted",error:void 0});let m=this.lastMessage,g=!1,f=!1,y=!1;try{let o,s={state:function({lastMessage:e,messageId:t}){return{message:(null==e?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:ok(),activeReasoningParts:ok(),partialToolCalls:ok()}}({lastMessage:"resume-stream"===e||"regenerate-message"===e?void 0:this.state.snapshot(m),messageId:this.generateId()}),abortController:d};u=s,s.abortController.signal.addEventListener("abort",()=>{g=!0}),this.activeResponse=s,o="resume-stream"===e?l:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:s.abortController.signal,metadata:t,headers:r,body:a,trigger:e,messageId:n});let i=e=>this.jobExecutor.run(()=>s.abortController.signal.aborted?Promise.resolve():e({state:s.state,write:({updateStatus:e=!0}={})=>{var t;s.abortController.signal.aborted||(e&&this.setStatus({status:"streaming"}),s.state.message.id===(null==(t=this.lastMessage)?void 0:t.id)?this.state.replaceMessage(this.state.messages.length-1,s.state.message):this.state.pushMessage(s.state.message))}}));if(await oM({stream:function({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:a,onError:n,onToolCall:o,onData:s}){return e.pipeThrough(new TransformStream({async transform(e,i){await a(async({state:a,write:l})=>{var u,d,c,p;function h(){let e=a.message.parts,t=e.length-1;for(;t>=0&&"step-start"!==e[t].type;)t--;return e.slice(t+1)}function m(e){let t=h().filter(oj).find(t=>t.toolCallId===e);if(null==t){let r=a.message.parts;for(let a=r.length-1;a>=0;a--){let n=r[a];if(oj(n)&&n.toolCallId===e){t=n;break}}}if(null==t)throw new nY({chunkType:"tool-invocation",chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function g(e,t){var r;let n=null!=t?t:h().find(t=>oI(t)&&t.toolCallId===e.toolCallId);if(null!=n){n.state=e.state,n.input=e.input,n.output=e.output,n.errorText=e.errorText,n.rawInput=e.rawInput,n.preliminary=e.preliminary,void 0!==e.title&&(n.title=e.title),void 0!==e.toolMetadata&&(n.toolMetadata=e.toolMetadata),n.providerExecuted=null!=(r=e.providerExecuted)?r:n.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?n.resultProviderMetadata=t:n.callProviderMetadata=t)}else a.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},input:e.input,output:e.output,rawInput:e.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,preliminary:e.preliminary,...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}function f(e,t){var r,n;let o=null!=t?t:h().find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId);if(null!=o){o.state=e.state,o.toolName=e.toolName,o.input=e.input,o.output=e.output,o.errorText=e.errorText,o.rawInput=null!=(r=e.rawInput)?r:o.rawInput,o.preliminary=e.preliminary,void 0!==e.title&&(o.title=e.title),void 0!==e.toolMetadata&&(o.toolMetadata=e.toolMetadata),o.providerExecuted=null!=(n=e.providerExecuted)?n:o.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?o.resultProviderMetadata=t:o.callProviderMetadata=t)}else a.message.parts.push({type:"dynamic-tool",toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:e.input,output:e.output,errorText:e.errorText,preliminary:e.preliminary,providerExecuted:e.providerExecuted,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}async function y(e){if(null!=e){let r=null!=a.message.metadata?function e(t,r){if(void 0===t&&void 0===r)return;if(void 0===t)return r;if(void 0===r)return t;let a={...t};for(let n in r)if("__proto__"!==n&&"constructor"!==n&&"prototype"!==n&&Object.prototype.hasOwnProperty.call(r,n)){let o=r[n];if(void 0===o)continue;let s=n in t?t[n]:void 0,i=null!==o&&"object"==typeof o&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),l=null!=s&&"object"==typeof s&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp);i&&l?a[n]=e(s,o):a[n]=o}return a}(a.message.metadata,e):e;null!=t&&await rb({value:r,schema:t,context:{field:"message.metadata",entityId:a.message.id}}),a.message.metadata=r}}switch(e.type){case"text-start":{let t={type:"text",text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeTextParts[e.id]=t,a.message.parts.push(t),l();break}case"text-delta":{let t=a.activeTextParts[e.id];if(null==t)throw new nY({chunkType:"text-delta",chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(u=e.providerMetadata)?u:t.providerMetadata,l();break}case"text-end":{let t=a.activeTextParts[e.id];if(null==t)throw new nY({chunkType:"text-end",chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state="done",t.providerMetadata=null!=(d=e.providerMetadata)?d:t.providerMetadata,delete a.activeTextParts[e.id],l();break}case"custom":{let t={type:"custom",kind:e.kind,providerMetadata:e.providerMetadata};a.message.parts.push(t),l();break}case"reasoning-start":{let t={type:"reasoning",id:e.id,text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeReasoningParts[e.id]=t,a.message.parts.push(t),l();break}case"reasoning-delta":{let t=a.activeReasoningParts[e.id];if(null==t)throw new nY({chunkType:"reasoning-delta",chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(c=e.providerMetadata)?c:t.providerMetadata,l();break}case"reasoning-end":{let t=a.activeReasoningParts[e.id];if(null==t)throw new nY({chunkType:"reasoning-end",chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=null!=(p=e.providerMetadata)?p:t.providerMetadata,t.state="done",delete a.activeReasoningParts[e.id],l();break}case"file":case"reasoning-file":a.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}}),l();break;case"source-url":a.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),l();break;case"source-document":a.message.parts.push({type:"source-document",sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),l();break;case"tool-input-start":{let t=h().filter(oI);a.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),l();break}case"tool-input-delta":{let t=a.partialToolCalls[e.toolCallId];if(null==t)throw new nY({chunkType:"tool-input-delta",chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:r}=await op(t.text);t.dynamic?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}):g({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}),l();break}case"tool-input-available":e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),l(),o&&!e.providerExecuted&&await o({toolCall:e});break;case"tool-input-error":{let t=h().filter(oj).find(t=>t.toolCallId===e.toolCallId);(null!=t?"dynamic-tool"===t.type:e.dynamic)?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),l();break}case"tool-approval-request":{let t=m(e.toolCallId);t.state="approval-requested",t.approval={id:e.approvalId,...null!=e.approvalDescriptor?{descriptor:e.approvalDescriptor}:{},...null!=e.reason?{requestReason:e.reason}:{},...!0===e.isAutomatic?{isAutomatic:!0}:{},...null!=e.signature?{signature:e.signature}:{}},l();break}case"tool-approval-response":{let t=function(e){let t=a.message.parts.filter(oj).find(t=>{var r;return(null==(r=t.approval)?void 0:r.id)===e});if(null==t)throw new nY({chunkType:"tool-approval-response",chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}(e.approvalId),r=null==t.approval?{id:e.approvalId}:t.approval;t.state="approval-responded",t.approval={...r,id:e.approvalId,approved:e.approved,...null!=e.reason?{reason:e.reason}:{}},null!=e.providerExecuted&&(t.providerExecuted=e.providerExecuted),null!=e.providerMetadata&&(t.callProviderMetadata=e.providerMetadata),l();break}case"tool-output-denied":m(e.toolCallId).state="output-denied",l();break;case"tool-output-available":{let t=m(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):g({toolCallId:e.toolCallId,toolName:oE(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),l();break}case"tool-output-error":{let t=m(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):g({toolCallId:e.toolCallId,toolName:oE(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),l();break}case"start-step":a.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let e=h();a.activeTextParts=ok(),a.activeReasoningParts=ok(),a.partialToolCalls=ok(),e.length>0&&(a.message.parts.splice(a.message.parts.length-e.length,e.length),l());break}case"start":null!=e.messageId&&(a.message.id=e.messageId),await y(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&l({updateStatus:!1});break;case"finish":null!=e.finishReason&&(a.finishReason=e.finishReason),await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"message-metadata":await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"error":null==n||n(Error(e.errorText));break;default:if(e.type.startsWith("data-")){if((null==r?void 0:r[e.type])!=null){let t=a.message.parts.findIndex(t=>"id"in t&&"data"in t&&t.id===e.id&&t.type===e.type),n=t>=0?t:a.message.parts.length;await rb({value:e.data,schema:r[e.type],context:{field:`message.parts[${n}].data`,entityName:e.type,entityId:e.id}})}if(e.transient){null==s||s(e);break}let t=null!=e.id?a.message.parts.find(t=>e.type===t.type&&e.id===t.id):void 0;null!=t?t.data=e.data:a.message.parts.push(e),null==s||s(e),l()}}i.enqueue(e)})}}))}({stream:o,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:i,onError:e=>{throw e}}),abortSignal:s.abortController.signal,onError:e=>{throw e}}),g)return p()&&this.setStatus({status:"ready"}),null;p()&&this.setStatus({status:"ready"})}catch(e){if(g||"AbortError"===e.name)return g=!0,p()&&this.setStatus({status:"ready"}),null;if(!p())return null;y=!0,e instanceof TypeError&&(e.message.toLowerCase().includes("fetch")||e.message.toLowerCase().includes("network"))&&(f=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e})}finally{try{u&&(null==(s=this.onFinish)||s.call(this,{message:u.state.message,messages:this.state.messages,isAbort:g,isDisconnect:f,isError:y,finishReason:u.state.finishReason}))}finally{this.activeResponse===u&&(this.activeResponse=void 0),h()}}!y&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(i=this.lastMessage)?void 0:i.id,metadata:t,headers:r,body:a})}};e.i(560491);var oD=e.i(561866),oU=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},oF=(e,t,r)=>(oU(e,t,"read from private field"),r?r.call(e):t.get(e)),oL=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},oq=(e,t,r,a)=>(oU(e,t,"write to private field"),a?a.call(e,r):t.set(e,r),r),oB=class{constructor(e=[]){oL(this,Y,void 0),oL(this,W,"ready"),oL(this,K,void 0),oL(this,J,new Set),oL(this,X,new Set),oL(this,Q,new Set),this.pushMessage=e=>{oq(this,Y,oF(this,Y).concat(e)),oF(this,ee).call(this)},this.popMessage=()=>{oq(this,Y,oF(this,Y).slice(0,-1)),oF(this,ee).call(this)},this.replaceMessage=(e,t)=>{oq(this,Y,[...oF(this,Y).slice(0,e),this.snapshot(t),...oF(this,Y).slice(e+1)]),oF(this,ee).call(this)},this.snapshot=e=>{var t;if(null==e||"object"!=typeof e||!("parts"in e)||!Array.isArray(e.parts))return e;let r={...e,parts:e.parts.map(e=>({...e}))};return"metadata"in e&&(r.metadata=Array.isArray(t=e.metadata)?[...t]:null!=t&&"object"==typeof t&&(Object.getPrototypeOf(t)===Object.prototype||null===Object.getPrototypeOf(t))?{...t}:t),r},this["~registerMessagesCallback"]=(e,t)=>{let r=t?null!=t?(0,oD.default)(e,t):e:e;return oF(this,J).add(r),()=>{oF(this,J).delete(r)}},this["~registerStatusCallback"]=e=>(oF(this,X).add(e),()=>{oF(this,X).delete(e)}),this["~registerErrorCallback"]=e=>(oF(this,Q).add(e),()=>{oF(this,Q).delete(e)}),oL(this,ee,()=>{oF(this,J).forEach(e=>e())}),oL(this,et,()=>{oF(this,X).forEach(e=>e())}),oL(this,er,()=>{oF(this,Q).forEach(e=>e())}),oq(this,Y,e)}get status(){return oF(this,W)}set status(e){oq(this,W,e),oF(this,et).call(this)}get error(){return oF(this,K)}set error(e){oq(this,K,e),oF(this,er).call(this)}get messages(){return oF(this,Y)}set messages(e){oq(this,Y,[...e]),oF(this,ee).call(this)}};Y=new WeakMap,W=new WeakMap,K=new WeakMap,J=new WeakMap,X=new WeakMap,Q=new WeakMap,ee=new WeakMap,et=new WeakMap,er=new WeakMap;var oz=class extends o${constructor({messages:e,...t}){const r=new oB(e);super({...t,state:r}),oL(this,ea,void 0),this["~registerMessagesCallback"]=(e,t)=>oF(this,ea)["~registerMessagesCallback"](e,t),this["~registerStatusCallback"]=e=>oF(this,ea)["~registerStatusCallback"](e),this["~registerErrorCallback"]=e=>oF(this,ea)["~registerErrorCallback"](e),oq(this,ea,r)}};ea=new WeakMap;var oH=e.i(96892);let oV={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"}]]};oV.node;let oZ=(0,el.default)(oV);var oG=e.i(716327),oY=e.i(632781);let oW={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};oW.node;let oK=(0,el.default)(oW);var oJ=e.i(660302),oX=e.i(146538),oQ=e.i(968978),o0=e.i(213377),o1=e.i(647163);let o2=new oP({api:ey.queryKey.memoryEdit});function o5({notes:e}){let[t,r]=(0,ef.useState)(""),[a,n]=(0,ef.useState)({provider:null,model:""}),[o,s]=(0,ef.useState)(!1),{messages:i,sendMessage:l,setMessages:u,status:d,stop:c,error:p,clearError:h}=function({throttle:e,experimental_throttle:t,resume:r=!1,...a}={}){let n,o=null!=e?e:t,s=(0,ef.useRef)({});"chat"in a||(s.current={onToolCall:a.onToolCall,onData:a.onData,onFinish:a.onFinish,onError:a.onError,sendAutomaticallyWhen:a.sendAutomaticallyWhen,transport:a.transport});let i=()=>{var e;return null!=(e=s.current.transport)?e:null!=n?n:n=new oP},l={...a,transport:{sendMessages:e=>i().sendMessages(e),reconnectToStream:e=>i().reconnectToStream(e)},onToolCall:e=>{var t,r;return null==(r=(t=s.current).onToolCall)?void 0:r.call(t,e)},onData:e=>{var t,r;return null==(r=(t=s.current).onData)?void 0:r.call(t,e)},onFinish:e=>{var t,r;return null==(r=(t=s.current).onFinish)?void 0:r.call(t,e)},onError:e=>{var t,r;return null==(r=(t=s.current).onError)?void 0:r.call(t,e)},sendAutomaticallyWhen:e=>{var t,r,a;return null!=(a=null==(r=(t=s.current).sendAutomaticallyWhen)?void 0:r.call(t,e))&&a}},u=(0,ef.useRef)("chat"in a?a.chat:new oz(l));("chat"in a&&a.chat!==u.current||"id"in a&&null!=a.id&&u.current.id!==a.id)&&(u.current="chat"in a?a.chat:new oz(l));let d=u.current,c=(0,ef.useRef)({chat:d,messages:d.messages});c.current.chat!==d&&(c.current={chat:d,messages:d.messages});let p=(0,ef.useCallback)(e=>{let t=!0,r=d["~registerMessagesCallback"](()=>{t&&c.current.chat===d&&(c.current={chat:d,messages:d.messages},e())},o);return c.current={chat:d,messages:d.messages},()=>{t=!1,r()}},[d,o]),h=(0,ef.useCallback)(()=>c.current.messages,[]),m=(0,ef.useSyncExternalStore)(p,h,h),g=(0,ef.useCallback)(e=>d["~registerStatusCallback"](()=>{c.current.chat===d&&(("ready"===d.status||"error"===d.status)&&(c.current={chat:d,messages:d.messages}),e())}),[d]),f=(0,ef.useCallback)(()=>d.status,[d]),y=(0,ef.useSyncExternalStore)(g,f,f),v=(0,ef.useSyncExternalStore)(u.current["~registerErrorCallback"],()=>u.current.error,()=>u.current.error),b=(0,ef.useCallback)(e=>{"function"==typeof e&&(e=e(u.current.messages)),u.current.messages=e},[u]);return(0,ef.useEffect)(()=>{r&&u.current.resumeStream()},[r,u]),{id:u.current.id,messages:m,setMessages:b,sendMessage:u.current.sendMessage,regenerate:u.current.regenerate,clearError:u.current.clearError,stop:u.current.stop,error:v,resumeStream:u.current.resumeStream,status:y,addToolResult:u.current.addToolOutput,addToolOutput:u.current.addToolOutput,addToolApprovalResponse:u.current.addToolApprovalResponse}}({transport:o2}),m=(0,ef.useRef)(c);m.current=c,(0,ef.useEffect)(()=>()=>{m.current()},[]);let g=(0,ef.useRef)(new Map);for(let t of e)for(let e of t.facts)g.current.set(e.id,{text:e.text,path:t.path});let f="submitted"===d||"streaming"===d,y=!!(a.provider&&a.model.trim()),v=[...i].reverse().find(e=>"assistant"===e.role),b=v?.parts??[],w=b.filter(oj),x=b.flatMap(e=>"text"===e.type?[e.text]:[]).join(" ").trim(),k=!!p||w.some(e=>"output-error"===e.state),I=w.filter(e=>"output-available"===e.state&&oS(e)!==o0.TOOL_NAMES.memory_recall).length;(0,ef.useEffect)(()=>{if("ready"!==d||k||0===i.length)return;let e=setTimeout(()=>u([]),4e3);return()=>clearTimeout(e)},[d,k,i.length,u]);let _=f?(0,en.jsx)(oJ.ShinyText,{text:"Working on memory",className:"text-xs"}):p?(0,en.jsx)("span",{className:"text-xs text-destructive",children:p.message}):v?(0,en.jsx)("span",{className:"text-xs text-muted-foreground",children:x||(0===I?"Nothing to change":1===I?"1 change saved":`${I} changes saved`)}):null;return(0,en.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,en.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[o&&(0,en.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,en.jsx)(oX.ModelPicker,{provider:a.provider,model:a.model,unset:"Provider",onChange:n})}),w.length>0&&(0,en.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:w.map(e=>(0,en.jsx)(o6,{name:oS(e),input:e.input,state:e.state,errorText:"output-error"===e.state?e.errorText:void 0,known:g.current},e.toolCallId))}),_&&(0,en.jsx)("p",{className:"max-w-full truncate px-1",children:_}),(0,en.jsxs)("form",{onSubmit:e=>{e.preventDefault();let n=t.trim();n&&y&&!f&&(r(""),s(!1),h(),u([]),l({text:n},{body:{model:a}}))},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,en.jsx)("input",{value:t,onChange:e=>r(e.target.value),disabled:f,"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,en.jsxs)(ev.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>s(!o),className:(0,o1.cn)("max-w-44",!y&&"text-muted-foreground"),children:[y&&a.provider?(0,en.jsxs)(en.Fragment,{children:[(0,en.jsx)(oQ.ProviderIcon,{provider:a.provider,className:"size-3"}),(0,en.jsx)("span",{className:"truncate",children:a.model})]}):"Model",(0,en.jsx)(oG.ChevronDown,{className:"text-muted-foreground"})]}),(0,en.jsx)(ev.Button,{type:"submit",size:"icon-sm",loading:f,disabled:!t.trim()||!y||f,"aria-label":"Send",children:!f&&(0,en.jsx)(oH.ArrowUp,{})})]})]})})}let o4={Remember:eh.Plus,Replace:ed,Forget:oK,Rename:ed,Opened:oZ};function o6({name:e,input:t,state:r,errorText:a,known:n}){let o=function(e,t,r){let a=t??{};if(e===o0.TOOL_NAMES.memory_recall)return{kind:"Opened",path:a.path??"",lines:[],carried:!1};if(e===o0.TOOL_NAMES.memory_forget){let e=(a.factIds??[]).filter(e=>null!=e),t=e.map(e=>r.get(e));return{kind:"Forget",path:t.find(e=>e)?.path??"",lines:e.map((e,r)=>({before:t[r]?.text??`Fact #${e}`})),carried:!1}}let n=(a.facts??[]).filter(e=>null!=e),o=n.map(e=>null!=e.replaces?{before:r.get(e.replaces)?.text??`Fact #${e.replaces}`,after:e.text}:{after:e.text});a.description&&o.push({after:`“${a.description}”`});let s=(a.aliases??[]).filter(Boolean);return s.length&&o.push({after:`Called ${s.map(e=>`“${e}”`).join(", ")}`}),{kind:n.some(e=>null!=e.replaces)?"Replace":n.length?"Remember":"Rename",path:a.path??"",lines:o,carried:n.some(e=>e.alwaysLoad)}}(e,t,n),s=o4[o.kind],i="output-error"===r;return(0,en.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,en.jsx)(s,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,en.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[o.lines.map((e,t)=>(0,en.jsxs)("div",{children:[e.before&&(0,en.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:e.before}),e.after&&(0,en.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:e.after})]},`${o.kind}-${t}`)),(0,en.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[o.kind,o.path&&` \xb7 ${o.path}`,o.carried&&" · carried into every call"]}),i&&a&&(0,en.jsx)("p",{className:"text-xs text-destructive",children:a})]}),(0,en.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:i?(0,en.jsx)(eg.X,{className:"size-3.5 text-destructive"}):"output-available"===r?(0,en.jsx)(ei.Check,{className:"size-3.5"}):(0,en.jsx)(oY.Loader2,{className:"size-3.5 animate-spin"})})]})}var o9=e.i(95187);let o3=(0,o9.createServerReference)("7f06c73f32c18b1c6787e1a4b23dc14b24ac95d0f1",o9.callServer,void 0,o9.findSourceMapURL,"addFactsAction"),o7=(0,o9.createServerReference)("7fda426845399b41a1db8ce6fca24f747318adf2a4",o9.callServer,void 0,o9.findSourceMapURL,"createNoteAction"),o8=(0,o9.createServerReference)("7f88021d061b659a138f8e06f02d551a7c99f93119",o9.callServer,void 0,o9.findSourceMapURL,"deleteNoteAction"),se=(0,o9.createServerReference)("7f83cc86877f849a609fef9016c548e91581ca06ed",o9.callServer,void 0,o9.findSourceMapURL,"forgetFactAction"),st=(0,o9.createServerReference)("7f6515ffe23e68549d43aa9311acadb0367741c247",o9.callServer,void 0,o9.findSourceMapURL,"reviseFactAction"),sr=(0,o9.createServerReference)("7f1ae95e4d265a0a7b1f05c1b0e26fa69fce71f8ab",o9.callServer,void 0,o9.findSourceMapURL,"setFactAlwaysLoadAction"),sa=(0,o9.createServerReference)("7f14e59fbd131887159867d74584f5ba0dd8d28b9c",o9.callServer,void 0,o9.findSourceMapURL,"updateNoteAction");var sn=e.i(681307),so=e.i(245629);let ss=sn.z.enum(["user","call","bot"]),si=e=>"user"===e?"you":"call"===e?"on a call":"bot"===e?"a bot":"",sl=sn.z.object({id:sn.z.number(),text:sn.z.string(),alwaysLoad:sn.z.boolean(),source:ss.nullish(),createdAt:so.DateLikeSchema});sn.z.object({id:sn.z.number(),path:sn.z.string(),description:sn.z.string(),aliases:sn.z.string().array().nullish(),ownedByUser:sn.z.boolean(),hits:sn.z.number(),lastReadAt:so.DateLikeSchema.nullable(),createdAt:so.DateLikeSchema,updatedAt:so.DateLikeSchema,factCount:sn.z.number(),facts:sl.array()});let su=[{path:"profile",of:"The user themselves — their name, age, what they do, where they live, and whatever else says who they are"},{path:"preferences",of:"How they want things done, and said"},{path:"people/",of:"Someone in their life, and what matters about them"},{path:"projects/",of:"Something with an end — a trip, a purchase, a deadline, a thing being built"},{path:"topics/",of:"Something ongoing that keeps coming back"}],sd=su.filter(e=>!e.path.endsWith("/")).map(e=>e.path),sc=su.filter(e=>e.path.endsWith("/")).map(e=>e.path.slice(0,-1));RegExp(`^(?:${sd.join("|")}|(?:${sc.join("|")})/.+)$`);let sp=["profile","preferences"];function sh(e){let t=e.indexOf("/");return -1===t?e:e.slice(t+1)}function sm(e){let t,r,a;return t=e.path,!sp.includes(t)&&.15>(r=(0,so.toDate)(e.lastReadAt??e.createdAt),a=Math.max(0,(Date.now()-r.getTime())/864e5),(e.hits+1)/(1+a))}var sg=e.i(895836),sf=e.i(698570),sy=e.i(609856),sv=e.i(661504),sb=e.i(283653);let sw=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"other",label:"Other"}];function sx({note:e}){let t=e.facts.filter(e=>e.alwaysLoad).length;return(0,en.jsxs)(en.Fragment,{children:[(0,en.jsxs)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:[e.path," · ",e.hits," ",1===e.hits?"read":"reads"," ·"," ",e.lastReadAt?`last read ${(0,es.formatDistanceToNowStrict)(e.lastReadAt,{addSuffix:!0})}`:"never read back"]}),t>0&&(0,en.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[t," carried into every call"]})]})}function sk({note:e,active:t,onPick:r}){return(0,en.jsxs)("button",{type:"button",onClick:r,className:(0,o1.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",t?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground",sm(e)&&!t&&"opacity-55"),children:[(0,en.jsx)("span",{className:(0,o1.cn)("min-w-0 flex-1 truncate text-[13px]",t&&"font-medium"),children:sh(e.path)}),(0,en.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:e.factCount})]})}function sI({note:e}){let[t,r]=(0,ef.useState)(!1),[a,n]=(0,ef.useState)(""),o={onOk:()=>(0,sb.revalidate)(ey.queryKey.memory)},[s]=(0,sy.useServerAction)(sa,o),[i]=(0,sy.useServerAction)(o3,o),[l]=(0,sy.useServerAction)(st,o),[u]=(0,sy.useServerAction)(se,o),[d]=(0,sy.useServerAction)(sr,o),[c,p]=(0,sy.useServerAction)(o8,o),h=async()=>{let t=a.split("\n").map(e=>e.trim()).filter(Boolean);0!==t.length&&(await i(e.id,t),n(""))},m=async()=>{await ex.notify.confirm({title:`Forget ${e.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&c(e.id)};return(0,en.jsxs)("div",{className:(0,o1.cn)("flex min-h-full flex-col",sm(e)&&"opacity-55"),children:[(0,en.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-6 py-2.5",children:[(0,en.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:e.path}),(0,en.jsxs)("span",{className:"flex shrink-0 gap-1",children:[(0,en.jsx)(ev.Button,{size:"icon-sm",variant:t?"secondary":"ghost","aria-label":t?"Done editing":"Edit this note",onClick:()=>r(!t),children:t?(0,en.jsx)(ei.Check,{}):(0,en.jsx)(ed,{})}),(0,en.jsx)(ev.Button,{size:"icon-sm",variant:"ghost","aria-label":"Forget this note",loading:p,onClick:m,children:(0,en.jsx)(em.Trash2,{})})]})]}),(0,en.jsxs)("div",{className:"flex-1 space-y-5 px-6 py-5",children:[(0,en.jsxs)("div",{className:"space-y-1.5",children:[(0,en.jsx)("p",{className:"text-xl font-semibold",children:sh(e.path)}),t?(0,en.jsx)(s_,{text:e.description,onCommit:async t=>{await s(e.id,{description:t})}}):(0,en.jsx)("p",{className:"text-[13px] leading-relaxed text-muted-foreground",children:e.description})]}),t?(0,en.jsxs)("div",{className:"space-y-2",children:[e.facts.map(t=>(0,en.jsx)(sj,{text:t.text,alwaysLoad:t.alwaysLoad,onRevise:async r=>{await l(e.id,t.id,r)},onCarry:async r=>{await d(e.id,t.id,r)},onForget:async()=>{await u(e.id,t.id)}},t.id)),(0,en.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,en.jsx)(e_.Textarea,{value:a,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),h())},placeholder:"Add facts — one per line",className:"min-h-9 resize-none py-1.5 text-sm"}),(0,en.jsx)(ev.Button,{size:"icon",variant:"outline",disabled:!a.trim(),onClick:h,children:(0,en.jsx)(eh.Plus,{})})]})]}):0===e.facts.length?(0,en.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Nothing saved here yet — the agent adds facts during calls"}):(0,en.jsx)("ul",{className:"divide-y divide-border/60 border-y border-border/60",children:e.facts.map(e=>(0,en.jsxs)("li",{className:"flex gap-3 py-3",children:[(0,en.jsx)("span",{className:"flex w-3.5 shrink-0 justify-center pt-1",children:e.alwaysLoad?(0,en.jsx)(ep,{className:"size-3 text-foreground"}):(0,en.jsx)("span",{className:"text-muted-foreground/50",children:"—"})}),(0,en.jsx)("span",{className:"flex-1 text-sm leading-relaxed text-foreground/90",children:e.text}),(0,en.jsxs)("span",{className:"shrink-0 pt-0.5 text-right text-[11px] text-muted-foreground/50",children:[(0,en.jsx)("span",{className:"block font-mono",children:(0,eo.format)(e.createdAt,"yyyy.MM.dd")}),si(e.source)&&(0,en.jsx)("span",{className:"block",children:si(e.source)})]})]},e.id))})]})]})}function s_({text:e,onCommit:t}){let r=(0,sf.useDraft)(e,t);return(0,en.jsx)(ew.Input,{value:r.value,onChange:e=>r.set(e.target.value),onBlur:r.commit,onKeyDown:r.onKeyDown,placeholder:"One-line summary",className:"text-sm text-muted-foreground"})}function sj({text:e,alwaysLoad:t,onRevise:r,onCarry:a,onForget:n}){let o=(0,sf.useDraft)(e,r);return(0,en.jsxs)("div",{className:"flex gap-2",children:[(0,en.jsx)(ew.Input,{value:o.value,onChange:e=>o.set(e.target.value),onBlur:o.commit,onKeyDown:o.onKeyDown,className:"text-sm"}),(0,en.jsx)(ev.Button,{size:"icon",variant:t?"secondary":"ghost","aria-label":t?"Stop carrying into calls":"Carry into every call",title:"Carried into every call, without opening this note",onClick:()=>a(!t),children:(0,en.jsx)(ep,{className:(0,o1.cn)(!t&&"text-muted-foreground/60")})}),(0,en.jsx)(ev.Button,{size:"icon",variant:"ghost",onClick:n,children:(0,en.jsx)(eg.X,{})})]})}let sE=[{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 sS(){return ex.notify.component({className:"sm:max-w-lg",renderer:({close:e})=>(0,en.jsx)(sM,{onDone:e})})}function sM({onDone:e}){let[t,r]=(0,ef.useState)("people"),[a,n]=(0,ef.useState)(""),[o,s]=(0,ef.useState)(""),[i,l]=(0,ef.useState)(""),[u,d,,c]=(0,sy.useServerAction)(o7,{errorMessage:!1,onOk:()=>{(0,sb.revalidate)(ey.queryKey.memory),e()}}),p=sE.find(e=>e.key===t),h=a.trim()&&o.trim()&&!d,m=()=>{h&&u(`${t}/${a.trim()}`,o.trim(),i.split("\n").map(e=>e.trim()).filter(Boolean))};return(0,en.jsxs)(sg.SettingDialogContent,{title:"New note",description:"Where the agent files what it learns about this subject.",footer:(0,en.jsxs)(en.Fragment,{children:[(0,en.jsx)(ev.Button,{variant:"ghost",onClick:e,children:"Cancel"}),(0,en.jsxs)(ev.Button,{disabled:!h,loading:d,onClick:m,children:[!d&&(0,en.jsx)(eh.Plus,{}),"Create"]})]}),children:[(0,en.jsxs)("div",{className:"space-y-6",children:[(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{children:"Kind"}),(0,en.jsx)(eI.Tabs,{value:t,onValueChange:e=>r(e),children:(0,en.jsx)(eI.TabsList,{className:"w-full",children:sE.map(e=>(0,en.jsx)(eI.TabsTrigger,{value:e.key,children:e.label},e.key))})})]}),(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,en.jsxs)(eb.FieldContent,{children:[(0,en.jsx)(ew.Input,{id:"note-name",value:a,onChange:e=>n(e.target.value),placeholder:p?.placeholder,spellCheck:!1,required:!0}),(0,en.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[t,"/",a.trim()||"…"]})]})]}),(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,en.jsx)(eb.FieldContent,{children:(0,en.jsx)(ew.Input,{id:"note-summary",value:o,onChange:e=>s(e.target.value),onKeyDown:e=>"Enter"===e.key&&m(),placeholder:"One line the agent sees in its note list",required:!0})})]}),(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,en.jsx)(e_.Textarea,{id:"note-facts",value:i,onChange:e=>l(e.target.value),placeholder:`One per line
38
+ ${p?.fact??""}`,className:"min-h-24 resize-none text-sm"})]})]}),c&&(0,en.jsx)("p",{className:"font-mono text-xs text-destructive",children:c})]})}e.s(["MemorySetting",0,function(){let{items:e,isLoading:t,isLoadingMore:r,error:a,hasMore:n,sentinelRef:o}=(0,sv.useServerPages)({key:e=>ey.queryKey.memoryPage(e*ej.PAGE_SIZE)}),[s,i]=(0,ef.useState)(null),l=e.find(e=>e.id===s)??e[0]??null;return t?(0,en.jsx)(sg.SettingPanesSkeleton,{}):a?(0,en.jsx)(sg.SettingError,{message:a.message}):(0,en.jsxs)("div",{className:"relative h-full min-h-0",children:[(0,en.jsx)(sg.SettingPanes,{footer:l&&(0,en.jsx)(sx,{note:l}),left:(0,en.jsxs)("div",{className:"flex flex-col py-2",children:[(0,en.jsxs)("button",{type:"button",onClick:sS,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,en.jsx)(eh.Plus,{className:"size-3.5 shrink-0"}),"New note"]}),sw.map(({key:t,label:r})=>{let a=e.filter(e=>(function(e){if("profile"===e||"preferences"===e)return"you";let t=e.slice(0,e.indexOf("/"));return sc.includes(t)?t:"other"})(e.path)===t);return 0===a.length?null:(0,en.jsxs)(ef.Fragment,{children:[(0,en.jsx)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:r}),a.map(e=>(0,en.jsx)(sk,{note:e,active:e.id===l?.id,onPick:()=>i(e.id)},e.id))]},t)}),(0,en.jsx)(sg.SettingMore,{hasMore:n,loading:r,sentinelRef:o,count:3,ghost:(0,en.jsxs)("div",{className:"mx-2 flex items-center gap-2 px-2 py-2",children:[(0,en.jsx)(ek.Skeleton,{className:"h-3 w-28"}),(0,en.jsx)("span",{className:"flex-1"}),(0,en.jsx)(ek.Skeleton,{className:"h-2.5 w-2.5"})]})})]}),right:l?(0,en.jsx)(sI,{note:l},l.id):(0,en.jsxs)("div",{className:"space-y-4 p-8",children:[(0,en.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,en.jsxs)(ev.Button,{variant:"outline",onClick:sS,children:[(0,en.jsx)(eh.Plus,{}),"Add note"]})]})}),(0,en.jsx)(o5,{notes:e})]})},"openMemoryCreate",0,sS],556133)},99970,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={SYMBOL_FOR_REQ_CONTEXT:()=>d,getContext:()=>c};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);let d=Symbol.for("@vercel/request-context");function c(){let e=globalThis;return e[d]?.get?.()??{}}},891754,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={AccessTokenMissingError:()=>d,RefreshAccessTokenFailedError:()=>c};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);class d extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class c extends Error{constructor(e){super("Failed to refresh authentication token.",{cause:e}),this.name="RefreshAccessTokenFailedError"}}},725150,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={AccessTokenMissingError:()=>c.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>c.RefreshAccessTokenFailedError,getContext:()=>d.getContext,getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>h,getVercelToken:()=>m};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);var d=e.r(99970),c=e.r(891754);async function p(){return""}function h(){return""}async function m(){throw Error("getVercelToken is not supported in browser environments")}},561866,(e,t,r)=>{t.exports=function(e,t){let r;if("function"!=typeof e)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let a=0;return function(...n){clearTimeout(r);let o=Date.now(),s=t-(o-a);s<=0?(a=o,e.apply(this,n)):r=setTimeout(()=>{a=Date.now(),e.apply(this,n)},s)}}}]);