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
@@ -1,26 +0,0 @@
1
- module.exports=[423620,e=>{"use strict";var t=e.i(912714),r=e.i(691296),a=e.i(749906),n=e.i(51083),o=e.i(375814),i=e.i(871096);let s={name:n.TOOL_NAMES.delegate,description:"Hand a job to a bot. Returns immediately; the job runs in the background and its result is put in front of you later.",parameters:a.object({bot:a.string().describe("A name from the bot list."),request:a.string().describe("The whole job. The bot cannot hear the call, so everything it needs goes here — names, paths, what the user actually asked for — in their own language and their own words: it is the only language the bot has, and whatever it writes comes back to them. **Their request, never your reading of it**: a condition, a caution or a smaller goal they did not say is how a job comes back as the wrong thing. When their words leave a real choice open, ask them on the call and put the answer here."),label:a.string().describe("Two or three words naming the job, in the user's language. Used on screen and said out loud.")})},l={name:n.TOOL_NAMES.ask_bot,description:"Hand one part of the job you are holding to another bot and wait for what they bring back. The job stays yours.",parameters:a.object({bot:a.string().describe("A name from the bot list."),request:a.string().describe("The part they take, as a brief: the outcome you want, the shape to hand it back in (a path, a number, a list), and every name, path, number and limit that bears on it. They see nothing but this and `context` — not the call, not your thread — so write it long rather than short; a brief that leaves them guessing costs a whole run."),context:a.string().describe("The job you were given, quoted, and whatever you have found that bears on this part — exact values, and the paths of files you wrote for them to read. They cannot see your work, your tool output, or the call.")})},u={name:n.TOOL_NAMES.ask_back,description:"Ask the bot that handed you this part. They answer from what they have — the original request, the call it came from, what they found before asking you.",parameters:a.object({question:a.string().describe("One whole question — what you need and why. They cannot take it to the user for you, so ask what they would know.")})},c={name:n.TOOL_NAMES.ask_thursday,description:"Ask Thursday, who handed you this job. The job stops until an answer comes back.",parameters:a.object({question:a.string().describe("One whole question — what you need and why. One or two sentences, in the user's language: she may read it to them out loud, options and all."),options:a.union([a.string().array(),a.string()]).nullish().describe('Only when there really are choices — two or three, each short, as an array: ["Signed in", "Not yet"]. Null for an open question.')})},d=a.string().nullish().describe("What should change in your own instructions before your next job here — something to add, something wrong to correct, something to drop. Your own words, any length; someone else writes it in. Nothing to say is the usual answer, and leaving it out costs nothing: they already say what they say."),f={name:n.TOOL_NAMES.task,description:"Check a job you handed over, answer what it is asking, or cancel it.",parameters:a.object({action:a.enum(["status","answer","cancel"]),task:a.string().nullish().describe("The job, by its label or by the handle a past call's transcript carries. With `status`: null for every job in one line each — that is the list — or name one to get its report in full."),answer:a.string().nullish().describe("With `answer`: what to tell the bot — the answer to its question, a course correction for a job still running, or what to do next on one that finished.")})},p=(0,r.tool)({description:c.description,inputSchema:c.parameters}),m="Not handed back:";async function h(e){let r=[];for(let a of(0,o.pathsIn)(e)){let e=await (0,i.insideWorkspace)(a);e&&(await (0,t.stat)(e).then(e=>e.isFile(),()=>!1)||r.push(a))}return r}e.s(["askBackSpec",0,u,"askBotSpec",0,l,"askThursdayTool",0,p,"createReportTool",0,e=>{let t={name:n.TOOL_NAMES.report,description:"Hand back what the job produced. Calling this ends the job — nothing after it runs.",parameters:a.object({result:a.string().describe("The result itself, in a few lines — what you found or did, not a replay of how. Thursday reads this out loud, so write what a person needs to hear. If you could not do it, say what stopped you."),complete:a.boolean().describe("True when the whole request is done. False when work is left over — the user is then asked whether to keep going, and `result` is what they decide on."),...e?{notes:d}:{}})};return(0,r.tool)({description:t.description,inputSchema:t.parameters,execute:async({result:e,complete:t})=>{let r=await h(e);return r.length?`${m} these files do not exist — ${r.join(", ")}. Write them first, or take the paths out of the result.`:t?"Handed back. The job is closed; nothing further runs.":"Handed back as unfinished. The user decides whether to continue."}})},"delegateSpec",0,s,"reportAccepted",0,e=>"string"!=typeof e||!e.startsWith(m),"taskSpec",0,f])},51083,e=>{"use strict";e.s(["STUDIO_TOOLS",0,{generate_image:"generate_image",generate_speech:"generate_speech",transcribe:"transcribe",generate_video:"generate_video"},"TOOL_NAMES",0,{memory_recall:"memory_recall",memory_remember:"memory_remember",memory_forget:"memory_forget",memory_show:"memory_show",bash:"bash",write_file:"write_file",tool_search:"tool_search",tool_call:"tool_call",load_skill:"load_skill",web_search:"web_search",delegate:"delegate",task:"task",ask_bot:"ask_bot",ask_thursday:"ask_thursday",ask_back:"ask_back",report:"report",end_call:"end_call",tidy_done:"tidy_done",update_notes:"update_notes"}])},375814,e=>{"use strict";var t=e.i(333925);let r=e=>`text/${e}; charset=utf-8`,a=Object.entries({md:{kind:"markdown",mime:r("markdown")},markdown:{kind:"markdown",mime:r("markdown")},csv:{kind:"csv",mime:r("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:r("plain")},log:{kind:"text",mime:r("plain")},html:{kind:"frame",mime:r("html")},htm:{kind:"frame",mime:r("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},css:{kind:"none",mime:r("css")},js:{kind:"none",mime:r("javascript")},woff2:{kind:"none",mime:"font/woff2"}}).filter(([,e])=>"none"!==e.kind).map(([e])=>e),n=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${a.join("|")})\b`,"giu"),o=`${t.PATHS.workspace}/`;e.s(["pathsIn",0,function(e){let t=e.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," "),r=new Set;for(let e of t.match(n)??[]){let t=function(e){let t,r,a=(r=(t=e.trim()).indexOf(o))>=0?t.slice(r+o.length)||null:t.startsWith("/")||/^[A-Za-z]:/.test(t)||t.split("/").includes("..")?null:t||null;if(!a)return null;let[n,...i]=a.split("/");return i.length&&n.includes(".")?null:a}(e);t&&r.add(t)}return[...r].slice(0,6)}])},691296,679007,548874,e=>{"use strict";var t,r,a,n,o,i=e.i(296194),s=e.i(59994),l=e.i(404482);class u 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 c(e){}function d(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 f(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 p 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=c,onError:r=c,onRetry:a=c,onComment:n,maxBufferSize:o}=e,i=[],s=0,l=!0,p,m="",h=0,y,g=!1;function v(){void 0!==o&&(s+m.length<=o||(g=!0,i.length=0,s=0,p=void 0,m="",h=0,y=void 0,r(new u(`Buffered data exceeded max buffer size of ${o} characters`,{type:"max-buffer-size-exceeded"}))))}function w(e){let r=0;if(-1===e.indexOf("\r")){let a=e.indexOf(`
2
- `,r);for(;-1!==a;){if(r===a){h>0&&t({id:p,event:y,data:m}),p=void 0,m="",h=0,y=void 0,r=a+1,a=e.indexOf(`
3
- `,r);continue}let n=e.charCodeAt(r);if(d(e,r,n)){let n=32===e.charCodeAt(r+5)?r+6:r+5,o=e.slice(n,a);if(0===h&&10===e.charCodeAt(a+1)){t({id:p,event:y,data:o}),p=void 0,m="",y=void 0,r=a+2,a=e.indexOf(`
4
- `,r);continue}m=0===h?o:`${m}
5
- ${o}`,h++}else f(e,r,n)?y=e.slice(32===e.charCodeAt(r+6)?r+7:r+6,a)||void 0:b(e,r,a);r=a+1,a=e.indexOf(`
6
- `,r)}return e.slice(r)}for(;r<e.length;){let t=e.indexOf("\r",r),a=e.indexOf(`
7
- `,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;b(e,r,n),r=n+1,13===e.charCodeAt(r-1)&&10===e.charCodeAt(r)&&r++}return e.slice(r)}function b(e,r,a){if(r===a)return void(h>0&&t({id:p,event:y,data:m}),p=void 0,m="",h=0,y=void 0);let o=e.charCodeAt(r);if(d(e,r,o)){let t=32===e.charCodeAt(r+5)?r+6:r+5,n=e.slice(t,a);m=0===h?n:`${m}
8
- ${n}`,h++;return}if(f(e,r,o)){y=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")||(p=t);return}if(58===o){n&&n(e.slice(r,a).slice(32===e.charCodeAt(r+1)?2:1));return}let i=e.slice(r,a),s=i.indexOf(":");if(-1===s)return void E(i,"",i);let l=i.slice(0,s),u=32===i.charCodeAt(s+1)?2:1;E(l,i.slice(s+u),i)}function E(e,t,n){switch(e){case"event":y=t||void 0;break;case"data":m=0===h?t:`${m}
9
- ${t}`,h++;break;case"id":t.includes("\0")||(p=t);break;case"retry":/^\d+$/.test(t)?a(parseInt(t,10)):r(new u(`Invalid \`retry\` value: "${t}"`,{type:"invalid-retry",value:t,line:n}));break;default:r(new u(`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(g)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(l&&(l=!1,239===e.charCodeAt(0)&&187===e.charCodeAt(1)&&191===e.charCodeAt(2)&&(e=e.slice(3))),0===i.length){let t=w(e);""!==t&&(i.push(t),s=t.length),v();return}if(-1===e.indexOf(`
10
- `)&&-1===e.indexOf("\r")){i.push(e),s+=e.length,v();return}i.push(e);let t=i.join("");i.length=0,s=0;let r=w(t);""!==r&&(i.push(r),s=r.length),v()},reset:function(e={}){if(e.consume&&i.length>0){let e=i.join("");b(e,0,e.length)}l=!0,p=void 0,m="",h=0,y=void 0,i.length=0,s=0,g=!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)}})}}e.s(["EventSourceParserStream",0,p],679007);let m=Symbol.for("workflow-serialize"),h=Symbol.for("workflow-deserialize");async function y(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(g());let n=setTimeout(()=>{o(),t()},e),o=()=>{clearTimeout(n),null==r||r.removeEventListener("abort",i)},i=()=>{o(),a(g())};null==r||r.addEventListener("abort",i)})}function g(){return new DOMException("Delay was aborted","AbortError")}e.s(["WORKFLOW_DESERIALIZE",0,h,"WORKFLOW_SERIALIZE",0,m],548874);var v=new TextDecoder;async function w(e){return"string"==typeof e?e:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?v.decode(e):"u">typeof Blob&&e instanceof Blob?e.text():String(e)}async function b(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 y(r)}}function E(e){let t=!1;return new ReadableStream({async pull(r){if(!t)try{let{value:t,done:a}=await e.next();a?r.close():r.enqueue(t)}catch(e){r.error(e)}},async cancel(r){if(t=!0,e.return)try{await e.return(r)}catch(e){}}})}var{btoa:A,atob:T}=globalThis;function x(e){let t=T(e.replace(/-/g,"+").replace(/_/g,"/"));return Uint8Array.from(t,e=>e.codePointAt(0))}function P(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCodePoint(e[r]);return A(t)}var k=Symbol.for("vercel.ai.providerStreamError"),S=class{constructor(){this.status={type:"pending"},this._resolve=void 0,this._reject=void 0}get promise(){return this._promise||(this._promise=new Promise((e,t)=>{"resolved"===this.status.type?e(this.status.value):"rejected"===this.status.type&&t(this.status.error),this._resolve=e,this._reject=t})),this._promise}resolve(e){var t;this.status={type:"resolved",value:e},this._promise&&(null==(t=this._resolve)||t.call(this,e))}reject(e){var t;this.status={type:"rejected",error:e},this._promise&&(null==(t=this._reject)||t.call(this,e))}isResolved(){return"resolved"===this.status.type}isRejected(){return"rejected"===this.status.type}isPending(){return"pending"===this.status.type}};function I(e){return Object.fromEntries([...e.headers])}function _(e=globalThis){var t,r,a;return e.window?"runtime/browser":(null==(t=e.navigator)?void 0:t.userAgent)?`runtime/${e.navigator.userAgent.toLowerCase()}`:(null==(a=null==(r=e.process)?void 0:r.versions)?void 0:a.node)?`runtime/node.js/${e.process.version.substring(0)}`:e.EdgeRuntime?"runtime/vercel-edge":"runtime/unknown"}function $(e){return(e instanceof Error||e instanceof DOMException)&&("AbortError"===e.name||"ResponseAborted"===e.name||"TimeoutError"===e.name)}var O=["fetch failed","failed to fetch"],C=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 j({error:e,url:t,requestBodyValues:r}){if($(e))return e;if(e instanceof TypeError&&O.includes(e.message.toLowerCase())){let a=e.cause;if(null!=a)return new i.APICallError({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&&C.has(e.code))return e;r=r.cause}}(e);return null!=a?new i.APICallError(i.APICallError.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 N="5.0.36";function R(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 L(e,...t){let r=new Headers(R(e)),a=r.get("user-agent")||"";return r.set("user-agent",[a,...t].filter(Boolean).join(" ")),Object.fromEntries(r.entries())}var M=()=>globalThis.fetch,F=async({url:e,headers:t={},failedResponseHandler:r,successfulResponseHandler:a,abortSignal:n,fetch:o=M()})=>{try{let s=await o(e,{method:"DELETE",headers:L(t,`ai-sdk/provider-utils/${N}`,_()),signal:n}),l=I(s);if(!s.ok){let t;try{t=await r({response:s,url:e,requestBodyValues:{}})}catch(t){if($(t)||i.APICallError.isInstance(t))throw t;throw new i.APICallError({message:"Failed to process error response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:{}})}throw t.value}try{return await a({response:s,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&($(t)||i.APICallError.isInstance(t)))throw t;throw new i.APICallError({message:"Failed to process successful response",cause:t,statusCode:s.status,url:e,responseHeaders:l,requestBodyValues:{}})}}catch(t){throw j({error:t,url:e,requestBodyValues:{}})}},B=[{mediaType:"image/gif",bytesPrefix:[71,73,70]},{mediaType:"image/png",bytesPrefix:[137,80,78,71]},{mediaType:"image/jpeg",bytesPrefix:[255,216]},{mediaType:"image/webp",bytesPrefix:[82,73,70,70,null,null,null,null,87,69,66,80]},{mediaType:"image/bmp",bytesPrefix:[66,77]},{mediaType:"image/tiff",bytesPrefix:[73,73,42,0]},{mediaType:"image/tiff",bytesPrefix:[77,77,0,42]},{mediaType:"image/avif",bytesPrefix:[0,0,0,32,102,116,121,112,97,118,105,102]},{mediaType:"image/heic",bytesPrefix:[0,0,0,32,102,116,121,112,104,101,105,99]}],Z=[{mediaType:"application/pdf",bytesPrefix:[37,80,68,70]}],U=[{mediaType:"audio/mpeg",bytesPrefix:[255,251]},{mediaType:"audio/mpeg",bytesPrefix:[255,250]},{mediaType:"audio/mpeg",bytesPrefix:[255,243]},{mediaType:"audio/mpeg",bytesPrefix:[255,242]},{mediaType:"audio/mpeg",bytesPrefix:[255,227]},{mediaType:"audio/mpeg",bytesPrefix:[255,226]},{mediaType:"audio/wav",bytesPrefix:[82,73,70,70,null,null,null,null,87,65,86,69]},{mediaType:"audio/ogg",bytesPrefix:[79,103,103,83]},{mediaType:"audio/flac",bytesPrefix:[102,76,97,67]},{mediaType:"audio/aac",bytesPrefix:[64,21,0,0]},{mediaType:"audio/webm",bytesPrefix:[26,69,223,163]}],D=[{mediaType:"video/mp4",bytesPrefix:[0,0,0,null,102,116,121,112]},{mediaType:"video/webm",bytesPrefix:[26,69,223,163]},{mediaType:"video/quicktime",bytesPrefix:[0,0,0,20,102,116,121,112,113,116]},{mediaType:"video/x-msvideo",bytesPrefix:[82,73,70,70]}];function z(e,t){if("string"!=typeof e)return e.length>t?e.subarray(0,t):e;let r=4*Math.ceil(t/3),a=x(e.substring(0,Math.min(e.length,r)));return a.length>t?a.subarray(0,t):a}function V({data:e,signatures:t}){var r,a;let n,o=z(e,18);for(let i of((r=o).length>10&&73===r[0]&&68===r[1]&&51===r[2]&&(n=(127&(a=z(e,131084))[6])<<21|(127&a[7])<<14|(127&a[8])<<7|127&a[9],o=a.subarray(n+10)),t))if(o.length>=i.bytesPrefix.length&&i.bytesPrefix.every((e,t)=>null===e||o[t]===e))return i.mediaType}var q={image:B,audio:[...U,{mediaType:"audio/mp4",bytesPrefix:[0,0,0,null,102,116,121,112]}],video:D,application:Z};function W({data:e,topLevelType:t}){if(void 0===t)return V({data:e,signatures:[...B,...Z,...U,...D]});let r=q[t];if(void 0!==r)return V({data:e,signatures:r})}function H(e){let t=e.indexOf("/");return -1===t?e:e.substring(0,t)}function J(e){let t=e.indexOf("/");if(-1===t)return!1;let r=e.substring(t+1);return r.length>0&&"*"!==r}async function K(e){var t;try{await (null==(t=e.body)?void 0:t.cancel())}catch(e){}}var G="AI_DownloadError",X=`vercel.ai.error.${G}`,Y=Symbol.for(X),Q=class extends(r=i.AISDKError,t=Y,r){constructor({url:e,statusCode:r,statusText:a,cause:n,message:o=null==n?`Failed to download ${e}: ${r} ${a}`:`Failed to download ${e}: ${n}`}){super({name:G,message:o,cause:n}),this[t]=!0,this.url=e,this.statusCode=r,this.statusText=a}static isInstance(e){return i.AISDKError.hasMarker(e,X)}};function ee(e,t){try{return new URL(e).origin===new URL(t).origin}catch(e){return!1}}function et(e){let t;try{t=new URL(e)}catch(t){throw new Q({url:e,message:`Invalid URL: ${e}`})}if("data:"===t.protocol)return;if("http:"!==t.protocol&&"https:"!==t.protocol)throw new Q({url:e,message:`URL scheme must be http, https, or data, got ${t.protocol}`});let r=t.hostname.toLowerCase().replace(/\.+$/,"");if(!r)throw new Q({url:e,message:"URL must have a hostname"});if("localhost"===r||r.endsWith(".local")||r.endsWith(".localhost"))throw new Q({url:e,message:`URL with hostname ${r} is not allowed`});if(r.startsWith("[")&&r.endsWith("]")){if(en(r.slice(1,-1)))throw new Q({url:e,message:`URL with IPv6 address ${r} is not allowed`});return}if(er(r)){if(ea(r))throw new Q({url:e,message:`URL with IP address ${r} is not allowed`});return}}function er(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 ea(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 en(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||!er(a))return null;let[n,o,i,s]=a.split(".").map(Number);t.push(n<<8|o,i<<8|s);continue}if(!/^[0-9a-f]{1,4}$/.test(a))return null;t.push(parseInt(a,16))}return t},o=n(a[0]);if(null===o)return null;if(2===a.length){let e=n(a[1]);if(null===e)return null;let t=8-o.length-e.length;return t<0?null:[...o,...Array(t).fill(0),...e]}return 8===o.length?o:null}(e);if(null===t)return!0;let r=e=>t.slice(0,e).every(e=>0===e);if(r(7)&&(0===t[7]||1===t[7])||(65024&t[0])==64512||(65472&t[0])==65152||(65472&t[0])==65216||(65280&t[0])==65280||8193===t[0]&&3512===t[1]||16383===t[0]&&(61440&t[1])==0)return!0;if(r(6)||r(5)&&65535===t[5]||r(4)&&65535===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&0===t[5]||100===t[0]&&65435===t[1]&&1===t[2]){let e=t[6]>>8&255,r=255&t[6],a=t[7]>>8&255,n=255&t[7];return ea(`${e}.${r}.${a}.${n}`)}return!1}var eo=globalThis.fetch,ei=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")}(eo);async function es(){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&&ei&&globalThis.fetch===eo?null!=a?a:a=Promise.resolve().then(el):globalThis.fetch}function el(){let{createRequire:e}=eu("node:module"),{lookup:t}=eu("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?!er(e)||ea(e):6!==t||en(e))throw new Q({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 eu(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 ec=["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"],ed=new Set([301,302,303,307,308]);async function ef({url:e,headers:t,abortSignal:r,maxRedirects:a=10,fetch:n,trustedOrigin:o}){let i=void 0===t?void 0:function(e){let t=new Headers(e);for(let e of ec)t.delete(e);return t}(t),s=e=>{let t={signal:r,redirect:e};return void 0!==i&&(t.headers=new Headers(i)),t},l=e;for(let t=0;t<=a;t++){let t=void 0!==o&&ee(l,o);t||et(l);let r=null!=n?n:t?globalThis.fetch:await es(),a=await r(l,s("manual"));if("opaqueredirect"===a.type){if(!function(e=globalThis){return null!=e.window}())throw new Q({url:e,message:`Redirect from ${l} could not be validated and was blocked`});return await r(l,s("follow"))}let u=a.headers.get("location");if(ed.has(a.status)&&u){await K(a);let e=new URL(u,l).toString();if(void 0!==i&&!ee(e,l)){let e=i.get("user-agent");i=new Headers(null==e?void 0:{"user-agent":e})}l=e;continue}return a}throw new Q({url:e,message:`Too many redirects (max ${a})`})}async function ep({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 K(e),new Q({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes (Content-Length: ${n}).`})}let n=e.body;if(null==n)return new Uint8Array(0);let o=n.getReader(),i=[],s=0;try{for(;;){let{done:e,value:a}=await o.read();if(e)break;if((s+=a.length)>r)throw new Q({url:t,message:`Download of ${t} exceeded maximum size of ${r} bytes.`});i.push(a)}}finally{try{await o.cancel()}catch(e){}finally{o.releaseLock()}}let l=new Uint8Array(s),u=0;for(let e of i)l.set(e,u),u+=e.length;return l}async function em(e,t){var r,a;try{let n=await ef({url:e,abortSignal:null==t?void 0:t.abortSignal});if(!n.ok)throw await K(n),new Q({url:e,statusCode:n.status,statusText:n.statusText});let o=await ep({response:n,url:e,maxBytes:null!=(r=null==t?void 0:t.maxBytes)?r:0x80000000}),i=null!=(a=n.headers.get("content-type"))?a:void 0;return new Blob([o],i?{type:i}:void 0)}catch(t){if(Q.isInstance(t))throw t;throw new Q({url:e,cause:t})}}var eh=Symbol.for("vercel.ai.embeddingModel.maxInputBytesPerCall"),ey=({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 i.InvalidArgumentError({argument:"separator",message:`The separator "${a}" must not be part of the alphabet "${r}".`});return()=>`${e}${a}${n()}`},eg=ey(),ev=async({url:e,headers:t={},successfulResponseHandler:r,failedResponseHandler:a,abortSignal:n,fetch:o,validateUrl:s,credentialedOrigin:l,trustedOrigin:u})=>{try{let c=null!=o?o:globalThis.fetch,d=void 0===l||ee(e,l)?t:{},f=L(d,`ai-sdk/provider-utils/${N}`,_()),p=s?await ef({url:e,headers:f,abortSignal:n,fetch:o,trustedOrigin:u}):await c(e,{method:"GET",headers:f,signal:n}),m=I(p);if(!p.ok){let t;try{t=await a({response:p,url:e,requestBodyValues:{}})}catch(t){if($(t)||i.APICallError.isInstance(t))throw t;throw new i.APICallError({message:"Failed to process error response",cause:t,statusCode:p.status,url:e,responseHeaders:m,requestBodyValues:{}})}throw t.value}try{return await r({response:p,url:e,requestBodyValues:{}})}catch(t){if(t instanceof Error&&($(t)||i.APICallError.isInstance(t)))throw t;throw new i.APICallError({message:"Failed to process successful response",cause:t,statusCode:p.status,url:e,responseHeaders:m,requestBodyValues:{}})}}catch(t){throw j({error:t,url:e,requestBodyValues:{}})}};function ew(e){var t,r;return null!=(r=null==(t=globalThis.Buffer)?void 0:t.isBuffer(e))&&r}function eb(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)}var eE={minimal:.02,low:.1,medium:.3,high:.6,xhigh:.9};function eA(e){return null!=e&&Number.isSafeInteger(e)&&e>=0}var eT=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,ex=/"(?: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 eP(e){let t=JSON.parse(e);return null===t||"object"!=typeof t||!1===eT.test(e)&&!1===ex.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 ek(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch(t){return eP(e)}try{return eP(e)}finally{Error.stackTraceLimit=t}}function eS(e){if("object"===e.type||Array.isArray(e.type)&&e.type.includes("object")){let{additionalProperties:t}=e;e.additionalProperties=null!=t&&"boolean"!=typeof t&&eI(t);let{properties:r}=e;if(null!=r)for(let e of Object.keys(r))r[e]=eI(r[e])}null!=e.items&&(e.items=Array.isArray(e.items)?e.items.map(eI):eI(e.items)),null!=e.anyOf&&(e.anyOf=e.anyOf.map(eI)),null!=e.allOf&&(e.allOf=e.allOf.map(eI)),null!=e.oneOf&&(e.oneOf=e.oneOf.map(eI));let{definitions:t}=e;if(null!=t)for(let e of Object.keys(t))t[e]=eI(t[e]);return e}function eI(e){return"boolean"==typeof e?e:eS(e)}var e_=Symbol("Let zodToJsonSchema decide on which parser to use"),e$={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 eO(e,t){return eY(e.type._def,t)}var eC=void 0,ej=/^[cC][^\s-]{8,}$/,eN=/^[0-9a-z]+$/,eR=/^[0-9A-HJKMNP-TV-Z]{26}$/,eL=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,eM=()=>(void 0===eC&&(eC=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),eC),eF=/^(?:(?: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])$/,eB=/^(([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])$/,eZ=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,eU=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,eD=/^[a-zA-Z0-9_-]{21}$/,ez=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function eV(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":eH(r,"email",a.message,t);break;case"format:idn-email":eH(r,"idn-email",a.message,t);break;case"pattern:zod":eJ(r,eL,a.message,t)}break;case"url":eH(r,"uri",a.message,t);break;case"uuid":eH(r,"uuid",a.message,t);break;case"regex":eJ(r,a.regex,a.message,t);break;case"cuid":eJ(r,ej,a.message,t);break;case"cuid2":eJ(r,eN,a.message,t);break;case"startsWith":eJ(r,RegExp(`^${eq(a.value,t)}`),a.message,t);break;case"endsWith":eJ(r,RegExp(`${eq(a.value,t)}$`),a.message,t);break;case"datetime":eH(r,"date-time",a.message,t);break;case"date":eH(r,"date",a.message,t);break;case"time":eH(r,"time",a.message,t);break;case"duration":eH(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":eJ(r,RegExp(eq(a.value,t)),a.message,t);break;case"ip":"v6"!==a.version&&eH(r,"ipv4",a.message,t),"v4"!==a.version&&eH(r,"ipv6",a.message,t);break;case"base64url":eJ(r,eU,a.message,t);break;case"jwt":eJ(r,ez,a.message,t);break;case"cidr":"v6"!==a.version&&eJ(r,eF,a.message,t),"v4"!==a.version&&eJ(r,eB,a.message,t);break;case"emoji":eJ(r,eM(),a.message,t);break;case"ulid":eJ(r,eR,a.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":eH(r,"binary",a.message,t);break;case"contentEncoding:base64":r.contentEncoding="base64";break;case"pattern:zod":eJ(r,eZ,a.message,t)}break;case"nanoid":eJ(r,eD,a.message,t)}return r}function eq(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let r=0;r<e.length;r++)eW.has(e[r])||(t+="\\"),t+=e[r];return t}(e):e}var eW=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function eH(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 eJ(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:eK(t,a),...r&&a.errorMessages&&{errorMessage:{pattern:r}}})):e.pattern=eK(t,a)}function eK(e,t){var r;if(!t.applyRegexFlags||!e.flags)return e.source;let a={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=a.i?e.source.toLowerCase():e.source,o="",i=!1,s=!1,l=!1;for(let e=0;e<n.length;e++){if(i){o+=n[e],i=!1;continue}if(a.i){if(s){if(n[e].match(/[a-z]/)){l?(o+=n[e],o+=`${n[e-2]}-${n[e]}`.toUpperCase(),l=!1):"-"===n[e+1]&&(null==(r=n[e+2])?void 0:r.match(/[a-z]/))?(o+=n[e],l=!0):o+=`${n[e]}${n[e].toUpperCase()}`;continue}}else if(n[e].match(/[a-z]/)){o+=`[${n[e]}${n[e].toUpperCase()}]`;continue}}if(a.m){if("^"===n[e]){o+=`(^|(?<=[\r
11
- ]))`;continue}else if("$"===n[e]){o+=`($|(?=[\r
12
- ]))`;continue}}if(a.s&&"."===n[e]){o+=s?`${n[e]}\r
13
- `:`[${n[e]}\r
14
- ]`;continue}o+=n[e],"\\"===n[e]?i=!0:s&&"]"===n[e]?s=!1:s||"["!==n[e]||(s=!0)}try{new RegExp(o)}catch(r){return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function eG(e,t){var r,a,n,o,i,s;let l={type:"object",additionalProperties:null!=(r=eY(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}=eV(e.keyType._def,t);return{...l,propertyNames:a}}if((null==(o=e.keyType)?void 0:o._def.typeName)==="ZodEnum")return{...l,propertyNames:{enum:e.keyType._def.values}};if((null==(i=e.keyType)?void 0:i._def.typeName)==="ZodBranded"&&"ZodString"===e.keyType._def.type._def.typeName&&(null==(s=e.keyType._def.type._def.checks)?void 0:s.length)){let{type:r,...a}=eO(e.keyType._def,t);return{...l,propertyNames:a}}return l}var eX={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function eY(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!==e_)return o}if(n&&!r){let e=eQ(n,t);if(void 0!==e)return e}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let i=((e,t,r)=>{var a,n,o,i,s,l;switch(t){case"ZodString":return eV(e,r);case"ZodNumber":let u={type:"number"};if(!e.checks)return u;for(let t of e.checks)switch(t.kind){case"int":u.type="integer";break;case"min":t.inclusive?u.minimum=t.value:u.exclusiveMinimum=t.value;break;case"max":t.inclusive?u.maximum=t.value:u.exclusiveMaximum=t.value;break;case"multipleOf":u.multipleOf=t.value}return u;case"ZodObject":return function(e,t){let r={type:"object",properties:{}},a=[],n=e.shape();for(let e in n){let o=n[e];if(void 0===o||void 0===o._def)continue;let i=function(e){try{return e.isOptional()}catch(e){return!0}}(o),s=eY(o._def,{...t,currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]});void 0!==s&&(r.properties[e]=s,i||a.push(e))}a.length&&(r.required=a);let o=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return eY(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==o&&(r.additionalProperties=o),r}(e,r);case"ZodBigInt":let c={type:"integer",format:"int64"};if(!e.checks)return c;for(let t of e.checks)switch(t.kind){case"min":t.inclusive?c.minimum=t.value:c.exclusiveMinimum=t.value;break;case"max":t.inclusive?c.maximum=t.value:c.exclusiveMaximum=t.value;break;case"multipleOf":c.multipleOf=t.value}return c;case"ZodBoolean":return{type:"boolean"};case"ZodDate":return function e(t,r,a){let n=null!=a?a:r.dateStrategy;if(Array.isArray(n))return{anyOf:n.map(a=>e(t,r,a))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":var o=t;let i={type:"integer",format:"unix-time"};for(let e of o.checks)switch(e.kind){case"min":i.minimum=e.value;break;case"max":i.maximum=e.value}return i}}(e,r);case"ZodUndefined":case"ZodNaN":case"ZodNever":return{not:{}};case"ZodNull":return{type:"null"};case"ZodArray":let d;return d={type:"array"},(null==(o=e.type)?void 0:o._def)&&(null==(s=null==(i=e.type)?void 0:i._def)?void 0:s.typeName)!=="ZodAny"&&(d.items=eY(e.type._def,{...r,currentPath:[...r.currentPath,"items"]})),e.minLength&&(d.minItems=e.minLength.value),e.maxLength&&(d.maxItems=e.maxLength.value),e.exactLength&&(d.minItems=e.exactLength.value,d.maxItems=e.exactLength.value),d;case"ZodUnion":case"ZodDiscriminatedUnion":let f,p=e.options instanceof Map?Array.from(e.options.values()):e.options;if(p.every(e=>e._def.typeName in eX&&(!e._def.checks||!e._def.checks.length))){let e=p.reduce((e,t)=>{let r=eX[t._def.typeName];return r&&!e.includes(r)?[...e,r]:e},[]);return{type:e.length>1?e:e[0]}}if(p.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){let e=p.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===p.length){let t=e.filter((e,t,r)=>r.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:p.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(p.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:p.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return a=e,n=r,(f=(a.options instanceof Map?Array.from(a.options.values()):a.options).map((e,t)=>eY(e._def,{...n,currentPath:[...n.currentPath,"anyOf",`${t}`]})).filter(e=>!!e&&(!n.strictUnions||"object"==typeof e&&Object.keys(e).length>0))).length?{anyOf:f}:void 0;case"ZodIntersection":let m,h;return m=[eY(e.left._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),eY(e.right._def,{...r,currentPath:[...r.currentPath,"allOf","1"]})].filter(e=>!!e),h=[],m.forEach(e=>{if((!("type"in e)||"string"!==e.type)&&"allOf"in e)h.push(...e.allOf);else{let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){let{additionalProperties:r,...a}=e;t=a}h.push(t)}}),h.length?{allOf:h}:void 0;case"ZodTuple":return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,t)=>eY(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:eY(e.rest._def,{...r,currentPath:[...r.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,t)=>eY(e._def,{...r,currentPath:[...r.currentPath,"items",`${t}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[])};case"ZodRecord":return eG(e,r);case"ZodLiteral":let y;return"bigint"!=(y=typeof e.value)&&"number"!==y&&"boolean"!==y&&"string"!==y?{type:Array.isArray(e.value)?"array":"object"}:{type:"bigint"===y?"integer":y,const:e.value};case"ZodEnum":return{type:"string",enum:Array.from(e.values)};case"ZodNativeEnum":let g,v,w;return g=e.values,{type:1===(w=Array.from(new Set((v=Object.keys(e.values).filter(e=>"number"!=typeof g[g[e]]).map(e=>g[e])).map(e=>typeof e)))).length?"string"===w[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:[eX[e.innerType._def.typeName],"null"]};let b=eY(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","0"]});return b&&{anyOf:[b,{type:"null"}]};case"ZodOptional":if(r.currentPath.toString()===(null==(l=r.propertyPath)?void 0:l.toString()))return eY(e.innerType._def,r);let E=eY(e.innerType._def,{...r,currentPath:[...r.currentPath,"anyOf","1"]});return E?{anyOf:[{not:{}},E]}:{};case"ZodMap":if("record"===r.mapStrategy)return eG(e,r);return{type:"array",maxItems:125,items:{type:"array",items:[eY(e.keyType._def,{...r,currentPath:[...r.currentPath,"items","items","0"]})||{},eY(e.valueType._def,{...r,currentPath:[...r.currentPath,"items","items","1"]})||{}],minItems:2,maxItems:2}};case"ZodSet":let A;return A={type:"array",uniqueItems:!0,items:eY(e.valueType._def,{...r,currentPath:[...r.currentPath,"items"]})},e.minSize&&(A.minItems=e.minSize.value),e.maxSize&&(A.maxItems=e.maxSize.value),A;case"ZodLazy":return()=>e.getter()._def;case"ZodPromise":return eY(e.type._def,r);case"ZodEffects":return"input"===r.effectStrategy?eY(e.schema._def,r):{};case"ZodAny":case"ZodUnknown":return{};case"ZodDefault":return{...eY(e.innerType._def,r),default:e.defaultValue()};case"ZodBranded":return eO(e,r);case"ZodReadonly":case"ZodCatch":return eY(e.innerType._def,r);case"ZodPipeline":if("input"===r.pipeStrategy)return eY(e.in._def,r);if("output"===r.pipeStrategy)return eY(e.out._def,r);let T=eY(e.in._def,{...r,currentPath:[...r.currentPath,"allOf","0"]}),x=eY(e.out._def,{...r,currentPath:[...r.currentPath,"allOf",T?"1":"0"]});return{allOf:[T,x].filter(e=>void 0!==e)};default:return}})(e,e.typeName,t),s="function"==typeof i?eY(i(),t):i;if(s&&e0(e,t,s),t.postProcess){let r=t.postProcess(s,e,t);return o.jsonSchema=s,r}return o.jsonSchema=s,s}var eQ=(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}},e0=(e,t,r)=>(e.description&&(r.description=e.description),r),e1=Symbol.for("vercel.ai.schema");function e2(e,{validate:t}={}){return{[e1]:!0,_type:void 0,get jsonSchema(){return"function"==typeof e&&(e=e()),e},validate:t}}function e4(e){var t;return null==e?e2({type:"object",properties:{},additionalProperties:!1}):"object"==typeof e&&null!==e&&e1 in e&&!0===e[e1]&&"jsonSchema"in e&&"validate"in e?e:"~standard"in e?"zod"===e["~standard"].vendor?e6(e):(t=e,e2(()=>{if(null==t["~standard"].jsonSchema)throw Error(`Standard schema vendor '${t["~standard"].vendor}' does not support JSON Schema conversion.`);return eS(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 i.TypeValidationError({value:e,cause:r.issues})}}})):e()}function e6(e,t){var r,a;let n;if("_zod"in e){let a;return a=null!=(r=null==t?void 0:t.useReferences)&&r,e2(()=>eS((0,l.toJSONSchema)(e,{target:"draft-7",io:"input",reused:a?"ref":"inline"})),{validate:async t=>{let r=await (0,s.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,e2(()=>((e,t)=>{var r;let a,n,o=(n=void 0!==(a="string"==typeof t?{...e$,name:t}:{...e$,...t}).name?[...a.basePath,a.definitionPath,a.name]:a.basePath,{...a,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(a.definitions).map(([e,t])=>[t._def,{def:t._def,path:[...a.basePath,a.definitionPath,e],jsonSchema:void 0}]))}),i="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>{var a;return{...e,[t]:null!=(a=eY(r._def,{...o,currentPath:[...o.basePath,o.definitionPath,t]},!0))?a:{}}},{}):void 0,s="string"==typeof t?t:(null==t?void 0:t.nameStrategy)==="title"||null==t?void 0:t.name,l=null!=(r=eY(e._def,void 0===s?o:{...o,currentPath:[...o.basePath,o.definitionPath,s]},!1))?r:{},u="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==u&&(l.title=u);let c=void 0===s?i?{...l,[o.definitionPath]:i}:l:{$ref:[..."relative"===o.$refStrategy?[]:o.basePath,o.definitionPath,s].join("/"),[o.definitionPath]:{...i,[s]:l}};return c.$schema="http://json-schema.org/draft-07/schema#",c})(e,{$refStrategy:n?"root":"none"}),{validate:async t=>{let r=await e.safeParseAsync(t);return r.success?{success:!0,value:r.data}:{success:!1,error:r.error}}})}async function e9({value:e,schema:t,context:r}){let a=await e5({value:e,schema:t,context:r});if(!a.success)throw i.TypeValidationError.wrap({value:e,cause:a.error,context:r});return a.value}async function e5({value:e,schema:t,context:r}){let a=e4(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:i.TypeValidationError.wrap({value:e,cause:t.error,context:r}),rawValue:e}}catch(t){return{success:!1,error:i.TypeValidationError.wrap({value:e,cause:t,context:r}),rawValue:e}}}async function e7({text:e,schema:t}){try{let r=ek(e);if(null==t)return r;return await e9({value:r,schema:t})}catch(t){if(i.JSONParseError.isInstance(t)||i.TypeValidationError.isInstance(t))throw t;throw new i.JSONParseError({text:e,cause:t})}}async function e3({text:e,schema:t}){try{let r=ek(e);if(null==t)return{success:!0,value:r,rawValue:r};return await e5({value:r,schema:t})}catch(t){return{success:!1,error:i.JSONParseError.isInstance(t)?t:new i.JSONParseError({text:e,cause:t}),rawValue:void 0}}}function e8({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new p).pipeThrough(new TransformStream({async transform({data:e},r){"[DONE]"!==e&&r.enqueue(await e3({text:e,schema:t}))}}))}async function te({provider:e,providerOptions:t,schema:r}){if((null==t?void 0:t[e])==null)return;let a=await e5({value:t[e],schema:r});if(!a.success)throw new i.InvalidArgumentError({argument:"providerOptions",message:`invalid ${e} provider options`,cause:a.error});return a.value}var tt=()=>globalThis.fetch;function tr(e){return e.replace(/[\r\n]/g,"").replace(/\\/g,"\\\\").replace(/"/g,'\\"')}var ta=async({url:e,headers:t={},parts:r,failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:s=tt()})=>{let l,u,c,d,f=`ai-sdk-multipart-${eg()}`,p=Object.fromEntries(r.map(e=>{var t;return[e.name,"field"===e.type?e.value:`<file:${null!=(t=e.filename)?t:e.name}>`]})),m=(u=new TextEncoder,c=!1,d=new Set,{stream:E(async function*(){var e,t;for(let a of r){if(c)return;let r=`--${f}\r
15
- Content-Disposition: form-data; name="${tr(a.name)}"`;if("field"===a.type){yield u.encode(`${r}\r
16
- \r
17
- ${a.value}\r
18
- `);continue}let n=`; filename="${tr(null!=(e=a.filename)?e:"blob")}"`,o=(null!=(t=a.mediaType)?t:"application/octet-stream").replace(/[\r\n]/g,"");if(yield u.encode(`${r}${n}\r
19
- Content-Type: ${o}\r
20
- \r
21
- `),a.content instanceof Uint8Array)yield a.content;else{let e=a.content.getReader();l=e,d.add(a.content);let t=!1;try{for(;;){let{done:r,value:a}=await e.read();if(r||c){t=r;break}yield a}}finally{l=void 0,t||await e.cancel().catch(()=>{}),e.releaseLock()}if(c)return}yield u.encode("\r\n")}yield u.encode(`--${f}--\r
22
- `)}()),async dispose(e){if(c)return;c=!0;let t=l;for(let a of(null!=t&&await t.cancel(e).catch(()=>{}),r))"file"!==a.type||a.content instanceof Uint8Array||d.has(a.content)||await a.content.cancel(e).catch(()=>{})}});try{let r={method:"POST",headers:L({...t,"Content-Type":`multipart/form-data; boundary=${f}`},`ai-sdk/provider-utils/${N}`,_()),body:m.stream,duplex:"half",signal:o},l=await s(e,r),u=I(l);if(!l.ok){let t;try{t=await a({response:l,url:e,requestBodyValues:p})}catch(t){if($(t)||i.APICallError.isInstance(t))throw t;throw new i.APICallError({message:"Failed to process error response",cause:t,statusCode:l.status,url:e,responseHeaders:u,requestBodyValues:p})}throw t.value}try{return await n({response:l,url:e,requestBodyValues:p})}catch(t){if(t instanceof Error&&($(t)||i.APICallError.isInstance(t)))throw t;throw new i.APICallError({message:"Failed to process successful response",cause:t,statusCode:l.status,url:e,responseHeaders:u,requestBodyValues:p})}}catch(t){throw await m.dispose(t),j({error:t,url:e,requestBodyValues:p})}},tn=()=>globalThis.fetch,to=async({url:e,headers:t,body:r,failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:i})=>await ts({url:e,headers:{"Content-Type":"application/json",...t},body:{content:JSON.stringify(r),values:r},failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:i}),ti=async({url:e,headers:t,formData:r,failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:i})=>await ts({url:e,headers:t,body:{content:r,values:Object.fromEntries(r.entries())},failedResponseHandler:a,successfulResponseHandler:n,abortSignal:o,fetch:i}),ts=async({url:e,headers:t={},body:r,successfulResponseHandler:a,failedResponseHandler:n,abortSignal:o,fetch:s=tn()})=>{try{let l=await s(e,{method:"POST",headers:L(t,`ai-sdk/provider-utils/${N}`,_()),body:r.content,signal:o}),u=I(l);if(!l.ok){let t;try{t=await n({response:l,url:e,requestBodyValues:r.values})}catch(t){if($(t)||i.APICallError.isInstance(t))throw t;throw new i.APICallError({message:"Failed to process error response",cause:t,statusCode:l.status,url:e,responseHeaders:u,requestBodyValues:r.values})}throw t.value}try{return await a({response:l,url:e,requestBodyValues:r.values})}catch(t){if(t instanceof Error&&($(t)||i.APICallError.isInstance(t)))throw t;throw new i.APICallError({message:"Failed to process successful response",cause:t,statusCode:l.status,url:e,responseHeaders:u,requestBodyValues:r.values})}}catch(t){throw j({error:t,url:e,requestBodyValues:r.values})}};function tl(e){return e}async function tu(e){return"function"==typeof e&&(e=e()),Promise.resolve(e)}async function tc(e,{maxRetries:t,delayInMs:r,backoffFactor:a,abortSignal:n,shouldRetry:o,getDelayInMs:s,createRetryError:l},u=[]){try{return await e()}catch(p){if($(p)||0===t)throw p;let c=(0,i.getErrorMessage)(p),d=[...u,p],f=d.length;if(f>t)throw l({message:`Failed after ${f} attempts. Last error: ${c}`,reason:"maxRetriesExceeded",errors:d});if(await o(p)&&f<=t)return await y(s({error:p,exponentialBackoffDelay:r}),{abortSignal:n}),tc(e,{maxRetries:t,delayInMs:a*r,backoffFactor:a,abortSignal:n,shouldRetry:o,getDelayInMs:s,createRetryError:l},d);if(1===f)throw p;throw l({message:`Failed after ${f} attempts with non-retryable error: '${c}'`,reason:"errorNotRetryable",errors:d})}}var td=new TextDecoder;function tf({stream:e,url:t,requestBodyValues:r,statusCode:a,responseHeaders:n}){let o=e.getReader(),s=!1,l=()=>{s||(o.releaseLock(),s=!0)};return new ReadableStream({async pull(e){try{let{done:t,value:r}=await o.read();t?(l(),e.close()):e.enqueue(r)}catch(o){if(l(),$(o))return void e.error(o);e.error(j({error:new i.APICallError({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{l()}}})}async function tp({response:e,url:t}){return td.decode(await ep({response:e,url:t}))}async function*tm({stream:e,schema:t}){let r=e.getReader(),a=new TextDecoder,n="",o=!1;try{for(;;){let{done:e,value:i}=await r.read();if(e){o=!0,n+=a.decode();break}let s=(n+=a.decode(i,{stream:!0})).indexOf("\n");for(;-1!==s;){let e=n.slice(0,s).replace(/\r$/,"");n=n.slice(s+1),e.trim().length>0&&(yield await e7({text:e,schema:t})),s=n.indexOf("\n")}}let e=n.replace(/\r$/,"");e.trim().length>0&&(yield await e7({text:e,schema:t}))}finally{o||await r.cancel().catch(()=>{}),r.releaseLock()}}function th(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(th):Object.getPrototypeOf(e)===Object.prototype&&Object.values(e).every(th))}var ty="AI_SerializationError",tg=`vercel.ai.error.${ty}`,tv=Symbol.for(tg),tw=class extends(o=i.AISDKError,n=tv,o){constructor({message:e="Failed to serialize value.",cause:t}={}){super({name:ty,message:e,cause:t}),this[n]=!0}static isInstance(e){return i.AISDKError.hasMarker(e,tg)}},tb=class{constructor(e,t={}){var r,a;this.toolCalls=new Set,this.toolCallsById=new Map,this.toolCallsByIndex=new Map,this.controller=e,this._generateId=null!=(r=t.generateId)?r:eg,this.typeValidation=null!=(a=t.typeValidation)?a:"none",this.extractMetadata=t.extractMetadata,this.buildToolCallProviderMetadata=t.buildToolCallProviderMetadata}processDelta(e){let{id:t,index:r}=e,a=null!=t&&t.length>0?this.toolCallsById.get(t):null!=r?this.toolCallsByIndex.get(r):this.latestToolCall;null==a?a=this.processNewToolCall(e):this.processExistingToolCall(a,e),null!=r&&this.toolCallsByIndex.set(r,a),this.latestToolCall=a}flush(){for(let e of this.toolCalls)e.hasFinished||this.finishToolCall(e)}processNewToolCall(e){var t,r,a;if("required"===this.typeValidation){if("function"!==e.type)throw new i.InvalidResponseDataError({data:e,message:"Expected 'function' type."})}else if("if-present"===this.typeValidation&&null!=e.type&&"function"!==e.type)throw new i.InvalidResponseDataError({data:e,message:"Expected 'function' type."});if(null==e.id)throw new i.InvalidResponseDataError({data:e,message:"Expected 'id' to be a string."});if((null==(t=e.function)?void 0:t.name)==null)throw new i.InvalidResponseDataError({data:e,message:"Expected 'function.name' to be a string."});this.controller.enqueue({type:"tool-input-start",id:e.id,toolName:e.function.name});let n=null==(r=this.extractMetadata)?void 0:r.call(this,e),o={id:e.id,type:"function",function:{name:e.function.name,arguments:null!=(a=e.function.arguments)?a:""},hasFinished:!1,metadata:n};return this.toolCalls.add(o),o.id.length>0&&this.toolCallsById.set(o.id,o),o.function.arguments.length>0&&this.controller.enqueue({type:"tool-input-delta",id:o.id,delta:o.function.arguments}),o}processExistingToolCall(e,t){var r;e.hasFinished||(null==(r=t.function)?void 0:r.arguments)!=null&&(e.function.arguments+=t.function.arguments,this.controller.enqueue({type:"tool-input-delta",id:e.id,delta:t.function.arguments}))}finishToolCall(e){var t,r;this.controller.enqueue({type:"tool-input-end",id:e.id});let a=null==(t=this.buildToolCallProviderMetadata)?void 0:t.call(this,e.metadata);this.controller.enqueue({type:"tool-call",toolCallId:null!=(r=e.id)?r:this._generateId(),toolName:e.function.name,input:e.function.arguments,...a?{providerMetadata:a}:{}}),e.hasFinished=!0}};function tE(e){return"string"==typeof e}function tA(e){return"number"==typeof e}function tT(e,t){return void 0===e||t(e)}function tx(e){return eb(e)&&tE(e.type)}function tP(e){return eb(e)&&tE(e.text)&&tA(e.startSecond)&&tA(e.endSecond)}async function*tk({tool:e,input:t,options:r}){let a=e.execute(t,r);if(null!=a&&"function"==typeof a[Symbol.asyncIterator]){let e;for await(let t of a)e=t,yield{type:"preliminary",output:t};yield{type:"final",output:e}}else yield{type:"final",output:await a}}e.s(["DEFAULT_MAX_DOWNLOAD_SIZE",0,0x80000000,"DelayedPromise",0,S,"DownloadError",0,Q,"EXPERIMENTAL_EMBEDDING_MODEL_MAX_INPUT_BYTES_PER_CALL",0,eh,"EXPERIMENTAL_TRANSCRIPTION_STREAM_AUDIO_DONE_FRAME_TYPE",0,"transcription-stream.audio-done","EXPERIMENTAL_TRANSCRIPTION_STREAM_START_FRAME_TYPE",0,"transcription-stream.start","StreamingToolCallTracker",0,tb,"asArray",0,function(e){return void 0===e?[]:Array.isArray(e)?e:[e]},"asSchema",0,e4,"cancelResponseBody",0,K,"combineHeaders",0,function(...e){return e.reduce((e,t)=>({...e,...null!=t?t:{}}),{})},"connectToWebSocket",0,function({url:e,protocols:t,headers:r,webSocket:a,abortSignal:n,onOpen:o,onMessageText:i,onProcessingError:s,onSocketError:l,onClose:u,onAbort:c}){var d,f;let p,m,h=e=>{null!=m&&(null==n||n.removeEventListener("abort",m),m=void 0);try{null==p||p.close(e)}catch(e){}};if(null==n?void 0:n.aborted)return null==c||c(null!=(d=n.reason)?d:Error("Aborted")),{socket:void 0,close:h};try{p=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:(f=null!=r?r:{},Object.fromEntries(Object.entries(f).filter(([e,t])=>null!=t)))})}catch(e){return s(e),{socket:void 0,close:h}}null!=n&&null!=c&&(m=()=>{var e;return c(null!=(e=n.reason)?e:Error("Aborted"))},n.addEventListener("abort",m,{once:!0}));let y=p;p.onopen=()=>{try{null==o||o(y)}catch(e){s(e)}};let g=Promise.resolve();return p.onmessage=e=>{g=g.then(()=>w(e.data)).then(e=>i(e)).catch(s)},p.onerror=()=>{g=g.then(()=>null==l?void 0:l()).catch(s)},p.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;g=g.then(()=>null==u?void 0:u({code:t,reason:r})).catch(s)},{socket:p,close:h}},"convertAsyncIteratorToReadableStream",0,E,"convertBase64ToUint8Array",0,x,"convertImageModelFileToDataUri",0,function(e){return"url"===e.type?e.url:`data:${e.mediaType};base64,${"string"==typeof e.data?e.data:P(e.data)}`},"convertInlineFileDataToUint8Array",0,function(e){if("stream"===e.type){let t=new i.UnsupportedFunctionalityError({functionality:"streaming file upload"});throw e.stream.cancel(t).catch(()=>{}),t}return"text"===e.type?new TextEncoder().encode(e.text):e.data instanceof Uint8Array?e.data:e.data instanceof ArrayBuffer?new Uint8Array(e.data):x(e.data)},"convertToBase64",0,function(e){return e instanceof Uint8Array?P(e):e},"convertToFormData",0,function(e,t={}){let{useArrayBrackets:r=!0}=t,a=new FormData;for(let[t,n]of Object.entries(e))if(null!=n){if(Array.isArray(n)){if(1===n.length){a.append(t,n[0]);continue}let e=r?`${t}[]`:t;for(let t of n)a.append(e,t);continue}a.append(t,n)}return a},"convertUint8ArrayToBase64",0,P,"createBinaryResponseHandler",0,()=>async({response:e,url:t,requestBodyValues:r})=>{let a=I(e);if(!e.body)throw new i.APICallError({message:"Response body is empty",url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a,responseBody:void 0});try{let t=await e.arrayBuffer();return{responseHeaders:a,value:new Uint8Array(t)}}catch(n){throw new i.APICallError({message:"Failed to read response as array buffer",url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a,responseBody:void 0,cause:n})}},"createBinaryStreamResponseHandler",0,()=>async({response:e,url:t,requestBodyValues:r})=>{let a=I(e);if(null==e.body)throw new i.EmptyResponseBodyError({});return{responseHeaders:a,value:tf({stream:e.body,url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a})}},"createEventSourceResponseHandler",0,e=>async({response:t,url:r,requestBodyValues:a})=>{let n=I(t);if(null==t.body)throw new i.EmptyResponseBodyError({});return{responseHeaders:n,value:e8({stream:tf({stream:t.body,url:r,requestBodyValues:a,statusCode:t.status,responseHeaders:n}),schema:e})}},"createIdGenerator",0,ey,"createJsonErrorResponseHandler",0,({errorSchema:e,errorToMessage:t,isRetryable:r})=>async({response:a,url:n,requestBodyValues:o})=>{let s=await tp({response:a,url:n}),l=I(a);if(""===s.trim())return{responseHeaders:l,value:new i.APICallError({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:l,responseBody:s,isRetryable:null==r?void 0:r(a)})};try{let u=await e7({text:s,schema:e});return{responseHeaders:l,value:new i.APICallError({message:t(u),url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:l,responseBody:s,data:u,isRetryable:null==r?void 0:r(a,u)})}}catch(e){return{responseHeaders:l,value:new i.APICallError({message:a.statusText,url:n,requestBodyValues:o,statusCode:a.status,responseHeaders:l,responseBody:s,isRetryable:null==r?void 0:r(a)})}}},"createJsonLinesResponseHandler",0,e=>async({response:t})=>{let r=I(t);if(null==t.body)throw new i.EmptyResponseBodyError({});return{responseHeaders:r,value:tm({stream:t.body,schema:e})}},"createJsonResponseHandler",0,e=>async({response:t,url:r,requestBodyValues:a})=>{let n=await tp({response:t,url:r}),o=await e3({text:n,schema:e}),s=I(t);if(!o.success)throw new i.APICallError({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}},"createLanguageModelResponseMetadata",0,function({id:e,model:t,created:r}){return{id:null!=e?e:void 0,modelId:null!=t?t:void 0,timestamp:null!=r?new Date(1e3*r):void 0}},"createNullLanguageModelUsage",0,function(){return{inputTokens:{total:void 0,noCache:void 0,cacheRead:void 0,cacheWrite:void 0},outputTokens:{total:void 0,text:void 0,reasoning:void 0},raw:void 0}},"createProviderDefinedToolFactory",0,function({id:e,inputSchema:t}){return({execute:r,outputSchema:a,needsApproval:n,toModelOutput:o,onInputStart:i,onInputDelta:s,onInputAvailable:l,...u})=>tl({type:"provider",isProviderExecuted:!1,id:e,args:u,inputSchema:t,outputSchema:a,execute:r,needsApproval:n,toModelOutput:o,onInputStart:i,onInputDelta:s,onInputAvailable:l})},"createProviderDefinedToolFactoryWithOutputSchema",0,function({id:e,inputSchema:t,outputSchema:r}){return({execute:a,needsApproval:n,toModelOutput:o,onInputStart:i,onInputDelta:s,onInputAvailable:l,...u})=>tl({type:"provider",isProviderExecuted:!1,id:e,args:u,inputSchema:t,outputSchema:r,execute:a,needsApproval:n,toModelOutput:o,onInputStart:i,onInputDelta:s,onInputAvailable:l})},"createProviderExecutedToolFactory",0,function({id:e,inputSchema:t,outputSchema:r,supportsDeferredResults:a}){return({onInputStart:n,onInputDelta:o,onInputAvailable:i,...s})=>tl({type:"provider",isProviderExecuted:!0,id:e,args:s,inputSchema:t,outputSchema:r,onInputStart:n,onInputDelta:o,onInputAvailable:i,supportsDeferredResults:a})},"createProviderStreamError",0,function({message:e,type:t,code:r,statusCode:a,isRetryable:n,data:o}){let i={message:e,type:t,code:r,statusCode:a,isRetryable:n,data:o};return Object.defineProperty(i,k,{value:!0}),i},"createStatusCodeErrorResponseHandler",0,()=>async({response:e,url:t,requestBodyValues:r})=>{let a=I(e),n=await tp({response:e,url:t});return{responseHeaders:a,value:new i.APICallError({message:e.statusText,url:t,requestBodyValues:r,statusCode:e.status,responseHeaders:a,responseBody:n})}},"createToolNameMapping",0,function({tools:e=[],providerToolNames:t}){let r={},a={};for(let n of e)if("provider"===n.type&&n.id in t){let e=t[n.id];r[n.name]=e,a[e]=n.name}return{toProviderToolName:e=>{var t;return null!=(t=r[e])?t:e},toCustomToolName:e=>{var t;return null!=(t=a[e])?t:e}}},"delay",0,y,"deleteFromApi",0,F,"detectMediaType",0,W,"downloadBlob",0,em,"dynamicTool",0,function(e){return{...e,type:"dynamic"}},"executeTool",0,tk,"experimental_getToolCaller",0,function(e){return null==e?void 0:e.experimental_toolCaller},"experimental_parseTranscriptionStreamPart",0,function(e){let t;try{t=ek(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(tx)?r:void 0;case"transcript-delta":return tE(r.delta)&&tT(r.id,tE)&&tT(r.providerMetadata,eb)?r:void 0;case"transcript-partial":return tE(r.text)&&tT(r.id,tE)&&tT(r.startSecond,tA)&&tT(r.durationInSeconds,tA)&&tT(r.channelIndex,tA)&&tT(r.providerMetadata,eb)?r:void 0;case"transcript-final":return tE(r.text)&&tT(r.id,tE)&&tT(r.startSecond,tA)&&tT(r.endSecond,tA)&&tT(r.channelIndex,tA)&&tT(r.providerMetadata,eb)?r:void 0;case"finish":return tE(r.text)&&Array.isArray(r.segments)&&r.segments.every(tP)&&tT(r.language,tE)&&tT(r.durationInSeconds,tA)&&tT(r.providerMetadata,eb)?r:void 0;case"response-metadata":{if(!(tT(r.modelId,tE)&&tT(r.headers,eb)))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}},"experimental_toolCaller",0,function(e,t){return Object.defineProperty({...e},"experimental_toolCaller",{value:t})},"extractResponseHeaders",0,I,"fetchWithValidatedRedirects",0,ef,"filterNullable",0,function(...e){return e.filter(e=>null!=e)},"generateId",0,eg,"getFromApi",0,ev,"getRuntimeEnvironmentUserAgent",0,_,"getTopLevelMediaType",0,H,"isAbortError",0,$,"isBuffer",0,ew,"isCustomReasoning",0,function(e){return void 0!==e&&"provider-default"!==e},"isExecutableTool",0,function(e){return null!=e&&"function"==typeof e.execute},"isFullMediaType",0,J,"isNonNullable",0,function(e){return null!=e},"isProviderReference",0,function(e){return"object"==typeof e&&null!==e&&!(e instanceof Uint8Array)&&!(e instanceof URL)&&!(e instanceof ArrayBuffer)&&!ew(e)&&!("type"in e)},"isProviderStreamError",0,function(e){return"object"==typeof e&&null!=e&&!0===e[k]},"isRecord",0,eb,"isSameOrigin",0,ee,"isUrlSupported",0,function({mediaType:e,url:t,supportedUrls:r}){t=t.toLowerCase();let a=!(e=e.toLowerCase()).includes("/");return Object.entries(r).map(([e,t])=>{let r=e.toLowerCase();return"*"===r||"*/*"===r?{mediaTypePrefix:"",regexes:t}:{mediaTypePrefix:r.replace(/\*/,""),regexes:t}}).filter(({mediaTypePrefix:t})=>""===t||(a?`${e}/`===t:e.startsWith(t))).flatMap(({regexes:e})=>e).some(e=>(function(e,t){if(!e.global&&!e.sticky)return e.test(t);let r=e.lastIndex;e.lastIndex=0;try{return e.test(t)}finally{e.lastIndex=r}})(e,t))},"jsonSchema",0,e2,"lazySchema",0,function(e){let t;return()=>(null==t&&(t=e()),t)},"loadApiKey",0,function({apiKey:e,environmentVariableName:t,apiKeyParameterName:r="apiKey",description:a}){if("string"==typeof e)return e;if(null!=e)throw new i.LoadAPIKeyError({message:`${a} API key must be a string.`});if("u"<typeof process)throw new i.LoadAPIKeyError({message:`${a} API key is missing. Pass it using the '${r}' parameter. Environment variables are not supported in this environment.`});if(null==(e=process.env[t]))throw new i.LoadAPIKeyError({message:`${a} API key is missing. Pass it using the '${r}' parameter or the ${t} environment variable.`});if("string"!=typeof e)throw new i.LoadAPIKeyError({message:`${a} API key must be a string. The value of the ${t} environment variable is not a string.`});return e},"loadOptionalSetting",0,function({settingValue:e,environmentVariableName:t}){return"string"==typeof e?e:null!=e||"u"<typeof process?void 0:null!=(e=process.env[t])&&"string"==typeof e?e:void 0},"mapReasoningToProviderBudget",0,function({reasoning:e,maxOutputTokens:t,maxReasoningBudget:r,minReasoningBudget:a=1024,budgetPercentages:n=eE,warnings:o}){let i=n[e];return null==i?void o.push({type:"unsupported",feature:"reasoning",details:`reasoning "${e}" is not supported by this model.`}):Math.min(r,Math.max(a,Math.round(t*i)))},"mapReasoningToProviderEffort",0,function({reasoning:e,effortMap:t,warnings:r}){let a=t[e];return null==a?void r.push({type:"unsupported",feature:"reasoning",details:`reasoning "${e}" is not supported by this model.`}):(a!==e&&r.push({type:"compatibility",feature:"reasoning",details:`reasoning "${e}" is not directly supported by this model. mapped to effort "${a}".`}),a)},"mediaTypeToExtension",0,function(e){var t;let[r,a=""]=e.toLowerCase().split("/");return null!=(t=({mpeg:"mp3","x-wav":"wav",opus:"ogg",mp4:"m4a","x-m4a":"m4a"})[a])?t:a},"normalizeBatchRequestCounts",0,function({total:e,pending:t,completed:r,failed:a}){if(eA(e)&&eA(t)&&eA(r)&&eA(a)&&t+r+a===e)return{total:e,pending:t,completed:r,failed:a}},"normalizeHeaders",0,R,"parseJSON",0,e7,"parseJsonEventStream",0,e8,"parseProviderOptions",0,te,"postFormDataToApi",0,ti,"postJsonToApi",0,to,"postMultipartStreamToApi",0,ta,"postToApi",0,ts,"readResponseWithSizeLimit",0,ep,"resolve",0,tu,"resolveFullMediaType",0,function({part:e}){if(J(e.mediaType))return e.mediaType;if("data"===e.data.type){let t=W({data:e.data.data,topLevelType:H(e.mediaType)});if(t)return t;throw new i.UnsupportedFunctionalityError({functionality:`file of media type "${e.mediaType}" must specify subtype since it could not be auto-detected`})}throw new i.UnsupportedFunctionalityError({functionality:`file of media type "${e.mediaType}" must specify subtype since it is not passed as inline bytes`})},"resolveProviderReference",0,function({reference:e,provider:t}){let r=e[t];if(null!=r)return r;throw new i.NoSuchProviderReferenceError({provider:t,reference:e})},"retryWithExponentialBackoff",0,({maxRetries:e=2,initialDelayInMs:t=2e3,backoffFactor:r=2,abortSignal:a,shouldRetry:n,getDelayInMs:o=({exponentialBackoffDelay:e})=>e,createRetryError:i=({message:e})=>Error(e)})=>async s=>tc(s,{maxRetries:e,delayInMs:t,backoffFactor:r,abortSignal:a,shouldRetry:n,getDelayInMs:o,createRetryError:i}),"safeParseJSON",0,e3,"safeValidateTypes",0,e5,"secureJsonParse",0,ek,"serializeModelOptions",0,function(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 tw({message:"Cannot serialize asynchronous model options."});return t}(a);th(e)&&(t[r]=e)}else th(a)&&(t[r]=a);return{modelId:e.modelId,config:t}},"toWebSocketUrl",0,function(e){let t=new URL(e);return"http:"===t.protocol?t.protocol="ws:":"https:"===t.protocol&&(t.protocol="wss:"),t},"tool",0,tl,"validateBaseURL",0,function(e){if((null==e?void 0:e.trim())==="")throw new i.InvalidArgumentError({argument:"baseURL",message:"baseURL must be a non-empty string."});return e},"validateDownloadUrl",0,et,"validateTypes",0,e9,"waitForWebSocketBufferDrain",0,b,"withUserAgentSuffix",0,L,"withoutTrailingSlash",0,function(e){return null==e?void 0:e.replace(/\/$/,"")},"zodSchema",0,e6],691296)},296194,e=>{"use strict";var t,r,a,n,o,i,s,l,u,c,d,f,p,m,h,y,g,v,w,b,E,A,T,x,P,k,S,I,_,$,O="vercel.ai.error",C=Symbol.for(O),j=class e extends(r=Error,t=C,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,O)}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]}},N="AI_APICallError",R=`vercel.ai.error.${N}`,L=Symbol.for(R),M=class extends(n=j,a=L,n){constructor({message:e,url:t,requestBodyValues:r,statusCode:n,responseHeaders:o,responseBody:i,cause:s,isRetryable:l=null!=n&&(408===n||409===n||429===n||n>=500),data:u}){super({name:N,message:e,cause:s}),this[a]=!0,this.url=t,this.requestBodyValues=r,this.statusCode=n,this.responseHeaders=o,this.responseBody=i,this.isRetryable=l,this.data=u}static isInstance(e){return j.hasMarker(e,R)}},F="AI_EmptyResponseBodyError",B=`vercel.ai.error.${F}`,Z=Symbol.for(B),U=class extends(i=j,o=Z,i){constructor({message:e="Empty response body"}={}){super({name:F,message:e}),this[o]=!0}static isInstance(e){return j.hasMarker(e,B)}};function D(e){return null==e?"unknown error":"string"==typeof e?e:e instanceof Error?e.toString():JSON.stringify(e)}var z="AI_InvalidArgumentError",V=`vercel.ai.error.${z}`,q=Symbol.for(V),W=class extends(l=j,s=q,l){constructor({message:e,cause:t,argument:r}){super({name:z,message:e,cause:t}),this[s]=!0,this.argument=r}static isInstance(e){return j.hasMarker(e,V)}},H="AI_InvalidPromptError",J=`vercel.ai.error.${H}`,K=Symbol.for(J),G=class extends(c=j,u=K,c){constructor({prompt:e,message:t,cause:r}){super({name:H,message:`Invalid prompt: ${t}`,cause:r}),this[u]=!0,this.prompt=e}static isInstance(e){return j.hasMarker(e,J)}},X="AI_InvalidResponseDataError",Y=`vercel.ai.error.${X}`,Q=Symbol.for(Y),ee=class extends(f=j,d=Q,f){constructor({data:e,message:t=`Invalid response data: ${JSON.stringify(e)}.`}){super({name:X,message:t}),this[d]=!0,this.data=e}static isInstance(e){return j.hasMarker(e,Y)}},et="AI_JSONParseError",er=`vercel.ai.error.${et}`,ea=Symbol.for(er),en=class extends(m=j,p=ea,m){constructor({text:e,cause:t}){super({name:et,message:`JSON parsing failed: Text: ${e}.
23
- Error message: ${D(t)}`,cause:t}),this[p]=!0,this.text=e}static isInstance(e){return j.hasMarker(e,er)}},eo="AI_LoadAPIKeyError",ei=`vercel.ai.error.${eo}`,es=Symbol.for(ei),el=class extends(y=j,h=es,y){constructor({message:e}){super({name:eo,message:e}),this[h]=!0}static isInstance(e){return j.hasMarker(e,ei)}},eu="AI_LoadSettingError",ec=`vercel.ai.error.${eu}`,ed=Symbol.for(ec),ef=class extends(v=j,g=ed,v){constructor({message:e}){super({name:eu,message:e}),this[g]=!0}static isInstance(e){return j.hasMarker(e,ec)}},ep="AI_NoContentGeneratedError",em=`vercel.ai.error.${ep}`,eh=Symbol.for(em),ey=class extends(b=j,w=eh,b){constructor({message:e="No content generated."}={}){super({name:ep,message:e}),this[w]=!0}static isInstance(e){return j.hasMarker(e,em)}},eg="AI_NoSuchModelError",ev=`vercel.ai.error.${eg}`,ew=Symbol.for(ev),eb=class extends(A=j,E=ew,A){constructor({errorName:e=eg,modelId:t,modelType:r,message:a=`No such ${r}: ${t}`}){super({name:e,message:a}),this[E]=!0,this.modelId=t,this.modelType=r}static isInstance(e){return j.hasMarker(e,ev)}},eE="AI_NoSuchProviderReferenceError",eA=`vercel.ai.error.${eE}`,eT=Symbol.for(eA),ex=class extends(x=j,T=eT,x){constructor({provider:e,reference:t,message:r=`No provider reference found for provider '${e}'. Available providers: ${Object.keys(t).join(", ")}`}){super({name:eE,message:r}),this[T]=!0,this.provider=e,this.reference=t}static isInstance(e){return j.hasMarker(e,eA)}},eP="AI_TooManyEmbeddingValuesForCallError",ek=`vercel.ai.error.${eP}`,eS=Symbol.for(ek),eI=class extends(k=j,P=eS,k){constructor(e){super({name:eP,message:`Too many values for a single embedding call. The ${e.provider} model "${e.modelId}" can only embed up to ${e.maxEmbeddingsPerCall} values per call, but ${e.values.length} values were provided.`}),this[P]=!0,this.provider=e.provider,this.modelId=e.modelId,this.maxEmbeddingsPerCall=e.maxEmbeddingsPerCall,this.values=e.values}static isInstance(e){return j.hasMarker(e,ek)}},e_="AI_TypeValidationError",e$=`vercel.ai.error.${e_}`,eO=Symbol.for(e$),eC=class e extends(I=j,S=eO,I){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:e_,message:`${a}: Value: ${JSON.stringify(e)}.
24
- Error message: ${D(t)}`,cause:t}),this[S]=!0,this.value=e,this.context=r}static isInstance(e){return j.hasMarker(e,e$)}static wrap({value:t,cause:r,context:a}){var n,o,i;return e.isInstance(r)&&r.value===t&&(null==(n=r.context)?void 0:n.field)===(null==a?void 0:a.field)&&(null==(o=r.context)?void 0:o.entityName)===(null==a?void 0:a.entityName)&&(null==(i=r.context)?void 0:i.entityId)===(null==a?void 0:a.entityId)?r:new e({value:t,cause:r,context:a})}},ej="AI_UnsupportedFunctionalityError",eN=`vercel.ai.error.${ej}`,eR=Symbol.for(eN),eL=class extends($=j,_=eR,$){constructor({functionality:e,message:t=`'${e}' functionality not supported.`}){super({name:ej,message:t}),this[_]=!0,this.functionality=e}static isInstance(e){return j.hasMarker(e,eN)}};function eM(e){return null===e||"string"==typeof e||"number"==typeof e||"boolean"==typeof e||(Array.isArray(e)?e.every(eM):"object"==typeof e&&Object.entries(e).every(([e,t])=>"string"==typeof e&&(void 0===t||eM(t))))}e.s(["AISDKError",0,j,"APICallError",0,M,"EmptyResponseBodyError",0,U,"InvalidArgumentError",0,W,"InvalidPromptError",0,G,"InvalidResponseDataError",0,ee,"JSONParseError",0,en,"LoadAPIKeyError",0,el,"LoadSettingError",0,ef,"NoContentGeneratedError",0,ey,"NoSuchModelError",0,eb,"NoSuchProviderReferenceError",0,ex,"TooManyEmbeddingValuesForCallError",0,eI,"TypeValidationError",0,eC,"UnsupportedFunctionalityError",0,eL,"getErrorMessage",0,D,"isJSONArray",0,function(e){return Array.isArray(e)&&e.every(eM)},"isJSONObject",0,function(e){return null!=e&&"object"==typeof e&&Object.entries(e).every(([e,t])=>"string"==typeof e&&(void 0===t||eM(t)))}])}];
25
-
26
- //# sourceMappingURL=_1cbk7ms._.js.map