thursday-agent 0.2.0 → 0.4.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 (541) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -2
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +5 -5
  5. package/.next/routes-manifest.json +24 -6
  6. package/.next/server/app/_global-error/page.js +2 -2
  7. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +2 -2
  11. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page.js +2 -2
  15. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +14 -14
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
  21. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/.next/server/app/api/artifact/route.js +3 -3
  23. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/memory/files/route/app-paths-manifest.json +3 -0
  25. package/.next/server/app/api/bot/memory/files/route.js +10 -0
  26. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -0
  27. package/.next/server/app/api/bot/memory/files/route_client-reference-manifest.js +3 -0
  28. package/.next/server/app/api/bot/memory/route/app-paths-manifest.json +3 -0
  29. package/.next/server/app/api/bot/memory/route.js +14 -0
  30. package/.next/server/app/api/bot/{notes → memory}/route.js.nft.json +1 -1
  31. package/.next/server/app/api/bot/memory/route_client-reference-manifest.js +3 -0
  32. package/.next/server/app/api/bot/route.js +6 -6
  33. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  34. package/.next/server/app/api/bot/task/[id]/route.js +8 -8
  35. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  36. package/.next/server/app/api/bot/task/route.js +8 -8
  37. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  38. package/.next/server/app/api/config/route.js +5 -5
  39. package/.next/server/app/api/config/route.js.nft.json +1 -1
  40. package/.next/server/app/api/events/route.js +4 -5
  41. package/.next/server/app/api/events/route.js.nft.json +1 -1
  42. package/.next/server/app/api/file/[...path]/route.js +3 -3
  43. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/catalog/route.js +9 -8
  45. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  46. package/.next/server/app/api/llm-model/credits/route/app-paths-manifest.json +3 -0
  47. package/.next/server/app/api/llm-model/credits/route/build-manifest.json +12 -0
  48. package/.next/server/app/api/llm-model/credits/route/server-reference-manifest.json +4 -0
  49. package/.next/server/app/api/llm-model/credits/route.js +16 -0
  50. package/.next/server/app/api/llm-model/credits/route.js.map +5 -0
  51. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -0
  52. package/.next/server/app/api/llm-model/credits/route_client-reference-manifest.js +3 -0
  53. package/.next/server/app/api/llm-model/route.js +10 -8
  54. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  55. package/.next/server/app/api/llm-model/subscription/route/app-paths-manifest.json +3 -0
  56. package/.next/server/app/api/llm-model/subscription/route/build-manifest.json +12 -0
  57. package/.next/server/app/api/llm-model/subscription/route/server-reference-manifest.json +4 -0
  58. package/.next/server/app/api/llm-model/subscription/route.js +15 -0
  59. package/.next/server/app/api/llm-model/subscription/route.js.map +5 -0
  60. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -0
  61. package/.next/server/app/api/llm-model/subscription/route_client-reference-manifest.js +3 -0
  62. package/.next/server/app/api/mcp/[name]/route.js +4 -4
  63. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/mcp/oauth/callback/route.js +5 -5
  65. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  66. package/.next/server/app/api/mcp/route.js +4 -4
  67. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  68. package/.next/server/app/api/mcp/tools/route.js +4 -4
  69. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  70. package/.next/server/app/api/memory/edit/route/app-paths-manifest.json +3 -0
  71. package/.next/server/app/api/memory/edit/route/build-manifest.json +12 -0
  72. package/.next/server/app/api/memory/edit/route/server-reference-manifest.json +4 -0
  73. package/.next/server/app/api/memory/edit/route.js +24 -0
  74. package/.next/server/app/api/memory/edit/route.js.map +5 -0
  75. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -0
  76. package/.next/server/app/api/memory/{tidy → edit}/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/memory/route.js +6 -7
  78. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  79. package/.next/server/app/api/skills/[source]/[name]/route.js +3 -3
  80. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  81. package/.next/server/app/api/skills/route.js +3 -3
  82. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  83. package/.next/server/app/api/thursday/call/route.js +9 -7
  84. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  85. package/.next/server/app/api/thursday/skills/route.js +9 -7
  86. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  87. package/.next/server/app/api/thursday/tool-call/route.js +17 -15
  88. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  89. package/.next/server/app/api/workspace/route.js +4 -5
  90. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  91. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  92. package/.next/server/app/artifact/[...path]/page.js +5 -6
  93. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  94. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/favicon.ico/route.js +3 -4
  96. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  97. package/.next/server/app/favicon.ico.body +0 -0
  98. package/.next/server/app/page/server-reference-manifest.json +57 -90
  99. package/.next/server/app/page.js +10 -10
  100. package/.next/server/app/page.js.nft.json +1 -1
  101. package/.next/server/app/page_client-reference-manifest.js +1 -1
  102. package/.next/server/app-paths-manifest.json +5 -2
  103. package/.next/server/chunks/[externals]__0dzuk6_._.js +3 -0
  104. package/.next/server/chunks/[root-of-the-server]__01dkp4a._.js +3 -0
  105. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +1 -1
  106. package/.next/server/chunks/[root-of-the-server]__02xjoto._.js +3 -0
  107. package/.next/server/chunks/[root-of-the-server]__04q--0f._.js +8 -0
  108. package/.next/server/chunks/[root-of-the-server]__0bl-e63._.js +3 -0
  109. package/.next/server/chunks/[root-of-the-server]__0ce8nf8._.js +5 -0
  110. package/.next/server/chunks/[root-of-the-server]__0ffbg85._.js +3 -0
  111. package/.next/server/chunks/[root-of-the-server]__0j7z0r3._.js +12 -0
  112. package/.next/server/chunks/[root-of-the-server]__0jq4ohy._.js +8 -0
  113. package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +8 -0
  114. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +3 -0
  115. package/.next/server/chunks/[root-of-the-server]__0pa2n68._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__0q0vvt2._.js +5 -0
  117. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +5 -0
  118. package/.next/server/chunks/[root-of-the-server]__11n256_._.js +5 -0
  119. package/.next/server/chunks/[root-of-the-server]__12cabg9._.js +3 -0
  120. package/.next/server/chunks/[root-of-the-server]__1339jnv._.js +8 -0
  121. package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js +5 -0
  122. package/.next/server/chunks/[root-of-the-server]__18_teo8._.js +8 -0
  123. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +5 -0
  124. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +3 -0
  125. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +5 -5
  126. package/.next/server/chunks/[root-of-the-server]__1fizn31._.js +3 -0
  127. package/.next/server/chunks/[root-of-the-server]__1llj3-b._.js +3 -0
  128. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +12 -0
  129. package/.next/server/chunks/[root-of-the-server]__1p8m3f4._.js +3 -0
  130. package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +8 -0
  131. package/.next/server/chunks/_0-73of8._.js +5 -5
  132. package/.next/server/chunks/_0-fjql4._.js +26 -0
  133. package/.next/server/chunks/_00xh_q0._.js +25 -0
  134. package/.next/server/chunks/_051qh8u._.js +3 -0
  135. package/.next/server/chunks/{node_modules_next_04q-o58._.js → _05dla15._.js} +2 -2
  136. package/.next/server/chunks/_05h2cii._.js +1 -1
  137. package/.next/server/chunks/_0c9j6rb._.js +49 -0
  138. package/.next/server/chunks/_0fzqt2y._.js +134 -0
  139. package/.next/server/chunks/{_0vnutv9._.js → _0ioz3nd._.js} +1 -1
  140. package/.next/server/chunks/_0iwfby5._.js +3 -0
  141. package/.next/server/chunks/_0mecv0f._.js +26 -0
  142. package/.next/server/chunks/_0mh8j4m._.js +3 -0
  143. package/.next/server/chunks/_0n74zsf._.js +4 -4
  144. package/.next/server/chunks/_0obojvv._.js +3 -0
  145. package/.next/server/chunks/_0recufk._.js +49 -0
  146. package/.next/server/chunks/_0rnf-6n._.js +4 -4
  147. package/.next/server/chunks/_0sb7tlz._.js +3 -0
  148. package/.next/server/chunks/_0u10wmw._.js +5 -5
  149. package/.next/server/chunks/_0u4aiy2._.js +3 -0
  150. package/.next/server/chunks/_0wp4le3._.js +1 -1
  151. package/.next/server/chunks/_0y5fg-x._.js +1 -1
  152. package/.next/server/chunks/_1230wbx._.js +10 -0
  153. package/.next/server/chunks/_12nheja._.js +3 -0
  154. package/.next/server/chunks/_13510xh._.js +3 -0
  155. package/.next/server/chunks/_15hq89o._.js +1 -1
  156. package/.next/server/chunks/_17l5ygt._.js +49 -0
  157. package/.next/server/chunks/_18-1wcc._.js +5 -5
  158. package/.next/server/chunks/_1_5mnq4._.js +4 -4
  159. package/.next/server/chunks/_1_9mjx-._.js +3 -0
  160. package/.next/server/chunks/{_0pppbb5._.js → _1c78vw5._.js} +166 -37
  161. package/.next/server/chunks/_1d0j961._.js +6 -0
  162. package/.next/server/chunks/_1d5zmy8._.js +1 -1
  163. package/.next/server/chunks/_1drgfx4._.js +4 -4
  164. package/.next/server/chunks/_1f46eie._.js +3 -0
  165. package/.next/server/chunks/_1h5_8sk._.js +3 -0
  166. package/.next/server/chunks/_1hdnxb7._.js +3 -0
  167. package/.next/server/chunks/_1j8k_j5._.js +3 -0
  168. package/.next/server/chunks/_1krd9rf._.js +3 -0
  169. package/.next/server/chunks/_1nc0eui._.js +11 -0
  170. package/.next/server/chunks/_1nula3v._.js +3 -0
  171. package/.next/server/chunks/_1pf4qe-._.js +3 -0
  172. package/.next/server/chunks/_1php4eq._.js +1 -1
  173. package/.next/server/chunks/_1qxheoa._.js +3 -0
  174. package/.next/server/chunks/_1x6kd1r._.js +3 -0
  175. package/.next/server/chunks/_1yuv4vp._.js +1 -1
  176. package/.next/server/chunks/_1zjrdag._.js +3 -0
  177. package/.next/server/chunks/_next-internal_server_app_api_bot_memory_files_route_actions_1_xd_8f.js +3 -0
  178. package/.next/server/chunks/_next-internal_server_app_api_bot_memory_route_actions_1a8xfr7.js +3 -0
  179. package/.next/server/chunks/_next-internal_server_app_api_llm-model_credits_route_actions_0v424pb.js +3 -0
  180. package/.next/server/chunks/_next-internal_server_app_api_llm-model_subscription_route_actions_0-udcm5.js +3 -0
  181. package/.next/server/chunks/_next-internal_server_app_api_memory_edit_route_actions_02sfnmr.js +3 -0
  182. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  183. package/.next/server/chunks/features_0rpfxbk._.js +3 -0
  184. package/.next/server/chunks/features_1qf3cei._.js +3 -0
  185. package/.next/server/chunks/features_bot_0zt92oh._.js +3 -0
  186. package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +3 -0
  187. package/.next/server/chunks/features_memory_1uqvksn._.js +6 -0
  188. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0a1rd09._.js → node_modules_consola_dist_chunks_prompt_mjs_0i7cvml._.js} +1 -1
  189. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_06067w6._.js → node_modules_consola_dist_chunks_prompt_mjs_0icqaqw._.js} +1 -1
  190. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_096ais_._.js → node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js} +1 -1
  191. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_02s3hjt._.js → node_modules_consola_dist_chunks_prompt_mjs_0v_7drq._.js} +1 -1
  192. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js +3 -0
  193. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0tvkfgh._.js → node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js} +1 -1
  194. package/.next/server/chunks/ssr/[root-of-the-server]__092knlj._.js +3 -0
  195. package/.next/server/chunks/ssr/[root-of-the-server]__09q9med._.js +1 -1
  196. package/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js +1 -1
  197. package/.next/server/chunks/ssr/[root-of-the-server]__0i8ie7f._.js +3 -0
  198. package/.next/server/chunks/ssr/{[root-of-the-server]__0jsmmb-._.js → [root-of-the-server]__0mz33a7._.js} +1 -1
  199. package/.next/server/chunks/ssr/[root-of-the-server]__0s9dq5u._.js +3 -0
  200. package/.next/server/chunks/ssr/{[root-of-the-server]__0m1b5ky._.js → [root-of-the-server]__0s9l2sv._.js} +1 -1
  201. package/.next/server/chunks/ssr/[root-of-the-server]__0tbkdlx._.js +3 -0
  202. package/.next/server/chunks/ssr/[root-of-the-server]__0vnmv-s._.js +3 -0
  203. package/.next/server/chunks/ssr/{[root-of-the-server]__0f6s48x._.js → [root-of-the-server]__0xpcv9w._.js} +3 -3
  204. package/.next/server/chunks/ssr/[root-of-the-server]__0xsog8n._.js +3 -0
  205. package/.next/server/chunks/ssr/[root-of-the-server]__0xtssj3._.js +1 -1
  206. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +61 -0
  207. package/.next/server/chunks/ssr/[root-of-the-server]__15_uhip._.js +3 -0
  208. package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
  209. package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +43 -0
  210. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  211. package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +4 -0
  212. package/.next/server/chunks/ssr/{[root-of-the-server]__1qfqvmg._.js → [root-of-the-server]__202p40z._.js} +2 -2
  213. package/.next/server/chunks/ssr/{_1mznrxk._.js → _001_ms1._.js} +3 -3
  214. package/.next/server/chunks/ssr/_01n3o0m._.js +3 -0
  215. package/.next/server/chunks/ssr/_0ap2fzn._.js +3 -0
  216. package/.next/server/chunks/ssr/_0fz4mf_._.js +3 -0
  217. package/.next/server/chunks/ssr/_0gb4gmf._.js +3 -0
  218. package/.next/server/chunks/ssr/_0h42fze._.js +3 -0
  219. package/.next/server/chunks/ssr/_0h7zdni._.js +1 -1
  220. package/.next/server/chunks/ssr/_0i_6q1w._.js +41 -0
  221. package/.next/server/chunks/ssr/_0ilna52._.js +42 -0
  222. package/.next/server/chunks/ssr/_0n3toaw._.js +3 -0
  223. package/.next/server/chunks/ssr/{_13punpm._.js → _0q0zan6._.js} +2 -2
  224. package/.next/server/chunks/ssr/{_077-g6s._.js → _0s99bgb._.js} +3 -3
  225. package/.next/server/chunks/ssr/_0zcjrbg._.js +3 -0
  226. package/.next/server/chunks/ssr/_0zhoc3r._.js +3 -0
  227. package/.next/server/chunks/ssr/{_1lip4th._.js → _1-_etts._.js} +2 -2
  228. package/.next/server/chunks/ssr/_1-teee5._.js +3 -3
  229. package/.next/server/chunks/ssr/_13fke0x._.js +3 -0
  230. package/.next/server/chunks/ssr/_15j2_8f._.js +3 -0
  231. package/.next/server/chunks/ssr/_1b2mjwr._.js +3 -0
  232. package/.next/server/chunks/ssr/{_09ja_w1._.js → _1f-dg-6._.js} +2 -2
  233. package/.next/server/chunks/ssr/_1fojd41._.js +4 -0
  234. package/.next/server/chunks/ssr/_1gd8q8l._.js +3 -0
  235. package/.next/server/chunks/ssr/{_1m3bsfr._.js → _1h0rw11._.js} +2 -2
  236. package/.next/server/chunks/ssr/_1jhd09t._.js +3 -0
  237. package/.next/server/chunks/ssr/{_040sk32._.js → _1lz_cq2._.js} +84 -88
  238. package/.next/server/chunks/ssr/_1nnsk7z._.js +3 -0
  239. package/.next/server/chunks/ssr/_1sji22n._.js +3 -0
  240. package/.next/server/chunks/ssr/{_0x_nu5e._.js → _1vi_uo7._.js} +2 -2
  241. package/.next/server/chunks/ssr/_1vyd1ji._.js +1 -1
  242. package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +3 -0
  243. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  244. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_0kxz4gt._.js → node_modules_00etblx._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_18_dk7_._.js → node_modules_04jf_m8._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_0_n241r._.js → node_modules_08dhkiq._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_0n1kj4p._.js → node_modules_0940ns5._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_17lrt3y._.js → node_modules_09q35v_._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_1toafc-._.js → node_modules_0_-_a--._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_0lrjk5t._.js → node_modules_0arus10._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_04n7mjs._.js → node_modules_0b__sgl._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_0iz1rzd._.js → node_modules_0cxaxk9._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_0ndvxub._.js → node_modules_0g7fzk3._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_0kl7-tn._.js → node_modules_0had7xd._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_19dp7ko._.js → node_modules_0pvd7q-._.js} +1 -1
  257. package/.next/server/chunks/ssr/node_modules_0x3-ply._.js +3 -0
  258. package/.next/server/chunks/ssr/{node_modules_1dwguw_._.js → node_modules_0yugy6m._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_004qlr4._.js → node_modules_14om4ar._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_1q0p85z._.js → node_modules_14q6g4n._.js} +1 -1
  261. package/.next/server/chunks/ssr/node_modules_17bwo43._.js +55 -0
  262. package/.next/server/chunks/ssr/{node_modules_1hd-5tv._.js → node_modules_198nmll._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_0m93zeg._.js → node_modules_1_pc9kq._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_1n5ygqe._.js → node_modules_1aaxuef._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_01qnv-a._.js → node_modules_1cx_ql6._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_1zu988w._.js → node_modules_1cz2hle._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_1xyd7ov._.js → node_modules_1efrqxi._.js} +1 -1
  268. package/.next/server/chunks/ssr/{node_modules_13r44jq._.js → node_modules_1eg7m6c._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_08d8bke._.js → node_modules_1gdh31p._.js} +1 -1
  270. package/.next/server/chunks/ssr/{node_modules_1hn8z1f._.js → node_modules_1hpopmo._.js} +1 -1
  271. package/.next/server/chunks/ssr/{node_modules_20yebtj._.js → node_modules_1qpjvy5._.js} +1 -1
  272. package/.next/server/chunks/ssr/{node_modules_09xhur7._.js → node_modules_1vh5ntv._.js} +1 -1
  273. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m9a4y0._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b748ic._.js} +1 -1
  274. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_13w_wy9._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1z4hm5e._.js} +1 -1
  275. package/.next/server/chunks/ssr/node_modules_@vercel_oidc_dist_06mk8id._.js +3 -0
  276. package/.next/server/chunks/ssr/{node_modules_next_dist_0w6mzq5._.js → node_modules_next_dist_0drixxt._.js} +4 -4
  277. package/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +2 -2
  278. package/.next/server/instrumentation.js +1 -1
  279. package/.next/server/middleware-build-manifest.js +3 -3
  280. package/.next/server/pages/404.html +1 -1
  281. package/.next/server/pages/500.html +1 -1
  282. package/.next/server/server-reference-manifest.js +1 -1
  283. package/.next/server/server-reference-manifest.json +58 -91
  284. package/.next/static/chunks/00rd4-v8r7axp.js +1 -0
  285. package/.next/static/chunks/08qe4as2q428z.js +3 -0
  286. package/.next/static/chunks/{31ttnjt6g35a0.js → 0ev4hyghq0mbb.js} +1 -1
  287. package/.next/static/chunks/0fl3gwe4-l6tz.js +1 -0
  288. package/.next/static/chunks/0gnqdjn2lvdad.js +2 -0
  289. package/.next/static/chunks/0hwap1-p0m5sa.js +1 -0
  290. package/.next/static/chunks/0r5qcctujhxli.js +1 -0
  291. package/.next/static/chunks/0w52rrrmuj9r9.js +1 -0
  292. package/.next/static/chunks/{07kl352c-lvcz.js → 0wcprt5ot5she.js} +1 -1
  293. package/.next/static/chunks/10teww7wt-f6h.js +1 -0
  294. package/.next/static/chunks/15m575979un5f.js +38 -0
  295. package/.next/static/chunks/17p6tk6k88dq6.js +1 -0
  296. package/.next/static/chunks/{3_h9txt3tq8t8.js → 1dkjg87pxk0n9.js} +1 -1
  297. package/.next/static/chunks/1jd09sxcjddu1.js +1 -0
  298. package/.next/static/chunks/1kq8h8wi_e0bc.js +53 -0
  299. package/.next/static/chunks/{18vhba44l1fc9.js → 1w73ece_6bheu.js} +1 -1
  300. package/.next/static/chunks/{3ard_noqapnw1.js → 214ya3n5gxeih.js} +1 -1
  301. package/.next/static/chunks/22_zkas21rpna.js +1 -0
  302. package/.next/static/chunks/2h0sd2vumhb15.js +1 -0
  303. package/.next/static/chunks/2t4vhi3m8ahya.js +1 -0
  304. package/.next/static/chunks/2tigdtz3dpcy8.js +1 -0
  305. package/.next/static/chunks/2u7xt6mxg44lf.js +1 -0
  306. package/.next/static/chunks/39j0fvpybzabl.js +40 -0
  307. package/.next/static/chunks/3akmqm77muj4-.js +1 -0
  308. package/.next/static/chunks/3cq5g494yuke8.css +1 -0
  309. package/.next/static/chunks/3woj-xd7ki5_i.js +1 -0
  310. package/.next/static/chunks/3xk7yqgomx7yq.js +1 -0
  311. package/.next/static/chunks/3zmcsnuo25zvq.js +1 -0
  312. package/.next/static/media/favicon.37o1pjldwi2uc.ico +0 -0
  313. package/README.md +47 -22
  314. package/app/api/bot/memory/files/route.ts +14 -0
  315. package/app/api/bot/memory/route.ts +5 -0
  316. package/app/api/events/app-event.ts +3 -7
  317. package/app/api/llm-model/credits/route.ts +11 -0
  318. package/app/api/llm-model/route.ts +6 -1
  319. package/app/api/llm-model/subscription/route.ts +11 -0
  320. package/app/api/memory/edit/route.ts +7 -0
  321. package/app/api/memory/route.ts +21 -0
  322. package/app/api/query-key.ts +19 -4
  323. package/bin/port.mjs +65 -0
  324. package/bin/thursday.mjs +5 -33
  325. package/components/ui/shiny-text.tsx +48 -134
  326. package/database/migrations/{20260909060813_optimal_sabretooth → 20260910173049_numerous_spirit}/migration.sql +24 -34
  327. package/database/migrations/{20260909060813_optimal_sabretooth → 20260910173049_numerous_spirit}/snapshot.json +71 -145
  328. package/database/migrations/20260911030320_opposite_jack_power/migration.sql +1 -0
  329. package/database/migrations/{20260909063821_bitter_tenebrous → 20260911030320_opposite_jack_power}/snapshot.json +57 -184
  330. package/docs/how-it-works.md +11 -7
  331. package/docs/images/face-dark.png +0 -0
  332. package/docs/images/face-light.png +0 -0
  333. package/docs/images/keeps-going.png +0 -0
  334. package/features/ai/chatgpt.ts +639 -0
  335. package/features/ai/components/chatgpt-sign-in.tsx +66 -0
  336. package/features/ai/components/model-picker.tsx +17 -1
  337. package/features/ai/components/provider-icon.tsx +1 -0
  338. package/features/ai/load-tools.ts +78 -56
  339. package/features/ai/model.schema.ts +232 -34
  340. package/features/ai/model.ts +169 -24
  341. package/features/ai/prompts/bot.prompt.ts +207 -114
  342. package/features/ai/prompts/memory-edit.prompt.ts +33 -0
  343. package/features/ai/prompts/prompt-helper.ts +45 -26
  344. package/features/ai/prompts/thursday.prompt.ts +57 -27
  345. package/features/ai/tools/bot.tool.ts +35 -52
  346. package/features/ai/tools/connected.ts +17 -4
  347. package/features/ai/tools/memory.tool.ts +181 -117
  348. package/features/ai/tools/search.tool.ts +136 -47
  349. package/features/ai/tools/tool-name.ts +2 -6
  350. package/features/ai/tools/workspace.tool.ts +5 -1
  351. package/features/bot/bot.action.ts +14 -19
  352. package/features/bot/bot.memory.ts +89 -0
  353. package/features/bot/bot.query.ts +37 -57
  354. package/features/bot/bot.run.ts +512 -242
  355. package/features/bot/bot.runner.ts +434 -120
  356. package/features/bot/bot.schema.ts +104 -19
  357. package/features/bot/bot.seed.ts +89 -16
  358. package/features/bot/components/bot-mark.tsx +122 -20
  359. package/features/bot/components/bot-room.tsx +214 -132
  360. package/features/bot/components/bot-setting.tsx +790 -402
  361. package/features/bot/components/bot-tool.tsx +2 -7
  362. package/features/bot/components/mark-palette.tsx +54 -0
  363. package/features/bot/components/path-chips.tsx +1 -1
  364. package/features/bot/components/task-badge.tsx +26 -6
  365. package/features/bot/components/task-reply.tsx +22 -33
  366. package/features/bot/components/task-setting.tsx +20 -17
  367. package/features/bot/task.query.ts +240 -34
  368. package/features/bot/task.store.ts +76 -13
  369. package/features/config/components/config-setting.tsx +265 -34
  370. package/features/config/components/models-badge.tsx +42 -0
  371. package/features/config/config.action.ts +12 -0
  372. package/features/config/config.const.ts +38 -2
  373. package/features/connectors/mcp.manager.ts +10 -2
  374. package/features/intro/components/intro.tsx +47 -46
  375. package/features/memory/components/memory-edit.tsx +340 -0
  376. package/features/memory/components/memory-setting.tsx +75 -77
  377. package/features/memory/memory.action.ts +3 -43
  378. package/features/memory/memory.edit.ts +87 -0
  379. package/features/memory/memory.query.ts +24 -42
  380. package/features/memory/memory.schema.ts +29 -106
  381. package/features/settings/components/settings.tsx +2 -0
  382. package/features/settings/settings.alert.ts +3 -1
  383. package/features/thursday/components/ascii-orb.tsx +106 -90
  384. package/features/thursday/components/boot.tsx +7 -0
  385. package/features/thursday/components/call-log.tsx +219 -92
  386. package/features/thursday/components/face.tsx +6 -4
  387. package/features/thursday/components/tab-state.tsx +97 -0
  388. package/features/thursday/components/thursday-mark.tsx +4 -1
  389. package/features/thursday/components/thursday-setting.tsx +17 -47
  390. package/features/thursday/components/thursday.tsx +208 -98
  391. package/features/thursday/thursday.action.ts +12 -17
  392. package/features/thursday/thursday.query.ts +61 -70
  393. package/features/thursday/thursday.schema.ts +20 -7
  394. package/features/thursday/tool-line.ts +85 -12
  395. package/features/thursday/use-thursday.ts +87 -60
  396. package/features/workspace/components/file-view.tsx +4 -2
  397. package/features/workspace/workspace.ts +110 -26
  398. package/lib/limits.ts +1 -1
  399. package/lib/oauth-page.ts +27 -0
  400. package/lib/realtime/openai.ts +2 -2
  401. package/lib/realtime/realtime.protocol.ts +1 -1
  402. package/lib/realtime/realtime.tap.ts +122 -0
  403. package/lib/sandbox.ts +59 -36
  404. package/package.json +1 -1
  405. package/skills/browser/SKILL.md +55 -34
  406. package/.next/server/app/api/bot/notes/route/app-paths-manifest.json +0 -3
  407. package/.next/server/app/api/bot/notes/route.js +0 -14
  408. package/.next/server/app/api/bot/notes/route_client-reference-manifest.js +0 -3
  409. package/.next/server/app/api/memory/tidy/route/app-paths-manifest.json +0 -3
  410. package/.next/server/app/api/memory/tidy/route.js +0 -22
  411. package/.next/server/app/api/memory/tidy/route.js.nft.json +0 -1
  412. package/.next/server/chunks/0d-b_next_dist_server_app-render_after-task-async-storage_external_0-exn7p.js +0 -3
  413. package/.next/server/chunks/[root-of-the-server]__0-npkh_._.js +0 -3
  414. package/.next/server/chunks/[root-of-the-server]__005var5._.js +0 -3
  415. package/.next/server/chunks/[root-of-the-server]__019dx9f._.js +0 -5
  416. package/.next/server/chunks/[root-of-the-server]__02_2sm-._.js +0 -5
  417. package/.next/server/chunks/[root-of-the-server]__04_8spk._.js +0 -3
  418. package/.next/server/chunks/[root-of-the-server]__05luceg._.js +0 -3
  419. package/.next/server/chunks/[root-of-the-server]__06t77t4._.js +0 -11
  420. package/.next/server/chunks/[root-of-the-server]__0bed6hu._.js +0 -8
  421. package/.next/server/chunks/[root-of-the-server]__0cro2dz._.js +0 -5
  422. package/.next/server/chunks/[root-of-the-server]__0dupqt7._.js +0 -5
  423. package/.next/server/chunks/[root-of-the-server]__0emr6go._.js +0 -3
  424. package/.next/server/chunks/[root-of-the-server]__0le4d-p._.js +0 -3
  425. package/.next/server/chunks/[root-of-the-server]__0m8ywyo._.js +0 -10
  426. package/.next/server/chunks/[root-of-the-server]__0nfuugi._.js +0 -5
  427. package/.next/server/chunks/[root-of-the-server]__0p32jfz._.js +0 -12
  428. package/.next/server/chunks/[root-of-the-server]__0phdgco._.js +0 -8
  429. package/.next/server/chunks/[root-of-the-server]__0wvgrsl._.js +0 -3
  430. package/.next/server/chunks/[root-of-the-server]__10qshki._.js +0 -3
  431. package/.next/server/chunks/[root-of-the-server]__11j52t0._.js +0 -5
  432. package/.next/server/chunks/[root-of-the-server]__1692zrv._.js +0 -3
  433. package/.next/server/chunks/[root-of-the-server]__16thabu._.js +0 -3
  434. package/.next/server/chunks/[root-of-the-server]__173nhwf._.js +0 -8
  435. package/.next/server/chunks/[root-of-the-server]__1_aoyr9._.js +0 -3
  436. package/.next/server/chunks/[root-of-the-server]__1bn73ih._.js +0 -10
  437. package/.next/server/chunks/[root-of-the-server]__1bqhuh9._.js +0 -8
  438. package/.next/server/chunks/[root-of-the-server]__1cqizfq._.js +0 -5
  439. package/.next/server/chunks/[root-of-the-server]__1e-ci13._.js +0 -3
  440. package/.next/server/chunks/[root-of-the-server]__1fboj2j._.js +0 -3
  441. package/.next/server/chunks/[root-of-the-server]__1lr7j9t._.js +0 -5
  442. package/.next/server/chunks/[root-of-the-server]__1oli73c._.js +0 -3
  443. package/.next/server/chunks/[root-of-the-server]__1txedx6._.js +0 -8
  444. package/.next/server/chunks/[root-of-the-server]__1untqv8._.js +0 -5
  445. package/.next/server/chunks/[root-of-the-server]__1zgpz1w._.js +0 -3
  446. package/.next/server/chunks/_00_584r._.js +0 -293
  447. package/.next/server/chunks/_012yhfm._.js +0 -39
  448. package/.next/server/chunks/_06mxlgn._.js +0 -3
  449. package/.next/server/chunks/_07rtlxv._.js +0 -3
  450. package/.next/server/chunks/_0a351g7._.js +0 -6
  451. package/.next/server/chunks/_0kjjmag._.js +0 -3
  452. package/.next/server/chunks/_0nn99o2._.js +0 -3
  453. package/.next/server/chunks/_0zuzmt_._.js +0 -39
  454. package/.next/server/chunks/_106co2o._.js +0 -3
  455. package/.next/server/chunks/_12bbv5i._.js +0 -100
  456. package/.next/server/chunks/_15q1pig._.js +0 -3
  457. package/.next/server/chunks/_19wg5yn._.js +0 -138
  458. package/.next/server/chunks/_1bt95p9._.js +0 -55
  459. package/.next/server/chunks/_1cbk7ms._.js +0 -26
  460. package/.next/server/chunks/_1drv2et._.js +0 -40
  461. package/.next/server/chunks/_1ic3bew._.js +0 -5
  462. package/.next/server/chunks/_1mxn_lb._.js +0 -3
  463. package/.next/server/chunks/_1rysr-r._.js +0 -10
  464. package/.next/server/chunks/_1u3rwbr._.js +0 -3
  465. package/.next/server/chunks/_1x7p319._.js +0 -6
  466. package/.next/server/chunks/_next-internal_server_app_api_bot_notes_route_actions_0qcsyu7.js +0 -3
  467. package/.next/server/chunks/_next-internal_server_app_api_memory_tidy_route_actions_0_cfuom.js +0 -3
  468. package/.next/server/chunks/features_bot_task_query_ts_11xuzl3._.js +0 -3
  469. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js +0 -3
  470. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0vorg6w._.js +0 -3
  471. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1tpvamf._.js +0 -3
  472. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1vmaq9f._.js +0 -3
  473. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y9-wcr._.js +0 -3
  474. package/.next/server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js +0 -3
  475. package/.next/server/chunks/ssr/[root-of-the-server]__0iuoa-r._.js +0 -3
  476. package/.next/server/chunks/ssr/[root-of-the-server]__0un-erv._.js +0 -4
  477. package/.next/server/chunks/ssr/[root-of-the-server]__1-mnhyd._.js +0 -92
  478. package/.next/server/chunks/ssr/[root-of-the-server]__1bww500._.js +0 -3
  479. package/.next/server/chunks/ssr/[root-of-the-server]__1vcdast._.js +0 -3
  480. package/.next/server/chunks/ssr/[root-of-the-server]__1xwnu-h._.js +0 -3
  481. package/.next/server/chunks/ssr/_0-mc7ro._.js +0 -3
  482. package/.next/server/chunks/ssr/_01p5r6-._.js +0 -3
  483. package/.next/server/chunks/ssr/_03webdr._.js +0 -3
  484. package/.next/server/chunks/ssr/_09-0k3z._.js +0 -3
  485. package/.next/server/chunks/ssr/_0f_b_9s._.js +0 -3
  486. package/.next/server/chunks/ssr/_0fafgvl._.js +0 -3
  487. package/.next/server/chunks/ssr/_0sf1isi._.js +0 -3
  488. package/.next/server/chunks/ssr/_0su6_08._.js +0 -3
  489. package/.next/server/chunks/ssr/_0ti51xc._.js +0 -3
  490. package/.next/server/chunks/ssr/_0w5bgak._.js +0 -3
  491. package/.next/server/chunks/ssr/_0y84qo6._.js +0 -3
  492. package/.next/server/chunks/ssr/_1ciyoo3._.js +0 -3
  493. package/.next/server/chunks/ssr/_1e-dgz0._.js +0 -4
  494. package/.next/server/chunks/ssr/_1fq7zgb._.js +0 -3
  495. package/.next/server/chunks/ssr/_1g6l4uj._.js +0 -3
  496. package/.next/server/chunks/ssr/_1ruzehw._.js +0 -3
  497. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +0 -4
  498. package/.next/server/chunks/ssr/features_config_components_14jqgy4._.js +0 -3
  499. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +0 -4
  500. package/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_15fmmz3.js +0 -55
  501. package/.next/static/chunks/05b6nx_o3_f_n.js +0 -1
  502. package/.next/static/chunks/0dmns-gi0raa4.js +0 -1
  503. package/.next/static/chunks/0f9sq-7q_yxyl.js +0 -1
  504. package/.next/static/chunks/0oc4_xoia77dg.css +0 -1
  505. package/.next/static/chunks/0pheo8m3a-rzi.js +0 -1
  506. package/.next/static/chunks/19i8h2t-5evjx.js +0 -1
  507. package/.next/static/chunks/1c5fcj473025q.js +0 -1
  508. package/.next/static/chunks/1pi_hbmjw-f-z.js +0 -1
  509. package/.next/static/chunks/1twt6k09vg4np.js +0 -1
  510. package/.next/static/chunks/1ytnip8wdng93.js +0 -1
  511. package/.next/static/chunks/28gotuisldmom.js +0 -1
  512. package/.next/static/chunks/2998p0y7k1c8z.js +0 -3
  513. package/.next/static/chunks/29gyb3nubj51j.js +0 -53
  514. package/.next/static/chunks/2l233xfycjpd8.js +0 -1
  515. package/.next/static/chunks/2p5n7pa3c40t-.js +0 -2
  516. package/.next/static/chunks/2ru1q132af7h7.js +0 -1
  517. package/.next/static/chunks/2t8wqycwg3y04.js +0 -2
  518. package/.next/static/chunks/2uxum7qbyeyxd.js +0 -1
  519. package/.next/static/chunks/32z_ypgtchw48.js +0 -1
  520. package/.next/static/chunks/33pyjb3xd1iez.js +0 -1
  521. package/.next/static/chunks/3omud5xunrk1f.js +0 -1
  522. package/.next/static/chunks/42dnrkbph9e-1.js +0 -1
  523. package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  524. package/database/migrations/20260909063821_bitter_tenebrous/migration.sql +0 -1
  525. package/features/ai/prompts/memory-tidy.prompt.ts +0 -129
  526. package/features/ai/tools/tidy.tool.ts +0 -22
  527. package/features/bot/bot.notes.ts +0 -120
  528. package/features/memory/components/memory-tidy.tsx +0 -395
  529. package/features/memory/components/memory-view.tsx +0 -84
  530. package/features/memory/memory.tidy.ts +0 -332
  531. package/features/memory/tidy.query.ts +0 -135
  532. package/features/thursday/use-call-title.ts +0 -31
  533. /package/.next/server/app/api/bot/{notes → memory/files}/route/build-manifest.json +0 -0
  534. /package/.next/server/app/api/bot/{notes → memory/files}/route/server-reference-manifest.json +0 -0
  535. /package/.next/server/app/api/bot/{notes → memory/files}/route.js.map +0 -0
  536. /package/.next/server/app/api/{memory/tidy → bot/memory}/route/build-manifest.json +0 -0
  537. /package/.next/server/app/api/{memory/tidy → bot/memory}/route/server-reference-manifest.json +0 -0
  538. /package/.next/server/app/api/{memory/tidy → bot/memory}/route.js.map +0 -0
  539. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → kaTO0UHqF1bMnWgCDik2f}/_buildManifest.js +0 -0
  540. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → kaTO0UHqF1bMnWgCDik2f}/_clientMiddlewareManifest.js +0 -0
  541. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → kaTO0UHqF1bMnWgCDik2f}/_ssgManifest.js +0 -0
