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,8 +34,8 @@ 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:d,cause:e,generationId:f})}},c0="GatewayInvalidRequestError",c1=Symbol.for(`vercel.ai.gateway.error.${c0}`),c2=class extends(z=cY,y=c1,z){constructor({message:a="Invalid request",statusCode:b=400,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[y]=!0,this.name=c0,this.type="invalid_request_error"}static isInstance(a){return cY.hasMarker(a)&&c1 in a}},c3="GatewayRateLimitError",c4=Symbol.for(`vercel.ai.gateway.error.${c3}`),c5=class extends(B=cY,A=c4,B){constructor({message:a="Rate limit exceeded",statusCode:b=429,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[A]=!0,this.name=c3,this.type="rate_limit_exceeded"}static isInstance(a){return cY.hasMarker(a)&&c4 in a}},c6="GatewayModelNotFoundError",c7=Symbol.for(`vercel.ai.gateway.error.${c6}`),c8=co(()=>cr(cW.object({modelId:cW.string()}))),c9=class extends(D=cY,C=c7,D){constructor({message:a="Model not found",statusCode:b=404,modelId:c,cause:d,generationId:e}={}){super({message:a,statusCode:b,cause:d,generationId:e}),this[C]=!0,this.name=c6,this.type="model_not_found",this.modelId=c}static isInstance(a){return cY.hasMarker(a)&&c7 in a}},da="GatewayNotFoundError",db=Symbol.for(`vercel.ai.gateway.error.${da}`),dc=class extends(F=cY,E=db,F){constructor({message:a="Resource not found",statusCode:b=404,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[E]=!0,this.name=da,this.type="not_found"}static isInstance(a){return cY.hasMarker(a)&&db in a}},dd="GatewayInternalServerError",de=Symbol.for(`vercel.ai.gateway.error.${dd}`),df=class extends(H=cY,G=de,H){constructor({message:a="Internal server error",statusCode:b=500,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[G]=!0,this.name=dd,this.type="internal_server_error"}static isInstance(a){return cY.hasMarker(a)&&de in a}},dg="GatewayFailedDependencyError",dh=Symbol.for(`vercel.ai.gateway.error.${dg}`),di=class extends(J=cY,I=dh,J){constructor({message:a="Failed dependency",statusCode:b=424,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[I]=!0,this.name=dg,this.type="failed_dependency"}static isInstance(a){return cY.hasMarker(a)&&dh in a}},dj="GatewayForbiddenError",dk=Symbol.for(`vercel.ai.gateway.error.${dj}`),dl=co(()=>cr(cW.object({ruleId:cW.string()}))),dm=class extends(L=cY,K=dk,L){constructor({message:a="Forbidden",statusCode:b=403,cause:c,generationId:d,ruleId:e}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[K]=!0,this.name=dj,this.type="forbidden",this.ruleId=e}static isInstance(a){return cY.hasMarker(a)&&dk in a}},dn="GatewayResponseError",dp=Symbol.for(`vercel.ai.gateway.error.${dn}`),dq=class extends(N=cY,M=dp,N){constructor({message:a="Invalid response from Gateway",statusCode:b=502,response:c,validationError:d,cause:e,generationId:f,isRetryable:g}={}){super({message:a,statusCode:b,cause:e,generationId:f,isRetryable:g}),this[M]=!0,this.name=dn,this.type="response_error",this.response=c,this.validationError=d}static isInstance(a){return cY.hasMarker(a)&&dp in a}};async function dr({response:a,statusCode:b,defaultMessage:c="Gateway request failed",cause:d,authMethod:e,isRetryable:f}){var g;let h=await ct({value:a,schema:ds});if(!h.success){let e="object"==typeof a&&null!==a&&"generationId"in a?a.generationId:void 0;return new dq({message:`Invalid error response format: ${c}`,statusCode:b,response:a,validationError:h.error,cause:d,generationId:e,isRetryable:f})}let i=h.value,j=i.error.type,k=i.error.message,l=null!=(g=i.generationId)?g:void 0;switch(j){case"authentication_error":return c_.createContextualError({apiKeyProvided:"api-key"===e,oidcTokenProvided:"oidc"===e,statusCode:b,cause:d,generationId:l});case"invalid_request_error":return new c2({message:k,statusCode:b,cause:d,generationId:l});case"rate_limit_exceeded":return new c5({message:k,statusCode:b,cause:d,generationId:l});case"model_not_found":{let a=await ct({value:i.error.param,schema:c8});return new c9({message:k,statusCode:b,modelId:a.success?a.value.modelId:void 0,cause:d,generationId:l})}case"not_found":return new dc({message:k,statusCode:b,cause:d,generationId:l});case"internal_server_error":default:return new df({message:k,statusCode:b,cause:d,generationId:l});case"failed_dependency":return new di({message:k,statusCode:b,cause:d,generationId:l});case"forbidden":{let a=await ct({value:i.error.param,schema:dl});return new dm({message:k,statusCode:b,cause:d,generationId:l,ruleId:a.success?a.value.ruleId:void 0})}}}var ds=co(()=>cr(cW.object({error:cW.object({message:cW.string(),type:cW.string().nullish(),param:cW.unknown().nullish(),code:cW.union([cW.string(),cW.number()]).nullish()}),generationId:cW.string().nullish()}))),dt="GatewayTimeoutError",du=Symbol.for(`vercel.ai.gateway.error.${dt}`),dv=class a extends(P=cY,O=du,P){constructor({message:a="Request timed out",statusCode:b=408,cause:c,generationId:d}={}){super({message:a,statusCode:b,cause:c,generationId:d}),this[O]=!0,this.name=dt,this.type="timeout_error"}static isInstance(a){return cY.hasMarker(a)&&du in a}static createTimeoutError({originalMessage:b,statusCode:c=408,cause:d,generationId:e}){return new a({message:`Gateway request timed out: ${b}
36
36
 
37
- This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`,statusCode:c,cause:d,generationId:e})}};function dw(a){if(!(a instanceof Error))return!1;let b=a.code;return"string"==typeof b&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(b)}async function dx(a,b){var c;return cY.isInstance(a)?a:dw(a)?dv.createTimeoutError({originalMessage:a instanceof Error?a.message:"Unknown error",cause:a}):aG.isInstance(a)?a.cause&&dw(a.cause)?dv.createTimeoutError({originalMessage:a.message,cause:a}):await dr({response:function(a){if(void 0!==a.data)return a.data;if(null!=a.responseBody)try{return bW(a.responseBody)}catch(b){return a.responseBody}return{}}(a),statusCode:null!=(c=a.statusCode)?c:500,defaultMessage:"Gateway request failed",cause:a,authMethod:b,isRetryable:!!a.isRetryable&&(null==a.statusCode||a.statusCode<400)||void 0}):await dr({response:{},statusCode:500,defaultMessage:a instanceof Error?`Gateway request failed: ${a.message}`:"Unknown Gateway error",cause:a,authMethod:b})}var dy="ai-gateway-auth-method",dz="x-vercel-ai-gateway-team";async function dA(a){let b=await ct({value:a[dy],schema:dB});return b.success?b.value:void 0}var dB=co(()=>cr(cW.union([cW.literal("api-key"),cW.literal("oidc")]))),dC=["embedding","image","language","realtime","reranking","speech","transcription","video"],dD=class{constructor(a){this.config=a}async getAvailableModels(){try{let{value:a}=await bP({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dE),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return a}catch(a){throw await dx(a)}}async getCredits(){try{let a=new URL(this.config.baseURL),{value:b}=await bP({url:`${a.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return b}catch(a){throw await dx(a)}}},dE=co(()=>cr(cW.object({models:cW.array(cW.object({id:cW.string(),name:cW.string(),description:cW.string().nullish(),pricing:cW.object({input:cW.string(),output:cW.string(),input_cache_read:cW.string().nullish(),input_cache_write:cW.string().nullish()}).transform(({input:a,output:b,input_cache_read:c,input_cache_write:d})=>({input:a,output:b,...c?{cachedInputTokens:c}:{},...d?{cacheCreationInputTokens:d}:{}})).nullish(),specification:cW.object({specificationVersion:cW.literal("v4"),provider:cW.string(),modelId:cW.string()}),modelType:cW.string().nullish()})).transform(a=>a.filter(a=>null==a.modelType||dC.includes(a.modelType)))}))),dF=co(()=>cr(cW.object({balance:cW.string(),total_used:cW.string()}).transform(({balance:a,total_used:b})=>({balance:a,totalUsed:b})))),dG=class{constructor(a){this.config=a}async getSpendReport(a){try{let b=new URL(this.config.baseURL),c=new URLSearchParams;c.set("start_date",a.startDate),c.set("end_date",a.endDate),a.groupBy&&c.set("group_by",a.groupBy),a.datePart&&c.set("date_part",a.datePart),a.userId&&c.set("user_id",a.userId),a.model&&c.set("model",a.model),a.provider&&c.set("provider",a.provider),a.credentialType&&c.set("credential_type",a.credentialType),a.tags&&a.tags.length>0&&c.set("tags",a.tags.join(","));let{value:d}=await bP({url:`${b.origin}/v1/report?${c.toString()}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dH),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return d}catch(a){throw await dx(a)}}},dH=co(()=>cr(cW.object({results:cW.array(cW.object({day:cW.string().optional(),hour:cW.string().optional(),user:cW.string().optional(),model:cW.string().optional(),tag:cW.string().optional(),provider:cW.string().optional(),credential_type:cW.enum(["byok","system"]).optional(),total_cost:cW.number(),market_cost:cW.number().optional(),input_tokens:cW.number().optional(),output_tokens:cW.number().optional(),cached_input_tokens:cW.number().optional(),cache_creation_input_tokens:cW.number().optional(),reasoning_tokens:cW.number().optional(),request_count:cW.number().optional()}).transform(({credential_type:a,total_cost:b,market_cost:c,input_tokens:d,output_tokens:e,cached_input_tokens:f,cache_creation_input_tokens:g,reasoning_tokens:h,request_count:i,...j})=>({...j,...void 0!==a?{credentialType:a}:{},totalCost:b,...void 0!==c?{marketCost:c}:{},...void 0!==d?{inputTokens:d}:{},...void 0!==e?{outputTokens:e}:{},...void 0!==f?{cachedInputTokens:f}:{},...void 0!==g?{cacheCreationInputTokens:g}:{},...void 0!==h?{reasoningTokens:h}:{},...void 0!==i?{requestCount:i}:{}})))}))),dI=class{constructor(a){this.config=a}async getGenerationInfo(a){try{let b=new URL(this.config.baseURL),{value:c}=await bP({url:`${b.origin}/v1/generation?id=${encodeURIComponent(a.id)}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dJ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return c}catch(a){throw await dx(a)}}},dJ=co(()=>cr(cW.object({data:cW.object({id:cW.string(),total_cost:cW.number(),upstream_inference_cost:cW.number(),usage:cW.number(),created_at:cW.string(),model:cW.string(),is_byok:cW.boolean(),provider_name:cW.string(),streamed:cW.boolean(),finish_reason:cW.string(),latency:cW.number(),generation_time:cW.number(),native_tokens_prompt:cW.number(),native_tokens_completion:cW.number(),native_tokens_reasoning:cW.number(),native_tokens_cached:cW.number(),native_tokens_cache_creation:cW.number(),billable_web_search_calls:cW.number()}).transform(({total_cost:a,upstream_inference_cost:b,created_at:c,is_byok:d,provider_name:e,finish_reason:f,generation_time:g,native_tokens_prompt:h,native_tokens_completion:i,native_tokens_reasoning:j,native_tokens_cached:k,native_tokens_cache_creation:l,billable_web_search_calls:m,...n})=>({...n,totalCost:a,upstreamInferenceCost:b,createdAt:c,isByok:d,providerName:e,finishReason:f,generationTime:g,promptTokens:h,completionTokens:i,reasoningTokens:j,cachedTokens:k,cacheCreationTokens:l,billableWebSearchCalls:m}))}).transform(({data:a})=>a))),dK=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs(a){let{abortSignal:b,...c}=a;return{args:this.maybeEncodeFileParts(c),warnings:[]}}async doGenerate(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:f,value:g,rawValue:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!1),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:cF(cW.any()),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{...g,request:{body:b},response:{headers:f,body:h},warnings:c}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}async doStream(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let f,{value:g,responseHeaders:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!0),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:(f=cW.any(),async({response:a,url:b,requestBodyValues:c})=>{let d=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:d,value:cw({stream:function({stream:a,url:b,requestBodyValues:c,statusCode:d,responseHeaders:e}){let f=a.getReader(),g=!1,h=()=>{g||(f.releaseLock(),g=!0)};return new ReadableStream({async pull(a){try{let{done:b,value:c}=await f.read();b?(h(),a.close()):a.enqueue(c)}catch(f){if(h(),bo(f))return void a.error(f);a.error(br({error:new aG({message:"Failed to process successful response",cause:f,statusCode:d,url:b,responseHeaders:e,requestBodyValues:c}),url:b,requestBodyValues:c}))}},async cancel(a){try{await f.cancel(a)}finally{h()}}})}({stream:a.body,url:b,requestBodyValues:c,statusCode:a.status,responseHeaders:d}),schema:f})}}),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{stream:g.pipeThrough(new TransformStream({start(a){c.length>0&&a.enqueue({type:"stream-start",warnings:c})},transform(b,c){if(b.success){let d=b.value;("raw"!==d.type||a.includeRawChunks)&&("response-metadata"===d.type&&d.timestamp&&"string"==typeof d.timestamp&&(d.timestamp=new Date(d.timestamp)),c.enqueue(d))}else c.error(b.error)}})),request:{body:b},response:{headers:h}}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}maybeEncodeFileParts(a){for(let b of a.prompt)if(Array.isArray(b.content)){for(let a of b.content)if("file"===a.type||"reasoning-file"===a.type)a.data=dL(a.data);else if("tool-result"===a.type&&"content"===a.output.type)for(let b of a.output.value)"file"===b.type&&(b.data=dL(b.data))}return a}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(a,b){return{"ai-language-model-specification-version":"4","ai-language-model-id":a,"ai-language-model-streaming":String(b)}}};function dL(a){if("data"===a.type){let b=a.data;if(b instanceof Uint8Array)return{...a,data:Buffer.from(b).toString("base64")}}return a}var dM=class a extends dK{static[bb](a){return dK[bb](a)}static[bc](b){return new a(b.modelId,b.config)}constructor(a,b){super(a,b)}async experimental_doStartBatch({requests:a,providerOptions:b,headers:c,abortSignal:d,webhookUrl:e}){var f;let g=this.config.headers?await cB(this.config.headers):void 0,h=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b.idempotencyKey;return"string"==typeof c&&c.length>0?c:void 0}(b),i=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b)||!("idempotencyKey"in b))return a;let{idempotencyKey:c,...d}=b,e={...a};if(0===Object.keys(d).length?delete e.gateway:e.gateway=d,0!==Object.keys(e).length)return e}(b);try{let{value:b}=await cy({url:this.getBatchUrl("start"),headers:bd(g,c,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders),null!=h?{"idempotency-key":h}:void 0),body:{...null!=e&&{callbackUrl:e},modelId:this.modelId,requests:a.map(a=>({id:a.id,options:this.maybeEncodeFileParts(a.options)})),...null!=i&&{providerOptions:i}},successfulResponseHandler:cF(dV),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{batchId:b.batchId,...dO(b),warnings:null!=(f=b.warnings)?f:[]}}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=g?g:{}))}}async experimental_doGetBatchStatus({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{let{value:e}=await cy({url:this.getBatchUrl("status"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:cF(dW),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return dO(e)}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}async experimental_doGetBatchResults({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{var e;let f,{value:g}=await cy({url:this.getBatchUrl("results"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:async({response:a})=>{let b=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:b,value:cG({stream:a.body,schema:dQ})}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return e=dP(g),f=!1,new ReadableStream({async pull(a){if(!f)try{let{value:b,done:c}=await e.next();c?a.close():a.enqueue(b)}catch(b){a.error(b)}},async cancel(a){if(f=!0,e.return)try{await e.return(a)}catch(a){}}})}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}getBatchUrl(a){return`${this.config.baseURL}/batch/${a}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function dN(a){return!!(a instanceof Error||a instanceof DOMException)&&("AbortError"===a.name||"TimeoutError"===a.name)}function dO(a){var b,c,d,e;let f=function({total:a,pending:b,completed:c,failed:d}){if(bS(a)&&bS(b)&&bS(c)&&bS(d)&&b+c+d===a)return{total:a,pending:b,completed:c,failed:d}}({total:null==(b=a.requestCounts)?void 0:b.total,pending:null==(c=a.requestCounts)?void 0:c.pending,completed:null==(d=a.requestCounts)?void 0:d.completed,failed:null==(e=a.requestCounts)?void 0:e.failed});return{status:a.status,...null!=a.rawStatus&&{rawStatus:a.rawStatus},...null!=f&&{requestCounts:f},...null!=a.error&&{error:{message:a.error.message,...null!=a.error.type&&{type:a.error.type},...null!=a.error.code&&{code:a.error.code},...null!=a.error.statusCode&&{statusCode:a.error.statusCode}}},...null!=a.createdAt&&{createdAt:a.createdAt},...null!=a.expiresAt&&{expiresAt:a.expiresAt},...null!=a.providerMetadata&&{providerMetadata:a.providerMetadata}}}async function*dP(a){var b;for await(let c of a){if("succeeded"===c.status){let a=null==(b=c.result)?void 0:b.response;void 0!==a&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp))}yield c}}var dQ=cW.object({id:cW.string(),status:cW.enum(["cancelled","expired","failed","succeeded"])}).catchall(cW.unknown()),dR=cW.object({message:cW.string(),type:cW.string().nullish(),code:cW.string().nullish(),statusCode:cW.number().nullish()}),dS=cW.object({total:cW.number().nullish(),pending:cW.number().nullish(),completed:cW.number().nullish(),failed:cW.number().nullish()}),dT=cW.record(cW.string(),cW.record(cW.string(),cW.unknown())),dU=cW.object({status:cW.enum(["completed","failed","pending"]),rawStatus:cW.string().nullish(),requestCounts:dS.nullish(),error:dR.nullish(),createdAt:cW.string().nullish(),expiresAt:cW.string().nullish(),providerMetadata:dT.nullish()}),dV=dU.extend({batchId:cW.string(),warnings:cW.array(cW.object({requestId:cW.string().nullish(),warning:cW.unknown()}).catchall(cW.unknown())).nullish()}),dW=dU,dX=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doEmbed({values:a,headers:b,abortSignal:c,providerOptions:d}){var e,f;let g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i,rawValue:j}=await cy({url:this.getUrl(),headers:bd(g,null!=b?b:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{values:a,...d?{providerOptions:d}:{}},successfulResponseHandler:cF(dZ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:null!=(e=i.usage)?e:void 0,providerMetadata:i.providerMetadata,response:{headers:h,body:j},warnings:null!=(f=i.warnings)?f:[]}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},dY=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),dZ=co(()=>cr(cW.object({embeddings:cW.array(cW.array(cW.number())),usage:cW.object({tokens:cW.number()}).nullish(),warnings:cW.array(dY).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),d$=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doGenerate({prompt:a,n:b,size:c,aspectRatio:d,seed:e,files:f,mask:g,providerOptions:h,headers:i,abortSignal:j}){var k,l,m,n;let o=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:p,value:q}=await cy({url:this.getUrl(),headers:bd(o,null!=i?i:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{prompt:a,n:b,...c&&{size:c},...d&&{aspectRatio:d},...e&&{seed:e},...h&&{providerOptions:h},...f&&{files:f.map(a=>d_(a))},...g&&{mask:d_(g)}},successfulResponseHandler:cF(d3),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...j&&{abortSignal:j},fetch:this.config.fetch});return{images:q.images,warnings:null!=(k=q.warnings)?k:[],providerMetadata:q.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:p},...null!=q.usage&&{usage:{inputTokens:null!=(l=q.usage.inputTokens)?l:void 0,outputTokens:null!=(m=q.usage.outputTokens)?m:void 0,totalTokens:null!=(n=q.usage.totalTokens)?n:void 0}}}}catch(a){throw await dx(a,await dA(null!=o?o:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function d_(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d0=cW.object({images:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d1=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d2=cW.object({inputTokens:cW.number().nullish(),outputTokens:cW.number().nullish(),totalTokens:cW.number().nullish()}),d3=cW.object({images:cW.array(cW.string()),warnings:cW.array(d1).optional(),providerMetadata:cW.record(cW.string(),d0).optional(),usage:d2.optional()}),d4=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(a){var b,c;let{headers:d,abortSignal:e}=a,f=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:g,value:h}=await cy({url:this.getUrl(),headers:bd(f,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(a),successfulResponseHandler:async({response:a,url:b,requestBodyValues:c})=>{if(null==a.body)throw new aG({message:"SSE response body is empty",url:b,requestBodyValues:c,statusCode:a.status});let d=cw({stream:a.body,schema:d9}).getReader(),{done:e,value:f}=await d.read();if(d.releaseLock(),e||!f)throw new aG({message:"SSE stream ended without a data event",url:b,requestBodyValues:c,statusCode:a.status});if(!f.success)throw new aG({message:"Failed to parse video SSE event",cause:f.error,url:b,requestBodyValues:c,statusCode:a.status});let g=f.value;if("error"===g.type)throw new aG({message:g.message,statusCode:g.statusCode,url:b,requestBodyValues:c,responseHeaders:Object.fromEntries([...a.headers]),responseBody:JSON.stringify(g),data:{error:{message:g.message,type:g.errorType,param:g.param}}});return{value:{videos:g.videos,warnings:g.warnings,providerMetadata:g.providerMetadata},responseHeaders:Object.fromEntries([...a.headers])}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{videos:h.videos,warnings:null!=(b=h.warnings)?b:[],providerMetadata:null!=(c=h.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:g}}}catch(a){throw await dx(a,await dA(null!=f?f:{}))}}async handleWebhookOption({webhook:a}){let{url:b,received:c}=await a();return{webhookUrl:b,received:c}}async doStart(a){var b,c;let{headers:d,abortSignal:e,webhookUrl:f}=a,g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i}=await cy({url:this.getStartUrl(),headers:bd(g,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{...this.buildRequestBody(a),...f&&{callbackUrl:f}},successfulResponseHandler:cF(ea),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{operation:i.operation,warnings:null!=(b=i.warnings)?b:[],providerMetadata:null!=(c=i.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:h}}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}async doStatus({operation:a,abortSignal:b,headers:c}){var d,e,f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l}=await cy({url:this.getStatusUrl(),headers:bd(j,null!=c?c:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{operation:a},successfulResponseHandler:cF(eb),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...b&&{abortSignal:b},fetch:this.config.fetch}),m={timestamp:new Date,modelId:this.modelId,headers:k};if("completed"===l.status)return{status:"completed",videos:l.videos,warnings:null!=(d=l.warnings)?d:[],providerMetadata:null!=(e=l.providerMetadata)?e:void 0,response:m};if("error"===l.status)return{status:"error",error:l.error,providerMetadata:null!=(f=l.providerMetadata)?f:void 0,response:m};if("cancelled"===l.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(g=l.providerMetadata)?g:void 0,response:m};return{status:"pending",warnings:null!=(h=l.warnings)?h:[],providerMetadata:null!=(i=l.providerMetadata)?i:void 0,response:m}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}buildRequestBody({prompt:a,n:b,aspectRatio:c,resolution:d,duration:e,fps:f,seed:g,generateAudio:h,image:i,frameImages:j,inputReferences:k,providerOptions:l}){return{prompt:a,n:b,...c&&{aspectRatio:c},...d&&{resolution:d},...e&&{duration:e},...f&&{fps:f},...g&&{seed:g},...void 0!==h&&{generateAudio:h},...l&&{providerOptions:l},...i&&{image:d5(i)},...j&&{frameImages:j.map(a=>({...a,image:d5(a.image)}))},...k&&{inputReferences:k.map(a=>d5(a))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function d5(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d6=cW.object({videos:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d7=cW.union([cW.object({type:cW.literal("url"),url:cW.string(),mediaType:cW.string()}),cW.object({type:cW.literal("base64"),data:cW.string(),mediaType:cW.string()})]),d8=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d9=cW.discriminatedUnion("type",[cW.object({type:cW.literal("result"),videos:cW.array(d7),warnings:cW.array(d8).optional(),providerMetadata:cW.record(cW.string(),d6).optional()}),cW.object({type:cW.literal("error"),message:cW.string(),errorType:cW.string(),statusCode:cW.number(),param:cW.unknown().nullable()})]),ea=cW.object({operation:cW.unknown(),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),eb=cW.discriminatedUnion("status",[cW.object({status:cW.literal("pending"),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("completed"),videos:cW.array(d7),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("error"),error:cW.string(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("cancelled"),providerMetadata:cW.record(cW.string(),d6).nullish()})]),ec=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:a,query:b,topN:c,headers:d,abortSignal:e,providerOptions:f}){var g;let h=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:i,value:j,rawValue:k}=await cy({url:this.getUrl(),headers:bd(h,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{documents:a,query:b,...null!=c?{topN:c}:{},...f?{providerOptions:f}:{}},successfulResponseHandler:cF(ee),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{ranking:j.ranking,providerMetadata:j.providerMetadata,response:{headers:i,body:k},warnings:null!=(g=j.warnings)?g:[]}}catch(a){throw await dx(a,await dA(null!=h?h:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},ed=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ee=co(()=>cr(cW.object({ranking:cW.array(cW.object({index:cW.number(),relevanceScore:cW.number()})),warnings:cW.array(ed).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),ef=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:a,voice:b,outputFormat:c,instructions:d,speed:e,language:f,providerOptions:g,headers:h,abortSignal:i}){var j;let k=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:l,value:m,rawValue:n}=await cy({url:this.getUrl(),headers:bd(k,null!=h?h:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{text:a,...b&&{voice:b},...c&&{outputFormat:c},...d&&{instructions:d},...null!=e&&{speed:e},...f&&{language:f},...g&&{providerOptions:g}},successfulResponseHandler:cF(ei),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{audio:m.audio,warnings:null!=(j=m.warnings)?j:[],providerMetadata:m.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:l,body:n}}}catch(a){throw await dx(a,await dA(null!=k?k:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},eg=cW.object({}).catchall(cW.unknown()),eh=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ei=cW.object({audio:cW.string(),warnings:cW.array(eh).optional(),providerMetadata:cW.record(cW.string(),eg).optional()}),ej=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:a,mediaType:b,providerOptions:c,headers:d,abortSignal:e}){var f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l,rawValue:m}=await cy({url:this.getUrl(),headers:bd(j,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{audio:a instanceof Uint8Array?bl(a):a,mediaType:b,...c&&{providerOptions:c}},successfulResponseHandler:cF(en),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{text:l.text,segments:null!=(f=l.segments)?f:[],language:null!=(g=l.language)?g:void 0,durationInSeconds:null!=(h=l.durationInSeconds)?h:void 0,warnings:null!=(i=l.warnings)?i:[],providerMetadata:l.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:k,body:m}}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}async doStream(a){var b,c,d,e,f;let g,h,i,j=null!=(d=null==(c=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:c.call(b))?d:new Date,k=bd(await cB(null!=(e=this.config.headers)?e:{}),null!=(f=a.headers)?f:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),l=await dA(k),m={type:"transcription-stream.start",inputAudioFormat:a.inputAudioFormat,...null!=a.providerOptions&&{providerOptions:a.providerOptions},...null!=a.includeRawChunks&&{includeRawChunks:a.includeRawChunks}};return{stream:function({webSocket:a,url:b,protocols:c,headers:d,startFrame:e,audio:f,abortSignal:g,authMethod:h}){let i=!1,j=()=>{};return new ReadableStream({start:k=>{let l,m,n,o=!1,p=!1;j=a=>{null!=l?l.cancel().catch(()=>{}):f.cancel().catch(()=>{}),null==n||n.close(a)};let q=a=>{i||(i=!0,j(),eo(k,a,h))},r=async a=>{let b=f.getReader();l=b;try{for(;;){let{done:c,value:d}=await b.read();if(c||i)break;let e="string"==typeof d?function(a){let b=bk(a.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(b,a=>a.codePointAt(0))}(d):d;for(let b=0;b<e.length&&!i;b+=65536)a.send(e.subarray(b,b+65536)),await bi(a)}}finally{b.releaseLock(),l===b&&(l=void 0)}i||p||a.send(JSON.stringify({type:"transcription-stream.audio-done"}))};n=function({url:a,protocols:b,headers:c,webSocket:d,abortSignal:e,onOpen:f,onMessageText:g,onProcessingError:h,onSocketError:i,onClose:j,onAbort:k}){var l,m;let n,o,p=a=>{null!=o&&(null==e||e.removeEventListener("abort",o),o=void 0);try{null==n||n.close(a)}catch(a){}};if(null==e?void 0:e.aborted)return null==k||k(null!=(l=e.reason)?l:Error("Aborted")),{socket:void 0,close:p};try{n=new(function(a){let b=null!=a?a:globalThis.WebSocket;if(null==b)throw Error("No WebSocket implementation available.");return b}(d))(a,b,{headers:(m=null!=c?c:{},Object.fromEntries(Object.entries(m).filter(([a,b])=>null!=b)))})}catch(a){return h(a),{socket:void 0,close:p}}null!=e&&null!=k&&(o=()=>{var a;return k(null!=(a=e.reason)?a:Error("Aborted"))},e.addEventListener("abort",o,{once:!0}));let q=n;n.onopen=()=>{try{null==f||f(q)}catch(a){h(a)}};let r=Promise.resolve();return n.onmessage=a=>{r=r.then(()=>bh(a.data)).then(a=>g(a)).catch(h)},n.onerror=()=>{r=r.then(()=>null==i?void 0:i()).catch(h)},n.onclose=a=>{let b="number"==typeof(null==a?void 0:a.code)?a.code:void 0,c="string"==typeof(null==a?void 0:a.reason)?a.reason:void 0;r=r.then(()=>null==j?void 0:j({code:b,reason:c})).catch(h)},{socket:n,close:p}}({url:b,protocols:c,headers:d,webSocket:a,abortSignal:g,onAbort:a=>{i||(i=!0,j(),k.error(a))},onProcessingError:q,onOpen:a=>{a.send(JSON.stringify(e)),r(a).catch(q)},onMessageText:a=>{if(i)return;let b=function(a){let b;try{b=bW(a)}catch(a){return}if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b;switch(c.type){case"stream-start":return Array.isArray(c.warnings)&&c.warnings.every(cQ)?c:void 0;case"transcript-delta":return cN(c.delta)&&cP(c.id,cN)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-partial":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.durationInSeconds,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-final":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.endSecond,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"finish":return cN(c.text)&&Array.isArray(c.segments)&&c.segments.every(cR)&&cP(c.language,cN)&&cP(c.durationInSeconds,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"response-metadata":{if(!(cP(c.modelId,cN)&&cP(c.headers,bQ)))return;let a=c.timestamp;if(null==a)return{...c,timestamp:void 0};if("string"!=typeof a)return;let b=new Date(a);return Number.isNaN(b.getTime())?void 0:{...c,timestamp:b}}case"raw":return"rawValue"in c?c:void 0;case"error":return"error"in c?c:void 0;default:return}}(a);if(null!=b){if("finish"===b.type){i=!0,k.enqueue(b),k.close(),j(1e3);return}"error"===b.type&&(o=!0,m=b.error,p=!0,null!=l?(l.cancel().catch(()=>{}),l=void 0):f.cancel().catch(()=>{})),k.enqueue(b)}},onSocketError:()=>{q(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(o){if(i)return;eq(m,h).then(q);return}q(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{i||(i=!0,j())}})}({webSocket:this.config.webSocket,url:ek(this.config.baseURL,this.modelId),protocols:null==(i=(null==(h=(g=bt(k)).authorization)?void 0:h.startsWith("Bearer "))?h.slice(7):void 0)?[cU]:cV(cU,i,{teamIdOrSlug:g[dz]}),headers:k,startFrame:m,audio:a.audio,abortSignal:a.abortSignal,authMethod:l}),request:{body:m},response:{timestamp:j,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function ek(a,b){let c=new URL(`${a.replace(/^http/,"ws")}/transcription-model`);return c.searchParams.set("ai-model-id",b),c.toString()}var el=cW.object({}).catchall(cW.unknown()),em=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),en=cW.object({text:cW.string(),segments:cW.array(cW.object({text:cW.string(),startSecond:cW.number(),endSecond:cW.number()})).optional(),language:cW.string().nullish(),durationInSeconds:cW.number().nullish(),warnings:cW.array(em).optional(),providerMetadata:cW.record(cW.string(),el).optional()});async function eo(a,b,c){a.error(await dx(b,c))}var ep={authentication_error:401,failed_dependency:424,forbidden:403,internal_server_error:500,invalid_request_error:400,model_not_found:404,rate_limit_exceeded:429};async function eq(a,b){return"object"==typeof a&&null!=a&&"message"in a&&"string"==typeof a.message&&"type"in a&&"string"==typeof a.type&&a.type in ep?dr({response:{error:{message:a.message,type:a.type}},statusCode:ep[a.type],authMethod:b}):Error(`AI Gateway transcription stream failed: ${null!=a&&"object"==typeof a&&"message"in a&&"string"==typeof a.message?a.message:aL(a)}`)}var er=class{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b,c;let d,e=await this.config.createClientSecret({modelId:this.modelId,...(null==a?void 0:a.expiresAfterSeconds)!=null&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:e.token,url:(b=this.config.baseURL,c=this.modelId,(d=new URL(`${b.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",c),d.toString()),...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}getWebSocketConfig(a){return{url:a.url,protocols:cV("ai-gateway-realtime.v1",a.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(a){return a}serializeClientEvent(a){return a}buildSessionConfig(a){return a}},es=cA({id:"gateway.exa_search",inputSchema:co(()=>cr(cW.object({query:cW.string().describe("Natural-language web search query. This is required."),type:cW.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:cW.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:cW.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:cW.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these domains."),start_published_date:cW.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:cW.string().optional().describe("Only return links published before this ISO 8601 date."),contents:cW.object({text:cW.union([cW.boolean(),cW.object({max_characters:cW.number().optional(),include_html_tags:cW.boolean().optional(),verbosity:cW.enum(["compact","standard","full"]).optional(),include_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:cW.union([cW.boolean(),cW.object({query:cW.string().optional(),max_characters:cW.number().optional()})]).optional(),max_age_hours:cW.number().optional(),livecrawl_timeout:cW.number().optional(),subpages:cW.number().optional(),subpage_target:cW.union([cW.string(),cW.array(cW.string())]).optional(),extras:cW.object({links:cW.number().optional(),image_links:cW.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:co(()=>cr(cW.union([cW.object({requestId:cW.string(),searchType:cW.string().optional(),resolvedSearchType:cW.string().optional(),results:cW.array(cW.object({title:cW.string(),url:cW.string(),id:cW.string(),publishedDate:cW.string().nullable().optional(),author:cW.string().nullable().optional(),image:cW.string().nullable().optional(),favicon:cW.string().nullable().optional(),text:cW.string().optional(),highlights:cW.array(cW.string()).optional(),highlightScores:cW.array(cW.number()).optional(),summary:cW.string().optional(),subpages:cW.array(cW.any()).optional(),extras:cW.object({links:cW.array(cW.string()).optional(),imageLinks:cW.array(cW.string()).optional()}).optional()})),costDollars:cW.object({total:cW.number().optional(),search:cW.record(cW.string(),cW.number()).optional()}).optional()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),et=cA({id:"gateway.parallel_search",inputSchema:co(()=>cr(cW.object({objective:cW.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:cW.array(cW.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:cW.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:cW.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:cW.object({include_domains:cW.array(cW.string()).optional().describe("Limit results to these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:cW.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:cW.object({max_chars_per_result:cW.number().optional().describe("Maximum characters per result."),max_chars_total:cW.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:cW.object({max_age_seconds:cW.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),outputSchema:co(()=>cr(cW.union([cW.object({searchId:cW.string(),results:cW.array(cW.object({url:cW.string(),title:cW.string(),excerpt:cW.string(),publishDate:cW.string().nullable().optional(),relevanceScore:cW.number().optional()}))}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eu=cA({id:"gateway.perplexity_search",inputSchema:co(()=>cr(cW.object({query:cW.union([cW.string(),cW.array(cW.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:cW.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:cW.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:cW.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:cW.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:cW.array(cW.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:cW.array(cW.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:cW.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:cW.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:cW.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:cW.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:cW.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),outputSchema:co(()=>cr(cW.union([cW.object({results:cW.array(cW.object({title:cW.string(),url:cW.string(),snippet:cW.string(),date:cW.string().optional(),lastUpdated:cW.string().optional()})),id:cW.string()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),ev=cW.object({count:cW.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:cW.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:cW.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:cW.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:cW.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:cW.array(cW.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:cW.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),ew=cW.object({count:cW.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:cW.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:cW.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these bare domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:cW.number().optional().describe("Maximum characters in each web-result snippet."),highlights:cW.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:cW.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:cW.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:cW.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),ex=co(()=>cr(cW.object({query:cW.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:cW.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:cW.object({data:ev.optional(),web:ew.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:cW.object({latitude:cW.number().describe("Latitude between -90 and 90."),longitude:cW.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:cW.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:cW.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:cW.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:cW.object({image_dark_mode:cW.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:cW.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:cW.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),ey=cW.union([cW.boolean(),cW.number(),cW.string()]).nullable(),ez=cW.object({content_format:cW.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:cW.number().optional(),data:cW.string().nullish(),records:cW.array(cW.record(cW.string(),ey)).nullish(),dataset:cW.object({columns:cW.array(cW.object({name:cW.string(),type:cW.enum(["boolean","date","datetime","number","string"]),unit:cW.string().nullish()})),rows:cW.array(cW.array(ey)),total_rows:cW.number(),truncated:cW.boolean(),ref:cW.string(),sources:cW.array(cW.object({name:cW.string(),index:cW.enum(["data","web"]).optional()})),provenance:cW.enum(["query","web_extraction"]).optional()}).nullish(),card_data:cW.object({}).passthrough().nullish(),card_data_schema:cW.object({}).passthrough().nullish(),url:cW.string().nullish(),expires_at:cW.string().nullish(),total_rows:cW.number().nullish(),truncated:cW.boolean().optional(),export_pricing:cW.object({baseline_usd:cW.number(),free_rows:cW.number(),max_rows_ceiling:cW.number(),row_cpm_usd:cW.number()}).nullish(),manifest:cW.array(cW.object({dtype:cW.enum(["boolean","date","datetime","number","string"]).nullish(),entity:cW.string().nullish(),metric:cW.string().nullish(),name:cW.string().nullish(),unit:cW.string().nullish()})).nullish()}).passthrough(),eA=cW.object({card_id:cW.string().nullish(),title:cW.string().nullish(),description:cW.string().nullish(),semantic_description:cW.string().nullish(),webpage_url:cW.string().nullish(),image_url:cW.string().nullish(),embed_url:cW.string().nullish(),sources:cW.array(cW.object({source_name:cW.string().nullish(),source_description:cW.string().nullish(),source_index:cW.enum(["data","web"]),source_text:cW.string().nullish(),url:cW.string().nullish()})).nullish(),methodologies:cW.array(cW.object({methodology_name:cW.string().nullable(),methodology_description:cW.string().nullable()})).nullish(),source_indexes:cW.array(cW.enum(["data","web"])).nullish(),card_type:cW.string().nullish(),relevance:cW.enum(["High","Low","Medium"]).nullish(),content:ez.nullish(),exportable:cW.boolean().optional(),nodes:cW.array(cW.object({id:cW.string(),type:cW.enum(["entity","metric"]),name:cW.string(),description:cW.string().nullish()})).nullish(),metric_definitions:cW.array(cW.object({name:cW.string(),definition:cW.string()})).nullish(),data_freshness:cW.object({coverage_end:cW.string().nullish(),data_as_of:cW.string().nullish(),last_updated:cW.string().nullish()}).nullish()}).passthrough(),eB=cW.object({title:cW.string(),url:cW.string(),snippet:cW.string().nullish(),source_name:cW.string().nullish(),publish_date:cW.string().nullish(),content:ez.nullish()}).passthrough(),eC=cA({id:"gateway.tako_search",inputSchema:ex,outputSchema:co(()=>cr(cW.union([cW.object({request_id:cW.string(),cards:cW.array(eA).optional(),web_results:cW.array(eB).optional(),usage:cW.object({total_cost_usd:cW.number(),compute:cW.object({cost_usd:cW.number()}).nullish(),data:cW.object({cost_usd:cW.number(),datasets:cW.number()}).nullish()}).nullish(),related:cW.array(cW.object({}).passthrough()).nullish()}).passthrough(),cW.object({error:cW.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eD={exaSearch:(a={})=>es(a),parallelSearch:(a={})=>et(a),perplexitySearch:(a={})=>eu(a),takoSearch:(a={})=>eC(a)};async function eE(){var a;return null==(a=(0,cT.getContext)().headers)?void 0:a["x-vercel-id"]}var eF=cW.object({token:cW.string(),expiresAt:cW.number().nullish()});async function eG(a){let b=bR({settingValue:a.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return b?{token:b,authMethod:"api-key"}:{token:await (0,cT.getVercelOidcToken)(),authMethod:"oidc"}}!function(a={}){var b,c,d;let e=null,f=null,g=null!=(b=a.metadataCacheRefreshMillis)?b:3e5,h=0,i=null!=(c=null==(d=a.baseURL)?void 0:d.replace(/\/$/,""))?c:"https://ai-gateway.vercel.sh/v4/ai",j=b=>bu({Authorization:`Bearer ${b.token}`,"ai-gateway-protocol-version":"0.0.1",[dy]:b.authMethod,...null!=a.teamIdOrSlug?{[dz]:a.teamIdOrSlug}:{},...a.headers},"ai-sdk/gateway/4.0.75"),k=async()=>{try{return j(await eG(a))}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},l=async()=>{try{return await eG(a)}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},m=async b=>{if(void 0!==globalThis.window)throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() or gateway.experimental_transcription.getToken() from your server and pass the returned token to the client.");let c=j(await l()),d=new URL("/v1/realtime/client-secrets",i).toString();try{let{value:e}=await cy({url:d,headers:c,body:{model:b.modelId,...null!=b.routeKind&&{routeKind:b.routeKind},...null!=b.expiresAfterSeconds&&{expiresIn:b.expiresAfterSeconds}},successfulResponseHandler:cF(eF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:a.fetch});return{token:e.token,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}catch(a){throw await dx(a,await dA(c))}},n=()=>{let a=bR({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),b=bR({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),c=bR({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),d=bR({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let e=await eE();return{...a&&{"ai-o11y-deployment-id":a},...b&&{"ai-o11y-environment":b},...c&&{"ai-o11y-region":c},...e&&{"ai-o11y-request-id":e},...d&&{"ai-o11y-project-id":d}}}},o=b=>new dM(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),p=async()=>{var b,c,d;let j=null!=(d=null==(c=null==(b=a._internal)?void 0:b.currentDate)?void 0:c.call(b).getTime())?d:Date.now();return(!e||j-h>g)&&(h=j,e=new dD({baseURL:i,headers:k,fetch:a.fetch}).getAvailableModels().then(a=>(f=a,a)).catch(async a=>{throw await dx(a,await dA(await k()))})),f?Promise.resolve(f):e},q=async()=>new dD({baseURL:i,headers:k,fetch:a.fetch}).getCredits().catch(async a=>{throw await dx(a,await dA(await k()))}),r=async b=>new dG({baseURL:i,headers:k,fetch:a.fetch}).getSpendReport(b).catch(async a=>{throw await dx(a,await dA(await k()))}),s=async b=>new dI({baseURL:i,headers:k,fetch:a.fetch}).getGenerationInfo(b).catch(async a=>{throw await dx(a,await dA(await k()))}),t=function(a){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return o(a)};t.specificationVersion="v4",t.getAvailableModels=p,t.getCredits=q,t.getSpendReport=r,t.getGenerationInfo=s,t.imageModel=b=>new d$(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),t.languageModel=o;let u=b=>new dX(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.embeddingModel=u,t.textEmbeddingModel=u,t.videoModel=b=>new d4(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});let v=b=>new ec(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.rerankingModel=v,t.reranking=v;let w=b=>new ef(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.speechModel=w,t.speech=w;let x=b=>new ej(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n(),webSocket:a.webSocket});t.transcriptionModel=x,t.transcription=x,t.experimental_transcription=Object.assign(a=>x(a),{getToken:async a=>{let b=await m({modelId:a.model,routeKind:"transcription",...null!=a.expiresAfterSeconds&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:b.token,url:ek(i,a.model),...null!=b.expiresAt&&{expiresAt:b.expiresAt}}}});let y=b=>new er(b,{provider:"gateway.realtime",baseURL:i,teamIdOrSlug:a.teamIdOrSlug,createClientSecret:m});t.experimental_realtime=Object.assign(a=>y(a),{getToken:async a=>{let{model:b,...c}=a,d=y(b),e=await d.doCreateClientSecret(c);return{token:e.token,url:e.url,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}}),t.chat=t.languageModel,t.embedding=t.embeddingModel,t.image=t.imageModel,t.video=t.videoModel,t.tools=eD}();var eH=Object.defineProperty,eI="AI_InvalidArgumentError",eJ=`vercel.ai.error.${eI}`,eK=Symbol.for(eJ),eL=class extends(R=aC,Q=eK,R){constructor({parameter:a,value:b,message:c}){super({name:eI,message:`Invalid argument for parameter ${a}: ${c}`}),this[Q]=!0,this.parameter=a,this.value=b}static isInstance(a){return aC.hasMarker(a,eJ)}},eM=Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalSignatureError");Symbol.for("vercel.ai.error.AI_InvalidToolInputError");Symbol.for("vercel.ai.error.AI_ToolCallNotFoundForApprovalError");Symbol.for("vercel.ai.error.AI_MissingToolResultsError");Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");var eN="AI_NoObjectGeneratedError",eO=`vercel.ai.error.${eN}`,eP=Symbol.for(eO),eQ=class extends(T=aC,S=eP,T){constructor({message:a="No object generated.",cause:b,text:c,response:d,usage:e,finishReason:f}){super({name:eN,message:a,cause:b}),this[S]=!0,this.text=c,this.response=d,this.usage=e,this.finishReason=f}static isInstance(a){return aC.hasMarker(a,eO)}},eR=Symbol.for("vercel.ai.error.AI_NoOutputGeneratedError");Symbol.for("vercel.ai.error.AI_NoSpeechGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranscriptGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranslationGeneratedError");Symbol.for("vercel.ai.error.AI_NoVideoGeneratedError");Symbol.for("vercel.ai.error.AI_NoSuchToolError");Symbol.for("vercel.ai.error.AI_StreamProviderError");Symbol.for("vercel.ai.error.AI_ToolCallRepairError");Symbol.for("vercel.ai.error.AI_ToolChoiceViolationError");var eS="AI_UIMessageStreamError",eT=`vercel.ai.error.${eS}`,eU=Symbol.for(eT),eV=class extends(V=aC,U=eU,V){constructor({chunkType:a,chunkId:b,message:c}){super({name:eS,message:c}),this[U]=!0,this.chunkType=a,this.chunkId=b}static isInstance(a){return aC.hasMarker(a,eT)}},eW=Symbol.for("vercel.ai.error.AI_InvalidDataContentError");Symbol.for("vercel.ai.error.AI_InvalidMessageRoleError");Symbol.for("vercel.ai.error.AI_MessageConversionError");Symbol.for("vercel.ai.error.AI_RetryError");var eX=async({url:a,maxBytes:b,abortSignal:c})=>{var d;let e=a.toString();try{let a=bu({},"ai-sdk/7.0.93",bn()),f=await bL({url:e,headers:a,abortSignal:c});if(!f.ok)throw await bv(f),new bz({url:e,statusCode:f.status,statusText:f.statusText});return{data:await bM({response:f,url:e,maxBytes:null!=b?b:0x80000000}),mediaType:null!=(d=f.headers.get("content-type"))?d:void 0}}catch(a){if(bz.isInstance(a))throw a;throw new bz({url:e,cause:a})}},eY={array:cS.array,boolean:cS.boolean,custom:cS.custom,discriminatedUnion:cS.discriminatedUnion,enum:cS.enum,instanceof:cS.instanceof,lazy:cS.lazy,literal:cS.literal,looseObject:cS.looseObject,never:cS.never,null:cS.null,number:cS.number,object:cS.object,record:cS.record,string:cS.string,union:cS.union,unknown:cS.unknown},eZ=eY.lazy(()=>eY.union([eY.null(),eY.string(),eY.number(),eY.boolean(),eY.record(eY.string(),eZ.optional()),eY.array(eZ)])),e$=eY.record(eY.string(),eY.record(eY.string(),eZ.optional())),e_=eY.union([eY.string(),eY.instanceof(Uint8Array),eY.instanceof(ArrayBuffer),eY.custom(function(a){var b,c;return null!=(c=null==(b=globalThis.Buffer)?void 0:b.isBuffer(a))&&c},{message:"Must be a Buffer"})]),e0=eY.record(eY.string(),eY.string()),e1=eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),e2=eY.object({type:eY.literal("image"),image:eY.union([e_,eY.instanceof(URL),e0]),mediaType:eY.string().optional(),providerOptions:e$.optional()}),e3=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)}),eY.object({type:eY.literal("reference"),reference:e0}),eY.object({type:eY.literal("text"),text:eY.string()})]),e4=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)})]),e5=eY.object({type:eY.literal("file"),data:eY.union([e3,e_,eY.instanceof(URL),e0]),filename:eY.string().optional(),mediaType:eY.string(),providerOptions:e$.optional()}),e6=eY.object({type:eY.literal("reasoning"),text:eY.string(),providerOptions:e$.optional()}),e7=eY.object({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerOptions:e$.optional()}),e8=eY.object({type:eY.literal("reasoning-file"),data:eY.union([e4,e_,eY.instanceof(URL)]),mediaType:eY.string(),providerOptions:e$.optional()}),e9=eY.object({type:eY.literal("tool-call"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerOptions:e$.optional(),providerExecuted:eY.boolean().optional()}),fa=eY.discriminatedUnion("type",[eY.object({type:eY.literal("text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("execution-denied"),reason:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("content"),value:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file"),data:e3,mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-data"),data:eY.string(),mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-url"),url:eY.string(),mediaType:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-data"),data:eY.string(),mediaType:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-url"),url:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("custom"),providerOptions:e$.optional()})]))})]),fb=eY.object({type:eY.literal("tool-result"),toolCallId:eY.string(),toolName:eY.string(),output:fa,providerOptions:e$.optional()}),fc=eY.object({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),reason:eY.string().optional()}),fd=eY.object({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional()}),fe=eY.object({role:eY.literal("system"),content:eY.string(),providerOptions:e$.optional()}),ff=eY.object({role:eY.literal("user"),content:eY.union([eY.string(),eY.array(eY.union([e1,e2,e5]))]),providerOptions:e$.optional()}),fg=eY.object({role:eY.literal("assistant"),content:eY.union([eY.string(),eY.array(eY.union([e1,e7,e5,e6,e8,e9,fb,fc]))]),providerOptions:e$.optional()}),fh=eY.object({role:eY.literal("tool"),content:eY.array(eY.union([fb,fd])),providerOptions:e$.optional()});eY.union([fe,ff,fg,fh]);var fi={},fj={array:()=>fo,choice:()=>fr,json:()=>fs,object:()=>fn,text:()=>fm};for(var fk in fj)eH(fi,fk,{get:fj[fk],enumerable:!0});async function fl(a){if(void 0===a)return{value:void 0,state:"undefined-input"};let b=await cv({text:a});return b.success?{value:b.value,state:"successful-parse"}:(b=await cv({text:function(a){let b=["ROOT"],c=-1,d=null,e=0;function f(a,e,f){switch(a){case'"':c=e,b.pop(),b.push(f),b.push("INSIDE_STRING");break;case"f":case"t":case"n":c=e,d=e,b.pop(),b.push(f),b.push("INSIDE_LITERAL");break;case"-":b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=e,b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"{":c=e,b.pop(),b.push(f),b.push("INSIDE_OBJECT_START");break;case"[":c=e,b.pop(),b.push(f),b.push("INSIDE_ARRAY_START")}}function g(a,d){switch(a){case",":b.pop(),b.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":c=d,b.pop()}}function h(a,d){switch(a){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=d,b.pop()}}for(let i=0;i<a.length;i++){let j=a[i];switch(b[b.length-1]){case"ROOT":f(j,i,"FINISH");break;case"INSIDE_OBJECT_START":switch(j){case'"':b.pop(),b.push("INSIDE_OBJECT_KEY");break;case"}":c=i,b.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===j&&(b.pop(),b.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":f(j,i,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":g(j,i);break;case"INSIDE_STRING":switch(j){case'"':b.pop(),c=i;break;case"\\":b.push("INSIDE_STRING_ESCAPE");break;default:c=i}break;case"INSIDE_ARRAY_START":"]"===j?(c=i,b.pop()):(c=i,f(j,i,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(j){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=i,b.pop();break;default:c=i}break;case"INSIDE_ARRAY_AFTER_COMMA":f(j,i,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":b.pop(),"u"===j?(e=0,b.push("INSIDE_STRING_UNICODE_ESCAPE")):c=i;break;case"INSIDE_STRING_UNICODE_ESCAPE":(j>="0"&&j<="9"||j>="A"&&j<="F"||j>="a"&&j<="f")&&4==++e&&(b.pop(),c=i);break;case"INSIDE_NUMBER":switch(j){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=i;break;case"e":case"E":case"-":case".":break;case",":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"}":b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"]":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i);break;default:b.pop()}break;case"INSIDE_LITERAL":{let e=a.substring(d,i+1);"false".startsWith(e)||"true".startsWith(e)||"null".startsWith(e)?c=i:(b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]?g(j,i):"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i))}}}let i=a.slice(0,c+1);for(let c=b.length-1;c>=0;c--)switch(b[c]){case"INSIDE_STRING":i+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":i+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":i+="]";break;case"INSIDE_LITERAL":{let b=a.substring(d,a.length);"true".startsWith(b)?i+="true".slice(b.length):"false".startsWith(b)?i+="false".slice(b.length):"null".startsWith(b)&&(i+="null".slice(b.length))}}return i}(a)})).success?{value:b.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var fm=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:a})=>a,parsePartialOutput:async({text:a})=>({partial:a}),createElementStreamTransform(){}}),fn=({schema:a,name:b,description:c})=>{let d=cq(a);return{name:"object",responseFormat:cB(d.jsonSchema).then(a=>({type:"json",schema:a,...null!=b&&{name:b},...null!=c&&{description:c}})),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});let e=await ct({value:c.value,schema:d});if(!e.success)throw new eQ({message:"No object generated: response did not match schema.",cause:e.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return e.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:b.value}}},createElementStreamTransform(){}}},fo=({element:a,minItems:b,maxItems:c,name:d,description:e})=>{if(fp({name:"minItems",value:b}),fp({name:"maxItems",value:c}),null!=b&&null!=c&&b>c)throw new eL({parameter:"minItems",value:b,message:"minItems must be less than or equal to maxItems"});let f=cq(a);return{name:"array",responseFormat:cB(f.jsonSchema).then(a=>{let{$schema:f,definitions:g,$defs:h,...i}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=g&&{definitions:g},...null!=h&&{$defs:h},type:"object",properties:{elements:{type:"array",items:i,...null!=b&&{minItems:b},...null!=c&&{maxItems:c}}},required:["elements"],additionalProperties:!1},...null!=d&&{name:d},...null!=e&&{description:e}}}),async parseCompleteOutput({text:a},d){let e=await cv({text:a});if(!e.success)throw new eQ({message:"No object generated: could not parse the response.",cause:e.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let g=e.value;if(null==g||"object"!=typeof g||!("elements"in g)||!Array.isArray(g.elements))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:g,cause:"response must be an object with an elements array"}),text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let h=fq({value:g.elements,minItems:b,maxItems:c});if(null!=h)throw new eQ({message:"No object generated: response did not match schema.",cause:h,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let i=[];for(let b of g.elements){let c=await ct({value:b,schema:f});if(!c.success)throw new eQ({message:"No object generated: response did not match schema.",cause:c.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});i.push(c.value)}return i},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let a=b.value;if(null==a||"object"!=typeof a||!("elements"in a)||!Array.isArray(a.elements))return;let c="repaired-parse"===b.state&&a.elements.length>0?a.elements.slice(0,-1):a.elements,d=[];for(let a of c){let b=await ct({value:a,schema:f});b.success&&d.push(b.value)}return{partial:d}}}},createElementStreamTransform(){let a=0;return new TransformStream({transform({partialOutput:b},d){if(null!=b)for(;a<b.length;a++){if(null!=c&&a>=c)return void d.error(fq({value:b,maxItems:c}));d.enqueue(b[a])}}})}}};function fp({name:a,value:b}){if(null!=b){if(!Number.isInteger(b))throw new eL({parameter:a,value:b,message:`${a} must be an integer`});if(b<0)throw new eL({parameter:a,value:b,message:`${a} must be greater than or equal to 0`})}}function fq({value:a,minItems:b,maxItems:c}){return null!=b&&a.length<b?new a2({value:a,cause:`elements array must contain at least ${b} items`}):null!=c&&a.length>c?new a2({value:a,cause:`elements array must contain at most ${c} items`}):void 0}var fr=({options:a,name:b,description:c})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:a}},required:["result"],additionalProperties:!1},...null!=b&&{name:b},...null!=c&&{description:c}}),async parseCompleteOutput({text:b},c){let d=await cv({text:b});if(!d.success)throw new eQ({message:"No object generated: could not parse the response.",cause:d.error,text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});let e=d.value;if(null==e||"object"!=typeof e||!("result"in e)||"string"!=typeof e.result||!a.includes(e.result))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:e,cause:"response must be an object that contains a choice value."}),text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});return e.result},async parsePartialOutput({text:b}){let c=await fl(b);switch(c.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let b=c.value;if(null==b||"object"!=typeof b||!("result"in b)||"string"!=typeof b.result)return;let d=a.filter(a=>a.startsWith(b.result));if("successful-parse"===c.state)return d.includes(b.result)?{partial:b.result}:void 0;return 1===d.length?{partial:d[0]}:void 0}}},createElementStreamTransform(){}}),fs=({name:a,description:b}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=a&&{name:a},...null!=b&&{description:b}}),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return c.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===b.value?void 0:{partial:b.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),TransformStream;var ft=eY.record(eY.string(),eZ.optional()),fu=co(()=>cr(eY.union([eY.looseObject({type:eY.literal("text-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("error"),errorText:eY.string()}),eY.looseObject({type:eY.literal("tool-input-start"),toolCallId:eY.string(),toolName:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-delta"),toolCallId:eY.string(),inputTextDelta:eY.string()}),eY.looseObject({type:eY.literal("tool-input-available"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-error"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),errorText:eY.string(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),approvalDescriptor:eY.unknown().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("tool-output-available"),toolCallId:eY.string(),output:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),preliminary:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-error"),toolCallId:eY.string(),errorText:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-denied"),toolCallId:eY.string()}),eY.looseObject({type:eY.literal("reasoning-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.custom(a=>"string"==typeof a&&a.startsWith("data-"),{message:'Type must start with "data-"'}),id:eY.string().optional(),data:eY.unknown(),transient:eY.boolean().optional()}),eY.looseObject({type:eY.literal("start-step")}),eY.looseObject({type:eY.literal("finish-step")}),eY.looseObject({type:eY.literal("reset-step")}),eY.looseObject({type:eY.literal("start"),messageId:eY.string().optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("finish"),finishReason:eY.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("abort"),reason:eY.string().optional()}),eY.looseObject({type:eY.literal("message-metadata"),messageMetadata:eY.unknown()})])));function fv(){return Object.create(null)}function fw(a){return a.type.startsWith("tool-")}function fx(a){return"dynamic-tool"===a.type}function fy(a){return fw(a)||fx(a)}function fz(a){return a.type.split("-").slice(1).join("-")}function fA(a){return fx(a)?a.toolName:fz(a)}async function fB({stream:a,onError:b,abortSignal:c}){let d=a.getReader(),e=()=>{d.cancel().catch(()=>{})};(null==c?void 0:c.aborted)?e():null==c||c.addEventListener("abort",e,{once:!0});try{for(;;){let{done:a}=await d.read();if(a)break}}catch(a){null==b||b(a)}finally{null==c||c.removeEventListener("abort",e),d.releaseLock()}}bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24});var fC=eY.record(eY.string(),eZ.optional()),fD=eY.record(eY.string(),eY.string());function fE(a){return({url:b,abortSignal:c})=>eX({url:b,maxBytes:null==a?void 0:a.maxBytes,abortSignal:c})}co(()=>cr(eY.array(eY.object({id:eY.string(),role:eY.enum(["system","user","assistant"]),metadata:eY.unknown().optional(),parts:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning"),id:eY.string().optional(),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("custom"),kind:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("file"),mediaType:eY.string(),filename:eY.string().optional(),url:eY.string(),providerReference:fD.optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning-file"),mediaType:eY.string(),url:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("step-start")}),eY.object({type:eY.string().startsWith("data-"),id:eY.string().optional(),data:eY.unknown()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),input:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),input:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),providerExecuted:eY.boolean().optional(),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})})]))}).superRefine((a,b)=>{"assistant"!==a.role&&0===a.parts.length&&b.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:a.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),bN({prefix:"call",size:24}),bN({prefix:"call",size:24}),new TextEncoder,bN({prefix:"aiobj",size:24});var fF=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(a){return new Promise((b,c)=>{this.queue.push(async()=>{try{await a(),b()}catch(a){c(a)}}),this.processQueue()})}};bN({prefix:"aiobj",size:24}),fE();Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function fG(a){if(null==a)return[];if(!globalThis.FileList||!(a instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(a).map(async a=>{let{name:b,type:c}=a;return{type:"file",mediaType:c,filename:b,url:await new Promise((b,c)=>{let d=new FileReader;d.onload=a=>{var c;b(null==(c=a.target)?void 0:c.result)},d.onerror=a=>c(a),d.readAsDataURL(a)})}}))}bN({prefix:"call",size:24}),fE();var fH=class{constructor({api:a="/api/chat",credentials:b,headers:c,body:d,fetch:e,prepareSendMessagesRequest:f,prepareReconnectToStreamRequest:g}){this.api=a,this.credentials=b,this.headers=c,this.body=d,this.fetch=e,this.prepareSendMessagesRequest=f,this.prepareReconnectToStreamRequest=g}async sendMessages({abortSignal:a,...b}){var c,d,e,f;let g=await cB(this.body),h=await cB(this.headers),i=await cB(this.credentials),j={...bt(h),...bt(b.headers)},k=await (null==(c=this.prepareSendMessagesRequest)?void 0:c.call(this,{api:this.api,id:b.chatId,messages:b.messages,body:{...g,...b.body},headers:j,credentials:i,requestMetadata:b.metadata,trigger:b.trigger,messageId:b.messageId})),l=null!=(d=null==k?void 0:k.api)?d:this.api,m=(null==k?void 0:k.headers)!==void 0?bt(k.headers):j,n=(null==k?void 0:k.body)!==void 0?k.body:{...g,...b.body,id:b.chatId,messages:b.messages,trigger:b.trigger,messageId:b.messageId},o=null!=(e=null==k?void 0:k.credentials)?e:i,p=null!=(f=this.fetch)?f:globalThis.fetch,q=await p(l,{method:"POST",headers:{"Content-Type":"application/json",...m},body:JSON.stringify(n),credentials:o,signal:a});if(!q.ok)throw Error(await q.text()||"Failed to fetch the chat response.");if(!q.body)throw Error("The response body is empty.");return this.processResponseStream(q.body)}async reconnectToStream(a){var b,c,d,e;let f=await cB(this.body),g=await cB(this.headers),h=await cB(this.credentials),i={...bt(g),...bt(a.headers)},j=await (null==(b=this.prepareReconnectToStreamRequest)?void 0:b.call(this,{api:this.api,id:a.chatId,body:{...f,...a.body},headers:i,credentials:h,requestMetadata:a.metadata})),k=null!=(c=null==j?void 0:j.api)?c:`${this.api}/${a.chatId}/stream`,l=(null==j?void 0:j.headers)!==void 0?bt(j.headers):i,m=null!=(d=null==j?void 0:j.credentials)?d:h,n=null!=(e=this.fetch)?e:globalThis.fetch,o=await n(k,{method:"GET",headers:l,credentials:m,signal:a.abortSignal});if(204===o.status)return null;if(!o.ok)throw Error(await o.text()||"Failed to fetch the chat response.");if(!o.body)throw Error("The response body is empty.");return this.processResponseStream(o.body)}},fI=class extends fH{constructor(a={}){super(a)}processResponseStream(a){return cw({stream:a,schema:fu}).pipeThrough(new TransformStream({async transform(a,b){if(!a.success)throw a.error;b.enqueue(a.value)}}))}},fJ=class{constructor({generateId:a=bO,id:b=a(),transport:c=new fI,messageMetadataSchema:d,dataPartSchemas:e,state:f,onError:g,onToolCall:h,onFinish:i,onData:j,sendAutomaticallyWhen:k}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new fF,this.sendMessage=async(a,b)=>{var c,d,e,f;let g;if(null==a)return void await this.makeRequest({trigger:"submit-message",messageId:null==(c=this.lastMessage)?void 0:c.id,...b});if("text"in a||"files"in a){let b,c=new AbortController;this.pendingMessagePreparations.add(c);try{b=Array.isArray(a.files)?a.files:await fG(a.files)}finally{this.pendingMessagePreparations.delete(c)}if(c.signal.aborted)return;g={parts:[...b,..."text"in a&&null!=a.text?[{type:"text",text:a.text}]:[]]}}else g=a;if(null!=a.messageId){let b=this.state.messages.findIndex(b=>b.id===a.messageId);if(-1===b)throw Error(`message with id ${a.messageId} not found`);if("user"!==this.state.messages[b].role)throw Error(`message with id ${a.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,b+1),this.state.replaceMessage(b,{id:a.messageId,...g,role:null!=(d=g.role)?d:"user",metadata:a.metadata})}else this.state.pushMessage({...g,id:null!=(e=g.id)?e:this.generateId(),role:null!=(f=g.role)?f:"user",metadata:a.metadata});await this.makeRequest({trigger:"submit-message",messageId:a.messageId,...b})},this.regenerate=async({messageId:a,...b}={})=>{let c=null==a?this.state.messages.length-1:this.state.messages.findIndex(b=>b.id===a);if(-1===c)throw Error(`message ${a} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[c].role?c:c+1),await this.makeRequest({trigger:"regenerate-message",messageId:a,...b})},this.resumeStream=async(a={})=>{await this.makeRequest({trigger:"resume-stream",...a})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:a,approved:b,reason:c,options:d})=>this.jobExecutor.run(async()=>{let e=this.state.messages,f=e[e.length-1],g=d=>fy(d)&&"approval-requested"===d.state&&d.approval.id===a?{...d,state:"approval-responded",approval:{...d.approval,id:a,approved:b,reason:c}}:d;this.state.replaceMessage(e.length-1,{...f,parts:f.parts.map(g)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(g)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...d})})}),this.addToolOutput=async({state:a="output-available",toolCallId:b,output:c,errorText:d,options:e})=>this.jobExecutor.run(async()=>{let f=this.state.messages,g=f[f.length-1],h=e=>fy(e)&&e.toolCallId===b?{...e,state:a,output:c,errorText:d}:e;this.state.replaceMessage(f.length-1,{...g,parts:g.parts.map(h)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(h)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...e})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var a,b;for(let a of this.pendingMessagePreparations)a.abort();null==(a=this.activeResumeRequest)||a.abortController.abort(),null==(b=this.activeResponse)||b.abortController.abort()},this.id=b,this.transport=c,this.generateId=a,this.messageMetadataSchema=d,this.dataPartSchemas=e,this.state=f,this.onError=g,this.onToolCall=h,this.onFinish=i,this.onData=j,this.sendAutomaticallyWhen=k}get status(){return this.state.status}setStatus({status:a,error:b}){this.status!==a&&(this.state.status=a,this.state.error=b)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(a){this.state.messages=a}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let a=this.sendAutomaticallyWhen({messages:this.state.messages});return a&&"object"==typeof a&&"then"in a?await a:a}async makeRequest({trigger:a,metadata:b,headers:c,body:d,messageId:e}){var f,g,h;let i,j,k=new AbortController,l="resume-stream"===a?{abortController:k}:void 0;l&&(null==(f=this.activeResumeRequest)||f.abortController.abort(),this.activeResumeRequest=l);let m=()=>null==l||this.activeResumeRequest===l,n=()=>{this.activeResumeRequest===l&&(this.activeResumeRequest=void 0)};if("resume-stream"===a)try{let a=await this.transport.reconnectToStream({chatId:this.id,abortSignal:k.signal,metadata:b,headers:c,body:d});if(k.signal.aborted||!m()){await (null==a?void 0:a.cancel().catch(()=>{})),m()&&this.setStatus({status:"ready"}),n();return}if(null==a){this.setStatus({status:"ready"}),n();return}i=a}catch(a){if(k.signal.aborted||"AbortError"===a.name){m()&&this.setStatus({status:"ready"}),n();return}if(!m())return;this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a}),n();return}this.setStatus({status:"submitted",error:void 0});let o=this.lastMessage,p=!1,q=!1,r=!1;try{let f,g={state:function({lastMessage:a,messageId:b}){return{message:(null==a?void 0:a.role)==="assistant"?a:{id:b,metadata:void 0,role:"assistant",parts:[]},activeTextParts:fv(),activeReasoningParts:fv(),partialToolCalls:fv()}}({lastMessage:"resume-stream"===a||"regenerate-message"===a?void 0:this.state.snapshot(o),messageId:this.generateId()}),abortController:k};j=g,g.abortController.signal.addEventListener("abort",()=>{p=!0}),this.activeResponse=g,f="resume-stream"===a?i:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:g.abortController.signal,metadata:b,headers:c,body:d,trigger:a,messageId:e});let h=a=>this.jobExecutor.run(()=>g.abortController.signal.aborted?Promise.resolve():a({state:g.state,write:({updateStatus:a=!0}={})=>{var b;g.abortController.signal.aborted||(a&&this.setStatus({status:"streaming"}),g.state.message.id===(null==(b=this.lastMessage)?void 0:b.id)?this.state.replaceMessage(this.state.messages.length-1,g.state.message):this.state.pushMessage(g.state.message))}}));if(await fB({stream:function({stream:a,messageMetadataSchema:b,dataPartSchemas:c,runUpdateMessageJob:d,onError:e,onToolCall:f,onData:g}){return a.pipeThrough(new TransformStream({async transform(a,h){await d(async({state:d,write:i})=>{var j,k,l,m;function n(){let a=d.message.parts,b=a.length-1;for(;b>=0&&"step-start"!==a[b].type;)b--;return a.slice(b+1)}function o(a){let b=n().filter(fy).find(b=>b.toolCallId===a);if(null==b){let c=d.message.parts;for(let d=c.length-1;d>=0;d--){let e=c[d];if(fy(e)&&e.toolCallId===a){b=e;break}}}if(null==b)throw new eV({chunkType:"tool-invocation",chunkId:a,message:`No tool invocation found for tool call ID "${a}".`});return b}function p(a,b){var c;let e=null!=b?b:n().find(b=>fw(b)&&b.toolCallId===a.toolCallId);if(null!=e){e.state=a.state,e.input=a.input,e.output=a.output,e.errorText=a.errorText,e.rawInput=a.rawInput,e.preliminary=a.preliminary,void 0!==a.title&&(e.title=a.title),void 0!==a.toolMetadata&&(e.toolMetadata=a.toolMetadata),e.providerExecuted=null!=(c=a.providerExecuted)?c:e.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?e.resultProviderMetadata=b:e.callProviderMetadata=b)}else d.message.parts.push({type:`tool-${a.toolName}`,toolCallId:a.toolCallId,state:a.state,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},input:a.input,output:a.output,rawInput:a.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,preliminary:a.preliminary,...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}function q(a,b){var c,e;let f=null!=b?b:n().find(b=>"dynamic-tool"===b.type&&b.toolCallId===a.toolCallId);if(null!=f){f.state=a.state,f.toolName=a.toolName,f.input=a.input,f.output=a.output,f.errorText=a.errorText,f.rawInput=null!=(c=a.rawInput)?c:f.rawInput,f.preliminary=a.preliminary,void 0!==a.title&&(f.title=a.title),void 0!==a.toolMetadata&&(f.toolMetadata=a.toolMetadata),f.providerExecuted=null!=(e=a.providerExecuted)?e:f.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?f.resultProviderMetadata=b:f.callProviderMetadata=b)}else d.message.parts.push({type:"dynamic-tool",toolName:a.toolName,toolCallId:a.toolCallId,state:a.state,input:a.input,output:a.output,errorText:a.errorText,preliminary:a.preliminary,providerExecuted:a.providerExecuted,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}async function r(a){if(null!=a){let c=null!=d.message.metadata?function a(b,c){if(void 0===b&&void 0===c)return;if(void 0===b)return c;if(void 0===c)return b;let d={...b};for(let e in c)if("__proto__"!==e&&"constructor"!==e&&"prototype"!==e&&Object.prototype.hasOwnProperty.call(c,e)){let f=c[e];if(void 0===f)continue;let g=e in b?b[e]:void 0,h=null!==f&&"object"==typeof f&&!Array.isArray(f)&&!(f instanceof Date)&&!(f instanceof RegExp),i=null!=g&&"object"==typeof g&&!Array.isArray(g)&&!(g instanceof Date)&&!(g instanceof RegExp);h&&i?d[e]=a(g,f):d[e]=f}return d}(d.message.metadata,a):a;null!=b&&await cs({value:c,schema:b,context:{field:"message.metadata",entityId:d.message.id}}),d.message.metadata=c}}switch(a.type){case"text-start":{let b={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeTextParts[a.id]=b,d.message.parts.push(b),i();break}case"text-delta":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-delta",chunkId:a.id,message:`Received text-delta for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(j=a.providerMetadata)?j:b.providerMetadata,i();break}case"text-end":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-end",chunkId:a.id,message:`Received text-end for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});b.state="done",b.providerMetadata=null!=(k=a.providerMetadata)?k:b.providerMetadata,delete d.activeTextParts[a.id],i();break}case"custom":{let b={type:"custom",kind:a.kind,providerMetadata:a.providerMetadata};d.message.parts.push(b),i();break}case"reasoning-start":{let b={type:"reasoning",id:a.id,text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeReasoningParts[a.id]=b,d.message.parts.push(b),i();break}case"reasoning-delta":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-delta",chunkId:a.id,message:`Received reasoning-delta for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(l=a.providerMetadata)?l:b.providerMetadata,i();break}case"reasoning-end":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-end",chunkId:a.id,message:`Received reasoning-end for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});b.providerMetadata=null!=(m=a.providerMetadata)?m:b.providerMetadata,b.state="done",delete d.activeReasoningParts[a.id],i();break}case"file":case"reasoning-file":d.message.parts.push({type:a.type,mediaType:a.mediaType,url:a.url,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}}),i();break;case"source-url":d.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),i();break;case"source-document":d.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),i();break;case"tool-input-start":{let b=n().filter(fw);d.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:b.length,dynamic:a.dynamic,title:a.title,toolMetadata:a.toolMetadata},a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}),i();break}case"tool-input-delta":{let b=d.partialToolCalls[a.toolCallId];if(null==b)throw new eV({chunkType:"tool-input-delta",chunkId:a.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${a.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});b.text+=a.inputTextDelta;let{value:c}=await fl(b.text);b.dynamic?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}):p({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}),i();break}case"tool-input-available":a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}),i(),f&&!a.providerExecuted&&await f({toolCall:a});break;case"tool-input-error":{let b=n().filter(fy).find(b=>b.toolCallId===a.toolCallId);(null!=b?"dynamic-tool"===b.type:a.dynamic)?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}),i();break}case"tool-approval-request":{let b=o(a.toolCallId);b.state="approval-requested",b.approval={id:a.approvalId,...null!=a.approvalDescriptor?{descriptor:a.approvalDescriptor}:{},...null!=a.reason?{requestReason:a.reason}:{},...!0===a.isAutomatic?{isAutomatic:!0}:{},...null!=a.signature?{signature:a.signature}:{}},i();break}case"tool-approval-response":{let b=function(a){let b=d.message.parts.filter(fy).find(b=>{var c;return(null==(c=b.approval)?void 0:c.id)===a});if(null==b)throw new eV({chunkType:"tool-approval-response",chunkId:a,message:`No tool invocation found for approval ID "${a}".`});return b}(a.approvalId),c=null==b.approval?{id:a.approvalId}:b.approval;b.state="approval-responded",b.approval={...c,id:a.approvalId,approved:a.approved,...null!=a.reason?{reason:a.reason}:{}},null!=a.providerExecuted&&(b.providerExecuted=a.providerExecuted),null!=a.providerMetadata&&(b.callProviderMetadata=a.providerMetadata),i();break}case"tool-output-denied":o(a.toolCallId).state="output-denied",i();break;case"tool-output-available":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-available",input:b.input,output:a.output,preliminary:a.preliminary,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-available",input:b.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"tool-output-error":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-error",input:b.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-error",input:b.input,rawInput:b.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"start-step":d.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let a=n();d.activeTextParts=fv(),d.activeReasoningParts=fv(),d.partialToolCalls=fv(),a.length>0&&(d.message.parts.splice(d.message.parts.length-a.length,a.length),i());break}case"start":null!=a.messageId&&(d.message.id=a.messageId),await r(a.messageMetadata),(null!=a.messageId||null!=a.messageMetadata)&&i({updateStatus:!1});break;case"finish":null!=a.finishReason&&(d.finishReason=a.finishReason),await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"message-metadata":await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"error":null==e||e(Error(a.errorText));break;default:if(a.type.startsWith("data-")){if((null==c?void 0:c[a.type])!=null){let b=d.message.parts.findIndex(b=>"id"in b&&"data"in b&&b.id===a.id&&b.type===a.type),e=b>=0?b:d.message.parts.length;await cs({value:a.data,schema:c[a.type],context:{field:`message.parts[${e}].data`,entityName:a.type,entityId:a.id}})}if(a.transient){null==g||g(a);break}let b=null!=a.id?d.message.parts.find(b=>a.type===b.type&&a.id===b.id):void 0;null!=b?b.data=a.data:d.message.parts.push(a),null==g||g(a),i()}}h.enqueue(a)})}}))}({stream:f,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:h,onError:a=>{throw a}}),abortSignal:g.abortController.signal,onError:a=>{throw a}}),p)return m()&&this.setStatus({status:"ready"}),null;m()&&this.setStatus({status:"ready"})}catch(a){if(p||"AbortError"===a.name)return p=!0,m()&&this.setStatus({status:"ready"}),null;if(!m())return null;r=!0,a instanceof TypeError&&(a.message.toLowerCase().includes("fetch")||a.message.toLowerCase().includes("network"))&&(q=!0),this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a})}finally{try{j&&(null==(g=this.onFinish)||g.call(this,{message:j.state.message,messages:this.state.messages,isAbort:p,isDisconnect:q,isError:r,finishReason:j.state.finishReason}))}finally{this.activeResponse===j&&(this.activeResponse=void 0),n()}}!r&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(h=this.lastMessage)?void 0:h.id,metadata:b,headers:c,body:d})}};a.i(393931);var fK=a.i(313350),fL=(a,b,c)=>{if(!b.has(a))throw TypeError("Cannot "+c)},fM=(a,b,c)=>(fL(a,b,"read from private field"),c?c.call(a):b.get(a)),fN=(a,b,c)=>{if(b.has(a))throw TypeError("Cannot add the same private member more than once");b instanceof WeakSet?b.add(a):b.set(a,c)},fO=(a,b,c,d)=>(fL(a,b,"write to private field"),d?d.call(a,c):b.set(a,c),c),fP=class{constructor(a=[]){fN(this,W,void 0),fN(this,X,"ready"),fN(this,Y,void 0),fN(this,Z,new Set),fN(this,$,new Set),fN(this,_,new Set),this.pushMessage=a=>{fO(this,W,fM(this,W).concat(a)),fM(this,aa).call(this)},this.popMessage=()=>{fO(this,W,fM(this,W).slice(0,-1)),fM(this,aa).call(this)},this.replaceMessage=(a,b)=>{fO(this,W,[...fM(this,W).slice(0,a),this.snapshot(b),...fM(this,W).slice(a+1)]),fM(this,aa).call(this)},this.snapshot=a=>{var b;if(null==a||"object"!=typeof a||!("parts"in a)||!Array.isArray(a.parts))return a;let c={...a,parts:a.parts.map(a=>({...a}))};return"metadata"in a&&(c.metadata=Array.isArray(b=a.metadata)?[...b]:null!=b&&"object"==typeof b&&(Object.getPrototypeOf(b)===Object.prototype||null===Object.getPrototypeOf(b))?{...b}:b),c},this["~registerMessagesCallback"]=(a,b)=>{let c=b?null!=b?(0,fK.default)(a,b):a:a;return fM(this,Z).add(c),()=>{fM(this,Z).delete(c)}},this["~registerStatusCallback"]=a=>(fM(this,$).add(a),()=>{fM(this,$).delete(a)}),this["~registerErrorCallback"]=a=>(fM(this,_).add(a),()=>{fM(this,_).delete(a)}),fN(this,aa,()=>{fM(this,Z).forEach(a=>a())}),fN(this,ab,()=>{fM(this,$).forEach(a=>a())}),fN(this,ac,()=>{fM(this,_).forEach(a=>a())}),fO(this,W,a)}get status(){return fM(this,X)}set status(a){fO(this,X,a),fM(this,ab).call(this)}get error(){return fM(this,Y)}set error(a){fO(this,Y,a),fM(this,ac).call(this)}get messages(){return fM(this,W)}set messages(a){fO(this,W,[...a]),fM(this,aa).call(this)}};W=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ab=new WeakMap,ac=new WeakMap;var fQ=class extends fJ{constructor({messages:a,...b}){const c=new fP(a);super({...b,state:c}),fN(this,ad,void 0),this["~registerMessagesCallback"]=(a,b)=>fM(this,ad)["~registerMessagesCallback"](a,b),this["~registerStatusCallback"]=a=>fM(this,ad)["~registerStatusCallback"](a),this["~registerErrorCallback"]=a=>fM(this,ad)["~registerErrorCallback"](a),fO(this,ad,c)}};ad=new WeakMap;var fR=a.i(327598);let fS={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};fS.node;let fT=(0,ai.default)(fS);var fU=a.i(589027),fV=a.i(875160);let fW={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};fW.node;let fX=(0,ai.default)(fW);var fY=a.i(545097),fZ=a.i(608902),f$=a.i(379630),f_=a.i(421042),f0=a.i(497895);let f1=new fI({api:ar.queryKey.memoryEdit});function f2({notes:a}){let[b,c]=(0,aq.useState)(""),[d,e]=(0,aq.useState)({provider:null,model:""}),[f,g]=(0,aq.useState)(!1),{messages:h,sendMessage:i,setMessages:j,status:k,stop:l,error:m,clearError:n}=function({throttle:a,experimental_throttle:b,resume:c=!1,...d}={}){let e,f=null!=a?a:b,g=(0,aq.useRef)({});"chat"in d||(g.current={onToolCall:d.onToolCall,onData:d.onData,onFinish:d.onFinish,onError:d.onError,sendAutomaticallyWhen:d.sendAutomaticallyWhen,transport:d.transport});let h=()=>{var a;return null!=(a=g.current.transport)?a:null!=e?e:e=new fI},i={...d,transport:{sendMessages:a=>h().sendMessages(a),reconnectToStream:a=>h().reconnectToStream(a)},onToolCall:a=>{var b,c;return null==(c=(b=g.current).onToolCall)?void 0:c.call(b,a)},onData:a=>{var b,c;return null==(c=(b=g.current).onData)?void 0:c.call(b,a)},onFinish:a=>{var b,c;return null==(c=(b=g.current).onFinish)?void 0:c.call(b,a)},onError:a=>{var b,c;return null==(c=(b=g.current).onError)?void 0:c.call(b,a)},sendAutomaticallyWhen:a=>{var b,c,d;return null!=(d=null==(c=(b=g.current).sendAutomaticallyWhen)?void 0:c.call(b,a))&&d}},j=(0,aq.useRef)("chat"in d?d.chat:new fQ(i));("chat"in d&&d.chat!==j.current||"id"in d&&null!=d.id&&j.current.id!==d.id)&&(j.current="chat"in d?d.chat:new fQ(i));let k=j.current,l=(0,aq.useRef)({chat:k,messages:k.messages});l.current.chat!==k&&(l.current={chat:k,messages:k.messages});let m=(0,aq.useCallback)(a=>{let b=!0,c=k["~registerMessagesCallback"](()=>{b&&l.current.chat===k&&(l.current={chat:k,messages:k.messages},a())},f);return l.current={chat:k,messages:k.messages},()=>{b=!1,c()}},[k,f]),n=(0,aq.useCallback)(()=>l.current.messages,[]),o=(0,aq.useSyncExternalStore)(m,n,n),p=(0,aq.useCallback)(a=>k["~registerStatusCallback"](()=>{l.current.chat===k&&(("ready"===k.status||"error"===k.status)&&(l.current={chat:k,messages:k.messages}),a())}),[k]),q=(0,aq.useCallback)(()=>k.status,[k]),r=(0,aq.useSyncExternalStore)(p,q,q),s=(0,aq.useSyncExternalStore)(j.current["~registerErrorCallback"],()=>j.current.error,()=>j.current.error),t=(0,aq.useCallback)(a=>{"function"==typeof a&&(a=a(j.current.messages)),j.current.messages=a},[j]);return(0,aq.useEffect)(()=>{c&&j.current.resumeStream()},[c,j]),{id:j.current.id,messages:o,setMessages:t,sendMessage:j.current.sendMessage,regenerate:j.current.regenerate,clearError:j.current.clearError,stop:j.current.stop,error:s,resumeStream:j.current.resumeStream,status:r,addToolResult:j.current.addToolOutput,addToolOutput:j.current.addToolOutput,addToolApprovalResponse:j.current.addToolApprovalResponse}}({transport:f1}),o=(0,aq.useRef)(l);o.current=l,(0,aq.useEffect)(()=>()=>{o.current()},[]);let p=(0,aq.useRef)(new Map);for(let b of a)for(let a of b.facts)p.current.set(a.id,{text:a.text,path:b.path});let q="submitted"===k||"streaming"===k,r=!!(d.provider&&d.model.trim()),s=[...h].reverse().find(a=>"assistant"===a.role),t=s?.parts??[],u=t.filter(fy),v=t.flatMap(a=>"text"===a.type?[a.text]:[]).join(" ").trim(),w=!!m||u.some(a=>"output-error"===a.state),x=u.filter(a=>"output-available"===a.state&&fA(a)!==f_.TOOL_NAMES.memory_recall).length;(0,aq.useEffect)(()=>{if("ready"!==k||w||0===h.length)return;let a=setTimeout(()=>j([]),4e3);return()=>clearTimeout(a)},[k,w,h.length,j]);let y=q?(0,ae.jsx)(fY.ShinyText,{text:"Working on memory",className:"text-xs"}):m?(0,ae.jsx)("span",{className:"text-xs text-destructive",children:m.message}):s?(0,ae.jsx)("span",{className:"text-xs text-muted-foreground",children:v||(0===x?"Nothing to change":1===x?"1 change saved":`${x} changes saved`)}):null;return(0,ae.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,ae.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[f&&(0,ae.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,ae.jsx)(fZ.ModelPicker,{provider:d.provider,model:d.model,unset:"Provider",onChange:e})}),u.length>0&&(0,ae.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:u.map(a=>(0,ae.jsx)(f4,{name:fA(a),input:a.input,state:a.state,errorText:"output-error"===a.state?a.errorText:void 0,known:p.current},a.toolCallId))}),y&&(0,ae.jsx)("p",{className:"max-w-full truncate px-1",children:y}),(0,ae.jsxs)("form",{onSubmit:a=>{a.preventDefault();let e=b.trim();e&&r&&!q&&(c(""),g(!1),n(),j([]),i({text:e},{body:{model:d}}))},className:"flex h-10 w-full items-center gap-1.5 rounded-xl bg-popover pr-1.5 pl-3.5 shadow-lg ring-1 ring-foreground/10",children:[(0,ae.jsx)("input",{value:b,onChange:a=>c(a.target.value),disabled:q,"aria-label":"Edit memory",placeholder:"Tell memory what changed",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-60"}),(0,ae.jsxs)(as.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>g(!f),className:(0,f0.cn)("max-w-44",!r&&"text-muted-foreground"),children:[r&&d.provider?(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(f$.ProviderIcon,{provider:d.provider,className:"size-3"}),(0,ae.jsx)("span",{className:"truncate",children:d.model})]}):"Model",(0,ae.jsx)(fU.ChevronDown,{className:"text-muted-foreground"})]}),(0,ae.jsx)(as.Button,{type:"submit",size:"icon-sm",loading:q,disabled:!b.trim()||!r||q,"aria-label":"Send",children:!q&&(0,ae.jsx)(fR.ArrowUp,{})})]})]})})}let f3={Remember:an.Plus,Replace:ak,Forget:fX,Rename:ak,Opened:fT};function f4({name:a,input:b,state:c,errorText:d,known:e}){let f=function(a,b,c){let d=b??{};if(a===f_.TOOL_NAMES.memory_recall)return{kind:"Opened",path:d.path??"",lines:[],carried:!1};if(a===f_.TOOL_NAMES.memory_forget){let a=(d.factIds??[]).filter(a=>null!=a),b=a.map(a=>c.get(a));return{kind:"Forget",path:b.find(a=>a)?.path??"",lines:a.map((a,c)=>({before:b[c]?.text??`Fact #${a}`})),carried:!1}}let e=(d.facts??[]).filter(a=>null!=a),f=e.map(a=>null!=a.replaces?{before:c.get(a.replaces)?.text??`Fact #${a.replaces}`,after:a.text}:{after:a.text});d.description&&f.push({after:`“${d.description}”`});let g=(d.aliases??[]).filter(Boolean);return g.length&&f.push({after:`Called ${g.map(a=>`“${a}”`).join(", ")}`}),{kind:e.some(a=>null!=a.replaces)?"Replace":e.length?"Remember":"Rename",path:d.path??"",lines:f,carried:e.some(a=>a.alwaysLoad)}}(a,b,e),g=f3[f.kind],h="output-error"===c;return(0,ae.jsxs)("li",{className:"flex animate-in items-start gap-2.5 px-3 py-2.5 duration-200 fade-in slide-in-from-bottom-1",children:[(0,ae.jsx)(g,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,ae.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[f.lines.map((a,b)=>(0,ae.jsxs)("div",{children:[a.before&&(0,ae.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:a.before}),a.after&&(0,ae.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:a.after})]},`${f.kind}-${b}`)),(0,ae.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[f.kind,f.path&&` \xb7 ${f.path}`,f.carried&&" · carried into every call"]}),h&&d&&(0,ae.jsx)("p",{className:"text-xs text-destructive",children:d})]}),(0,ae.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:h?(0,ae.jsx)(ap.X,{className:"size-3.5 text-destructive"}):"output-available"===c?(0,ae.jsx)(ah.Check,{className:"size-3.5"}):(0,ae.jsx)(fV.Loader2,{className:"size-3.5 animate-spin"})})]})}var f5=a.i(405050);let f6=(0,f5.createServerReference)("7f6646bb4ffc74bae401ad2f790ecb1c2b73aea0d3",f5.callServer,void 0,f5.findSourceMapURL,"addFactsAction"),f7=(0,f5.createServerReference)("7f3f09b549ff0f552c5fe9b285263706f0257fb4f2",f5.callServer,void 0,f5.findSourceMapURL,"createNoteAction"),f8=(0,f5.createServerReference)("7feaf6b673da50f141abb3ed2ab6e9b5411f45dc19",f5.callServer,void 0,f5.findSourceMapURL,"deleteNoteAction"),f9=(0,f5.createServerReference)("7fa24d7892488547b32c0dd4fcb3dd7149af93c349",f5.callServer,void 0,f5.findSourceMapURL,"forgetFactAction"),ga=(0,f5.createServerReference)("7f27d6f67bb232f052b2123054d00eae85d9879274",f5.callServer,void 0,f5.findSourceMapURL,"reviseFactAction"),gb=(0,f5.createServerReference)("7f6b3929a34f6228b7c1a78faf061dd705a7ceecee",f5.callServer,void 0,f5.findSourceMapURL,"setFactAlwaysLoadAction"),gc=(0,f5.createServerReference)("7f705757a8deddfaecfaa2f5413b6c61e129f0c684",f5.callServer,void 0,f5.findSourceMapURL,"updateNoteAction");var gd=a.i(156757),ge=a.i(199169);let gf=gd.z.enum(["user","call","bot"]),gg=a=>"user"===a?"you":"call"===a?"on a call":"bot"===a?"a bot":"",gh=gd.z.object({id:gd.z.number(),text:gd.z.string(),alwaysLoad:gd.z.boolean(),source:gf.nullish(),createdAt:ge.DateLikeSchema});gd.z.object({id:gd.z.number(),path:gd.z.string(),description:gd.z.string(),aliases:gd.z.string().array().nullish(),ownedByUser:gd.z.boolean(),hits:gd.z.number(),lastReadAt:ge.DateLikeSchema.nullable(),createdAt:ge.DateLikeSchema,updatedAt:ge.DateLikeSchema,factCount:gd.z.number(),facts:gh.array()});let gi=[{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"}],gj=gi.filter(a=>!a.path.endsWith("/")).map(a=>a.path),gk=gi.filter(a=>a.path.endsWith("/")).map(a=>a.path.slice(0,-1));RegExp(`^(?:${gj.join("|")}|(?:${gk.join("|")})/.+)$`);let gl=["profile","preferences"];function gm(a){let b=a.indexOf("/");return -1===b?a:a.slice(b+1)}function gn(a){let b,c,d;return b=a.path,!gl.includes(b)&&.15>(c=(0,ge.toDate)(a.lastReadAt??a.createdAt),d=Math.max(0,(Date.now()-c.getTime())/864e5),(a.hits+1)/(1+d))}[...gl];var go=a.i(619477),gp=a.i(888396),gq=a.i(313237),gr=a.i(862966),gs=a.i(759497);let gt=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"inbox",label:"Inbox"}];function gu({note:a}){let b=a.facts.filter(a=>a.alwaysLoad).length;return(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsxs)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:[a.path," · ",a.hits," ",1===a.hits?"read":"reads"," ·"," ",a.lastReadAt?`last read ${(0,ag.formatDistanceToNowStrict)(a.lastReadAt,{addSuffix:!0})}`:"never read back"]}),b>0&&(0,ae.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[b," carried into every call"]})]})}function gv({note:a,active:b,onPick:c}){return(0,ae.jsxs)("button",{type:"button",onClick:c,className:(0,f0.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",b?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground",gn(a)&&!b&&"opacity-55"),children:[(0,ae.jsx)("span",{className:(0,f0.cn)("min-w-0 flex-1 truncate text-[13px]",b&&"font-medium"),children:gm(a.path)}),(0,ae.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:a.factCount})]})}function gw({note:a}){let[b,c]=(0,aq.useState)(!1),[d,e]=(0,aq.useState)(""),f={onOk:()=>(0,gs.revalidate)(ar.queryKey.memory)},[g]=(0,gq.useServerAction)(gc,f),[h]=(0,gq.useServerAction)(f6,f),[i]=(0,gq.useServerAction)(ga,f),[j]=(0,gq.useServerAction)(f9,f),[k]=(0,gq.useServerAction)(gb,f),[l,m]=(0,gq.useServerAction)(f8,f),n=async()=>{let b=d.split("\n").map(a=>a.trim()).filter(Boolean);0!==b.length&&(await h(a.id,b),e(""))},o=async()=>{await av.notify.confirm({title:`Forget ${a.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&l(a.id)};return(0,ae.jsxs)("div",{className:(0,f0.cn)("flex min-h-full flex-col",gn(a)&&"opacity-55"),children:[(0,ae.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-6 py-2.5",children:[(0,ae.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.path}),(0,ae.jsxs)("span",{className:"flex shrink-0 gap-1",children:[(0,ae.jsx)(as.Button,{size:"icon-sm",variant:b?"secondary":"ghost","aria-label":b?"Done editing":"Edit this note",onClick:()=>c(!b),children:b?(0,ae.jsx)(ah.Check,{}):(0,ae.jsx)(ak,{})}),(0,ae.jsx)(as.Button,{size:"icon-sm",variant:"ghost","aria-label":"Forget this note",loading:m,onClick:o,children:(0,ae.jsx)(ao.Trash2,{})})]})]}),(0,ae.jsxs)("div",{className:"flex-1 space-y-5 px-6 py-5",children:[(0,ae.jsxs)("div",{className:"space-y-1.5",children:[(0,ae.jsx)("p",{className:"text-xl font-semibold",children:gm(a.path)}),b?(0,ae.jsx)(gx,{text:a.description,onCommit:async b=>{await g(a.id,{description:b})}}):(0,ae.jsx)("p",{className:"text-[13px] leading-relaxed text-muted-foreground",children:a.description})]}),b?(0,ae.jsxs)("div",{className:"space-y-2",children:[a.facts.map(b=>(0,ae.jsx)(gy,{text:b.text,alwaysLoad:b.alwaysLoad,onRevise:async c=>{await i(a.id,b.id,c)},onCarry:async c=>{await k(a.id,b.id,c)},onForget:async()=>{await j(a.id,b.id)}},b.id)),(0,ae.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,ae.jsx)(ay.Textarea,{value:d,onChange:a=>e(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),n())},placeholder:"Add facts — one per line",className:"min-h-9 resize-none py-1.5 text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:"outline",disabled:!d.trim(),onClick:n,children:(0,ae.jsx)(an.Plus,{})})]})]}):0===a.facts.length?(0,ae.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Nothing saved here yet — the agent adds facts during calls"}):(0,ae.jsx)("ul",{className:"divide-y divide-border/60 border-y border-border/60",children:a.facts.map(a=>(0,ae.jsxs)("li",{className:"flex gap-3 py-3",children:[(0,ae.jsx)("span",{className:"flex w-3.5 shrink-0 justify-center pt-1",children:a.alwaysLoad?(0,ae.jsx)(am,{className:"size-3 text-foreground"}):(0,ae.jsx)("span",{className:"text-muted-foreground/50",children:"—"})}),(0,ae.jsx)("span",{className:"flex-1 text-sm leading-relaxed text-foreground/90",children:a.text}),(0,ae.jsxs)("span",{className:"shrink-0 pt-0.5 text-right text-[11px] text-muted-foreground/50",children:[(0,ae.jsx)("span",{className:"block font-mono",children:(0,af.format)(a.createdAt,"yyyy.MM.dd")}),gg(a.source)&&(0,ae.jsx)("span",{className:"block",children:gg(a.source)})]})]},a.id))})]})]})}function gx({text:a,onCommit:b}){let c=(0,gp.useDraft)(a,b);return(0,ae.jsx)(au.Input,{value:c.value,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,placeholder:"One-line summary",className:"text-sm text-muted-foreground"})}function gy({text:a,alwaysLoad:b,onRevise:c,onCarry:d,onForget:e}){let f=(0,gp.useDraft)(a,c);return(0,ae.jsxs)("div",{className:"flex gap-2",children:[(0,ae.jsx)(au.Input,{value:f.value,onChange:a=>f.set(a.target.value),onBlur:f.commit,onKeyDown:f.onKeyDown,className:"text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:b?"secondary":"ghost","aria-label":b?"Stop carrying into calls":"Carry into every call",title:"Carried into every call, without opening this note",onClick:()=>d(!b),children:(0,ae.jsx)(am,{className:(0,f0.cn)(!b&&"text-muted-foreground/60")})}),(0,ae.jsx)(as.Button,{size:"icon",variant:"ghost",onClick:e,children:(0,ae.jsx)(ap.X,{})})]})}let gz=[{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 gA(){return av.notify.component({className:"sm:max-w-lg",renderer:({close:a})=>(0,ae.jsx)(gB,{onDone:a})})}function gB({onDone:a}){let[b,c]=(0,aq.useState)("people"),[d,e]=(0,aq.useState)(""),[f,g]=(0,aq.useState)(""),[h,i]=(0,aq.useState)(""),[j,k,,l]=(0,gq.useServerAction)(f7,{errorMessage:!1,onOk:()=>{(0,gs.revalidate)(ar.queryKey.memory),a()}}),m=gz.find(a=>a.key===b),n=d.trim()&&f.trim()&&!k,o=()=>{n&&j(`${b}/${d.trim()}`,f.trim(),h.split("\n").map(a=>a.trim()).filter(Boolean))};return(0,ae.jsxs)(go.SettingDialogContent,{title:"New note",description:"Where the agent files what it learns about this subject.",footer:(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(as.Button,{variant:"ghost",onClick:a,children:"Cancel"}),(0,ae.jsxs)(as.Button,{disabled:!n,loading:k,onClick:o,children:[!k&&(0,ae.jsx)(an.Plus,{}),"Create"]})]}),children:[(0,ae.jsxs)("div",{className:"space-y-6",children:[(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{children:"Kind"}),(0,ae.jsx)(ax.Tabs,{value:b,onValueChange:a=>c(a),children:(0,ae.jsx)(ax.TabsList,{className:"w-full",children:gz.map(a=>(0,ae.jsx)(ax.TabsTrigger,{value:a.key,children:a.label},a.key))})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,ae.jsxs)(at.FieldContent,{children:[(0,ae.jsx)(au.Input,{id:"note-name",value:d,onChange:a=>e(a.target.value),placeholder:m?.placeholder,spellCheck:!1,required:!0}),(0,ae.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[b,"/",d.trim()||"…"]})]})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,ae.jsx)(at.FieldContent,{children:(0,ae.jsx)(au.Input,{id:"note-summary",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>"Enter"===a.key&&o(),placeholder:"One line the agent sees in its note list",required:!0})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,ae.jsx)(ay.Textarea,{id:"note-facts",value:h,onChange:a=>i(a.target.value),placeholder:`One per line
38
- ${m?.fact??""}`,className:"min-h-24 resize-none text-sm"})]})]}),l&&(0,ae.jsx)("p",{className:"font-mono text-xs text-destructive",children:l})]})}a.s(["MemorySetting",0,function(){let{items:a,isLoading:b,isLoadingMore:c,error:d,hasMore:e,sentinelRef:f}=(0,gr.useServerPages)({key:a=>ar.queryKey.memoryPage(a*az.PAGE_SIZE)}),[g,h]=(0,aq.useState)(null),i=a.find(a=>a.id===g)??a[0]??null;return b?(0,ae.jsx)(go.SettingPanesSkeleton,{}):d?(0,ae.jsx)(go.SettingError,{message:d.message}):(0,ae.jsxs)("div",{className:"relative h-full min-h-0",children:[(0,ae.jsx)(go.SettingPanes,{footer:i&&(0,ae.jsx)(gu,{note:i}),left:(0,ae.jsxs)("div",{className:"flex flex-col py-2",children:[(0,ae.jsxs)("button",{type:"button",onClick:gA,className:"mx-2 mb-1 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,ae.jsx)(an.Plus,{className:"size-3.5 shrink-0"}),"New note"]}),gt.map(({key:b,label:c})=>{let d=a.filter(a=>(function(a){if("profile"===a||"preferences"===a)return"you";let b=a.slice(0,a.indexOf("/"));return gk.includes(b)?b:"inbox"})(a.path)===b);return 0===d.length?null:(0,ae.jsxs)(aq.Fragment,{children:[(0,ae.jsxs)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:[c,"inbox"===b&&(0,ae.jsx)("span",{className:"pl-1.5 text-muted-foreground/50",children:"waiting to be filed"})]}),d.map(a=>(0,ae.jsx)(gv,{note:a,active:a.id===i?.id,onPick:()=>h(a.id)},a.id))]},b)}),(0,ae.jsx)(go.SettingMore,{hasMore:e,loading:c,sentinelRef:f,count:3,ghost:(0,ae.jsxs)("div",{className:"mx-2 flex items-center gap-2 px-2 py-2",children:[(0,ae.jsx)(aw.Skeleton,{className:"h-3 w-28"}),(0,ae.jsx)("span",{className:"flex-1"}),(0,ae.jsx)(aw.Skeleton,{className:"h-2.5 w-2.5"})]})})]}),right:i?(0,ae.jsx)(gw,{note:i},i.id):(0,ae.jsxs)("div",{className:"space-y-4 p-8",children:[(0,ae.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"During calls Thursday saves what it picks up — that a teammate moved teams, that you take meetings in the morning — and reads it back before answering. File the first note yourself and it starts the next call already knowing something."}),(0,ae.jsxs)(as.Button,{variant:"outline",onClick:gA,children:[(0,ae.jsx)(an.Plus,{}),"Add note"]})]})}),(0,ae.jsx)(f2,{notes:a})]})},"openMemoryCreate",0,gA],857022)},951991,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={SYMBOL_FOR_REQ_CONTEXT:()=>k,getContext:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);let k=Symbol.for("@vercel/request-context");function l(){let a=globalThis;return a[k]?.get?.()??{}}},599708,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={getVercelOidcToken:()=>m,getVercelOidcTokenSync:()=>n};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(951991),l=a.r(325279);async function m(b){let c,d="";try{d=n()}catch(a){c=a}try{let[{getTokenPayload:c,isExpired:e},{refreshToken:f}]=await Promise.all([await a.A(72597),await a.A(628472)]);(!d||e(c(d),b?.expirationBufferMs))&&(await f(b),d=n())}catch(b){let a=c instanceof Error?c.message:"";if(b instanceof Error&&(a=`${a}
37
+ This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`,statusCode:c,cause:d,generationId:e})}};function dw(a){if(!(a instanceof Error))return!1;let b=a.code;return"string"==typeof b&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(b)}async function dx(a,b){var c;return cY.isInstance(a)?a:dw(a)?dv.createTimeoutError({originalMessage:a instanceof Error?a.message:"Unknown error",cause:a}):aG.isInstance(a)?a.cause&&dw(a.cause)?dv.createTimeoutError({originalMessage:a.message,cause:a}):await dr({response:function(a){if(void 0!==a.data)return a.data;if(null!=a.responseBody)try{return bW(a.responseBody)}catch(b){return a.responseBody}return{}}(a),statusCode:null!=(c=a.statusCode)?c:500,defaultMessage:"Gateway request failed",cause:a,authMethod:b,isRetryable:!!a.isRetryable&&(null==a.statusCode||a.statusCode<400)||void 0}):await dr({response:{},statusCode:500,defaultMessage:a instanceof Error?`Gateway request failed: ${a.message}`:"Unknown Gateway error",cause:a,authMethod:b})}var dy="ai-gateway-auth-method",dz="x-vercel-ai-gateway-team";async function dA(a){let b=await ct({value:a[dy],schema:dB});return b.success?b.value:void 0}var dB=co(()=>cr(cW.union([cW.literal("api-key"),cW.literal("oidc")]))),dC=["embedding","image","language","realtime","reranking","speech","transcription","video"],dD=class{constructor(a){this.config=a}async getAvailableModels(){try{let{value:a}=await bP({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dE),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return a}catch(a){throw await dx(a)}}async getCredits(){try{let a=new URL(this.config.baseURL),{value:b}=await bP({url:`${a.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return b}catch(a){throw await dx(a)}}},dE=co(()=>cr(cW.object({models:cW.array(cW.object({id:cW.string(),name:cW.string(),description:cW.string().nullish(),pricing:cW.object({input:cW.string(),output:cW.string(),input_cache_read:cW.string().nullish(),input_cache_write:cW.string().nullish()}).transform(({input:a,output:b,input_cache_read:c,input_cache_write:d})=>({input:a,output:b,...c?{cachedInputTokens:c}:{},...d?{cacheCreationInputTokens:d}:{}})).nullish(),specification:cW.object({specificationVersion:cW.literal("v4"),provider:cW.string(),modelId:cW.string()}),modelType:cW.string().nullish()})).transform(a=>a.filter(a=>null==a.modelType||dC.includes(a.modelType)))}))),dF=co(()=>cr(cW.object({balance:cW.string(),total_used:cW.string()}).transform(({balance:a,total_used:b})=>({balance:a,totalUsed:b})))),dG=class{constructor(a){this.config=a}async getSpendReport(a){try{let b=new URL(this.config.baseURL),c=new URLSearchParams;c.set("start_date",a.startDate),c.set("end_date",a.endDate),a.groupBy&&c.set("group_by",a.groupBy),a.datePart&&c.set("date_part",a.datePart),a.userId&&c.set("user_id",a.userId),a.model&&c.set("model",a.model),a.provider&&c.set("provider",a.provider),a.credentialType&&c.set("credential_type",a.credentialType),a.tags&&a.tags.length>0&&c.set("tags",a.tags.join(","));let{value:d}=await bP({url:`${b.origin}/v1/report?${c.toString()}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dH),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return d}catch(a){throw await dx(a)}}},dH=co(()=>cr(cW.object({results:cW.array(cW.object({day:cW.string().optional(),hour:cW.string().optional(),user:cW.string().optional(),model:cW.string().optional(),tag:cW.string().optional(),provider:cW.string().optional(),credential_type:cW.enum(["byok","system"]).optional(),total_cost:cW.number(),market_cost:cW.number().optional(),input_tokens:cW.number().optional(),output_tokens:cW.number().optional(),cached_input_tokens:cW.number().optional(),cache_creation_input_tokens:cW.number().optional(),reasoning_tokens:cW.number().optional(),request_count:cW.number().optional()}).transform(({credential_type:a,total_cost:b,market_cost:c,input_tokens:d,output_tokens:e,cached_input_tokens:f,cache_creation_input_tokens:g,reasoning_tokens:h,request_count:i,...j})=>({...j,...void 0!==a?{credentialType:a}:{},totalCost:b,...void 0!==c?{marketCost:c}:{},...void 0!==d?{inputTokens:d}:{},...void 0!==e?{outputTokens:e}:{},...void 0!==f?{cachedInputTokens:f}:{},...void 0!==g?{cacheCreationInputTokens:g}:{},...void 0!==h?{reasoningTokens:h}:{},...void 0!==i?{requestCount:i}:{}})))}))),dI=class{constructor(a){this.config=a}async getGenerationInfo(a){try{let b=new URL(this.config.baseURL),{value:c}=await bP({url:`${b.origin}/v1/generation?id=${encodeURIComponent(a.id)}`,validateUrl:!1,headers:this.config.headers?await cB(this.config.headers):void 0,successfulResponseHandler:cF(dJ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:this.config.fetch});return c}catch(a){throw await dx(a)}}},dJ=co(()=>cr(cW.object({data:cW.object({id:cW.string(),total_cost:cW.number(),upstream_inference_cost:cW.number(),usage:cW.number(),created_at:cW.string(),model:cW.string(),is_byok:cW.boolean(),provider_name:cW.string(),streamed:cW.boolean(),finish_reason:cW.string(),latency:cW.number(),generation_time:cW.number(),native_tokens_prompt:cW.number(),native_tokens_completion:cW.number(),native_tokens_reasoning:cW.number(),native_tokens_cached:cW.number(),native_tokens_cache_creation:cW.number(),billable_web_search_calls:cW.number()}).transform(({total_cost:a,upstream_inference_cost:b,created_at:c,is_byok:d,provider_name:e,finish_reason:f,generation_time:g,native_tokens_prompt:h,native_tokens_completion:i,native_tokens_reasoning:j,native_tokens_cached:k,native_tokens_cache_creation:l,billable_web_search_calls:m,...n})=>({...n,totalCost:a,upstreamInferenceCost:b,createdAt:c,isByok:d,providerName:e,finishReason:f,generationTime:g,promptTokens:h,completionTokens:i,reasoningTokens:j,cachedTokens:k,cacheCreationTokens:l,billableWebSearchCalls:m}))}).transform(({data:a})=>a))),dK=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async getArgs(a){let{abortSignal:b,...c}=a;return{args:this.maybeEncodeFileParts(c),warnings:[]}}async doGenerate(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:f,value:g,rawValue:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!1),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:cF(cW.any()),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{...g,request:{body:b},response:{headers:f,body:h},warnings:c}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}async doStream(a){let{args:b,warnings:c}=await this.getArgs(a),{abortSignal:d}=a,e=this.config.headers?await cB(this.config.headers):void 0;try{let f,{value:g,responseHeaders:h}=await cy({url:this.getUrl(),headers:bd(e,a.headers,this.getModelConfigHeaders(this.modelId,!0),await cB(this.config.o11yHeaders)),body:b,successfulResponseHandler:(f=cW.any(),async({response:a,url:b,requestBodyValues:c})=>{let d=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:d,value:cw({stream:function({stream:a,url:b,requestBodyValues:c,statusCode:d,responseHeaders:e}){let f=a.getReader(),g=!1,h=()=>{g||(f.releaseLock(),g=!0)};return new ReadableStream({async pull(a){try{let{done:b,value:c}=await f.read();b?(h(),a.close()):a.enqueue(c)}catch(f){if(h(),bo(f))return void a.error(f);a.error(br({error:new aG({message:"Failed to process successful response",cause:f,statusCode:d,url:b,responseHeaders:e,requestBodyValues:c}),url:b,requestBodyValues:c}))}},async cancel(a){try{await f.cancel(a)}finally{h()}}})}({stream:a.body,url:b,requestBodyValues:c,statusCode:a.status,responseHeaders:d}),schema:f})}}),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{stream:g.pipeThrough(new TransformStream({start(a){c.length>0&&a.enqueue({type:"stream-start",warnings:c})},transform(b,c){if(b.success){let d=b.value;("raw"!==d.type||a.includeRawChunks)&&("response-metadata"===d.type&&d.timestamp&&"string"==typeof d.timestamp&&(d.timestamp=new Date(d.timestamp)),c.enqueue(d))}else c.error(b.error)}})),request:{body:b},response:{headers:h}}}catch(a){throw await dx(a,await dA(null!=e?e:{}))}}maybeEncodeFileParts(a){for(let b of a.prompt)if(Array.isArray(b.content)){for(let a of b.content)if("file"===a.type||"reasoning-file"===a.type)a.data=dL(a.data);else if("tool-result"===a.type&&"content"===a.output.type)for(let b of a.output.value)"file"===b.type&&(b.data=dL(b.data))}return a}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(a,b){return{"ai-language-model-specification-version":"4","ai-language-model-id":a,"ai-language-model-streaming":String(b)}}};function dL(a){if("data"===a.type){let b=a.data;if(b instanceof Uint8Array)return{...a,data:Buffer.from(b).toString("base64")}}return a}var dM=class a extends dK{static[bb](a){return dK[bb](a)}static[bc](b){return new a(b.modelId,b.config)}constructor(a,b){super(a,b)}async experimental_doStartBatch({requests:a,providerOptions:b,headers:c,abortSignal:d,webhookUrl:e}){var f;let g=this.config.headers?await cB(this.config.headers):void 0,h=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b.idempotencyKey;return"string"==typeof c&&c.length>0?c:void 0}(b),i=function(a){let b=null==a?void 0:a.gateway;if(null==b||"object"!=typeof b||Array.isArray(b)||!("idempotencyKey"in b))return a;let{idempotencyKey:c,...d}=b,e={...a};if(0===Object.keys(d).length?delete e.gateway:e.gateway=d,0!==Object.keys(e).length)return e}(b);try{let{value:b}=await cy({url:this.getBatchUrl("start"),headers:bd(g,c,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders),null!=h?{"idempotency-key":h}:void 0),body:{...null!=e&&{callbackUrl:e},modelId:this.modelId,requests:a.map(a=>({id:a.id,options:this.maybeEncodeFileParts(a.options)})),...null!=i&&{providerOptions:i}},successfulResponseHandler:cF(dV),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...d&&{abortSignal:d},fetch:this.config.fetch});return{batchId:b.batchId,...dO(b),warnings:null!=(f=b.warnings)?f:[]}}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=g?g:{}))}}async experimental_doGetBatchStatus({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{let{value:e}=await cy({url:this.getBatchUrl("status"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:cF(dW),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return dO(e)}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}async experimental_doGetBatchResults({batchId:a,headers:b,abortSignal:c}){let d=this.config.headers?await cB(this.config.headers):void 0;try{var e;let f,{value:g}=await cy({url:this.getBatchUrl("results"),headers:bd(d,b,this.getBatchConfigHeaders(),await cB(this.config.o11yHeaders)),body:{batchId:a},successfulResponseHandler:async({response:a})=>{let b=bm(a);if(null==a.body)throw new aK({});return{responseHeaders:b,value:cG({stream:a.body,schema:dQ})}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return e=dP(g),f=!1,new ReadableStream({async pull(a){if(!f)try{let{value:b,done:c}=await e.next();c?a.close():a.enqueue(b)}catch(b){a.error(b)}},async cancel(a){if(f=!0,e.return)try{await e.return(a)}catch(a){}}})}catch(a){if(dN(a))throw a;throw await dx(a,await dA(null!=d?d:{}))}}getBatchUrl(a){return`${this.config.baseURL}/batch/${a}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function dN(a){return!!(a instanceof Error||a instanceof DOMException)&&("AbortError"===a.name||"TimeoutError"===a.name)}function dO(a){var b,c,d,e;let f=function({total:a,pending:b,completed:c,failed:d}){if(bS(a)&&bS(b)&&bS(c)&&bS(d)&&b+c+d===a)return{total:a,pending:b,completed:c,failed:d}}({total:null==(b=a.requestCounts)?void 0:b.total,pending:null==(c=a.requestCounts)?void 0:c.pending,completed:null==(d=a.requestCounts)?void 0:d.completed,failed:null==(e=a.requestCounts)?void 0:e.failed});return{status:a.status,...null!=a.rawStatus&&{rawStatus:a.rawStatus},...null!=f&&{requestCounts:f},...null!=a.error&&{error:{message:a.error.message,...null!=a.error.type&&{type:a.error.type},...null!=a.error.code&&{code:a.error.code},...null!=a.error.statusCode&&{statusCode:a.error.statusCode}}},...null!=a.createdAt&&{createdAt:a.createdAt},...null!=a.expiresAt&&{expiresAt:a.expiresAt},...null!=a.providerMetadata&&{providerMetadata:a.providerMetadata}}}async function*dP(a){var b;for await(let c of a){if("succeeded"===c.status){let a=null==(b=c.result)?void 0:b.response;void 0!==a&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp))}yield c}}var dQ=cW.object({id:cW.string(),status:cW.enum(["cancelled","expired","failed","succeeded"])}).catchall(cW.unknown()),dR=cW.object({message:cW.string(),type:cW.string().nullish(),code:cW.string().nullish(),statusCode:cW.number().nullish()}),dS=cW.object({total:cW.number().nullish(),pending:cW.number().nullish(),completed:cW.number().nullish(),failed:cW.number().nullish()}),dT=cW.record(cW.string(),cW.record(cW.string(),cW.unknown())),dU=cW.object({status:cW.enum(["completed","failed","pending"]),rawStatus:cW.string().nullish(),requestCounts:dS.nullish(),error:dR.nullish(),createdAt:cW.string().nullish(),expiresAt:cW.string().nullish(),providerMetadata:dT.nullish()}),dV=dU.extend({batchId:cW.string(),warnings:cW.array(cW.object({requestId:cW.string().nullish(),warning:cW.unknown()}).catchall(cW.unknown())).nullish()}),dW=dU,dX=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doEmbed({values:a,headers:b,abortSignal:c,providerOptions:d}){var e,f;let g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i,rawValue:j}=await cy({url:this.getUrl(),headers:bd(g,null!=b?b:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{values:a,...d?{providerOptions:d}:{}},successfulResponseHandler:cF(dZ),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...c&&{abortSignal:c},fetch:this.config.fetch});return{embeddings:i.embeddings,usage:null!=(e=i.usage)?e:void 0,providerMetadata:i.providerMetadata,response:{headers:h,body:j},warnings:null!=(f=i.warnings)?f:[]}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},dY=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),dZ=co(()=>cr(cW.object({embeddings:cW.array(cW.array(cW.number())),usage:cW.object({tokens:cW.number()}).nullish(),warnings:cW.array(dY).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),d$=class a{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[bb](a){return cM({modelId:a.modelId,config:a.config})}static[bc](b){return new a(b.modelId,b.config)}get provider(){return this.config.provider}async doGenerate({prompt:a,n:b,size:c,aspectRatio:d,seed:e,files:f,mask:g,providerOptions:h,headers:i,abortSignal:j}){var k,l,m,n;let o=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:p,value:q}=await cy({url:this.getUrl(),headers:bd(o,null!=i?i:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{prompt:a,n:b,...c&&{size:c},...d&&{aspectRatio:d},...e&&{seed:e},...h&&{providerOptions:h},...f&&{files:f.map(a=>d_(a))},...g&&{mask:d_(g)}},successfulResponseHandler:cF(d3),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...j&&{abortSignal:j},fetch:this.config.fetch});return{images:q.images,warnings:null!=(k=q.warnings)?k:[],providerMetadata:q.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:p},...null!=q.usage&&{usage:{inputTokens:null!=(l=q.usage.inputTokens)?l:void 0,outputTokens:null!=(m=q.usage.outputTokens)?m:void 0,totalTokens:null!=(n=q.usage.totalTokens)?n:void 0}}}}catch(a){throw await dx(a,await dA(null!=o?o:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function d_(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d0=cW.object({images:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d1=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d2=cW.object({inputTokens:cW.number().nullish(),outputTokens:cW.number().nullish(),totalTokens:cW.number().nullish()}),d3=cW.object({images:cW.array(cW.string()),warnings:cW.array(d1).optional(),providerMetadata:cW.record(cW.string(),d0).optional(),usage:d2.optional()}),d4=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(a){var b,c;let{headers:d,abortSignal:e}=a,f=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:g,value:h}=await cy({url:this.getUrl(),headers:bd(f,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(a),successfulResponseHandler:async({response:a,url:b,requestBodyValues:c})=>{if(null==a.body)throw new aG({message:"SSE response body is empty",url:b,requestBodyValues:c,statusCode:a.status});let d=cw({stream:a.body,schema:d9}).getReader(),{done:e,value:f}=await d.read();if(d.releaseLock(),e||!f)throw new aG({message:"SSE stream ended without a data event",url:b,requestBodyValues:c,statusCode:a.status});if(!f.success)throw new aG({message:"Failed to parse video SSE event",cause:f.error,url:b,requestBodyValues:c,statusCode:a.status});let g=f.value;if("error"===g.type)throw new aG({message:g.message,statusCode:g.statusCode,url:b,requestBodyValues:c,responseHeaders:Object.fromEntries([...a.headers]),responseBody:JSON.stringify(g),data:{error:{message:g.message,type:g.errorType,param:g.param}}});return{value:{videos:g.videos,warnings:g.warnings,providerMetadata:g.providerMetadata},responseHeaders:Object.fromEntries([...a.headers])}},failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{videos:h.videos,warnings:null!=(b=h.warnings)?b:[],providerMetadata:null!=(c=h.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:g}}}catch(a){throw await dx(a,await dA(null!=f?f:{}))}}async handleWebhookOption({webhook:a}){let{url:b,received:c}=await a();return{webhookUrl:b,received:c}}async doStart(a){var b,c;let{headers:d,abortSignal:e,webhookUrl:f}=a,g=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:h,value:i}=await cy({url:this.getStartUrl(),headers:bd(g,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{...this.buildRequestBody(a),...f&&{callbackUrl:f}},successfulResponseHandler:cF(ea),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{operation:i.operation,warnings:null!=(b=i.warnings)?b:[],providerMetadata:null!=(c=i.providerMetadata)?c:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:h}}}catch(a){throw await dx(a,await dA(null!=g?g:{}))}}async doStatus({operation:a,abortSignal:b,headers:c}){var d,e,f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l}=await cy({url:this.getStatusUrl(),headers:bd(j,null!=c?c:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{operation:a},successfulResponseHandler:cF(eb),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...b&&{abortSignal:b},fetch:this.config.fetch}),m={timestamp:new Date,modelId:this.modelId,headers:k};if("completed"===l.status)return{status:"completed",videos:l.videos,warnings:null!=(d=l.warnings)?d:[],providerMetadata:null!=(e=l.providerMetadata)?e:void 0,response:m};if("error"===l.status)return{status:"error",error:l.error,providerMetadata:null!=(f=l.providerMetadata)?f:void 0,response:m};if("cancelled"===l.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(g=l.providerMetadata)?g:void 0,response:m};return{status:"pending",warnings:null!=(h=l.warnings)?h:[],providerMetadata:null!=(i=l.providerMetadata)?i:void 0,response:m}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}buildRequestBody({prompt:a,n:b,aspectRatio:c,resolution:d,duration:e,fps:f,seed:g,generateAudio:h,image:i,frameImages:j,inputReferences:k,providerOptions:l}){return{prompt:a,n:b,...c&&{aspectRatio:c},...d&&{resolution:d},...e&&{duration:e},...f&&{fps:f},...g&&{seed:g},...void 0!==h&&{generateAudio:h},...l&&{providerOptions:l},...i&&{image:d5(i)},...j&&{frameImages:j.map(a=>({...a,image:d5(a.image)}))},...k&&{inputReferences:k.map(a=>d5(a))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function d5(a){return"file"===a.type&&a.data instanceof Uint8Array?{...a,data:bl(a.data)}:a}var d6=cW.object({videos:cW.array(cW.unknown()).optional()}).catchall(cW.unknown()),d7=cW.union([cW.object({type:cW.literal("url"),url:cW.string(),mediaType:cW.string()}),cW.object({type:cW.literal("base64"),data:cW.string(),mediaType:cW.string()})]),d8=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),d9=cW.discriminatedUnion("type",[cW.object({type:cW.literal("result"),videos:cW.array(d7),warnings:cW.array(d8).optional(),providerMetadata:cW.record(cW.string(),d6).optional()}),cW.object({type:cW.literal("error"),message:cW.string(),errorType:cW.string(),statusCode:cW.number(),param:cW.unknown().nullable()})]),ea=cW.object({operation:cW.unknown(),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),eb=cW.discriminatedUnion("status",[cW.object({status:cW.literal("pending"),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("completed"),videos:cW.array(d7),warnings:cW.array(d8).nullish(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("error"),error:cW.string(),providerMetadata:cW.record(cW.string(),d6).nullish()}),cW.object({status:cW.literal("cancelled"),providerMetadata:cW.record(cW.string(),d6).nullish()})]),ec=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:a,query:b,topN:c,headers:d,abortSignal:e,providerOptions:f}){var g;let h=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:i,value:j,rawValue:k}=await cy({url:this.getUrl(),headers:bd(h,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{documents:a,query:b,...null!=c?{topN:c}:{},...f?{providerOptions:f}:{}},successfulResponseHandler:cF(ee),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{ranking:j.ranking,providerMetadata:j.providerMetadata,response:{headers:i,body:k},warnings:null!=(g=j.warnings)?g:[]}}catch(a){throw await dx(a,await dA(null!=h?h:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},ed=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ee=co(()=>cr(cW.object({ranking:cW.array(cW.object({index:cW.number(),relevanceScore:cW.number()})),warnings:cW.array(ed).optional(),providerMetadata:cW.record(cW.string(),cW.record(cW.string(),cW.unknown())).optional()}))),ef=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:a,voice:b,outputFormat:c,instructions:d,speed:e,language:f,providerOptions:g,headers:h,abortSignal:i}){var j;let k=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:l,value:m,rawValue:n}=await cy({url:this.getUrl(),headers:bd(k,null!=h?h:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{text:a,...b&&{voice:b},...c&&{outputFormat:c},...d&&{instructions:d},...null!=e&&{speed:e},...f&&{language:f},...g&&{providerOptions:g}},successfulResponseHandler:cF(ei),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...i&&{abortSignal:i},fetch:this.config.fetch});return{audio:m.audio,warnings:null!=(j=m.warnings)?j:[],providerMetadata:m.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:l,body:n}}}catch(a){throw await dx(a,await dA(null!=k?k:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},eg=cW.object({}).catchall(cW.unknown()),eh=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),ei=cW.object({audio:cW.string(),warnings:cW.array(eh).optional(),providerMetadata:cW.record(cW.string(),eg).optional()}),ej=class{constructor(a,b){this.modelId=a,this.config=b,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:a,mediaType:b,providerOptions:c,headers:d,abortSignal:e}){var f,g,h,i;let j=this.config.headers?await cB(this.config.headers):void 0;try{let{responseHeaders:k,value:l,rawValue:m}=await cy({url:this.getUrl(),headers:bd(j,null!=d?d:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),body:{audio:a instanceof Uint8Array?bl(a):a,mediaType:b,...c&&{providerOptions:c}},successfulResponseHandler:cF(en),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),...e&&{abortSignal:e},fetch:this.config.fetch});return{text:l.text,segments:null!=(f=l.segments)?f:[],language:null!=(g=l.language)?g:void 0,durationInSeconds:null!=(h=l.durationInSeconds)?h:void 0,warnings:null!=(i=l.warnings)?i:[],providerMetadata:l.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:k,body:m}}}catch(a){throw await dx(a,await dA(null!=j?j:{}))}}async doStream(a){var b,c,d,e,f;let g,h,i,j=null!=(d=null==(c=null==(b=this.config._internal)?void 0:b.currentDate)?void 0:c.call(b))?d:new Date,k=bd(await cB(null!=(e=this.config.headers)?e:{}),null!=(f=a.headers)?f:{},this.getModelConfigHeaders(),await cB(this.config.o11yHeaders)),l=await dA(k),m={type:"transcription-stream.start",inputAudioFormat:a.inputAudioFormat,...null!=a.providerOptions&&{providerOptions:a.providerOptions},...null!=a.includeRawChunks&&{includeRawChunks:a.includeRawChunks}};return{stream:function({webSocket:a,url:b,protocols:c,headers:d,startFrame:e,audio:f,abortSignal:g,authMethod:h}){let i=!1,j=()=>{};return new ReadableStream({start:k=>{let l,m,n,o=!1,p=!1;j=a=>{null!=l?l.cancel().catch(()=>{}):f.cancel().catch(()=>{}),null==n||n.close(a)};let q=a=>{i||(i=!0,j(),eo(k,a,h))},r=async a=>{let b=f.getReader();l=b;try{for(;;){let{done:c,value:d}=await b.read();if(c||i)break;let e="string"==typeof d?function(a){let b=bk(a.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(b,a=>a.codePointAt(0))}(d):d;for(let b=0;b<e.length&&!i;b+=65536)a.send(e.subarray(b,b+65536)),await bi(a)}}finally{b.releaseLock(),l===b&&(l=void 0)}i||p||a.send(JSON.stringify({type:"transcription-stream.audio-done"}))};n=function({url:a,protocols:b,headers:c,webSocket:d,abortSignal:e,onOpen:f,onMessageText:g,onProcessingError:h,onSocketError:i,onClose:j,onAbort:k}){var l,m;let n,o,p=a=>{null!=o&&(null==e||e.removeEventListener("abort",o),o=void 0);try{null==n||n.close(a)}catch(a){}};if(null==e?void 0:e.aborted)return null==k||k(null!=(l=e.reason)?l:Error("Aborted")),{socket:void 0,close:p};try{n=new(function(a){let b=null!=a?a:globalThis.WebSocket;if(null==b)throw Error("No WebSocket implementation available.");return b}(d))(a,b,{headers:(m=null!=c?c:{},Object.fromEntries(Object.entries(m).filter(([a,b])=>null!=b)))})}catch(a){return h(a),{socket:void 0,close:p}}null!=e&&null!=k&&(o=()=>{var a;return k(null!=(a=e.reason)?a:Error("Aborted"))},e.addEventListener("abort",o,{once:!0}));let q=n;n.onopen=()=>{try{null==f||f(q)}catch(a){h(a)}};let r=Promise.resolve();return n.onmessage=a=>{r=r.then(()=>bh(a.data)).then(a=>g(a)).catch(h)},n.onerror=()=>{r=r.then(()=>null==i?void 0:i()).catch(h)},n.onclose=a=>{let b="number"==typeof(null==a?void 0:a.code)?a.code:void 0,c="string"==typeof(null==a?void 0:a.reason)?a.reason:void 0;r=r.then(()=>null==j?void 0:j({code:b,reason:c})).catch(h)},{socket:n,close:p}}({url:b,protocols:c,headers:d,webSocket:a,abortSignal:g,onAbort:a=>{i||(i=!0,j(),k.error(a))},onProcessingError:q,onOpen:a=>{a.send(JSON.stringify(e)),r(a).catch(q)},onMessageText:a=>{if(i)return;let b=function(a){let b;try{b=bW(a)}catch(a){return}if(null==b||"object"!=typeof b||Array.isArray(b))return;let c=b;switch(c.type){case"stream-start":return Array.isArray(c.warnings)&&c.warnings.every(cQ)?c:void 0;case"transcript-delta":return cN(c.delta)&&cP(c.id,cN)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-partial":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.durationInSeconds,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"transcript-final":return cN(c.text)&&cP(c.id,cN)&&cP(c.startSecond,cO)&&cP(c.endSecond,cO)&&cP(c.channelIndex,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"finish":return cN(c.text)&&Array.isArray(c.segments)&&c.segments.every(cR)&&cP(c.language,cN)&&cP(c.durationInSeconds,cO)&&cP(c.providerMetadata,bQ)?c:void 0;case"response-metadata":{if(!(cP(c.modelId,cN)&&cP(c.headers,bQ)))return;let a=c.timestamp;if(null==a)return{...c,timestamp:void 0};if("string"!=typeof a)return;let b=new Date(a);return Number.isNaN(b.getTime())?void 0:{...c,timestamp:b}}case"raw":return"rawValue"in c?c:void 0;case"error":return"error"in c?c:void 0;default:return}}(a);if(null!=b){if("finish"===b.type){i=!0,k.enqueue(b),k.close(),j(1e3);return}"error"===b.type&&(o=!0,m=b.error,p=!0,null!=l?(l.cancel().catch(()=>{}),l=void 0):f.cancel().catch(()=>{})),k.enqueue(b)}},onSocketError:()=>{q(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(o){if(i)return;eq(m,h).then(q);return}q(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{i||(i=!0,j())}})}({webSocket:this.config.webSocket,url:ek(this.config.baseURL,this.modelId),protocols:null==(i=(null==(h=(g=bt(k)).authorization)?void 0:h.startsWith("Bearer "))?h.slice(7):void 0)?[cU]:cV(cU,i,{teamIdOrSlug:g[dz]}),headers:k,startFrame:m,audio:a.audio,abortSignal:a.abortSignal,authMethod:l}),request:{body:m},response:{timestamp:j,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function ek(a,b){let c=new URL(`${a.replace(/^http/,"ws")}/transcription-model`);return c.searchParams.set("ai-model-id",b),c.toString()}var el=cW.object({}).catchall(cW.unknown()),em=cW.discriminatedUnion("type",[cW.object({type:cW.literal("unsupported"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("compatibility"),feature:cW.string(),details:cW.string().optional()}),cW.object({type:cW.literal("deprecated"),setting:cW.string(),message:cW.string()}),cW.object({type:cW.literal("other"),message:cW.string()})]),en=cW.object({text:cW.string(),segments:cW.array(cW.object({text:cW.string(),startSecond:cW.number(),endSecond:cW.number()})).optional(),language:cW.string().nullish(),durationInSeconds:cW.number().nullish(),warnings:cW.array(em).optional(),providerMetadata:cW.record(cW.string(),el).optional()});async function eo(a,b,c){a.error(await dx(b,c))}var ep={authentication_error:401,failed_dependency:424,forbidden:403,internal_server_error:500,invalid_request_error:400,model_not_found:404,rate_limit_exceeded:429};async function eq(a,b){return"object"==typeof a&&null!=a&&"message"in a&&"string"==typeof a.message&&"type"in a&&"string"==typeof a.type&&a.type in ep?dr({response:{error:{message:a.message,type:a.type}},statusCode:ep[a.type],authMethod:b}):Error(`AI Gateway transcription stream failed: ${null!=a&&"object"==typeof a&&"message"in a&&"string"==typeof a.message?a.message:aL(a)}`)}var er=class{constructor(a,b){this.specificationVersion="v4",this.modelId=a,this.provider=b.provider,this.config=b}async doCreateClientSecret(a){var b,c;let d,e=await this.config.createClientSecret({modelId:this.modelId,...(null==a?void 0:a.expiresAfterSeconds)!=null&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:e.token,url:(b=this.config.baseURL,c=this.modelId,(d=new URL(`${b.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",c),d.toString()),...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}getWebSocketConfig(a){return{url:a.url,protocols:cV("ai-gateway-realtime.v1",a.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(a){return a}serializeClientEvent(a){return a}buildSessionConfig(a){return a}},es=cA({id:"gateway.exa_search",inputSchema:co(()=>cr(cW.object({query:cW.string().describe("Natural-language web search query. This is required."),type:cW.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:cW.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:cW.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:cW.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these domains."),start_published_date:cW.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:cW.string().optional().describe("Only return links published before this ISO 8601 date."),contents:cW.object({text:cW.union([cW.boolean(),cW.object({max_characters:cW.number().optional(),include_html_tags:cW.boolean().optional(),verbosity:cW.enum(["compact","standard","full"]).optional(),include_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:cW.array(cW.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:cW.union([cW.boolean(),cW.object({query:cW.string().optional(),max_characters:cW.number().optional()})]).optional(),max_age_hours:cW.number().optional(),livecrawl_timeout:cW.number().optional(),subpages:cW.number().optional(),subpage_target:cW.union([cW.string(),cW.array(cW.string())]).optional(),extras:cW.object({links:cW.number().optional(),image_links:cW.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:co(()=>cr(cW.union([cW.object({requestId:cW.string(),searchType:cW.string().optional(),resolvedSearchType:cW.string().optional(),results:cW.array(cW.object({title:cW.string(),url:cW.string(),id:cW.string(),publishedDate:cW.string().nullable().optional(),author:cW.string().nullable().optional(),image:cW.string().nullable().optional(),favicon:cW.string().nullable().optional(),text:cW.string().optional(),highlights:cW.array(cW.string()).optional(),highlightScores:cW.array(cW.number()).optional(),summary:cW.string().optional(),subpages:cW.array(cW.any()).optional(),extras:cW.object({links:cW.array(cW.string()).optional(),imageLinks:cW.array(cW.string()).optional()}).optional()})),costDollars:cW.object({total:cW.number().optional(),search:cW.record(cW.string(),cW.number()).optional()}).optional()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),et=cA({id:"gateway.parallel_search",inputSchema:co(()=>cr(cW.object({objective:cW.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:cW.array(cW.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:cW.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:cW.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:cW.object({include_domains:cW.array(cW.string()).optional().describe("Limit results to these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:cW.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:cW.object({max_chars_per_result:cW.number().optional().describe("Maximum characters per result."),max_chars_total:cW.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:cW.object({max_age_seconds:cW.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),outputSchema:co(()=>cr(cW.union([cW.object({searchId:cW.string(),results:cW.array(cW.object({url:cW.string(),title:cW.string(),excerpt:cW.string(),publishDate:cW.string().nullable().optional(),relevanceScore:cW.number().optional()}))}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eu=cA({id:"gateway.perplexity_search",inputSchema:co(()=>cr(cW.object({query:cW.union([cW.string(),cW.array(cW.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:cW.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:cW.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:cW.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:cW.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:cW.array(cW.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:cW.array(cW.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:cW.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:cW.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:cW.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:cW.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:cW.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),outputSchema:co(()=>cr(cW.union([cW.object({results:cW.array(cW.object({title:cW.string(),url:cW.string(),snippet:cW.string(),date:cW.string().optional(),lastUpdated:cW.string().optional()})),id:cW.string()}),cW.object({error:cW.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:cW.number().optional(),message:cW.string()})])))}),ev=cW.object({count:cW.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:cW.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:cW.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:cW.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:cW.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:cW.array(cW.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:cW.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),ew=cW.object({count:cW.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:cW.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:cW.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:cW.array(cW.string()).optional().describe("Only return results from these bare domains."),exclude_domains:cW.array(cW.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:cW.number().optional().describe("Maximum characters in each web-result snippet."),highlights:cW.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:cW.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:cW.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:cW.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),ex=co(()=>cr(cW.object({query:cW.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:cW.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:cW.object({data:ev.optional(),web:ew.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:cW.object({latitude:cW.number().describe("Latitude between -90 and 90."),longitude:cW.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:cW.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:cW.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:cW.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:cW.object({image_dark_mode:cW.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:cW.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:cW.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),ey=cW.union([cW.boolean(),cW.number(),cW.string()]).nullable(),ez=cW.object({content_format:cW.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:cW.number().optional(),data:cW.string().nullish(),records:cW.array(cW.record(cW.string(),ey)).nullish(),dataset:cW.object({columns:cW.array(cW.object({name:cW.string(),type:cW.enum(["boolean","date","datetime","number","string"]),unit:cW.string().nullish()})),rows:cW.array(cW.array(ey)),total_rows:cW.number(),truncated:cW.boolean(),ref:cW.string(),sources:cW.array(cW.object({name:cW.string(),index:cW.enum(["data","web"]).optional()})),provenance:cW.enum(["query","web_extraction"]).optional()}).nullish(),card_data:cW.object({}).passthrough().nullish(),card_data_schema:cW.object({}).passthrough().nullish(),url:cW.string().nullish(),expires_at:cW.string().nullish(),total_rows:cW.number().nullish(),truncated:cW.boolean().optional(),export_pricing:cW.object({baseline_usd:cW.number(),free_rows:cW.number(),max_rows_ceiling:cW.number(),row_cpm_usd:cW.number()}).nullish(),manifest:cW.array(cW.object({dtype:cW.enum(["boolean","date","datetime","number","string"]).nullish(),entity:cW.string().nullish(),metric:cW.string().nullish(),name:cW.string().nullish(),unit:cW.string().nullish()})).nullish()}).passthrough(),eA=cW.object({card_id:cW.string().nullish(),title:cW.string().nullish(),description:cW.string().nullish(),semantic_description:cW.string().nullish(),webpage_url:cW.string().nullish(),image_url:cW.string().nullish(),embed_url:cW.string().nullish(),sources:cW.array(cW.object({source_name:cW.string().nullish(),source_description:cW.string().nullish(),source_index:cW.enum(["data","web"]),source_text:cW.string().nullish(),url:cW.string().nullish()})).nullish(),methodologies:cW.array(cW.object({methodology_name:cW.string().nullable(),methodology_description:cW.string().nullable()})).nullish(),source_indexes:cW.array(cW.enum(["data","web"])).nullish(),card_type:cW.string().nullish(),relevance:cW.enum(["High","Low","Medium"]).nullish(),content:ez.nullish(),exportable:cW.boolean().optional(),nodes:cW.array(cW.object({id:cW.string(),type:cW.enum(["entity","metric"]),name:cW.string(),description:cW.string().nullish()})).nullish(),metric_definitions:cW.array(cW.object({name:cW.string(),definition:cW.string()})).nullish(),data_freshness:cW.object({coverage_end:cW.string().nullish(),data_as_of:cW.string().nullish(),last_updated:cW.string().nullish()}).nullish()}).passthrough(),eB=cW.object({title:cW.string(),url:cW.string(),snippet:cW.string().nullish(),source_name:cW.string().nullish(),publish_date:cW.string().nullish(),content:ez.nullish()}).passthrough(),eC=cA({id:"gateway.tako_search",inputSchema:ex,outputSchema:co(()=>cr(cW.union([cW.object({request_id:cW.string(),cards:cW.array(eA).optional(),web_results:cW.array(eB).optional(),usage:cW.object({total_cost_usd:cW.number(),compute:cW.object({cost_usd:cW.number()}).nullish(),data:cW.object({cost_usd:cW.number(),datasets:cW.number()}).nullish()}).nullish(),related:cW.array(cW.object({}).passthrough()).nullish()}).passthrough(),cW.object({error:cW.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:cW.number().optional(),message:cW.string()})])))}),eD={exaSearch:(a={})=>es(a),parallelSearch:(a={})=>et(a),perplexitySearch:(a={})=>eu(a),takoSearch:(a={})=>eC(a)};async function eE(){var a;return null==(a=(0,cT.getContext)().headers)?void 0:a["x-vercel-id"]}var eF=cW.object({token:cW.string(),expiresAt:cW.number().nullish()});async function eG(a){let b=bR({settingValue:a.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return b?{token:b,authMethod:"api-key"}:{token:await (0,cT.getVercelOidcToken)(),authMethod:"oidc"}}!function(a={}){var b,c,d;let e=null,f=null,g=null!=(b=a.metadataCacheRefreshMillis)?b:3e5,h=0,i=null!=(c=null==(d=a.baseURL)?void 0:d.replace(/\/$/,""))?c:"https://ai-gateway.vercel.sh/v4/ai",j=b=>bu({Authorization:`Bearer ${b.token}`,"ai-gateway-protocol-version":"0.0.1",[dy]:b.authMethod,...null!=a.teamIdOrSlug?{[dz]:a.teamIdOrSlug}:{},...a.headers},"ai-sdk/gateway/4.0.75"),k=async()=>{try{return j(await eG(a))}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},l=async()=>{try{return await eG(a)}catch(a){throw c_.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:a})}},m=async b=>{if(void 0!==globalThis.window)throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() or gateway.experimental_transcription.getToken() from your server and pass the returned token to the client.");let c=j(await l()),d=new URL("/v1/realtime/client-secrets",i).toString();try{let{value:e}=await cy({url:d,headers:c,body:{model:b.modelId,...null!=b.routeKind&&{routeKind:b.routeKind},...null!=b.expiresAfterSeconds&&{expiresIn:b.expiresAfterSeconds}},successfulResponseHandler:cF(eF),failedResponseHandler:cE({errorSchema:cW.any(),errorToMessage:a=>{var b;return null!=(b=aL(a))?b:"unknown error"}}),fetch:a.fetch});return{token:e.token,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}catch(a){throw await dx(a,await dA(c))}},n=()=>{let a=bR({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),b=bR({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),c=bR({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),d=bR({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let e=await eE();return{...a&&{"ai-o11y-deployment-id":a},...b&&{"ai-o11y-environment":b},...c&&{"ai-o11y-region":c},...e&&{"ai-o11y-request-id":e},...d&&{"ai-o11y-project-id":d}}}},o=b=>new dM(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),p=async()=>{var b,c,d;let j=null!=(d=null==(c=null==(b=a._internal)?void 0:b.currentDate)?void 0:c.call(b).getTime())?d:Date.now();return(!e||j-h>g)&&(h=j,e=new dD({baseURL:i,headers:k,fetch:a.fetch}).getAvailableModels().then(a=>(f=a,a)).catch(async a=>{throw await dx(a,await dA(await k()))})),f?Promise.resolve(f):e},q=async()=>new dD({baseURL:i,headers:k,fetch:a.fetch}).getCredits().catch(async a=>{throw await dx(a,await dA(await k()))}),r=async b=>new dG({baseURL:i,headers:k,fetch:a.fetch}).getSpendReport(b).catch(async a=>{throw await dx(a,await dA(await k()))}),s=async b=>new dI({baseURL:i,headers:k,fetch:a.fetch}).getGenerationInfo(b).catch(async a=>{throw await dx(a,await dA(await k()))}),t=function(a){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return o(a)};t.specificationVersion="v4",t.getAvailableModels=p,t.getCredits=q,t.getSpendReport=r,t.getGenerationInfo=s,t.imageModel=b=>new d$(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()}),t.languageModel=o;let u=b=>new dX(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.embeddingModel=u,t.textEmbeddingModel=u,t.videoModel=b=>new d4(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});let v=b=>new ec(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.rerankingModel=v,t.reranking=v;let w=b=>new ef(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n()});t.speechModel=w,t.speech=w;let x=b=>new ej(b,{provider:"gateway",baseURL:i,headers:k,fetch:a.fetch,o11yHeaders:n(),webSocket:a.webSocket});t.transcriptionModel=x,t.transcription=x,t.experimental_transcription=Object.assign(a=>x(a),{getToken:async a=>{let b=await m({modelId:a.model,routeKind:"transcription",...null!=a.expiresAfterSeconds&&{expiresAfterSeconds:a.expiresAfterSeconds}});return{token:b.token,url:ek(i,a.model),...null!=b.expiresAt&&{expiresAt:b.expiresAt}}}});let y=b=>new er(b,{provider:"gateway.realtime",baseURL:i,teamIdOrSlug:a.teamIdOrSlug,createClientSecret:m});t.experimental_realtime=Object.assign(a=>y(a),{getToken:async a=>{let{model:b,...c}=a,d=y(b),e=await d.doCreateClientSecret(c);return{token:e.token,url:e.url,...null!=e.expiresAt&&{expiresAt:e.expiresAt}}}}),t.chat=t.languageModel,t.embedding=t.embeddingModel,t.image=t.imageModel,t.video=t.videoModel,t.tools=eD}();var eH=Object.defineProperty,eI="AI_InvalidArgumentError",eJ=`vercel.ai.error.${eI}`,eK=Symbol.for(eJ),eL=class extends(R=aC,Q=eK,R){constructor({parameter:a,value:b,message:c}){super({name:eI,message:`Invalid argument for parameter ${a}: ${c}`}),this[Q]=!0,this.parameter=a,this.value=b}static isInstance(a){return aC.hasMarker(a,eJ)}},eM=Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalSignatureError");Symbol.for("vercel.ai.error.AI_InvalidToolInputError");Symbol.for("vercel.ai.error.AI_ToolCallNotFoundForApprovalError");Symbol.for("vercel.ai.error.AI_MissingToolResultsError");Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");var eN="AI_NoObjectGeneratedError",eO=`vercel.ai.error.${eN}`,eP=Symbol.for(eO),eQ=class extends(T=aC,S=eP,T){constructor({message:a="No object generated.",cause:b,text:c,response:d,usage:e,finishReason:f}){super({name:eN,message:a,cause:b}),this[S]=!0,this.text=c,this.response=d,this.usage=e,this.finishReason=f}static isInstance(a){return aC.hasMarker(a,eO)}},eR=Symbol.for("vercel.ai.error.AI_NoOutputGeneratedError");Symbol.for("vercel.ai.error.AI_NoSpeechGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranscriptGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranslationGeneratedError");Symbol.for("vercel.ai.error.AI_NoVideoGeneratedError");Symbol.for("vercel.ai.error.AI_NoSuchToolError");Symbol.for("vercel.ai.error.AI_StreamProviderError");Symbol.for("vercel.ai.error.AI_ToolCallRepairError");Symbol.for("vercel.ai.error.AI_ToolChoiceViolationError");var eS="AI_UIMessageStreamError",eT=`vercel.ai.error.${eS}`,eU=Symbol.for(eT),eV=class extends(V=aC,U=eU,V){constructor({chunkType:a,chunkId:b,message:c}){super({name:eS,message:c}),this[U]=!0,this.chunkType=a,this.chunkId=b}static isInstance(a){return aC.hasMarker(a,eT)}},eW=Symbol.for("vercel.ai.error.AI_InvalidDataContentError");Symbol.for("vercel.ai.error.AI_InvalidMessageRoleError");Symbol.for("vercel.ai.error.AI_MessageConversionError");Symbol.for("vercel.ai.error.AI_RetryError");var eX=async({url:a,maxBytes:b,abortSignal:c})=>{var d;let e=a.toString();try{let a=bu({},"ai-sdk/7.0.93",bn()),f=await bL({url:e,headers:a,abortSignal:c});if(!f.ok)throw await bv(f),new bz({url:e,statusCode:f.status,statusText:f.statusText});return{data:await bM({response:f,url:e,maxBytes:null!=b?b:0x80000000}),mediaType:null!=(d=f.headers.get("content-type"))?d:void 0}}catch(a){if(bz.isInstance(a))throw a;throw new bz({url:e,cause:a})}},eY={array:cS.array,boolean:cS.boolean,custom:cS.custom,discriminatedUnion:cS.discriminatedUnion,enum:cS.enum,instanceof:cS.instanceof,lazy:cS.lazy,literal:cS.literal,looseObject:cS.looseObject,never:cS.never,null:cS.null,number:cS.number,object:cS.object,record:cS.record,string:cS.string,union:cS.union,unknown:cS.unknown},eZ=eY.lazy(()=>eY.union([eY.null(),eY.string(),eY.number(),eY.boolean(),eY.record(eY.string(),eZ.optional()),eY.array(eZ)])),e$=eY.record(eY.string(),eY.record(eY.string(),eZ.optional())),e_=eY.union([eY.string(),eY.instanceof(Uint8Array),eY.instanceof(ArrayBuffer),eY.custom(function(a){var b,c;return null!=(c=null==(b=globalThis.Buffer)?void 0:b.isBuffer(a))&&c},{message:"Must be a Buffer"})]),e0=eY.record(eY.string(),eY.string()),e1=eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),e2=eY.object({type:eY.literal("image"),image:eY.union([e_,eY.instanceof(URL),e0]),mediaType:eY.string().optional(),providerOptions:e$.optional()}),e3=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)}),eY.object({type:eY.literal("reference"),reference:e0}),eY.object({type:eY.literal("text"),text:eY.string()})]),e4=eY.discriminatedUnion("type",[eY.object({type:eY.literal("data"),data:e_}),eY.object({type:eY.literal("url"),url:eY.instanceof(URL)})]),e5=eY.object({type:eY.literal("file"),data:eY.union([e3,e_,eY.instanceof(URL),e0]),filename:eY.string().optional(),mediaType:eY.string(),providerOptions:e$.optional()}),e6=eY.object({type:eY.literal("reasoning"),text:eY.string(),providerOptions:e$.optional()}),e7=eY.object({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerOptions:e$.optional()}),e8=eY.object({type:eY.literal("reasoning-file"),data:eY.union([e4,e_,eY.instanceof(URL)]),mediaType:eY.string(),providerOptions:e$.optional()}),e9=eY.object({type:eY.literal("tool-call"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerOptions:e$.optional(),providerExecuted:eY.boolean().optional()}),fa=eY.discriminatedUnion("type",[eY.object({type:eY.literal("text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("execution-denied"),reason:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-text"),value:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("error-json"),value:eZ,providerOptions:e$.optional()}),eY.object({type:eY.literal("content"),value:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file"),data:e3,mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-data"),data:eY.string(),mediaType:eY.string(),filename:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-url"),url:eY.string(),mediaType:eY.string().optional(),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-data"),data:eY.string(),mediaType:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-url"),url:eY.string(),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-id"),fileId:eY.union([eY.string(),eY.record(eY.string(),eY.string())]),providerOptions:e$.optional()}),eY.object({type:eY.literal("image-file-reference"),providerReference:eY.record(eY.string(),eY.string()),providerOptions:e$.optional()}),eY.object({type:eY.literal("custom"),providerOptions:e$.optional()})]))})]),fb=eY.object({type:eY.literal("tool-result"),toolCallId:eY.string(),toolName:eY.string(),output:fa,providerOptions:e$.optional()}),fc=eY.object({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),reason:eY.string().optional()}),fd=eY.object({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional()}),fe=eY.object({role:eY.literal("system"),content:eY.string(),providerOptions:e$.optional()}),ff=eY.object({role:eY.literal("user"),content:eY.union([eY.string(),eY.array(eY.union([e1,e2,e5]))]),providerOptions:e$.optional()}),fg=eY.object({role:eY.literal("assistant"),content:eY.union([eY.string(),eY.array(eY.union([e1,e7,e5,e6,e8,e9,fb,fc]))]),providerOptions:e$.optional()}),fh=eY.object({role:eY.literal("tool"),content:eY.array(eY.union([fb,fd])),providerOptions:e$.optional()});eY.union([fe,ff,fg,fh]);var fi={},fj={array:()=>fo,choice:()=>fr,json:()=>fs,object:()=>fn,text:()=>fm};for(var fk in fj)eH(fi,fk,{get:fj[fk],enumerable:!0});async function fl(a){if(void 0===a)return{value:void 0,state:"undefined-input"};let b=await cv({text:a});return b.success?{value:b.value,state:"successful-parse"}:(b=await cv({text:function(a){let b=["ROOT"],c=-1,d=null,e=0;function f(a,e,f){switch(a){case'"':c=e,b.pop(),b.push(f),b.push("INSIDE_STRING");break;case"f":case"t":case"n":c=e,d=e,b.pop(),b.push(f),b.push("INSIDE_LITERAL");break;case"-":b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=e,b.pop(),b.push(f),b.push("INSIDE_NUMBER");break;case"{":c=e,b.pop(),b.push(f),b.push("INSIDE_OBJECT_START");break;case"[":c=e,b.pop(),b.push(f),b.push("INSIDE_ARRAY_START")}}function g(a,d){switch(a){case",":b.pop(),b.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":c=d,b.pop()}}function h(a,d){switch(a){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=d,b.pop()}}for(let i=0;i<a.length;i++){let j=a[i];switch(b[b.length-1]){case"ROOT":f(j,i,"FINISH");break;case"INSIDE_OBJECT_START":switch(j){case'"':b.pop(),b.push("INSIDE_OBJECT_KEY");break;case"}":c=i,b.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===j&&(b.pop(),b.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===j&&(b.pop(),b.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":f(j,i,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":g(j,i);break;case"INSIDE_STRING":switch(j){case'"':b.pop(),c=i;break;case"\\":b.push("INSIDE_STRING_ESCAPE");break;default:c=i}break;case"INSIDE_ARRAY_START":"]"===j?(c=i,b.pop()):(c=i,f(j,i,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(j){case",":b.pop(),b.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":c=i,b.pop();break;default:c=i}break;case"INSIDE_ARRAY_AFTER_COMMA":f(j,i,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":b.pop(),"u"===j?(e=0,b.push("INSIDE_STRING_UNICODE_ESCAPE")):c=i;break;case"INSIDE_STRING_UNICODE_ESCAPE":(j>="0"&&j<="9"||j>="A"&&j<="F"||j>="a"&&j<="f")&&4==++e&&(b.pop(),c=i);break;case"INSIDE_NUMBER":switch(j){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=i;break;case"e":case"E":case"-":case".":break;case",":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"}":b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]&&g(j,i);break;case"]":b.pop(),"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i);break;default:b.pop()}break;case"INSIDE_LITERAL":{let e=a.substring(d,i+1);"false".startsWith(e)||"true".startsWith(e)||"null".startsWith(e)?c=i:(b.pop(),"INSIDE_OBJECT_AFTER_VALUE"===b[b.length-1]?g(j,i):"INSIDE_ARRAY_AFTER_VALUE"===b[b.length-1]&&h(j,i))}}}let i=a.slice(0,c+1);for(let c=b.length-1;c>=0;c--)switch(b[c]){case"INSIDE_STRING":i+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":i+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":i+="]";break;case"INSIDE_LITERAL":{let b=a.substring(d,a.length);"true".startsWith(b)?i+="true".slice(b.length):"false".startsWith(b)?i+="false".slice(b.length):"null".startsWith(b)&&(i+="null".slice(b.length))}}return i}(a)})).success?{value:b.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var fm=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:a})=>a,parsePartialOutput:async({text:a})=>({partial:a}),createElementStreamTransform(){}}),fn=({schema:a,name:b,description:c})=>{let d=cq(a);return{name:"object",responseFormat:cB(d.jsonSchema).then(a=>({type:"json",schema:a,...null!=b&&{name:b},...null!=c&&{description:c}})),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});let e=await ct({value:c.value,schema:d});if(!e.success)throw new eQ({message:"No object generated: response did not match schema.",cause:e.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return e.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:b.value}}},createElementStreamTransform(){}}},fo=({element:a,minItems:b,maxItems:c,name:d,description:e})=>{if(fp({name:"minItems",value:b}),fp({name:"maxItems",value:c}),null!=b&&null!=c&&b>c)throw new eL({parameter:"minItems",value:b,message:"minItems must be less than or equal to maxItems"});let f=cq(a);return{name:"array",responseFormat:cB(f.jsonSchema).then(a=>{let{$schema:f,definitions:g,$defs:h,...i}=a;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=g&&{definitions:g},...null!=h&&{$defs:h},type:"object",properties:{elements:{type:"array",items:i,...null!=b&&{minItems:b},...null!=c&&{maxItems:c}}},required:["elements"],additionalProperties:!1},...null!=d&&{name:d},...null!=e&&{description:e}}}),async parseCompleteOutput({text:a},d){let e=await cv({text:a});if(!e.success)throw new eQ({message:"No object generated: could not parse the response.",cause:e.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let g=e.value;if(null==g||"object"!=typeof g||!("elements"in g)||!Array.isArray(g.elements))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:g,cause:"response must be an object with an elements array"}),text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let h=fq({value:g.elements,minItems:b,maxItems:c});if(null!=h)throw new eQ({message:"No object generated: response did not match schema.",cause:h,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});let i=[];for(let b of g.elements){let c=await ct({value:b,schema:f});if(!c.success)throw new eQ({message:"No object generated: response did not match schema.",cause:c.error,text:a,response:d.response,usage:d.usage,finishReason:d.finishReason});i.push(c.value)}return i},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let a=b.value;if(null==a||"object"!=typeof a||!("elements"in a)||!Array.isArray(a.elements))return;let c="repaired-parse"===b.state&&a.elements.length>0?a.elements.slice(0,-1):a.elements,d=[];for(let a of c){let b=await ct({value:a,schema:f});b.success&&d.push(b.value)}return{partial:d}}}},createElementStreamTransform(){let a=0;return new TransformStream({transform({partialOutput:b},d){if(null!=b)for(;a<b.length;a++){if(null!=c&&a>=c)return void d.error(fq({value:b,maxItems:c}));d.enqueue(b[a])}}})}}};function fp({name:a,value:b}){if(null!=b){if(!Number.isInteger(b))throw new eL({parameter:a,value:b,message:`${a} must be an integer`});if(b<0)throw new eL({parameter:a,value:b,message:`${a} must be greater than or equal to 0`})}}function fq({value:a,minItems:b,maxItems:c}){return null!=b&&a.length<b?new a2({value:a,cause:`elements array must contain at least ${b} items`}):null!=c&&a.length>c?new a2({value:a,cause:`elements array must contain at most ${c} items`}):void 0}var fr=({options:a,name:b,description:c})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:a}},required:["result"],additionalProperties:!1},...null!=b&&{name:b},...null!=c&&{description:c}}),async parseCompleteOutput({text:b},c){let d=await cv({text:b});if(!d.success)throw new eQ({message:"No object generated: could not parse the response.",cause:d.error,text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});let e=d.value;if(null==e||"object"!=typeof e||!("result"in e)||"string"!=typeof e.result||!a.includes(e.result))throw new eQ({message:"No object generated: response did not match schema.",cause:new a2({value:e,cause:"response must be an object that contains a choice value."}),text:b,response:c.response,usage:c.usage,finishReason:c.finishReason});return e.result},async parsePartialOutput({text:b}){let c=await fl(b);switch(c.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let b=c.value;if(null==b||"object"!=typeof b||!("result"in b)||"string"!=typeof b.result)return;let d=a.filter(a=>a.startsWith(b.result));if("successful-parse"===c.state)return d.includes(b.result)?{partial:b.result}:void 0;return 1===d.length?{partial:d[0]}:void 0}}},createElementStreamTransform(){}}),fs=({name:a,description:b}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=a&&{name:a},...null!=b&&{description:b}}),async parseCompleteOutput({text:a},b){let c=await cv({text:a});if(!c.success)throw new eQ({message:"No object generated: could not parse the response.",cause:c.error,text:a,response:b.response,usage:b.usage,finishReason:b.finishReason});return c.value},async parsePartialOutput({text:a}){let b=await fl(a);switch(b.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===b.value?void 0:{partial:b.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),TransformStream;var ft=eY.record(eY.string(),eZ.optional()),fu=co(()=>cr(eY.union([eY.looseObject({type:eY.literal("text-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("text-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("error"),errorText:eY.string()}),eY.looseObject({type:eY.literal("tool-input-start"),toolCallId:eY.string(),toolName:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-delta"),toolCallId:eY.string(),inputTextDelta:eY.string()}),eY.looseObject({type:eY.literal("tool-input-available"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-input-error"),toolCallId:eY.string(),toolName:eY.string(),input:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),errorText:eY.string(),title:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-request"),approvalId:eY.string(),toolCallId:eY.string(),approvalDescriptor:eY.unknown().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}),eY.looseObject({type:eY.literal("tool-approval-response"),approvalId:eY.string(),approved:eY.boolean(),reason:eY.string().optional(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("tool-output-available"),toolCallId:eY.string(),output:eY.unknown(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional(),preliminary:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-error"),toolCallId:eY.string(),errorText:eY.string(),providerExecuted:eY.boolean().optional(),providerMetadata:e$.optional(),toolMetadata:ft.optional(),dynamic:eY.boolean().optional()}),eY.looseObject({type:eY.literal("tool-output-denied"),toolCallId:eY.string()}),eY.looseObject({type:eY.literal("reasoning-start"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-delta"),id:eY.string(),delta:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-end"),id:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("custom"),kind:eY.string().transform(a=>a),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.literal("reasoning-file"),url:eY.string(),mediaType:eY.string(),providerMetadata:e$.optional()}),eY.looseObject({type:eY.custom(a=>"string"==typeof a&&a.startsWith("data-"),{message:'Type must start with "data-"'}),id:eY.string().optional(),data:eY.unknown(),transient:eY.boolean().optional()}),eY.looseObject({type:eY.literal("start-step")}),eY.looseObject({type:eY.literal("finish-step")}),eY.looseObject({type:eY.literal("reset-step")}),eY.looseObject({type:eY.literal("start"),messageId:eY.string().optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("finish"),finishReason:eY.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:eY.unknown().optional()}),eY.looseObject({type:eY.literal("abort"),reason:eY.string().optional()}),eY.looseObject({type:eY.literal("message-metadata"),messageMetadata:eY.unknown()})])));function fv(){return Object.create(null)}function fw(a){return a.type.startsWith("tool-")}function fx(a){return"dynamic-tool"===a.type}function fy(a){return fw(a)||fx(a)}function fz(a){return a.type.split("-").slice(1).join("-")}function fA(a){return fx(a)?a.toolName:fz(a)}async function fB({stream:a,onError:b,abortSignal:c}){let d=a.getReader(),e=()=>{d.cancel().catch(()=>{})};(null==c?void 0:c.aborted)?e():null==c||c.addEventListener("abort",e,{once:!0});try{for(;;){let{done:a}=await d.read();if(a)break}}catch(a){null==b||b(a)}finally{null==c||c.removeEventListener("abort",e),d.releaseLock()}}bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24}),bN({prefix:"aitxt",size:24}),bN({prefix:"call",size:24});var fC=eY.record(eY.string(),eZ.optional()),fD=eY.record(eY.string(),eY.string());function fE(a){return({url:b,abortSignal:c})=>eX({url:b,maxBytes:null==a?void 0:a.maxBytes,abortSignal:c})}co(()=>cr(eY.array(eY.object({id:eY.string(),role:eY.enum(["system","user","assistant"]),metadata:eY.unknown().optional(),parts:eY.array(eY.union([eY.object({type:eY.literal("text"),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning"),id:eY.string().optional(),text:eY.string(),state:eY.enum(["streaming","done"]).optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("custom"),kind:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-url"),sourceId:eY.string(),url:eY.string(),title:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("source-document"),sourceId:eY.string(),mediaType:eY.string(),title:eY.string(),filename:eY.string().optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("file"),mediaType:eY.string(),filename:eY.string().optional(),url:eY.string(),providerReference:fD.optional(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("reasoning-file"),mediaType:eY.string(),url:eY.string(),providerMetadata:e$.optional()}),eY.object({type:eY.literal("step-start")}),eY.object({type:eY.string().startsWith("data-"),id:eY.string().optional(),data:eY.unknown()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),input:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.literal("dynamic-tool"),toolName:eY.string(),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-streaming"),providerExecuted:eY.boolean().optional(),callProviderMetadata:e$.optional(),input:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.never().optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("input-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.never().optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-requested"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.never().optional(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.never().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("approval-responded"),input:eY.unknown(),providerExecuted:eY.boolean().optional(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.boolean(),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-available"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.unknown(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),preliminary:eY.boolean().optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-error"),providerExecuted:eY.boolean().optional(),input:eY.unknown().optional(),rawInput:eY.unknown().optional(),output:eY.never().optional(),errorText:eY.string(),callProviderMetadata:e$.optional(),resultProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!0),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()}).optional()}),eY.object({type:eY.string().startsWith("tool-"),toolCallId:eY.string(),title:eY.string().optional(),toolMetadata:fC.optional(),state:eY.literal("output-denied"),providerExecuted:eY.boolean().optional(),input:eY.unknown(),output:eY.never().optional(),errorText:eY.never().optional(),callProviderMetadata:e$.optional(),approval:eY.object({id:eY.string(),approved:eY.literal(!1),descriptor:eY.unknown().optional(),requestReason:eY.string().optional(),reason:eY.string().optional(),isAutomatic:eY.boolean().optional(),signature:eY.string().optional()})})]))}).superRefine((a,b)=>{"assistant"!==a.role&&0===a.parts.length&&b.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:a.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),bN({prefix:"call",size:24}),bN({prefix:"call",size:24}),new TextEncoder,bN({prefix:"aiobj",size:24});var fF=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(a){return new Promise((b,c)=>{this.queue.push(async()=>{try{await a(),b()}catch(a){c(a)}}),this.processQueue()})}};bN({prefix:"aiobj",size:24}),fE();Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function fG(a){if(null==a)return[];if(!globalThis.FileList||!(a instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(a).map(async a=>{let{name:b,type:c}=a;return{type:"file",mediaType:c,filename:b,url:await new Promise((b,c)=>{let d=new FileReader;d.onload=a=>{var c;b(null==(c=a.target)?void 0:c.result)},d.onerror=a=>c(a),d.readAsDataURL(a)})}}))}bN({prefix:"call",size:24}),fE();var fH=class{constructor({api:a="/api/chat",credentials:b,headers:c,body:d,fetch:e,prepareSendMessagesRequest:f,prepareReconnectToStreamRequest:g}){this.api=a,this.credentials=b,this.headers=c,this.body=d,this.fetch=e,this.prepareSendMessagesRequest=f,this.prepareReconnectToStreamRequest=g}async sendMessages({abortSignal:a,...b}){var c,d,e,f;let g=await cB(this.body),h=await cB(this.headers),i=await cB(this.credentials),j={...bt(h),...bt(b.headers)},k=await (null==(c=this.prepareSendMessagesRequest)?void 0:c.call(this,{api:this.api,id:b.chatId,messages:b.messages,body:{...g,...b.body},headers:j,credentials:i,requestMetadata:b.metadata,trigger:b.trigger,messageId:b.messageId})),l=null!=(d=null==k?void 0:k.api)?d:this.api,m=(null==k?void 0:k.headers)!==void 0?bt(k.headers):j,n=(null==k?void 0:k.body)!==void 0?k.body:{...g,...b.body,id:b.chatId,messages:b.messages,trigger:b.trigger,messageId:b.messageId},o=null!=(e=null==k?void 0:k.credentials)?e:i,p=null!=(f=this.fetch)?f:globalThis.fetch,q=await p(l,{method:"POST",headers:{"Content-Type":"application/json",...m},body:JSON.stringify(n),credentials:o,signal:a});if(!q.ok)throw Error(await q.text()||"Failed to fetch the chat response.");if(!q.body)throw Error("The response body is empty.");return this.processResponseStream(q.body)}async reconnectToStream(a){var b,c,d,e;let f=await cB(this.body),g=await cB(this.headers),h=await cB(this.credentials),i={...bt(g),...bt(a.headers)},j=await (null==(b=this.prepareReconnectToStreamRequest)?void 0:b.call(this,{api:this.api,id:a.chatId,body:{...f,...a.body},headers:i,credentials:h,requestMetadata:a.metadata})),k=null!=(c=null==j?void 0:j.api)?c:`${this.api}/${a.chatId}/stream`,l=(null==j?void 0:j.headers)!==void 0?bt(j.headers):i,m=null!=(d=null==j?void 0:j.credentials)?d:h,n=null!=(e=this.fetch)?e:globalThis.fetch,o=await n(k,{method:"GET",headers:l,credentials:m,signal:a.abortSignal});if(204===o.status)return null;if(!o.ok)throw Error(await o.text()||"Failed to fetch the chat response.");if(!o.body)throw Error("The response body is empty.");return this.processResponseStream(o.body)}},fI=class extends fH{constructor(a={}){super(a)}processResponseStream(a){return cw({stream:a,schema:fu}).pipeThrough(new TransformStream({async transform(a,b){if(!a.success)throw a.error;b.enqueue(a.value)}}))}},fJ=class{constructor({generateId:a=bO,id:b=a(),transport:c=new fI,messageMetadataSchema:d,dataPartSchemas:e,state:f,onError:g,onToolCall:h,onFinish:i,onData:j,sendAutomaticallyWhen:k}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new fF,this.sendMessage=async(a,b)=>{var c,d,e,f;let g;if(null==a)return void await this.makeRequest({trigger:"submit-message",messageId:null==(c=this.lastMessage)?void 0:c.id,...b});if("text"in a||"files"in a){let b,c=new AbortController;this.pendingMessagePreparations.add(c);try{b=Array.isArray(a.files)?a.files:await fG(a.files)}finally{this.pendingMessagePreparations.delete(c)}if(c.signal.aborted)return;g={parts:[...b,..."text"in a&&null!=a.text?[{type:"text",text:a.text}]:[]]}}else g=a;if(null!=a.messageId){let b=this.state.messages.findIndex(b=>b.id===a.messageId);if(-1===b)throw Error(`message with id ${a.messageId} not found`);if("user"!==this.state.messages[b].role)throw Error(`message with id ${a.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,b+1),this.state.replaceMessage(b,{id:a.messageId,...g,role:null!=(d=g.role)?d:"user",metadata:a.metadata})}else this.state.pushMessage({...g,id:null!=(e=g.id)?e:this.generateId(),role:null!=(f=g.role)?f:"user",metadata:a.metadata});await this.makeRequest({trigger:"submit-message",messageId:a.messageId,...b})},this.regenerate=async({messageId:a,...b}={})=>{let c=null==a?this.state.messages.length-1:this.state.messages.findIndex(b=>b.id===a);if(-1===c)throw Error(`message ${a} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[c].role?c:c+1),await this.makeRequest({trigger:"regenerate-message",messageId:a,...b})},this.resumeStream=async(a={})=>{await this.makeRequest({trigger:"resume-stream",...a})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:a,approved:b,reason:c,options:d})=>this.jobExecutor.run(async()=>{let e=this.state.messages,f=e[e.length-1],g=d=>fy(d)&&"approval-requested"===d.state&&d.approval.id===a?{...d,state:"approval-responded",approval:{...d.approval,id:a,approved:b,reason:c}}:d;this.state.replaceMessage(e.length-1,{...f,parts:f.parts.map(g)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(g)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...d})})}),this.addToolOutput=async({state:a="output-available",toolCallId:b,output:c,errorText:d,options:e})=>this.jobExecutor.run(async()=>{let f=this.state.messages,g=f[f.length-1],h=e=>fy(e)&&e.toolCallId===b?{...e,state:a,output:c,errorText:d}:e;this.state.replaceMessage(f.length-1,{...g,parts:g.parts.map(h)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(h)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(a=>{var b;a&&this.makeRequest({trigger:"submit-message",messageId:null==(b=this.lastMessage)?void 0:b.id,...e})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var a,b;for(let a of this.pendingMessagePreparations)a.abort();null==(a=this.activeResumeRequest)||a.abortController.abort(),null==(b=this.activeResponse)||b.abortController.abort()},this.id=b,this.transport=c,this.generateId=a,this.messageMetadataSchema=d,this.dataPartSchemas=e,this.state=f,this.onError=g,this.onToolCall=h,this.onFinish=i,this.onData=j,this.sendAutomaticallyWhen=k}get status(){return this.state.status}setStatus({status:a,error:b}){this.status!==a&&(this.state.status=a,this.state.error=b)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(a){this.state.messages=a}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let a=this.sendAutomaticallyWhen({messages:this.state.messages});return a&&"object"==typeof a&&"then"in a?await a:a}async makeRequest({trigger:a,metadata:b,headers:c,body:d,messageId:e}){var f,g,h;let i,j,k=new AbortController,l="resume-stream"===a?{abortController:k}:void 0;l&&(null==(f=this.activeResumeRequest)||f.abortController.abort(),this.activeResumeRequest=l);let m=()=>null==l||this.activeResumeRequest===l,n=()=>{this.activeResumeRequest===l&&(this.activeResumeRequest=void 0)};if("resume-stream"===a)try{let a=await this.transport.reconnectToStream({chatId:this.id,abortSignal:k.signal,metadata:b,headers:c,body:d});if(k.signal.aborted||!m()){await (null==a?void 0:a.cancel().catch(()=>{})),m()&&this.setStatus({status:"ready"}),n();return}if(null==a){this.setStatus({status:"ready"}),n();return}i=a}catch(a){if(k.signal.aborted||"AbortError"===a.name){m()&&this.setStatus({status:"ready"}),n();return}if(!m())return;this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a}),n();return}this.setStatus({status:"submitted",error:void 0});let o=this.lastMessage,p=!1,q=!1,r=!1;try{let f,g={state:function({lastMessage:a,messageId:b}){return{message:(null==a?void 0:a.role)==="assistant"?a:{id:b,metadata:void 0,role:"assistant",parts:[]},activeTextParts:fv(),activeReasoningParts:fv(),partialToolCalls:fv()}}({lastMessage:"resume-stream"===a||"regenerate-message"===a?void 0:this.state.snapshot(o),messageId:this.generateId()}),abortController:k};j=g,g.abortController.signal.addEventListener("abort",()=>{p=!0}),this.activeResponse=g,f="resume-stream"===a?i:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:g.abortController.signal,metadata:b,headers:c,body:d,trigger:a,messageId:e});let h=a=>this.jobExecutor.run(()=>g.abortController.signal.aborted?Promise.resolve():a({state:g.state,write:({updateStatus:a=!0}={})=>{var b;g.abortController.signal.aborted||(a&&this.setStatus({status:"streaming"}),g.state.message.id===(null==(b=this.lastMessage)?void 0:b.id)?this.state.replaceMessage(this.state.messages.length-1,g.state.message):this.state.pushMessage(g.state.message))}}));if(await fB({stream:function({stream:a,messageMetadataSchema:b,dataPartSchemas:c,runUpdateMessageJob:d,onError:e,onToolCall:f,onData:g}){return a.pipeThrough(new TransformStream({async transform(a,h){await d(async({state:d,write:i})=>{var j,k,l,m;function n(){let a=d.message.parts,b=a.length-1;for(;b>=0&&"step-start"!==a[b].type;)b--;return a.slice(b+1)}function o(a){let b=n().filter(fy).find(b=>b.toolCallId===a);if(null==b){let c=d.message.parts;for(let d=c.length-1;d>=0;d--){let e=c[d];if(fy(e)&&e.toolCallId===a){b=e;break}}}if(null==b)throw new eV({chunkType:"tool-invocation",chunkId:a,message:`No tool invocation found for tool call ID "${a}".`});return b}function p(a,b){var c;let e=null!=b?b:n().find(b=>fw(b)&&b.toolCallId===a.toolCallId);if(null!=e){e.state=a.state,e.input=a.input,e.output=a.output,e.errorText=a.errorText,e.rawInput=a.rawInput,e.preliminary=a.preliminary,void 0!==a.title&&(e.title=a.title),void 0!==a.toolMetadata&&(e.toolMetadata=a.toolMetadata),e.providerExecuted=null!=(c=a.providerExecuted)?c:e.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?e.resultProviderMetadata=b:e.callProviderMetadata=b)}else d.message.parts.push({type:`tool-${a.toolName}`,toolCallId:a.toolCallId,state:a.state,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},input:a.input,output:a.output,rawInput:a.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,preliminary:a.preliminary,...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}function q(a,b){var c,e;let f=null!=b?b:n().find(b=>"dynamic-tool"===b.type&&b.toolCallId===a.toolCallId);if(null!=f){f.state=a.state,f.toolName=a.toolName,f.input=a.input,f.output=a.output,f.errorText=a.errorText,f.rawInput=null!=(c=a.rawInput)?c:f.rawInput,f.preliminary=a.preliminary,void 0!==a.title&&(f.title=a.title),void 0!==a.toolMetadata&&(f.toolMetadata=a.toolMetadata),f.providerExecuted=null!=(e=a.providerExecuted)?e:f.providerExecuted;let b=a.providerMetadata;null!=b&&("output-available"===a.state||"output-error"===a.state?f.resultProviderMetadata=b:f.callProviderMetadata=b)}else d.message.parts.push({type:"dynamic-tool",toolName:a.toolName,toolCallId:a.toolCallId,state:a.state,input:a.input,output:a.output,errorText:a.errorText,preliminary:a.preliminary,providerExecuted:a.providerExecuted,title:a.title,...void 0!==a.toolMetadata?{toolMetadata:a.toolMetadata}:{},...null!=a.providerMetadata&&("output-available"===a.state||"output-error"===a.state)?{resultProviderMetadata:a.providerMetadata}:{},...null!=a.providerMetadata&&"output-available"!==a.state&&"output-error"!==a.state?{callProviderMetadata:a.providerMetadata}:{}})}async function r(a){if(null!=a){let c=null!=d.message.metadata?function a(b,c){if(void 0===b&&void 0===c)return;if(void 0===b)return c;if(void 0===c)return b;let d={...b};for(let e in c)if("__proto__"!==e&&"constructor"!==e&&"prototype"!==e&&Object.prototype.hasOwnProperty.call(c,e)){let f=c[e];if(void 0===f)continue;let g=e in b?b[e]:void 0,h=null!==f&&"object"==typeof f&&!Array.isArray(f)&&!(f instanceof Date)&&!(f instanceof RegExp),i=null!=g&&"object"==typeof g&&!Array.isArray(g)&&!(g instanceof Date)&&!(g instanceof RegExp);h&&i?d[e]=a(g,f):d[e]=f}return d}(d.message.metadata,a):a;null!=b&&await cs({value:c,schema:b,context:{field:"message.metadata",entityId:d.message.id}}),d.message.metadata=c}}switch(a.type){case"text-start":{let b={type:"text",text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeTextParts[a.id]=b,d.message.parts.push(b),i();break}case"text-delta":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-delta",chunkId:a.id,message:`Received text-delta for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(j=a.providerMetadata)?j:b.providerMetadata,i();break}case"text-end":{let b=d.activeTextParts[a.id];if(null==b)throw new eV({chunkType:"text-end",chunkId:a.id,message:`Received text-end for missing text part with ID "${a.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});b.state="done",b.providerMetadata=null!=(k=a.providerMetadata)?k:b.providerMetadata,delete d.activeTextParts[a.id],i();break}case"custom":{let b={type:"custom",kind:a.kind,providerMetadata:a.providerMetadata};d.message.parts.push(b),i();break}case"reasoning-start":{let b={type:"reasoning",id:a.id,text:"",providerMetadata:a.providerMetadata,state:"streaming"};d.activeReasoningParts[a.id]=b,d.message.parts.push(b),i();break}case"reasoning-delta":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-delta",chunkId:a.id,message:`Received reasoning-delta for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});b.text+=a.delta,b.providerMetadata=null!=(l=a.providerMetadata)?l:b.providerMetadata,i();break}case"reasoning-end":{let b=d.activeReasoningParts[a.id];if(null==b)throw new eV({chunkType:"reasoning-end",chunkId:a.id,message:`Received reasoning-end for missing reasoning part with ID "${a.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});b.providerMetadata=null!=(m=a.providerMetadata)?m:b.providerMetadata,b.state="done",delete d.activeReasoningParts[a.id],i();break}case"file":case"reasoning-file":d.message.parts.push({type:a.type,mediaType:a.mediaType,url:a.url,...null!=a.providerMetadata?{providerMetadata:a.providerMetadata}:{}}),i();break;case"source-url":d.message.parts.push({type:"source-url",sourceId:a.sourceId,url:a.url,title:a.title,providerMetadata:a.providerMetadata}),i();break;case"source-document":d.message.parts.push({type:"source-document",sourceId:a.sourceId,mediaType:a.mediaType,title:a.title,filename:a.filename,providerMetadata:a.providerMetadata}),i();break;case"tool-input-start":{let b=n().filter(fw);d.partialToolCalls[a.toolCallId]={text:"",toolName:a.toolName,index:b.length,dynamic:a.dynamic,title:a.title,toolMetadata:a.toolMetadata},a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-streaming",input:void 0,providerExecuted:a.providerExecuted,title:a.title,toolMetadata:a.toolMetadata,providerMetadata:a.providerMetadata}),i();break}case"tool-input-delta":{let b=d.partialToolCalls[a.toolCallId];if(null==b)throw new eV({chunkType:"tool-input-delta",chunkId:a.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${a.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});b.text+=a.inputTextDelta;let{value:c}=await fl(b.text);b.dynamic?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}):p({toolCallId:a.toolCallId,toolName:b.toolName,state:"input-streaming",input:c,title:b.title,toolMetadata:b.toolMetadata}),i();break}case"tool-input-available":a.dynamic?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"input-available",input:a.input,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:a.title,toolMetadata:a.toolMetadata}),i(),f&&!a.providerExecuted&&await f({toolCall:a});break;case"tool-input-error":{let b=n().filter(fy).find(b=>b.toolCallId===a.toolCallId);(null!=b?"dynamic-tool"===b.type:a.dynamic)?q({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}):p({toolCallId:a.toolCallId,toolName:a.toolName,state:"output-error",input:void 0,rawInput:a.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,toolMetadata:a.toolMetadata}),i();break}case"tool-approval-request":{let b=o(a.toolCallId);b.state="approval-requested",b.approval={id:a.approvalId,...null!=a.approvalDescriptor?{descriptor:a.approvalDescriptor}:{},...null!=a.reason?{requestReason:a.reason}:{},...!0===a.isAutomatic?{isAutomatic:!0}:{},...null!=a.signature?{signature:a.signature}:{}},i();break}case"tool-approval-response":{let b=function(a){let b=d.message.parts.filter(fy).find(b=>{var c;return(null==(c=b.approval)?void 0:c.id)===a});if(null==b)throw new eV({chunkType:"tool-approval-response",chunkId:a,message:`No tool invocation found for approval ID "${a}".`});return b}(a.approvalId),c=null==b.approval?{id:a.approvalId}:b.approval;b.state="approval-responded",b.approval={...c,id:a.approvalId,approved:a.approved,...null!=a.reason?{reason:a.reason}:{}},null!=a.providerExecuted&&(b.providerExecuted=a.providerExecuted),null!=a.providerMetadata&&(b.callProviderMetadata=a.providerMetadata),i();break}case"tool-output-denied":o(a.toolCallId).state="output-denied",i();break;case"tool-output-available":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-available",input:b.input,output:a.output,preliminary:a.preliminary,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-available",input:b.input,output:a.output,providerExecuted:a.providerExecuted,preliminary:a.preliminary,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"tool-output-error":{let b=o(a.toolCallId);"dynamic-tool"===b.type?q({toolCallId:a.toolCallId,toolName:b.toolName,state:"output-error",input:b.input,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b):p({toolCallId:a.toolCallId,toolName:fz(b),state:"output-error",input:b.input,rawInput:b.rawInput,errorText:a.errorText,providerExecuted:a.providerExecuted,providerMetadata:a.providerMetadata,title:b.title,toolMetadata:b.toolMetadata},b),i();break}case"start-step":d.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let a=n();d.activeTextParts=fv(),d.activeReasoningParts=fv(),d.partialToolCalls=fv(),a.length>0&&(d.message.parts.splice(d.message.parts.length-a.length,a.length),i());break}case"start":null!=a.messageId&&(d.message.id=a.messageId),await r(a.messageMetadata),(null!=a.messageId||null!=a.messageMetadata)&&i({updateStatus:!1});break;case"finish":null!=a.finishReason&&(d.finishReason=a.finishReason),await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"message-metadata":await r(a.messageMetadata),null!=a.messageMetadata&&i();break;case"error":null==e||e(Error(a.errorText));break;default:if(a.type.startsWith("data-")){if((null==c?void 0:c[a.type])!=null){let b=d.message.parts.findIndex(b=>"id"in b&&"data"in b&&b.id===a.id&&b.type===a.type),e=b>=0?b:d.message.parts.length;await cs({value:a.data,schema:c[a.type],context:{field:`message.parts[${e}].data`,entityName:a.type,entityId:a.id}})}if(a.transient){null==g||g(a);break}let b=null!=a.id?d.message.parts.find(b=>a.type===b.type&&a.id===b.id):void 0;null!=b?b.data=a.data:d.message.parts.push(a),null==g||g(a),i()}}h.enqueue(a)})}}))}({stream:f,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:h,onError:a=>{throw a}}),abortSignal:g.abortController.signal,onError:a=>{throw a}}),p)return m()&&this.setStatus({status:"ready"}),null;m()&&this.setStatus({status:"ready"})}catch(a){if(p||"AbortError"===a.name)return p=!0,m()&&this.setStatus({status:"ready"}),null;if(!m())return null;r=!0,a instanceof TypeError&&(a.message.toLowerCase().includes("fetch")||a.message.toLowerCase().includes("network"))&&(q=!0),this.onError&&a instanceof Error&&this.onError(a),this.setStatus({status:"error",error:a})}finally{try{j&&(null==(g=this.onFinish)||g.call(this,{message:j.state.message,messages:this.state.messages,isAbort:p,isDisconnect:q,isError:r,finishReason:j.state.finishReason}))}finally{this.activeResponse===j&&(this.activeResponse=void 0),n()}}!r&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(h=this.lastMessage)?void 0:h.id,metadata:b,headers:c,body:d})}};a.i(393931);var fK=a.i(313350),fL=(a,b,c)=>{if(!b.has(a))throw TypeError("Cannot "+c)},fM=(a,b,c)=>(fL(a,b,"read from private field"),c?c.call(a):b.get(a)),fN=(a,b,c)=>{if(b.has(a))throw TypeError("Cannot add the same private member more than once");b instanceof WeakSet?b.add(a):b.set(a,c)},fO=(a,b,c,d)=>(fL(a,b,"write to private field"),d?d.call(a,c):b.set(a,c),c),fP=class{constructor(a=[]){fN(this,W,void 0),fN(this,X,"ready"),fN(this,Y,void 0),fN(this,Z,new Set),fN(this,$,new Set),fN(this,_,new Set),this.pushMessage=a=>{fO(this,W,fM(this,W).concat(a)),fM(this,aa).call(this)},this.popMessage=()=>{fO(this,W,fM(this,W).slice(0,-1)),fM(this,aa).call(this)},this.replaceMessage=(a,b)=>{fO(this,W,[...fM(this,W).slice(0,a),this.snapshot(b),...fM(this,W).slice(a+1)]),fM(this,aa).call(this)},this.snapshot=a=>{var b;if(null==a||"object"!=typeof a||!("parts"in a)||!Array.isArray(a.parts))return a;let c={...a,parts:a.parts.map(a=>({...a}))};return"metadata"in a&&(c.metadata=Array.isArray(b=a.metadata)?[...b]:null!=b&&"object"==typeof b&&(Object.getPrototypeOf(b)===Object.prototype||null===Object.getPrototypeOf(b))?{...b}:b),c},this["~registerMessagesCallback"]=(a,b)=>{let c=b?null!=b?(0,fK.default)(a,b):a:a;return fM(this,Z).add(c),()=>{fM(this,Z).delete(c)}},this["~registerStatusCallback"]=a=>(fM(this,$).add(a),()=>{fM(this,$).delete(a)}),this["~registerErrorCallback"]=a=>(fM(this,_).add(a),()=>{fM(this,_).delete(a)}),fN(this,aa,()=>{fM(this,Z).forEach(a=>a())}),fN(this,ab,()=>{fM(this,$).forEach(a=>a())}),fN(this,ac,()=>{fM(this,_).forEach(a=>a())}),fO(this,W,a)}get status(){return fM(this,X)}set status(a){fO(this,X,a),fM(this,ab).call(this)}get error(){return fM(this,Y)}set error(a){fO(this,Y,a),fM(this,ac).call(this)}get messages(){return fM(this,W)}set messages(a){fO(this,W,[...a]),fM(this,aa).call(this)}};W=new WeakMap,X=new WeakMap,Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ab=new WeakMap,ac=new WeakMap;var fQ=class extends fJ{constructor({messages:a,...b}){const c=new fP(a);super({...b,state:c}),fN(this,ad,void 0),this["~registerMessagesCallback"]=(a,b)=>fM(this,ad)["~registerMessagesCallback"](a,b),this["~registerStatusCallback"]=a=>fM(this,ad)["~registerStatusCallback"](a),this["~registerErrorCallback"]=a=>fM(this,ad)["~registerErrorCallback"](a),fO(this,ad,c)}};ad=new WeakMap;var fR=a.i(327598);let fS={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};fS.node;let fT=(0,ai.default)(fS);var fU=a.i(589027),fV=a.i(875160);let fW={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};fW.node;let fX=(0,ai.default)(fW);var fY=a.i(545097),fZ=a.i(608902),f$=a.i(379630),f_=a.i(421042),f0=a.i(497895);let f1=new fI({api:ar.queryKey.memoryEdit});function f2({notes:a}){let[b,c]=(0,aq.useState)(""),[d,e]=(0,aq.useState)({provider:null,model:""}),[f,g]=(0,aq.useState)(!1),{messages:h,sendMessage:i,setMessages:j,status:k,stop:l,error:m,clearError:n}=function({throttle:a,experimental_throttle:b,resume:c=!1,...d}={}){let e,f=null!=a?a:b,g=(0,aq.useRef)({});"chat"in d||(g.current={onToolCall:d.onToolCall,onData:d.onData,onFinish:d.onFinish,onError:d.onError,sendAutomaticallyWhen:d.sendAutomaticallyWhen,transport:d.transport});let h=()=>{var a;return null!=(a=g.current.transport)?a:null!=e?e:e=new fI},i={...d,transport:{sendMessages:a=>h().sendMessages(a),reconnectToStream:a=>h().reconnectToStream(a)},onToolCall:a=>{var b,c;return null==(c=(b=g.current).onToolCall)?void 0:c.call(b,a)},onData:a=>{var b,c;return null==(c=(b=g.current).onData)?void 0:c.call(b,a)},onFinish:a=>{var b,c;return null==(c=(b=g.current).onFinish)?void 0:c.call(b,a)},onError:a=>{var b,c;return null==(c=(b=g.current).onError)?void 0:c.call(b,a)},sendAutomaticallyWhen:a=>{var b,c,d;return null!=(d=null==(c=(b=g.current).sendAutomaticallyWhen)?void 0:c.call(b,a))&&d}},j=(0,aq.useRef)("chat"in d?d.chat:new fQ(i));("chat"in d&&d.chat!==j.current||"id"in d&&null!=d.id&&j.current.id!==d.id)&&(j.current="chat"in d?d.chat:new fQ(i));let k=j.current,l=(0,aq.useRef)({chat:k,messages:k.messages});l.current.chat!==k&&(l.current={chat:k,messages:k.messages});let m=(0,aq.useCallback)(a=>{let b=!0,c=k["~registerMessagesCallback"](()=>{b&&l.current.chat===k&&(l.current={chat:k,messages:k.messages},a())},f);return l.current={chat:k,messages:k.messages},()=>{b=!1,c()}},[k,f]),n=(0,aq.useCallback)(()=>l.current.messages,[]),o=(0,aq.useSyncExternalStore)(m,n,n),p=(0,aq.useCallback)(a=>k["~registerStatusCallback"](()=>{l.current.chat===k&&(("ready"===k.status||"error"===k.status)&&(l.current={chat:k,messages:k.messages}),a())}),[k]),q=(0,aq.useCallback)(()=>k.status,[k]),r=(0,aq.useSyncExternalStore)(p,q,q),s=(0,aq.useSyncExternalStore)(j.current["~registerErrorCallback"],()=>j.current.error,()=>j.current.error),t=(0,aq.useCallback)(a=>{"function"==typeof a&&(a=a(j.current.messages)),j.current.messages=a},[j]);return(0,aq.useEffect)(()=>{c&&j.current.resumeStream()},[c,j]),{id:j.current.id,messages:o,setMessages:t,sendMessage:j.current.sendMessage,regenerate:j.current.regenerate,clearError:j.current.clearError,stop:j.current.stop,error:s,resumeStream:j.current.resumeStream,status:r,addToolResult:j.current.addToolOutput,addToolOutput:j.current.addToolOutput,addToolApprovalResponse:j.current.addToolApprovalResponse}}({transport:f1}),o=(0,aq.useRef)(l);o.current=l,(0,aq.useEffect)(()=>()=>{o.current()},[]);let p=(0,aq.useRef)(new Map);for(let b of a)for(let a of b.facts)p.current.set(a.id,{text:a.text,path:b.path});let q="submitted"===k||"streaming"===k,r=!!(d.provider&&d.model.trim()),s=[...h].reverse().find(a=>"assistant"===a.role),t=s?.parts??[],u=t.filter(fy),v=t.flatMap(a=>"text"===a.type?[a.text]:[]).join(" ").trim(),w=!!m||u.some(a=>"output-error"===a.state),x=u.filter(a=>"output-available"===a.state&&fA(a)!==f_.TOOL_NAMES.memory_recall).length;(0,aq.useEffect)(()=>{if("ready"!==k||w||0===h.length)return;let a=setTimeout(()=>j([]),4e3);return()=>clearTimeout(a)},[k,w,h.length,j]);let y=q?(0,ae.jsx)(fY.ShinyText,{text:"Working on memory",className:"text-xs"}):m?(0,ae.jsx)("span",{className:"text-xs text-destructive",children:m.message}):s?(0,ae.jsx)("span",{className:"text-xs text-muted-foreground",children:v||(0===x?"Nothing to change":1===x?"1 change saved":`${x} changes saved`)}):null;return(0,ae.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,ae.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[f&&(0,ae.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,ae.jsx)(fZ.ModelPicker,{provider:d.provider,model:d.model,unset:"Provider",onChange:e})}),u.length>0&&(0,ae.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:u.map(a=>(0,ae.jsx)(f4,{name:fA(a),input:a.input,state:a.state,errorText:"output-error"===a.state?a.errorText:void 0,known:p.current},a.toolCallId))}),y&&(0,ae.jsx)("p",{className:"max-w-full truncate px-1",children:y}),(0,ae.jsxs)("form",{onSubmit:a=>{a.preventDefault();let e=b.trim();e&&r&&!q&&(c(""),g(!1),n(),j([]),i({text:e},{body:{model:d}}))},className:"flex h-10 w-full items-center gap-1.5 rounded-xl bg-popover pr-1.5 pl-3.5 shadow-lg ring-1 ring-foreground/10",children:[(0,ae.jsx)("input",{value:b,onChange:a=>c(a.target.value),disabled:q,"aria-label":"Edit memory",placeholder:"Tell memory what changed",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-60"}),(0,ae.jsxs)(as.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>g(!f),className:(0,f0.cn)("max-w-44",!r&&"text-muted-foreground"),children:[r&&d.provider?(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(f$.ProviderIcon,{provider:d.provider,className:"size-3"}),(0,ae.jsx)("span",{className:"truncate",children:d.model})]}):"Model",(0,ae.jsx)(fU.ChevronDown,{className:"text-muted-foreground"})]}),(0,ae.jsx)(as.Button,{type:"submit",size:"icon-sm",loading:q,disabled:!b.trim()||!r||q,"aria-label":"Send",children:!q&&(0,ae.jsx)(fR.ArrowUp,{})})]})]})})}let f3={Remember:an.Plus,Replace:ak,Forget:fX,Rename:ak,Opened:fT};function f4({name:a,input:b,state:c,errorText:d,known:e}){let f=function(a,b,c){let d=b??{};if(a===f_.TOOL_NAMES.memory_recall)return{kind:"Opened",path:d.path??"",lines:[],carried:!1};if(a===f_.TOOL_NAMES.memory_forget){let a=(d.factIds??[]).filter(a=>null!=a),b=a.map(a=>c.get(a));return{kind:"Forget",path:b.find(a=>a)?.path??"",lines:a.map((a,c)=>({before:b[c]?.text??`Fact #${a}`})),carried:!1}}let e=(d.facts??[]).filter(a=>null!=a),f=e.map(a=>null!=a.replaces?{before:c.get(a.replaces)?.text??`Fact #${a.replaces}`,after:a.text}:{after:a.text});d.description&&f.push({after:`“${d.description}”`});let g=(d.aliases??[]).filter(Boolean);return g.length&&f.push({after:`Called ${g.map(a=>`“${a}”`).join(", ")}`}),{kind:e.some(a=>null!=a.replaces)?"Replace":e.length?"Remember":"Rename",path:d.path??"",lines:f,carried:e.some(a=>a.alwaysLoad)}}(a,b,e),g=f3[f.kind],h="output-error"===c;return(0,ae.jsxs)("li",{className:"flex animate-in items-start gap-2.5 px-3 py-2.5 duration-200 fade-in slide-in-from-bottom-1",children:[(0,ae.jsx)(g,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,ae.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[f.lines.map((a,b)=>(0,ae.jsxs)("div",{children:[a.before&&(0,ae.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:a.before}),a.after&&(0,ae.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:a.after})]},`${f.kind}-${b}`)),(0,ae.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[f.kind,f.path&&` \xb7 ${f.path}`,f.carried&&" · carried into every call"]}),h&&d&&(0,ae.jsx)("p",{className:"text-xs text-destructive",children:d})]}),(0,ae.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:h?(0,ae.jsx)(ap.X,{className:"size-3.5 text-destructive"}):"output-available"===c?(0,ae.jsx)(ah.Check,{className:"size-3.5"}):(0,ae.jsx)(fV.Loader2,{className:"size-3.5 animate-spin"})})]})}var f5=a.i(405050);let f6=(0,f5.createServerReference)("7f06c73f32c18b1c6787e1a4b23dc14b24ac95d0f1",f5.callServer,void 0,f5.findSourceMapURL,"addFactsAction"),f7=(0,f5.createServerReference)("7fda426845399b41a1db8ce6fca24f747318adf2a4",f5.callServer,void 0,f5.findSourceMapURL,"createNoteAction"),f8=(0,f5.createServerReference)("7f88021d061b659a138f8e06f02d551a7c99f93119",f5.callServer,void 0,f5.findSourceMapURL,"deleteNoteAction"),f9=(0,f5.createServerReference)("7f83cc86877f849a609fef9016c548e91581ca06ed",f5.callServer,void 0,f5.findSourceMapURL,"forgetFactAction"),ga=(0,f5.createServerReference)("7f6515ffe23e68549d43aa9311acadb0367741c247",f5.callServer,void 0,f5.findSourceMapURL,"reviseFactAction"),gb=(0,f5.createServerReference)("7f1ae95e4d265a0a7b1f05c1b0e26fa69fce71f8ab",f5.callServer,void 0,f5.findSourceMapURL,"setFactAlwaysLoadAction"),gc=(0,f5.createServerReference)("7f14e59fbd131887159867d74584f5ba0dd8d28b9c",f5.callServer,void 0,f5.findSourceMapURL,"updateNoteAction");var gd=a.i(156757),ge=a.i(199169);let gf=gd.z.enum(["user","call","bot"]),gg=a=>"user"===a?"you":"call"===a?"on a call":"bot"===a?"a bot":"",gh=gd.z.object({id:gd.z.number(),text:gd.z.string(),alwaysLoad:gd.z.boolean(),source:gf.nullish(),createdAt:ge.DateLikeSchema});gd.z.object({id:gd.z.number(),path:gd.z.string(),description:gd.z.string(),aliases:gd.z.string().array().nullish(),ownedByUser:gd.z.boolean(),hits:gd.z.number(),lastReadAt:ge.DateLikeSchema.nullable(),createdAt:ge.DateLikeSchema,updatedAt:ge.DateLikeSchema,factCount:gd.z.number(),facts:gh.array()});let gi=[{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"}],gj=gi.filter(a=>!a.path.endsWith("/")).map(a=>a.path),gk=gi.filter(a=>a.path.endsWith("/")).map(a=>a.path.slice(0,-1));RegExp(`^(?:${gj.join("|")}|(?:${gk.join("|")})/.+)$`);let gl=["profile","preferences"];function gm(a){let b=a.indexOf("/");return -1===b?a:a.slice(b+1)}function gn(a){let b,c,d;return b=a.path,!gl.includes(b)&&.15>(c=(0,ge.toDate)(a.lastReadAt??a.createdAt),d=Math.max(0,(Date.now()-c.getTime())/864e5),(a.hits+1)/(1+d))}var go=a.i(619477),gp=a.i(888396),gq=a.i(313237),gr=a.i(862966),gs=a.i(759497);let gt=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"other",label:"Other"}];function gu({note:a}){let b=a.facts.filter(a=>a.alwaysLoad).length;return(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsxs)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:[a.path," · ",a.hits," ",1===a.hits?"read":"reads"," ·"," ",a.lastReadAt?`last read ${(0,ag.formatDistanceToNowStrict)(a.lastReadAt,{addSuffix:!0})}`:"never read back"]}),b>0&&(0,ae.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[b," carried into every call"]})]})}function gv({note:a,active:b,onPick:c}){return(0,ae.jsxs)("button",{type:"button",onClick:c,className:(0,f0.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",b?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground",gn(a)&&!b&&"opacity-55"),children:[(0,ae.jsx)("span",{className:(0,f0.cn)("min-w-0 flex-1 truncate text-[13px]",b&&"font-medium"),children:gm(a.path)}),(0,ae.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:a.factCount})]})}function gw({note:a}){let[b,c]=(0,aq.useState)(!1),[d,e]=(0,aq.useState)(""),f={onOk:()=>(0,gs.revalidate)(ar.queryKey.memory)},[g]=(0,gq.useServerAction)(gc,f),[h]=(0,gq.useServerAction)(f6,f),[i]=(0,gq.useServerAction)(ga,f),[j]=(0,gq.useServerAction)(f9,f),[k]=(0,gq.useServerAction)(gb,f),[l,m]=(0,gq.useServerAction)(f8,f),n=async()=>{let b=d.split("\n").map(a=>a.trim()).filter(Boolean);0!==b.length&&(await h(a.id,b),e(""))},o=async()=>{await av.notify.confirm({title:`Forget ${a.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&l(a.id)};return(0,ae.jsxs)("div",{className:(0,f0.cn)("flex min-h-full flex-col",gn(a)&&"opacity-55"),children:[(0,ae.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-6 py-2.5",children:[(0,ae.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.path}),(0,ae.jsxs)("span",{className:"flex shrink-0 gap-1",children:[(0,ae.jsx)(as.Button,{size:"icon-sm",variant:b?"secondary":"ghost","aria-label":b?"Done editing":"Edit this note",onClick:()=>c(!b),children:b?(0,ae.jsx)(ah.Check,{}):(0,ae.jsx)(ak,{})}),(0,ae.jsx)(as.Button,{size:"icon-sm",variant:"ghost","aria-label":"Forget this note",loading:m,onClick:o,children:(0,ae.jsx)(ao.Trash2,{})})]})]}),(0,ae.jsxs)("div",{className:"flex-1 space-y-5 px-6 py-5",children:[(0,ae.jsxs)("div",{className:"space-y-1.5",children:[(0,ae.jsx)("p",{className:"text-xl font-semibold",children:gm(a.path)}),b?(0,ae.jsx)(gx,{text:a.description,onCommit:async b=>{await g(a.id,{description:b})}}):(0,ae.jsx)("p",{className:"text-[13px] leading-relaxed text-muted-foreground",children:a.description})]}),b?(0,ae.jsxs)("div",{className:"space-y-2",children:[a.facts.map(b=>(0,ae.jsx)(gy,{text:b.text,alwaysLoad:b.alwaysLoad,onRevise:async c=>{await i(a.id,b.id,c)},onCarry:async c=>{await k(a.id,b.id,c)},onForget:async()=>{await j(a.id,b.id)}},b.id)),(0,ae.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,ae.jsx)(ay.Textarea,{value:d,onChange:a=>e(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),n())},placeholder:"Add facts — one per line",className:"min-h-9 resize-none py-1.5 text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:"outline",disabled:!d.trim(),onClick:n,children:(0,ae.jsx)(an.Plus,{})})]})]}):0===a.facts.length?(0,ae.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Nothing saved here yet — the agent adds facts during calls"}):(0,ae.jsx)("ul",{className:"divide-y divide-border/60 border-y border-border/60",children:a.facts.map(a=>(0,ae.jsxs)("li",{className:"flex gap-3 py-3",children:[(0,ae.jsx)("span",{className:"flex w-3.5 shrink-0 justify-center pt-1",children:a.alwaysLoad?(0,ae.jsx)(am,{className:"size-3 text-foreground"}):(0,ae.jsx)("span",{className:"text-muted-foreground/50",children:"—"})}),(0,ae.jsx)("span",{className:"flex-1 text-sm leading-relaxed text-foreground/90",children:a.text}),(0,ae.jsxs)("span",{className:"shrink-0 pt-0.5 text-right text-[11px] text-muted-foreground/50",children:[(0,ae.jsx)("span",{className:"block font-mono",children:(0,af.format)(a.createdAt,"yyyy.MM.dd")}),gg(a.source)&&(0,ae.jsx)("span",{className:"block",children:gg(a.source)})]})]},a.id))})]})]})}function gx({text:a,onCommit:b}){let c=(0,gp.useDraft)(a,b);return(0,ae.jsx)(au.Input,{value:c.value,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,placeholder:"One-line summary",className:"text-sm text-muted-foreground"})}function gy({text:a,alwaysLoad:b,onRevise:c,onCarry:d,onForget:e}){let f=(0,gp.useDraft)(a,c);return(0,ae.jsxs)("div",{className:"flex gap-2",children:[(0,ae.jsx)(au.Input,{value:f.value,onChange:a=>f.set(a.target.value),onBlur:f.commit,onKeyDown:f.onKeyDown,className:"text-sm"}),(0,ae.jsx)(as.Button,{size:"icon",variant:b?"secondary":"ghost","aria-label":b?"Stop carrying into calls":"Carry into every call",title:"Carried into every call, without opening this note",onClick:()=>d(!b),children:(0,ae.jsx)(am,{className:(0,f0.cn)(!b&&"text-muted-foreground/60")})}),(0,ae.jsx)(as.Button,{size:"icon",variant:"ghost",onClick:e,children:(0,ae.jsx)(ap.X,{})})]})}let gz=[{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 gA(){return av.notify.component({className:"sm:max-w-lg",renderer:({close:a})=>(0,ae.jsx)(gB,{onDone:a})})}function gB({onDone:a}){let[b,c]=(0,aq.useState)("people"),[d,e]=(0,aq.useState)(""),[f,g]=(0,aq.useState)(""),[h,i]=(0,aq.useState)(""),[j,k,,l]=(0,gq.useServerAction)(f7,{errorMessage:!1,onOk:()=>{(0,gs.revalidate)(ar.queryKey.memory),a()}}),m=gz.find(a=>a.key===b),n=d.trim()&&f.trim()&&!k,o=()=>{n&&j(`${b}/${d.trim()}`,f.trim(),h.split("\n").map(a=>a.trim()).filter(Boolean))};return(0,ae.jsxs)(go.SettingDialogContent,{title:"New note",description:"Where the agent files what it learns about this subject.",footer:(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsx)(as.Button,{variant:"ghost",onClick:a,children:"Cancel"}),(0,ae.jsxs)(as.Button,{disabled:!n,loading:k,onClick:o,children:[!k&&(0,ae.jsx)(an.Plus,{}),"Create"]})]}),children:[(0,ae.jsxs)("div",{className:"space-y-6",children:[(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{children:"Kind"}),(0,ae.jsx)(ax.Tabs,{value:b,onValueChange:a=>c(a),children:(0,ae.jsx)(ax.TabsList,{className:"w-full",children:gz.map(a=>(0,ae.jsx)(ax.TabsTrigger,{value:a.key,children:a.label},a.key))})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,ae.jsxs)(at.FieldContent,{children:[(0,ae.jsx)(au.Input,{id:"note-name",value:d,onChange:a=>e(a.target.value),placeholder:m?.placeholder,spellCheck:!1,required:!0}),(0,ae.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[b,"/",d.trim()||"…"]})]})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,ae.jsx)(at.FieldContent,{children:(0,ae.jsx)(au.Input,{id:"note-summary",value:f,onChange:a=>g(a.target.value),onKeyDown:a=>"Enter"===a.key&&o(),placeholder:"One line the agent sees in its note list",required:!0})})]}),(0,ae.jsxs)(at.Field,{children:[(0,ae.jsx)(at.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,ae.jsx)(ay.Textarea,{id:"note-facts",value:h,onChange:a=>i(a.target.value),placeholder:`One per line
38
+ ${m?.fact??""}`,className:"min-h-24 resize-none text-sm"})]})]}),l&&(0,ae.jsx)("p",{className:"font-mono text-xs text-destructive",children:l})]})}a.s(["MemorySetting",0,function(){let{items:a,isLoading:b,isLoadingMore:c,error:d,hasMore:e,sentinelRef:f}=(0,gr.useServerPages)({key:a=>ar.queryKey.memoryPage(a*az.PAGE_SIZE)}),[g,h]=(0,aq.useState)(null),i=a.find(a=>a.id===g)??a[0]??null;return b?(0,ae.jsx)(go.SettingPanesSkeleton,{}):d?(0,ae.jsx)(go.SettingError,{message:d.message}):(0,ae.jsxs)("div",{className:"relative h-full min-h-0",children:[(0,ae.jsx)(go.SettingPanes,{footer:i&&(0,ae.jsx)(gu,{note:i}),left:(0,ae.jsxs)("div",{className:"flex flex-col py-2",children:[(0,ae.jsxs)("button",{type:"button",onClick:gA,className:"mx-2 mb-1 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,ae.jsx)(an.Plus,{className:"size-3.5 shrink-0"}),"New note"]}),gt.map(({key:b,label:c})=>{let d=a.filter(a=>(function(a){if("profile"===a||"preferences"===a)return"you";let b=a.slice(0,a.indexOf("/"));return gk.includes(b)?b:"other"})(a.path)===b);return 0===d.length?null:(0,ae.jsxs)(aq.Fragment,{children:[(0,ae.jsx)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:c}),d.map(a=>(0,ae.jsx)(gv,{note:a,active:a.id===i?.id,onPick:()=>h(a.id)},a.id))]},b)}),(0,ae.jsx)(go.SettingMore,{hasMore:e,loading:c,sentinelRef:f,count:3,ghost:(0,ae.jsxs)("div",{className:"mx-2 flex items-center gap-2 px-2 py-2",children:[(0,ae.jsx)(aw.Skeleton,{className:"h-3 w-28"}),(0,ae.jsx)("span",{className:"flex-1"}),(0,ae.jsx)(aw.Skeleton,{className:"h-2.5 w-2.5"})]})})]}),right:i?(0,ae.jsx)(gw,{note:i},i.id):(0,ae.jsxs)("div",{className:"space-y-4 p-8",children:[(0,ae.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"During calls Thursday saves what it picks up — that a teammate moved teams, that you take meetings in the morning — and reads it back before answering. File the first note yourself and it starts the next call already knowing something."}),(0,ae.jsxs)(as.Button,{variant:"outline",onClick:gA,children:[(0,ae.jsx)(an.Plus,{}),"Add note"]})]})}),(0,ae.jsx)(f2,{notes:a})]})},"openMemoryCreate",0,gA],857022)},951991,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={SYMBOL_FOR_REQ_CONTEXT:()=>k,getContext:()=>l};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);let k=Symbol.for("@vercel/request-context");function l(){let a=globalThis;return a[k]?.get?.()??{}}},599708,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={getVercelOidcToken:()=>m,getVercelOidcTokenSync:()=>n};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(951991),l=a.r(325279);async function m(b){let c,d="";try{d=n()}catch(a){c=a}try{let[{getTokenPayload:c,isExpired:e},{refreshToken:f}]=await Promise.all([await a.A(72597),await a.A(628472)]);(!d||e(c(d),b?.expirationBufferMs))&&(await f(b),d=n())}catch(b){let a=c instanceof Error?c.message:"";if(b instanceof Error&&(a=`${a}
39
39
  ${b.message}`),a)throw new l.VercelOidcTokenError(a);throw b}return d}function n(){let a=(0,k.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!a)throw Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return a}},327673,(a,b,c)=>{"use strict";var d=Object.defineProperty,e=Object.getOwnPropertyDescriptor,f=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,h={},i={AccessTokenMissingError:()=>m.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>m.RefreshAccessTokenFailedError,getContext:()=>l.getContext,getVercelOidcToken:()=>k.getVercelOidcToken,getVercelOidcTokenSync:()=>k.getVercelOidcTokenSync,getVercelToken:()=>n.getVercelToken};for(var j in i)d(h,j,{get:i[j],enumerable:!0});b.exports=((a,b,c)=>{if(b&&"object"==typeof b||"function"==typeof b)for(let h of f(b))g.call(a,h)||void 0===h||d(a,h,{get:()=>b[h],enumerable:!(c=e(b,h))||c.enumerable});return a})(d({},"__esModule",{value:!0}),h);var k=a.r(599708),l=a.r(951991),m=a.r(69845),n=a.r(809750)},313350,(a,b,c)=>{b.exports=function(a,b){let c;if("function"!=typeof a)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof a}\`.`);let d=0;return function(...e){clearTimeout(c);let f=Date.now(),g=b-(f-d);g<=0?(d=f,a.apply(this,e)):c=setTimeout(()=>{d=Date.now(),a.apply(this,e)},g)}}}];
40
40
 
41
41
  //# sourceMappingURL=_0i_6q1w._.js.map