@@ -0,0 +1,38 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,556133,e=>{"use strict";var t,r,a,n,o,s,i,l,u,d,c,p,h,m,g,f,y,v,b,w,x,k,I,_,j,E,S,M,A,T,R,C,O,N,P,$,D,U,F,L,q,B,z,H,V,Z,G,Y,W,K,J,X,Q,ee,et,er,ea,en=e.i(843476),eo=e.i(401851),es=e.i(493801),ei=e.i(689664),el=e.i(456420);let eu={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};eu.node;let ed=(0,el.default)(eu),ec={name:"pin",size:24,node:[["path",{d:"M12 17v5",key:"bb1du9"}],["path",{d:"M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z",key:"1nkz8b"}]]};ec.node;let ep=(0,el.default)(ec);var eh=e.i(77071),em=e.i(759659),eg=e.i(263676),ef=e.i(271645),ey=e.i(798120),ev=e.i(167881),eb=e.i(986530),ew=e.i(23750),ex=e.i(917162),ek=e.i(671428),eI=e.i(127341),e_=e.i(184762),ej=e.i(41533),eE=e.i(247167),eS="vercel.ai.error",eM=Symbol.for(eS),eA=class e extends(r=Error,t=eM,r){constructor({name:e,message:r,cause:a}){super(r),this[t]=!0,this.name=e,this.cause=a}static isInstance(t){return e.hasMarker(t,eS)}static hasMarker(e,t){let r=Symbol.for(t);return null!=e&&"object"==typeof e&&r in e&&"boolean"==typeof e[r]&&!0===e[r]}},eT="AI_APICallError",eR=`vercel.ai.error.${eT}`,eC=Symbol.for(eR),eO=class extends(n=eA,a=eC,n){constructor({message:e,url:t,requestBodyValues:r,statusCode:n,responseHeaders:o,responseBody:s,cause:i,isRetryable:l=null!=n&&(408===n||409===n||429===n||n>=500),data:u}){super({name:eT,message:e,cause:i}),this[a]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=n,this.responseHeaders=o,this.responseBody=s,this.isRetryable=l,this.data=u}static isInstance(e){return eA.hasMarker(e,eR)}},eN="AI_EmptyResponseBodyError",eP=`vercel.ai.error.${eN}`,e$=Symbol.for(eP),eD=class extends(s=eA,o=e$,s){constructor({message:e="Empty response body"}={}){super({name:eN,message:e}),this[o]=!0}static isInstance(e){return eA.hasMarker(e,eP)}};function eU(e){return null==e?"unknown error":"string"==typeof e?e:e instanceof Error?e.toString():JSON.stringify(e)}var eF="AI_InvalidArgumentError",eL=`vercel.ai.error.${eF}`,eq=Symbol.for(eL),eB=class extends(l=eA,i=eq,l){constructor({message:e,cause:t,argument:r}){super({name:eF,message:e,cause:t}),this[i]=!0,this.argument=r}static isInstance(e){return eA.hasMarker(e,eL)}},ez=Symbol.for("vercel.ai.error.AI_InvalidPromptError");Symbol.for("vercel.ai.error.AI_InvalidResponseDataError");var eH="AI_JSONParseError",eV=`vercel.ai.error.${eH}`,eZ=Symbol.for(eV),eG=class extends(d=eA,u=eZ,d){constructor({text:e,cause:t}){super({name:eH,message:`JSON parsing failed: Text: ${e}.
2
+ Error message: ${eU(t)}`,cause:t}),this[u]=!0,this.text=e}static isInstance(e){return eA.hasMarker(e,eV)}},eY=Symbol.for("vercel.ai.error.AI_LoadAPIKeyError");Symbol.for("vercel.ai.error.AI_LoadSettingError");Symbol.for("vercel.ai.error.AI_NoContentGeneratedError");var eW="AI_NoSuchModelError",eK=`vercel.ai.error.${eW}`,eJ=Symbol.for(eK),eX=class extends(p=eA,c=eJ,p){constructor({errorName:e=eW,modelId:t,modelType:r,message:a=`No such ${r}: ${t}`}){super({name:e,message:a}),this[c]=!0,this.modelId=t,this.modelType=r}static isInstance(e){return eA.hasMarker(e,eK)}},eQ=Symbol.for("vercel.ai.error.AI_NoSuchProviderReferenceError");Symbol.for("vercel.ai.error.AI_TooManyEmbeddingValuesForCallError");var e0="AI_TypeValidationError",e1=`vercel.ai.error.${e0}`,e2=Symbol.for(e1),e5=class e extends(m=eA,h=e2,m){constructor({value:e,cause:t,context:r}){let a="Type validation failed";if((null==r?void 0:r.field)&&(a+=` for ${r.field}`),(null==r?void 0:r.entityName)||(null==r?void 0:r.entityId)){a+=" (";const e=[];r.entityName&&e.push(r.entityName),r.entityId&&e.push(`id: "${r.entityId}"`),a+=e.join(", "),a+=")"}super({name:e0,message:`${a}: Value: ${JSON.stringify(e)}.
3
+ Error message: ${eU(t)}`,cause:t}),this[h]=!0,this.value=e,this.context=r}static isInstance(e){return eA.hasMarker(e,e1)}static wrap({value:t,cause:r,context:a}){var n,o,s;return e.isInstance(r)&&r.value===t&&(null==(n=r.context)?void 0:n.field)===(null==a?void 0:a.field)&&(null==(o=r.context)?void 0:o.entityName)===(null==a?void 0:a.entityName)&&(null==(s=r.context)?void 0:s.entityId)===(null==a?void 0:a.entityId)?r:new e({value:t,cause:r,context:a})}},e4=Symbol.for("vercel.ai.error.AI_UnsupportedFunctionalityError"),e6=e.i(280656),e9=e.i(321678);class e3 extends Error{constructor(e,t){super(e),this.name="ParseError",this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}}function e7(e){}function e8(e,t,r){return 100===r&&97===e.charCodeAt(t+1)&&116===e.charCodeAt(t+2)&&97===e.charCodeAt(t+3)&&58===e.charCodeAt(t+4)}function te(e,t,r){return 101===r&&118===e.charCodeAt(t+1)&&101===e.charCodeAt(t+2)&&110===e.charCodeAt(t+3)&&116===e.charCodeAt(t+4)&&58===e.charCodeAt(t+5)}class tt extends TransformStream{constructor({onError:e,onRetry:t,onComment:r,maxBufferSize:a}={}){let n;super({start(o){n=function(e){if("function"==typeof e)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=e7,onError:r=e7,onRetry:a=e7,onComment:n,maxBufferSize:o}=e,s=[],i=0,l=!0,u,d="",c=0,p,h=!1;function m(){void 0!==o&&(i+d.length<=o||(h=!0,s.length=0,i=0,u=void 0,d="",c=0,p=void 0,r(new e3(`Buffered data exceeded max buffer size of ${o} characters`,{type:"max-buffer-size-exceeded"}))))}function g(e){let r=0;if(-1===e.indexOf("\r")){let a=e.indexOf(`
4
+ `,r);for(;-1!==a;){if(r===a){c>0&&t({id:u,event:p,data:d}),u=void 0,d="",c=0,p=void 0,r=a+1,a=e.indexOf(`
5
+ `,r);continue}let n=e.charCodeAt(r);if(e8(e,r,n)){let n=32===e.charCodeAt(r+5)?r+6:r+5,o=e.slice(n,a);if(0===c&&10===e.charCodeAt(a+1)){t({id:u,event:p,data:o}),u=void 0,d="",p=void 0,r=a+2,a=e.indexOf(`
6
+ `,r);continue}d=0===c?o:`${d}
7
+ ${o}`,c++}else te(e,r,n)?p=e.slice(32===e.charCodeAt(r+6)?r+7:r+6,a)||void 0:f(e,r,a);r=a+1,a=e.indexOf(`
8
+ `,r)}return e.slice(r)}for(;r<e.length;){let t=e.indexOf("\r",r),a=e.indexOf(`
9
+ `,r),n=-1;if(-1!==t&&-1!==a?n=t<a?t:a:-1!==t?n=t===e.length-1?-1:t:-1!==a&&(n=a),-1===n)break;f(e,r,n),r=n+1,13===e.charCodeAt(r-1)&&10===e.charCodeAt(r)&&r++}return e.slice(r)}function f(e,r,a){if(r===a)return void(c>0&&t({id:u,event:p,data:d}),u=void 0,d="",c=0,p=void 0);let o=e.charCodeAt(r);if(e8(e,r,o)){let t=32===e.charCodeAt(r+5)?r+6:r+5,n=e.slice(t,a);d=0===c?n:`${d}
10
+ ${n}`,c++;return}if(te(e,r,o)){p=e.slice(32===e.charCodeAt(r+6)?r+7:r+6,a)||void 0;return}if(105===o&&100===e.charCodeAt(r+1)&&58===e.charCodeAt(r+2)){let t=e.slice(32===e.charCodeAt(r+3)?r+4:r+3,a);t.includes("\0")||(u=t);return}if(58===o){n&&n(e.slice(r,a).slice(32===e.charCodeAt(r+1)?2:1));return}let s=e.slice(r,a),i=s.indexOf(":");if(-1===i)return void y(s,"",s);let l=s.slice(0,i),h=32===s.charCodeAt(i+1)?2:1;y(l,s.slice(i+h),s)}function y(e,t,n){switch(e){case"event":p=t||void 0;break;case"data":d=0===c?t:`${d}
11
+ ${t}`,c++;break;case"id":t.includes("\0")||(u=t);break;case"retry":/^\d+$/.test(t)?a(parseInt(t,10)):r(new e3(`Invalid \`retry\` value: "${t}"`,{type:"invalid-retry",value:t,line:n}));break;default:r(new e3(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:"unknown-field",field:e,value:t,line:n}))}}return{feed:function(e){if(h)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,239===e.charCodeAt(0)&&187===e.charCodeAt(1)&&191===e.charCodeAt(2)&&(e=e.slice(3))),0===s.length){let t=g(e);""!==t&&(s.push(t),i=t.length),m();return}if(-1===e.indexOf(`
12
+ `)&&-1===e.indexOf("\r")){s.push(e),i+=e.length,m();return}s.push(e);let t=s.join("");s.length=0,i=0;let r=g(t);""!==r&&(s.push(r),i=r.length),m()},reset:function(e={}){if(e.consume&&s.length>0){let e=s.join("");f(e,0,e.length)}l=!0,u=void 0,d="",c=0,p=void 0,s.length=0,i=0,h=!1}}}({onEvent:e=>{o.enqueue(e)},onError(t){"function"==typeof e&&e(t),("terminate"===e||"max-buffer-size-exceeded"===t.type)&&o.error(t)},onRetry:t,onComment:r,maxBufferSize:a})},transform(e){n.feed(e)}})}}let tr=Symbol.for("workflow-serialize"),ta=Symbol.for("workflow-deserialize");function tn(...e){return e.reduce((e,t)=>({...e,...null!=t?t:{}}),{})}async function to(e,t){if(null==e)return Promise.resolve();let r=null==t?void 0:t.abortSignal;return new Promise((t,a)=>{if(null==r?void 0:r.aborted)return void a(ts());let n=setTimeout(()=>{o(),t()},e),o=()=>{clearTimeout(n),null==r||r.removeEventListener("abort",s)},s=()=>{o(),a(ts())};null==r||r.addEventListener("abort",s)})}function ts(){return new DOMException("Delay was aborted","AbortError")}var ti=new TextDecoder;async function tl(e){return"string"==typeof e?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?ti.decode(e):"u">typeof Blob&&e instanceof Blob?e.text():String(e)}async function tu(e,{highWaterMark:t=1048576,pollIntervalMs:r=20,abortSignal:a}={}){for(var n;1===e.readyState&&(null!=(n=e.bufferedAmount)?n:0)>t;){if((null==a?void 0:a.aborted)===!0)return;await to(r)}}var{btoa:td,atob:tc}=globalThis;function tp(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return td(t)}function th(e){return Object.fromEntries([...e.headers])}function tm(e=globalThis){var t,r,a;return e.window?"runtime/browser":(null==(t=e.navigator)?void 0:t.userAgent)?`runtime/${e.navigator.userAgent.toLowerCase()}`:(null==(a=null==(r=e.process)?void 0:r.versions)?void 0:a.node)?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function tg(e){return(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"ResponseAborted"===e.name||"TimeoutError"===e.name)}var tf=["fetch failed","failed to fetch"],ty=new Set(["ConnectionRefused","ConnectionClosed","FailedToOpenSocket","ECONNRESET","ECONNREFUSED","ETIMEDOUT","EPIPE","UND_ERR_SOCKET","UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"]);function tv({error:e,url:t,requestBodyValues:r}){if(tg(e))return e;if(e instanceof TypeError&&tf.includes(e.message.toLowerCase())){let a=e.cause;if(null!=a)return new eO({message:`Cannot connect to API: ${a.message}`,cause:a,url:t,requestBodyValues:r,isRetryable:!0})}let a=function(e){let t=new Set,r=e;for(;r instanceof Error&&!t.has(r);){t.add(r);let e=r;if("string"==typeof e.code&&ty.has(e.code))return e;r=r.cause}}(e);return null!=a?new eO(eO.isInstance(e)?{message:e.message,cause:e.cause,url:e.url,requestBodyValues:e.requestBodyValues,statusCode:e.statusCode,responseHeaders:e.responseHeaders,responseBody:e.responseBody,data:e.data,isRetryable:!0}:{message:`Cannot connect to API: ${e instanceof Error?e.message:a.message}`,cause:e,url:t,requestBodyValues:r,isRetryable:!0}):e}var tb="5.0.36";function tw(e){if(null==e)return{};let t={};if(e instanceof Headers)e.forEach((e,r)=>{t[r.toLowerCase()]=e});else for(let[r,a]of(Array.isArray(e)||(e=Object.entries(e)),e))null!=a&&(t[r.toLowerCase()]=a);return t}function tx(e,...t){let r=new Headers(tw(e)),a=r.get("user-agent")||"";return r.set("user-agent",[a,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}async function tk(e){var t;try{await (null==(t=e.body)?void 0:t.cancel())}catch(e){}}var tI="AI_DownloadError",t_=`vercel.ai.error.${tI}`,tj=Symbol.for(t_),tE=class extends(f=eA,g=tj,f){constructor({url:e,statusCode:t,statusText:r,cause:a,message:n=null==a?`Failed to download ${e}: ${t} ${r}`:`Failed to download ${e}: ${a}`}){super({name:tI,message:n,cause:a}),this[g]=!0,this.url=e,this.statusCode=t,this.statusText=r}static isInstance(e){return eA.hasMarker(e,t_)}};function tS(e,t){try{return new URL(e).origin===new URL(t).origin}catch(e){return!1}}function tM(e){let t=e.split(".");return 4===t.length&&t.every(e=>{let t=Number(e);return Number.isInteger(t)&&t>=0&&t<=255&&String(t)===e})}function tA(e){let[t,r,a]=e.split(".").map(Number);return 0===t||10===t||100===t&&r>=64&&r<=127||127===t||169===t&&254===r||172===t&&r>=16&&r<=31||192===t&&0===r&&0===a||192===t&&0===r&&2===a||192===t&&168===r||198===t&&(18===r||19===r)||198===t&&51===r&&100===a||203===t&&0===r&&113===a||t>=224||!1}function tT(e){let t=function(e){let t=e.toLowerCase(),r=t.indexOf("%");-1!==r&&(t=t.slice(0,r));let a=t.split("::");if(a.length>2)return null;let n=e=>{if(""===e)return[];let t=[],r=e.split(":");for(let e=0;e<r.length;e++){let a=r[e];if(a.includes(".")){if(e!==r.length-1||!tM(a))return null;let[n,o,s,i]=a.split(".").map(Number);t.push(n<<8|o,s<<8|i);continue}if(!/^[0-9a-f]{1,4}$/.test(a))return null;t.push(parseInt(a,16))}return t},o=n(a[0]);if(null===o)return null;if(2===a.length){let e=n(a[1]);if(null===e)return null;let t=8-o.length-e.length;return t<0?null:[...o,...Array(t).fill(0),...e]}return 8===o.length?o:null}(e);if(null===t)return!0;let r=e=>t.slice(0,e).every(e=>0===e);if(r(7)&&(0===t[7]||1===t[7])||(65024&t[0])==64512||(65472&t[0])==65152||(65472&t[0])==65216||(65280&t[0])==65280||8193===t[0]&&3512===t[1]||16383===t[0]&&(61440&t[1])==0)return!0;if(r(6)||r(5)&&65535===t[5]||r(4)&&65535===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&1===t[2]){let e=t[6]>>8&255,r=255&t[6],a=t[7]>>8&255,n=255&t[7];return tA(`${e}.${r}.${a}.${n}`)}return!1}var tR=globalThis.fetch,tC=function(e){if("function"!=typeof e)return!1;let t=Function.prototype.toString.call(e);return t.includes("internal/deps/undici")||t.includes("lazy loading of undici")}(tR);async function tO(){var e,t;let r;return(null==(e=null==(r=globalThis.process)?void 0:r.release)?void 0:e.name)==="node"&&(null==(t=r.versions)?void 0:t.bun)==null&&tC&&globalThis.fetch===tR?null!=y?y:y=Promise.resolve().then(tN):globalThis.fetch}function tN(){let{createRequire:e}=tP("node:module"),{lookup:t}=tP("node:dns"),{Agent:r,fetch:a}=e(function e(){let t=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let t=Error("Capture current module path");Error.captureStackTrace(t,e);let[r]=t.stack,a=null==r?void 0:r.getFileName();if(null==a)throw Error("Unable to determine the current module path");return a}finally{Error.prepareStackTrace=t}}())("undici"),n=new r({connect:{lookup:(e,r,a)=>{t(e,{...r,all:!0},(t,n)=>{if(t)return void a(t);try{let[t]=n;if(null==t)throw Error(`Hostname ${e} did not resolve to an address`);for(let{address:t,family:r}of n)!function({address:e,family:t,hostname:r}){if(4===t?!tM(e)||tA(e):6!==t||tT(e))throw new tE({url:r,message:`Hostname ${r} resolved to disallowed IP address ${e}`})}({address:t,family:r,hostname:e});!0===r.all?a(null,n):a(null,t.address,t.family)}catch(e){a(e instanceof Error?e:Error(String(e)))}})}}});return(e,t)=>a(e,{...t,dispatcher:n})}function tP(e){var t;let r=globalThis.process,a=null==(t=null==r?void 0:r.getBuiltinModule)?void 0:t.call(r,e);if(null==a)throw Error(`Node.js built-in module ${e} is unavailable`);return a}var t$=["connection","keep-alive","te","trailer","transfer-encoding","upgrade","host","forwarded","proxy-authorization","via","x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-real-ip","metadata","metadata-flavor","x-aws-ec2-metadata-token","x-metadata-token","cookie","set-cookie"],tD=new Set([301,302,303,307,308]);async function tU({url:e,headers:t,abortSignal:r,maxRedirects:a=10,fetch:n,trustedOrigin:o}){let s=void 0===t?void 0:function(e){let t=new Headers(e);for(let e of t$)t.delete(e);return t}(t),i=e=>{let t={signal:r,redirect:e};return void 0!==s&&(t.headers=new Headers(s)),t},l=e;for(let t=0;t<=a;t++){let t=void 0!==o&&tS(l,o);t||function(e){let t;try{t=new URL(e)}catch(t){throw new tE({url:e,message:`Invalid URL: ${e}`})}if("data:"===t.protocol)return;if("http:"!==t.protocol&&"https:"!==t.protocol)throw new tE({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let r=t.hostname.toLowerCase().replace(/\.+$/,"");if(!r)throw new tE({url:e,message:"URL must have a hostname"});if("localhost"===r||r.endsWith(".local")||r.endsWith(".localhost"))throw new tE({url:e,message:`URL with hostname ${r} is not allowed`});if(r.startsWith("[")&&r.endsWith("]")){if(tT(r.slice(1,-1)))throw new tE({url:e,message:`URL with IPv6 address ${r} is not allowed`});return}if(tM(r)&&tA(r))throw new tE({url:e,message:`URL with IP address ${r} is not allowed`})}(l);let r=null!=n?n:t?globalThis.fetch:await tO(),a=await r(l,i("manual"));if("opaqueredirect"===a.type){if(!function(e=globalThis){return null!=e.window}())throw new tE({url:e,message:`Redirect from ${l} could not be validated and was blocked`});return await r(l,i("follow"))}let u=a.headers.get("location");if(tD.has(a.status)&&u){await tk(a);let e=new URL(u,l).toString();if(void 0!==s&&!tS(e,l)){let e=s.get("user-agent");s=new Headers(null==e?void 0:{"user-agent":e})}l=e;continue}return a}throw new tE({url:e,message:`Too many redirects (max ${a})`})}async function tF({response:e,url:t,maxBytes:r=0x80000000}){let a=e.headers.get("content-length");if(null!=a){let n=parseInt(a,10);if(!isNaN(n)&&n>r)throw await tk(e),new tE({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes (Content-Length: ${n}).`})}let n=e.body;if(null==n)return new Uint8Array(0);let o=n.getReader(),s=[],i=0;try{for(;;){let{done:e,value:a}=await o.read();if(e)break;if((i+=a.length)>r)throw new tE({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes.`});s.push(a)}}finally{try{await o.cancel()}catch(e){}finally{o.releaseLock()}}let l=new Uint8Array(i),u=0;for(let e of s)l.set(e,u),u+=e.length;return l}var tL=({prefix:e,size:t=16,alphabet:r="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:a="-"}={})=>{let n=()=>{let e=r.length,a=Array(t);for(let n=0;n<t;n++)a[n]=r[Math.random()*e|0];return a.join("")};if(null==e)return n;if(r.includes(a))throw new eB({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${n()}`},tq=tL(),tB=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:a,abortSignal:n,fetch:o,validateUrl:s,credentialedOrigin:i,trustedOrigin:l})=>{try{let u=null!=o?o:globalThis.fetch,d=void 0===i||tS(e,i)?t:{},c=tx(d,`ai-sdk/provider-utils/${tb}`,tm()),p=s?await tU({url:e,headers:c,abortSignal:n,fetch:o,trustedOrigin:l}):await u(e,{method:"GET",headers:c,signal:n}),h=th(p);if(!p.ok){let t;try{t=await a({response:p,url:e,requestBodyValues:{}})}catch(t){if(tg(t)||eO.isInstance(t))throw t;throw new eO({message:"Failed to process error response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}throw t.value}try{return await r({response:p,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&(tg(t)||eO.isInstance(t)))throw t;throw new eO({message:"Failed to process successful response",cause:t,statusCode:p.status,url:e,responseHeaders:h,requestBodyValues:{}})}}catch(t){throw tv({error:t,url:e,requestBodyValues:{}})}};function tz(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)}function tH({settingValue:e,environmentVariableName:t}){return"string"==typeof e?e:null!=e||void 0===eE.default?void 0:null!=(e=eE.default.env[t])&&"string"==typeof e?e:void 0}function tV(e){return null!=e&&Number.isSafeInteger(e)&&e>=0}var tZ=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,tG=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function tY(e){let t=JSON.parse(e);return null===t||"object"!=typeof t||!1===tZ.test(e)&&!1===tG.test(e)?t:function(e){let t=[e];for(;t.length;){let e=t;for(let r of(t=[],e)){if(Object.prototype.hasOwnProperty.call(r,"__proto__")||Object.prototype.hasOwnProperty.call(r,"constructor")&&null!==r.constructor&&"object"==typeof r.constructor&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw SyntaxError("Object contains forbidden prototype property");for(let e in r){let a=r[e];a&&"object"==typeof a&&t.push(a)}}}return e}(t)}function tW(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch(t){return tY(e)}try{return tY(e)}finally{Error.stackTraceLimit=t}}function tK(e){if("object"===e.type||Array.isArray(e.type)&&e.type.includes("object")){let{additionalProperties:t}=e;e.additionalProperties=null!=t&&"boolean"!=typeof t&&tJ(t);let{properties:r}=e;if(null!=r)for(let e of Object.keys(r))r[e]=tJ(r[e])}null!=e.items&&(e.items=Array.isArray(e.items)?e.items.map(tJ):tJ(e.items)),null!=e.anyOf&&(e.anyOf=e.anyOf.map(tJ)),null!=e.allOf&&(e.allOf=e.allOf.map(tJ)),null!=e.oneOf&&(e.oneOf=e.oneOf.map(tJ));let{definitions:t}=e;if(null!=t)for(let e of Object.keys(t))t[e]=tJ(t[e]);return e}function tJ(e){return"boolean"==typeof e?e:tK(e)}var tX=Symbol("Let zodToJsonSchema decide on which parser to use"),tQ={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"};function t0(e,t){return rc(e.type._def,t)}var t1=void 0,t2=/^[cC][^\s-]{8,}$/,t5=/^[0-9a-z]+$/,t4=/^[0-9A-HJKMNP-TV-Z]{26}$/,t6=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,t9=()=>(void 0===t1&&(t1=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),t1),t3=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,t7=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,t8=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,re=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,rt=/^[a-zA-Z0-9_-]{21}$/,rr=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function ra(e,t){let r={type:"string"};if(e.checks)for(let a of e.checks)switch(a.kind){case"min":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value;break;case"max":r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"email":switch(t.emailStrategy){case"format:email":rs(r,"email",a.message,t);break;case"format:idn-email":rs(r,"idn-email",a.message,t);break;case"pattern:zod":ri(r,t6,a.message,t)}break;case"url":rs(r,"uri",a.message,t);break;case"uuid":rs(r,"uuid",a.message,t);break;case"regex":ri(r,a.regex,a.message,t);break;case"cuid":ri(r,t2,a.message,t);break;case"cuid2":ri(r,t5,a.message,t);break;case"startsWith":ri(r,RegExp(`^${rn(a.value,t)}`),a.message,t);break;case"endsWith":ri(r,RegExp(`${rn(a.value,t)}$`),a.message,t);break;case"datetime":rs(r,"date-time",a.message,t);break;case"date":rs(r,"date",a.message,t);break;case"time":rs(r,"time",a.message,t);break;case"duration":rs(r,"duration",a.message,t);break;case"length":r.minLength="number"==typeof r.minLength?Math.max(r.minLength,a.value):a.value,r.maxLength="number"==typeof r.maxLength?Math.min(r.maxLength,a.value):a.value;break;case"includes":ri(r,RegExp(rn(a.value,t)),a.message,t);break;case"ip":"v6"!==a.version&&rs(r,"ipv4",a.message,t),"v4"!==a.version&&rs(r,"ipv6",a.message,t);break;case"base64url":ri(r,re,a.message,t);break;case"jwt":ri(r,rr,a.message,t);break;case"cidr":"v6"!==a.version&&ri(r,t3,a.message,t),"v4"!==a.version&&ri(r,t7,a.message,t);break;case"emoji":ri(r,t9(),a.message,t);break;case"ulid":ri(r,t4,a.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":rs(r,"binary",a.message,t);break;case"contentEncoding:base64":r.contentEncoding="base64";break;case"pattern:zod":ri(r,t8,a.message,t)}break;case"nanoid":ri(r,rt,a.message,t)}return r}function rn(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let r=0;r<e.length;r++)ro.has(e[r])||(t+="\\"),t+=e[r];return t}(e):e}var ro=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function rs(e,t,r,a){var n;e.format||(null==(n=e.anyOf)?void 0:n.some(e=>e.format))?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...r&&a.errorMessages&&{errorMessage:{format:r}}})):e.format=t}function ri(e,t,r,a){var n;e.pattern||(null==(n=e.allOf)?void 0:n.some(e=>e.pattern))?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:rl(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=rl(t,a)}function rl(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;let a={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=a.i?e.source.toLowerCase():e.source,o="",s=!1,i=!1,l=!1;for(let e=0;e<n.length;e++){if(s){o+=n[e],s=!1;continue}if(a.i){if(i){if(n[e].match(/[a-z]/)){l?(o+=n[e],o+=`${n[e-2]}-${n[e]}`.toUpperCase(),l=!1):"-"===n[e+1]&&(null==(r=n[e+2])?void 0:r.match(/[a-z]/))?(o+=n[e],l=!0):o+=`${n[e]}${n[e].toUpperCase()}`;continue}}else if(n[e].match(/[a-z]/)){o+=`[${n[e]}${n[e].toUpperCase()}]`;continue}}if(a.m){if("^"===n[e]){o+=`(^|(?<=[\r
13
+ ]))`;continue}else if("$"===n[e]){o+=`($|(?=[\r
14
+ ]))`;continue}}if(a.s&&"."===n[e]){o+=i?`${n[e]}\r
15
+ `:`[${n[e]}\r
16
+ ]`;continue}o+=n[e],"\\"===n[e]?s=!0:i&&"]"===n[e]?i=!1:i||"["!==n[e]||(i=!0)}try{new RegExp(o)}catch(r){return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function ru(e,t){var r,a,n,o,s,i;let l={type:"object",additionalProperties:null!=(r=rc(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))?r:t.allowedAdditionalProperties};if((null==(a=e.keyType)?void 0:a._def.typeName)==="ZodString"&&(null==(n=e.keyType._def.checks)?void 0:n.length)){let{type:r,...a}=ra(e.keyType._def,t);return{...l,propertyNames:a}}if((null==(o=e.keyType)?void 0:o._def.typeName)==="ZodEnum")return{...l,propertyNames:{enum:e.keyType._def.values}};if((null==(s=e.keyType)?void 0:s._def.typeName)==="ZodBranded"&&"ZodString"===e.keyType._def.type._def.typeName&&(null==(i=e.keyType._def.type._def.checks)?void 0:i.length)){let{type:r,...a}=t0(e.keyType._def,t);return{...l,propertyNames:a}}return l}var rd={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function rc(e,t,r=!1){var a;let n=t.seen.get(e);if(t.override){let o=null==(a=t.override)?void 0:a.call(t,e,t,n,r);if(o!==tX)return o}if(n&&!r){let e=rp(n,t);if(void 0!==e)return e}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=((e,t,r)=>{var a,n,o,s,i,l;switch(t){case"ZodString":return ra(e,r);case"ZodNumber":let u={type:"number"};if(!e.checks)return u;for(let t of e.checks)switch(t.kind){case"int":u.type="integer";break;case"min":t.inclusive?u.minimum=t.value:u.exclusiveMinimum=t.value;break;case"max":t.inclusive?u.maximum=t.value:u.exclusiveMaximum=t.value;break;case"multipleOf":u.multipleOf=t.value}return u;case"ZodObject":return function(e,t){let r={type:"object",properties:{}},a=[],n=e.shape();for(let e in n){let o=n[e];if(void 0===o||void 0===o._def)continue;let s=function(e){try{return e.isOptional()}catch(e){return!0}}(o),i=rc(o._def,{...t,currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]});void 0!==i&&(r.properties[e]=i,s||a.push(e))}a.length&&(r.required=a);let o=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return rc(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==o&&(r.additionalProperties=o),r}(e,r);case"ZodBigInt":let d={type:"integer",format:"int64"};if(!e.checks)return d;for(let t of e.checks)switch(t.kind){case"min":t.inclusive?d.minimum=t.value:d.exclusiveMinimum=t.value;break;case"max":t.inclusive?d.maximum=t.value:d.exclusiveMaximum=t.value;break;case"multipleOf":d.multipleOf=t.value}return d;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function e(t,r,a){let n=null!=a?a:r.dateStrategy;if(Array.isArray(n))return{anyOf:n.map(a=>e(t,r,a))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var o=t;let s={type:"integer",format:"unix-time"};for(let e of o.checks)switch(e.kind){case"min":s.minimum=e.value;break;case"max":s.maximum=e.value}return s}}(e,r);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let c;return c={type:"array"},(null==(o=e.type)?void 0:o._def)&&(null==(i=null==(s=e.type)?void 0:s._def)?void 0:i.typeName)!=="ZodAny"&&(c.items=rc(e.type._def,{...r,currentPath:[...r.currentPath,"items"]})),e.minLength&&(c.minItems=e.minLength.value),e.maxLength&&(c.maxItems=e.maxLength.value),e.exactLength&&(c.minItems=e.exactLength.value,c.maxItems=e.exactLength.value),c;case"ZodUnion":case"ZodDiscriminatedUnion":let p,h=e.options instanceof Map?Array.from(e.options.values()):e.options;if(h.every(e=>e._def.typeName in rd&&(!e._def.checks||!e._def.checks.length))){let e=h.reduce((e,t)=>{let r=rd[t._def.typeName];return r&&!e.includes(r)?[...e,r]:e},[]);return{type:e.length>1?e:e[0]}}if(h.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){let e=h.reduce((e,t)=>{let r=typeof t._def.value;switch(r){case"string":case"number":case"boolean":return[...e,r];case"bigint":return[...e,"integer"];case"object":if(null===t._def.value)return[...e,"null"];default:return e}},[]);if(e.length===h.length){let t=e.filter((e,t,r)=>r.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:h.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(h.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:h.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return a=e,n=r,(p=(a.options instanceof Map?Array.from(a.options.values()):a.options).map((e,t)=>rc(e._def,{...n,currentPath:[...n.currentPath,"anyOf",`${t}`]})).filter(e=>!!e&&(!n.strictUnions||"object"==typeof e&&Object.keys(e).length>0))).length?{anyOf:p}:void 0;case"ZodIntersection":let m,g;return m=[rc(e.left._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),rc(e.right._def,{...r,currentPath:[...r.currentPath,"allOf","1"]})].filter(e=>!!e),g=[],m.forEach(e=>{if((!("type"in e)||"string"!==e.type)&&"allOf"in e)g.push(...e.allOf);else{let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){let{additionalProperties:r,...a}=e;t=a}g.push(t)}}),g.length?{allOf:g}:void 0;case"ZodTuple":return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,t)=>rc(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:rc(e.rest._def,{...r,currentPath:[...r.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,t)=>rc(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[])};case"ZodRecord":return ru(e,r);case"ZodLiteral":let f;return"bigint"!=(f=typeof e.value)&&"number"!==f&&"boolean"!==f&&"string"!==f?{type:Array.isArray(e.value)?"array":"object"}:{type:"bigint"===f?"integer":f,const:e.value};case"ZodEnum":return{type:"string",enum:Array.from(e.values)};case"ZodNativeEnum":let y,v,b;return y=e.values,{type:1===(b=Array.from(new Set((v=Object.keys(e.values).filter(e=>"number"!=typeof y[y[e]]).map(e=>y[e])).map(e=>typeof e)))).length?"string"===b[0]?"string":"number":["string","number"],enum:v};case"ZodNullable":if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[rd[e.innerType._def.typeName],"null"]};let w=rc(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","0"]});return w&&{anyOf:[w,{type:"null"}]};case"ZodOptional":if(r.currentPath.toString()===(null==(l=r.propertyPath)?void 0:l.toString()))return rc(e.innerType._def,r);let x=rc(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","1"]});return x?{anyOf:[{not:{}},x]}:{};case"ZodMap":if("record"===r.mapStrategy)return ru(e,r);return{type:"array",maxItems:125,items:{type:"array",items:[rc(e.keyType._def,{...r,currentPath:[...r.currentPath,"items","items","0"]})||{},rc(e.valueType._def,{...r,currentPath:[...r.currentPath,"items","items","1"]})||{}],minItems:2,maxItems:2}};case"ZodSet":let k;return k={type:"array",uniqueItems:!0,items:rc(e.valueType._def,{...r,currentPath:[...r.currentPath,"items"]})},e.minSize&&(k.minItems=e.minSize.value),e.maxSize&&(k.maxItems=e.maxSize.value),k;case"ZodLazy":return()=>e.getter()._def;case"ZodPromise":return rc(e.type._def,r);case"ZodEffects":return"input"===r.effectStrategy?rc(e.schema._def,r):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return{...rc(e.innerType._def,r),default:e.defaultValue()};case"ZodBranded":return t0(e,r);case"ZodReadonly":case"ZodCatch":return rc(e.innerType._def,r);case"ZodPipeline":if("input"===r.pipeStrategy)return rc(e.in._def,r);if("output"===r.pipeStrategy)return rc(e.out._def,r);let I=rc(e.in._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),_=rc(e.out._def,{...r,currentPath:[...r.currentPath,"allOf",I?"1":"0"]});return{allOf:[I,_].filter(e=>void 0!==e)};default:return}})(e,e.typeName,t),i="function"==typeof s?rc(s(),t):s;if(i&&rh(e,t,i),t.postProcess){let r=t.postProcess(i,e,t);return o.jsonSchema=i,r}return o.jsonSchema=i,i}var rp=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:((e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")})(t.currentPath,e.path)};case"none":case"seen":if(e.path.length<t.currentPath.length&&e.path.every((e,r)=>t.currentPath[r]===e))return console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),{};return"seen"===t.$refStrategy?{}:void 0}},rh=(e,t,r)=>(e.description&&(r.description=e.description),r),rm=Symbol.for("vercel.ai.schema");function rg(e){let t;return()=>(null==t&&(t=e()),t)}function rf(e,{validate:t}={}){return{[rm]:!0,_type:void 0,get jsonSchema(){return"function"==typeof e&&(e=e()),e},validate:t}}function ry(e){var t;return null==e?rf({type:"object",properties:{},additionalProperties:!1}):"object"==typeof e&&null!==e&&rm in e&&!0===e[rm]&&"jsonSchema"in e&&"validate"in e?e:"~standard"in e?"zod"===e["~standard"].vendor?rv(e):(t=e,rf(()=>{if(null==t["~standard"].jsonSchema)throw Error(`Standard schema vendor '${t["~standard"].vendor}' does not support JSON Schema conversion.`);return tK(t["~standard"].jsonSchema.input({target:"draft-07"}))},{validate:async e=>{let r=await t["~standard"].validate(e);return"value"in r?{success:!0,value:r.value}:{success:!1,error:new e5({value:e,cause:r.issues})}}})):e()}function rv(e,t){var r,a;let n;if("_zod"in e){let a;return a=null!=(r=null==t?void 0:t.useReferences)&&r,rf(()=>tK((0,e9.toJSONSchema)(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async t=>{let r=await (0,e6.safeParseAsync)(e,t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}return n=null!=(a=null==t?void 0:t.useReferences)&&a,rf(()=>((e,t)=>{var r;let a,n,o=(n=void 0!==(a="string"==typeof t?{...tQ,name:t}:{...tQ,...t}).name?[...a.basePath,a.definitionPath,a.name]:a.basePath,{...a,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(a.definitions).map(([e,t])=>[t._def,{def:t._def,path:[...a.basePath,a.definitionPath,e],jsonSchema:void 0}]))}),s="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>{var a;return{...e,[t]:null!=(a=rc(r._def,{...o,currentPath:[...o.basePath,o.definitionPath,t]},!0))?a:{}}},{}):void 0,i="string"==typeof t?t:(null==t?void 0:t.nameStrategy)==="title"||null==t?void 0:t.name,l=null!=(r=rc(e._def,void 0===i?o:{...o,currentPath:[...o.basePath,o.definitionPath,i]},!1))?r:{},u="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==u&&(l.title=u);let d=void 0===i?s?{...l,[o.definitionPath]:s}:l:{$ref:[..."relative"===o.$refStrategy?[]:o.basePath,o.definitionPath,i].join("/"),[o.definitionPath]:{...s,[i]:l}};return d.$schema="http://json-schema.org/draft-07/schema#",d})(e,{$refStrategy:n?"root":"none"}),{validate:async t=>{let r=await e.safeParseAsync(t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}async function rb({value:e,schema:t,context:r}){let a=await rw({value:e,schema:t,context:r});if(!a.success)throw e5.wrap({value:e,cause:a.error,context:r});return a.value}async function rw({value:e,schema:t,context:r}){let a=ry(t);try{if(null==a.validate)return{success:!0,value:e,rawValue:e};let t=await a.validate(e);if(t.success)return{success:!0,value:t.value,rawValue:e};return{success:!1,error:e5.wrap({value:e,cause:t.error,context:r}),rawValue:e}}catch(t){return{success:!1,error:e5.wrap({value:e,cause:t,context:r}),rawValue:e}}}async function rx({text:e,schema:t}){try{let r=tW(e);if(null==t)return r;return await rb({value:r,schema:t})}catch(t){if(eG.isInstance(t)||e5.isInstance(t))throw t;throw new eG({text:e,cause:t})}}async function rk({text:e,schema:t}){try{let r=tW(e);if(null==t)return{success:!0,value:r,rawValue:r};return await rw({value:r,schema:t})}catch(t){return{success:!1,error:eG.isInstance(t)?t:new eG({text:e,cause:t}),rawValue:void 0}}}function rI({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new tt).pipeThrough(new TransformStream({async transform({data:e},r){"[DONE]"!==e&&r.enqueue(await rk({text:e,schema:t}))}}))}var r_=()=>globalThis.fetch,rj=async({url:e,headers:t,body:r,failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:s})=>await rE({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:s}),rE=async({url:e,headers:t={},body:r,successfulResponseHandler:a,failedResponseHandler:n,abortSignal:o,fetch:s=r_()})=>{try{let i=await s(e,{method:"POST",headers:tx(t,`ai-sdk/provider-utils/${tb}`,tm()),body:r.content,signal:o}),l=th(i);if(!i.ok){let t;try{t=await n({response:i,url:e,requestBodyValues:r.values})}catch(t){if(tg(t)||eO.isInstance(t))throw t;throw new eO({message:"Failed to process error response",cause:t,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}throw t.value}try{return await a({response:i,url:e,requestBodyValues:r.values})}catch(t){if(t instanceof Error&&(tg(t)||eO.isInstance(t)))throw t;throw new eO({message:"Failed to process successful response",cause:t,statusCode:i.status,url:e,responseHeaders:l,requestBodyValues:r.values})}}catch(t){throw tv({error:t,url:e,requestBodyValues:r.values})}};function rS({id:e,inputSchema:t,outputSchema:r,supportsDeferredResults:a}){return({onInputStart:n,onInputDelta:o,onInputAvailable:s,...i})=>({type:"provider",isProviderExecuted:!0,id:e,args:i,inputSchema:t,outputSchema:r,onInputStart:n,onInputDelta:o,onInputAvailable:s,supportsDeferredResults:a})}async function rM(e){return"function"==typeof e&&(e=e()),Promise.resolve(e)}var rA=new TextDecoder;async function rT({response:e,url:t}){return rA.decode(await tF({response:e,url:t}))}var rR=({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:a,url:n,requestBodyValues:o})=>{let s=await rT({response:a,url:n}),i=th(a);if(""===s.trim())return{responseHeaders:i,value:new eO({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:i,responseBody:s,isRetryable:null==r?void 0:r(a)})};try{let l=await rx({text:s,schema:e});return{responseHeaders:i,value:new eO({message:t(l),url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:i,responseBody:s,data:l,isRetryable:null==r?void 0:r(a,l)})}}catch(e){return{responseHeaders:i,value:new eO({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:i,responseBody:s,isRetryable:null==r?void 0:r(a)})}}},rC=e=>async({response:t,url:r,requestBodyValues:a})=>{let n=await rT({response:t,url:r}),o=await rk({text:n,schema:e}),s=th(t);if(!o.success)throw new eO({message:"Invalid JSON response",cause:o.error,statusCode:t.status,responseHeaders:s,responseBody:n,url:r,requestBodyValues:a});return{responseHeaders:s,value:o.value,rawValue:o.rawValue}};async function*rO({stream:e,schema:t}){let r=e.getReader(),a=new TextDecoder,n="",o=!1;try{for(;;){let{done:e,value:s}=await r.read();if(e){o=!0,n+=a.decode();break}let i=(n+=a.decode(s,{stream:!0})).indexOf("\n");for(;-1!==i;){let e=n.slice(0,i).replace(/\r$/,"");n=n.slice(i+1),e.trim().length>0&&(yield await rx({text:e,schema:t})),i=n.indexOf("\n")}}let e=n.replace(/\r$/,"");e.trim().length>0&&(yield await rx({text:e,schema:t}))}finally{o||await r.cancel().catch(()=>{}),r.releaseLock()}}function rN(e){if(null==e)return!0;let t=typeof e;return"string"===t||"number"===t||"boolean"===t||"function"!==t&&"symbol"!==t&&"bigint"!==t&&(Array.isArray(e)?e.every(rN):Object.getPrototypeOf(e)===Object.prototype&&Object.values(e).every(rN))}var rP="AI_SerializationError",r$=`vercel.ai.error.${rP}`,rD=Symbol.for(r$),rU=class extends(b=eA,v=rD,b){constructor({message:e="Failed to serialize value.",cause:t}={}){super({name:rP,message:e,cause:t}),this[v]=!0}static isInstance(e){return eA.hasMarker(e,r$)}};function rF(e){let t={};for(let[r,a]of Object.entries(e.config))if("headers"===r){let e=function(e){let t=e;if("function"==typeof e&&(t=e()),t instanceof Promise)throw new rU({message:"Cannot serialize asynchronous model options."});return t}(a);rN(e)&&(t[r]=e)}else rN(a)&&(t[r]=a);return{modelId:e.modelId,config:t}}function rL(e){return"string"==typeof e}function rq(e){return"number"==typeof e}function rB(e,t){return void 0===e||t(e)}function rz(e){return tz(e)&&rL(e.type)}function rH(e){return tz(e)&&rL(e.text)&&rq(e.startSecond)&&rq(e.endSecond)}var rV=e.i(467034),rZ=e.i(362201),rG=e.i(725150),rY="ai-gateway-transcription.v1";function rW(e,t,r){let a=[e,`ai-gateway-auth.${t}`];return(null==r?void 0:r.teamIdOrSlug)&&a.push(`ai-gateway-team.${function(e){let t=new TextEncoder().encode(e),r="";for(let e of t)r+=String.fromCharCode(e);return btoa(r).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/u,"")}(r.teamIdOrSlug)}`),a}var rK={any:rZ.any,array:rZ.array,boolean:rZ.boolean,discriminatedUnion:rZ.discriminatedUnion,enum:rZ.enum,literal:rZ.literal,number:rZ.number,object:rZ.object,record:rZ.record,string:rZ.string,union:rZ.union,unknown:rZ.unknown},rJ=Symbol.for("vercel.ai.gateway.error"),rX=class e extends(x=Error,w=rJ,x){constructor({message:e,statusCode:t=500,cause:r,generationId:a,isRetryable:n=null!=t&&(408===t||409===t||429===t||t>=500)}){super(a?`${e} [${a}]`:e),this[w]=!0,this.statusCode=t,this.cause=r,this.generationId=a,this.isRetryable=n}static isInstance(t){return e.hasMarker(t)}static hasMarker(e){return"object"==typeof e&&null!==e&&rJ in e&&!0===e[rJ]}},rQ="GatewayAuthenticationError",r0=Symbol.for(`vercel.ai.gateway.error.${rQ}`),r1=class e extends(I=rX,k=r0,I){constructor({message:e="Authentication failed",statusCode:t=401,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[k]=!0,this.name=rQ,this.type="authentication_error"}static isInstance(e){return rX.hasMarker(e)&&r0 in e}static createContextualError({apiKeyProvided:t,oidcTokenProvided:r,statusCode:a=401,cause:n,generationId:o}){return new e({message:t?`AI Gateway authentication failed: Invalid API key or token.
17
+
18
+ Create a new API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
19
+
20
+ Provide an API key or Vercel access token via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.`:r?`AI Gateway authentication failed: Invalid OIDC token.
21
+
22
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.
23
+
24
+ Alternatively, use an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
25
+ or pass a Vercel access token via the 'apiKey' option.`:`AI Gateway authentication failed: No authentication provided.
26
+
27
+ Option 1 - API key:
28
+ Create an API key: https://vercel.com/d?to=%2F%5Bteam%5D%2F%7E%2Fai%2Fapi-keys
29
+ Provide via 'apiKey' option or 'AI_GATEWAY_API_KEY' environment variable.
30
+
31
+ Option 2 - Vercel access token:
32
+ Pass a Vercel personal access token or Vercel app access token via the 'apiKey' option.
33
+
34
+ Option 3 - OIDC token:
35
+ Run 'npx vercel link' to link your project, then 'vc env pull' to fetch the token.`,statusCode:a,cause:n,generationId:o})}},r2="GatewayInvalidRequestError",r5=Symbol.for(`vercel.ai.gateway.error.${r2}`),r4=class extends(j=rX,_=r5,j){constructor({message:e="Invalid request",statusCode:t=400,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[_]=!0,this.name=r2,this.type="invalid_request_error"}static isInstance(e){return rX.hasMarker(e)&&r5 in e}},r6="GatewayRateLimitError",r9=Symbol.for(`vercel.ai.gateway.error.${r6}`),r3=class extends(S=rX,E=r9,S){constructor({message:e="Rate limit exceeded",statusCode:t=429,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[E]=!0,this.name=r6,this.type="rate_limit_exceeded"}static isInstance(e){return rX.hasMarker(e)&&r9 in e}},r7="GatewayModelNotFoundError",r8=Symbol.for(`vercel.ai.gateway.error.${r7}`),ae=rg(()=>rv(rK.object({modelId:rK.string()}))),at=class extends(A=rX,M=r8,A){constructor({message:e="Model not found",statusCode:t=404,modelId:r,cause:a,generationId:n}={}){super({message:e,statusCode:t,cause:a,generationId:n}),this[M]=!0,this.name=r7,this.type="model_not_found",this.modelId=r}static isInstance(e){return rX.hasMarker(e)&&r8 in e}},ar="GatewayNotFoundError",aa=Symbol.for(`vercel.ai.gateway.error.${ar}`),an=class extends(R=rX,T=aa,R){constructor({message:e="Resource not found",statusCode:t=404,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[T]=!0,this.name=ar,this.type="not_found"}static isInstance(e){return rX.hasMarker(e)&&aa in e}},ao="GatewayInternalServerError",as=Symbol.for(`vercel.ai.gateway.error.${ao}`),ai=class extends(O=rX,C=as,O){constructor({message:e="Internal server error",statusCode:t=500,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[C]=!0,this.name=ao,this.type="internal_server_error"}static isInstance(e){return rX.hasMarker(e)&&as in e}},al="GatewayFailedDependencyError",au=Symbol.for(`vercel.ai.gateway.error.${al}`),ad=class extends(P=rX,N=au,P){constructor({message:e="Failed dependency",statusCode:t=424,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[N]=!0,this.name=al,this.type="failed_dependency"}static isInstance(e){return rX.hasMarker(e)&&au in e}},ac="GatewayForbiddenError",ap=Symbol.for(`vercel.ai.gateway.error.${ac}`),ah=rg(()=>rv(rK.object({ruleId:rK.string()}))),am=class extends(D=rX,$=ap,D){constructor({message:e="Forbidden",statusCode:t=403,cause:r,generationId:a,ruleId:n}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[$]=!0,this.name=ac,this.type="forbidden",this.ruleId=n}static isInstance(e){return rX.hasMarker(e)&&ap in e}},ag="GatewayResponseError",af=Symbol.for(`vercel.ai.gateway.error.${ag}`),ay=class extends(F=rX,U=af,F){constructor({message:e="Invalid response from Gateway",statusCode:t=502,response:r,validationError:a,cause:n,generationId:o,isRetryable:s}={}){super({message:e,statusCode:t,cause:n,generationId:o,isRetryable:s}),this[U]=!0,this.name=ag,this.type="response_error",this.response=r,this.validationError=a}static isInstance(e){return rX.hasMarker(e)&&af in e}};async function av({response:e,statusCode:t,defaultMessage:r="Gateway request failed",cause:a,authMethod:n,isRetryable:o}){var s;let i=await rw({value:e,schema:ab});if(!i.success){let n="object"==typeof e&&null!==e&&"generationId"in e?e.generationId:void 0;return new ay({message:`Invalid error response format: ${r}`,statusCode:t,response:e,validationError:i.error,cause:a,generationId:n,isRetryable:o})}let l=i.value,u=l.error.type,d=l.error.message,c=null!=(s=l.generationId)?s:void 0;switch(u){case"authentication_error":return r1.createContextualError({apiKeyProvided:"api-key"===n,oidcTokenProvided:"oidc"===n,statusCode:t,cause:a,generationId:c});case"invalid_request_error":return new r4({message:d,statusCode:t,cause:a,generationId:c});case"rate_limit_exceeded":return new r3({message:d,statusCode:t,cause:a,generationId:c});case"model_not_found":{let e=await rw({value:l.error.param,schema:ae});return new at({message:d,statusCode:t,modelId:e.success?e.value.modelId:void 0,cause:a,generationId:c})}case"not_found":return new an({message:d,statusCode:t,cause:a,generationId:c});case"internal_server_error":default:return new ai({message:d,statusCode:t,cause:a,generationId:c});case"failed_dependency":return new ad({message:d,statusCode:t,cause:a,generationId:c});case"forbidden":{let e=await rw({value:l.error.param,schema:ah});return new am({message:d,statusCode:t,cause:a,generationId:c,ruleId:e.success?e.value.ruleId:void 0})}}}var ab=rg(()=>rv(rK.object({error:rK.object({message:rK.string(),type:rK.string().nullish(),param:rK.unknown().nullish(),code:rK.union([rK.string(),rK.number()]).nullish()}),generationId:rK.string().nullish()}))),aw="GatewayTimeoutError",ax=Symbol.for(`vercel.ai.gateway.error.${aw}`),ak=class e extends(q=rX,L=ax,q){constructor({message:e="Request timed out",statusCode:t=408,cause:r,generationId:a}={}){super({message:e,statusCode:t,cause:r,generationId:a}),this[L]=!0,this.name=aw,this.type="timeout_error"}static isInstance(e){return rX.hasMarker(e)&&ax in e}static createTimeoutError({originalMessage:t,statusCode:r=408,cause:a,generationId:n}){return new e({message:`Gateway request timed out: ${t}
36
+
37
+ This is a client-side timeout. To resolve this, increase your timeout configuration: https://vercel.com/docs/ai-gateway/capabilities/video-generation#extending-timeouts-for-node.js`,statusCode:r,cause:a,generationId:n})}};function aI(e){if(!(e instanceof Error))return!1;let t=e.code;return"string"==typeof t&&["UND_ERR_HEADERS_TIMEOUT","UND_ERR_BODY_TIMEOUT","UND_ERR_CONNECT_TIMEOUT"].includes(t)}async function a_(e,t){var r;return rX.isInstance(e)?e:aI(e)?ak.createTimeoutError({originalMessage:e instanceof Error?e.message:"Unknown error",cause:e}):eO.isInstance(e)?e.cause&&aI(e.cause)?ak.createTimeoutError({originalMessage:e.message,cause:e}):await av({response:function(e){if(void 0!==e.data)return e.data;if(null!=e.responseBody)try{return tW(e.responseBody)}catch(t){return e.responseBody}return{}}(e),statusCode:null!=(r=e.statusCode)?r:500,defaultMessage:"Gateway request failed",cause:e,authMethod:t,isRetryable:!!e.isRetryable&&(null==e.statusCode||e.statusCode<400)||void 0}):await av({response:{},statusCode:500,defaultMessage:e instanceof Error?`Gateway request failed: ${e.message}`:"Unknown Gateway error",cause:e,authMethod:t})}var aj="ai-gateway-auth-method",aE="x-vercel-ai-gateway-team";async function aS(e){let t=await rw({value:e[aj],schema:aM});return t.success?t.value:void 0}var aM=rg(()=>rv(rK.union([rK.literal("api-key"),rK.literal("oidc")]))),aA=["embedding","image","language","realtime","reranking","speech","transcription","video"],aT=class{constructor(e){this.config=e}async getAvailableModels(){try{let{value:e}=await tB({url:`${this.config.baseURL}/config`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(aR),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return e}catch(e){throw await a_(e)}}async getCredits(){try{let e=new URL(this.config.baseURL),{value:t}=await tB({url:`${e.origin}/v1/credits`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(aC),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return t}catch(e){throw await a_(e)}}},aR=rg(()=>rv(rK.object({models:rK.array(rK.object({id:rK.string(),name:rK.string(),description:rK.string().nullish(),pricing:rK.object({input:rK.string(),output:rK.string(),input_cache_read:rK.string().nullish(),input_cache_write:rK.string().nullish()}).transform(({input:e,output:t,input_cache_read:r,input_cache_write:a})=>({input:e,output:t,...r?{cachedInputTokens:r}:{},...a?{cacheCreationInputTokens:a}:{}})).nullish(),specification:rK.object({specificationVersion:rK.literal("v4"),provider:rK.string(),modelId:rK.string()}),modelType:rK.string().nullish()})).transform(e=>e.filter(e=>null==e.modelType||aA.includes(e.modelType)))}))),aC=rg(()=>rv(rK.object({balance:rK.string(),total_used:rK.string()}).transform(({balance:e,total_used:t})=>({balance:e,totalUsed:t})))),aO=class{constructor(e){this.config=e}async getSpendReport(e){try{let t=new URL(this.config.baseURL),r=new URLSearchParams;r.set("start_date",e.startDate),r.set("end_date",e.endDate),e.groupBy&&r.set("group_by",e.groupBy),e.datePart&&r.set("date_part",e.datePart),e.userId&&r.set("user_id",e.userId),e.model&&r.set("model",e.model),e.provider&&r.set("provider",e.provider),e.credentialType&&r.set("credential_type",e.credentialType),e.tags&&e.tags.length>0&&r.set("tags",e.tags.join(","));let{value:a}=await tB({url:`${t.origin}/v1/report?${r.toString()}`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(aN),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return a}catch(e){throw await a_(e)}}},aN=rg(()=>rv(rK.object({results:rK.array(rK.object({day:rK.string().optional(),hour:rK.string().optional(),user:rK.string().optional(),model:rK.string().optional(),tag:rK.string().optional(),provider:rK.string().optional(),credential_type:rK.enum(["byok","system"]).optional(),total_cost:rK.number(),market_cost:rK.number().optional(),input_tokens:rK.number().optional(),output_tokens:rK.number().optional(),cached_input_tokens:rK.number().optional(),cache_creation_input_tokens:rK.number().optional(),reasoning_tokens:rK.number().optional(),request_count:rK.number().optional()}).transform(({credential_type:e,total_cost:t,market_cost:r,input_tokens:a,output_tokens:n,cached_input_tokens:o,cache_creation_input_tokens:s,reasoning_tokens:i,request_count:l,...u})=>({...u,...void 0!==e?{credentialType:e}:{},totalCost:t,...void 0!==r?{marketCost:r}:{},...void 0!==a?{inputTokens:a}:{},...void 0!==n?{outputTokens:n}:{},...void 0!==o?{cachedInputTokens:o}:{},...void 0!==s?{cacheCreationInputTokens:s}:{},...void 0!==i?{reasoningTokens:i}:{},...void 0!==l?{requestCount:l}:{}})))}))),aP=class{constructor(e){this.config=e}async getGenerationInfo(e){try{let t=new URL(this.config.baseURL),{value:r}=await tB({url:`${t.origin}/v1/generation?id=${encodeURIComponent(e.id)}`,validateUrl:!1,headers:this.config.headers?await rM(this.config.headers):void 0,successfulResponseHandler:rC(a$),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:this.config.fetch});return r}catch(e){throw await a_(e)}}},a$=rg(()=>rv(rK.object({data:rK.object({id:rK.string(),total_cost:rK.number(),upstream_inference_cost:rK.number(),usage:rK.number(),created_at:rK.string(),model:rK.string(),is_byok:rK.boolean(),provider_name:rK.string(),streamed:rK.boolean(),finish_reason:rK.string(),latency:rK.number(),generation_time:rK.number(),native_tokens_prompt:rK.number(),native_tokens_completion:rK.number(),native_tokens_reasoning:rK.number(),native_tokens_cached:rK.number(),native_tokens_cache_creation:rK.number(),billable_web_search_calls:rK.number()}).transform(({total_cost:e,upstream_inference_cost:t,created_at:r,is_byok:a,provider_name:n,finish_reason:o,generation_time:s,native_tokens_prompt:i,native_tokens_completion:l,native_tokens_reasoning:u,native_tokens_cached:d,native_tokens_cache_creation:c,billable_web_search_calls:p,...h})=>({...h,totalCost:e,upstreamInferenceCost:t,createdAt:r,isByok:a,providerName:n,finishReason:o,generationTime:s,promptTokens:i,completionTokens:l,reasoningTokens:u,cachedTokens:d,cacheCreationTokens:c,billableWebSearchCalls:p}))}).transform(({data:e})=>e))),aD=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.supportedUrls={"*/*":[/.*/]}}static[tr](e){return rF({modelId:e.modelId,config:e.config})}static[ta](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async getArgs(e){let{abortSignal:t,...r}=e;return{args:this.maybeEncodeFileParts(r),warnings:[]}}async doGenerate(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:o,value:s,rawValue:i}=await rj({url:this.getUrl(),headers:tn(n,e.headers,this.getModelConfigHeaders(this.modelId,!1),await rM(this.config.o11yHeaders)),body:t,successfulResponseHandler:rC(rK.any()),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{...s,request:{body:t},response:{headers:o,body:i},warnings:r}}catch(e){throw await a_(e,await aS(null!=n?n:{}))}}async doStream(e){let{args:t,warnings:r}=await this.getArgs(e),{abortSignal:a}=e,n=this.config.headers?await rM(this.config.headers):void 0;try{let o,{value:s,responseHeaders:i}=await rj({url:this.getUrl(),headers:tn(n,e.headers,this.getModelConfigHeaders(this.modelId,!0),await rM(this.config.o11yHeaders)),body:t,successfulResponseHandler:(o=rK.any(),async({response:e,url:t,requestBodyValues:r})=>{let a=th(e);if(null==e.body)throw new eD({});return{responseHeaders:a,value:rI({stream:function({stream:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n}){let o=e.getReader(),s=!1,i=()=>{s||(o.releaseLock(),s=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await o.read();t?(i(),e.close()):e.enqueue(r)}catch(o){if(i(),tg(o))return void e.error(o);e.error(tv({error:new eO({message:"Failed to process successful response",cause:o,statusCode:a,url:t,responseHeaders:n,requestBodyValues:r}),url:t,requestBodyValues:r}))}},async cancel(e){try{await o.cancel(e)}finally{i()}}})}({stream:e.body,url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a}),schema:o})}}),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{stream:s.pipeThrough(new TransformStream({start(e){r.length>0&&e.enqueue({type:"stream-start",warnings:r})},transform(t,r){if(t.success){let a=t.value;("raw"!==a.type||e.includeRawChunks)&&("response-metadata"===a.type&&a.timestamp&&"string"==typeof a.timestamp&&(a.timestamp=new Date(a.timestamp)),r.enqueue(a))}else r.error(t.error)}})),request:{body:t},response:{headers:i}}}catch(e){throw await a_(e,await aS(null!=n?n:{}))}}maybeEncodeFileParts(e){for(let t of e.prompt)if(Array.isArray(t.content)){for(let e of t.content)if("file"===e.type||"reasoning-file"===e.type)e.data=aU(e.data);else if("tool-result"===e.type&&"content"===e.output.type)for(let t of e.output.value)"file"===t.type&&(t.data=aU(t.data))}return e}getUrl(){return`${this.config.baseURL}/language-model`}getModelConfigHeaders(e,t){return{"ai-language-model-specification-version":"4","ai-language-model-id":e,"ai-language-model-streaming":String(t)}}};function aU(e){if("data"===e.type){let t=e.data;if(t instanceof Uint8Array)return{...e,data:rV.Buffer.from(t).toString("base64")}}return e}var aF=class e extends aD{static[tr](e){return aD[tr](e)}static[ta](t){return new e(t.modelId,t.config)}constructor(e,t){super(e,t)}async experimental_doStartBatch({requests:e,providerOptions:t,headers:r,abortSignal:a,webhookUrl:n}){var o;let s=this.config.headers?await rM(this.config.headers):void 0,i=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t.idempotencyKey;return"string"==typeof r&&r.length>0?r:void 0}(t),l=function(e){let t=null==e?void 0:e.gateway;if(null==t||"object"!=typeof t||Array.isArray(t)||!("idempotencyKey"in t))return e;let{idempotencyKey:r,...a}=t,n={...e};if(0===Object.keys(a).length?delete n.gateway:n.gateway=a,0!==Object.keys(n).length)return n}(t);try{let{value:t}=await rj({url:this.getBatchUrl("start"),headers:tn(s,r,this.getBatchConfigHeaders(),await rM(this.config.o11yHeaders),null!=i?{"idempotency-key":i}:void 0),body:{...null!=n&&{callbackUrl:n},modelId:this.modelId,requests:e.map(e=>({id:e.id,options:this.maybeEncodeFileParts(e.options)})),...null!=l&&{providerOptions:l}},successfulResponseHandler:rC(aY),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...a&&{abortSignal:a},fetch:this.config.fetch});return{batchId:t.batchId,...aq(t),warnings:null!=(o=t.warnings)?o:[]}}catch(e){if(aL(e))throw e;throw await a_(e,await aS(null!=s?s:{}))}}async experimental_doGetBatchStatus({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await rM(this.config.headers):void 0;try{let{value:n}=await rj({url:this.getBatchUrl("status"),headers:tn(a,t,this.getBatchConfigHeaders(),await rM(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:rC(aW),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return aq(n)}catch(e){if(aL(e))throw e;throw await a_(e,await aS(null!=a?a:{}))}}async experimental_doGetBatchResults({batchId:e,headers:t,abortSignal:r}){let a=this.config.headers?await rM(this.config.headers):void 0;try{var n;let o,{value:s}=await rj({url:this.getBatchUrl("results"),headers:tn(a,t,this.getBatchConfigHeaders(),await rM(this.config.o11yHeaders)),body:{batchId:e},successfulResponseHandler:async({response:e})=>{let t=th(e);if(null==e.body)throw new eD({});return{responseHeaders:t,value:rO({stream:e.body,schema:az})}},failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return n=aB(s),o=!1,new ReadableStream({async pull(e){if(!o)try{let{value:t,done:r}=await n.next();r?e.close():e.enqueue(t)}catch(t){e.error(t)}},async cancel(e){if(o=!0,n.return)try{await n.return(e)}catch(e){}}})}catch(e){if(aL(e))throw e;throw await a_(e,await aS(null!=a?a:{}))}}getBatchUrl(e){return`${this.config.baseURL}/batch/${e}`}getBatchConfigHeaders(){return{"ai-model-id":this.modelId}}};function aL(e){return!!(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"TimeoutError"===e.name)}function aq(e){var t,r,a,n;let o=function({total:e,pending:t,completed:r,failed:a}){if(tV(e)&&tV(t)&&tV(r)&&tV(a)&&t+r+a===e)return{total:e,pending:t,completed:r,failed:a}}({total:null==(t=e.requestCounts)?void 0:t.total,pending:null==(r=e.requestCounts)?void 0:r.pending,completed:null==(a=e.requestCounts)?void 0:a.completed,failed:null==(n=e.requestCounts)?void 0:n.failed});return{status:e.status,...null!=e.rawStatus&&{rawStatus:e.rawStatus},...null!=o&&{requestCounts:o},...null!=e.error&&{error:{message:e.error.message,...null!=e.error.type&&{type:e.error.type},...null!=e.error.code&&{code:e.error.code},...null!=e.error.statusCode&&{statusCode:e.error.statusCode}}},...null!=e.createdAt&&{createdAt:e.createdAt},...null!=e.expiresAt&&{expiresAt:e.expiresAt},...null!=e.providerMetadata&&{providerMetadata:e.providerMetadata}}}async function*aB(e){var t;for await(let r of e){if("succeeded"===r.status){let e=null==(t=r.result)?void 0:t.response;void 0!==e&&"string"==typeof e.timestamp&&(e.timestamp=new Date(e.timestamp))}yield r}}var az=rK.object({id:rK.string(),status:rK.enum(["cancelled","expired","failed","succeeded"])}).catchall(rK.unknown()),aH=rK.object({message:rK.string(),type:rK.string().nullish(),code:rK.string().nullish(),statusCode:rK.number().nullish()}),aV=rK.object({total:rK.number().nullish(),pending:rK.number().nullish(),completed:rK.number().nullish(),failed:rK.number().nullish()}),aZ=rK.record(rK.string(),rK.record(rK.string(),rK.unknown())),aG=rK.object({status:rK.enum(["completed","failed","pending"]),rawStatus:rK.string().nullish(),requestCounts:aV.nullish(),error:aH.nullish(),createdAt:rK.string().nullish(),expiresAt:rK.string().nullish(),providerMetadata:aZ.nullish()}),aY=aG.extend({batchId:rK.string(),warnings:rK.array(rK.object({requestId:rK.string().nullish(),warning:rK.unknown()}).catchall(rK.unknown())).nullish()}),aW=aG,aK=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxEmbeddingsPerCall=2048,this.supportsParallelCalls=!0}static[tr](e){return rF({modelId:e.modelId,config:e.config})}static[ta](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doEmbed({values:e,headers:t,abortSignal:r,providerOptions:a}){var n,o;let s=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:i,value:l,rawValue:u}=await rj({url:this.getUrl(),headers:tn(s,null!=t?t:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{values:e,...a?{providerOptions:a}:{}},successfulResponseHandler:rC(aX),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...r&&{abortSignal:r},fetch:this.config.fetch});return{embeddings:l.embeddings,usage:null!=(n=l.usage)?n:void 0,providerMetadata:l.providerMetadata,response:{headers:i,body:u},warnings:null!=(o=l.warnings)?o:[]}}catch(e){throw await a_(e,await aS(null!=s?s:{}))}}getUrl(){return`${this.config.baseURL}/embedding-model`}getModelConfigHeaders(){return{"ai-embedding-model-specification-version":"4","ai-model-id":this.modelId}}},aJ=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),aX=rg(()=>rv(rK.object({embeddings:rK.array(rK.array(rK.number())),usage:rK.object({tokens:rK.number()}).nullish(),warnings:rK.array(aJ).optional(),providerMetadata:rK.record(rK.string(),rK.record(rK.string(),rK.unknown())).optional()}))),aQ=class e{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxImagesPerCall=Number.MAX_SAFE_INTEGER}static[tr](e){return rF({modelId:e.modelId,config:e.config})}static[ta](t){return new e(t.modelId,t.config)}get provider(){return this.config.provider}async doGenerate({prompt:e,n:t,size:r,aspectRatio:a,seed:n,files:o,mask:s,providerOptions:i,headers:l,abortSignal:u}){var d,c,p,h;let m=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:g,value:f}=await rj({url:this.getUrl(),headers:tn(m,null!=l?l:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{prompt:e,n:t,...r&&{size:r},...a&&{aspectRatio:a},...n&&{seed:n},...i&&{providerOptions:i},...o&&{files:o.map(e=>a0(e))},...s&&{mask:a0(s)}},successfulResponseHandler:rC(a4),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...u&&{abortSignal:u},fetch:this.config.fetch});return{images:f.images,warnings:null!=(d=f.warnings)?d:[],providerMetadata:f.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:g},...null!=f.usage&&{usage:{inputTokens:null!=(c=f.usage.inputTokens)?c:void 0,outputTokens:null!=(p=f.usage.outputTokens)?p:void 0,totalTokens:null!=(h=f.usage.totalTokens)?h:void 0}}}}catch(e){throw await a_(e,await aS(null!=m?m:{}))}}getUrl(){return`${this.config.baseURL}/image-model`}getModelConfigHeaders(){return{"ai-image-model-specification-version":"4","ai-model-id":this.modelId}}};function a0(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:tp(e.data)}:e}var a1=rK.object({images:rK.array(rK.unknown()).optional()}).catchall(rK.unknown()),a2=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),a5=rK.object({inputTokens:rK.number().nullish(),outputTokens:rK.number().nullish(),totalTokens:rK.number().nullish()}),a4=rK.object({images:rK.array(rK.string()),warnings:rK.array(a2).optional(),providerMetadata:rK.record(rK.string(),a1).optional(),usage:a5.optional()}),a6=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4",this.maxVideosPerCall=Number.MAX_SAFE_INTEGER}get provider(){return this.config.provider}async doGenerate(e){var t,r;let{headers:a,abortSignal:n}=e,o=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:s,value:i}=await rj({url:this.getUrl(),headers:tn(o,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders),{accept:"text/event-stream"}),body:this.buildRequestBody(e),successfulResponseHandler:async({response:e,url:t,requestBodyValues:r})=>{if(null==e.body)throw new eO({message:"SSE response body is empty",url:t,requestBodyValues:r,statusCode:e.status});let a=rI({stream:e.body,schema:ne}).getReader(),{done:n,value:o}=await a.read();if(a.releaseLock(),n||!o)throw new eO({message:"SSE stream ended without a data event",url:t,requestBodyValues:r,statusCode:e.status});if(!o.success)throw new eO({message:"Failed to parse video SSE event",cause:o.error,url:t,requestBodyValues:r,statusCode:e.status});let s=o.value;if("error"===s.type)throw new eO({message:s.message,statusCode:s.statusCode,url:t,requestBodyValues:r,responseHeaders:Object.fromEntries([...e.headers]),responseBody:JSON.stringify(s),data:{error:{message:s.message,type:s.errorType,param:s.param}}});return{value:{videos:s.videos,warnings:s.warnings,providerMetadata:s.providerMetadata},responseHeaders:Object.fromEntries([...e.headers])}},failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{videos:i.videos,warnings:null!=(t=i.warnings)?t:[],providerMetadata:null!=(r=i.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:s}}}catch(e){throw await a_(e,await aS(null!=o?o:{}))}}async handleWebhookOption({webhook:e}){let{url:t,received:r}=await e();return{webhookUrl:t,received:r}}async doStart(e){var t,r;let{headers:a,abortSignal:n,webhookUrl:o}=e,s=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:i,value:l}=await rj({url:this.getStartUrl(),headers:tn(s,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{...this.buildRequestBody(e),...o&&{callbackUrl:o}},successfulResponseHandler:rC(nt),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{operation:l.operation,warnings:null!=(t=l.warnings)?t:[],providerMetadata:null!=(r=l.providerMetadata)?r:void 0,response:{timestamp:new Date,modelId:this.modelId,headers:i}}}catch(e){throw await a_(e,await aS(null!=s?s:{}))}}async doStatus({operation:e,abortSignal:t,headers:r}){var a,n,o,s,i,l;let u=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:d,value:c}=await rj({url:this.getStatusUrl(),headers:tn(u,null!=r?r:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{operation:e},successfulResponseHandler:rC(nr),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...t&&{abortSignal:t},fetch:this.config.fetch}),p={timestamp:new Date,modelId:this.modelId,headers:d};if("completed"===c.status)return{status:"completed",videos:c.videos,warnings:null!=(a=c.warnings)?a:[],providerMetadata:null!=(n=c.providerMetadata)?n:void 0,response:p};if("error"===c.status)return{status:"error",error:c.error,providerMetadata:null!=(o=c.providerMetadata)?o:void 0,response:p};if("cancelled"===c.status)return{status:"error",error:"Video generation was cancelled.",providerMetadata:null!=(s=c.providerMetadata)?s:void 0,response:p};return{status:"pending",warnings:null!=(i=c.warnings)?i:[],providerMetadata:null!=(l=c.providerMetadata)?l:void 0,response:p}}catch(e){throw await a_(e,await aS(null!=u?u:{}))}}buildRequestBody({prompt:e,n:t,aspectRatio:r,resolution:a,duration:n,fps:o,seed:s,generateAudio:i,image:l,frameImages:u,inputReferences:d,providerOptions:c}){return{prompt:e,n:t,...r&&{aspectRatio:r},...a&&{resolution:a},...n&&{duration:n},...o&&{fps:o},...s&&{seed:s},...void 0!==i&&{generateAudio:i},...c&&{providerOptions:c},...l&&{image:a9(l)},...u&&{frameImages:u.map(e=>({...e,image:a9(e.image)}))},...d&&{inputReferences:d.map(e=>a9(e))}}}getUrl(){return`${this.config.baseURL}/video-model`}getStartUrl(){return`${this.config.baseURL}/video-model/start`}getStatusUrl(){return`${this.config.baseURL}/video-model/status`}getModelConfigHeaders(){return{"ai-video-model-specification-version":"4","ai-model-id":this.modelId}}};function a9(e){return"file"===e.type&&e.data instanceof Uint8Array?{...e,data:tp(e.data)}:e}var a3=rK.object({videos:rK.array(rK.unknown()).optional()}).catchall(rK.unknown()),a7=rK.union([rK.object({type:rK.literal("url"),url:rK.string(),mediaType:rK.string()}),rK.object({type:rK.literal("base64"),data:rK.string(),mediaType:rK.string()})]),a8=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),ne=rK.discriminatedUnion("type",[rK.object({type:rK.literal("result"),videos:rK.array(a7),warnings:rK.array(a8).optional(),providerMetadata:rK.record(rK.string(),a3).optional()}),rK.object({type:rK.literal("error"),message:rK.string(),errorType:rK.string(),statusCode:rK.number(),param:rK.unknown().nullable()})]),nt=rK.object({operation:rK.unknown(),warnings:rK.array(a8).nullish(),providerMetadata:rK.record(rK.string(),a3).nullish()}),nr=rK.discriminatedUnion("status",[rK.object({status:rK.literal("pending"),warnings:rK.array(a8).nullish(),providerMetadata:rK.record(rK.string(),a3).nullish()}),rK.object({status:rK.literal("completed"),videos:rK.array(a7),warnings:rK.array(a8).nullish(),providerMetadata:rK.record(rK.string(),a3).nullish()}),rK.object({status:rK.literal("error"),error:rK.string(),providerMetadata:rK.record(rK.string(),a3).nullish()}),rK.object({status:rK.literal("cancelled"),providerMetadata:rK.record(rK.string(),a3).nullish()})]),na=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doRerank({documents:e,query:t,topN:r,headers:a,abortSignal:n,providerOptions:o}){var s;let i=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:l,value:u,rawValue:d}=await rj({url:this.getUrl(),headers:tn(i,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{documents:e,query:t,...null!=r?{topN:r}:{},...o?{providerOptions:o}:{}},successfulResponseHandler:rC(no),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{ranking:u.ranking,providerMetadata:u.providerMetadata,response:{headers:l,body:d},warnings:null!=(s=u.warnings)?s:[]}}catch(e){throw await a_(e,await aS(null!=i?i:{}))}}getUrl(){return`${this.config.baseURL}/reranking-model`}getModelConfigHeaders(){return{"ai-reranking-model-specification-version":"4","ai-model-id":this.modelId}}},nn=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),no=rg(()=>rv(rK.object({ranking:rK.array(rK.object({index:rK.number(),relevanceScore:rK.number()})),warnings:rK.array(nn).optional(),providerMetadata:rK.record(rK.string(),rK.record(rK.string(),rK.unknown())).optional()}))),ns=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({text:e,voice:t,outputFormat:r,instructions:a,speed:n,language:o,providerOptions:s,headers:i,abortSignal:l}){var u;let d=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:c,value:p,rawValue:h}=await rj({url:this.getUrl(),headers:tn(d,null!=i?i:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{text:e,...t&&{voice:t},...r&&{outputFormat:r},...a&&{instructions:a},...null!=n&&{speed:n},...o&&{language:o},...s&&{providerOptions:s}},successfulResponseHandler:rC(nu),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...l&&{abortSignal:l},fetch:this.config.fetch});return{audio:p.audio,warnings:null!=(u=p.warnings)?u:[],providerMetadata:p.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:c,body:h}}}catch(e){throw await a_(e,await aS(null!=d?d:{}))}}getUrl(){return`${this.config.baseURL}/speech-model`}getModelConfigHeaders(){return{"ai-speech-model-specification-version":"4","ai-model-id":this.modelId}}},ni=rK.object({}).catchall(rK.unknown()),nl=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),nu=rK.object({audio:rK.string(),warnings:rK.array(nl).optional(),providerMetadata:rK.record(rK.string(),ni).optional()}),nd=class{constructor(e,t){this.modelId=e,this.config=t,this.specificationVersion="v4"}get provider(){return this.config.provider}async doGenerate({audio:e,mediaType:t,providerOptions:r,headers:a,abortSignal:n}){var o,s,i,l;let u=this.config.headers?await rM(this.config.headers):void 0;try{let{responseHeaders:d,value:c,rawValue:p}=await rj({url:this.getUrl(),headers:tn(u,null!=a?a:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),body:{audio:e instanceof Uint8Array?tp(e):e,mediaType:t,...r&&{providerOptions:r}},successfulResponseHandler:rC(nm),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),...n&&{abortSignal:n},fetch:this.config.fetch});return{text:c.text,segments:null!=(o=c.segments)?o:[],language:null!=(s=c.language)?s:void 0,durationInSeconds:null!=(i=c.durationInSeconds)?i:void 0,warnings:null!=(l=c.warnings)?l:[],providerMetadata:c.providerMetadata,response:{timestamp:new Date,modelId:this.modelId,headers:d,body:p}}}catch(e){throw await a_(e,await aS(null!=u?u:{}))}}async doStream(e){var t,r,a,n,o;let s,i,l,u=null!=(a=null==(r=null==(t=this.config._internal)?void 0:t.currentDate)?void 0:r.call(t))?a:new Date,d=tn(await rM(null!=(n=this.config.headers)?n:{}),null!=(o=e.headers)?o:{},this.getModelConfigHeaders(),await rM(this.config.o11yHeaders)),c=await aS(d),p={type:"transcription-stream.start",inputAudioFormat:e.inputAudioFormat,...null!=e.providerOptions&&{providerOptions:e.providerOptions},...null!=e.includeRawChunks&&{includeRawChunks:e.includeRawChunks}};return{stream:function({webSocket:e,url:t,protocols:r,headers:a,startFrame:n,audio:o,abortSignal:s,authMethod:i}){let l=!1,u=()=>{};return new ReadableStream({start:d=>{let c,p,h,m=!1,g=!1;u=e=>{null!=c?c.cancel().catch(()=>{}):o.cancel().catch(()=>{}),null==h||h.close(e)};let f=e=>{l||(l=!0,u(),ng(d,e,i))},y=async e=>{let t=o.getReader();c=t;try{for(;;){let{done:r,value:a}=await t.read();if(r||l)break;let n="string"==typeof a?function(e){let t=tc(e.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(t,e=>e.codePointAt(0))}(a):a;for(let t=0;t<n.length&&!l;t+=65536)e.send(n.subarray(t,t+65536)),await tu(e)}}finally{t.releaseLock(),c===t&&(c=void 0)}l||g||e.send(JSON.stringify({type:"transcription-stream.audio-done"}))};h=function({url:e,protocols:t,headers:r,webSocket:a,abortSignal:n,onOpen:o,onMessageText:s,onProcessingError:i,onSocketError:l,onClose:u,onAbort:d}){var c,p;let h,m,g=e=>{null!=m&&(null==n||n.removeEventListener("abort",m),m=void 0);try{null==h||h.close(e)}catch(e){}};if(null==n?void 0:n.aborted)return null==d||d(null!=(c=n.reason)?c:Error("Aborted")),{socket:void 0,close:g};try{h=new(function(e){let t=null!=e?e:globalThis.WebSocket;if(null==t)throw Error("No WebSocket implementation available.");return t}(a))(e,t,{headers:(p=null!=r?r:{},Object.fromEntries(Object.entries(p).filter(([e,t])=>null!=t)))})}catch(e){return i(e),{socket:void 0,close:g}}null!=n&&null!=d&&(m=()=>{var e;return d(null!=(e=n.reason)?e:Error("Aborted"))},n.addEventListener("abort",m,{once:!0}));let f=h;h.onopen=()=>{try{null==o||o(f)}catch(e){i(e)}};let y=Promise.resolve();return h.onmessage=e=>{y=y.then(()=>tl(e.data)).then(e=>s(e)).catch(i)},h.onerror=()=>{y=y.then(()=>null==l?void 0:l()).catch(i)},h.onclose=e=>{let t="number"==typeof(null==e?void 0:e.code)?e.code:void 0,r="string"==typeof(null==e?void 0:e.reason)?e.reason:void 0;y=y.then(()=>null==u?void 0:u({code:t,reason:r})).catch(i)},{socket:h,close:g}}({url:t,protocols:r,headers:a,webSocket:e,abortSignal:s,onAbort:e=>{l||(l=!0,u(),d.error(e))},onProcessingError:f,onOpen:e=>{e.send(JSON.stringify(n)),y(e).catch(f)},onMessageText:e=>{if(l)return;let t=function(e){let t;try{t=tW(e)}catch(e){return}if(null==t||"object"!=typeof t||Array.isArray(t))return;let r=t;switch(r.type){case"stream-start":return Array.isArray(r.warnings)&&r.warnings.every(rz)?r:void 0;case"transcript-delta":return rL(r.delta)&&rB(r.id,rL)&&rB(r.providerMetadata,tz)?r:void 0;case"transcript-partial":return rL(r.text)&&rB(r.id,rL)&&rB(r.startSecond,rq)&&rB(r.durationInSeconds,rq)&&rB(r.channelIndex,rq)&&rB(r.providerMetadata,tz)?r:void 0;case"transcript-final":return rL(r.text)&&rB(r.id,rL)&&rB(r.startSecond,rq)&&rB(r.endSecond,rq)&&rB(r.channelIndex,rq)&&rB(r.providerMetadata,tz)?r:void 0;case"finish":return rL(r.text)&&Array.isArray(r.segments)&&r.segments.every(rH)&&rB(r.language,rL)&&rB(r.durationInSeconds,rq)&&rB(r.providerMetadata,tz)?r:void 0;case"response-metadata":{if(!(rB(r.modelId,rL)&&rB(r.headers,tz)))return;let e=r.timestamp;if(null==e)return{...r,timestamp:void 0};if("string"!=typeof e)return;let t=new Date(e);return Number.isNaN(t.getTime())?void 0:{...r,timestamp:t}}case"raw":return"rawValue"in r?r:void 0;case"error":return"error"in r?r:void 0;default:return}}(e);if(null!=t){if("finish"===t.type){l=!0,d.enqueue(t),d.close(),u(1e3);return}"error"===t.type&&(m=!0,p=t.error,g=!0,null!=c?(c.cancel().catch(()=>{}),c=void 0):o.cancel().catch(()=>{})),d.enqueue(t)}},onSocketError:()=>{f(Error("Connection error on AI Gateway transcription stream"))},onClose:()=>{if(m){if(l)return;ny(p,i).then(f);return}f(Error("AI Gateway transcription stream closed before a finish part was received"))}})},cancel:()=>{l||(l=!0,u())}})}({webSocket:this.config.webSocket,url:nc(this.config.baseURL,this.modelId),protocols:null==(l=(null==(i=(s=tw(d)).authorization)?void 0:i.startsWith("Bearer "))?i.slice(7):void 0)?[rY]:rW(rY,l,{teamIdOrSlug:s[aE]}),headers:d,startFrame:p,audio:e.audio,abortSignal:e.abortSignal,authMethod:c}),request:{body:p},response:{timestamp:u,modelId:this.modelId}}}getUrl(){return`${this.config.baseURL}/transcription-model`}getModelConfigHeaders(){return{"ai-transcription-model-specification-version":"4","ai-model-id":this.modelId}}};function nc(e,t){let r=new URL(`${e.replace(/^http/,"ws")}/transcription-model`);return r.searchParams.set("ai-model-id",t),r.toString()}var np=rK.object({}).catchall(rK.unknown()),nh=rK.discriminatedUnion("type",[rK.object({type:rK.literal("unsupported"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("compatibility"),feature:rK.string(),details:rK.string().optional()}),rK.object({type:rK.literal("deprecated"),setting:rK.string(),message:rK.string()}),rK.object({type:rK.literal("other"),message:rK.string()})]),nm=rK.object({text:rK.string(),segments:rK.array(rK.object({text:rK.string(),startSecond:rK.number(),endSecond:rK.number()})).optional(),language:rK.string().nullish(),durationInSeconds:rK.number().nullish(),warnings:rK.array(nh).optional(),providerMetadata:rK.record(rK.string(),np).optional()});async function ng(e,t,r){e.error(await a_(t,r))}var nf={authentication_error:401,failed_dependency:424,forbidden:403,internal_server_error:500,invalid_request_error:400,model_not_found:404,rate_limit_exceeded:429};async function ny(e,t){return"object"==typeof e&&null!=e&&"message"in e&&"string"==typeof e.message&&"type"in e&&"string"==typeof e.type&&e.type in nf?av({response:{error:{message:e.message,type:e.type}},statusCode:nf[e.type],authMethod:t}):Error(`AI Gateway transcription stream failed: ${null!=e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message?e.message:eU(e)}`)}var nv=class{constructor(e,t){this.specificationVersion="v4",this.modelId=e,this.provider=t.provider,this.config=t}async doCreateClientSecret(e){var t,r;let a,n=await this.config.createClientSecret({modelId:this.modelId,...(null==e?void 0:e.expiresAfterSeconds)!=null&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:n.token,url:(t=this.config.baseURL,r=this.modelId,(a=new URL(`${t.replace(/^http/,"ws")}/realtime-model`)).searchParams.set("ai-model-id",r),a.toString()),...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}getWebSocketConfig(e){return{url:e.url,protocols:rW("ai-gateway-realtime.v1",e.token,{teamIdOrSlug:this.config.teamIdOrSlug})}}parseServerEvent(e){return e}serializeClientEvent(e){return e}buildSessionConfig(e){return e}},nb=rS({id:"gateway.exa_search",inputSchema:rg(()=>rv(rK.object({query:rK.string().describe("Natural-language web search query. This is required."),type:rK.enum(["auto","fast","instant"]).optional().describe("Search method. Use auto for the default balance of speed and quality."),num_results:rK.number().optional().describe("Maximum number of results to return (1-100, default: 10)."),category:rK.enum(["company","people","research paper","news","personal site","financial report"]).optional().describe("Optional content category to focus results."),user_location:rK.string().optional().describe("Two-letter ISO country code such as 'US'."),include_domains:rK.array(rK.string()).optional().describe("Only return results from these domains."),exclude_domains:rK.array(rK.string()).optional().describe("Exclude results from these domains."),start_published_date:rK.string().optional().describe("Only return links published after this ISO 8601 date."),end_published_date:rK.string().optional().describe("Only return links published before this ISO 8601 date."),contents:rK.object({text:rK.union([rK.boolean(),rK.object({max_characters:rK.number().optional(),include_html_tags:rK.boolean().optional(),verbosity:rK.enum(["compact","standard","full"]).optional(),include_sections:rK.array(rK.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional(),exclude_sections:rK.array(rK.enum(["header","navigation","banner","body","sidebar","footer","metadata"])).optional()})]).optional(),highlights:rK.union([rK.boolean(),rK.object({query:rK.string().optional(),max_characters:rK.number().optional()})]).optional(),max_age_hours:rK.number().optional(),livecrawl_timeout:rK.number().optional(),subpages:rK.number().optional(),subpage_target:rK.union([rK.string(),rK.array(rK.string())]).optional(),extras:rK.object({links:rK.number().optional(),image_links:rK.number().optional()}).optional()}).optional().describe("Controls extracted page content and freshness.")}))),outputSchema:rg(()=>rv(rK.union([rK.object({requestId:rK.string(),searchType:rK.string().optional(),resolvedSearchType:rK.string().optional(),results:rK.array(rK.object({title:rK.string(),url:rK.string(),id:rK.string(),publishedDate:rK.string().nullable().optional(),author:rK.string().nullable().optional(),image:rK.string().nullable().optional(),favicon:rK.string().nullable().optional(),text:rK.string().optional(),highlights:rK.array(rK.string()).optional(),highlightScores:rK.array(rK.number()).optional(),summary:rK.string().optional(),subpages:rK.array(rK.any()).optional(),extras:rK.object({links:rK.array(rK.string()).optional(),imageLinks:rK.array(rK.string()).optional()}).optional()})),costDollars:rK.object({total:rK.number().optional(),search:rK.record(rK.string(),rK.number()).optional()}).optional()}),rK.object({error:rK.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","execution_error","unknown"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nw=rS({id:"gateway.parallel_search",inputSchema:rg(()=>rv(rK.object({objective:rK.string().describe("Natural-language description of the web research goal, including source or freshness guidance and broader context from the task. Maximum 5000 characters."),search_queries:rK.array(rK.string()).optional().describe("Optional search queries to supplement the objective. Maximum 200 characters per query."),mode:rK.enum(["one-shot","agentic"]).optional().describe('Mode preset: "one-shot" for comprehensive results with longer excerpts (default), "agentic" for concise, token-efficient results for multi-step workflows.'),max_results:rK.number().optional().describe("Maximum number of results to return (1-20). Defaults to 10 if not specified."),source_policy:rK.object({include_domains:rK.array(rK.string()).optional().describe("Limit results to these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),exclude_domains:rK.array(rK.string()).optional().describe("Exclude results from these domains. Use plain domain names only — e.g. example.com or sub.example.gov, or a bare extension like .edu. Do not include a scheme, path, or port (e.g. not https://example.com/page)."),after_date:rK.string().optional().describe("Only include results published after this date. Use an ISO 8601 calendar date formatted YYYY-MM-DD (e.g. 2025-01-01); do not include a time.")}).optional().describe("Source policy for controlling which domains to include/exclude and freshness."),excerpts:rK.object({max_chars_per_result:rK.number().optional().describe("Maximum characters per result."),max_chars_total:rK.number().optional().describe("Maximum total characters across all results.")}).optional().describe("Excerpt configuration for controlling result length."),fetch_policy:rK.object({max_age_seconds:rK.number().optional().describe("Maximum age in seconds for cached content. Set to 0 to always fetch fresh content.")}).optional().describe("Fetch policy for controlling content freshness.")}))),outputSchema:rg(()=>rv(rK.union([rK.object({searchId:rK.string(),results:rK.array(rK.object({url:rK.string(),title:rK.string(),excerpt:rK.string(),publishDate:rK.string().nullable().optional(),relevanceScore:rK.number().optional()}))}),rK.object({error:rK.enum(["api_error","rate_limit","timeout","invalid_input","configuration_error","unknown"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nx=rS({id:"gateway.perplexity_search",inputSchema:rg(()=>rv(rK.object({query:rK.union([rK.string(),rK.array(rK.string())]).describe("Search query (string) or multiple queries (array of up to 5 strings). Multi-query searches return combined results from all queries."),max_results:rK.number().optional().describe("Maximum number of search results to return (1-20, default: 10)"),max_tokens_per_page:rK.number().optional().describe("Maximum number of tokens to extract per search result page (256-2048, default: 2048)"),max_tokens:rK.number().optional().describe("Maximum total tokens across all search results (default: 25000, max: 1000000)"),country:rK.string().optional().describe("Two-letter ISO 3166-1 alpha-2 country code for regional search results (e.g., 'US', 'GB', 'FR')"),search_domain_filter:rK.array(rK.string()).optional().describe("List of domains to include or exclude from search results (max 20). To include: ['nature.com', 'science.org']. To exclude: ['-example.com', '-spam.net']"),search_language_filter:rK.array(rK.string()).optional().describe("List of ISO 639-1 language codes to filter results (max 10, lowercase). Examples: ['en', 'fr', 'de']"),search_after_date:rK.string().optional().describe("Include only results published after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),search_before_date:rK.string().optional().describe("Include only results published before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),last_updated_after_filter:rK.string().optional().describe("Include only results last updated after this date. Format: 'MM/DD/YYYY' (e.g., '3/1/2025'). Cannot be used with search_recency_filter."),last_updated_before_filter:rK.string().optional().describe("Include only results last updated before this date. Format: 'MM/DD/YYYY' (e.g., '3/15/2025'). Cannot be used with search_recency_filter."),search_recency_filter:rK.enum(["day","week","month","year"]).optional().describe("Filter results by relative time period. Cannot be used with search_after_date or search_before_date.")}))),outputSchema:rg(()=>rv(rK.union([rK.object({results:rK.array(rK.object({title:rK.string(),url:rK.string(),snippet:rK.string(),date:rK.string().optional(),lastUpdated:rK.string().optional()})),id:rK.string()}),rK.object({error:rK.enum(["api_error","rate_limit","timeout","invalid_input","unknown"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nk=rK.object({count:rK.number().optional().describe("Maximum number of data results to return (1-20). When include_contents is true, each additional result adds its own data surcharge."),include_contents:rK.boolean().optional().describe("Inline rows for each data result. This adds a data surcharge based on row count and dataset source. To estimate cost, search with include_contents disabled and inspect cards.content.export_pricing. This applies to every returned card; limit sources.data.count and sources.data.max_rows to control cost."),mode:rK.enum(["inline","url"]).optional().describe("Requested data delivery mode. Search card data is always inline."),content_format:rK.enum(["card_json","csv","json_compact","json_records"]).optional().describe("Serialization for inlined card data."),max_rows:rK.number().optional().describe("Maximum rows to inline per result. Omit to use the allowance in cards.content.export_pricing. A data surcharge applies per 1,000 exported rows; lower values reduce cost."),node_ids:rK.array(rK.string()).optional().describe("Data Graph node IDs to prioritize. Maximum 20."),strict:rK.boolean().optional().describe("Only return cards matching node_ids. Requires a non-empty node_ids.")}),nI=rK.object({count:rK.number().optional().describe("Maximum number of web results to return (1-20)."),include_contents:rK.boolean().optional().describe("Inline extracted web page text. This can add a data charge."),category:rK.enum(["finance","news","sports"]).optional().describe("Optional web-result category filter."),include_domains:rK.array(rK.string()).optional().describe("Only return results from these bare domains."),exclude_domains:rK.array(rK.string()).optional().describe("Exclude results from these bare domains."),snippet_max_chars:rK.number().optional().describe("Maximum characters in each web-result snippet."),highlights:rK.boolean().optional().describe("Include highlighted passages in web results. Defaults to true in AI Gateway."),article_content_max_chars:rK.number().optional().describe("Maximum extracted characters per web page when including contents."),published_after:rK.string().optional().describe("Keep results published on or after this ISO date (YYYY-MM-DD)."),published_before:rK.string().optional().describe("Keep results published on or before this ISO date (YYYY-MM-DD).")}),n_=rg(()=>rv(rK.object({query:rK.string().describe('Natural-language search query. Include the entity, metric, and time period. Quote a phrase to force it to one entity, for example "Tesla":PRODUCT price.'),effort:rK.enum(["deep","fast","instant"]).optional().describe("Search effort. fast is the balanced default, instant favors cached results and low latency, and deep broadens retrieval with reranking at higher cost and latency."),sources:rK.object({data:nk.optional(),web:nI.optional()}).optional().describe("Sources to search. Omit to search both curated data and the web. When provided, only keys present are searched."),location:rK.object({latitude:rK.number().describe("Latitude between -90 and 90."),longitude:rK.number().describe("Longitude between -180 and 180.")}).optional().describe("End-user coordinates for localized results."),country_code:rK.string().optional().describe("Two-letter ISO 3166-1 country code, such as 'US'."),locale:rK.string().optional().describe("BCP-47 locale, such as 'en-US'."),timezone:rK.string().optional().describe("IANA timezone, such as 'America/New_York'."),output_settings:rK.object({image_dark_mode:rK.boolean().optional().describe("Render card preview images in dark mode."),force_refresh:rK.boolean().optional().describe("Instant-effort only. Request a refreshed instant result.")}).optional().describe("Controls card rendering in the search response."),include_related:rK.number().optional().describe("Maximum related search suggestions to include (1-20).")}))),nj=rK.union([rK.boolean(),rK.number(),rK.string()]).nullable(),nE=rK.object({content_format:rK.enum(["card_json","csv","json_compact","json_records"]).nullish(),cost:rK.number().optional(),data:rK.string().nullish(),records:rK.array(rK.record(rK.string(),nj)).nullish(),dataset:rK.object({columns:rK.array(rK.object({name:rK.string(),type:rK.enum(["boolean","date","datetime","number","string"]),unit:rK.string().nullish()})),rows:rK.array(rK.array(nj)),total_rows:rK.number(),truncated:rK.boolean(),ref:rK.string(),sources:rK.array(rK.object({name:rK.string(),index:rK.enum(["data","web"]).optional()})),provenance:rK.enum(["query","web_extraction"]).optional()}).nullish(),card_data:rK.object({}).passthrough().nullish(),card_data_schema:rK.object({}).passthrough().nullish(),url:rK.string().nullish(),expires_at:rK.string().nullish(),total_rows:rK.number().nullish(),truncated:rK.boolean().optional(),export_pricing:rK.object({baseline_usd:rK.number(),free_rows:rK.number(),max_rows_ceiling:rK.number(),row_cpm_usd:rK.number()}).nullish(),manifest:rK.array(rK.object({dtype:rK.enum(["boolean","date","datetime","number","string"]).nullish(),entity:rK.string().nullish(),metric:rK.string().nullish(),name:rK.string().nullish(),unit:rK.string().nullish()})).nullish()}).passthrough(),nS=rK.object({card_id:rK.string().nullish(),title:rK.string().nullish(),description:rK.string().nullish(),semantic_description:rK.string().nullish(),webpage_url:rK.string().nullish(),image_url:rK.string().nullish(),embed_url:rK.string().nullish(),sources:rK.array(rK.object({source_name:rK.string().nullish(),source_description:rK.string().nullish(),source_index:rK.enum(["data","web"]),source_text:rK.string().nullish(),url:rK.string().nullish()})).nullish(),methodologies:rK.array(rK.object({methodology_name:rK.string().nullable(),methodology_description:rK.string().nullable()})).nullish(),source_indexes:rK.array(rK.enum(["data","web"])).nullish(),card_type:rK.string().nullish(),relevance:rK.enum(["High","Low","Medium"]).nullish(),content:nE.nullish(),exportable:rK.boolean().optional(),nodes:rK.array(rK.object({id:rK.string(),type:rK.enum(["entity","metric"]),name:rK.string(),description:rK.string().nullish()})).nullish(),metric_definitions:rK.array(rK.object({name:rK.string(),definition:rK.string()})).nullish(),data_freshness:rK.object({coverage_end:rK.string().nullish(),data_as_of:rK.string().nullish(),last_updated:rK.string().nullish()}).nullish()}).passthrough(),nM=rK.object({title:rK.string(),url:rK.string(),snippet:rK.string().nullish(),source_name:rK.string().nullish(),publish_date:rK.string().nullish(),content:nE.nullish()}).passthrough(),nA=rS({id:"gateway.tako_search",inputSchema:n_,outputSchema:rg(()=>rv(rK.union([rK.object({request_id:rK.string(),cards:rK.array(nS).optional(),web_results:rK.array(nM).optional(),usage:rK.object({total_cost_usd:rK.number(),compute:rK.object({cost_usd:rK.number()}).nullish(),data:rK.object({cost_usd:rK.number(),datasets:rK.number()}).nullish()}).nullish(),related:rK.array(rK.object({}).passthrough()).nullish()}).passthrough(),rK.object({error:rK.enum(["api_error","configuration_error","execution_error","invalid_input","rate_limit","timeout","unknown_tool"]),statusCode:rK.number().optional(),message:rK.string()})])))}),nT={exaSearch:(e={})=>nb(e),parallelSearch:(e={})=>nw(e),perplexitySearch:(e={})=>nx(e),takoSearch:(e={})=>nA(e)};async function nR(){var e;return null==(e=(0,rG.getContext)().headers)?void 0:e["x-vercel-id"]}var nC=rK.object({token:rK.string(),expiresAt:rK.number().nullish()});async function nO(e){let t=tH({settingValue:e.apiKey,environmentVariableName:"AI_GATEWAY_API_KEY"});return t?{token:t,authMethod:"api-key"}:{token:await (0,rG.getVercelOidcToken)(),authMethod:"oidc"}}!function(e={}){var t,r,a;let n=null,o=null,s=null!=(t=e.metadataCacheRefreshMillis)?t:3e5,i=0,l=null!=(r=null==(a=e.baseURL)?void 0:a.replace(/\/$/,""))?r:"https://ai-gateway.vercel.sh/v4/ai",u=t=>tx({Authorization:`Bearer ${t.token}`,"ai-gateway-protocol-version":"0.0.1",[aj]:t.authMethod,...null!=e.teamIdOrSlug?{[aE]:e.teamIdOrSlug}:{},...e.headers},"ai-sdk/gateway/4.0.75"),d=async()=>{try{return u(await nO(e))}catch(e){throw r1.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},c=async()=>{try{return await nO(e)}catch(e){throw r1.createContextualError({apiKeyProvided:!1,oidcTokenProvided:!1,statusCode:401,cause:e})}},p=async t=>{if(void 0!==globalThis.window)throw Error("AI Gateway client secrets must be minted server-side: minting needs your Gateway credential, which must never reach the browser. Call gateway.experimental_realtime.getToken() or gateway.experimental_transcription.getToken() from your server and pass the returned token to the client.");let r=u(await c()),a=new URL("/v1/realtime/client-secrets",l).toString();try{let{value:n}=await rj({url:a,headers:r,body:{model:t.modelId,...null!=t.routeKind&&{routeKind:t.routeKind},...null!=t.expiresAfterSeconds&&{expiresIn:t.expiresAfterSeconds}},successfulResponseHandler:rC(nC),failedResponseHandler:rR({errorSchema:rK.any(),errorToMessage:e=>{var t;return null!=(t=eU(e))?t:"unknown error"}}),fetch:e.fetch});return{token:n.token,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}catch(e){throw await a_(e,await aS(r))}},h=()=>{let e=tH({settingValue:void 0,environmentVariableName:"VERCEL_DEPLOYMENT_ID"}),t=tH({settingValue:void 0,environmentVariableName:"VERCEL_ENV"}),r=tH({settingValue:void 0,environmentVariableName:"VERCEL_REGION"}),a=tH({settingValue:void 0,environmentVariableName:"VERCEL_PROJECT_ID"});return async()=>{let n=await nR();return{...e&&{"ai-o11y-deployment-id":e},...t&&{"ai-o11y-environment":t},...r&&{"ai-o11y-region":r},...n&&{"ai-o11y-request-id":n},...a&&{"ai-o11y-project-id":a}}}},m=t=>new aF(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()}),g=async()=>{var t,r,a;let u=null!=(a=null==(r=null==(t=e._internal)?void 0:t.currentDate)?void 0:r.call(t).getTime())?a:Date.now();return(!n||u-i>s)&&(i=u,n=new aT({baseURL:l,headers:d,fetch:e.fetch}).getAvailableModels().then(e=>(o=e,e)).catch(async e=>{throw await a_(e,await aS(await d()))})),o?Promise.resolve(o):n},f=async()=>new aT({baseURL:l,headers:d,fetch:e.fetch}).getCredits().catch(async e=>{throw await a_(e,await aS(await d()))}),y=async t=>new aO({baseURL:l,headers:d,fetch:e.fetch}).getSpendReport(t).catch(async e=>{throw await a_(e,await aS(await d()))}),v=async t=>new aP({baseURL:l,headers:d,fetch:e.fetch}).getGenerationInfo(t).catch(async e=>{throw await a_(e,await aS(await d()))}),b=function(e){if(new.target)throw Error("The Gateway Provider model function cannot be called with the new keyword.");return m(e)};b.specificationVersion="v4",b.getAvailableModels=g,b.getCredits=f,b.getSpendReport=y,b.getGenerationInfo=v,b.imageModel=t=>new aQ(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()}),b.languageModel=m;let w=t=>new aK(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});b.embeddingModel=w,b.textEmbeddingModel=w,b.videoModel=t=>new a6(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});let x=t=>new na(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});b.rerankingModel=x,b.reranking=x;let k=t=>new ns(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h()});b.speechModel=k,b.speech=k;let I=t=>new nd(t,{provider:"gateway",baseURL:l,headers:d,fetch:e.fetch,o11yHeaders:h(),webSocket:e.webSocket});b.transcriptionModel=I,b.transcription=I,b.experimental_transcription=Object.assign(e=>I(e),{getToken:async e=>{let t=await p({modelId:e.model,routeKind:"transcription",...null!=e.expiresAfterSeconds&&{expiresAfterSeconds:e.expiresAfterSeconds}});return{token:t.token,url:nc(l,e.model),...null!=t.expiresAt&&{expiresAt:t.expiresAt}}}});let _=t=>new nv(t,{provider:"gateway.realtime",baseURL:l,teamIdOrSlug:e.teamIdOrSlug,createClientSecret:p});b.experimental_realtime=Object.assign(e=>_(e),{getToken:async e=>{let{model:t,...r}=e,a=_(t),n=await a.doCreateClientSecret(r);return{token:n.token,url:n.url,...null!=n.expiresAt&&{expiresAt:n.expiresAt}}}}),b.chat=b.languageModel,b.embedding=b.embeddingModel,b.image=b.imageModel,b.video=b.videoModel,b.tools=nT}();var nN=Object.defineProperty,nP="AI_InvalidArgumentError",n$=`vercel.ai.error.${nP}`,nD=Symbol.for(n$),nU=class extends(z=eA,B=nD,z){constructor({parameter:e,value:t,message:r}){super({name:nP,message:`Invalid argument for parameter ${e}: ${r}`}),this[B]=!0,this.parameter=e,this.value=t}static isInstance(e){return eA.hasMarker(e,n$)}},nF=Symbol.for("vercel.ai.error.AI_InvalidStreamPartError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalError");Symbol.for("vercel.ai.error.AI_InvalidToolApprovalSignatureError");Symbol.for("vercel.ai.error.AI_InvalidToolInputError");Symbol.for("vercel.ai.error.AI_ToolCallNotFoundForApprovalError");Symbol.for("vercel.ai.error.AI_MissingToolResultsError");Symbol.for("vercel.ai.error.AI_NoImageGeneratedError");var nL="AI_NoObjectGeneratedError",nq=`vercel.ai.error.${nL}`,nB=Symbol.for(nq),nz=class extends(V=eA,H=nB,V){constructor({message:e="No object generated.",cause:t,text:r,response:a,usage:n,finishReason:o}){super({name:nL,message:e,cause:t}),this[H]=!0,this.text=r,this.response=a,this.usage=n,this.finishReason=o}static isInstance(e){return eA.hasMarker(e,nq)}},nH=Symbol.for("vercel.ai.error.AI_NoOutputGeneratedError");Symbol.for("vercel.ai.error.AI_NoSpeechGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranscriptGeneratedError");Symbol.for("vercel.ai.error.AI_NoTranslationGeneratedError");Symbol.for("vercel.ai.error.AI_NoVideoGeneratedError");Symbol.for("vercel.ai.error.AI_NoSuchToolError");Symbol.for("vercel.ai.error.AI_StreamProviderError");Symbol.for("vercel.ai.error.AI_ToolCallRepairError");Symbol.for("vercel.ai.error.AI_ToolChoiceViolationError");var nV="AI_UIMessageStreamError",nZ=`vercel.ai.error.${nV}`,nG=Symbol.for(nZ),nY=class extends(G=eA,Z=nG,G){constructor({chunkType:e,chunkId:t,message:r}){super({name:nV,message:r}),this[Z]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return eA.hasMarker(e,nZ)}},nW=Symbol.for("vercel.ai.error.AI_InvalidDataContentError");Symbol.for("vercel.ai.error.AI_InvalidMessageRoleError");Symbol.for("vercel.ai.error.AI_MessageConversionError");Symbol.for("vercel.ai.error.AI_RetryError");var nK=async({url:e,maxBytes:t,abortSignal:r})=>{var a;let n=e.toString();try{let e=tx({},"ai-sdk/7.0.93",tm()),o=await tU({url:n,headers:e,abortSignal:r});if(!o.ok)throw await tk(o),new tE({url:n,statusCode:o.status,statusText:o.statusText});return{data:await tF({response:o,url:n,maxBytes:null!=t?t:0x80000000}),mediaType:null!=(a=o.headers.get("content-type"))?a:void 0}}catch(e){if(tE.isInstance(e))throw e;throw new tE({url:n,cause:e})}},nJ={array:rZ.array,boolean:rZ.boolean,custom:rZ.custom,discriminatedUnion:rZ.discriminatedUnion,enum:rZ.enum,instanceof:rZ.instanceof,lazy:rZ.lazy,literal:rZ.literal,looseObject:rZ.looseObject,never:rZ.never,null:rZ.null,number:rZ.number,object:rZ.object,record:rZ.record,string:rZ.string,union:rZ.union,unknown:rZ.unknown},nX=nJ.lazy(()=>nJ.union([nJ.null(),nJ.string(),nJ.number(),nJ.boolean(),nJ.record(nJ.string(),nX.optional()),nJ.array(nX)])),nQ=nJ.record(nJ.string(),nJ.record(nJ.string(),nX.optional())),n0=nJ.union([nJ.string(),nJ.instanceof(Uint8Array),nJ.instanceof(ArrayBuffer),nJ.custom(function(e){var t,r;return null!=(r=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&r},{message:"Must be a Buffer"})]),n1=nJ.record(nJ.string(),nJ.string()),n2=nJ.object({type:nJ.literal("text"),text:nJ.string(),providerOptions:nQ.optional()}),n5=nJ.object({type:nJ.literal("image"),image:nJ.union([n0,nJ.instanceof(URL),n1]),mediaType:nJ.string().optional(),providerOptions:nQ.optional()}),n4=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("data"),data:n0}),nJ.object({type:nJ.literal("url"),url:nJ.instanceof(URL)}),nJ.object({type:nJ.literal("reference"),reference:n1}),nJ.object({type:nJ.literal("text"),text:nJ.string()})]),n6=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("data"),data:n0}),nJ.object({type:nJ.literal("url"),url:nJ.instanceof(URL)})]),n9=nJ.object({type:nJ.literal("file"),data:nJ.union([n4,n0,nJ.instanceof(URL),n1]),filename:nJ.string().optional(),mediaType:nJ.string(),providerOptions:nQ.optional()}),n3=nJ.object({type:nJ.literal("reasoning"),text:nJ.string(),providerOptions:nQ.optional()}),n7=nJ.object({type:nJ.literal("custom"),kind:nJ.string().transform(e=>e),providerOptions:nQ.optional()}),n8=nJ.object({type:nJ.literal("reasoning-file"),data:nJ.union([n6,n0,nJ.instanceof(URL)]),mediaType:nJ.string(),providerOptions:nQ.optional()}),oe=nJ.object({type:nJ.literal("tool-call"),toolCallId:nJ.string(),toolName:nJ.string(),input:nJ.unknown(),providerOptions:nQ.optional(),providerExecuted:nJ.boolean().optional()}),ot=nJ.discriminatedUnion("type",[nJ.object({type:nJ.literal("text"),value:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("json"),value:nX,providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("execution-denied"),reason:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("error-text"),value:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("error-json"),value:nX,providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("content"),value:nJ.array(nJ.union([nJ.object({type:nJ.literal("text"),text:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file"),data:n4,mediaType:nJ.string(),filename:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-data"),data:nJ.string(),mediaType:nJ.string(),filename:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-url"),url:nJ.string(),mediaType:nJ.string().optional(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-id"),fileId:nJ.union([nJ.string(),nJ.record(nJ.string(),nJ.string())]),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("file-reference"),providerReference:nJ.record(nJ.string(),nJ.string()),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-data"),data:nJ.string(),mediaType:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-url"),url:nJ.string(),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-file-id"),fileId:nJ.union([nJ.string(),nJ.record(nJ.string(),nJ.string())]),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("image-file-reference"),providerReference:nJ.record(nJ.string(),nJ.string()),providerOptions:nQ.optional()}),nJ.object({type:nJ.literal("custom"),providerOptions:nQ.optional()})]))})]),or=nJ.object({type:nJ.literal("tool-result"),toolCallId:nJ.string(),toolName:nJ.string(),output:ot,providerOptions:nQ.optional()}),oa=nJ.object({type:nJ.literal("tool-approval-request"),approvalId:nJ.string(),toolCallId:nJ.string(),reason:nJ.string().optional()}),on=nJ.object({type:nJ.literal("tool-approval-response"),approvalId:nJ.string(),approved:nJ.boolean(),reason:nJ.string().optional()}),oo=nJ.object({role:nJ.literal("system"),content:nJ.string(),providerOptions:nQ.optional()}),os=nJ.object({role:nJ.literal("user"),content:nJ.union([nJ.string(),nJ.array(nJ.union([n2,n5,n9]))]),providerOptions:nQ.optional()}),oi=nJ.object({role:nJ.literal("assistant"),content:nJ.union([nJ.string(),nJ.array(nJ.union([n2,n7,n9,n3,n8,oe,or,oa]))]),providerOptions:nQ.optional()}),ol=nJ.object({role:nJ.literal("tool"),content:nJ.array(nJ.union([or,on])),providerOptions:nQ.optional()});nJ.union([oo,os,oi,ol]);var ou={},od={array:()=>og,choice:()=>ov,json:()=>ob,object:()=>om,text:()=>oh};for(var oc in od)nN(ou,oc,{get:od[oc],enumerable:!0});async function op(e){if(void 0===e)return{value:void 0,state:"undefined-input"};let t=await rk({text:e});return t.success?{value:t.value,state:"successful-parse"}:(t=await rk({text:function(e){let t=["ROOT"],r=-1,a=null,n=0;function o(e,n,o){switch(e){case'"':r=n,t.pop(),t.push(o),t.push("INSIDE_STRING");break;case"f":case"t":case"n":r=n,a=n,t.pop(),t.push(o),t.push("INSIDE_LITERAL");break;case"-":t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r=n,t.pop(),t.push(o),t.push("INSIDE_NUMBER");break;case"{":r=n,t.pop(),t.push(o),t.push("INSIDE_OBJECT_START");break;case"[":r=n,t.pop(),t.push(o),t.push("INSIDE_ARRAY_START")}}function s(e,a){switch(e){case",":t.pop(),t.push("INSIDE_OBJECT_AFTER_COMMA");break;case"}":r=a,t.pop()}}function i(e,a){switch(e){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=a,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case"ROOT":o(u,l,"FINISH");break;case"INSIDE_OBJECT_START":switch(u){case'"':t.pop(),t.push("INSIDE_OBJECT_KEY");break;case"}":r=l,t.pop()}break;case"INSIDE_OBJECT_AFTER_COMMA":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_KEY"));break;case"INSIDE_OBJECT_KEY":'"'===u&&(t.pop(),t.push("INSIDE_OBJECT_AFTER_KEY"));break;case"INSIDE_OBJECT_AFTER_KEY":":"===u&&(t.pop(),t.push("INSIDE_OBJECT_BEFORE_VALUE"));break;case"INSIDE_OBJECT_BEFORE_VALUE":o(u,l,"INSIDE_OBJECT_AFTER_VALUE");break;case"INSIDE_OBJECT_AFTER_VALUE":s(u,l);break;case"INSIDE_STRING":switch(u){case'"':t.pop(),r=l;break;case"\\":t.push("INSIDE_STRING_ESCAPE");break;default:r=l}break;case"INSIDE_ARRAY_START":"]"===u?(r=l,t.pop()):(r=l,o(u,l,"INSIDE_ARRAY_AFTER_VALUE"));break;case"INSIDE_ARRAY_AFTER_VALUE":switch(u){case",":t.pop(),t.push("INSIDE_ARRAY_AFTER_COMMA");break;case"]":r=l,t.pop();break;default:r=l}break;case"INSIDE_ARRAY_AFTER_COMMA":o(u,l,"INSIDE_ARRAY_AFTER_VALUE");break;case"INSIDE_STRING_ESCAPE":t.pop(),"u"===u?(n=0,t.push("INSIDE_STRING_UNICODE_ESCAPE")):r=l;break;case"INSIDE_STRING_UNICODE_ESCAPE":(u>="0"&&u<="9"||u>="A"&&u<="F"||u>="a"&&u<="f")&&4==++n&&(t.pop(),r=l);break;case"INSIDE_NUMBER":switch(u){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":r=l;break;case"e":case"E":case"-":case".":break;case",":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(u,l);break;case"}":t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]&&s(u,l);break;case"]":t.pop(),"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l);break;default:t.pop()}break;case"INSIDE_LITERAL":{let n=e.substring(a,l+1);"false".startsWith(n)||"true".startsWith(n)||"null".startsWith(n)?r=l:(t.pop(),"INSIDE_OBJECT_AFTER_VALUE"===t[t.length-1]?s(u,l):"INSIDE_ARRAY_AFTER_VALUE"===t[t.length-1]&&i(u,l))}}}let l=e.slice(0,r+1);for(let r=t.length-1;r>=0;r--)switch(t[r]){case"INSIDE_STRING":l+='"';break;case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":l+="}";break;case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":l+="]";break;case"INSIDE_LITERAL":{let t=e.substring(a,e.length);"true".startsWith(t)?l+="true".slice(t.length):"false".startsWith(t)?l+="false".slice(t.length):"null".startsWith(t)&&(l+="null".slice(t.length))}}return l}(e)})).success?{value:t.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"}}var oh=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),parseCompleteOutput:async({text:e})=>e,parsePartialOutput:async({text:e})=>({partial:e}),createElementStreamTransform(){}}),om=({schema:e,name:t,description:r})=>{let a=ry(e);return{name:"object",responseFormat:rM(a.jsonSchema).then(e=>({type:"json",schema:e,...null!=t&&{name:t},...null!=r&&{description:r}})),async parseCompleteOutput({text:e},t){let r=await rk({text:e});if(!r.success)throw new nz({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let n=await rw({value:r.value,schema:a});if(!n.success)throw new nz({message:"No object generated: response did not match schema.",cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await op(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:t.value}}},createElementStreamTransform(){}}},og=({element:e,minItems:t,maxItems:r,name:a,description:n})=>{if(of({name:"minItems",value:t}),of({name:"maxItems",value:r}),null!=t&&null!=r&&t>r)throw new nU({parameter:"minItems",value:t,message:"minItems must be less than or equal to maxItems"});let o=ry(e);return{name:"array",responseFormat:rM(o.jsonSchema).then(e=>{let{$schema:o,definitions:s,$defs:i,...l}=e;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",...null!=s&&{definitions:s},...null!=i&&{$defs:i},type:"object",properties:{elements:{type:"array",items:l,...null!=t&&{minItems:t},...null!=r&&{maxItems:r}}},required:["elements"],additionalProperties:!1},...null!=a&&{name:a},...null!=n&&{description:n}}}),async parseCompleteOutput({text:e},a){let n=await rk({text:e});if(!n.success)throw new nz({message:"No object generated: could not parse the response.",cause:n.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let s=n.value;if(null==s||"object"!=typeof s||!("elements"in s)||!Array.isArray(s.elements))throw new nz({message:"No object generated: response did not match schema.",cause:new e5({value:s,cause:"response must be an object with an elements array"}),text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let i=oy({value:s.elements,minItems:t,maxItems:r});if(null!=i)throw new nz({message:"No object generated: response did not match schema.",cause:i,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});let l=[];for(let t of s.elements){let r=await rw({value:t,schema:o});if(!r.success)throw new nz({message:"No object generated: response did not match schema.",cause:r.error,text:e,response:a.response,usage:a.usage,finishReason:a.finishReason});l.push(r.value)}return l},async parsePartialOutput({text:e}){let t=await op(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let e=t.value;if(null==e||"object"!=typeof e||!("elements"in e)||!Array.isArray(e.elements))return;let r="repaired-parse"===t.state&&e.elements.length>0?e.elements.slice(0,-1):e.elements,a=[];for(let e of r){let t=await rw({value:e,schema:o});t.success&&a.push(t.value)}return{partial:a}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},a){if(null!=t)for(;e<t.length;e++){if(null!=r&&e>=r)return void a.error(oy({value:t,maxItems:r}));a.enqueue(t[e])}}})}}};function of({name:e,value:t}){if(null!=t){if(!Number.isInteger(t))throw new nU({parameter:e,value:t,message:`${e} must be an integer`});if(t<0)throw new nU({parameter:e,value:t,message:`${e} must be greater than or equal to 0`})}}function oy({value:e,minItems:t,maxItems:r}){return null!=t&&e.length<t?new e5({value:e,cause:`elements array must contain at least ${t} items`}):null!=r&&e.length>r?new e5({value:e,cause:`elements array must contain at most ${r} items`}):void 0}var ov=({options:e,name:t,description:r})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:e}},required:["result"],additionalProperties:!1},...null!=t&&{name:t},...null!=r&&{description:r}}),async parseCompleteOutput({text:t},r){let a=await rk({text:t});if(!a.success)throw new nz({message:"No object generated: could not parse the response.",cause:a.error,text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});let n=a.value;if(null==n||"object"!=typeof n||!("result"in n)||"string"!=typeof n.result||!e.includes(n.result))throw new nz({message:"No object generated: response did not match schema.",cause:new e5({value:n,cause:"response must be an object that contains a choice value."}),text:t,response:r.response,usage:r.usage,finishReason:r.finishReason});return n.result},async parsePartialOutput({text:t}){let r=await op(t);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{let t=r.value;if(null==t||"object"!=typeof t||!("result"in t)||"string"!=typeof t.result)return;let a=e.filter(e=>e.startsWith(t.result));if("successful-parse"===r.state)return a.includes(t.result)?{partial:t.result}:void 0;return 1===a.length?{partial:a[0]}:void 0}}},createElementStreamTransform(){}}),ob=({name:e,description:t}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...null!=e&&{name:e},...null!=t&&{description:t}}),async parseCompleteOutput({text:e},t){let r=await rk({text:e});if(!r.success)throw new nz({message:"No object generated: could not parse the response.",cause:r.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return r.value},async parsePartialOutput({text:e}){let t=await op(e);switch(t.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return void 0===t.value?void 0:{partial:t.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,tL({prefix:"aitxt",size:24}),tL({prefix:"call",size:24}),TransformStream;var ow=nJ.record(nJ.string(),nX.optional()),ox=rg(()=>rv(nJ.union([nJ.looseObject({type:nJ.literal("text-start"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("text-delta"),id:nJ.string(),delta:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("text-end"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("error"),errorText:nJ.string()}),nJ.looseObject({type:nJ.literal("tool-input-start"),toolCallId:nJ.string(),toolName:nJ.string(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),title:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-input-delta"),toolCallId:nJ.string(),inputTextDelta:nJ.string()}),nJ.looseObject({type:nJ.literal("tool-input-available"),toolCallId:nJ.string(),toolName:nJ.string(),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),title:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-input-error"),toolCallId:nJ.string(),toolName:nJ.string(),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),errorText:nJ.string(),title:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-approval-request"),approvalId:nJ.string(),toolCallId:nJ.string(),approvalDescriptor:nJ.unknown().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("tool-approval-response"),approvalId:nJ.string(),approved:nJ.boolean(),reason:nJ.string().optional(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("tool-output-available"),toolCallId:nJ.string(),output:nJ.unknown(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional(),preliminary:nJ.boolean().optional()}),nJ.looseObject({type:nJ.literal("tool-output-error"),toolCallId:nJ.string(),errorText:nJ.string(),providerExecuted:nJ.boolean().optional(),providerMetadata:nQ.optional(),toolMetadata:ow.optional(),dynamic:nJ.boolean().optional()}),nJ.looseObject({type:nJ.literal("tool-output-denied"),toolCallId:nJ.string()}),nJ.looseObject({type:nJ.literal("reasoning-start"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("reasoning-delta"),id:nJ.string(),delta:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("reasoning-end"),id:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("custom"),kind:nJ.string().transform(e=>e),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("source-url"),sourceId:nJ.string(),url:nJ.string(),title:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("source-document"),sourceId:nJ.string(),mediaType:nJ.string(),title:nJ.string(),filename:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("file"),url:nJ.string(),mediaType:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.literal("reasoning-file"),url:nJ.string(),mediaType:nJ.string(),providerMetadata:nQ.optional()}),nJ.looseObject({type:nJ.custom(e=>"string"==typeof e&&e.startsWith("data-"),{message:'Type must start with "data-"'}),id:nJ.string().optional(),data:nJ.unknown(),transient:nJ.boolean().optional()}),nJ.looseObject({type:nJ.literal("start-step")}),nJ.looseObject({type:nJ.literal("finish-step")}),nJ.looseObject({type:nJ.literal("reset-step")}),nJ.looseObject({type:nJ.literal("start"),messageId:nJ.string().optional(),messageMetadata:nJ.unknown().optional()}),nJ.looseObject({type:nJ.literal("finish"),finishReason:nJ.enum(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:nJ.unknown().optional()}),nJ.looseObject({type:nJ.literal("abort"),reason:nJ.string().optional()}),nJ.looseObject({type:nJ.literal("message-metadata"),messageMetadata:nJ.unknown()})])));function ok(){return Object.create(null)}function oI(e){return e.type.startsWith("tool-")}function o_(e){return"dynamic-tool"===e.type}function oj(e){return oI(e)||o_(e)}function oE(e){return e.type.split("-").slice(1).join("-")}function oS(e){return o_(e)?e.toolName:oE(e)}async function oM({stream:e,onError:t,abortSignal:r}){let a=e.getReader(),n=()=>{a.cancel().catch(()=>{})};(null==r?void 0:r.aborted)?n():null==r||r.addEventListener("abort",n,{once:!0});try{for(;;){let{done:e}=await a.read();if(e)break}}catch(e){null==t||t(e)}finally{null==r||r.removeEventListener("abort",n),a.releaseLock()}}tL({prefix:"aitxt",size:24}),tL({prefix:"call",size:24}),tL({prefix:"aitxt",size:24}),tL({prefix:"call",size:24});var oA=nJ.record(nJ.string(),nX.optional()),oT=nJ.record(nJ.string(),nJ.string());function oR(e){return({url:t,abortSignal:r})=>nK({url:t,maxBytes:null==e?void 0:e.maxBytes,abortSignal:r})}rg(()=>rv(nJ.array(nJ.object({id:nJ.string(),role:nJ.enum(["system","user","assistant"]),metadata:nJ.unknown().optional(),parts:nJ.array(nJ.union([nJ.object({type:nJ.literal("text"),text:nJ.string(),state:nJ.enum(["streaming","done"]).optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("reasoning"),id:nJ.string().optional(),text:nJ.string(),state:nJ.enum(["streaming","done"]).optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("custom"),kind:nJ.string(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("source-url"),sourceId:nJ.string(),url:nJ.string(),title:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("source-document"),sourceId:nJ.string(),mediaType:nJ.string(),title:nJ.string(),filename:nJ.string().optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("file"),mediaType:nJ.string(),filename:nJ.string().optional(),url:nJ.string(),providerReference:oT.optional(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("reasoning-file"),mediaType:nJ.string(),url:nJ.string(),providerMetadata:nQ.optional()}),nJ.object({type:nJ.literal("step-start")}),nJ.object({type:nJ.string().startsWith("data-"),id:nJ.string().optional(),data:nJ.unknown()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-streaming"),input:nJ.unknown().optional(),providerExecuted:nJ.boolean().optional(),callProviderMetadata:nQ.optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-available"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-requested"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.never().optional(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.never().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-responded"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.boolean(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-available"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.unknown(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),preliminary:nJ.boolean().optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-error"),input:nJ.unknown().optional(),rawInput:nJ.unknown().optional(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.string(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.literal("dynamic-tool"),toolName:nJ.string(),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-denied"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!1),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-streaming"),providerExecuted:nJ.boolean().optional(),callProviderMetadata:nQ.optional(),input:nJ.unknown().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("input-available"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.never().optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-requested"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.never().optional(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.never().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("approval-responded"),input:nJ.unknown(),providerExecuted:nJ.boolean().optional(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.boolean(),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-available"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown(),output:nJ.unknown(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),preliminary:nJ.boolean().optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-error"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown().optional(),rawInput:nJ.unknown().optional(),output:nJ.never().optional(),errorText:nJ.string(),callProviderMetadata:nQ.optional(),resultProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!0),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()}).optional()}),nJ.object({type:nJ.string().startsWith("tool-"),toolCallId:nJ.string(),title:nJ.string().optional(),toolMetadata:oA.optional(),state:nJ.literal("output-denied"),providerExecuted:nJ.boolean().optional(),input:nJ.unknown(),output:nJ.never().optional(),errorText:nJ.never().optional(),callProviderMetadata:nQ.optional(),approval:nJ.object({id:nJ.string(),approved:nJ.literal(!1),descriptor:nJ.unknown().optional(),requestReason:nJ.string().optional(),reason:nJ.string().optional(),isAutomatic:nJ.boolean().optional(),signature:nJ.string().optional()})})]))}).superRefine((e,t)=>{"assistant"!==e.role&&0===e.parts.length&&t.addIssue({origin:"array",code:"too_small",minimum:1,inclusive:!0,input:e.parts,path:["parts"],message:"Message must contain at least one part"})})).nonempty("Messages array must not be empty"))),tL({prefix:"call",size:24}),tL({prefix:"call",size:24}),new TextEncoder,tL({prefix:"aiobj",size:24});var oC=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,r)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){r(e)}}),this.processQueue()})}};tL({prefix:"aiobj",size:24}),oR();Symbol.for("vercel.ai.error.AI_NoSuchProviderError");async function oO(e){if(null==e)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error("FileList is not supported in the current environment");return Promise.all(Array.from(e).map(async e=>{let{name:t,type:r}=e;return{type:"file",mediaType:r,filename:t,url:await new Promise((t,r)=>{let a=new FileReader;a.onload=e=>{var r;t(null==(r=e.target)?void 0:r.result)},a.onerror=e=>r(e),a.readAsDataURL(e)})}}))}tL({prefix:"call",size:24}),oR();var oN=class{constructor({api:e="/api/chat",credentials:t,headers:r,body:a,fetch:n,prepareSendMessagesRequest:o,prepareReconnectToStreamRequest:s}){this.api=e,this.credentials=t,this.headers=r,this.body=a,this.fetch=n,this.prepareSendMessagesRequest=o,this.prepareReconnectToStreamRequest=s}async sendMessages({abortSignal:e,...t}){var r,a,n,o;let s=await rM(this.body),i=await rM(this.headers),l=await rM(this.credentials),u={...tw(i),...tw(t.headers)},d=await (null==(r=this.prepareSendMessagesRequest)?void 0:r.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...s,...t.body},headers:u,credentials:l,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId})),c=null!=(a=null==d?void 0:d.api)?a:this.api,p=(null==d?void 0:d.headers)!==void 0?tw(d.headers):u,h=(null==d?void 0:d.body)!==void 0?d.body:{...s,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId},m=null!=(n=null==d?void 0:d.credentials)?n:l,g=null!=(o=this.fetch)?o:globalThis.fetch,f=await g(c,{method:"POST",headers:{"Content-Type":"application/json",...p},body:JSON.stringify(h),credentials:m,signal:e});if(!f.ok)throw Error(await f.text()||"Failed to fetch the chat response.");if(!f.body)throw Error("The response body is empty.");return this.processResponseStream(f.body)}async reconnectToStream(e){var t,r,a,n;let o=await rM(this.body),s=await rM(this.headers),i=await rM(this.credentials),l={...tw(s),...tw(e.headers)},u=await (null==(t=this.prepareReconnectToStreamRequest)?void 0:t.call(this,{api:this.api,id:e.chatId,body:{...o,...e.body},headers:l,credentials:i,requestMetadata:e.metadata})),d=null!=(r=null==u?void 0:u.api)?r:`${this.api}/${e.chatId}/stream`,c=(null==u?void 0:u.headers)!==void 0?tw(u.headers):l,p=null!=(a=null==u?void 0:u.credentials)?a:i,h=null!=(n=this.fetch)?n:globalThis.fetch,m=await h(d,{method:"GET",headers:c,credentials:p,signal:e.abortSignal});if(204===m.status)return null;if(!m.ok)throw Error(await m.text()||"Failed to fetch the chat response.");if(!m.body)throw Error("The response body is empty.");return this.processResponseStream(m.body)}},oP=class extends oN{constructor(e={}){super(e)}processResponseStream(e){return rI({stream:e,schema:ox}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},o$=class{constructor({generateId:e=tq,id:t=e(),transport:r=new oP,messageMetadataSchema:a,dataPartSchemas:n,state:o,onError:s,onToolCall:i,onFinish:l,onData:u,sendAutomaticallyWhen:d}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new oC,this.sendMessage=async(e,t)=>{var r,a,n,o;let s;if(null==e)return void await this.makeRequest({trigger:"submit-message",messageId:null==(r=this.lastMessage)?void 0:r.id,...t});if("text"in e||"files"in e){let t,r=new AbortController;this.pendingMessagePreparations.add(r);try{t=Array.isArray(e.files)?e.files:await oO(e.files)}finally{this.pendingMessagePreparations.delete(r)}if(r.signal.aborted)return;s={parts:[...t,..."text"in e&&null!=e.text?[{type:"text",text:e.text}]:[]]}}else s=e;if(null!=e.messageId){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(-1===t)throw Error(`message with id ${e.messageId} not found`);if("user"!==this.state.messages[t].role)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{id:e.messageId,...s,role:null!=(a=s.role)?a:"user",metadata:e.metadata})}else this.state.pushMessage({...s,id:null!=(n=s.id)?n:this.generateId(),role:null!=(o=s.role)?o:"user",metadata:e.metadata});await this.makeRequest({trigger:"submit-message",messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let r=null==e?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(-1===r)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,"assistant"===this.messages[r].role?r:r+1),await this.makeRequest({trigger:"regenerate-message",messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:"resume-stream",...e})},this.clearError=()=>{"error"===this.status&&(this.state.error=void 0,this.setStatus({status:"ready"}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:r,options:a})=>this.jobExecutor.run(async()=>{let n=this.state.messages,o=n[n.length-1],s=a=>oj(a)&&"approval-requested"===a.state&&a.approval.id===e?{...a,state:"approval-responded",approval:{...a.approval,id:e,approved:t,reason:r}}:a;this.state.replaceMessage(n.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...a})})}),this.addToolOutput=async({state:e="output-available",toolCallId:t,output:r,errorText:a,options:n})=>this.jobExecutor.run(async()=>{let o=this.state.messages,s=o[o.length-1],i=n=>oj(n)&&n.toolCallId===t?{...n,state:e,output:r,errorText:a}:n;this.state.replaceMessage(o.length-1,{...s,parts:s.parts.map(i)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(i)),"streaming"!==this.status&&"submitted"!==this.status&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{var t;e&&this.makeRequest({trigger:"submit-message",messageId:null==(t=this.lastMessage)?void 0:t.id,...n})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var e,t;for(let e of this.pendingMessagePreparations)e.abort();null==(e=this.activeResumeRequest)||e.abortController.abort(),null==(t=this.activeResponse)||t.abortController.abort()},this.id=t,this.transport=r,this.generateId=e,this.messageMetadataSchema=a,this.dataPartSchemas=n,this.state=o,this.onError=s,this.onToolCall=i,this.onFinish=l,this.onData=u,this.sendAutomaticallyWhen=d}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&"object"==typeof e&&"then"in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:r,body:a,messageId:n}){var o,s,i;let l,u,d=new AbortController,c="resume-stream"===e?{abortController:d}:void 0;c&&(null==(o=this.activeResumeRequest)||o.abortController.abort(),this.activeResumeRequest=c);let p=()=>null==c||this.activeResumeRequest===c,h=()=>{this.activeResumeRequest===c&&(this.activeResumeRequest=void 0)};if("resume-stream"===e)try{let e=await this.transport.reconnectToStream({chatId:this.id,abortSignal:d.signal,metadata:t,headers:r,body:a});if(d.signal.aborted||!p()){await (null==e?void 0:e.cancel().catch(()=>{})),p()&&this.setStatus({status:"ready"}),h();return}if(null==e){this.setStatus({status:"ready"}),h();return}l=e}catch(e){if(d.signal.aborted||"AbortError"===e.name){p()&&this.setStatus({status:"ready"}),h();return}if(!p())return;this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e}),h();return}this.setStatus({status:"submitted",error:void 0});let m=this.lastMessage,g=!1,f=!1,y=!1;try{let o,s={state:function({lastMessage:e,messageId:t}){return{message:(null==e?void 0:e.role)==="assistant"?e:{id:t,metadata:void 0,role:"assistant",parts:[]},activeTextParts:ok(),activeReasoningParts:ok(),partialToolCalls:ok()}}({lastMessage:"resume-stream"===e||"regenerate-message"===e?void 0:this.state.snapshot(m),messageId:this.generateId()}),abortController:d};u=s,s.abortController.signal.addEventListener("abort",()=>{g=!0}),this.activeResponse=s,o="resume-stream"===e?l:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:s.abortController.signal,metadata:t,headers:r,body:a,trigger:e,messageId:n});let i=e=>this.jobExecutor.run(()=>s.abortController.signal.aborted?Promise.resolve():e({state:s.state,write:({updateStatus:e=!0}={})=>{var t;s.abortController.signal.aborted||(e&&this.setStatus({status:"streaming"}),s.state.message.id===(null==(t=this.lastMessage)?void 0:t.id)?this.state.replaceMessage(this.state.messages.length-1,s.state.message):this.state.pushMessage(s.state.message))}}));if(await oM({stream:function({stream:e,messageMetadataSchema:t,dataPartSchemas:r,runUpdateMessageJob:a,onError:n,onToolCall:o,onData:s}){return e.pipeThrough(new TransformStream({async transform(e,i){await a(async({state:a,write:l})=>{var u,d,c,p;function h(){let e=a.message.parts,t=e.length-1;for(;t>=0&&"step-start"!==e[t].type;)t--;return e.slice(t+1)}function m(e){let t=h().filter(oj).find(t=>t.toolCallId===e);if(null==t){let r=a.message.parts;for(let a=r.length-1;a>=0;a--){let n=r[a];if(oj(n)&&n.toolCallId===e){t=n;break}}}if(null==t)throw new nY({chunkType:"tool-invocation",chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function g(e,t){var r;let n=null!=t?t:h().find(t=>oI(t)&&t.toolCallId===e.toolCallId);if(null!=n){n.state=e.state,n.input=e.input,n.output=e.output,n.errorText=e.errorText,n.rawInput=e.rawInput,n.preliminary=e.preliminary,void 0!==e.title&&(n.title=e.title),void 0!==e.toolMetadata&&(n.toolMetadata=e.toolMetadata),n.providerExecuted=null!=(r=e.providerExecuted)?r:n.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?n.resultProviderMetadata=t:n.callProviderMetadata=t)}else a.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},input:e.input,output:e.output,rawInput:e.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,preliminary:e.preliminary,...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}function f(e,t){var r,n;let o=null!=t?t:h().find(t=>"dynamic-tool"===t.type&&t.toolCallId===e.toolCallId);if(null!=o){o.state=e.state,o.toolName=e.toolName,o.input=e.input,o.output=e.output,o.errorText=e.errorText,o.rawInput=null!=(r=e.rawInput)?r:o.rawInput,o.preliminary=e.preliminary,void 0!==e.title&&(o.title=e.title),void 0!==e.toolMetadata&&(o.toolMetadata=e.toolMetadata),o.providerExecuted=null!=(n=e.providerExecuted)?n:o.providerExecuted;let t=e.providerMetadata;null!=t&&("output-available"===e.state||"output-error"===e.state?o.resultProviderMetadata=t:o.callProviderMetadata=t)}else a.message.parts.push({type:"dynamic-tool",toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:e.input,output:e.output,errorText:e.errorText,preliminary:e.preliminary,providerExecuted:e.providerExecuted,title:e.title,...void 0!==e.toolMetadata?{toolMetadata:e.toolMetadata}:{},...null!=e.providerMetadata&&("output-available"===e.state||"output-error"===e.state)?{resultProviderMetadata:e.providerMetadata}:{},...null!=e.providerMetadata&&"output-available"!==e.state&&"output-error"!==e.state?{callProviderMetadata:e.providerMetadata}:{}})}async function y(e){if(null!=e){let r=null!=a.message.metadata?function e(t,r){if(void 0===t&&void 0===r)return;if(void 0===t)return r;if(void 0===r)return t;let a={...t};for(let n in r)if("__proto__"!==n&&"constructor"!==n&&"prototype"!==n&&Object.prototype.hasOwnProperty.call(r,n)){let o=r[n];if(void 0===o)continue;let s=n in t?t[n]:void 0,i=null!==o&&"object"==typeof o&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp),l=null!=s&&"object"==typeof s&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp);i&&l?a[n]=e(s,o):a[n]=o}return a}(a.message.metadata,e):e;null!=t&&await rb({value:r,schema:t,context:{field:"message.metadata",entityId:a.message.id}}),a.message.metadata=r}}switch(e.type){case"text-start":{let t={type:"text",text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeTextParts[e.id]=t,a.message.parts.push(t),l();break}case"text-delta":{let t=a.activeTextParts[e.id];if(null==t)throw new nY({chunkType:"text-delta",chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(u=e.providerMetadata)?u:t.providerMetadata,l();break}case"text-end":{let t=a.activeTextParts[e.id];if(null==t)throw new nY({chunkType:"text-end",chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state="done",t.providerMetadata=null!=(d=e.providerMetadata)?d:t.providerMetadata,delete a.activeTextParts[e.id],l();break}case"custom":{let t={type:"custom",kind:e.kind,providerMetadata:e.providerMetadata};a.message.parts.push(t),l();break}case"reasoning-start":{let t={type:"reasoning",id:e.id,text:"",providerMetadata:e.providerMetadata,state:"streaming"};a.activeReasoningParts[e.id]=t,a.message.parts.push(t),l();break}case"reasoning-delta":{let t=a.activeReasoningParts[e.id];if(null==t)throw new nY({chunkType:"reasoning-delta",chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=null!=(c=e.providerMetadata)?c:t.providerMetadata,l();break}case"reasoning-end":{let t=a.activeReasoningParts[e.id];if(null==t)throw new nY({chunkType:"reasoning-end",chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=null!=(p=e.providerMetadata)?p:t.providerMetadata,t.state="done",delete a.activeReasoningParts[e.id],l();break}case"file":case"reasoning-file":a.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...null!=e.providerMetadata?{providerMetadata:e.providerMetadata}:{}}),l();break;case"source-url":a.message.parts.push({type:"source-url",sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),l();break;case"source-document":a.message.parts.push({type:"source-document",sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),l();break;case"tool-input-start":{let t=h().filter(oI);a.partialToolCalls[e.toolCallId]={text:"",toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-streaming",input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),l();break}case"tool-input-delta":{let t=a.partialToolCalls[e.toolCallId];if(null==t)throw new nY({chunkType:"tool-input-delta",chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:r}=await op(t.text);t.dynamic?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}):g({toolCallId:e.toolCallId,toolName:t.toolName,state:"input-streaming",input:r,title:t.title,toolMetadata:t.toolMetadata}),l();break}case"tool-input-available":e.dynamic?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"input-available",input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),l(),o&&!e.providerExecuted&&await o({toolCall:e});break;case"tool-input-error":{let t=h().filter(oj).find(t=>t.toolCallId===e.toolCallId);(null!=t?"dynamic-tool"===t.type:e.dynamic)?f({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):g({toolCallId:e.toolCallId,toolName:e.toolName,state:"output-error",input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),l();break}case"tool-approval-request":{let t=m(e.toolCallId);t.state="approval-requested",t.approval={id:e.approvalId,...null!=e.approvalDescriptor?{descriptor:e.approvalDescriptor}:{},...null!=e.reason?{requestReason:e.reason}:{},...!0===e.isAutomatic?{isAutomatic:!0}:{},...null!=e.signature?{signature:e.signature}:{}},l();break}case"tool-approval-response":{let t=function(e){let t=a.message.parts.filter(oj).find(t=>{var r;return(null==(r=t.approval)?void 0:r.id)===e});if(null==t)throw new nY({chunkType:"tool-approval-response",chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}(e.approvalId),r=null==t.approval?{id:e.approvalId}:t.approval;t.state="approval-responded",t.approval={...r,id:e.approvalId,approved:e.approved,...null!=e.reason?{reason:e.reason}:{}},null!=e.providerExecuted&&(t.providerExecuted=e.providerExecuted),null!=e.providerMetadata&&(t.callProviderMetadata=e.providerMetadata),l();break}case"tool-output-denied":m(e.toolCallId).state="output-denied",l();break;case"tool-output-available":{let t=m(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-available",input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):g({toolCallId:e.toolCallId,toolName:oE(t),state:"output-available",input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),l();break}case"tool-output-error":{let t=m(e.toolCallId);"dynamic-tool"===t.type?f({toolCallId:e.toolCallId,toolName:t.toolName,state:"output-error",input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):g({toolCallId:e.toolCallId,toolName:oE(t),state:"output-error",input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),l();break}case"start-step":a.message.parts.push({type:"step-start"});break;case"finish-step":break;case"reset-step":{let e=h();a.activeTextParts=ok(),a.activeReasoningParts=ok(),a.partialToolCalls=ok(),e.length>0&&(a.message.parts.splice(a.message.parts.length-e.length,e.length),l());break}case"start":null!=e.messageId&&(a.message.id=e.messageId),await y(e.messageMetadata),(null!=e.messageId||null!=e.messageMetadata)&&l({updateStatus:!1});break;case"finish":null!=e.finishReason&&(a.finishReason=e.finishReason),await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"message-metadata":await y(e.messageMetadata),null!=e.messageMetadata&&l();break;case"error":null==n||n(Error(e.errorText));break;default:if(e.type.startsWith("data-")){if((null==r?void 0:r[e.type])!=null){let t=a.message.parts.findIndex(t=>"id"in t&&"data"in t&&t.id===e.id&&t.type===e.type),n=t>=0?t:a.message.parts.length;await rb({value:e.data,schema:r[e.type],context:{field:`message.parts[${n}].data`,entityName:e.type,entityId:e.id}})}if(e.transient){null==s||s(e);break}let t=null!=e.id?a.message.parts.find(t=>e.type===t.type&&e.id===t.id):void 0;null!=t?t.data=e.data:a.message.parts.push(e),null==s||s(e),l()}}i.enqueue(e)})}}))}({stream:o,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:i,onError:e=>{throw e}}),abortSignal:s.abortController.signal,onError:e=>{throw e}}),g)return p()&&this.setStatus({status:"ready"}),null;p()&&this.setStatus({status:"ready"})}catch(e){if(g||"AbortError"===e.name)return g=!0,p()&&this.setStatus({status:"ready"}),null;if(!p())return null;y=!0,e instanceof TypeError&&(e.message.toLowerCase().includes("fetch")||e.message.toLowerCase().includes("network"))&&(f=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:"error",error:e})}finally{try{u&&(null==(s=this.onFinish)||s.call(this,{message:u.state.message,messages:this.state.messages,isAbort:g,isDisconnect:f,isError:y,finishReason:u.state.finishReason}))}finally{this.activeResponse===u&&(this.activeResponse=void 0),h()}}!y&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:"submit-message",messageId:null==(i=this.lastMessage)?void 0:i.id,metadata:t,headers:r,body:a})}};e.i(560491);var oD=e.i(561866),oU=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},oF=(e,t,r)=>(oU(e,t,"read from private field"),r?r.call(e):t.get(e)),oL=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},oq=(e,t,r,a)=>(oU(e,t,"write to private field"),a?a.call(e,r):t.set(e,r),r),oB=class{constructor(e=[]){oL(this,Y,void 0),oL(this,W,"ready"),oL(this,K,void 0),oL(this,J,new Set),oL(this,X,new Set),oL(this,Q,new Set),this.pushMessage=e=>{oq(this,Y,oF(this,Y).concat(e)),oF(this,ee).call(this)},this.popMessage=()=>{oq(this,Y,oF(this,Y).slice(0,-1)),oF(this,ee).call(this)},this.replaceMessage=(e,t)=>{oq(this,Y,[...oF(this,Y).slice(0,e),this.snapshot(t),...oF(this,Y).slice(e+1)]),oF(this,ee).call(this)},this.snapshot=e=>{var t;if(null==e||"object"!=typeof e||!("parts"in e)||!Array.isArray(e.parts))return e;let r={...e,parts:e.parts.map(e=>({...e}))};return"metadata"in e&&(r.metadata=Array.isArray(t=e.metadata)?[...t]:null!=t&&"object"==typeof t&&(Object.getPrototypeOf(t)===Object.prototype||null===Object.getPrototypeOf(t))?{...t}:t),r},this["~registerMessagesCallback"]=(e,t)=>{let r=t?null!=t?(0,oD.default)(e,t):e:e;return oF(this,J).add(r),()=>{oF(this,J).delete(r)}},this["~registerStatusCallback"]=e=>(oF(this,X).add(e),()=>{oF(this,X).delete(e)}),this["~registerErrorCallback"]=e=>(oF(this,Q).add(e),()=>{oF(this,Q).delete(e)}),oL(this,ee,()=>{oF(this,J).forEach(e=>e())}),oL(this,et,()=>{oF(this,X).forEach(e=>e())}),oL(this,er,()=>{oF(this,Q).forEach(e=>e())}),oq(this,Y,e)}get status(){return oF(this,W)}set status(e){oq(this,W,e),oF(this,et).call(this)}get error(){return oF(this,K)}set error(e){oq(this,K,e),oF(this,er).call(this)}get messages(){return oF(this,Y)}set messages(e){oq(this,Y,[...e]),oF(this,ee).call(this)}};Y=new WeakMap,W=new WeakMap,K=new WeakMap,J=new WeakMap,X=new WeakMap,Q=new WeakMap,ee=new WeakMap,et=new WeakMap,er=new WeakMap;var oz=class extends o${constructor({messages:e,...t}){const r=new oB(e);super({...t,state:r}),oL(this,ea,void 0),this["~registerMessagesCallback"]=(e,t)=>oF(this,ea)["~registerMessagesCallback"](e,t),this["~registerStatusCallback"]=e=>oF(this,ea)["~registerStatusCallback"](e),this["~registerErrorCallback"]=e=>oF(this,ea)["~registerErrorCallback"](e),oq(this,ea,r)}};ea=new WeakMap;var oH=e.i(96892);let oV={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};oV.node;let oZ=(0,el.default)(oV);var oG=e.i(716327),oY=e.i(632781);let oW={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};oW.node;let oK=(0,el.default)(oW);var oJ=e.i(660302),oX=e.i(146538),oQ=e.i(968978),o0=e.i(213377),o1=e.i(647163);let o2=new oP({api:ey.queryKey.memoryEdit});function o5({notes:e}){let[t,r]=(0,ef.useState)(""),[a,n]=(0,ef.useState)({provider:null,model:""}),[o,s]=(0,ef.useState)(!1),{messages:i,sendMessage:l,setMessages:u,status:d,stop:c,error:p,clearError:h}=function({throttle:e,experimental_throttle:t,resume:r=!1,...a}={}){let n,o=null!=e?e:t,s=(0,ef.useRef)({});"chat"in a||(s.current={onToolCall:a.onToolCall,onData:a.onData,onFinish:a.onFinish,onError:a.onError,sendAutomaticallyWhen:a.sendAutomaticallyWhen,transport:a.transport});let i=()=>{var e;return null!=(e=s.current.transport)?e:null!=n?n:n=new oP},l={...a,transport:{sendMessages:e=>i().sendMessages(e),reconnectToStream:e=>i().reconnectToStream(e)},onToolCall:e=>{var t,r;return null==(r=(t=s.current).onToolCall)?void 0:r.call(t,e)},onData:e=>{var t,r;return null==(r=(t=s.current).onData)?void 0:r.call(t,e)},onFinish:e=>{var t,r;return null==(r=(t=s.current).onFinish)?void 0:r.call(t,e)},onError:e=>{var t,r;return null==(r=(t=s.current).onError)?void 0:r.call(t,e)},sendAutomaticallyWhen:e=>{var t,r,a;return null!=(a=null==(r=(t=s.current).sendAutomaticallyWhen)?void 0:r.call(t,e))&&a}},u=(0,ef.useRef)("chat"in a?a.chat:new oz(l));("chat"in a&&a.chat!==u.current||"id"in a&&null!=a.id&&u.current.id!==a.id)&&(u.current="chat"in a?a.chat:new oz(l));let d=u.current,c=(0,ef.useRef)({chat:d,messages:d.messages});c.current.chat!==d&&(c.current={chat:d,messages:d.messages});let p=(0,ef.useCallback)(e=>{let t=!0,r=d["~registerMessagesCallback"](()=>{t&&c.current.chat===d&&(c.current={chat:d,messages:d.messages},e())},o);return c.current={chat:d,messages:d.messages},()=>{t=!1,r()}},[d,o]),h=(0,ef.useCallback)(()=>c.current.messages,[]),m=(0,ef.useSyncExternalStore)(p,h,h),g=(0,ef.useCallback)(e=>d["~registerStatusCallback"](()=>{c.current.chat===d&&(("ready"===d.status||"error"===d.status)&&(c.current={chat:d,messages:d.messages}),e())}),[d]),f=(0,ef.useCallback)(()=>d.status,[d]),y=(0,ef.useSyncExternalStore)(g,f,f),v=(0,ef.useSyncExternalStore)(u.current["~registerErrorCallback"],()=>u.current.error,()=>u.current.error),b=(0,ef.useCallback)(e=>{"function"==typeof e&&(e=e(u.current.messages)),u.current.messages=e},[u]);return(0,ef.useEffect)(()=>{r&&u.current.resumeStream()},[r,u]),{id:u.current.id,messages:m,setMessages:b,sendMessage:u.current.sendMessage,regenerate:u.current.regenerate,clearError:u.current.clearError,stop:u.current.stop,error:v,resumeStream:u.current.resumeStream,status:y,addToolResult:u.current.addToolOutput,addToolOutput:u.current.addToolOutput,addToolApprovalResponse:u.current.addToolApprovalResponse}}({transport:o2}),m=(0,ef.useRef)(c);m.current=c,(0,ef.useEffect)(()=>()=>{m.current()},[]);let g=(0,ef.useRef)(new Map);for(let t of e)for(let e of t.facts)g.current.set(e.id,{text:e.text,path:t.path});let f="submitted"===d||"streaming"===d,y=!!(a.provider&&a.model.trim()),v=[...i].reverse().find(e=>"assistant"===e.role),b=v?.parts??[],w=b.filter(oj),x=b.flatMap(e=>"text"===e.type?[e.text]:[]).join(" ").trim(),k=!!p||w.some(e=>"output-error"===e.state),I=w.filter(e=>"output-available"===e.state&&oS(e)!==o0.TOOL_NAMES.memory_recall).length;(0,ef.useEffect)(()=>{if("ready"!==d||k||0===i.length)return;let e=setTimeout(()=>u([]),4e3);return()=>clearTimeout(e)},[d,k,i.length,u]);let _=f?(0,en.jsx)(oJ.ShinyText,{text:"Working on memory",className:"text-xs"}):p?(0,en.jsx)("span",{className:"text-xs text-destructive",children:p.message}):v?(0,en.jsx)("span",{className:"text-xs text-muted-foreground",children:x||(0===I?"Nothing to change":1===I?"1 change saved":`${I} changes saved`)}):null;return(0,en.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,en.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[o&&(0,en.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,en.jsx)(oX.ModelPicker,{provider:a.provider,model:a.model,unset:"Provider",onChange:n})}),w.length>0&&(0,en.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:w.map(e=>(0,en.jsx)(o6,{name:oS(e),input:e.input,state:e.state,errorText:"output-error"===e.state?e.errorText:void 0,known:g.current},e.toolCallId))}),_&&(0,en.jsx)("p",{className:"max-w-full truncate px-1",children:_}),(0,en.jsxs)("form",{onSubmit:e=>{e.preventDefault();let n=t.trim();n&&y&&!f&&(r(""),s(!1),h(),u([]),l({text:n},{body:{model:a}}))},className:"flex h-10 w-full items-center gap-1.5 rounded-xl bg-popover pr-1.5 pl-3.5 shadow-lg ring-1 ring-foreground/10",children:[(0,en.jsx)("input",{value:t,onChange:e=>r(e.target.value),disabled:f,"aria-label":"Edit memory",placeholder:"Tell memory what changed",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-60"}),(0,en.jsxs)(ev.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>s(!o),className:(0,o1.cn)("max-w-44",!y&&"text-muted-foreground"),children:[y&&a.provider?(0,en.jsxs)(en.Fragment,{children:[(0,en.jsx)(oQ.ProviderIcon,{provider:a.provider,className:"size-3"}),(0,en.jsx)("span",{className:"truncate",children:a.model})]}):"Model",(0,en.jsx)(oG.ChevronDown,{className:"text-muted-foreground"})]}),(0,en.jsx)(ev.Button,{type:"submit",size:"icon-sm",loading:f,disabled:!t.trim()||!y||f,"aria-label":"Send",children:!f&&(0,en.jsx)(oH.ArrowUp,{})})]})]})})}let o4={Remember:eh.Plus,Replace:ed,Forget:oK,Rename:ed,Opened:oZ};function o6({name:e,input:t,state:r,errorText:a,known:n}){let o=function(e,t,r){let a=t??{};if(e===o0.TOOL_NAMES.memory_recall)return{kind:"Opened",path:a.path??"",lines:[],carried:!1};if(e===o0.TOOL_NAMES.memory_forget){let e=(a.factIds??[]).filter(e=>null!=e),t=e.map(e=>r.get(e));return{kind:"Forget",path:t.find(e=>e)?.path??"",lines:e.map((e,r)=>({before:t[r]?.text??`Fact #${e}`})),carried:!1}}let n=(a.facts??[]).filter(e=>null!=e),o=n.map(e=>null!=e.replaces?{before:r.get(e.replaces)?.text??`Fact #${e.replaces}`,after:e.text}:{after:e.text});a.description&&o.push({after:`“${a.description}”`});let s=(a.aliases??[]).filter(Boolean);return s.length&&o.push({after:`Called ${s.map(e=>`“${e}”`).join(", ")}`}),{kind:n.some(e=>null!=e.replaces)?"Replace":n.length?"Remember":"Rename",path:a.path??"",lines:o,carried:n.some(e=>e.alwaysLoad)}}(e,t,n),s=o4[o.kind],i="output-error"===r;return(0,en.jsxs)("li",{className:"flex animate-in items-start gap-2.5 px-3 py-2.5 duration-200 fade-in slide-in-from-bottom-1",children:[(0,en.jsx)(s,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,en.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[o.lines.map((e,t)=>(0,en.jsxs)("div",{children:[e.before&&(0,en.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:e.before}),e.after&&(0,en.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:e.after})]},`${o.kind}-${t}`)),(0,en.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[o.kind,o.path&&` \xb7 ${o.path}`,o.carried&&" · carried into every call"]}),i&&a&&(0,en.jsx)("p",{className:"text-xs text-destructive",children:a})]}),(0,en.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:i?(0,en.jsx)(eg.X,{className:"size-3.5 text-destructive"}):"output-available"===r?(0,en.jsx)(ei.Check,{className:"size-3.5"}):(0,en.jsx)(oY.Loader2,{className:"size-3.5 animate-spin"})})]})}var o9=e.i(95187);let o3=(0,o9.createServerReference)("7f6646bb4ffc74bae401ad2f790ecb1c2b73aea0d3",o9.callServer,void 0,o9.findSourceMapURL,"addFactsAction"),o7=(0,o9.createServerReference)("7f3f09b549ff0f552c5fe9b285263706f0257fb4f2",o9.callServer,void 0,o9.findSourceMapURL,"createNoteAction"),o8=(0,o9.createServerReference)("7feaf6b673da50f141abb3ed2ab6e9b5411f45dc19",o9.callServer,void 0,o9.findSourceMapURL,"deleteNoteAction"),se=(0,o9.createServerReference)("7fa24d7892488547b32c0dd4fcb3dd7149af93c349",o9.callServer,void 0,o9.findSourceMapURL,"forgetFactAction"),st=(0,o9.createServerReference)("7f27d6f67bb232f052b2123054d00eae85d9879274",o9.callServer,void 0,o9.findSourceMapURL,"reviseFactAction"),sr=(0,o9.createServerReference)("7f6b3929a34f6228b7c1a78faf061dd705a7ceecee",o9.callServer,void 0,o9.findSourceMapURL,"setFactAlwaysLoadAction"),sa=(0,o9.createServerReference)("7f705757a8deddfaecfaa2f5413b6c61e129f0c684",o9.callServer,void 0,o9.findSourceMapURL,"updateNoteAction");var sn=e.i(681307),so=e.i(245629);let ss=sn.z.enum(["user","call","bot"]),si=e=>"user"===e?"you":"call"===e?"on a call":"bot"===e?"a bot":"",sl=sn.z.object({id:sn.z.number(),text:sn.z.string(),alwaysLoad:sn.z.boolean(),source:ss.nullish(),createdAt:so.DateLikeSchema});sn.z.object({id:sn.z.number(),path:sn.z.string(),description:sn.z.string(),aliases:sn.z.string().array().nullish(),ownedByUser:sn.z.boolean(),hits:sn.z.number(),lastReadAt:so.DateLikeSchema.nullable(),createdAt:so.DateLikeSchema,updatedAt:so.DateLikeSchema,factCount:sn.z.number(),facts:sl.array()});let su=[{path:"profile",of:"The user themselves — their name, age, what they do, where they live, and whatever else says who they are"},{path:"preferences",of:"How they want things done, and said"},{path:"people/",of:"Someone in their life, and what matters about them"},{path:"projects/",of:"Something with an end — a trip, a purchase, a deadline, a thing being built"},{path:"topics/",of:"Something ongoing that keeps coming back"},{path:"inbox",of:"Nowhere obvious yet"}],sd=su.filter(e=>!e.path.endsWith("/")).map(e=>e.path),sc=su.filter(e=>e.path.endsWith("/")).map(e=>e.path.slice(0,-1));RegExp(`^(?:${sd.join("|")}|(?:${sc.join("|")})/.+)$`);let sp=["profile","preferences"];function sh(e){let t=e.indexOf("/");return -1===t?e:e.slice(t+1)}function sm(e){let t,r,a;return t=e.path,!sp.includes(t)&&.15>(r=(0,so.toDate)(e.lastReadAt??e.createdAt),a=Math.max(0,(Date.now()-r.getTime())/864e5),(e.hits+1)/(1+a))}[...sp];var sg=e.i(895836),sf=e.i(698570),sy=e.i(609856),sv=e.i(661504),sb=e.i(283653);let sw=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"inbox",label:"Inbox"}];function sx({note:e}){let t=e.facts.filter(e=>e.alwaysLoad).length;return(0,en.jsxs)(en.Fragment,{children:[(0,en.jsxs)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:[e.path," · ",e.hits," ",1===e.hits?"read":"reads"," ·"," ",e.lastReadAt?`last read ${(0,es.formatDistanceToNowStrict)(e.lastReadAt,{addSuffix:!0})}`:"never read back"]}),t>0&&(0,en.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[t," carried into every call"]})]})}function sk({note:e,active:t,onPick:r}){return(0,en.jsxs)("button",{type:"button",onClick:r,className:(0,o1.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",t?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground",sm(e)&&!t&&"opacity-55"),children:[(0,en.jsx)("span",{className:(0,o1.cn)("min-w-0 flex-1 truncate text-[13px]",t&&"font-medium"),children:sh(e.path)}),(0,en.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:e.factCount})]})}function sI({note:e}){let[t,r]=(0,ef.useState)(!1),[a,n]=(0,ef.useState)(""),o={onOk:()=>(0,sb.revalidate)(ey.queryKey.memory)},[s]=(0,sy.useServerAction)(sa,o),[i]=(0,sy.useServerAction)(o3,o),[l]=(0,sy.useServerAction)(st,o),[u]=(0,sy.useServerAction)(se,o),[d]=(0,sy.useServerAction)(sr,o),[c,p]=(0,sy.useServerAction)(o8,o),h=async()=>{let t=a.split("\n").map(e=>e.trim()).filter(Boolean);0!==t.length&&(await i(e.id,t),n(""))},m=async()=>{await ex.notify.confirm({title:`Forget ${e.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&c(e.id)};return(0,en.jsxs)("div",{className:(0,o1.cn)("flex min-h-full flex-col",sm(e)&&"opacity-55"),children:[(0,en.jsxs)("div",{className:"flex items-center justify-between gap-3 border-b border-border/60 px-6 py-2.5",children:[(0,en.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:e.path}),(0,en.jsxs)("span",{className:"flex shrink-0 gap-1",children:[(0,en.jsx)(ev.Button,{size:"icon-sm",variant:t?"secondary":"ghost","aria-label":t?"Done editing":"Edit this note",onClick:()=>r(!t),children:t?(0,en.jsx)(ei.Check,{}):(0,en.jsx)(ed,{})}),(0,en.jsx)(ev.Button,{size:"icon-sm",variant:"ghost","aria-label":"Forget this note",loading:p,onClick:m,children:(0,en.jsx)(em.Trash2,{})})]})]}),(0,en.jsxs)("div",{className:"flex-1 space-y-5 px-6 py-5",children:[(0,en.jsxs)("div",{className:"space-y-1.5",children:[(0,en.jsx)("p",{className:"text-xl font-semibold",children:sh(e.path)}),t?(0,en.jsx)(s_,{text:e.description,onCommit:async t=>{await s(e.id,{description:t})}}):(0,en.jsx)("p",{className:"text-[13px] leading-relaxed text-muted-foreground",children:e.description})]}),t?(0,en.jsxs)("div",{className:"space-y-2",children:[e.facts.map(t=>(0,en.jsx)(sj,{text:t.text,alwaysLoad:t.alwaysLoad,onRevise:async r=>{await l(e.id,t.id,r)},onCarry:async r=>{await d(e.id,t.id,r)},onForget:async()=>{await u(e.id,t.id)}},t.id)),(0,en.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,en.jsx)(e_.Textarea,{value:a,onChange:e=>n(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),h())},placeholder:"Add facts — one per line",className:"min-h-9 resize-none py-1.5 text-sm"}),(0,en.jsx)(ev.Button,{size:"icon",variant:"outline",disabled:!a.trim(),onClick:h,children:(0,en.jsx)(eh.Plus,{})})]})]}):0===e.facts.length?(0,en.jsx)("p",{className:"text-xs text-muted-foreground/70",children:"Nothing saved here yet — the agent adds facts during calls"}):(0,en.jsx)("ul",{className:"divide-y divide-border/60 border-y border-border/60",children:e.facts.map(e=>(0,en.jsxs)("li",{className:"flex gap-3 py-3",children:[(0,en.jsx)("span",{className:"flex w-3.5 shrink-0 justify-center pt-1",children:e.alwaysLoad?(0,en.jsx)(ep,{className:"size-3 text-foreground"}):(0,en.jsx)("span",{className:"text-muted-foreground/50",children:"—"})}),(0,en.jsx)("span",{className:"flex-1 text-sm leading-relaxed text-foreground/90",children:e.text}),(0,en.jsxs)("span",{className:"shrink-0 pt-0.5 text-right text-[11px] text-muted-foreground/50",children:[(0,en.jsx)("span",{className:"block font-mono",children:(0,eo.format)(e.createdAt,"yyyy.MM.dd")}),si(e.source)&&(0,en.jsx)("span",{className:"block",children:si(e.source)})]})]},e.id))})]})]})}function s_({text:e,onCommit:t}){let r=(0,sf.useDraft)(e,t);return(0,en.jsx)(ew.Input,{value:r.value,onChange:e=>r.set(e.target.value),onBlur:r.commit,onKeyDown:r.onKeyDown,placeholder:"One-line summary",className:"text-sm text-muted-foreground"})}function sj({text:e,alwaysLoad:t,onRevise:r,onCarry:a,onForget:n}){let o=(0,sf.useDraft)(e,r);return(0,en.jsxs)("div",{className:"flex gap-2",children:[(0,en.jsx)(ew.Input,{value:o.value,onChange:e=>o.set(e.target.value),onBlur:o.commit,onKeyDown:o.onKeyDown,className:"text-sm"}),(0,en.jsx)(ev.Button,{size:"icon",variant:t?"secondary":"ghost","aria-label":t?"Stop carrying into calls":"Carry into every call",title:"Carried into every call, without opening this note",onClick:()=>a(!t),children:(0,en.jsx)(ep,{className:(0,o1.cn)(!t&&"text-muted-foreground/60")})}),(0,en.jsx)(ev.Button,{size:"icon",variant:"ghost",onClick:n,children:(0,en.jsx)(eg.X,{})})]})}let sE=[{key:"people",label:"Person",placeholder:"jihoon",fact:"Moved to the platform team in March"},{key:"projects",label:"Project",placeholder:"thursday",fact:"Ships behind a feature flag until April"},{key:"topics",label:"Topic",placeholder:"scheduling",fact:"No meetings before 10am"}];function sS(){return ex.notify.component({className:"sm:max-w-lg",renderer:({close:e})=>(0,en.jsx)(sM,{onDone:e})})}function sM({onDone:e}){let[t,r]=(0,ef.useState)("people"),[a,n]=(0,ef.useState)(""),[o,s]=(0,ef.useState)(""),[i,l]=(0,ef.useState)(""),[u,d,,c]=(0,sy.useServerAction)(o7,{errorMessage:!1,onOk:()=>{(0,sb.revalidate)(ey.queryKey.memory),e()}}),p=sE.find(e=>e.key===t),h=a.trim()&&o.trim()&&!d,m=()=>{h&&u(`${t}/${a.trim()}`,o.trim(),i.split("\n").map(e=>e.trim()).filter(Boolean))};return(0,en.jsxs)(sg.SettingDialogContent,{title:"New note",description:"Where the agent files what it learns about this subject.",footer:(0,en.jsxs)(en.Fragment,{children:[(0,en.jsx)(ev.Button,{variant:"ghost",onClick:e,children:"Cancel"}),(0,en.jsxs)(ev.Button,{disabled:!h,loading:d,onClick:m,children:[!d&&(0,en.jsx)(eh.Plus,{}),"Create"]})]}),children:[(0,en.jsxs)("div",{className:"space-y-6",children:[(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{children:"Kind"}),(0,en.jsx)(eI.Tabs,{value:t,onValueChange:e=>r(e),children:(0,en.jsx)(eI.TabsList,{className:"w-full",children:sE.map(e=>(0,en.jsx)(eI.TabsTrigger,{value:e.key,children:e.label},e.key))})})]}),(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,en.jsxs)(eb.FieldContent,{children:[(0,en.jsx)(ew.Input,{id:"note-name",value:a,onChange:e=>n(e.target.value),placeholder:p?.placeholder,spellCheck:!1,required:!0}),(0,en.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[t,"/",a.trim()||"…"]})]})]}),(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,en.jsx)(eb.FieldContent,{children:(0,en.jsx)(ew.Input,{id:"note-summary",value:o,onChange:e=>s(e.target.value),onKeyDown:e=>"Enter"===e.key&&m(),placeholder:"One line the agent sees in its note list",required:!0})})]}),(0,en.jsxs)(eb.Field,{children:[(0,en.jsx)(eb.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,en.jsx)(e_.Textarea,{id:"note-facts",value:i,onChange:e=>l(e.target.value),placeholder:`One per line
38
+ ${p?.fact??""}`,className:"min-h-24 resize-none text-sm"})]})]}),c&&(0,en.jsx)("p",{className:"font-mono text-xs text-destructive",children:c})]})}e.s(["MemorySetting",0,function(){let{items:e,isLoading:t,isLoadingMore:r,error:a,hasMore:n,sentinelRef:o}=(0,sv.useServerPages)({key:e=>ey.queryKey.memoryPage(e*ej.PAGE_SIZE)}),[s,i]=(0,ef.useState)(null),l=e.find(e=>e.id===s)??e[0]??null;return t?(0,en.jsx)(sg.SettingPanesSkeleton,{}):a?(0,en.jsx)(sg.SettingError,{message:a.message}):(0,en.jsxs)("div",{className:"relative h-full min-h-0",children:[(0,en.jsx)(sg.SettingPanes,{footer:l&&(0,en.jsx)(sx,{note:l}),left:(0,en.jsxs)("div",{className:"flex flex-col py-2",children:[(0,en.jsxs)("button",{type:"button",onClick:sS,className:"mx-2 mb-1 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,en.jsx)(eh.Plus,{className:"size-3.5 shrink-0"}),"New note"]}),sw.map(({key:t,label:r})=>{let a=e.filter(e=>(function(e){if("profile"===e||"preferences"===e)return"you";let t=e.slice(0,e.indexOf("/"));return sc.includes(t)?t:"inbox"})(e.path)===t);return 0===a.length?null:(0,en.jsxs)(ef.Fragment,{children:[(0,en.jsxs)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:[r,"inbox"===t&&(0,en.jsx)("span",{className:"pl-1.5 text-muted-foreground/50",children:"waiting to be filed"})]}),a.map(e=>(0,en.jsx)(sk,{note:e,active:e.id===l?.id,onPick:()=>i(e.id)},e.id))]},t)}),(0,en.jsx)(sg.SettingMore,{hasMore:n,loading:r,sentinelRef:o,count:3,ghost:(0,en.jsxs)("div",{className:"mx-2 flex items-center gap-2 px-2 py-2",children:[(0,en.jsx)(ek.Skeleton,{className:"h-3 w-28"}),(0,en.jsx)("span",{className:"flex-1"}),(0,en.jsx)(ek.Skeleton,{className:"h-2.5 w-2.5"})]})})]}),right:l?(0,en.jsx)(sI,{note:l},l.id):(0,en.jsxs)("div",{className:"space-y-4 p-8",children:[(0,en.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"During calls Thursday saves what it picks up — that a teammate moved teams, that you take meetings in the morning — and reads it back before answering. File the first note yourself and it starts the next call already knowing something."}),(0,en.jsxs)(ev.Button,{variant:"outline",onClick:sS,children:[(0,en.jsx)(eh.Plus,{}),"Add note"]})]})}),(0,en.jsx)(o5,{notes:e})]})},"openMemoryCreate",0,sS],556133)},99970,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={SYMBOL_FOR_REQ_CONTEXT:()=>d,getContext:()=>c};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);let d=Symbol.for("@vercel/request-context");function c(){let e=globalThis;return e[d]?.get?.()??{}}},891754,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={AccessTokenMissingError:()=>d,RefreshAccessTokenFailedError:()=>c};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);class d extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}}class c extends Error{constructor(e){super("Failed to refresh authentication token.",{cause:e}),this.name="RefreshAccessTokenFailedError"}}},725150,(e,t,r)=>{"use strict";var a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,i={},l={AccessTokenMissingError:()=>c.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>c.RefreshAccessTokenFailedError,getContext:()=>d.getContext,getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>h,getVercelToken:()=>m};for(var u in l)a(i,u,{get:l[u],enumerable:!0});t.exports=((e,t,r)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let i of o(t))s.call(e,i)||void 0===i||a(e,i,{get:()=>t[i],enumerable:!(r=n(t,i))||r.enumerable});return e})(a({},"__esModule",{value:!0}),i);var d=e.r(99970),c=e.r(891754);async function p(){return""}function h(){return""}async function m(){throw Error("getVercelToken is not supported in browser environments")}},561866,(e,t,r)=>{t.exports=function(e,t){let r;if("function"!=typeof e)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let a=0;return function(...n){clearTimeout(r);let o=Date.now(),s=t-(o-a);s<=0?(a=o,e.apply(this,n)):r=setTimeout(()=>{a=Date.now(),e.apply(this,n)},s)}}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,519029,e=>{"use strict";var t=e.i(843476),n=e.i(647163);function s({color:e,picked:r,onPick:l}){return(0,t.jsx)("button",{type:"button",onClick:l,"aria-label":e??"Follow the theme",style:e?{backgroundColor:e}:void 0,className:(0,n.cn)("size-5 rounded-full outline-none transition-transform hover:scale-110 focus-visible:ring-3 focus-visible:ring-ring/50",!e&&"bg-foreground",r&&"ring-2 ring-foreground/40 ring-offset-2 ring-offset-background")})}var r=e.i(864723);e.s(["MarkPalette",0,function({color:e,themePicked:n,onTheme:l,onPick:a}){return(0,t.jsx)("div",{className:"flex justify-center px-2",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(s,{color:null,picked:n,onPick:l}),(0,t.jsx)("span",{className:"w-2"}),r.MARK_PALETTE_ROWS[0].map(n=>(0,t.jsx)(s,{color:n,picked:e===n,onPick:()=>a(n)},n))]}),(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-2 pl-11",children:r.MARK_PALETTE_ROWS[1].map(n=>(0,t.jsx)(s,{color:n,picked:e===n,onPick:()=>a(n)},n))})]})})}],519029)},59158,e=>{"use strict";var t=e.i(843476),n=e.i(689664),s=e.i(466787),r=e.i(271645),l=e.i(798120),a=e.i(167881),i=e.i(736185),o=e.i(23750),c=e.i(917162),d=e.i(421429),u=e.i(184762),h=e.i(41533),m=e.i(968978),x=e.i(265402),p=e.i(519029),f=e.i(864723),g=e.i(895836),v=e.i(867927),b=e.i(456420);let j={name:"phone",size:24,node:[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]]};j.node;let y=(0,b.default)(j);var k=e.i(759659),S=e.i(660302),N=e.i(671428),w=e.i(222055),C=e.i(245629),A=e.i(609856),E=e.i(661504),T=e.i(647163),R=e.i(95187);let _=(0,R.createServerReference)("7fc555b36b5925e2051ec959344746fb3809426d0d",R.callServer,void 0,R.findSourceMapURL,"deleteCallAction"),I=(0,R.createServerReference)("7f21d91d9d40f7a3f34d6c13a113858f03876152a7",R.callServer,void 0,R.findSourceMapURL,"deleteEndedCallsAction");var M=e.i(561540),K=e.i(256604);function O(){return(0,t.jsx)(g.SettingGroup,{label:"Transcripts",children:(0,t.jsx)(g.SettingItems,{children:(0,t.jsxs)("button",{type:"button",onClick:()=>c.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,t.jsx)(g.SettingDialogContent,{title:"Call history",description:"Everything said on the line, oldest at the top. Scroll up for older calls.",children:(0,t.jsx)(D,{})})}),className:"flex w-full items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(y,{className:"size-4"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,t.jsx)(v.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})})})}let P={running:"working",waiting:"waiting on you",done:"done",failed:"failed"},z={running:"text-muted-foreground",waiting:T.WAITING_INK,done:"text-muted-foreground",failed:"text-destructive"},L="h-[min(34rem,58vh)] min-h-64 px-1";function D(){let{items:e,isLoading:n,isLoadingMore:s,error:i,hasMore:o,sentinelRef:d,refresh:u}=(0,E.useServerPages)({key:(e,t)=>{if(0===e)return l.queryKey.callHistory(null);let n=t?.at(-1);return n?l.queryKey.callHistory((0,C.toDate)(n.startedAt).toISOString()):null},size:h.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),m=(0,r.useMemo)(()=>[...e].reverse(),[e]),[x,p]=(0,A.useServerAction)(I,{okMessage:e=>1===e?"1 call deleted":`${e} calls deleted`,onOk:u}),f=async()=>{await c.notify.confirm({title:"Delete every call?",description:"Every turn of every call goes — and she stops reading any of it back into the next call. A call still on the line stays.",okText:"Delete all",destructive:!0})&&x()},v=(0,r.useRef)(null),b=(0,r.useRef)(!1),j=(0,r.useRef)(0);return((0,r.useLayoutEffect)(()=>{let e=v.current;e&&0!==m.length&&(b.current?e.scrollTop=e.scrollHeight-j.current:(b.current=!0,e.scrollTop=e.scrollHeight),j.current=e.scrollHeight-e.scrollTop)},[m]),n)?(0,t.jsx)("div",{className:(0,T.cn)(L,"overflow-hidden"),children:(0,t.jsx)(F,{})}):i?(0,t.jsx)(g.SettingError,{message:i.message}):(0,t.jsx)(t.Fragment,{children:0===m.length?(0,t.jsx)("p",{className:"px-1 text-sm leading-relaxed text-muted-foreground",children:"No calls yet. Everything said on the line is kept here — hers and yours, in the order it was said."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{ref:v,onScroll:e=>{let t=e.currentTarget;j.current=t.scrollHeight-t.scrollTop},className:(0,T.cn)(L,"overflow-y-auto overscroll-contain pb-6"),children:[(0,t.jsx)(g.SettingMore,{hasMore:o,loading:s,sentinelRef:d,count:1,ghost:(0,t.jsx)(F,{})}),m.map((e,n)=>(0,t.jsx)($,{call:e,first:0===n,onDropped:u},e.id))]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsxs)(a.Button,{variant:"ghost",loading:p,onClick:f,className:"text-muted-foreground hover:text-destructive",children:[(0,t.jsx)(k.Trash2,{}),"Delete all"]})})]})})}function F(){return(0,t.jsxs)("div",{className:"pb-3",children:[(0,t.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,t.jsx)(N.Skeleton,{className:"h-3 w-24"}),(0,t.jsx)(N.Skeleton,{className:"h-3 w-10"})]}),(0,t.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(N.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,t.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,t.jsx)(N.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,t.jsx)(N.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let H=e=>"user"===e.role?"user":"her";function $({call:e,first:n,onDropped:s}){let[r,l]=(0,A.useServerAction)(_,{okMessage:"Call deleted",onOk:s}),i=(0,C.toDate)(e.startedAt),o=e.turns.at(-1),d=e.endedAt&&o?function(e,t){let n=Math.max(0,Math.round((t.getTime()-e.getTime())/1e3));if(n<60)return`${n}s`;let s=Math.floor(n/60);return s<60?`${s}m ${String(n%60).padStart(2,"0")}s`:`${Math.floor(s/60)}h ${String(s%60).padStart(2,"0")}m`}(i,(0,C.toDate)(o.at)):"on the line",u=async()=>{await c.notify.confirm({title:`Delete the call from ${(0,C.whenOf)(i)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&r(e.id)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,T.cn)("group flex items-center gap-2.5",n?"mt-1":"mt-11"),children:[(0,t.jsx)("span",{title:`${e.provider} \xb7 ${e.model}`,className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,C.whenOf)(i)}),(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:d}),(0,t.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:e.endedAt&&(0,t.jsx)(a.Button,{size:"icon-sm",variant:"ghost",loading:l,"aria-label":"Delete this call",onClick:u,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,t.jsx)(k.Trash2,{})})})]}),(0,t.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&"tool"===n.role&&"tool"===e.turn.role&&e.turn.tool===n.tool&&e.turn.text===n.text){e.repeats+=1;continue}t.push({turn:n,repeats:1})}return t})(e.turns).map(({turn:n,repeats:s},r,l)=>{var a,i;let o,c=l[r-1]?.turn,d=l[r+1]?.turn;return(0,t.jsx)(G,{turn:n,job:(a=e,i=n,(o=(0,M.delegatedLabel)(i.tool,i.text))?a.jobs.find(e=>e.label===o):void 0),repeats:s,opensRun:!c||H(c)!==H(n),closesRun:!d||H(d)!==H(n)},n.id)})]})}function G({turn:e,job:n,opensRun:s,closesRun:r,repeats:l=1}){return"tool"===e.role?(0,t.jsx)(V,{turn:e,job:n,repeats:l,opensRun:s}):"user"===e.role?(0,t.jsx)("div",{className:(0,T.cn)("flex justify-end",s?"mt-3":"mt-1"),children:(0,t.jsx)("p",{className:(0,T.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",r&&"rounded-br-sm"),children:e.text})}):(0,t.jsxs)("div",{className:(0,T.cn)("flex items-start gap-2",s?"mt-3":"mt-1"),children:[(0,t.jsx)(B,{face:s,className:"mt-0.5"}),(0,t.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",children:e.text})]})}function B({face:e,className:n}){return(0,t.jsx)("span",{className:(0,T.cn)("grid size-[18px] shrink-0 place-items-center",n),children:e&&(0,t.jsx)(K.ThursdayMark,{size:18})})}function V({turn:e,job:n,repeats:s,opensRun:r}){let l=e.tool??"",a=(0,w.toolIcon)(l),i=(0,M.toolLine)(l,e.text);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,T.cn)("flex items-center gap-2",r?"mt-3":"mt-1.5"),children:[(0,t.jsx)(B,{face:r}),(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,t.jsx)(a,{className:"size-3 shrink-0"}),i&&(0,t.jsx)("span",{className:"truncate text-[11px] break-keep",children:i}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:l}),s>1&&(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",s]})]})]}),n&&(0,t.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===n.status?(0,t.jsx)(S.ShinyText,{text:P.running,className:"shrink-0 font-mono text-[10px]"}):(0,t.jsx)("span",{className:(0,T.cn)("shrink-0 font-mono text-[10px]",z[n.status]),children:P[n.status]}),n.outcome&&"running"!==n.status&&(0,t.jsx)("span",{className:"truncate text-muted-foreground",children:(0,T.plainText)(n.outcome)})]})]})}var W=e.i(333495),U=e.i(933916),q=e.i(762074);let Y=(0,R.createServerReference)("7f1d36b0d1eafa4f7bbf1208f18183bcc64c3ec7e0",R.callServer,void 0,R.findSourceMapURL,"resetHistoryAction"),X=(0,R.createServerReference)("7f163845a4428ceeeb912bcaf5c0c9eef6f501b473",R.callServer,void 0,R.findSourceMapURL,"setCallSkillsAction");var Z=e.i(671228),J=e.i(67045),Q=e.i(698570),ee=e.i(319841),et=e.i(981203),en=e.i(283653);function es(){let{data:e}=(0,en.useServerRoute)(l.queryKey.callSkills),[n]=(0,A.useServerAction)(X,{onOk:()=>(0,en.revalidate)(l.queryKey.callSkills)});return(0,t.jsx)(g.SettingGroup,{label:"Skills",children:(0,t.jsx)(g.SettingToggle,{label:"Read a skill herself",description:"A skill is how a thing is done here, written down. On, she opens one mid-call and follows it; off, only bots read them.",checked:e??!1,disabled:void 0===e,onChange:e=>n(e),children:(0,t.jsx)(er,{})})})}function er(){let{data:e}=(0,en.useServerRoute)(l.queryKey.skills);return e?(0,t.jsx)(g.SettingNote,{className:(0,T.cn)(!e.length&&T.WAITING_INK),children:e.length?`The same ${e.length} a bot reads. Each one she opens spends a page of the call on it.`:"Nothing installed yet — there is nothing for her to read."}):null}function el(){let[e,n]=(0,A.useServerAction)(Y,{okMessage:({calls:e,tasks:t,notes:n})=>`Wiped ${e} calls, ${t} jobs, ${n} notes`,onOk:()=>{(0,en.revalidate)(l.queryKey.memory),(0,en.revalidate)(l.queryKey.tasks),(0,en.revalidate)(l.queryKey.callHistory(null))}}),r=async()=>{await c.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay.",okText:"Reset",destructive:!0})&&e()};return(0,t.jsx)(g.SettingGroup,{label:"Danger zone",note:"Keys, bots and connectors stay.",children:(0,t.jsx)(g.SettingItems,{children:(0,t.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(s.TriangleAlert,{className:"size-4"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block text-sm font-medium",children:"Reset history"}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, every job and everything she remembers"})]}),(0,t.jsx)(a.Button,{variant:"outline",size:"sm",loading:n,onClick:r,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})})})}function ea({value:e,onChange:n}){let s=t=>n({...e,...t});return(0,t.jsx)(g.SettingGroup,{label:"Face",children:(0,t.jsxs)("div",{className:"space-y-5 py-2",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4 pt-2",children:[(0,t.jsx)(W.Face,{look:e,size:176,className:"w-44"}),(0,t.jsx)(d.Segmented,{"aria-label":"Face",options:U.FACE_KINDS.map(e=>({value:e,label:W.FACES[e].label})),value:e.kind,onChange:e=>s({kind:e})}),(0,t.jsx)("p",{className:"max-w-sm text-center text-xs text-muted-foreground",children:W.FACES[e.kind].hint})]}),"mark"===e.kind&&(0,t.jsx)(p.MarkPalette,{color:e.color,themePicked:!e.color,onTheme:()=>s({color:void 0}),onPick:e=>s({color:e})}),"mark"===e.kind&&(0,t.jsx)(eo,{label:"Shape",children:(0,t.jsx)(d.Segmented,{"aria-label":"Shape",options:f.MARK_SHAPES.map(e=>({value:e,label:(0,t.jsx)("span",{className:"capitalize",children:e})})),value:e.shape??"blob",onChange:e=>s({shape:e})})}),"mark"===e.kind&&(0,t.jsx)(eo,{label:"Style",children:(0,t.jsx)(d.Segmented,{"aria-label":"Style",options:[{value:"solid",label:"Solid"},{value:"outline",label:"Outline"}],value:e.outline?"outline":"solid",onChange:e=>s({outline:"outline"===e||void 0})})}),"ascii"===e.kind&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eo,{label:"Glyphs",children:(0,t.jsx)(d.Segmented,{"aria-label":"Glyphs",options:U.ASCII_CHARSETS.map(e=>({value:e,label:ei[e]})),value:e.charset,onChange:e=>s({charset:e})})}),(0,t.jsx)(eo,{label:"Size",children:(0,t.jsx)(ec,{min:h.ASCII_FACE.fontSize.min,max:h.ASCII_FACE.fontSize.max,step:1,value:e.fontSize,format:e=>`${e}px`,onChange:e=>s({fontSize:e})})}),(0,t.jsx)(eo,{label:"Density",children:(0,t.jsx)(ec,{min:h.ASCII_FACE.density.min,max:h.ASCII_FACE.density.max,step:.1,value:e.density,format:e=>`${e.toFixed(1)}x`,onChange:e=>s({density:e})})})]})]})})}let ei={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function eo({label:e,children:n}){return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"w-16 shrink-0 font-mono text-[11px] text-muted-foreground",children:e}),n]})}function ec({value:e,onChange:n,format:s,...r}){return(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)("input",{type:"range",...r,value:e,onChange:e=>n(Number(e.target.value)),className:"min-w-0 flex-1 accent-foreground"}),(0,t.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:s(e)})]})}function ed({provider:e,value:r,hasKey:l,onPick:a}){let o=!!r,c=r?.voice??e.defaultVoice,d=r?.model??"";return(0,t.jsxs)("div",{className:(0,T.cn)("p-4",o&&"bg-muted/40"),children:[(0,t.jsxs)("button",{type:"button",disabled:o,onClick:()=>a({voice:null,model:null}),className:"flex w-full items-center gap-3 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-default",children:[(0,t.jsx)(m.ProviderIcon,{provider:e.id,className:"size-4 shrink-0"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:e.label}),(0,t.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:d||e.models[0].id})]}),l?o&&(0,t.jsx)(n.Check,{className:"size-4 shrink-0"}):(0,t.jsxs)("span",{className:"flex shrink-0 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:[(0,t.jsx)(s.TriangleAlert,{className:"size-3"}),"No key"]})]}),o&&(0,t.jsxs)("div",{className:"space-y-3 pt-3",children:[(0,t.jsx)(i.Combobox,{value:d,onChange:e=>a({voice:r?.voice??null,model:e||null}),options:e.models.map(e=>({value:e.id,label:e.label,hint:e.id})),"aria-label":`${e.label} realtime model`,placeholder:e.models[0].id,empty:"Not on the list — it still runs"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.voices.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>a({voice:e,model:r?.model??null}),className:(0,T.cn)("rounded-full border px-2.5 py-1 font-mono text-[11px] transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50",e===c?"border-foreground/40 text-foreground":"border-border/60 text-muted-foreground hover:text-foreground"),children:e},e))})]})]})}let eu={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Last three turns",hint:"Hers on the left, yours on the right, beside the mark."}};function eh({value:e,onChange:n}){return(0,t.jsx)(g.SettingGroup,{label:"Calls you",note:"off"!==e&&"Needs this tab open. A tab that has been silent since it loaded may not be allowed to make a sound — the desktop notification covers that.",children:(0,t.jsx)(g.SettingChoiceRows,{options:Z.CALL_BACK_MODES.map(e=>({value:e,label:Z.CALL_BACK_LABEL[e],hint:em[e]})),value:e,onChange:n})})}let em={off:"Nothing opens a call but you.",waiting:"A job that stopped to ask gets her to ring you.",any:"Anything a bot finishes, she opens a line to tell you."};function ex({value:e,onChange:n}){return(0,t.jsx)(g.SettingGroup,{label:"Captions",children:(0,t.jsx)(g.SettingChoiceRows,{options:Z.CAPTION_VIEWS.map(e=>({value:e,label:eu[e].label,hint:eu[e].hint})),value:e,onChange:n})})}function ep({value:e,onChange:n}){let s=(0,Q.useDraft)(e.phrase,t=>n({...e,phrase:t}),{min:Z.WAKE_PHRASE.min}),r=s.value.trim().split(/\s+/).length<2;return(0,t.jsx)(g.SettingGroup,{label:"Wake",children:(0,t.jsx)(g.SettingToggle,{label:"Answer to her name",description:"Between calls, the browser listens for the phrase below and picks up when it hears it.",checked:e.enabled,onChange:t=>n({...e,enabled:t}),children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Input,{value:s.value,maxLength:Z.WAKE_PHRASE.max,spellCheck:!1,onChange:e=>s.set(e.target.value),onBlur:s.commit,onKeyDown:s.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,t.jsx)(g.SettingNote,{children:r?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count."})]})})})}function ef({value:e,onChange:n}){let[s,l]=(0,r.useState)(!1),[a,i]=(0,r.useState)(!1),o=(0,ee.useHotkeyLabel)((0,ee.isCombo)(e.combo)?e.combo:null);return(0,t.jsx)(g.SettingGroup,{label:"Shortcut",children:(0,t.jsx)(g.SettingToggle,{label:"Answer to a key",description:"With this tab in front, the key below starts a call — and ends the one that is running.",checked:e.enabled,onChange:t=>n({...e,enabled:t}),children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("button",{type:"button",...ee.HOTKEY_CAPTURE,onClick:()=>{i(!1),l(!0)},onBlur:()=>l(!1),onKeyDown:s?t=>{if("Tab"===t.key)return;if(t.preventDefault(),t.stopPropagation(),"Escape"===t.key)return l(!1);let s=(0,ee.comboOf)(t.nativeEvent);if(!s)return i(!0);i(!1),l(!1),n({...e,combo:s})}:void 0,className:(0,T.cn)("w-full rounded-lg border px-3 py-2 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",s?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:s?"Press the keys…":o??"Set a shortcut"}),(0,t.jsx)(g.SettingNote,{children:a?"Hold Ctrl, Alt or Cmd — a plain key is typing.":s?"Esc to keep the one you have.":"Only while this tab has focus. Not while you are typing."})]})})})}function eg({value:e,onSave:n}){let[s,l]=(0,r.useState)(e);return(0,t.jsx)(g.SettingGroup,{label:"Instructions",right:`${s.length}/${et.COMMON_VALIDATE.prompt.max}`,children:(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(u.Textarea,{value:s,maxLength:et.COMMON_VALIDATE.prompt.max,onChange:e=>l(e.target.value),placeholder:"Anything else she should know before the first word — how to address you, what to skip.",className:"min-h-28"}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(a.Button,{size:"sm",disabled:s===e,onClick:()=>n(s),children:"Save"})})]})})}e.s(["ThursdaySetting",0,function(){let e=(0,J.useThursdayStore)(),n=(0,J.useThursdayStore)(e=>e.patch),{data:s=[],isLoading:r,error:a}=(0,en.useServerRoute)(l.queryKey.llmModel),i=(0,q.useThursdayFace)();if(r)return(0,t.jsx)(g.SettingSkeleton,{rows:4});if(a)return(0,t.jsx)(g.SettingError,{message:a.message});let o=e.model?.provider??null;return(0,t.jsxs)(g.SettingScreen,{footer:(0,t.jsx)(g.SettingRailNote,{children:"Her prompt is assembled fresh on every call — memory, the roster and your skills go in."}),children:[(0,t.jsx)(ea,{value:i,onChange:q.setThursdayFace}),(0,t.jsx)(O,{}),(0,t.jsx)(g.SettingGroup,{label:"Voice",note:!o&&"Nothing picked — calls run on whichever key is set.",children:(0,t.jsx)(g.SettingItems,{children:x.SPEACH_MODEL_PROVIDER_LIST.map(r=>{let l;return(0,t.jsx)(ed,{provider:r,value:o===r.id?e.model:null,hasKey:(l=r.apiKeyName,s.some(e=>e.apiKeyName===l&&e.hasKey)),onPick:e=>n({model:{provider:r.id,...e}})},r.id)})})}),(0,t.jsx)(ex,{value:e.captionView,onChange:e=>n({captionView:e})}),(0,t.jsx)(ep,{value:e.wake,onChange:e=>n({wake:e})}),(0,t.jsx)(eh,{value:e.callBack,onChange:e=>n({callBack:e})}),(0,t.jsx)(ef,{value:e.hotkey,onChange:e=>n({hotkey:e})}),(0,t.jsx)(es,{}),(0,t.jsx)(eg,{value:e.systemPrompt??"",onSave:e=>n({systemPrompt:e})}),(0,t.jsx)(el,{})]})}],59158)},698570,e=>{"use strict";var t=e.i(271645);e.s(["useDraft",0,function(e,n,{min:s=1}={}){let[r,l]=(0,t.useState)(e),[a,i]=(0,t.useState)(e);return e!==a&&(i(e),l(e)),{value:r,set:l,commit:()=>{let t=r.trim();if(t.length<s)return l(e);l(t),t!==e&&n(t)},onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||e.currentTarget.blur()}}}])},661504,e=>{"use strict";var t=e.i(271645),n=e.i(699018),s=e.i(677309),r=e.i(271235),l=e.i(802239),a=e.i(646192);let i=Promise.resolve(),o=(0,r.withMiddleware)(n.u,e=>(n,r,o)=>{let c,d=(0,t.useRef)(!1),{cache:u,initialSize:h=1,revalidateAll:m=!1,persistSize:x=!1,revalidateFirstPage:p=!0,revalidateOnMount:f=!1,parallel:g=!1}=o,[,,,v]=s.a.get(s.o);try{(c=(0,s.s)(n?n(0,null):null)[0])&&(c=a.INFINITE_PREFIX+c)}catch(e){}let[b,j,y]=(0,s.c)(u,c),k=(0,t.useCallback)(()=>(0,s.i)(b()._l)?h:b()._l,[u,c,h]);(0,l.useSyncExternalStore)((0,t.useCallback)(e=>c?y(c,()=>{e()}):()=>{},[u,c]),k,k);let S=(0,t.useCallback)(()=>{let e=b()._l;return(0,s.i)(e)?h:e},[c,h]),N=(0,t.useRef)(S());(0,s.u)(()=>{if(!d.current){d.current=!0;return}c&&j({_l:x?N.current:S()})},[c,u]);let w=f&&!d.current,C=e(c,async e=>{let t=b()._i,l=b()._r,a=s.a.get(u),i=a[8],c=()=>a[8]!==i;j({_r:s.U});let d=[],h=S(),[x]=(0,s.c)(u,e),f=x().data,y=[],k=null;for(let e=0;e<h;++e){let[a,i]=(0,s.s)(n(e,g?null:k));if(!a)break;let[h,x]=(0,s.c)(u,a),b=h().data,j=m||t||(0,s.i)(b)||p&&!e&&!(0,s.i)(f)||w||f&&!(0,s.i)(f[e])&&!o.compare(f[e],b);if(r&&("function"==typeof l?l(b,i):j)){let t=async()=>{if(a in v){let e=v[a];delete v[a],b=await e}else b=await r(i);c()||x({data:b,_k:i}),d[e]=b};g?y.push(t):await t()}else d[e]=b;g||(k=b)}return g&&await Promise.all(y.map(e=>e())),c()||j({_i:s.U}),d},o),A=(0,t.useCallback)(function(e,t){let n="boolean"==typeof t?{revalidate:t}:t||{},r=!1!==n.revalidate;return c?(r&&((0,s.i)(e)?j({_i:!0,_r:n.revalidate}):j({_i:!1,_r:n.revalidate})),arguments.length?C.mutate(e,{...n,revalidate:r}):C.mutate()):i},[c,u]),E=(0,t.useCallback)(e=>{let t;if(!c)return i;let[,r]=(0,s.c)(u,c);if((0,s.e)(e)?t=e(S()):"number"==typeof e&&(t=e),"number"!=typeof t)return i;r({_l:t}),N.current=t;let l=[],[a]=(0,s.c)(u,c),o=null;for(let e=0;e<t;++e){let[t]=(0,s.s)(n(e,o)),[r]=(0,s.c)(u,t),i=t?r().data:s.U;if((0,s.i)(i))return A(a().data);l.push(i),o=i}return A(l)},[c,u,A,S]);return{size:S(),setSize:E,mutate:A,get data(){return C.data},get error(){return C.error},get isValidating(){return C.isValidating},get isLoading(){return C.isLoading}}});var c=e.i(41533),d=e.i(283653);e.s(["useServerPages",0,function(e){let n=e.size??c.PAGE_SIZE,{key:s}=e,{data:r,error:l,isLoading:a,isValidating:i,setSize:u,mutate:h}=o((e,t)=>(0,d.resolveKey)(s(e,t)),d.fetchRoute,{dedupingInterval:500,revalidateOnMount:!0,revalidateOnFocus:!0,revalidateOnReconnect:!0,focusThrottleInterval:1e3,revalidateFirstPage:!1,...e.swr}),m=r??[],x=m.flat(),p=m.at(-1),f=void 0!==p&&p.length>=n,g=(0,t.useRef)(0),v=i&&m.length>0&&g.current>m.length,b=(0,t.useRef)({isValidating:i,setSize:u,pages:m.length});b.current={isValidating:i,setSize:u,pages:m.length};let j=(0,d.resolveKey)(s(0,null)),y="string"==typeof j?j:j?.url;(0,t.useEffect)(()=>{if(y)return(0,d.registerPagedReader)({url:y,refresh:()=>h()})},[y,h]);let k=function(e,n={}){let{enabled:s=!0,margin:r="600px",revision:l}=n,a=(0,t.useRef)(e);a.current=e;let i=(0,t.useRef)(null),o=(0,t.useRef)(null),c=(0,t.useCallback)(e=>{i.current=e},[]);return(0,t.useEffect)(()=>{o.current?.disconnect();let e=i.current;if(e&&s)return o.current=new IntersectionObserver(([e])=>{e.isIntersecting&&a.current()},{root:function(e){let t=e.parentElement;for(;t;){let{overflowY:e}=getComputedStyle(t);if(("auto"===e||"scroll"===e)&&t.scrollHeight>t.clientHeight)return t;t=t.parentElement}return null}(e),rootMargin:r}),o.current.observe(e),()=>o.current?.disconnect()},[s,r,l]),c}(()=>{let e=b.current;e.isValidating||(g.current=e.pages+1,e.setSize(e.pages+1))},{enabled:f,revision:`${m.length}:${i}`});return{items:x,isLoading:a,isLoadingMore:v,error:l,hasMore:f,sentinelRef:k,refresh:()=>h()}}],661504)},759659,e=>{"use strict";var t=e.i(456420);let n={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};n.node;let s=(0,t.default)(n);e.s(["Trash2",0,s],759659)},466787,e=>{"use strict";var t=e.i(755566);e.s(["TriangleAlert",()=>t.default])}]);