thursday-agent 0.22.0 → 0.23.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 (455) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +4 -4
  4. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +12 -12
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
  15. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +11 -11
  16. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  17. package/.next/server/app/api/artifact/route.js +6 -6
  18. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  19. package/.next/server/app/api/bot/memory/files/route.js +5 -4
  20. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/memory/route.js +9 -9
  22. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bot/route.js +9 -9
  24. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bot/thread/[id]/route.js +2 -2
  26. package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
  27. package/.next/server/app/api/bot/thread/file/route.js +12 -12
  28. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
  29. package/.next/server/app/api/bot/thread/route.js +2 -2
  30. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  31. package/.next/server/app/api/config/route.js +2 -2
  32. package/.next/server/app/api/config/route.js.nft.json +1 -1
  33. package/.next/server/app/api/events/route.js.nft.json +1 -1
  34. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/file/[...path]/route.js +3 -3
  36. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  38. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
  39. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  41. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  42. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  43. package/.next/server/app/api/mcp/oauth/callback/route.js +2 -2
  44. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  45. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  46. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  47. package/.next/server/app/api/memory/edit/route.js +13 -13
  48. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  49. package/.next/server/app/api/memory/route.js +1 -1
  50. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  51. package/.next/server/app/api/reach/route.js +11 -11
  52. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  53. package/.next/server/app/api/routine/route.js +9 -9
  54. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  55. package/.next/server/app/api/running/route.js.nft.json +1 -1
  56. package/.next/server/app/api/signins/route.js +7 -6
  57. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  58. package/.next/server/app/api/skills/[source]/[name]/route.js +8 -8
  59. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  60. package/.next/server/app/api/skills/route.js +8 -8
  61. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  62. package/.next/server/app/api/thursday/call/end/route.js +6 -6
  63. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  64. package/.next/server/app/api/thursday/call/plan/route.js +16 -16
  65. package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
  66. package/.next/server/app/api/thursday/call/route.js +6 -6
  67. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  68. package/.next/server/app/api/thursday/settings/route.js +6 -6
  69. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  70. package/.next/server/app/api/thursday/text/route.js +16 -16
  71. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  72. package/.next/server/app/api/thursday/tool-call/route.js +10 -10
  73. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  74. package/.next/server/app/api/workspace/files/route.js +1 -1
  75. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  76. package/.next/server/app/api/workspace/route.js +1 -1
  77. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  78. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
  79. package/.next/server/app/artifact/[...path]/page.js +5 -5
  80. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  81. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  83. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  84. package/.next/server/app/page/react-loadable-manifest.json +2 -2
  85. package/.next/server/app/page/server-reference-manifest.json +162 -162
  86. package/.next/server/app/page.js +7 -7
  87. package/.next/server/app/page.js.nft.json +1 -1
  88. package/.next/server/app/page_client-reference-manifest.js +1 -1
  89. package/.next/server/chunks/[root-of-the-server]__019e1fy._.js +2 -2
  90. package/.next/server/chunks/[root-of-the-server]__01jpmcj._.js +2 -2
  91. package/.next/server/chunks/[root-of-the-server]__03bjojd._.js +2 -2
  92. package/.next/server/chunks/[root-of-the-server]__03vunn6._.js +1 -1
  93. package/.next/server/chunks/[root-of-the-server]__06kxzw-._.js +2 -2
  94. package/.next/server/chunks/[root-of-the-server]__0atwstu._.js +1 -1
  95. package/.next/server/chunks/{[root-of-the-server]__005onk_._.js → [root-of-the-server]__0cfv4rq._.js} +1 -1
  96. package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +1 -1
  97. package/.next/server/chunks/{[root-of-the-server]__1-i6lgn._.js → [root-of-the-server]__0d00o4_._.js} +1 -1
  98. package/.next/server/chunks/{[root-of-the-server]__0itmdqy._.js → [root-of-the-server]__0e8y4ok._.js} +1 -1
  99. package/.next/server/chunks/{[root-of-the-server]__1tyftcr._.js → [root-of-the-server]__0eem_66._.js} +1 -1
  100. package/.next/server/chunks/{[root-of-the-server]__0xn7a8p._.js → [root-of-the-server]__0jn2qbf._.js} +1 -1
  101. package/.next/server/chunks/{[root-of-the-server]__08922kg._.js → [root-of-the-server]__0l563r8._.js} +1 -1
  102. package/.next/server/chunks/[root-of-the-server]__0mh1tgg._.js +1 -1
  103. package/.next/server/chunks/[root-of-the-server]__0mq0qmk._.js +3 -0
  104. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  105. package/.next/server/chunks/{[root-of-the-server]__1a7rgvy._.js → [root-of-the-server]__0pp2355._.js} +1 -1
  106. package/.next/server/chunks/{[root-of-the-server]__1g08s7l._.js → [root-of-the-server]__0r77huw._.js} +2 -2
  107. package/.next/server/chunks/[root-of-the-server]__10_v9ml._.js +3 -0
  108. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
  109. package/.next/server/chunks/[root-of-the-server]__1478lu3._.js +1 -1
  110. package/.next/server/chunks/[root-of-the-server]__16xao_p._.js +5 -0
  111. package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +2 -2
  112. package/.next/server/chunks/[root-of-the-server]__17m7ag9._.js +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__17yv6lg._.js +5 -0
  114. package/.next/server/chunks/[root-of-the-server]__19aqyg-._.js +1 -1
  115. package/.next/server/chunks/[root-of-the-server]__19imprr._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  117. package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
  118. package/.next/server/chunks/[root-of-the-server]__1fhule0._.js +3 -0
  119. package/.next/server/chunks/[root-of-the-server]__1hing45._.js +3 -0
  120. package/.next/server/chunks/{[root-of-the-server]__0mttntm._.js → [root-of-the-server]__1ivfglf._.js} +1 -1
  121. package/.next/server/chunks/[root-of-the-server]__1jcu_e9._.js +5 -0
  122. package/.next/server/chunks/{[root-of-the-server]__0m0qglo._.js → [root-of-the-server]__1kb-dkn._.js} +2 -2
  123. package/.next/server/chunks/{[root-of-the-server]__0eluax8._.js → [root-of-the-server]__1mowvzz._.js} +1 -1
  124. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  125. package/.next/server/chunks/[root-of-the-server]__1o7z93z._.js +1 -1
  126. package/.next/server/chunks/[root-of-the-server]__1onvx8x._.js +1 -1
  127. package/.next/server/chunks/[root-of-the-server]__1q_d6dj._.js +3 -0
  128. package/.next/server/chunks/[root-of-the-server]__1u_6dhy._.js +1 -1
  129. package/.next/server/chunks/{[root-of-the-server]__1_wtn0q._.js → [root-of-the-server]__1yiqjfx._.js} +1 -1
  130. package/.next/server/chunks/[root-of-the-server]__1yr_vvq._.js +3 -0
  131. package/.next/server/chunks/_0-mqt2w._.js +3 -0
  132. package/.next/server/chunks/_0-qt5if._.js +1 -1
  133. package/.next/server/chunks/{_0fau3ya._.js → _00aztuo._.js} +2 -2
  134. package/.next/server/chunks/_021kabv._.js +53 -0
  135. package/.next/server/chunks/_032k4m6._.js +3 -0
  136. package/.next/server/chunks/_03p6r2-._.js +1 -1
  137. package/.next/server/chunks/_06b5b4-._.js +2 -2
  138. package/.next/server/chunks/_06u9yo-._.js +1 -1
  139. package/.next/server/chunks/_07mczew._.js +3 -0
  140. package/.next/server/chunks/_07pkeds._.js +1 -1
  141. package/.next/server/chunks/_08354bn._.js +22 -22
  142. package/.next/server/chunks/_083t_nr._.js +5 -0
  143. package/.next/server/chunks/_0c-s0ei._.js +3 -0
  144. package/.next/server/chunks/_0cq69mm._.js +1 -1
  145. package/.next/server/chunks/_0gifi_2._.js +7 -0
  146. package/.next/server/chunks/_0gxz_1b._.js +1 -1
  147. package/.next/server/chunks/{_1tjwvoz._.js → _0la8s6t._.js} +2 -2
  148. package/.next/server/chunks/_0p27in2._.js +1 -1
  149. package/.next/server/chunks/{_09rtyfn._.js → _0rn3c_0._.js} +24 -26
  150. package/.next/server/chunks/_0ue8nq-._.js +5 -1
  151. package/.next/server/chunks/{_1uu4wjr._.js → _0wkhub3._.js} +2 -2
  152. package/.next/server/chunks/_0wyh244._.js +22 -22
  153. package/.next/server/chunks/_0ynjnhl._.js +5 -0
  154. package/.next/server/chunks/_1-wp0r0._.js +1 -1
  155. package/.next/server/chunks/{_201k0ah._.js → _12-7atf._.js} +2 -2
  156. package/.next/server/chunks/{_02mn8d7._.js → _124q1p2._.js} +2 -2
  157. package/.next/server/chunks/{_14xuq46._.js → _13qoxq9._.js} +24 -26
  158. package/.next/server/chunks/{_11y8h29._.js → _15-_mie._.js} +2 -2
  159. package/.next/server/chunks/_1823_7a._.js +1 -1
  160. package/.next/server/chunks/{_0uir6hb._.js → _186uku9._.js} +2 -2
  161. package/.next/server/chunks/{_0ggqpiz._.js → _18sj4xf._.js} +2 -2
  162. package/.next/server/chunks/_19kea1l._.js +12 -12
  163. package/.next/server/chunks/_1ac33qw._.js +2 -2
  164. package/.next/server/chunks/{_18z965x._.js → _1chy-lk._.js} +2 -2
  165. package/.next/server/chunks/_1cw6-rv._.js +1 -1
  166. package/.next/server/chunks/_1evvnbp._.js +1 -1
  167. package/.next/server/chunks/_1f_x75d._.js +3 -0
  168. package/.next/server/chunks/_1gn2r2q._.js +7 -9
  169. package/.next/server/chunks/_1icgbi8._.js +1 -1
  170. package/.next/server/chunks/{_1ozcb6o._.js → _1k6bmez._.js} +2 -2
  171. package/.next/server/chunks/_1ko5shz._.js +1 -1
  172. package/.next/server/chunks/_1ksyu6r._.js +1 -1
  173. package/.next/server/chunks/_1kwmzab._.js +3 -0
  174. package/.next/server/chunks/_1lg0lsu._.js +1 -1
  175. package/.next/server/chunks/_1pv6xbq._.js +5 -0
  176. package/.next/server/chunks/_1q42187._.js +2 -2
  177. package/.next/server/chunks/_1q6e56i._.js +7 -9
  178. package/.next/server/chunks/_1t43w6q._.js +1 -1
  179. package/.next/server/chunks/_1t8fv7b._.js +1 -1
  180. package/.next/server/chunks/_1ufbxe1._.js +1 -1
  181. package/.next/server/chunks/_1wgae1c._.js +1 -1
  182. package/.next/server/chunks/_1xps4ob._.js +1 -1
  183. package/.next/server/chunks/_1znrlca._.js +3 -0
  184. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  185. package/.next/server/chunks/features_14kex_m._.js +11 -11
  186. package/.next/server/chunks/features_bot_08z387_._.js +2 -2
  187. package/.next/server/chunks/features_bot_1d6ghh5._.js +41 -0
  188. package/.next/server/chunks/features_bot_1dfrdsb._.js +10 -6
  189. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0yd5xa0._.js → node_modules_consola_dist_chunks_prompt_mjs_0k--vqs._.js} +1 -1
  190. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ufuc3s._.js +3 -0
  191. package/.next/server/chunks/ssr/[root-of-the-server]__05qiosr._.js +3 -0
  192. package/.next/server/chunks/ssr/[root-of-the-server]__0y03pu0._.js +3 -0
  193. package/.next/server/chunks/ssr/[root-of-the-server]__0zt_au4._.js +3 -0
  194. package/.next/server/chunks/ssr/{[root-of-the-server]__0eloa6y._.js → [root-of-the-server]__17yeveo._.js} +5 -5
  195. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  196. package/.next/server/chunks/ssr/[root-of-the-server]__1t38-p_._.js +3 -0
  197. package/.next/server/chunks/ssr/[root-of-the-server]__1u42eh0._.js +3 -0
  198. package/.next/server/chunks/ssr/[root-of-the-server]__203utm3._.js +1 -1
  199. package/.next/server/chunks/ssr/{_0xurp8n._.js → _0-s7ria._.js} +2 -2
  200. package/.next/server/chunks/ssr/_03vw3u5._.js +3 -0
  201. package/.next/server/chunks/ssr/_088qe9a._.js +162 -0
  202. package/.next/server/chunks/ssr/_09a6bpd._.js +1 -1
  203. package/.next/server/chunks/ssr/{_0u43zjx._.js → _0a_pedm._.js} +2 -2
  204. package/.next/server/chunks/ssr/_0ali_i8._.js +3 -0
  205. package/.next/server/chunks/ssr/_0cd6g3l._.js +3 -3
  206. package/.next/server/chunks/ssr/{_1nwey7a._.js → _0eprrig._.js} +2 -2
  207. package/.next/server/chunks/ssr/_0flnog5._.js +3 -0
  208. package/.next/server/chunks/ssr/_0iuvjnw._.js +1 -1
  209. package/.next/server/chunks/ssr/{_0t_e9rd._.js → _0k-gl8l._.js} +2 -2
  210. package/.next/server/chunks/ssr/_0kmldic._.js +41 -0
  211. package/.next/server/chunks/ssr/_0ks03l-._.js +3 -0
  212. package/.next/server/chunks/ssr/_0mng-y8._.js +6 -0
  213. package/.next/server/chunks/ssr/_0tg3o37._.js +1 -1
  214. package/.next/server/chunks/ssr/_0ugzm_0._.js +3 -0
  215. package/.next/server/chunks/ssr/{_0ntol64._.js → _0wnv6c0._.js} +2 -2
  216. package/.next/server/chunks/ssr/{_0-y08rv._.js → _0z9zkd-._.js} +2 -2
  217. package/.next/server/chunks/ssr/_11l9kc0._.js +1 -1
  218. package/.next/server/chunks/ssr/_12_ail7._.js +3 -0
  219. package/.next/server/chunks/ssr/_16_7zeo._.js +1 -1
  220. package/.next/server/chunks/ssr/_16wjbs2._.js +3 -0
  221. package/.next/server/chunks/ssr/{_16o81mn._.js → _18rmqqu._.js} +2 -2
  222. package/.next/server/chunks/ssr/_1bfrntd._.js +2 -2
  223. package/.next/server/chunks/ssr/{_0gn_i4s._.js → _1ckje8g._.js} +2 -2
  224. package/.next/server/chunks/ssr/_1crszf7._.js +1 -1
  225. package/.next/server/chunks/ssr/_1h3qetc._.js +3 -0
  226. package/.next/server/chunks/ssr/{_1gz4ov7._.js → _1kpvfmn._.js} +3 -3
  227. package/.next/server/chunks/ssr/{_12hdw8x._.js → _1l-3enz._.js} +26 -28
  228. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  229. package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
  230. package/.next/server/chunks/ssr/{_0ux4i2m._.js → _1v1pcoh._.js} +2 -2
  231. package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
  232. package/.next/server/chunks/ssr/{features_bot_06n7hmd._.js → features_bot_0-7flc-._.js} +2 -2
  233. package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +1 -1
  234. package/.next/server/chunks/ssr/features_bot_1stfytf._.js +41 -0
  235. package/.next/server/chunks/ssr/features_config_10xs4l1._.js +20 -0
  236. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  237. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  238. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  239. package/.next/server/chunks/ssr/features_thursday_0cf9y0b._.js +1 -1
  240. package/.next/server/chunks/ssr/features_thursday_components_here-globe_tsx_055duhw._.js +1 -1
  241. package/.next/server/chunks/ssr/lib_utils_ts_0_f1xvm._.js +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_1i-g3bz._.js → node_modules_00mh9o-._.js} +1 -1
  243. package/.next/server/chunks/ssr/{node_modules_1bvw77g._.js → node_modules_04f_uw2._.js} +1 -1
  244. package/.next/server/chunks/ssr/{node_modules_16tn8xu._.js → node_modules_07udd3z._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_0ksqeyy._.js → node_modules_08-pj-2._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_0e398ts._.js → node_modules_098h6h5._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_19r9vjv._.js → node_modules_0_7yfem._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_01v7ybp._.js → node_modules_0ayoorn._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_0_zk6yd._.js → node_modules_0bp3vfu._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_0m-dnm-._.js → node_modules_0ch5hqr._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_0536cp2._.js → node_modules_0e-hyim._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_0yn2z6s._.js → node_modules_0ffm9w3._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_1jf8aik._.js → node_modules_0jzyuwk._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_0m2oth3._.js → node_modules_0ln4iwf._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_1dlue-g._.js → node_modules_0my2hph._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_0cpegwf._.js → node_modules_0y_k4h5._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_13dwal5._.js → node_modules_10bzndo._.js} +1 -1
  258. package/.next/server/chunks/ssr/{node_modules_1ctm_ju._.js → node_modules_1b5rxw5._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_01fukqn._.js → node_modules_1b_h09q._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_12hh0bx._.js → node_modules_1e83j9e._.js} +1 -1
  261. package/.next/server/chunks/ssr/{node_modules_08m1gvh._.js → node_modules_1e9ugfy._.js} +1 -1
  262. package/.next/server/chunks/ssr/{node_modules_06n6ruk._.js → node_modules_1hd66k0._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_1zdz2zf._.js → node_modules_1inwr2m._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_1zalmtr._.js → node_modules_1j9xx1k._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_1kfbdfo._.js → node_modules_1k8kypa._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_056xgci._.js → node_modules_1oeu85h._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_0ie8g6a._.js → node_modules_1r2ghv5._.js} +2 -2
  268. package/.next/server/chunks/ssr/{node_modules_1fqgrh0._.js → node_modules_1ttpnib._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0nj1l8f._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0ir6p7s._.js} +1 -1
  270. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_17ok98u._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1ejf5ye._.js} +1 -1
  271. package/.next/server/middleware-build-manifest.js +3 -3
  272. package/.next/server/pages/404.html +1 -1
  273. package/.next/server/pages/500.html +1 -1
  274. package/.next/server/server-reference-manifest.js +1 -1
  275. package/.next/server/server-reference-manifest.json +163 -163
  276. package/.next/static/chunks/02lze_e5sagjn.js +1 -0
  277. package/.next/static/chunks/{3866u-edsoyj3.js → 081kl7k8r6f8z.js} +1 -1
  278. package/.next/static/chunks/0_s4z70lx1tgs.js +1 -0
  279. package/.next/static/chunks/0fklfoj8o_msg.js +18 -0
  280. package/.next/static/chunks/0ve2gb0hw3wkq.js +1 -0
  281. package/.next/static/chunks/11c3uijgqik4m.js +39 -0
  282. package/.next/static/chunks/{0go5_9zqag7l0.js → 125lh2zzxk3r2.js} +1 -1
  283. package/.next/static/chunks/{3zv4wiqjl5kex.js → 166v36614ycsf.js} +1 -1
  284. package/.next/static/chunks/16np6727e61io.js +1 -0
  285. package/.next/static/chunks/18amidjlaqexf.js +1 -0
  286. package/.next/static/chunks/{35ehi-okrfot5.js → 1ettmta9iet7b.js} +1 -1
  287. package/.next/static/chunks/{1dy5xaxjdsy11.js → 1j4rndg17wgfk.js} +1 -1
  288. package/.next/static/chunks/{01r1uco3ikisc.js → 1mpz4epyg-7pz.js} +1 -1
  289. package/.next/static/chunks/{05blzta_1i7c2.js → 1oh4hbusfz97l.js} +1 -1
  290. package/.next/static/chunks/{3qfhjwd9yuijo.js → 1x1-44qmhu437.js} +1 -1
  291. package/.next/static/chunks/{0hpx0--bh7vld.js → 22jb4s3-8ckup.js} +1 -1
  292. package/.next/static/chunks/236le5kv_yj6a.css +1 -0
  293. package/.next/static/chunks/24op50z6sqi_5.js +1 -0
  294. package/.next/static/chunks/2eczs-lporqt6.js +1 -0
  295. package/.next/static/chunks/{2nbj2t9yp8ke9.js → 2sxclirl-c-um.js} +1 -1
  296. package/.next/static/chunks/2yfmmo4qr_f-m.js +1 -0
  297. package/.next/static/chunks/2z4sodeldj_86.js +1 -0
  298. package/.next/static/chunks/{3tyacy8fh5_18.js → 2zhiqxw61qowv.js} +2 -2
  299. package/.next/static/chunks/338dt83llhu5m.js +1 -0
  300. package/.next/static/chunks/3ezjz93yvzmop.js +4 -0
  301. package/.next/static/chunks/3h6rqjx92wva9.js +1 -0
  302. package/.next/static/chunks/3ph9u-51x6jhe.js +15 -0
  303. package/.next/static/chunks/{052u13mcoxt87.js → 3uf32hp_g9stz.js} +1 -1
  304. package/.next/static/chunks/3w7zt3xzyjn86.js +3 -0
  305. package/.next/static/chunks/3xkx7vqefm7on.js +2 -0
  306. package/.next/static/chunks/3ygk41pgsw7nv.js +1 -0
  307. package/.next/static/chunks/{3146sccz1j76i.js → 411uyd0is9u5s.js} +1 -1
  308. package/.next/static/chunks/4384atd5zerir.js +1 -0
  309. package/README.md +1 -1
  310. package/database/migrations/20260929121448_thread_started_by/migration.sql +1 -0
  311. package/database/migrations/20260929121448_thread_started_by/snapshot.json +1969 -0
  312. package/guide/bots.md +89 -44
  313. package/guide/calls.md +41 -25
  314. package/guide/index.md +5 -2
  315. package/guide/phone.md +7 -4
  316. package/guide/setup.md +12 -6
  317. package/guide/trouble.md +3 -2
  318. package/package.json +1 -1
  319. package/public/voices/intro/mic-b17ca82d.ogg +0 -0
  320. package/seed-skills/concierge/travel/SKILL.md +2 -1
  321. package/seed-skills/concierge/travel/page/itinerary.css +1009 -257
  322. package/seed-skills/concierge/travel/references/itinerary.md +95 -35
  323. package/seed-skills/concierge/travel/references/plan.md +11 -4
  324. package/seed-skills/concierge/travel/scripts/itinerary.mjs +754 -138
  325. package/skills/README.md +7 -4
  326. package/skills/artifact/SKILL.md +17 -13
  327. package/skills/artifact/references/canvas.md +4 -5
  328. package/skills/artifact/references/deck.md +93 -2
  329. package/skills/artifact/runtime/app/kit/src/index.css +35 -0
  330. package/skills/artifact/runtime/app/kit/tailwind.config.js +6 -0
  331. package/skills/artifact/runtime/deck/data.mjs +21 -0
  332. package/skills/artifact/runtime/deck/deck.css +254 -4
  333. package/skills/artifact/runtime/deck/deck.html +3 -0
  334. package/skills/artifact/runtime/deck/deck.js +88 -5
  335. package/skills/artifact/runtime/deck/deck.mjs +1 -17
  336. package/skills/artifact/runtime/document/quick.css +264 -89
  337. package/skills/artifact/runtime/document/quick.html +16 -7
  338. package/skills/artifact/runtime/document/quick.js +377 -98
  339. package/skills/artifact/runtime/render.mjs +52 -6
  340. package/skills/artifact/runtime/sheet/sheet.css +29 -21
  341. package/skills/artifact/runtime/shell/drafts.js +25 -0
  342. package/skills/artifact/runtime/shell/fonts/Geist-latin-ext.woff2 +0 -0
  343. package/skills/artifact/runtime/shell/fonts/Geist-latin.woff2 +0 -0
  344. package/skills/artifact/runtime/shell/fonts/GeistMono-latin-ext.woff2 +0 -0
  345. package/skills/artifact/runtime/shell/fonts/GeistMono-latin.woff2 +0 -0
  346. package/skills/artifact/runtime/shell/fonts/OFL.txt +93 -0
  347. package/skills/artifact/runtime/shell/head.html +27 -2
  348. package/skills/artifact/runtime/shell/shell.css +88 -8
  349. package/skills/artifact/runtime/shell/shell.js +318 -22
  350. package/skills/artifact/runtime/shell/wear.mjs +114 -12
  351. package/skills/artifact/scripts/app.mjs +5 -0
  352. package/skills/artifact/scripts/chart.mjs +20 -19
  353. package/skills/artifact/scripts/deck.mjs +276 -0
  354. package/skills/artifact/scripts/document.mjs +55 -2
  355. package/skills/artifact/scripts/media.mjs +1 -1
  356. package/skills/artifact/templates/boards/direction.html +55 -2
  357. package/skills/browser/SKILL.md +1 -1
  358. package/skills/browser/references/scripts.md +1 -1
  359. package/skills/daily-brief/SKILL.md +2 -0
  360. package/skills/daily-brief/page/brief.css +460 -302
  361. package/skills/daily-brief/references/brief.md +33 -7
  362. package/skills/daily-brief/scripts/page.mjs +241 -48
  363. package/skills/media-digest/SKILL.md +1 -0
  364. package/skills/media-digest/scripts/digest.mjs +57 -43
  365. package/.next/server/chunks/[root-of-the-server]__00f051a._.js +0 -7
  366. package/.next/server/chunks/[root-of-the-server]__0340k46._.js +0 -7
  367. package/.next/server/chunks/[root-of-the-server]__0ndw2yj._.js +0 -5
  368. package/.next/server/chunks/[root-of-the-server]__16y0k92._.js +0 -3
  369. package/.next/server/chunks/[root-of-the-server]__18e65_-._.js +0 -3
  370. package/.next/server/chunks/[root-of-the-server]__1a0xgyh._.js +0 -5
  371. package/.next/server/chunks/[root-of-the-server]__1dth047._.js +0 -5
  372. package/.next/server/chunks/[root-of-the-server]__1huywqp._.js +0 -5
  373. package/.next/server/chunks/[root-of-the-server]__1ij4h2a._.js +0 -3
  374. package/.next/server/chunks/[root-of-the-server]__1q1s4ls._.js +0 -3
  375. package/.next/server/chunks/[root-of-the-server]__1qa67zs._.js +0 -3
  376. package/.next/server/chunks/[root-of-the-server]__1t-mfa4._.js +0 -5
  377. package/.next/server/chunks/[root-of-the-server]__20ofm9t._.js +0 -3
  378. package/.next/server/chunks/_0483t_f._.js +0 -5
  379. package/.next/server/chunks/_0lcthk8._.js +0 -3
  380. package/.next/server/chunks/_0uv1gs1._.js +0 -3
  381. package/.next/server/chunks/_17fjc-7._.js +0 -5
  382. package/.next/server/chunks/_1dcbwn-._.js +0 -3
  383. package/.next/server/chunks/_1mgzs18._.js +0 -3
  384. package/.next/server/chunks/_20qn224._.js +0 -3
  385. package/.next/server/chunks/features_bot_0zy_q8y._.js +0 -37
  386. package/.next/server/chunks/ssr/[root-of-the-server]__04upd5v._.js +0 -3
  387. package/.next/server/chunks/ssr/[root-of-the-server]__0dy20eb._.js +0 -3
  388. package/.next/server/chunks/ssr/[root-of-the-server]__0yyxgt2._.js +0 -3
  389. package/.next/server/chunks/ssr/[root-of-the-server]__14j8gxy._.js +0 -3
  390. package/.next/server/chunks/ssr/[root-of-the-server]__20t_4l2._.js +0 -3
  391. package/.next/server/chunks/ssr/_00buy3i._.js +0 -162
  392. package/.next/server/chunks/ssr/_014_wjp._.js +0 -3
  393. package/.next/server/chunks/ssr/_07m4ii5._.js +0 -3
  394. package/.next/server/chunks/ssr/_0cv9tmv._.js +0 -3
  395. package/.next/server/chunks/ssr/_0j6rtjm._.js +0 -6
  396. package/.next/server/chunks/ssr/_0ogkeu-._.js +0 -3
  397. package/.next/server/chunks/ssr/_10sc7ab._.js +0 -3
  398. package/.next/server/chunks/ssr/_14nwim3._.js +0 -37
  399. package/.next/server/chunks/ssr/_1e01b-_._.js +0 -3
  400. package/.next/server/chunks/ssr/_1nfv27b._.js +0 -3
  401. package/.next/server/chunks/ssr/features_bot_1c56lew._.js +0 -37
  402. package/.next/server/chunks/ssr/features_bot_1knyan7._.js +0 -3
  403. package/.next/server/chunks/ssr/features_config_09wq1s9._.js +0 -20
  404. package/.next/static/chunks/01gkq9y6_xk4a.js +0 -1
  405. package/.next/static/chunks/09kwsjbmr_z1w.js +0 -1
  406. package/.next/static/chunks/0ynv7zu_bguve.js +0 -1
  407. package/.next/static/chunks/0zi59tghmg1lu.js +0 -18
  408. package/.next/static/chunks/1_ftsgxa-sia_.js +0 -1
  409. package/.next/static/chunks/1cg3torc90q5t.js +0 -1
  410. package/.next/static/chunks/1qnx1h5c8f93b.js +0 -1
  411. package/.next/static/chunks/1rwn3d9ji5w35.js +0 -1
  412. package/.next/static/chunks/1so3f5fi7e5g9.js +0 -35
  413. package/.next/static/chunks/1ya41wxfmp4s8.js +0 -1
  414. package/.next/static/chunks/27rwkfu7_xvs1.js +0 -4
  415. package/.next/static/chunks/2hueh8masqd91.js +0 -15
  416. package/.next/static/chunks/2jrt_752fqz2f.js +0 -1
  417. package/.next/static/chunks/2ogme4qydxnaq.js +0 -3
  418. package/.next/static/chunks/2r2tocw2rpvm2.js +0 -1
  419. package/.next/static/chunks/2t4kimg1lt-p7.js +0 -2
  420. package/.next/static/chunks/2w6y71o27my_z.js +0 -1
  421. package/.next/static/chunks/31_am8rtmk_tv.css +0 -1
  422. package/.next/static/chunks/337g9g_ux2gj-.js +0 -1
  423. package/public/voices/intro/heard-1f12cd45.ogg +0 -0
  424. package/public/voices/intro/mic-e561372a.ogg +0 -0
  425. package/skills/artifact/references/book.md +0 -163
  426. package/skills/artifact/runtime/book/book.css +0 -256
  427. package/skills/artifact/runtime/book/book.html +0 -38
  428. package/skills/artifact/runtime/book/book.js +0 -81
  429. package/skills/artifact/scripts/book-pdf.mjs +0 -73
  430. package/skills/artifact/scripts/book-video.mjs +0 -168
  431. package/skills/artifact/scripts/book.mjs +0 -291
  432. /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_buildManifest.js +0 -0
  433. /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_clientMiddlewareManifest.js +0 -0
  434. /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_ssgManifest.js +0 -0
  435. /package/seed-skills/{marketer → writer}/marketing/LICENSE +0 -0
  436. /package/seed-skills/{marketer → writer}/marketing/SKILL.md +0 -0
  437. /package/seed-skills/{marketer → writer}/marketing/references/copywriting-copy-frameworks.md +0 -0
  438. /package/seed-skills/{marketer → writer}/marketing/references/copywriting-natural-transitions.md +0 -0
  439. /package/seed-skills/{marketer → writer}/marketing/references/copywriting.md +0 -0
  440. /package/seed-skills/{marketer → writer}/marketing/references/emails-copy-guidelines.md +0 -0
  441. /package/seed-skills/{marketer → writer}/marketing/references/emails-email-types.md +0 -0
  442. /package/seed-skills/{marketer → writer}/marketing/references/emails-sequence-templates.md +0 -0
  443. /package/seed-skills/{marketer → writer}/marketing/references/emails.md +0 -0
  444. /package/seed-skills/{marketer → writer}/marketing/references/launch.md +0 -0
  445. /package/seed-skills/{marketer → writer}/marketing/references/product-marketing.md +0 -0
  446. /package/seed-skills/{marketer → writer}/marketing/references/seo-audit-ai-writing-detection.md +0 -0
  447. /package/seed-skills/{marketer → writer}/marketing/references/seo-audit-international-seo.md +0 -0
  448. /package/seed-skills/{marketer → writer}/marketing/references/seo-audit.md +0 -0
  449. /package/seed-skills/{marketer → writer}/marketing/references/social-carousel-frameworks.md +0 -0
  450. /package/seed-skills/{marketer → writer}/marketing/references/social-platform-limits.md +0 -0
  451. /package/seed-skills/{marketer → writer}/marketing/references/social-platforms.md +0 -0
  452. /package/seed-skills/{marketer → writer}/marketing/references/social-post-templates.md +0 -0
  453. /package/seed-skills/{marketer → writer}/marketing/references/social-reverse-engineering.md +0 -0
  454. /package/seed-skills/{marketer → writer}/marketing/references/social-short-form-video.md +0 -0
  455. /package/seed-skills/{marketer → writer}/marketing/references/social.md +0 -0
@@ -1,5 +1,5 @@
1
1
  module.exports=[539470,e=>e.a(async(t,r)=>{try{var n=e.i(588762),a=e.i(333925),i=e.i(5509),s=e.i(900533),o=e.i(64774),l=t([i]);async function c(){let e=await (0,i.listThreadOverview)();if(!e.length)return null;let t=e.map(e=>{let t=(0,n.formatDistanceToNowStrict)((0,s.toDate)(e.updatedAt),{addSuffix:!0}),r=e.room.questions[0],i="waiting"===e.status&&r?`waiting on the user since ${t} — ${r.bot} asked: ${(0,o.clip)(r.text,a.PROMPT_LINE.jobOutcome)}`:"waiting"===e.status?`stopped ${t}, not finished`:"running"===e.status?`running, last moved ${t}`:`${e.status} ${t}`;return`- "${e.label}" (${e.id}) — ${e.bot} — ${i}`});return`[The threads as this call opened, open work first. They move while you talk.]
2
- ${t.join("\n")}`}[i]=l.then?(await l)():l,e.s(["loadCallStanding",0,c]),r()}catch(e){r(e)}},!1),79290,e=>e.a(async(t,r)=>{try{var n=e.i(333925),a=e.i(973589),i=e.i(51083),s=e.i(799791),o=e.i(951056),l=e.i(5509),c=e.i(1363),u=e.i(232549),d=e.i(343229),h=e.i(520401),p=e.i(871096),f=e.i(340697),g=e.i(497287),m=e.i(636608),y=t([s,l,c,d,h,f]);async function b(e){var t,r,y,b,_,E,x,R;let v,{backendPrompt:S,written:O=!1,phone:$=!1,readSkills:T}=e,A=await (0,p.openWorkspace)(),[P,j,D,C,I,N,M]=await Promise.all([(0,d.loadSkills)(A),(0,c.listNoteIndex)(),(0,c.readNotes)(u.MEMORY_ALWAYS_LISTED,{touch:!1}),(0,f.listConnectedToolNames)(),(0,s.listJobBots)(),(0,h.listRecentTurns)(n.RECENT_CALL.rows,e.callId),(0,s.readBotMemoryOn)()]),L=await (0,l.listCallJobs)(N.map(e=>e.callId)),B=[(0,m.thursdayIdentity)(new Date,e.where),O?(0,g.personaLines)(e.persona):"",O?(0,m.styleLines)(e.stylePrompt):"",function(e,t){let{crowded:r,heavy:n}=(0,m.tidying)(e),a=[...n].sort((e,t)=>t.factCount-e.factCount).slice(0,3).map(e=>e.path),s=r||n.length?`
2
+ ${t.join("\n")}`}[i]=l.then?(await l)():l,e.s(["loadCallStanding",0,c]),r()}catch(e){r(e)}},!1),79290,e=>e.a(async(t,r)=>{try{var n=e.i(333925),a=e.i(973589),i=e.i(51083),s=e.i(799791),o=e.i(951056),l=e.i(5509),c=e.i(1363),u=e.i(232549),d=e.i(343229),h=e.i(520401),p=e.i(871096),f=e.i(340697),g=e.i(497287),m=e.i(636608),y=t([s,l,c,d,h,f]);async function b(e){var t,r,y,b,_,E,x,R;let v,{backendPrompt:S,written:$=!1,phone:O=!1,readSkills:T}=e,A=await (0,p.openWorkspace)(),[P,j,D,C,I,N,M]=await Promise.all([(0,d.loadSkills)(A),(0,c.listNoteIndex)(),(0,c.readNotes)(u.MEMORY_ALWAYS_LISTED,{touch:!1}),(0,f.listConnectedToolNames)(),(0,s.listJobBots)(),(0,h.listRecentTurns)(n.RECENT_CALL.rows,e.callId),(0,s.readBotMemoryOn)()]),L=await (0,l.listCallJobs)(N.map(e=>e.callId)),B=[(0,m.thursdayIdentity)(new Date,e.where),$?(0,g.personaLines)(e.persona):"",$?(0,m.styleLines)(e.stylePrompt):"",function(e,t){let{crowded:r,heavy:n}=(0,m.tidying)(e),a=[...n].sort((e,t)=>t.factCount-e.factCount).slice(0,3).map(e=>e.path),s=r||n.length?`
3
3
 
4
4
  Saved memory has grown past what it holds well${a.length?` (${a.join(", ")})`:""}: say so once in what you return, go through what looks out of date with the user, and forget only what they name.`:"",o=new Set(t.map(e=>e.path)),l=`## Memory
5
5
 
@@ -15,7 +15,7 @@ Keep what the user tells you as it comes up, with \`${i.TOOL_NAMES.memory_rememb
15
15
 
16
16
  **Keep memory clean as you write.** A fact that repeats, narrows or changes one already in the note replaces it, merged into one line, rather than sitting beside it. A later call finds a note only by its path and its line: give something new its own path below, and when a line no longer says what its note is about, \`${i.TOOL_NAMES.memory_describe}\` puts it right.
17
17
 
18
- ${u.MEMORY_PATHS.map(e=>`- ${e.path} — ${e.of}`).join("\n")}`;return[l,c,d].join("\n\n")}(j,D.notes),(t=I,r=(0,m.reachNames)(T?[]:P,C),y=M,b=$,0===t.length?"":`## Background work
18
+ ${u.MEMORY_PATHS.map(e=>`- ${e.path} — ${e.of}`).join("\n")}`;return[l,c,d].join("\n\n")}(j,D.notes),(t=I,r=(0,m.reachNames)(T?[]:P,C),y=M,b=O,0===t.length?"":`## Background work
19
19
 
20
20
  Who you hand work to — the names \`${i.TOOL_NAMES.thread_start}\` takes.
21
21
 
@@ -40,7 +40,7 @@ ${(0,a.guideLine)()}`,0===E.length?v:`${v}
40
40
 
41
41
  Skills are written-down ways of doing things here. \`${i.TOOL_NAMES.load_skill}\` opens one, and what it says goes for you too: read one when it covers what was asked and the doing is a glance. Anything longer it describes is still work to hand over, with what the skill said.
42
42
 
43
- ${(0,m.skillLines)(E,{short:!0})}`),O?`## Answer in writing
43
+ ${(0,m.skillLines)(E,{short:!0})}`),$?`## Answer in writing
44
44
 
45
45
  This call is in writing: there is no voice, and what you write is what the user reads, so answer them directly, in their language. Say the relevant facts, whether the task is complete, and what comes next — for work you handed over, who has it and whether it carries an earlier thread on or starts a new one — or the one question they have to answer first. Use confirmed values from tool results and the notes above, and never invent a successful action. Keep it short and plain. News from a bot comes in the middle of whatever you were talking about: say whose work it is and which job before what it says.`:`## Return the result
46
46
 
@@ -55,19 +55,19 @@ ${(0,m.recentCallLines)(x.map(e=>({...e,jobs:R.filter(t=>t.callId===e.callId)}))
55
55
  Written by the user. Follow them together with everything above.
56
56
 
57
57
  ${e.trim()}`:"";function w(e){let t=e.facts.map(e=>`- ${e.text} #${e.id}`);return`${e.path} — ${e.description}
58
- ${t.length?t.join("\n"):"- (nothing yet)"}`}e.s(["loadThursdayPrompt",0,b]),r()}catch(e){r(e)}},!1),850668,e=>{"use strict";var t=e.i(912714),r=e.i(660526),n=e.i(750227),a=e.i(333925),i=e.i(375814),s=e.i(871096),o=e.i(938281),l=e.i(64774);let c=(0,n.join)(a.APP_DIR,a.PATHS.skills.default,"artifact","runtime","render.mjs"),u={viewport:{width:412,height:839},deviceScaleFactor:2},d=(0,l.PromiseChain)();async function h(e){let i=await (0,t.mkdtemp)((0,n.join)((0,r.tmpdir)(),"thursday-pictures-")),o=(0,n.join)(i,"browser.json");await (0,t.writeFile)(o,JSON.stringify({browser:{contextOptions:u}}));let l={PLAYWRIGHT_CLI_SESSION:"reach-pictures",PLAYWRIGHT_MCP_BROWSER:"chromium",PLAYWRIGHT_MCP_ISOLATED:"true",PLAYWRIGHT_MCP_CONFIG:o,RENDER:c,PAGE:e,OUT:i,NAME:(0,n.basename)(e,(0,n.extname)(e))},d=await (0,s.openWorkspace)();try{let e=await d.exec(`node "$RENDER" "$PAGE" --out "$OUT" --name "$NAME" --shot --most ${a.REACH.pictures}`,{env:l,timeoutMs:a.REACH.drawMs});if(0!==e.exitCode)throw Error(e.stderr.trim().split("\n").at(-1)||"no pictures");let r=(await (0,t.readdir)(i)).filter(e=>e.endsWith(".png")).sort();return await Promise.all(r.map(async e=>({bytes:await (0,t.readFile)((0,n.join)(i,e)),name:e,picture:!0})))}finally{await d.exec("playwright-cli close",{env:l,timeoutMs:15e3}).catch(()=>{}),await (0,t.rm)(i,{recursive:!0,force:!0})}}e.s(["picturesOf",0,function(e){return["html","htm"].includes((0,i.extensionOf)(e))?d(()=>h(e)).catch(t=>(o.logger.warn(`reach: no pictures of ${(0,n.basename)(e)}`,t),[])):Promise.resolve([])}])},480791,e=>{"use strict";var t=e.i(417043),r=e.i(775247),n=e.i(903438);let a="https://slack.com/api",i=new Set(["invalid_auth","not_authed","account_inactive","token_revoked","not_allowed_token_type","missing_scope"]);e.s(["createSlack",0,function(e,s){async function o(r,n,l=s){for(let s=0;;s++){let o=await fetch(`${a}/${r}`,{method:"POST",headers:{authorization:`Bearer ${l}`,"content-type":"application/json; charset=utf-8"},body:JSON.stringify(n)}).catch(e=>{throw Error(`Could not reach ${new URL(a).host}`,{cause:e})}),c=o.headers.get("retry-after");if(429===o.status&&await (0,t.waitOut)(null===c?null:Number(c),s))continue;let u=await o.json().catch(()=>null);if(u?.ok)return u;let d=u?.error??`http_${o.status}`;if(!i.has(d))throw Error(`Slack answered ${d} to ${r}`);let h=l===e,p=u?.needed??"a scope";throw new t.ChannelRefusal("missing_scope"===d?h?`Slack says this app-level token lacks ${p} — generate one with it under Basic Information › App-Level Tokens and paste it here.`:`Slack says the app lacks a permission (${p}) — make it from the manifest in the guide.`:h?`Slack turned the app-level token away (${d}). Generate a new one under Basic Information › App-Level Tokens and paste it here.`:`Slack turned the bot token away (${d}). Copy the Bot User OAuth Token again from Install App and paste it here.`,+!h)}}let l=new Map;async function c(e){let t=l.get(e);if(t)return t;let r=await o("users.info",{user:e}).then(t=>({name:t.user?.real_name||t.user?.name||e,handle:t.user?.name?`@${t.user.name}`:null})).catch(()=>({name:e,handle:null}));return l.set(e,r),r}async function u(e,t){if("events_api"===e){let e=t.event??{},r=!e.subtype||"file_share"===e.subtype;if("message"!==e.type||"im"!==e.channel_type||!r||e.bot_id||!e.user||!e.channel)return null;let n=await c(e.user);return{kind:"message",chat:e.channel,name:n.name,handle:n.handle,words:(e.text??"").trim(),files:(e.files??[]).flatMap(e=>{let t=e.url_private_download;if(!t)return[];let r=e.name??"file";return[{name:r,size:e.size,fetch:async()=>{let n=await fetch(t,{headers:{authorization:`Bearer ${s}`}});if(!n.ok)throw Error(`Slack answered ${n.status} for the file`);return new File([await n.arrayBuffer()],r,{type:e.mimetype??""})}}]}),unreadable:!1}}return"interactive"===e&&"block_actions"===t.type?t.channel?.id?{kind:"press",chat:t.channel.id,data:t.actions?.[0]?.value??"",under:t.message?.ts&&t.message.text?{id:t.message.ts,text:t.message.text}:null}:null:null}return{limits:{take:1/0,file:0x40000000,picture:0x40000000},async listen(t,r){let a=await o("auth.test",{}),{url:i}=await o("apps.connections.open",{},e);t.ready(a.user?`@${a.user}`:"the app",null,a.bot_id??a.user_id??"");let s=await (0,n.runSocket)(i,{message(e,r){let{type:n,envelope_id:a,payload:i}=e;a&&r({envelope_id:a}),n&&i&&u(n,i).then(e=>{e&&t.incoming(e)})}},r);if(!r.aborted)throw Error(`Slack closed the connection (${s.code})`)},async say(e,t,n){let a=(0,r.chatPieces)(t,"slack",2900);for(let[t,r]of a.entries()){let i=n?.length&&t===a.length-1;await o("chat.postMessage",{channel:e,text:r,unfurl_links:!1,unfurl_media:!1,...i?{blocks:[{type:"section",text:{type:"mrkdwn",text:r}},{type:"actions",elements:n.slice(0,25).map((e,t)=>({type:"button",action_id:`choice_${t}`,text:{type:"plain_text",text:e.text.slice(0,75)},value:e.data}))}]}:{}})}},async typing(){},async settle(e,t,n){let a=`
58
+ ${t.length?t.join("\n"):"- (nothing yet)"}`}e.s(["loadThursdayPrompt",0,b]),r()}catch(e){r(e)}},!1),850668,e=>{"use strict";var t=e.i(912714),r=e.i(660526),n=e.i(750227),a=e.i(333925),i=e.i(375814),s=e.i(871096),o=e.i(938281),l=e.i(64774);let c=(0,n.join)(a.APP_DIR,a.PATHS.skills.default,"artifact","runtime","render.mjs"),u={viewport:{width:412,height:839},deviceScaleFactor:2},d=(0,l.PromiseChain)(),h=e=>["html","htm"].includes((0,i.extensionOf)(e));async function p(e){let r=await (0,t.open)(e);try{let e=Buffer.alloc(4096),{bytesRead:t}=await r.read(e,0,e.length,0),n=/<meta name="print" content="pdf(?: (\d+x\d+))?">/.exec(e.subarray(0,t).toString("utf8"));return n?{size:n[1]??""}:null}finally{await r.close()}}async function f(e,i,{failed:o,take:l}){let d=await (0,t.mkdtemp)((0,n.join)((0,r.tmpdir)(),"thursday-pictures-")),h=(0,n.join)(d,"browser.json");await (0,t.writeFile)(h,JSON.stringify({browser:{contextOptions:u}}));let p={PLAYWRIGHT_CLI_SESSION:"reach-pictures",PLAYWRIGHT_MCP_BROWSER:"chromium",PLAYWRIGHT_MCP_ISOLATED:"true",PLAYWRIGHT_MCP_CONFIG:h,RENDER:c,PAGE:e,OUT:d,NAME:(0,n.basename)(e,(0,n.extname)(e))},g=await (0,s.openWorkspace)();try{let e=await g.exec(`node "$RENDER" "$PAGE" --shot ${i}`,{env:p,timeoutMs:a.REACH.drawMs});if(0!==e.exitCode)throw Error(e.stderr.trim().split("\n").at(-1)||o);return await l(d)}finally{await g.exec("playwright-cli close",{env:p,timeoutMs:15e3}).catch(()=>{}),await (0,t.rm)(d,{recursive:!0,force:!0})}}e.s(["pdfOf",0,function(e){return h(e)?d(async()=>{let r=await p(e);if(!r)return null;let a=r.size?` --size ${r.size}`:"";return f(e,`--pdf "$OUT/$NAME.pdf"${a}`,{failed:"not printed",take:async r=>({bytes:await (0,t.readFile)((0,n.join)(r,`${(0,n.basename)(e,(0,n.extname)(e))}.pdf`)),name:`${(0,n.basename)(e,(0,n.extname)(e))}.pdf`,picture:!1})})}).catch(t=>(o.logger.warn(`reach: no PDF of ${(0,n.basename)(e)}`,t),null)):Promise.resolve(null)},"picturesOf",0,function(e){return h(e)?d(()=>f(e,`--out "$OUT" --name "$NAME" --most ${a.REACH.pictures}`,{failed:"no pictures",take:async e=>Promise.all((await (0,t.readdir)(e)).filter(e=>e.endsWith(".png")).sort().map(async r=>({bytes:await (0,t.readFile)((0,n.join)(e,r)),name:r,picture:!0})))})).catch(t=>(o.logger.warn(`reach: no pictures of ${(0,n.basename)(e)}`,t),[])):Promise.resolve([])}])},480791,e=>{"use strict";var t=e.i(417043),r=e.i(775247),n=e.i(903438);let a="https://slack.com/api",i=new Set(["invalid_auth","not_authed","account_inactive","token_revoked","not_allowed_token_type","missing_scope"]);e.s(["createSlack",0,function(e,s){async function o(r,n,l=s){for(let s=0;;s++){let o=await fetch(`${a}/${r}`,{method:"POST",headers:{authorization:`Bearer ${l}`,"content-type":"application/json; charset=utf-8"},body:JSON.stringify(n)}).catch(e=>{throw Error(`Could not reach ${new URL(a).host}`,{cause:e})}),c=o.headers.get("retry-after");if(429===o.status&&await (0,t.waitOut)(null===c?null:Number(c),s))continue;let u=await o.json().catch(()=>null);if(u?.ok)return u;let d=u?.error??`http_${o.status}`;if(!i.has(d))throw Error(`Slack answered ${d} to ${r}`);let h=l===e,p=u?.needed??"a scope";throw new t.ChannelRefusal("missing_scope"===d?h?`Slack says this app-level token lacks ${p} — generate one with it under Basic Information › App-Level Tokens and paste it here.`:`Slack says the app lacks a permission (${p}) — make it from the manifest in the guide.`:h?`Slack turned the app-level token away (${d}). Generate a new one under Basic Information › App-Level Tokens and paste it here.`:`Slack turned the bot token away (${d}). Copy the Bot User OAuth Token again from Install App and paste it here.`,+!h)}}let l=new Map;async function c(e){let t=l.get(e);if(t)return t;let r=await o("users.info",{user:e}).then(t=>({name:t.user?.real_name||t.user?.name||e,handle:t.user?.name?`@${t.user.name}`:null})).catch(()=>({name:e,handle:null}));return l.set(e,r),r}async function u(e,t){if("events_api"===e){let e=t.event??{},r=!e.subtype||"file_share"===e.subtype;if("message"!==e.type||"im"!==e.channel_type||!r||e.bot_id||!e.user||!e.channel)return null;let n=await c(e.user);return{kind:"message",chat:e.channel,name:n.name,handle:n.handle,words:(e.text??"").trim(),files:(e.files??[]).flatMap(e=>{let t=e.url_private_download;if(!t)return[];let r=e.name??"file";return[{name:r,size:e.size,fetch:async()=>{let n=await fetch(t,{headers:{authorization:`Bearer ${s}`}});if(!n.ok)throw Error(`Slack answered ${n.status} for the file`);return new File([await n.arrayBuffer()],r,{type:e.mimetype??""})}}]}),unreadable:!1}}return"interactive"===e&&"block_actions"===t.type?t.channel?.id?{kind:"press",chat:t.channel.id,data:t.actions?.[0]?.value??"",under:t.message?.ts&&t.message.text?{id:t.message.ts,text:t.message.text}:null}:null:null}return{limits:{take:1/0,file:0x40000000,picture:0x40000000},async listen(t,r){let a=await o("auth.test",{}),{url:i}=await o("apps.connections.open",{},e);t.ready(a.user?`@${a.user}`:"the app",null,a.bot_id??a.user_id??"");let s=await (0,n.runSocket)(i,{message(e,r){let{type:n,envelope_id:a,payload:i}=e;a&&r({envelope_id:a}),n&&i&&u(n,i).then(e=>{e&&t.incoming(e)})}},r);if(!r.aborted)throw Error(`Slack closed the connection (${s.code})`)},async say(e,t,n){let a=(0,r.chatPieces)(t,"slack",2900);for(let[t,r]of a.entries()){let i=n?.length&&t===a.length-1;await o("chat.postMessage",{channel:e,text:r,unfurl_links:!1,unfurl_media:!1,...i?{blocks:[{type:"section",text:{type:"mrkdwn",text:r}},{type:"actions",elements:n.slice(0,25).map((e,t)=>({type:"button",action_id:`choice_${t}`,text:{type:"plain_text",text:e.text.slice(0,75)},value:e.data}))}]}:{}})}},async typing(){},async settle(e,t,n){let a=`
59
59
 
60
60
  → ${(0,r.chatPieces)({plain:n},"slack",2900)[0]}`;await o("chat.update",{channel:e,ts:t.id,text:`${t.text.slice(0,2900-a.length)}${a}`,blocks:[]}).catch(()=>{})},async sendFiles(e,t){let r=[];for(let{bytes:e,name:n}of t){let t=new URLSearchParams({filename:n,length:String(e.byteLength)}),i=await fetch(`${a}/files.getUploadURLExternal`,{method:"POST",headers:{authorization:`Bearer ${s}`},body:t}),o=await i.json();if(!o.ok||!o.upload_url||!o.file_id)throw Error(`Slack answered ${o.error??i.status} to the upload`);let l=await fetch(o.upload_url,{method:"POST",body:new Blob([e])});if(!l.ok)throw Error(`Slack answered ${l.status} to the upload`);r.push({id:o.file_id,title:n})}r.length&&await o("files.completeUploadExternal",{files:r,channel_id:e})}}}])},644301,e=>{"use strict";var t=e.i(333925),r=e.i(417043),n=e.i(775247);let a="https://api.telegram.org",i={take:0x1400000,file:0x3200000,picture:0xa00000};class s extends Error{status;constructor(e,t){super(e),this.status=t}}e.s(["createTelegram",0,function(e){async function o(t,n,i){let o=n instanceof FormData;for(let l=0;;l++){let c=await fetch(`${a}/bot${e}/${t}`,{method:"POST",signal:i,...o?{body:n}:{headers:{"content-type":"application/json"},body:JSON.stringify(n??{})}}).catch(e=>{throw Error(`Could not reach ${new URL(a).host}`,{cause:e})}),u=await c.json().catch(()=>null);if(u?.ok)return u.result;if(429===c.status&&await (0,r.waitOut)(u?.parameters?.retry_after,l))continue;let d=u?.description??`Telegram answered ${c.status}`;if(401===c.status)throw new r.ChannelRefusal(`Telegram said “${d}”: this token was revoked or mistyped. Get it again from @BotFather and paste it here.`);throw new s(d,c.status)}}async function l(t,r,n){let{file_path:i}=await o("getFile",{file_id:t});if(!i)throw Error("Telegram did not say where the file is");let s=await fetch(`${a}/file/bot${e}/${i}`);if(!s.ok)throw Error(`Telegram answered ${s.status} for the file`);let l=i.includes(".")?i.slice(i.lastIndexOf(".")):"";return new File([await s.arrayBuffer()],r.includes(".")?r:`${r}${l}`,n?{type:n}:void 0)}let c=0;async function u(e,t){let r=new FormData;if(r.set("chat_id",e),1===t.length){r.set("photo",new Blob([t[0].bytes]),t[0].name),await o("sendPhoto",r);return}for(let[e,n]of(r.set("media",JSON.stringify(t.map((e,t)=>({type:"photo",media:`attach://p${t}`})))),t.entries()))r.set(`p${e}`,new Blob([n.bytes]),n.name);await o("sendMediaGroup",r)}return{limits:i,async listen(e,r){let n=await o("getMe",void 0,r);for(e.ready(n.username?`@${n.username}`:n.first_name??"the bot",n.username?`https://t.me/${n.username}`:null,String(n.id));!r.aborted;)for(let n of(await o("getUpdates",{offset:c,timeout:t.REACH.pollSeconds,allowed_updates:["message","callback_query"]},AbortSignal.any([r,AbortSignal.timeout((t.REACH.pollSeconds+15)*1e3)])))){c=n.update_id+1;let t=function(e){let t,r=e.callback_query;if(r)return o("answerCallbackQuery",{callback_query_id:r.id}).catch(()=>{}),{kind:"press",chat:String(r.from.id),data:r.data??"",under:r.message?.text?{id:String(r.message.message_id),text:r.message.text,keep:r.message.entities}:null};let n=e.message;if(!n?.from||"private"!==n.chat.type)return null;let a=n.photo?.at(-1),i=n.document?{id:n.document.file_id,name:n.document.file_name??"file",type:n.document.mime_type,size:n.document.file_size}:a?{id:a.file_id,name:`photo-${n.message_id}`,type:"",size:a.file_size}:null;return{kind:"message",chat:String(n.chat.id),name:(t=n.from,[t?.first_name,t?.last_name].filter(Boolean).join(" ")||(t?.username?`@${t.username}`:"Someone")),handle:n.from.username?`@${n.from.username}`:null,words:(n.text??n.caption??"").trim(),files:i?[{name:i.name,size:i.size,fetch:()=>l(i.id,i.name,i.type)}]:[],unreadable:!!(n.voice||n.audio||n.video)}}(n);t&&e.incoming(t)}},async say(e,t,r){let a=(0,n.chatPieces)(t,"telegram",4e3);for(let[t,n]of a.entries())await o("sendMessage",{chat_id:e,text:n,parse_mode:"HTML",link_preview_options:{is_disabled:!0},...r?.length&&t===a.length-1?{reply_markup:{inline_keyboard:r.map(e=>[{text:e.text,callback_data:e.data}])}}:{}})},async typing(e){await o("sendChatAction",{chat_id:e,action:"typing"}).catch(()=>{})},async settle(e,t,r){await o("editMessageText",{chat_id:e,message_id:Number(t.id),text:`${t.text}
61
61
 
62
- → ${r}`,entities:t.keep,link_preview_options:{is_disabled:!0}}).catch(()=>{})},async sendFiles(e,t){let r=t.filter(e=>e.picture),n=t.filter(e=>!e.picture);for(let t=0;t<r.length;t+=10){let a=r.slice(t,t+10);await u(e,a).catch(e=>{if(!(e instanceof s&&400===e.status))throw e;n.unshift(...a)})}for(let t of n){let r=new FormData;r.set("chat_id",e),r.set("document",new Blob([t.bytes]),t.name),await o("sendDocument",r)}}}}])},312485,e=>e.a(async(t,r)=>{try{var n=e.i(666680),a=e.i(912714),i=e.i(232347),s=e.i(333925),o=e.i(986507),l=e.i(636608),c=e.i(450220),u=e.i(49002),d=e.i(811592),h=e.i(5509),p=e.i(724185),f=e.i(822931),g=e.i(520401),m=e.i(181300),y=e.i(293822),b=e.i(375814),w=e.i(871096),k=e.i(317613),_=e.i(900533),E=e.i(938281),x=e.i(212389),R=e.i(417043),v=e.i(775247),S=e.i(854455),O=e.i(850668),$=e.i(735186),T=e.i(480791),A=e.i(644301),P=t([o,u,d,h,p,g,m,k]);[o,u,d,h,p,g,m,k]=P.then?(await P)():P;let ee={telegram:e=>(0,A.createTelegram)(e),discord:e=>(0,S.createDiscord)(e),slack:(e,t)=>(0,T.createSlack)(e,t)},et=globalThis,er=et.__reach??={live:new Map,last:null,told:new Map,choices:new Map,listening:null,gone:null,looking:null,idle:null},en=()=>i.appEvents.emit({type:"reach"});async function j(e){return await er.live.get(e)?.settled,D(e)}async function D(e){let t=await (0,p.readConfig)((0,$.reachPersonKey)(e));if(!t)return null;try{let e=JSON.parse(t);return"string"==typeof e.chat&&"string"==typeof e.name?{chat:e.chat,name:e.name,bot:"string"==typeof e.bot?e.bot:null}:null}catch{return null}}let ea=(e,t)=>(0,p.writeConfig)((0,$.reachPersonKey)(e),JSON.stringify(t));async function C(e){for(let t of e?[e]:$.REACH_CHANNELS){let r=er.live.get(t);if(r?.stop.abort(),er.live.delete(t),e&&r?.line&&await (0,g.endCall)(r.line.callId).catch(()=>{}),(await Promise.all($.REACH_KEYS[t].map(p.configState))).includes("unreadable"))continue;let n=await Promise.all($.REACH_KEYS[t].map(p.readConfig));if(!n.every(e=>!!e)){e&&await (0,p.removeConfig)((0,$.reachPersonKey)(t));continue}let a=e&&r?.id?await D(t):null;a&&null===a.bot&&r?.id&&await ea(t,{...a,bot:r.id});let i={name:t,channel:ee[t](...n),stop:new AbortController,bot:null,link:null,problem:null,refused:null,id:null,adopt:!e,settled:Promise.resolve(),asking:null,held:[],line:null,calls:new Set,busy:!1,notes:[]};er.live.set(t,i),I(i)}er.live.size&&(er.listening??=i.appEvents.subscribe(e=>{"threads"===e.type&&G()}),er.gone??=i.presence.onGone(Y),G(),er.idle??=setInterval(()=>{q().catch(e=>E.logger.error("reach: idle lines",e))},s.REACH.idleMs).unref()),en()}async function I(e){let{signal:t}=e.stop,r=t=>{e.problem!==t&&(e.problem=t,en())};for(;!t.aborted;){try{await e.channel.listen({ready:(t,r,n)=>{e.bot=t,e.link=r,e.problem=null,e.id=n,e.settled=N(e,n).catch(t=>E.logger.error(`reach ${e.name}: who is let in`,t)),en()},incoming:t=>void M(e,t).catch(t=>E.logger.error(`reach ${e.name}: what arrived`,t))},t)}catch(a){if(t.aborted)return;let n=a instanceof Error?a.message:String(a);if(a instanceof R.ChannelRefusal){E.logger.warn(`reach ${e.name}: ${n}`);let t=$.REACH_KEYS[e.name];return e.refused=t[a.token]??t[0],e.problem=n,en()}r(n)}await new Promise(e=>setTimeout(e,s.REACH.retryMs))}}async function N(e,t){let r=await D(e.name);if(r&&r.bot!==t){if(null===r.bot&&e.adopt)return ea(e.name,{...r,bot:t});await (0,p.removeConfig)((0,$.reachPersonKey)(e.name)),en()}}async function M(e,t){let r=await j(e.name);if("press"===t.kind){if(r?.chat!==t.chat)return;return Q(e,r,t.data,t.under)}return r?.chat===t.chat?B(e,r,t):r?e.channel.say(t.chat,{plain:"This Thursday already answers someone else."}):L(e,t)}async function L(e,t){if(e.asking&&e.asking.chat!==t.chat)return e.channel.say(t.chat,{plain:"Someone else is already waiting to be let in here. If that is not you, press Not them on the computer, then write again."});e.held.length<s.REACH.held&&e.held.push(t),e.asking||(e.asking={chat:t.chat,name:t.name,handle:t.handle,said:t.words,code:(0,n.randomInt)(10**s.REACH.codeDigits).toString().padStart(s.REACH.codeDigits,"0")},en(),await e.channel.say(t.chat,{plain:`Almost there. Thursday is asking on your computer whether to let you in. Press Allow there only if it shows ${e.asking.code}, and she answers what you wrote.`}))}async function B(e,t,r){var n,a,i;let s=await z(e,r);s&&(n=e,a=t,i=s,n.busy?n.notes.push({text:i,said:!0}):(n.busy=!0,(async()=>{try{for(let e=i;null!==e;){await X(n,a,e);let t=n.notes.filter(e=>e.said);n.notes=n.notes.filter(e=>!e.said),e=t.length?t.map(e=>e.text).join("\n"):null}}finally{n.busy=!1}})()))}async function z(e,t){let{channel:r}=e;er.last=e.name;let{kept:n,lost:a}=await U(e,t.files);a.length&&await r.say(t.chat,{plain:a.map(({name:e,why:t})=>`${e} did not come through: ${t}.`).join("\n")}).catch(t=>E.logger.warn(`reach ${e.name}: could not say so`,t));let i=[t.words,...n].filter(Boolean).join("\n");return i?(a.length&&e.notes.push({text:`[Sent from their phone with what follows, and lost on the way: ${a.map(({name:e,why:t})=>`${e} (${t})`).join("; ")}. They have been told.]`,said:!1}),i):(t.unreadable&&!a.length&&await r.say(t.chat,{plain:"I can read words, pictures and files here — not voice or video yet. Write it instead."}),null)}async function U(e,t){let r=Math.min(e.channel.limits.take,s.REACH.fileBytes),n=[],a=t.filter(t=>!t.size||t.size<=r||(n.push({name:t.name,why:`it is ${es(t.size)}, and the most taken from ${$.REACH_LABEL[e.name]} is ${es(r)}`}),!1)),i=await Promise.allSettled(a.map(e=>e.fetch())),o=[];for(let[e,t]of i.entries())"fulfilled"===t.status?o.push(t.value):n.push({name:a[e].name,why:ei(t.reason)});if(!o.length)return{kept:[],lost:n};try{return{kept:await (0,k.keepGivenFiles)(o),lost:n}}catch(t){let e=ei(t);return{kept:[],lost:[...n,...o.map(t=>({name:t.name,why:e}))]}}}let ei=e=>e instanceof Error?e.message:String(e),es=e=>`${Math.ceil(e/1048576)} MB`;async function q(){for(let e of er.live.values())e.line&&!e.busy&&await H(e.line)&&await W(e)}async function H(e){return!(Date.now()-e.lastAt<=s.REACH.idleMs)&&!(await (0,h.listCallJobs)([e.callId])).some(e=>"running"===e.status)}async function W(e){let t=e.line;e.line=null,t&&await (0,g.endCall)(t.callId).catch(()=>{})}async function X(e,t,r){let{channel:n}=e;n.typing(t.chat).catch(()=>{});let a=setInterval(()=>void n.typing(t.chat).catch(()=>{}),4e3),i=e.notes.filter(e=>!e.said);e.notes=e.notes.filter(e=>e.said);try{let a=e.line;(!a||!await (0,g.isCallOpen)(a.callId)||await H(a))&&(await W(e),e.line={...await (0,m.openTextCall)(),messages:[],lastAt:0},e.calls.add(e.line.callId));let o=e.line,l=await (0,m.answerInWriting)({callId:o.callId,standing:o.standing,messages:[...o.messages,...i.map(e=>({role:"user",content:e.text})),{role:"user",content:r}],said:r,notes:()=>e.notes.splice(0)});o.messages=function(e){let t=Math.max(e.findLastIndex(e=>"user"===e.role),0),r=[...(0,c.asWords)(e.slice(0,t),(e,t)=>(0,y.toolLine)(e,JSON.stringify(t??{}))??e,e=>e.length>s.REACH.oldChars?`${e.slice(0,s.REACH.oldChars)}…`:e),...e.slice(t)];if(r.length<=s.REACH.messages)return r;let n=r.findIndex((e,t)=>t>=r.length-s.REACH.trimTo&&"user"===e.role);return n>0?r.slice(n):r}(l.messages),o.lastAt=Date.now(),l.moved&&!o.moved&&(o.moved=!0,await n.say(t.chat,{plain:l.moved}));let u=[...new Set(l.did)].join(" · ");await n.say(t.chat,{markdown:l.text?.trim()||(u?`— ${(0,v.literal)(u)}`:"…")}),await F(e,t,l.text)}catch(a){e.notes.unshift(...i),e.line&&!e.line.lastAt&&await W(e);let r=(0,x.isPublicError)(a)?a.message:(0,o.modelErrorToString)(a);E.logger.warn(`reach ${e.name}: ${r}`),await n.say(t.chat,{plain:r}).catch(()=>{})}finally{clearInterval(a)}}async function F(e,t,r){let n=await (0,w.filesOnDisk)((0,b.pathsIn)(r),null),i=n.slice(0,Math.max(n.length-s.REACH.files,0)).map(e=>({name:e,why:`only ${s.REACH.files} files go with one answer`})),{limits:o}=e.channel,l=Math.min(o.file,s.REACH.fileBytes);for(let r of n.slice(-s.REACH.files)){let n=await (0,w.insideWorkspace)(r),s=n?await (0,a.stat)(n).catch(()=>null):null;if(n&&s){if(s.size>l){i.push({name:r,why:`it is ${es(s.size)}, and the most that goes to ${$.REACH_LABEL[e.name]} is ${es(l)}`});continue}try{let l=await (0,O.picturesOf)(n);await e.channel.sendFiles(t.chat,l.length?l:[{bytes:await (0,a.readFile)(n),name:r.split("/").pop()??"file",picture:"image"===(0,b.viewKindOf)(r)&&s.size<=o.picture}]),l.length&&i.push({name:r,why:"sent as pictures above; the page itself opens on the computer"})}catch(t){E.logger.warn(`reach ${e.name}: could not send ${r}`,t),i.push({name:r,why:ei(t)})}}}i.length&&(await e.channel.say(t.chat,{plain:["Not sent — still on this computer:",...i.map(({name:e,why:t})=>`• ${e}: ${t}`)].join("\n")}).catch(t=>E.logger.warn(`reach ${e.name}: could not say so`,t)),e.notes.push({text:`[Named in what went to their phone, and not sent: ${i.map(({name:e,why:t})=>`${e} (${t})`).join("; ")}. They have been told.]`,said:!1}))}async function V(){for(let e of[...er.last?[er.last]:[],...$.REACH_CHANNELS.filter(e=>e!==er.last)]){let t=er.live.get(e),r=t?await j(e):null;if(t&&r)return{live:t,person:r}}return null}let eo=Date.now()-1e3*process.uptime();function G(e=s.REACH.lookMs){er.looking??=setTimeout(()=>{er.looking=null,K().catch(e=>E.logger.error("reach: open work",e))},e)}async function K(){let e=eo+s.BROWSER_GONE_MS-Date.now();if(e>0)return G(e);let t=await V();if(!t)return;let r=await (0,h.listInboxThreads)(),n=(0,f.openWork)(r).filter(e=>"progress"!==e.kind),a=new Set(n.map(e=>e.key));for(let e of er.told.keys())a.has(e)||er.told.delete(e);for(let[e,t]of er.choices)a.has((0,f.questionKey)(t.question))||er.choices.delete(e);let o=n.filter(e=>!er.told.has(e.key));if(!o.length)return;let l=await Z();for(let e of o){let n=r.find(t=>t.id===e.threadId);if(!n)continue;let a=l.get(e.threadId),s=a?await j(a.name):null,o=a&&s?{live:a,person:s}:!i.presence.watching&&(0,_.toDate)(n.updatedAt).getTime()>=eo?t:null;er.told.set(e.key,{kind:e.kind,phone:!!o}),o&&await J(o,e,n)}}function Y(){for(let[e,t]of er.told)"question"!==t.kind||t.phone||er.told.delete(e);G(0)}async function Z(){let e=[...er.live.values()],t=await (0,h.listCallJobs)(e.flatMap(e=>[...e.calls]));return new Map(t.flatMap(t=>{let r=e.find(e=>e.calls.has(t.callId??""));return r?[[t.id,r]]:[]}))}async function J(e,t,r){let{live:n,person:a}=e,i=r.room.questions.find(e=>(0,f.questionKey)(e.id)===t.key),s=(i?.options??[]).map((e,t)=>{let n=`${i?.id.slice(0,40)}:${t}`;return er.choices.set(n,{threadId:r.id,bot:i?.bot??"",question:i?.id??"",answer:e}),{text:e,data:n}});try{await n.channel.say(a.chat,{markdown:`${(0,v.literal)(`${t.show.line} \xb7 ${t.show.name}`)}
62
+ → ${r}`,entities:t.keep,link_preview_options:{is_disabled:!0}}).catch(()=>{})},async sendFiles(e,t){let r=t.filter(e=>e.picture),n=t.filter(e=>!e.picture);for(let t=0;t<r.length;t+=10){let a=r.slice(t,t+10);await u(e,a).catch(e=>{if(!(e instanceof s&&400===e.status))throw e;n.unshift(...a)})}for(let t of n){let r=new FormData;r.set("chat_id",e),r.set("document",new Blob([t.bytes]),t.name),await o("sendDocument",r)}}}}])},312485,e=>e.a(async(t,r)=>{try{var n=e.i(666680),a=e.i(912714),i=e.i(232347),s=e.i(333925),o=e.i(986507),l=e.i(636608),c=e.i(450220),u=e.i(49002),d=e.i(811592),h=e.i(5509),p=e.i(724185),f=e.i(822931),g=e.i(520401),m=e.i(181300),y=e.i(293822),b=e.i(375814),w=e.i(871096),k=e.i(317613),_=e.i(900533),E=e.i(938281),x=e.i(212389),R=e.i(417043),v=e.i(775247),S=e.i(854455),$=e.i(850668),O=e.i(735186),T=e.i(480791),A=e.i(644301),P=t([o,u,d,h,p,g,m,k]);[o,u,d,h,p,g,m,k]=P.then?(await P)():P;let ee={telegram:e=>(0,A.createTelegram)(e),discord:e=>(0,S.createDiscord)(e),slack:(e,t)=>(0,T.createSlack)(e,t)},et=globalThis,er=et.__reach??={live:new Map,last:null,told:new Map,choices:new Map,listening:null,gone:null,looking:null,idle:null},en=()=>i.appEvents.emit({type:"reach"});async function j(e){return await er.live.get(e)?.settled,D(e)}async function D(e){let t=await (0,p.readConfig)((0,O.reachPersonKey)(e));if(!t)return null;try{let e=JSON.parse(t);return"string"==typeof e.chat&&"string"==typeof e.name?{chat:e.chat,name:e.name,bot:"string"==typeof e.bot?e.bot:null}:null}catch{return null}}let ea=(e,t)=>(0,p.writeConfig)((0,O.reachPersonKey)(e),JSON.stringify(t));async function C(e){for(let t of e?[e]:O.REACH_CHANNELS){let r=er.live.get(t);if(r?.stop.abort(),er.live.delete(t),e&&r?.line&&await (0,g.endCall)(r.line.callId).catch(()=>{}),(await Promise.all(O.REACH_KEYS[t].map(p.configState))).includes("unreadable"))continue;let n=await Promise.all(O.REACH_KEYS[t].map(p.readConfig));if(!n.every(e=>!!e)){e&&await (0,p.removeConfig)((0,O.reachPersonKey)(t));continue}let a=e&&r?.id?await D(t):null;a&&null===a.bot&&r?.id&&await ea(t,{...a,bot:r.id});let i={name:t,channel:ee[t](...n),stop:new AbortController,bot:null,link:null,problem:null,refused:null,id:null,adopt:!e,settled:Promise.resolve(),asking:null,held:[],line:null,calls:new Set,busy:!1,notes:[]};er.live.set(t,i),I(i)}er.live.size&&(er.listening??=i.appEvents.subscribe(e=>{"threads"===e.type&&G()}),er.gone??=i.presence.onGone(Y),G(),er.idle??=setInterval(()=>{q().catch(e=>E.logger.error("reach: idle lines",e))},s.REACH.idleMs).unref()),en()}async function I(e){let{signal:t}=e.stop,r=t=>{e.problem!==t&&(e.problem=t,en())};for(;!t.aborted;){try{await e.channel.listen({ready:(t,r,n)=>{e.bot=t,e.link=r,e.problem=null,e.id=n,e.settled=N(e,n).catch(t=>E.logger.error(`reach ${e.name}: who is let in`,t)),en()},incoming:t=>void M(e,t).catch(t=>E.logger.error(`reach ${e.name}: what arrived`,t))},t)}catch(a){if(t.aborted)return;let n=a instanceof Error?a.message:String(a);if(a instanceof R.ChannelRefusal){E.logger.warn(`reach ${e.name}: ${n}`);let t=O.REACH_KEYS[e.name];return e.refused=t[a.token]??t[0],e.problem=n,en()}r(n)}await new Promise(e=>setTimeout(e,s.REACH.retryMs))}}async function N(e,t){let r=await D(e.name);if(r&&r.bot!==t){if(null===r.bot&&e.adopt)return ea(e.name,{...r,bot:t});await (0,p.removeConfig)((0,O.reachPersonKey)(e.name)),en()}}async function M(e,t){let r=await j(e.name);if("press"===t.kind){if(r?.chat!==t.chat)return;return Q(e,r,t.data,t.under)}return r?.chat===t.chat?B(e,r,t):r?e.channel.say(t.chat,{plain:"This Thursday already answers someone else."}):L(e,t)}async function L(e,t){if(e.asking&&e.asking.chat!==t.chat)return e.channel.say(t.chat,{plain:"Someone else is already waiting to be let in here. If that is not you, press Not them on the computer, then write again."});e.held.length<s.REACH.held&&e.held.push(t),e.asking||(e.asking={chat:t.chat,name:t.name,handle:t.handle,said:t.words,code:(0,n.randomInt)(10**s.REACH.codeDigits).toString().padStart(s.REACH.codeDigits,"0")},en(),await e.channel.say(t.chat,{plain:`Almost there. Thursday is asking on your computer whether to let you in. Press Allow there only if it shows ${e.asking.code}, and she answers what you wrote.`}))}async function B(e,t,r){var n,a,i;let s=await z(e,r);s&&(n=e,a=t,i=s,n.busy?n.notes.push({text:i.words,said:!0,pictures:i.pictures}):(n.busy=!0,(async()=>{try{for(let e=i;null!==e;){await F(n,a,e);let t=n.notes.filter(e=>e.said);n.notes=n.notes.filter(e=>!e.said),e=t.length?{words:t.map(e=>e.text).join("\n"),pictures:t.flatMap(e=>e.pictures??[])}:null}}finally{n.busy=!1}})()))}async function z(e,t){let{channel:r}=e;er.last=e.name;let{kept:n,lost:a}=await U(e,t.files);a.length&&await r.say(t.chat,{plain:a.map(({name:e,why:t})=>`${e} did not come through: ${t}.`).join("\n")}).catch(t=>E.logger.warn(`reach ${e.name}: could not say so`,t));let i=[t.words,...n].filter(Boolean).join("\n");return i?(a.length&&e.notes.push({text:`[Sent from their phone with what follows, and lost on the way: ${a.map(({name:e,why:t})=>`${e} (${t})`).join("; ")}. They have been told.]`,said:!1}),{words:i,pictures:n.filter(b.isPicture)}):(t.unreadable&&!a.length&&await r.say(t.chat,{plain:"I can read words, pictures and files here — not voice or video yet. Write it instead."}),null)}async function U(e,t){let r=Math.min(e.channel.limits.take,s.REACH.fileBytes),n=[],a=t.filter(t=>!t.size||t.size<=r||(n.push({name:t.name,why:`it is ${es(t.size)}, and the most taken from ${O.REACH_LABEL[e.name]} is ${es(r)}`}),!1)),i=await Promise.allSettled(a.map(e=>e.fetch())),o=[];for(let[e,t]of i.entries())"fulfilled"===t.status?o.push(t.value):n.push({name:a[e].name,why:ei(t.reason)});if(!o.length)return{kept:[],lost:n};try{return{kept:await (0,k.keepGivenFiles)(o),lost:n}}catch(t){let e=ei(t);return{kept:[],lost:[...n,...o.map(t=>({name:t.name,why:e}))]}}}let ei=e=>e instanceof Error?e.message:String(e),es=e=>`${Math.ceil(e/1048576)} MB`;async function q(){for(let e of er.live.values())e.line&&!e.busy&&await H(e.line)&&await W(e)}async function H(e){return!(Date.now()-e.lastAt<=s.REACH.idleMs)&&!(await (0,h.listCallJobs)([e.callId])).some(e=>"running"===e.status)}async function W(e){let t=e.line;e.line=null,t&&await (0,g.endCall)(t.callId).catch(()=>{})}async function F(e,t,{words:r,pictures:n}){let{channel:a}=e;a.typing(t.chat).catch(()=>{});let i=setInterval(()=>void a.typing(t.chat).catch(()=>{}),4e3),l=e.notes.filter(e=>!e.said);e.notes=e.notes.filter(e=>e.said);try{let i=e.line;(!i||!await (0,g.isCallOpen)(i.callId)||await H(i))&&(await W(e),e.line={...await (0,m.openTextCall)(),messages:[],lastAt:0},e.calls.add(e.line.callId));let o=e.line,u=await (0,m.answerInWriting)({callId:o.callId,standing:o.standing,messages:[...o.messages,...l.map(e=>({role:"user",content:e.text})),{role:"user",content:r}],said:r,pictures:n,notes:()=>e.notes.splice(0)});o.messages=function(e){let t=Math.max(e.findLastIndex(e=>"user"===e.role),0),r=[...(0,c.asWords)(e.slice(0,t),(e,t)=>(0,y.toolLine)(e,JSON.stringify(t??{}))??e,e=>e.length>s.REACH.oldChars?`${e.slice(0,s.REACH.oldChars)}…`:e),...e.slice(t)];if(r.length<=s.REACH.messages)return r;let n=r.findIndex((e,t)=>t>=r.length-s.REACH.trimTo&&"user"===e.role);return n>0?r.slice(n):r}(u.messages),o.lastAt=Date.now(),u.moved&&!o.moved&&(o.moved=!0,await a.say(t.chat,{plain:u.moved}));let d=[...new Set(u.did)].join(" · ");await a.say(t.chat,{markdown:u.text?.trim()||(d?`— ${(0,v.literal)(d)}`:"…")}),await X(e,t,u.text)}catch(n){e.notes.unshift(...l),e.line&&!e.line.lastAt&&await W(e);let r=(0,x.isPublicError)(n)?n.message:(0,o.modelErrorToString)(n);E.logger.warn(`reach ${e.name}: ${r}`),await a.say(t.chat,{plain:r}).catch(()=>{})}finally{clearInterval(i)}}async function X(e,t,r){let n=await (0,w.filesOnDisk)((0,b.pathsIn)(r),null),i=n.slice(0,Math.max(n.length-s.REACH.files,0)).map(e=>({name:e,why:`only ${s.REACH.files} files go with one answer`})),{limits:o}=e.channel,l=Math.min(o.file,s.REACH.fileBytes);for(let r of n.slice(-s.REACH.files)){let n=await (0,w.insideWorkspace)(r),s=n?await (0,a.stat)(n).catch(()=>null):null;if(n&&s)try{let c=await (0,$.picturesOf)(n);if(c.length){let a=await (0,$.pdfOf)(n),s=a&&a.bytes.length<=l;await e.channel.sendFiles(t.chat,s?[...c,a]:c),s||i.push({name:r,why:a?`sent as pictures above; as a PDF it is ${es(a.bytes.length)}, and the most that goes to ${O.REACH_LABEL[e.name]} is ${es(l)}`:"sent as pictures above; the page itself opens on the computer"});continue}if(s.size>l){i.push({name:r,why:`it is ${es(s.size)}, and the most that goes to ${O.REACH_LABEL[e.name]} is ${es(l)}`});continue}await e.channel.sendFiles(t.chat,[{bytes:await (0,a.readFile)(n),name:r.split("/").pop()??"file",picture:"image"===(0,b.viewKindOf)(r)&&s.size<=o.picture}])}catch(t){E.logger.warn(`reach ${e.name}: could not send ${r}`,t),i.push({name:r,why:ei(t)})}}i.length&&(await e.channel.say(t.chat,{plain:["Not sent — still on this computer:",...i.map(({name:e,why:t})=>`• ${e}: ${t}`)].join("\n")}).catch(t=>E.logger.warn(`reach ${e.name}: could not say so`,t)),e.notes.push({text:`[Named in what went to their phone, and not sent: ${i.map(({name:e,why:t})=>`${e} (${t})`).join("; ")}. They have been told.]`,said:!1}))}async function V(){for(let e of[...er.last?[er.last]:[],...O.REACH_CHANNELS.filter(e=>e!==er.last)]){let t=er.live.get(e),r=t?await j(e):null;if(t&&r)return{live:t,person:r}}return null}let eo=Date.now()-1e3*process.uptime();function G(e=s.REACH.lookMs){er.looking??=setTimeout(()=>{er.looking=null,K().catch(e=>E.logger.error("reach: open work",e))},e)}async function K(){let e=eo+s.BROWSER_GONE_MS-Date.now();if(e>0)return G(e);let t=await V();if(!t)return;let r=await (0,h.listInboxThreads)(),n=(0,f.openWork)(r).filter(e=>"progress"!==e.kind),a=new Set(n.map(e=>e.key));for(let e of er.told.keys())a.has(e)||er.told.delete(e);for(let[e,t]of er.choices)a.has((0,f.questionKey)(t.question))||er.choices.delete(e);let o=n.filter(e=>!er.told.has(e.key));if(!o.length)return;let l=await Z();for(let e of o){let n=r.find(t=>t.id===e.threadId);if(!n)continue;let a=l.get(e.threadId),s=a?await j(a.name):null,o=a&&s?{live:a,person:s}:!i.presence.watching&&(0,_.toDate)(n.updatedAt).getTime()>=eo?t:null;er.told.set(e.key,{kind:e.kind,phone:!!o}),o&&await J(o,e,n)}}function Y(){for(let[e,t]of er.told)"question"!==t.kind||t.phone||er.told.delete(e);G(0)}async function Z(){let e=[...er.live.values()],t=await (0,h.listCallJobs)(e.flatMap(e=>[...e.calls]));return new Map(t.flatMap(t=>{let r=e.find(e=>e.calls.has(t.callId??""));return r?[[t.id,r]]:[]}))}async function J(e,t,r){let{live:n,person:a}=e,i=r.room.questions.find(e=>(0,f.questionKey)(e.id)===t.key),s=(i?.options??[]).map((e,t)=>{let n=`${i?.id.slice(0,40)}:${t}`;return er.choices.set(n,{threadId:r.id,bot:i?.bot??"",question:i?.id??"",answer:e}),{text:e,data:n}});try{await n.channel.say(a.chat,{markdown:`${(0,v.literal)(`${t.show.line} \xb7 ${t.show.name}`)}
63
63
 
64
- ${t.text||"…"}`},s)}catch(e){E.logger.warn(`reach ${n.name}: could not tell ${t.key}`,e),er.told.delete(t.key);return}await F(n,a,t.text),n.notes.push({text:`${t.line}
64
+ ${t.text||"…"}`},s)}catch(e){E.logger.warn(`reach ${n.name}: could not tell ${t.key}`,e),er.told.delete(t.key);return}await X(n,a,t.text),n.notes.push({text:`${t.line}
65
65
  [The user has had this on their phone, as ${t.show.bot} wrote it, since ${(0,l.clockNow)()}.]`,said:!1}),"ending"===t.kind?await (0,h.markSeen)([t.threadId]):await (0,d.acceptRoomRelays)(t.relayIds)}async function Q(e,t,r,n){let a=er.choices.get(r);if(!a)return void await e.channel.say(t.chat,{plain:"That question is no longer open here. Write your answer instead."});for(let[e,t]of er.choices)t.question===a.question&&er.choices.delete(e);try{await (0,u.answerThread)(a.threadId,a.answer,"user",a.bot,a.question||void 0),n&&await e.channel.settle(t.chat,n,a.answer),e.notes.push({text:`[The user answered ${a.bot}'s question from their phone at ${(0,l.clockNow)()}: ${a.answer}. It has reached ${a.bot}.]`,said:!1})}catch(r){await e.channel.say(t.chat,{plain:(0,x.isPublicError)(r)?r.message:"That answer did not get through."})}}e.s(["heldCalls",0,()=>[...er.live.values()].flatMap(e=>e.line?[e.line.callId]:[]),"startReach",0,C]),r()}catch(e){r(e)}},!1),822931,e=>{"use strict";var t=e.i(333925),r=e.i(951056),n=e.i(900533),a=e.i(64774);let i={message:"says",question:"asks",report:"reports",interrupted:"was cut off"},s={question:0,stopped:1,done:2,progress:3};function o(e){let r=(0,a.captionText)(e.replace(/!\[[^\]]*\]\([^)]*\)/g," ")).replace(a.MARKDOWN_LINK,"$1").replace(/^• /gm,"").trim();if(r.length<=t.CALL_RELAY.chars)return r;let n=r.slice(0,t.CALL_RELAY.chars),i=Math.max(n.lastIndexOf("\n\n"),n.lastIndexOf(". "),n.lastIndexOf(".\n"),n.lastIndexOf("。")),s=(i>t.CALL_RELAY.chars/3?n.slice(0,i+1):n).trim();return`${s}
66
66
  [The message goes on; the rest is in its thread on screen.]`}let l=e=>`question:${e}`;e.s(["openWork",0,function(e){let t=[];for(let a of e){let{relays:e,questions:c}=a.room,u=(0,n.toDate)(a.updatedAt).getTime(),d=(e,t)=>`[${e} → Thursday, thread "${a.label}" (${a.id}), ${t}.]`,h=(e,t)=>({kind:"relay",name:a.label,line:t,done:!0,bot:e});for(let r of c){let n=r.options?.length?` Options: ${r.options.join(" / ")}.`:"";t.push({rank:s.question,key:l(r.id),kind:"question",line:`${d(r.bot,"question")}
67
67
  ${o(r.text)}${n}`,relayIds:e.filter(e=>e.messageId===r.id).map(e=>e.id),threadId:a.id,text:r.text,show:h(r.bot,`${r.bot} asks`)})}let p=e.filter(e=>!c.some(t=>t.id===e.messageId)),f="done"===a.status,g="waiting"===a.status&&(0,r.isAppStop)(a.ask);if(f||g){if(a.seen)continue;let e=g?"stopped":"done",r=(g?a.ask?.question:null)??a.outcome??"",n="stopped"===e?`It stopped before finishing. Where it got to: ${o(r)}`:`Done. Its answer: ${o(r)}`;t.push({rank:s[e],key:`${e}:${a.id}@${u}`,kind:"ending",line:`${d(a.bot,e)}
68
68
  ${n}`,relayIds:p.map(e=>e.id),threadId:a.id,text:r,show:h(a.bot,"stopped"===e?`${a.bot} stopped`:`${a.bot} finished`)});continue}for(let e of p)t.push({rank:s.progress,key:`progress:${e.id}`,kind:"progress",line:`${d(e.bot,e.kind)}
69
- ${o(e.text)}`,relayIds:[e.id],threadId:a.id,text:e.text,show:h(e.bot,`${e.bot} ${i[e.kind]}`)})}return t.sort((e,t)=>e.rank-t.rank)},"questionKey",0,l])},181300,e=>e.a(async(t,r)=>{try{var n=e.i(734732),a=e.i(853205),i=e.i(333925),s=e.i(247839),o=e.i(113022),l=e.i(986507),c=e.i(864328),u=e.i(539470),d=e.i(79290),h=e.i(51083),p=e.i(656719),f=e.i(724185),g=e.i(426455),m=e.i(938281);e.i(825184);var y=e.i(212389),b=e.i(520401),w=e.i(933395),k=e.i(293822),_=t([o,l,u,d,f,b]);async function E(){let e=await Promise.all(w.TEXT_CALL_PROVIDERS.map(async e=>await (0,f.readConfig)(e.apiKeyName)?e.apiKeyName:null));return(0,w.textCallRunsOn)(t=>e.includes(t))}async function x(e,t){if(t)return t;let r=await E();return r||(0,y.publicError)(A),{provider:r,model:e.backendModel}}async function R(e,t){if("chatgpt"!==e.provider||!(0,l.isPlanSpent)(t)||!await (0,f.readConfig)(s.LIVE_PROVIDER.apiKeyName))return null;let r=(await (0,b.readLiveSettings)()).backendModel,n=c.TEXT_MODEL_PROVIDERS.openai.suggestModels.find(e=>e.id===r)?.label??r,a=t instanceof Error?t.message:String(t);return{ref:{provider:"openai",model:r},why:a,line:`${a} Answering on your OpenAI key (${n}) until it resets.`}}async function v(e){if(!(0,l.isPlanSpent)(e))return e;let t=e instanceof Error?e.message:String(e);return new y.PublicError(await (0,f.readConfig)(s.LIVE_PROVIDER.apiKeyName)?`${t} Write again and she answers on your OpenAI key.`:`${t} With an OpenAI key in Settings › API keys, she answers on it until then.`)}async function S(e){let t=await x(await (0,b.readLiveSettings)(),e),[r,n]=await Promise.all([(0,b.insertCall)({provider:t.provider,model:i.TEXT_CALL.model,backendModel:t.model}),(0,u.loadCallStanding)()]);return{callId:r,standing:n}}async function O(e){var t;let r,a,{callId:s,standing:o,messages:l,said:c,signal:u}=e,[d,p]=await Promise.all([$(s,null,!0),(0,b.nextTurnSeq)(s)]);null!==c&&await (0,b.saveTurns)(s,[{id:crypto.randomUUID(),role:"user",text:c,seq:p}]);let f=(t=s,r=null===c?p:p+1,{step:async e=>{for(let n of e.content)if("tool-call"===n.type){let a=e.content.find(e=>"tool-result"===e.type&&e.toolCallId===n.toolCallId);await (0,b.saveTurns)(t,[{id:n.toolCallId,role:"tool",tool:n.toolName,text:n.toolName===h.TOOL_NAMES.web_search?function(e,t){let r=t??{},n=[(e??{}).query,r.action?.query].find(e=>"string"==typeof e&&!!e.trim()),a=Array.isArray(r.sources)?r.sources.flatMap(e=>e&&"object"==typeof e&&"url"in e&&"string"==typeof e.url?[{url:e.url,..."title"in e&&"string"==typeof e.title?{title:e.title}:{}}]:[]):[];return JSON.stringify({query:n??null,sources:a})}(n.input,a?.type==="tool-result"?a.output:null):JSON.stringify(n.input??{}),seq:r++}])}else"text"===n.type&&n.text.trim()?await (0,b.saveTurns)(t,[{id:crypto.randomUUID(),role:"assistant",text:n.text.trim(),seq:r++}]):"reasoning"===n.type&&n.text.trim()&&await (0,b.saveThought)(t,{id:crypto.randomUUID(),text:n.text.trim(),seq:r})},said:(e,n=crypto.randomUUID())=>(0,b.saveTurns)(t,[{id:n,role:"user",text:e,seq:r++}])}),g=T(o),y=[...g,...l],w=0,_=t=>(0,n.generateText)({model:t.model,instructions:t.system,messages:y,allowSystemInMessages:!0,tools:t.tools,providerOptions:t.providerOptions,stopWhen:(0,n.stepCountIs)(i.TEXT_CALL.maxSteps),abortSignal:u,prepareStep:async({stepNumber:t,messages:r})=>{let n=t>0?e.notes?.()??[]:[];for(let e of(y=[...r,...n.map(e=>({role:"user",content:e.text}))],n))e.said&&await f.said(e.text);return n.length?{messages:y}:void 0},onStepEnd:async e=>{w+=1,await f.step(e)}}),E=null;try{a=await _(d)}catch(t){let e=w?null:await R(d.ref,t);if(!e)throw await v(t);m.logger.info(`text call ${s}: ${e.line}`),E=e.line;try{a=await _(await $(s,e.ref,!0))}catch(e){throw await v(e)}}return{text:a.text.trim(),did:a.steps.flatMap(e=>e.toolCalls.map(e=>(0,k.toolLine)(e.toolName,JSON.stringify(e.input??{}))??e.toolName)),messages:[...y.slice(g.length),...a.steps.at(-1)?.response.messages??[]],moved:E}}[o,l,u,d,f,b]=_.then?(await _)():_,a.z.object({callId:a.z.string().min(1),standing:a.z.string().nullish(),runsOn:c.textModelRefSchema.nullish(),turn:a.z.string().min(1),messages:a.z.array(a.z.unknown()).min(1),where:a.z.unknown().optional()}),globalThis.__textCallTurns??=new Map;let T=e=>e?[{role:"system",content:e}]:[];async function $(e,t,r=!1,n){let a=await (0,b.readLiveSettings)(),i=await x(a,t),c="openai"===i.provider||"chatgpt"===i.provider,[u,m,y,w,k]=await Promise.all([(0,l.getTextModel)(i),(0,d.loadThursdayPrompt)({backendPrompt:a.backendPrompt,written:!0,callId:e,phone:r,persona:a.persona,stylePrompt:a.stylePrompt,readSkills:a.readSkills,where:n}),(0,o.loadTools)({target:"thursday",callId:e,webSearch:a.webSearch,readSkills:a.readSkills,written:!0,model:i,phone:r}),(0,f.readConfig)(p.EXA_API_KEY),(0,f.readConfig)(s.LIVE_PROVIDER.apiKeyName)]),_=u.searchTools&&Object.values(u.searchTools)[0],E={...y,...a.webSearch&&!w&&_?{[h.TOOL_NAMES.web_search]:_}:{}},R=c?k?await (0,g.acceptedReasoning)({apiKey:k,model:i.model,effort:a.reasoningEffort}):(0,g.wantedReasoning)(a.reasoningEffort):null;return{ref:i,model:u.model,system:m,tools:E,providerOptions:{openai:{...R?.effort?{reasoningEffort:R.effort}:{},...R&&"summary"in R&&R.summary?{reasoningSummary:R.summary}:{}}}}}let A="Writing to Thursday needs a GPT subscription sign-in or an OpenAI key — Settings › API keys.";e.s(["answerInWriting",0,O,"openTextCall",0,S]),r()}catch(e){r(e)}},!1),317613,e=>e.a(async(t,r)=>{try{var n=e.i(874533);e.i(666680);var a=e.i(912714),i=e.i(750227),s=e.i(812057),o=e.i(333925),l=e.i(5509);e.i(375814);var c=e.i(871096),u=t([l]);async function d(e){let t=await (0,c.openWorkspace)(),r=new Set(await (0,a.readdir)((0,i.join)(c.WORKSPACE,o.GIVEN_FILES.dir)).catch(()=>[])),n=[];for(let a of e){let e=a.name.normalize("NFC").replace(/[^\p{L}\p{N}._-]+/gu,"-").replace(/^[-.]+|-+$/g,"")||"file",i=e.lastIndexOf("."),s=i>0?e.slice(0,i):e,l=i>0?e.slice(i):"",c=e;for(let e=2;r.has(c);e++)c=`${s}-${e}${l}`;r.add(c);let u=`${o.GIVEN_FILES.dir}/${c}`;await t.writeFile(u,Buffer.from(await a.arrayBuffer())),n.push(u)}return n}[l]=u.then?(await u)():u,(0,i.join)(o.APP_DIR,o.PATHS.skills.default,"artifact","scripts","spreadsheet.mjs"),(0,s.promisify)(n.execFile),e.s(["keepGivenFiles",0,d]),r()}catch(e){r(e)}},!1),417043,e=>{"use strict";var t=e.i(333925);async function r(e,r){if(null==e||!Number.isFinite(e))return!1;let n=Math.max(0,1e3*e);return!(r>=t.REACH.rateRetries)&&!(n>t.REACH.rateWaitMs)&&(await new Promise(e=>setTimeout(e,n)),!0)}e.s(["ChannelRefusal",0,class extends Error{token;constructor(e,t=0){super(e),this.token=t}},"waitOut",0,r])},775247,e=>{"use strict";function t(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var r=t(),n={exec:()=>null};function a(e,t=""){let r="string"==typeof e?e:e.source,n={replace:(e,t)=>{let a="string"==typeof t?t:t.source;return a=a.replace(s.caret,"$1"),r=r.replace(e,a),n},getRegex:()=>new RegExp(r,t)};return n}var i=(()=>{try{return!!RegExp("(?<=1)(?<!1)")}catch{return!1}})(),s={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},o=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,l=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,c=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,u=a(c).replace(/bull/g,l).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),d=a(c).replace(/bull/g,l).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),h=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,p=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,f=a(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",p).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),g=a(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,l).getRegex(),m="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",y=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,b=a("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",y).replace("tag",m).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),w=a(h).replace("hr",o).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex(),k={blockquote:a(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",w).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:f,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:o,html:b,lheading:u,list:g,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:w,table:n,text:/^[^\n]+/},_=a("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",o).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex(),E={...k,lheading:d,table:_,paragraph:a(h).replace("hr",o).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",_).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex()},x={...k,html:a("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",y).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:n,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:a(h).replace("hr",o).replace("heading",` *#{1,6} *[^
70
- ]`).replace("lheading",u).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},R=/^( {2,}|\\)\n(?!\s*$)/,v=/[\p{P}\p{S}]/u,S=/[\s\p{P}\p{S}]/u,O=/[^\s\p{P}\p{S}]/u,$=a(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,S).getRegex(),T=/(?!~)[\p{P}\p{S}]/u,A=a(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",i?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),P=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,j=a(P,"u").replace(/punct/g,v).getRegex(),D=a(P,"u").replace(/punct/g,T).getRegex(),C="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",I=a(C,"gu").replace(/notPunctSpace/g,O).replace(/punctSpace/g,S).replace(/punct/g,v).getRegex(),N=a(C,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,T).getRegex(),M=a("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,O).replace(/punctSpace/g,S).replace(/punct/g,v).getRegex(),L=a(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,v).getRegex(),B=a("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,O).replace(/punctSpace/g,S).replace(/punct/g,v).getRegex(),z=a(/\\(punct)/,"gu").replace(/punct/g,v).getRegex(),U=a(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),q=a(y).replace("(?:-->|$)","-->").getRegex(),H=a("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",q).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,X=a(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",W).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),F=a(/^!?\[(label)\]\[(ref)\]/).replace("label",W).replace("ref",p).getRegex(),V=a(/^!?\[(ref)\](?:\[\])?/).replace("ref",p).getRegex(),G=a("reflink|nolink(?!\\()","g").replace("reflink",F).replace("nolink",V).getRegex(),K=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Y={_backpedal:n,anyPunctuation:z,autolink:U,blockSkip:A,br:R,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:n,delLDelim:n,delRDelim:n,emStrongLDelim:j,emStrongRDelimAst:I,emStrongRDelimUnd:M,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:X,nolink:V,punctuation:$,reflink:F,reflinkSearch:G,tag:H,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:n},Z={...Y,link:a(/^!?\[(label)\]\((.*?)\)/).replace("label",W).getRegex(),reflink:a(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W).getRegex()},J={...Y,emStrongRDelimAst:N,emStrongLDelim:D,delLDelim:L,delRDelim:B,url:a(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",K).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:a(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",K).getRegex()},Q={...J,br:a(R).replace("{2,}","*").getRegex(),text:a(J.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ee={normal:k,gfm:E,pedantic:x},et={normal:Y,gfm:J,breaks:Q,pedantic:Z},er={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},en=e=>er[e];function ea(e,t){if(t){if(s.escapeTest.test(e))return e.replace(s.escapeReplace,en)}else if(s.escapeTestNoEncode.test(e))return e.replace(s.escapeReplaceNoEncode,en);return e}function ei(e){try{e=encodeURI(e).replace(s.percentDecode,"%")}catch{return null}return e}function es(e,t){let r=e.replace(s.findPipe,(e,t,r)=>{let n=!1,a=t;for(;--a>=0&&"\\"===r[a];)n=!n;return n?"|":" |"}).split(s.splitPipe),n=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;n<r.length;n++)r[n]=r[n].trim().replace(s.slashPipe,"|");return r}function eo(e,t,r){let n=e.length;if(0===n)return"";let a=0;for(;a<n;){let i=e.charAt(n-a-1);if(i!==t||r)if(i!==t&&r)a++;else break;else a++}return e.slice(0,n-a)}function el(e,t,r,n,a){let i=t.href,s=t.title||null,o=e[1].replace(a.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:"!"===e[0].charAt(0)?"image":"link",raw:r,href:i,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}var ec=class{options;rules;lexer;constructor(e){this.options=e||r}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:eo(e,`
69
+ ${o(e.text)}`,relayIds:[e.id],threadId:a.id,text:e.text,show:h(e.bot,`${e.bot} ${i[e.kind]}`)})}return t.sort((e,t)=>e.rank-t.rank)},"questionKey",0,l])},181300,e=>e.a(async(t,r)=>{try{var n=e.i(912714),a=e.i(734732),i=e.i(853205),s=e.i(139886),o=e.i(333925),l=e.i(247839),c=e.i(113022),u=e.i(986507),d=e.i(864328),h=e.i(539470),p=e.i(79290),f=e.i(690285),g=e.i(51083),m=e.i(656719),y=e.i(724185),b=e.i(375814),w=e.i(426455),k=e.i(938281);e.i(825184);var _=e.i(212389),E=e.i(64774),x=e.i(520401),R=e.i(933395),v=e.i(293822),S=t([c,u,h,p,y,x]);async function $(){let e=await Promise.all(R.TEXT_CALL_PROVIDERS.map(async e=>await (0,y.readConfig)(e.apiKeyName)?e.apiKeyName:null));return(0,R.textCallRunsOn)(t=>e.includes(t))}async function O(e,t){if(t)return t;let r=await $();return r||(0,_.publicError)(H),{provider:r,model:e.backendModel}}async function T(e,t){if("chatgpt"!==e.provider||!(0,u.isPlanSpent)(t)||!await (0,y.readConfig)(l.LIVE_PROVIDER.apiKeyName))return null;let r=(await (0,x.readLiveSettings)()).backendModel,n=d.TEXT_MODEL_PROVIDERS.openai.suggestModels.find(e=>e.id===r)?.label??r,a=t instanceof Error?t.message:String(t);return{ref:{provider:"openai",model:r},why:a,line:`${a} Answering on your OpenAI key (${n}) until it resets.`}}async function A(e){if(!(0,u.isPlanSpent)(e))return e;let t=e instanceof Error?e.message:String(e);return new _.PublicError(await (0,y.readConfig)(l.LIVE_PROVIDER.apiKeyName)?`${t} Write again and she answers on your OpenAI key.`:`${t} With an OpenAI key in Settings › API keys, she answers on it until then.`)}async function P(e){let t=await O(await (0,x.readLiveSettings)(),e),[r,n]=await Promise.all([(0,x.insertCall)({provider:t.provider,model:o.TEXT_CALL.model,backendModel:t.model}),(0,h.loadCallStanding)()]);return{callId:r,standing:n}}[c,u,h,p,y,x]=S.then?(await S)():S,i.z.object({callId:i.z.string().min(1),standing:i.z.string().nullish(),runsOn:d.textModelRefSchema.nullish(),turn:i.z.string().min(1),messages:i.z.array(i.z.unknown()).min(1),where:i.z.unknown().optional()}),globalThis.__textCallTurns??=new Map;let N="workspace:",M=e=>({type:"file",mediaType:(0,b.mimeOf)(e),filename:e,data:{type:"url",url:new URL(`${N}${encodeURIComponent(e)}`)}}),L=e=>{let t=e.data,r=t instanceof URL?t:t?.type==="url"?t.url:null;return r instanceof URL&&r.protocol===N?decodeURIComponent(r.pathname):null},B=(e,t)=>t?.length?[{type:"text",text:e},...t.map(M)]:e;s.queryKey.file("");let z=new WeakMap,U=e=>e.map(e=>z.get(e)??e);async function j(e,t,r){if(t)return{missed:`${e} is a picture, and ${t} cannot see pictures, so it was not sent to you.`};let a=await (0,f.checkPicture)(e);if("missing"in a)return{missed:`There is no file at ${e} in the workspace, so no picture was sent to you.`};if("notPicture"in a)return{missed:`${e} is not a png, jpg, webp or gif, so it was not sent to you as a picture.`};if("tooBig"in a)return{missed:`${(0,f.tooBigToSee)(e,a.tooBig)} It was not sent to you.`};if(a.bytes>r)return{missed:`${e} is a picture not sent with this message: the pictures after it fill the ${(0,E.formatBytes)(o.LOOK.perRequest)} one message to you carries. Look at it with look_at to see it.`};let i=await (0,n.readFile)(a.full).catch(()=>null);return i?{data:i.toString("base64"),mediaType:a.mediaType,bytes:i.length}:{missed:`${e} could not be read, so no picture was sent to you.`}}async function D(e,t){let r=(0,u.seesToolImages)(t)?null:t.model,n=o.LOOK.perRequest-e.reduce((e,t)=>e+function(e){if("user"!==e.role||"string"==typeof e.content)return 0;let t=0;for(let r of e.content){if("file"!==r.type)continue;let e=r.data,n=e?.type==="data"?e.data:e;"string"==typeof n?t+=Math.floor(3*n.length/4):(n instanceof Uint8Array||n instanceof ArrayBuffer)&&(t+=n.byteLength)}return t}(t),0),a=[...e];for(let e=a.length-1;e>=0;e-=1){let t=a[e];if("user"!==t.role||"string"==typeof t.content||!t.content.some(e=>"file"===e.type&&null!==L(e)))continue;let i=[];for(let e of[...t.content].reverse()){let t="file"===e.type?L(e):null;if(!t){i.unshift(e);continue}let a=await j(t,r,n);if("missed"in a){i.unshift({type:"text",text:a.missed});continue}n-=a.bytes,i.unshift({type:"text",text:`${t}, as an image:`},{type:"file",mediaType:a.mediaType,data:{type:"data",data:a.data}})}let s={role:"user",content:i};z.set(s,t),a[e]=s}return a}async function C(e){var t;let r,n,{callId:i,standing:s,messages:l,said:c,signal:u}=e,[d,h]=await Promise.all([I(i,null,!0),(0,x.nextTurnSeq)(i)]);null!==c&&await (0,x.saveTurns)(i,[{id:crypto.randomUUID(),role:"user",text:c,seq:h}]);let p=(t=i,r=null===c?h:h+1,{step:async e=>{for(let n of e.content)if("tool-call"===n.type){let a=e.content.find(e=>"tool-result"===e.type&&e.toolCallId===n.toolCallId);await (0,x.saveTurns)(t,[{id:n.toolCallId,role:"tool",tool:n.toolName,text:n.toolName===g.TOOL_NAMES.web_search?function(e,t){let r=t??{},n=[(e??{}).query,r.action?.query].find(e=>"string"==typeof e&&!!e.trim()),a=Array.isArray(r.sources)?r.sources.flatMap(e=>e&&"object"==typeof e&&"url"in e&&"string"==typeof e.url?[{url:e.url,..."title"in e&&"string"==typeof e.title?{title:e.title}:{}}]:[]):[];return JSON.stringify({query:n??null,sources:a})}(n.input,a?.type==="tool-result"?a.output:null):JSON.stringify(n.input??{}),seq:r++}])}else"text"===n.type&&n.text.trim()?await (0,x.saveTurns)(t,[{id:crypto.randomUUID(),role:"assistant",text:n.text.trim(),seq:r++}]):"reasoning"===n.type&&n.text.trim()&&await (0,x.saveThought)(t,{id:crypto.randomUUID(),text:n.text.trim(),seq:r})},said:(e,n=crypto.randomUUID())=>(0,x.saveTurns)(t,[{id:n,role:"user",text:e,seq:r++}])}),f=q(s),m=l.at(-1),y=e.pictures?.length&&m?.role==="user"&&"string"==typeof m.content?[...l.slice(0,-1),{role:"user",content:B(m.content,e.pictures)}]:l,b=[...f,...y],w=0,_=async t=>(0,a.generateText)({model:t.model,instructions:t.system,messages:await D(U(b),t.ref),allowSystemInMessages:!0,tools:t.tools,providerOptions:t.providerOptions,stopWhen:(0,a.stepCountIs)(o.TEXT_CALL.maxSteps),abortSignal:u,prepareStep:async({stepNumber:r,messages:n})=>{let a=r>0?e.notes?.()??[]:[];for(let e of(b=[...n,...a.map(e=>({role:"user",content:B(e.text,e.pictures)}))],a))e.said&&await p.said(e.text);return a.length?{messages:await D(b,t.ref)}:void 0},onStepEnd:async e=>{w+=1,await p.step(e)}}),E=null;try{n=await _(d)}catch(t){let e=w?null:await T(d.ref,t);if(!e)throw await A(t);k.logger.info(`text call ${i}: ${e.line}`),E=e.line;try{n=await _(await I(i,e.ref,!0))}catch(e){throw await A(e)}}return{text:n.text.trim(),did:n.steps.flatMap(e=>e.toolCalls.map(e=>(0,v.toolLine)(e.toolName,JSON.stringify(e.input??{}))??e.toolName)),messages:U([...b.slice(f.length),...n.steps.at(-1)?.response.messages??[]]),moved:E}}let q=e=>e?[{role:"system",content:e}]:[];async function I(e,t,r=!1,n){let a=await (0,x.readLiveSettings)(),i=await O(a,t),s="openai"===i.provider||"chatgpt"===i.provider,[o,d,h,f,b]=await Promise.all([(0,u.getTextModel)(i),(0,p.loadThursdayPrompt)({backendPrompt:a.backendPrompt,written:!0,callId:e,phone:r,persona:a.persona,stylePrompt:a.stylePrompt,readSkills:a.readSkills,where:n}),(0,c.loadTools)({target:"thursday",callId:e,webSearch:a.webSearch,readSkills:a.readSkills,written:!0,model:i,phone:r}),(0,y.readConfig)(m.EXA_API_KEY),(0,y.readConfig)(l.LIVE_PROVIDER.apiKeyName)]),k=o.searchTools&&Object.values(o.searchTools)[0],_={...h,...a.webSearch&&!f&&k?{[g.TOOL_NAMES.web_search]:k}:{}},E=s?b?await (0,w.acceptedReasoning)({apiKey:b,model:i.model,effort:a.reasoningEffort}):(0,w.wantedReasoning)(a.reasoningEffort):null;return{ref:i,model:o.model,system:d,tools:_,providerOptions:{openai:{...E?.effort?{reasoningEffort:E.effort}:{},...E&&"summary"in E&&E.summary?{reasoningSummary:E.summary}:{}}}}}let H="Writing to Thursday needs a GPT subscription sign-in or an OpenAI key — Settings › API keys.";e.s(["answerInWriting",0,C,"openTextCall",0,P]),r()}catch(e){r(e)}},!1),317613,e=>e.a(async(t,r)=>{try{var n=e.i(874533);e.i(666680);var a=e.i(912714),i=e.i(750227),s=e.i(812057),o=e.i(333925),l=e.i(5509);e.i(375814);var c=e.i(871096),u=t([l]);async function d(e){let t=await (0,c.openWorkspace)(),r=new Set(await (0,a.readdir)((0,i.join)(c.WORKSPACE,o.GIVEN_FILES.dir)).catch(()=>[])),n=[];for(let a of e){let e=a.name.normalize("NFC").replace(/[^\p{L}\p{N}._-]+/gu,"-").replace(/^[-.]+|-+$/g,"")||"file",i=e.lastIndexOf("."),s=i>0?e.slice(0,i):e,l=i>0?e.slice(i):"",c=e;for(let e=2;r.has(c);e++)c=`${s}-${e}${l}`;r.add(c);let u=`${o.GIVEN_FILES.dir}/${c}`;await t.writeFile(u,Buffer.from(await a.arrayBuffer())),n.push(u)}return n}[l]=u.then?(await u)():u,(0,i.join)(o.APP_DIR,o.PATHS.skills.default,"artifact","scripts","spreadsheet.mjs"),(0,s.promisify)(n.execFile),e.s(["keepGivenFiles",0,d]),r()}catch(e){r(e)}},!1),417043,e=>{"use strict";var t=e.i(333925);async function r(e,r){if(null==e||!Number.isFinite(e))return!1;let n=Math.max(0,1e3*e);return!(r>=t.REACH.rateRetries)&&!(n>t.REACH.rateWaitMs)&&(await new Promise(e=>setTimeout(e,n)),!0)}e.s(["ChannelRefusal",0,class extends Error{token;constructor(e,t=0){super(e),this.token=t}},"waitOut",0,r])},775247,e=>{"use strict";function t(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var r=t(),n={exec:()=>null};function a(e,t=""){let r="string"==typeof e?e:e.source,n={replace:(e,t)=>{let a="string"==typeof t?t:t.source;return a=a.replace(s.caret,"$1"),r=r.replace(e,a),n},getRegex:()=>new RegExp(r,t)};return n}var i=(()=>{try{return!!RegExp("(?<=1)(?<!1)")}catch{return!1}})(),s={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},o=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,l=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,c=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,u=a(c).replace(/bull/g,l).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),d=a(c).replace(/bull/g,l).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),h=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,p=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,f=a(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",p).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),g=a(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,l).getRegex(),m="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",y=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,b=a("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",y).replace("tag",m).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),w=a(h).replace("hr",o).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex(),k={blockquote:a(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",w).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:f,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:o,html:b,lheading:u,list:g,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:w,table:n,text:/^[^\n]+/},_=a("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",o).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex(),E={...k,lheading:d,table:_,paragraph:a(h).replace("hr",o).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",_).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex()},x={...k,html:a("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",y).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:n,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:a(h).replace("hr",o).replace("heading",` *#{1,6} *[^
70
+ ]`).replace("lheading",u).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},R=/^( {2,}|\\)\n(?!\s*$)/,v=/[\p{P}\p{S}]/u,S=/[\s\p{P}\p{S}]/u,$=/[^\s\p{P}\p{S}]/u,O=a(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,S).getRegex(),T=/(?!~)[\p{P}\p{S}]/u,A=a(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",i?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),P=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,j=a(P,"u").replace(/punct/g,v).getRegex(),D=a(P,"u").replace(/punct/g,T).getRegex(),C="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",I=a(C,"gu").replace(/notPunctSpace/g,$).replace(/punctSpace/g,S).replace(/punct/g,v).getRegex(),N=a(C,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,T).getRegex(),M=a("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,$).replace(/punctSpace/g,S).replace(/punct/g,v).getRegex(),L=a(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,v).getRegex(),B=a("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,$).replace(/punctSpace/g,S).replace(/punct/g,v).getRegex(),z=a(/\\(punct)/,"gu").replace(/punct/g,v).getRegex(),U=a(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),q=a(y).replace("(?:-->|$)","-->").getRegex(),H=a("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",q).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),W=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,F=a(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",W).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),X=a(/^!?\[(label)\]\[(ref)\]/).replace("label",W).replace("ref",p).getRegex(),V=a(/^!?\[(ref)\](?:\[\])?/).replace("ref",p).getRegex(),G=a("reflink|nolink(?!\\()","g").replace("reflink",X).replace("nolink",V).getRegex(),K=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Y={_backpedal:n,anyPunctuation:z,autolink:U,blockSkip:A,br:R,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:n,delLDelim:n,delRDelim:n,emStrongLDelim:j,emStrongRDelimAst:I,emStrongRDelimUnd:M,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:F,nolink:V,punctuation:O,reflink:X,reflinkSearch:G,tag:H,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:n},Z={...Y,link:a(/^!?\[(label)\]\((.*?)\)/).replace("label",W).getRegex(),reflink:a(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",W).getRegex()},J={...Y,emStrongRDelimAst:N,emStrongLDelim:D,delLDelim:L,delRDelim:B,url:a(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",K).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:a(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",K).getRegex()},Q={...J,br:a(R).replace("{2,}","*").getRegex(),text:a(J.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ee={normal:k,gfm:E,pedantic:x},et={normal:Y,gfm:J,breaks:Q,pedantic:Z},er={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},en=e=>er[e];function ea(e,t){if(t){if(s.escapeTest.test(e))return e.replace(s.escapeReplace,en)}else if(s.escapeTestNoEncode.test(e))return e.replace(s.escapeReplaceNoEncode,en);return e}function ei(e){try{e=encodeURI(e).replace(s.percentDecode,"%")}catch{return null}return e}function es(e,t){let r=e.replace(s.findPipe,(e,t,r)=>{let n=!1,a=t;for(;--a>=0&&"\\"===r[a];)n=!n;return n?"|":" |"}).split(s.splitPipe),n=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;n<r.length;n++)r[n]=r[n].trim().replace(s.slashPipe,"|");return r}function eo(e,t,r){let n=e.length;if(0===n)return"";let a=0;for(;a<n;){let i=e.charAt(n-a-1);if(i!==t||r)if(i!==t&&r)a++;else break;else a++}return e.slice(0,n-a)}function el(e,t,r,n,a){let i=t.href,s=t.title||null,o=e[1].replace(a.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:"!"===e[0].charAt(0)?"image":"link",raw:r,href:i,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}var ec=class{options;rules;lexer;constructor(e){this.options=e||r}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:eo(e,`
71
71
  `)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],r=function(e,t,r){let n=e.match(r.other.indentCodeCompensation);if(null===n)return t;let a=n[1];return t.split(`
72
72
  `).map(e=>{let t=e.match(r.other.beginningSpace);if(null===t)return e;let[n]=t;return n.length>=a.length?e.slice(a.length):e}).join(`
73
73
  `)}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=eo(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:eo(t[0],`
@@ -132,7 +132,7 @@ ${eR(t,r)}
132
132
 
133
133
  ${e}`;return}i&&a.push(i),i=e};for(let e of n){let n="code"===e.kind?eE(e.lang,e.body,t):e.drawn;if(n.length<=r)s(n);else if("code"===e.kind)for(let n of function(e,t,r,n){let a=n-eE(e,"",r).length,i=t.split("\n").flatMap(e=>e.length>a?ey(e,a):[e]),s=[],o=[];for(let t of i)o.length&&eE(e,[...o,t].join("\n"),r).length>n&&(s.push(eE(e,o.join("\n"),r)),o=[]),o.push(t);return o.length&&s.push(eE(e,o.join("\n"),r)),s}(e.lang,e.body,t,r))s(n);else for(let n of function e(t,r,n){return ey(t,n).flatMap(t=>{let a=eR(t,r);return a.length<=n||t.length<2?[a]:e(t,r,Math.floor(n*t.length/a.length))})}(e.words,t,r))s(n)}return i&&a.push(i),a.length?a:[eR("…",t)]},"literal",0,e=>e.replace(/[\\`*_{}[\]()#+\-.!|~<>]/g,"\\$&")],775247)},903438,e=>{"use strict";e.s(["runSocket",0,function(e,t,r){return new Promise((n,a)=>{let i=new WebSocket(e),s=e=>{i.readyState===WebSocket.OPEN&&i.send(JSON.stringify(e))},o=!1,l=e=>{o||(o=!0,r.removeEventListener("abort",u),n(e))},c=(e,t)=>{l({code:e,reason:t}),i.close(e,t)},u=()=>c(1e3,"");r.addEventListener("abort",u,{once:!0}),i.addEventListener("message",e=>{try{t.message(JSON.parse(String(e.data)),s,c)}catch{}}),i.addEventListener("error",()=>{i.readyState===WebSocket.OPEN||o||(o=!0,r.removeEventListener("abort",u),a(Error(`Could not connect to ${new URL(e).host}`)))}),i.addEventListener("close",e=>l({code:e.code,reason:e.reason}))})}])},854455,e=>{"use strict";var t=e.i(417043),r=e.i(775247),n=e.i(903438);let a="https://discord.com/api/v10",i={4004:"Discord did not take the bot token: it was reset or mistyped. Reset it on the application's Bot page and paste the new one here.",4013:"Discord refused the intents this bot asked for.",4014:"Discord refused an intent this bot is not allowed — check the bot's page."};e.s(["createDiscord",0,function(e){async function s(r,n,i){let s=i instanceof FormData;for(let o=0;;o++){let l=await fetch(`${a}${n}`,{method:r,headers:{authorization:`Bot ${e}`,...s||!i?{}:{"content-type":"application/json"}},body:s?i:i?JSON.stringify(i):void 0}).catch(e=>{throw Error(`Could not reach ${new URL(a).host}`,{cause:e})});if(l.ok)return 204===l.status?null:await l.json();let c=await l.json().catch(()=>null);if(429===l.status&&await (0,t.waitOut)(c?.retry_after,o))continue;let u=c?.message??`Discord answered ${l.status}`;throw 401===l.status?new t.ChannelRefusal(u):Error(u)}}let o=e=>{let t=e.length<=5?1:5,r=[];for(let n=0;n<e.length&&r.length<5;n+=t)r.push({type:1,components:e.slice(n,n+t).map(e=>({type:2,style:2,label:e.text.slice(0,80),custom_id:e.data}))});return r};return{limits:{take:1/0,file:0x1400000,picture:0x1400000},async listen(r,a){let o,l=null,c=!0;try{let u=await (0,n.runSocket)("wss://gateway.discord.gg/?v=10&encoding=json",{message(t,n,a){let{op:i,d:u,s:d,t:h}=t;if(null!==d&&(l=d),10===i){let t=u.heartbeat_interval;o=setInterval(()=>{if(!c)return a(4e3,"Discord stopped answering");c=!1,n({op:1,d:l})},t),n({op:2,d:{token:e,intents:4096,properties:{os:process.platform,browser:"thursday",device:"thursday"}}})}else if(1===i)n({op:1,d:l});else if(11===i)c=!0;else if(7===i||9===i)a(4e3,"Discord asked for a new connection");else if(0===i&&"READY"===h){let e;r.ready(u.user.username,(e=u.application?.id)?`https://discord.com/oauth2/authorize?client_id=${e}&scope=bot&permissions=0`:null,u.user.id)}else if(0===i&&h){var p,f;let e=(p=h,f=u,"MESSAGE_CREATE"===p?f.guild_id||f.author.bot?null:{kind:"message",chat:f.channel_id,name:f.author.global_name||f.author.username,handle:`@${f.author.username}`,words:f.content.trim(),files:(f.attachments??[]).map(e=>({name:e.filename,size:e.size,fetch:async()=>{let t=await fetch(e.url);if(!t.ok)throw Error(`Discord answered ${t.status} for the file`);return new File([await t.arrayBuffer()],e.filename,{type:e.content_type??""})}})),unreadable:!1}:"INTERACTION_CREATE"===p?3!==f.type||f.guild_id?null:(s("POST",`/interactions/${f.id}/${f.token}/callback`,{type:6}).catch(()=>{}),{kind:"press",chat:f.channel_id,data:f.data?.custom_id??"",under:f.message?{id:f.message.id,text:f.message.content}:null}):null);e&&r.incoming(e)}}},a),d=i[u.code];if(d)throw new t.ChannelRefusal(d);if(!a.aborted)throw Error(u.reason||`Discord closed the connection (${u.code})`)}finally{clearInterval(o)}},async say(e,t,n){let a=(0,r.chatPieces)(t,"discord",1900);for(let[t,r]of a.entries())await s("POST",`/channels/${e}/messages`,{content:r,flags:4,allowed_mentions:{parse:[]},...n?.length&&t===a.length-1?{components:o(n)}:{}})},async typing(e){await s("POST",`/channels/${e}/typing`).catch(()=>{})},async settle(e,t,n){let a=`
134
134
 
135
- → ${(0,r.chatPieces)({plain:n},"discord",1900)[0]}`;await s("PATCH",`/channels/${e}/messages/${t.id}`,{content:`${t.text.slice(0,1900-a.length)}${a}`,components:[]}).catch(()=>{})},async sendFiles(e,t){for(let r=0;r<t.length;r+=10){let n=t.slice(r,r+10),a=new FormData;for(let[e,t]of(a.set("payload_json",JSON.stringify({attachments:n.map((e,t)=>({id:t,filename:e.name}))})),n.entries()))a.set(`files[${e}]`,new Blob([t.bytes]),t.name);await s("POST",`/channels/${e}/messages`,a)}}}}])},426455,e=>{"use strict";var t=e.i(853205),r=e.i(333925),n=e.i(938281);e.i(556325),t.z.object({session:t.z.object({id:t.z.string().min(1)}),transport:t.z.object({type:t.z.literal("webrtc"),sdp:t.z.string().min(1)})});let a=new Map;function i(e){return"none"===e?{effort:e}:{...e?{effort:e}:{},summary:"auto"}}async function s(e){let{apiKey:t,model:s,effort:o}=e,l=`${s} ${o??"auto"}`,c=a.get(l);if(void 0!==c)return c;let u=i(o);for(;;){let e=await fetch("https://api.openai.com/v1/responses/input_tokens",{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(r.LIVE_CALL.reasoningCheckMs),body:JSON.stringify({model:s,input:".",reasoning:u})}).catch(()=>null);if(!e)return u;let i=Object.keys(u).length?u:null;if(e.ok)return a.set(l,i),i;let o=await e.json().catch(()=>null),c=o?.error?.param?.replace(/^reasoning\./,"");if("effort"!==c&&"summary"!==c||!(c in u))return u;if(n.logger.warn(`${s} takes no reasoning ${c}; calls omit it`),delete u[c],!Object.keys(u).length)return a.set(l,null),null}}e.s(["acceptedReasoning",0,s,"wantedReasoning",0,i])},461067,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return a}});class n extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class a extends URLSearchParams{append(){throw new n}delete(){throw new n}set(){throw new n}sort(){throw new n}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},574542,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return a}});var n,a=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},4166,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={REDIRECT_ERROR_CODE:function(){return s},isRedirectError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(574542),s="NEXT_REDIRECT";function o(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,a=t.slice(2,-2).join(";"),o=Number(t.at(-2));return r===s&&("replace"===n||"push"===n)&&"string"==typeof a&&!isNaN(o)&&o in i.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},845135,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={actionAsyncStorage:function(){return i.actionAsyncStorage},workAsyncStorage:function(){return s.workAsyncStorage},workUnitAsyncStorage:function(){return o.workUnitAsyncStorage}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(120635),s=e.r(556704),o=e.r(832319);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},543212,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return l},getRedirectStatusCodeFromError:function(){return p},getRedirectTypeFromError:function(){return h},getURLFromRedirectError:function(){return d},permanentRedirect:function(){return u},redirect:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(574542),s=e.r(4166),o=e.r(845135);function l(e,t,r=i.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(s.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${s.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function c(e,t){throw l(e,t??=o.actionAsyncStorage?.getStore()?.isAction?"push":"replace",i.RedirectStatusCode.TemporaryRedirect)}function u(e,t="replace"){throw l(e,t,i.RedirectStatusCode.PermanentRedirect)}function d(e){return(0,s.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function h(e){if(!(0,s.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function p(e){if(!(0,s.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},33394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return i},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return u},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},s=new Set(Object.values(i)),o="NEXT_HTTP_ERROR_FALLBACK";function l(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&s.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function u(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},944760,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return i}});let n=e.r(33394),a=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function i(){let e=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=a,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825345,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},452616,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},585346,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},900338,(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createPromiseWithResolvers",{enumerable:!0,get:function(){return n}})},865832,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,i={RENDER_STAGE_ADVANCE_ORDER:function(){return u},RenderStage:function(){return c},StagedRenderingController:function(){return f},SyncIOMode:function(){return p},getNextStage:function(){return d},isAdvanceableRenderStage:function(){return h}};for(var s in i)Object.defineProperty(r,s,{enumerable:!0,get:i[s]});let o=e.r(585346),l=e.r(900338);var c=((n={})[n.Before=1]="Before",n[n.ShellStatic=11]="ShellStatic",n[n.Static=13]="Static",n[n.ShellRuntime=21]="ShellRuntime",n[n.Runtime=23]="Runtime",n[n.Dynamic=30]="Dynamic",n[n.Abandoned=40]="Abandoned",n);let u=[11,13,21,23,30];function d(e){return u[u.indexOf(e)+1]}function h(e){return 1<e&&e<=30}var p=((a={})[a.Untracked=1]="Untracked",a[a.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",a[a.AllowedInDynamic=3]="AllowedInDynamic",a);class f{constructor({abortSignal:e,abandonController:t,syncIO:r,finalStage:n}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:m(),13:m(),21:m(),23:m(),30:m()},this.abortSignal=e,this.abandonController=t,this.syncIOMode=r,this.finalStage=n,e&&e.addEventListener("abort",()=>{let{reason:t}=e;for(let e of Object.values(this.triggers)){var r,n;r=e,n=t,"pending"===r.state&&(r.state="cancelled",r._listeners.length=0,r.promise.catch(g),r._rejectPromise(n))}},{once:!0}),t&&t.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(e,t){var r,n;r=this.triggers[e],n=t,"pending"===r.state?r._listeners.push(n):n()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(e){let{currentStage:t}=this;if(1!==t&&30!==t&&40!==t){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=e,this.currentStage=40;return}this.syncInterruptReason=e,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(e){return this.triggers[d(e)].triggeredAt??1/0}abandonRender(){let{currentStage:e}=this;if(1===e)throw Object.defineProperty(new o.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===e||40===e)return;let t=u.indexOf(e)+1,r=u.indexOf(30);for(let e=t;e<r;e++)this.resolveStage(u[e]);this.currentStage=40}advanceStage(e){if(null!==this.finalStage&&e>this.finalStage)throw Object.defineProperty(new o.InvariantError(`Attempted to advance to stage ${c[e]} but the render is limited to ${c[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:t}=this;if(30===t||40===t||e<=t)return;this.currentStage=e;let r=1===t?0:u.indexOf(t)+1,n=u.indexOf(e);for(let e=r;e<=n;e++)this.resolveStage(u[e])}resolveStage(e){var t=this.triggers[e];if("pending"===t.state){t.state="triggered",t.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:e}=t;for(let t=0;t<e.length;t++)e[t]();e.length=0}finally{t._resolvePromise()}}}getStagePromise(e){return this.triggers[e].promise}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){let n=this.getStagePromise(e).then(()=>r);return this.abortSignal&&n.catch(g),n}}function g(){}function m(){let{promise:e,resolve:t,reject:r}=(0,l.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:e,_listeners:[],_resolvePromise:t,_rejectPromise:r}}},756725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ClientHookDynamicError:function(){return u},RENDER_STAGES_BY_DATA_KIND:function(){return S},applyOwnerStack:function(){return O},isClientHookDynamicError:function(){return d},isHangingPromiseRejectionError:function(){return s},makeClientHookHangingPromise:function(){return _},makeDevtoolsIOAwarePromise:function(){return v},makeDynamicHangingPromise:function(){return p},makeFallbackParamsHangingPromise:function(){return m},makePromiseFromTrigger:function(){return R},makeRuntimeHangingPromise:function(){return g},makeStageHangingPromise:function(){return y},makeUntrackedHangingPromise:function(){return f},trackFallbackParamsAccessed:function(){return w},trackRuntimeDataAccessed:function(){return b}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(865832);function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===o}e.r(832319),e.r(559043);let o="HANGING_PROMISE_REJECTION";class l extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest=o}}let c="CLIENT_HOOK_DYNAMIC";class u extends Error{constructor(e,t){super(`Route "${e}": Next.js encountered URL data \`${t}\` in a Client Component outside of \`<Suspense>\`.
135
+ → ${(0,r.chatPieces)({plain:n},"discord",1900)[0]}`;await s("PATCH",`/channels/${e}/messages/${t.id}`,{content:`${t.text.slice(0,1900-a.length)}${a}`,components:[]}).catch(()=>{})},async sendFiles(e,t){for(let r=0;r<t.length;r+=10){let n=t.slice(r,r+10),a=new FormData;for(let[e,t]of(a.set("payload_json",JSON.stringify({attachments:n.map((e,t)=>({id:t,filename:e.name}))})),n.entries()))a.set(`files[${e}]`,new Blob([t.bytes]),t.name);await s("POST",`/channels/${e}/messages`,a)}}}}])},426455,e=>{"use strict";var t=e.i(853205),r=e.i(333925),n=e.i(938281);e.i(556325),t.z.object({session:t.z.object({id:t.z.string().min(1)}),transport:t.z.object({type:t.z.literal("webrtc"),sdp:t.z.string().min(1)})});let a=new Map;function i(e){return"none"===e?{effort:e}:{...e?{effort:e}:{},summary:"auto"}}async function s(e){let{apiKey:t,model:s,effort:o}=e,l=`${s} ${o??"auto"}`,c=a.get(l);if(void 0!==c)return c;let u=i(o);for(;;){let e=await fetch("https://api.openai.com/v1/responses/input_tokens",{method:"POST",headers:{Authorization:`Bearer ${t}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(r.LIVE_CALL.reasoningCheckMs),body:JSON.stringify({model:s,input:".",reasoning:u})}).catch(()=>null);if(!e)return u;let i=Object.keys(u).length?u:null;if(e.ok)return a.set(l,i),i;let o=await e.json().catch(()=>null),c=o?.error?.param?.replace(/^reasoning\./,"");if("effort"!==c&&"summary"!==c||!(c in u))return u;if(n.logger.warn(`${s} takes no reasoning ${c}; calls omit it`),delete u[c],!Object.keys(u).length)return a.set(l,null),null}}e.s(["acceptedReasoning",0,s,"wantedReasoning",0,i])},461067,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return a}});class n extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1174",enumerable:!1,configurable:!0})}}class a extends URLSearchParams{append(){throw new n}delete(){throw new n}set(){throw new n}sort(){throw new n}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},574542,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return a}});var n,a=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},4166,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={REDIRECT_ERROR_CODE:function(){return s},isRedirectError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(574542),s="NEXT_REDIRECT";function o(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,a=t.slice(2,-2).join(";"),o=Number(t.at(-2));return r===s&&("replace"===n||"push"===n)&&"string"==typeof a&&!isNaN(o)&&o in i.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},845135,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={actionAsyncStorage:function(){return i.actionAsyncStorage},workAsyncStorage:function(){return s.workAsyncStorage},workUnitAsyncStorage:function(){return o.workUnitAsyncStorage}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(120635),s=e.r(556704),o=e.r(832319);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},543212,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return l},getRedirectStatusCodeFromError:function(){return p},getRedirectTypeFromError:function(){return h},getURLFromRedirectError:function(){return d},permanentRedirect:function(){return u},redirect:function(){return c}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(574542),s=e.r(4166),o=e.r(845135);function l(e,t,r=i.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(s.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${s.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function c(e,t){throw l(e,t??=o.actionAsyncStorage?.getStore()?.isAction?"push":"replace",i.RedirectStatusCode.TemporaryRedirect)}function u(e,t="replace"){throw l(e,t,i.RedirectStatusCode.PermanentRedirect)}function d(e){return(0,s.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function h(e){if(!(0,s.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function p(e){if(!(0,s.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},33394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTTPAccessErrorStatus:function(){return i},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return u},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},s=new Set(Object.values(i)),o="NEXT_HTTP_ERROR_FALLBACK";function l(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&s.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function u(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},944760,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return i}});let n=e.r(33394),a=`${n.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function i(){let e=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E1041",enumerable:!1,configurable:!0});throw e.digest=a,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825345,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},452616,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(33394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},585346,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super(`Invariant: ${e.endsWith(".")?e:e+"."} This is a bug in Next.js.`,t),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1179",enumerable:!1,configurable:!0}),this.name="InvariantError"}}},900338,(e,t,r)=>{"use strict";function n(){let e,t,r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createPromiseWithResolvers",{enumerable:!0,get:function(){return n}})},865832,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,i={RENDER_STAGE_ADVANCE_ORDER:function(){return u},RenderStage:function(){return c},StagedRenderingController:function(){return f},SyncIOMode:function(){return p},getNextStage:function(){return d},isAdvanceableRenderStage:function(){return h}};for(var s in i)Object.defineProperty(r,s,{enumerable:!0,get:i[s]});let o=e.r(585346),l=e.r(900338);var c=((n={})[n.Before=1]="Before",n[n.ShellStatic=11]="ShellStatic",n[n.Static=13]="Static",n[n.ShellRuntime=21]="ShellRuntime",n[n.Runtime=23]="Runtime",n[n.Dynamic=30]="Dynamic",n[n.Abandoned=40]="Abandoned",n);let u=[11,13,21,23,30];function d(e){return u[u.indexOf(e)+1]}function h(e){return 1<e&&e<=30}var p=((a={})[a.Untracked=1]="Untracked",a[a.AllowedInRuntimeOrDynamic=2]="AllowedInRuntimeOrDynamic",a[a.AllowedInDynamic=3]="AllowedInDynamic",a);class f{constructor({abortSignal:e,abandonController:t,syncIO:r,finalStage:n}){this.currentStage=1,this.syncInterruptReason=null,this.triggers={11:m(),13:m(),21:m(),23:m(),30:m()},this.abortSignal=e,this.abandonController=t,this.syncIOMode=r,this.finalStage=n,e&&e.addEventListener("abort",()=>{let{reason:t}=e;for(let e of Object.values(this.triggers)){var r,n;r=e,n=t,"pending"===r.state&&(r.state="cancelled",r._listeners.length=0,r.promise.catch(g),r._rejectPromise(n))}},{once:!0}),t&&t.signal.addEventListener("abort",()=>{this.abandonRender()},{once:!0})}onStage(e,t){var r,n;r=this.triggers[e],n=t,"pending"===r.state?r._listeners.push(n):n()}shouldTrackSyncInterrupt(){if(1===this.syncIOMode)return!1;switch(this.currentStage){case 1:return!1;case 11:case 13:return!0;case 21:case 23:switch(this.syncIOMode){case 2:return!1;case 3:return!0}case 30:case 40:return!1;default:return this.currentStage,!1}}syncInterruptCurrentStageWithReason(e){let{currentStage:t}=this;if(1!==t&&30!==t&&40!==t){if(this.abandonController)return void this.abandonController.abort();if(this.abortSignal){this.syncInterruptReason=e,this.currentStage=40;return}this.syncInterruptReason=e,this.advanceStage(30)}}getSyncInterruptReason(){return this.syncInterruptReason}getStageEndTime(e){return this.triggers[d(e)].triggeredAt??1/0}abandonRender(){let{currentStage:e}=this;if(1===e)throw Object.defineProperty(new o.InvariantError("A render that hasn't started yet cannot be abandoned"),"__NEXT_ERROR_CODE",{value:"E1300",enumerable:!1,configurable:!0});if(30===e||40===e)return;let t=u.indexOf(e)+1,r=u.indexOf(30);for(let e=t;e<r;e++)this.resolveStage(u[e]);this.currentStage=40}advanceStage(e){if(null!==this.finalStage&&e>this.finalStage)throw Object.defineProperty(new o.InvariantError(`Attempted to advance to stage ${c[e]} but the render is limited to ${c[this.finalStage]}`),"__NEXT_ERROR_CODE",{value:"E1302",enumerable:!1,configurable:!0});let{currentStage:t}=this;if(30===t||40===t||e<=t)return;this.currentStage=e;let r=1===t?0:u.indexOf(t)+1,n=u.indexOf(e);for(let e=r;e<=n;e++)this.resolveStage(u[e])}resolveStage(e){var t=this.triggers[e];if("pending"===t.state){t.state="triggered",t.triggeredAt=performance.now()+performance.timeOrigin;try{let{_listeners:e}=t;for(let t=0;t<e.length;t++)e[t]();e.length=0}finally{t._resolvePromise()}}}getStagePromise(e){return this.triggers[e].promise}waitForStage(e){return this.getStagePromise(e)}delayUntilStage(e,t,r){let n=this.getStagePromise(e).then(()=>r);return this.abortSignal&&n.catch(g),n}}function g(){}function m(){let{promise:e,resolve:t,reject:r}=(0,l.createPromiseWithResolvers)();return{state:"pending",triggeredAt:null,promise:e,_listeners:[],_resolvePromise:t,_rejectPromise:r}}},756725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ClientHookDynamicError:function(){return u},RENDER_STAGES_BY_DATA_KIND:function(){return S},applyOwnerStack:function(){return $},isClientHookDynamicError:function(){return d},isHangingPromiseRejectionError:function(){return s},makeClientHookHangingPromise:function(){return _},makeDevtoolsIOAwarePromise:function(){return v},makeDynamicHangingPromise:function(){return p},makeFallbackParamsHangingPromise:function(){return m},makePromiseFromTrigger:function(){return R},makeRuntimeHangingPromise:function(){return g},makeStageHangingPromise:function(){return y},makeUntrackedHangingPromise:function(){return f},trackFallbackParamsAccessed:function(){return w},trackRuntimeDataAccessed:function(){return b}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(865832);function s(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===o}e.r(832319),e.r(559043);let o="HANGING_PROMISE_REJECTION";class l extends Error{constructor(e,t){super(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${e}".`),this.route=e,this.expression=t,this.digest=o}}let c="CLIENT_HOOK_DYNAMIC";class u extends Error{constructor(e,t){super(`Route "${e}": Next.js encountered URL data \`${t}\` in a Client Component outside of \`<Suspense>\`.
136
136
 
137
137
  This blocks prerendering because the value is only available at runtime.
138
138
 
@@ -140,7 +140,7 @@ Ways to fix this:
140
140
  - [stream] Wrap the component in \`<Suspense fallback={...}>\` so the hook value streams in after prerendering
141
141
  - [block] Set \`export const instant = false\` to allow a blocking route
142
142
 
143
- Learn more: https://nextjs.org/docs/messages/blocking-prerender-client-hook`),this.digest=c,Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1433",enumerable:!1,configurable:!0})}}function d(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===c}let h=new WeakMap;function p(e,t,r){return E(e,new l(t,r))}function f(e,t,r){return E(e,new l(t,r))}function g(e,t,r,n){return null!==n&&b(n),E(e,new l(t,r))}function m(e,t,r,n){return null!==n&&w(n),E(e,new l(t,r))}function y(e,t,r,n){return b(n),E(e,new l(t,r))}function b(e){k(e,!1)}function w(e){k(e,!0)}function k(e,t){if("prerender"===e.type){var r;null==(r=e.runtimeDataAccessed)||r.resolve(!0);let n=e.shouldAttemptStaticPrefetch;null===n||t&&e.isFallbackUpgradeable||(n.current=!1)}}function _(e,t){return E(e,t)}function E(e,t){if(e.aborted)return Promise.reject(t);{let r=new Promise((r,n)=>{let a=n.bind(null,t),i=h.get(e);if(i)i.push(a);else{let t=[a];h.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return r.catch(x),r}}function x(){}function R(e,t){let r=e.then(()=>t);return r.catch(x),r}function v(e,t,r){return t.stagedRendering?t.stagedRendering.delayUntilStage(r,void 0,e):new Promise(t=>{setTimeout(()=>{t(e)},0)})}let S={sessionData:i.RenderStage.ShellRuntime,staticLinkData:i.RenderStage.Static,runtimeLinkData:i.RenderStage.Runtime};function O(e){return e}},24380,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isPostpone",{enumerable:!0,get:function(){return a}});let n=Symbol.for("react.postpone");function a(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}},107703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return s},isBailoutToCSRError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="BAILOUT_TO_CLIENT_SIDE_RENDERING";class s extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=i}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===i}},555134,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return i}});let n=e.r(33394),a=e.r(4166);function i(e){return(0,a.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},307450,(e,t,r)=>{"use strict";t.exports=e.r(918622)},910931,(e,t,r)=>{"use strict";t.exports=e.r(307450).vendored["react-rsc"].React},243727,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DynamicServerError:function(){return s},isDynamicServerError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="DYNAMIC_SERVER_USAGE";class s extends Error{constructor(e){super(`Dynamic server usage: ${e}`),this.description=e,this.digest=i}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===i}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},183589,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={StaticGenBailoutError:function(){return s},isStaticGenBailoutError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="NEXT_STATIC_GEN_BAILOUT";class s extends Error{constructor(...e){super(...e),this.code=i}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===i}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},534103,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={METADATA_BOUNDARY_NAME:function(){return i},OUTLET_BOUNDARY_NAME:function(){return o},ROOT_LAYOUT_BOUNDARY_NAME:function(){return l},VIEWPORT_BOUNDARY_NAME:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="__next_metadata_boundary__",s="__next_viewport_boundary__",o="__next_outlet_boundary__",l="__next_root_layout_boundary__"},609975,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={atLeastOneTask:function(){return o},scheduleImmediate:function(){return s},scheduleOnNextTick:function(){return i},waitAtLeastOneReactRenderTask:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e=>{Promise.resolve().then(()=>{process.nextTick(e)})},s=e=>{setImmediate(e)};function o(){return new Promise(e=>s(e))}function l(){return new Promise(e=>setImmediate(e))}},811525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createDynamicBodyError:function(){return s},createDynamicBodyErrorInNavigation:function(){return c},createDynamicMetadataError:function(){return p},createDynamicOrRuntimeBodyError:function(){return u},createDynamicOrRuntimeMetadataError:function(){return b},createDynamicOrRuntimeViewportError:function(){return y},createDynamicViewportError:function(){return m},createLinkBodyErrorInNavigation:function(){return l},createLinkMetadataError:function(){return d},createLinkViewportError:function(){return f},createRuntimeBodyError:function(){return i},createRuntimeBodyErrorInNavigation:function(){return o},createRuntimeMetadataError:function(){return h},createRuntimeViewportError:function(){return g},logBuildDebugHint:function(){return w}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function i(e){return Object.defineProperty(Error(`Route "${e}": Next.js encountered runtime data during prerendering.
143
+ Learn more: https://nextjs.org/docs/messages/blocking-prerender-client-hook`),this.digest=c,Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1433",enumerable:!1,configurable:!0})}}function d(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===c}let h=new WeakMap;function p(e,t,r){return E(e,new l(t,r))}function f(e,t,r){return E(e,new l(t,r))}function g(e,t,r,n){return null!==n&&b(n),E(e,new l(t,r))}function m(e,t,r,n){return null!==n&&w(n),E(e,new l(t,r))}function y(e,t,r,n){return b(n),E(e,new l(t,r))}function b(e){k(e,!1)}function w(e){k(e,!0)}function k(e,t){if("prerender"===e.type){var r;null==(r=e.runtimeDataAccessed)||r.resolve(!0);let n=e.shouldAttemptStaticPrefetch;null===n||t&&e.isFallbackUpgradeable||(n.current=!1)}}function _(e,t){return E(e,t)}function E(e,t){if(e.aborted)return Promise.reject(t);{let r=new Promise((r,n)=>{let a=n.bind(null,t),i=h.get(e);if(i)i.push(a);else{let t=[a];h.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return r.catch(x),r}}function x(){}function R(e,t){let r=e.then(()=>t);return r.catch(x),r}function v(e,t,r){return t.stagedRendering?t.stagedRendering.delayUntilStage(r,void 0,e):new Promise(t=>{setTimeout(()=>{t(e)},0)})}let S={sessionData:i.RenderStage.ShellRuntime,staticLinkData:i.RenderStage.Static,runtimeLinkData:i.RenderStage.Runtime};function $(e){return e}},24380,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isPostpone",{enumerable:!0,get:function(){return a}});let n=Symbol.for("react.postpone");function a(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}},107703,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={BailoutToCSRError:function(){return s},isBailoutToCSRError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="BAILOUT_TO_CLIENT_SIDE_RENDERING";class s extends Error{constructor(e){super(`Bail out to client-side rendering: ${e}`),this.reason=e,this.digest=i}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===i}},555134,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return i}});let n=e.r(33394),a=e.r(4166);function i(e){return(0,a.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},307450,(e,t,r)=>{"use strict";t.exports=e.r(918622)},910931,(e,t,r)=>{"use strict";t.exports=e.r(307450).vendored["react-rsc"].React},243727,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DynamicServerError:function(){return s},isDynamicServerError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="DYNAMIC_SERVER_USAGE";class s extends Error{constructor(e){super(`Dynamic server usage: ${e}`),this.description=e,this.digest=i}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===i}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},183589,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={StaticGenBailoutError:function(){return s},isStaticGenBailoutError:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="NEXT_STATIC_GEN_BAILOUT";class s extends Error{constructor(...e){super(...e),this.code=i}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===i}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},534103,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={METADATA_BOUNDARY_NAME:function(){return i},OUTLET_BOUNDARY_NAME:function(){return o},ROOT_LAYOUT_BOUNDARY_NAME:function(){return l},VIEWPORT_BOUNDARY_NAME:function(){return s}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i="__next_metadata_boundary__",s="__next_viewport_boundary__",o="__next_outlet_boundary__",l="__next_root_layout_boundary__"},609975,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={atLeastOneTask:function(){return o},scheduleImmediate:function(){return s},scheduleOnNextTick:function(){return i},waitAtLeastOneReactRenderTask:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e=>{Promise.resolve().then(()=>{process.nextTick(e)})},s=e=>{setImmediate(e)};function o(){return new Promise(e=>s(e))}function l(){return new Promise(e=>setImmediate(e))}},811525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createDynamicBodyError:function(){return s},createDynamicBodyErrorInNavigation:function(){return c},createDynamicMetadataError:function(){return p},createDynamicOrRuntimeBodyError:function(){return u},createDynamicOrRuntimeMetadataError:function(){return b},createDynamicOrRuntimeViewportError:function(){return y},createDynamicViewportError:function(){return m},createLinkBodyErrorInNavigation:function(){return l},createLinkMetadataError:function(){return d},createLinkViewportError:function(){return f},createRuntimeBodyError:function(){return i},createRuntimeBodyErrorInNavigation:function(){return o},createRuntimeMetadataError:function(){return h},createRuntimeViewportError:function(){return g},logBuildDebugHint:function(){return w}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function i(e){return Object.defineProperty(Error(`Route "${e}": Next.js encountered runtime data during prerendering.
144
144
 
145
145
  \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
146
146
 
@@ -279,7 +279,7 @@ Ways to fix this:
279
279
  - [disable] Remove \`prefetch={true}\` from the <Link> to use the default prefetch
280
280
  - [ignore] Set \`export const instant = false\` to opt the route out of instant-navigation validation
281
281
 
282
- Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},258200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,i,s={DynamicHoleKind:function(){return ei},Postpone:function(){return D},PreludeState:function(){return eh},abortAndThrowOnSynchronousRequestDataAccess:function(){return j},abortOnSynchronousPlatformIOAccess:function(){return P},accessedDynamicData:function(){return U},annotateDynamicAccess:function(){return V},consumeDynamicAccess:function(){return q},createDynamicTrackingState:function(){return x},createDynamicValidationState:function(){return R},createHangingInputAbortSignal:function(){return X},createInstantValidationState:function(){return es},createRenderInBrowserAbortSignal:function(){return W},formatDynamicAPIAccesses:function(){return H},getFirstDynamicReason:function(){return S},getNavigationDisallowedDynamicReasons:function(){return ey},getStaticShellDisallowedDynamicReasons:function(){return em},isDynamicPostpone:function(){return N},isPrerenderInterruptedError:function(){return z},logDisallowedDynamicError:function(){return ep},markCurrentScopeAsDynamic:function(){return O},postponeWithTracking:function(){return C},throwIfDisallowedDynamic:function(){return eg},throwIfSyncIOUsed:function(){return ef},throwToInterruptStaticGeneration:function(){return $},trackAllowedDynamicAccess:function(){return ea},trackDynamicDataInDynamicRender:function(){return T},trackDynamicHoleInNavigation:function(){return eo},trackDynamicHoleInRuntimeShell:function(){return ec},trackDynamicHoleInStaticShell:function(){return eu},trackThrownErrorInNavigation:function(){return el},useDynamicRouteParams:function(){return G},useDynamicSearchParams:function(){return K}};for(var o in s)Object.defineProperty(r,o,{enumerable:!0,get:s[o]});let l=(n=e.r(910931))&&n.__esModule?n:{default:n},c=e.r(243727),u=e.r(183589),d=e.r(832319),h=e.r(556704),p=e.r(756725),f=e.r(534103),g=e.r(609975),m=e.r(107703),y=e.r(811525),b=e.r(585346),w=e.r(100204),k=e.r(199776),_=e.r(47076),E="function"==typeof l.default.unstable_postpone;function x(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null,syncDynamicErrorWithStackPostMicrotask:!1}}function R(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function v(e){return e.syncDynamicErrorWithStackPostMicrotask?null:e.syncDynamicErrorWithStack}function S(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function O(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new u.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${r}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return C(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new c.DynamicServerError(`Route ${e.route} couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function $(e,t,r){let n=Object.defineProperty(new c.DynamicServerError(`Route ${t.route} couldn't be rendered statically because it used \`${e}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function T(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(e,t,r){let n=B(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`);r.controller.abort(n);let a=r.dynamicTracking;a&&a.dynamicAccesses.push({stack:a.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function P(e,t,r,n){let a=n.dynamicTracking;a&&null===a.syncDynamicErrorWithStack&&(a.syncDynamicErrorWithStack=r,queueMicrotask(()=>{a.syncDynamicErrorWithStackPostMicrotask=!0})),A(e,t,n)}function j(e,t,r,n){if((0,p.trackRuntimeDataAccessed)(n),!1===n.controller.signal.aborted){A(e,t,n);let a=n.dynamicTracking;a&&null===a.syncDynamicErrorWithStack&&(a.syncDynamicErrorWithStack=r)}throw B(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`)}function D({reason:e,route:t}){let r=d.workUnitAsyncStorage.getStore();C(t,e,r&&"prerender-ppr"===r.type?r.dynamicTracking:null)}function C(e,t,r){(function(){if(!E)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),l.default.unstable_postpone(I(e,t))}function I(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function N(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&M(e.message)}function M(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===M(I("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let L="NEXT_PRERENDER_INTERRUPTED";function B(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=L,t}function z(e){return"object"==typeof e&&null!==e&&e.digest===L&&"name"in e&&"message"in e&&e instanceof Error}function U(e){return e.length>0}function q(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function H(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" (<anonymous>)")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}:
283
- ${t}`))}function W(){let e=new AbortController;return e.abort(Object.defineProperty(new m.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function X(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,d.getStagedRenderingController)(e);r&&null!==r.finalStage?r.waitForStage(r.finalStage).then(()=>(0,g.scheduleOnNextTick)(()=>t.abort()),F):(0,g.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function F(){}function V(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function G(e){let t=h.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":{let n=r.fallbackRouteParams;n&&n.size>0&&l.default.use((0,p.makeClientHookHangingPromise)(r.renderSignal,new p.ClientHookDynamicError(t.route,e)));break}case"prerender":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return C(t.route,e,r.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called during a runtime prerender. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function K(e){let t=h.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t)switch(!r&&(0,d.throwForMissingRequestStore)(e),r.type){case"validation-client":case"request":return;case"prerender-client":l.default.use((0,p.makeClientHookHangingPromise)(r.renderSignal,new p.ClientHookDynamicError(t.route,e)));break;case"prerender-legacy":case"prerender-ppr":if(t.forceStatic)return;throw Object.defineProperty(new m.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let Y=/\n\s+at Suspense \(<anonymous>\)/,Z=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${f.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),J=RegExp(`\\n\\s+at ${f.METADATA_BOUNDARY_NAME}[\\n\\s]`),Q=RegExp(`\\n\\s+at ${f.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),ee=RegExp(`\\n\\s+at ${f.OUTLET_BOUNDARY_NAME}[\\n\\s]`),et=RegExp(`\\n\\s+at ${w.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),er=RegExp(`\\n\\s+at ${w.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${w.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function en(e,t){Z.test(e)&&(t.hasSuspenseAboveBody=!0)}function ea(e,t,r,n,a){let i=v(a);if(ee.test(r))return void en(r,n);if(J.test(r)){n.hasDynamicMetadata=!0;return}if(Q.test(r)){n.hasDynamicViewport=!0;return}if(Z.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(Y.test(r)){n.hasAllowedDynamic=!0;return}else if(i)return void n.dynamicErrors.push(i);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let s=ed((0,y.createDynamicOrRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(s)}var ei=((a={})[a.Link=1]="Link",a[a.Runtime=2]="Runtime",a[a.Dynamic=3]="Dynamic",a);function es(e){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:e}}function eo(e,t,r,n,a,i,s){let o=v(a);if(ee.test(r))return;let l=function(e,t){let{slotStacks:r}=t;if(r.length>1){let t=er.exec(e);if(t){let e=r[parseInt(t[1],10)+1];if(null!=e)return e}}return r[0]??null}(r,n);if(J.test(r)){n.dynamicMetadata=ed(1===i?(0,y.createLinkMetadataError)(t.route):2===i?(0,y.createRuntimeMetadataError)(t.route):(0,y.createDynamicMetadataError)(t.route),r,l);return}if(Q.test(r)){let e=ed(1===i?(0,y.createLinkViewportError)(t.route):2===i?(0,y.createRuntimeViewportError)(t.route):(0,y.createDynamicViewportError)(t.route),r,l);n.dynamicErrors.push(e);return}let c=et.exec(r);if(c){let e=Y.exec(r);if(e&&e.index<c.index){n.hasAllowedDynamic=!0;return}}else if((0,k.allRequiredBoundariesRendered)(s)){n.hasAllowedClientDynamicAboveBoundary=!0,n.hasAllowedDynamic=!0;return}else{let e=ed(Object.defineProperty(Error(`Route "${t.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1331",enumerable:!1,configurable:!0}),r,l);n.validationPreventingErrors.push(e);return}if(o){null!==l&&void 0===o.cause&&(o.cause=l()),n.dynamicErrors.push(o);return}if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,l));let u=ed(1===i?(0,y.createLinkBodyErrorInNavigation)(t.route):2===i?(0,y.createRuntimeBodyErrorInNavigation)(t.route):(0,y.createDynamicBodyErrorInNavigation)(t.route),r,l);n.dynamicErrors.push(u)}function el(e,t,r,n){let a=et.exec(n);if(a){let i=Y.exec(n);if(i&&i.index<a.index)return;let s=ed(Object.defineProperty(Error(`Route "${e.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:r}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),n,null);t.validationPreventingErrors.push(s)}else{let e=ed(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:r}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),n,null);t.thrownErrorsOutsideBoundary.push(e)}}function ec(e,t,r,n,a){let i=v(a);if(ee.test(r))return void en(r,n);if(J.test(r)){n.dynamicMetadata=ed((0,y.createDynamicMetadataError)(t.route),r,null);return}if(Q.test(r)){let e=ed((0,y.createDynamicViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(Z.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(Y.test(r)){n.hasAllowedDynamic=!0;return}else if(i)return void n.dynamicErrors.push(i);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let s=ed((0,y.createDynamicBodyError)(t.route),r,null);n.dynamicErrors.push(s)}function eu(e,t,r,n,a){let i=v(a);if(ee.test(r))return void en(r,n);if(J.test(r)){n.dynamicMetadata=ed((0,y.createRuntimeMetadataError)(t.route),r,null);return}if(Q.test(r)){let e=ed((0,y.createRuntimeViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(Z.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(Y.test(r)){n.hasAllowedDynamic=!0;return}else if(i)return void n.dynamicErrors.push(i);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let s=ed((0,y.createRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(s)}function ed(e,t,r){return null!==r&&(e.cause=r()),e.stack=e.name+": "+e.message+t,e}var eh=((i={})[i.Full=0]="Full",i[i.Empty=1]="Empty",i[i.Errored=2]="Errored",i);function ep(e,t){console.error(t),(0,y.logBuildDebugHint)(e.route)}function ef(e,t){if(t.syncDynamicErrorWithStack)throw ep(e,t.syncDynamicErrorWithStack),new u.StaticGenBailoutError}function eg(e,t,r,n,a){if(ef(e,n),0===t&&!1===r.hasAllowedDynamic&&r.hasDynamicMetadata)throw console.error((0,y.createDynamicOrRuntimeMetadataError)(e.route).message),new u.StaticGenBailoutError;if(!a&&!r.hasSuspenseAboveBody&&0!==t){let n=r.dynamicErrors;if(n.length>0){for(let t=0;t<n.length;t++)ep(e,n[t]);throw new u.StaticGenBailoutError}if(r.hasDynamicViewport)throw console.error((0,y.createDynamicOrRuntimeViewportError)(e.route).message),new u.StaticGenBailoutError;if(1===t)throw console.error(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new u.StaticGenBailoutError}}function em(e,t,r,n){if(0===t&&!1===r.hasAllowedDynamic&&0===r.dynamicErrors.length&&r.dynamicMetadata)return[r.dynamicMetadata];if(n||r.hasSuspenseAboveBody)return[];if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t)return[Object.defineProperty(new b.InvariantError(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}return[]}function ey(e,t,r,n,a,i){if(n){let{missingSampleErrors:e}=n;if(e.length>0)return e}let{validationPreventingErrors:s}=r;if(s.length>0)return s;if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t&&!r.hasAllowedClientDynamicAboveBoundary&&(0,k.allRequiredBoundariesRendered)(a))return Object.defineProperty(new b.InvariantError(`Route "${e.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})}else{let e=r.dynamicErrors;if(e.length>0)return e;if(!1===r.hasAllowedDynamic&&r.dynamicMetadata)return[r.dynamicMetadata]}if(!(0,k.allRequiredBoundariesRendered)(a)){let{thrownErrorsOutsideBoundary:t}=r,n=r.slotStacks[0];if(0===t.length){let t=[];for(let[e,r]of a.requiredIds)if(!a.renderedIds.has(e))for(let e of r){let r=e.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");t.push(r)}return t.sort(),(0,_.createUnrenderedSegmentError)(e.route,t)}if(1===t.length){let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,a=null!==n?n():Error();return a.name="Error",a.message=r,AggregateError([a,t[0]])}{let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,a=null!==n?n():Error();return a.name="Error",a.message=r,AggregateError([a,...t])}}return[]}},725478,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,s.isNextRouterError)(t)||(0,i.isBailoutToCSRError)(t)||(0,l.isDynamicServerError)(t)||(0,o.isDynamicPostpone)(t)||(0,a.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t)||(0,o.isPrerenderInterruptedError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(756725),a=e.r(24380),i=e.r(107703),s=e.r(555134),o=e.r(258200),l=e.r(243727);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66389,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return h},forbidden:function(){return l.forbidden},notFound:function(){return o.notFound},permanentRedirect:function(){return s.permanentRedirect},redirect:function(){return s.redirect},unauthorized:function(){return c.unauthorized},unstable_isUnrecognizedActionError:function(){return d},unstable_rethrow:function(){return u.unstable_rethrow}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(461067),s=e.r(543212),o=e.r(944760),l=e.r(825345),c=e.r(452616),u=e.r(725478);function d(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let h={push:"push",replace:"replace"};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825184,e=>{"use strict";e.i(66389),e.i(938281),e.s([],825184)}];
282
+ Learn more: https://nextjs.org/docs/messages/instant-link-prefetch-partial`),"__NEXT_ERROR_CODE",{value:"E1435",enumerable:!1,configurable:!0})}},258200,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,a,i,s={DynamicHoleKind:function(){return ei},Postpone:function(){return D},PreludeState:function(){return eh},abortAndThrowOnSynchronousRequestDataAccess:function(){return j},abortOnSynchronousPlatformIOAccess:function(){return P},accessedDynamicData:function(){return U},annotateDynamicAccess:function(){return V},consumeDynamicAccess:function(){return q},createDynamicTrackingState:function(){return x},createDynamicValidationState:function(){return R},createHangingInputAbortSignal:function(){return F},createInstantValidationState:function(){return es},createRenderInBrowserAbortSignal:function(){return W},formatDynamicAPIAccesses:function(){return H},getFirstDynamicReason:function(){return S},getNavigationDisallowedDynamicReasons:function(){return ey},getStaticShellDisallowedDynamicReasons:function(){return em},isDynamicPostpone:function(){return N},isPrerenderInterruptedError:function(){return z},logDisallowedDynamicError:function(){return ep},markCurrentScopeAsDynamic:function(){return $},postponeWithTracking:function(){return C},throwIfDisallowedDynamic:function(){return eg},throwIfSyncIOUsed:function(){return ef},throwToInterruptStaticGeneration:function(){return O},trackAllowedDynamicAccess:function(){return ea},trackDynamicDataInDynamicRender:function(){return T},trackDynamicHoleInNavigation:function(){return eo},trackDynamicHoleInRuntimeShell:function(){return ec},trackDynamicHoleInStaticShell:function(){return eu},trackThrownErrorInNavigation:function(){return el},useDynamicRouteParams:function(){return G},useDynamicSearchParams:function(){return K}};for(var o in s)Object.defineProperty(r,o,{enumerable:!0,get:s[o]});let l=(n=e.r(910931))&&n.__esModule?n:{default:n},c=e.r(243727),u=e.r(183589),d=e.r(832319),h=e.r(556704),p=e.r(756725),f=e.r(534103),g=e.r(609975),m=e.r(107703),y=e.r(811525),b=e.r(585346),w=e.r(100204),k=e.r(199776),_=e.r(47076),E="function"==typeof l.default.unstable_postpone;function x(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null,syncDynamicErrorWithStackPostMicrotask:!1}}function R(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function v(e){return e.syncDynamicErrorWithStackPostMicrotask?null:e.syncDynamicErrorWithStack}function S(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function $(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new u.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${r}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return C(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new c.DynamicServerError(`Route ${e.route} couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function O(e,t,r){let n=Object.defineProperty(new c.DynamicServerError(`Route ${t.route} couldn't be rendered statically because it used \`${e}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function T(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function A(e,t,r){let n=B(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`);r.controller.abort(n);let a=r.dynamicTracking;a&&a.dynamicAccesses.push({stack:a.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function P(e,t,r,n){let a=n.dynamicTracking;a&&null===a.syncDynamicErrorWithStack&&(a.syncDynamicErrorWithStack=r,queueMicrotask(()=>{a.syncDynamicErrorWithStackPostMicrotask=!0})),A(e,t,n)}function j(e,t,r,n){if((0,p.trackRuntimeDataAccessed)(n),!1===n.controller.signal.aborted){A(e,t,n);let a=n.dynamicTracking;a&&null===a.syncDynamicErrorWithStack&&(a.syncDynamicErrorWithStack=r)}throw B(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`)}function D({reason:e,route:t}){let r=d.workUnitAsyncStorage.getStore();C(t,e,r&&"prerender-ppr"===r.type?r.dynamicTracking:null)}function C(e,t,r){(function(){if(!E)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),l.default.unstable_postpone(I(e,t))}function I(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function N(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&M(e.message)}function M(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===M(I("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let L="NEXT_PRERENDER_INTERRUPTED";function B(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=L,t}function z(e){return"object"==typeof e&&null!==e&&e.digest===L&&"name"in e&&"message"in e&&e instanceof Error}function U(e){return e.length>0}function q(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function H(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" (<anonymous>)")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}:
283
+ ${t}`))}function W(){let e=new AbortController;return e.abort(Object.defineProperty(new m.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function F(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,d.getStagedRenderingController)(e);r&&null!==r.finalStage?r.waitForStage(r.finalStage).then(()=>(0,g.scheduleOnNextTick)(()=>t.abort()),X):(0,g.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"validation-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case"generate-static-params":return}}function X(){}function V(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function G(e){let t=h.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":{let n=r.fallbackRouteParams;n&&n.size>0&&l.default.use((0,p.makeClientHookHangingPromise)(r.renderSignal,new p.ClientHookDynamicError(t.route,e)));break}case"prerender":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return C(t.route,e,r.dynamicTracking);break}case"validation-client":case"prerender-legacy":case"request":case"unstable-cache":break;case"prerender-runtime":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called during a runtime prerender. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}function K(e){let t=h.workAsyncStorage.getStore(),r=d.workUnitAsyncStorage.getStore();if(t)switch(!r&&(0,d.throwForMissingRequestStore)(e),r.type){case"validation-client":case"request":return;case"prerender-client":l.default.use((0,p.makeClientHookHangingPromise)(r.renderSignal,new p.ClientHookDynamicError(t.route,e)));break;case"prerender-legacy":case"prerender-ppr":if(t.forceStatic)return;throw Object.defineProperty(new m.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called from a Server Component. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called inside a cache scope. Next.js should be preventing ${e} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(new b.InvariantError(`\`${e}\` was called in \`generateStaticParams\`. Next.js should be preventing ${e} from being included in server component files statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1130",enumerable:!1,configurable:!0})}}let Y=/\n\s+at Suspense \(<anonymous>\)/,Z=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${f.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),J=RegExp(`\\n\\s+at ${f.METADATA_BOUNDARY_NAME}[\\n\\s]`),Q=RegExp(`\\n\\s+at ${f.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),ee=RegExp(`\\n\\s+at ${f.OUTLET_BOUNDARY_NAME}[\\n\\s]`),et=RegExp(`\\n\\s+at ${w.INSTANT_VALIDATION_BOUNDARY_NAME}[\\n\\s]`),er=RegExp(`\\n\\s+at ${w.INSTANT_SLOT_MARKER_PREFIX}(\\d+)${w.INSTANT_SLOT_MARKER_SUFFIX}[\\n\\s]`);function en(e,t){Z.test(e)&&(t.hasSuspenseAboveBody=!0)}function ea(e,t,r,n,a){let i=v(a);if(ee.test(r))return void en(r,n);if(J.test(r)){n.hasDynamicMetadata=!0;return}if(Q.test(r)){n.hasDynamicViewport=!0;return}if(Z.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(Y.test(r)){n.hasAllowedDynamic=!0;return}else if(i)return void n.dynamicErrors.push(i);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let s=ed((0,y.createDynamicOrRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(s)}var ei=((a={})[a.Link=1]="Link",a[a.Runtime=2]="Runtime",a[a.Dynamic=3]="Dynamic",a);function es(e){return{hasDynamicMetadata:!1,hasAllowedClientDynamicAboveBoundary:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[],validationPreventingErrors:[],thrownErrorsOutsideBoundary:[],slotStacks:e}}function eo(e,t,r,n,a,i,s){let o=v(a);if(ee.test(r))return;let l=function(e,t){let{slotStacks:r}=t;if(r.length>1){let t=er.exec(e);if(t){let e=r[parseInt(t[1],10)+1];if(null!=e)return e}}return r[0]??null}(r,n);if(J.test(r)){n.dynamicMetadata=ed(1===i?(0,y.createLinkMetadataError)(t.route):2===i?(0,y.createRuntimeMetadataError)(t.route):(0,y.createDynamicMetadataError)(t.route),r,l);return}if(Q.test(r)){let e=ed(1===i?(0,y.createLinkViewportError)(t.route):2===i?(0,y.createRuntimeViewportError)(t.route):(0,y.createDynamicViewportError)(t.route),r,l);n.dynamicErrors.push(e);return}let c=et.exec(r);if(c){let e=Y.exec(r);if(e&&e.index<c.index){n.hasAllowedDynamic=!0;return}}else if((0,k.allRequiredBoundariesRendered)(s)){n.hasAllowedClientDynamicAboveBoundary=!0,n.hasAllowedDynamic=!0;return}else{let e=ed(Object.defineProperty(Error(`Route "${t.route}": Could not validate \`instant\` because a Client Component in a parent segment prevented the page from rendering.`),"__NEXT_ERROR_CODE",{value:"E1331",enumerable:!1,configurable:!0}),r,l);n.validationPreventingErrors.push(e);return}if(o){null!==l&&void 0===o.cause&&(o.cause=l()),n.dynamicErrors.push(o);return}if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,l));let u=ed(1===i?(0,y.createLinkBodyErrorInNavigation)(t.route):2===i?(0,y.createRuntimeBodyErrorInNavigation)(t.route):(0,y.createDynamicBodyErrorInNavigation)(t.route),r,l);n.dynamicErrors.push(u)}function el(e,t,r,n){let a=et.exec(n);if(a){let i=Y.exec(n);if(i&&i.index<a.index)return;let s=ed(Object.defineProperty(Error(`Route "${e.route}": Could not validate \`instant\` because an error prevented the target segment from rendering.`,{cause:r}),"__NEXT_ERROR_CODE",{value:"E1338",enumerable:!1,configurable:!0}),n,null);t.validationPreventingErrors.push(s)}else{let e=ed(Object.defineProperty(Error("An error occurred while attempting to validate instant UI. This error may be preventing the validation from completing.",{cause:r}),"__NEXT_ERROR_CODE",{value:"E1118",enumerable:!1,configurable:!0}),n,null);t.thrownErrorsOutsideBoundary.push(e)}}function ec(e,t,r,n,a){let i=v(a);if(ee.test(r))return void en(r,n);if(J.test(r)){n.dynamicMetadata=ed((0,y.createDynamicMetadataError)(t.route),r,null);return}if(Q.test(r)){let e=ed((0,y.createDynamicViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(Z.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(Y.test(r)){n.hasAllowedDynamic=!0;return}else if(i)return void n.dynamicErrors.push(i);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let s=ed((0,y.createDynamicBodyError)(t.route),r,null);n.dynamicErrors.push(s)}function eu(e,t,r,n,a){let i=v(a);if(ee.test(r))return void en(r,n);if(J.test(r)){n.dynamicMetadata=ed((0,y.createRuntimeMetadataError)(t.route),r,null);return}if(Q.test(r)){let e=ed((0,y.createRuntimeViewportError)(t.route),r,null);n.dynamicErrors.push(e);return}if(Z.test(r)){n.hasAllowedDynamic=!0,n.hasSuspenseAboveBody=!0;return}if(Y.test(r)){n.hasAllowedDynamic=!0;return}else if(i)return void n.dynamicErrors.push(i);if((0,p.isClientHookDynamicError)(e))return void n.dynamicErrors.push(ed(e,r,null));let s=ed((0,y.createRuntimeBodyError)(t.route),r,null);n.dynamicErrors.push(s)}function ed(e,t,r){return null!==r&&(e.cause=r()),e.stack=e.name+": "+e.message+t,e}var eh=((i={})[i.Full=0]="Full",i[i.Empty=1]="Empty",i[i.Errored=2]="Errored",i);function ep(e,t){console.error(t),(0,y.logBuildDebugHint)(e.route)}function ef(e,t){if(t.syncDynamicErrorWithStack)throw ep(e,t.syncDynamicErrorWithStack),new u.StaticGenBailoutError}function eg(e,t,r,n,a){if(ef(e,n),0===t&&!1===r.hasAllowedDynamic&&r.hasDynamicMetadata)throw console.error((0,y.createDynamicOrRuntimeMetadataError)(e.route).message),new u.StaticGenBailoutError;if(!a&&!r.hasSuspenseAboveBody&&0!==t){let n=r.dynamicErrors;if(n.length>0){for(let t=0;t<n.length;t++)ep(e,n[t]);throw new u.StaticGenBailoutError}if(r.hasDynamicViewport)throw console.error((0,y.createDynamicOrRuntimeViewportError)(e.route).message),new u.StaticGenBailoutError;if(1===t)throw console.error(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new u.StaticGenBailoutError}}function em(e,t,r,n){if(0===t&&!1===r.hasAllowedDynamic&&0===r.dynamicErrors.length&&r.dynamicMetadata)return[r.dynamicMetadata];if(n||r.hasSuspenseAboveBody)return[];if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t)return[Object.defineProperty(new b.InvariantError(`Route "${e.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}return[]}function ey(e,t,r,n,a,i){if(n){let{missingSampleErrors:e}=n;if(e.length>0)return e}let{validationPreventingErrors:s}=r;if(s.length>0)return s;if(0!==t){let n=r.dynamicErrors;if(n.length>0)return n;if(1===t&&!r.hasAllowedClientDynamicAboveBoundary&&(0,k.allRequiredBoundariesRendered)(a))return Object.defineProperty(new b.InvariantError(`Route "${e.route}" failed to render during instant validation and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E1055",enumerable:!1,configurable:!0})}else{let e=r.dynamicErrors;if(e.length>0)return e;if(!1===r.hasAllowedDynamic&&r.dynamicMetadata)return[r.dynamicMetadata]}if(!(0,k.allRequiredBoundariesRendered)(a)){let{thrownErrorsOutsideBoundary:t}=r,n=r.slotStacks[0];if(0===t.length){let t=[];for(let[e,r]of a.requiredIds)if(!a.renderedIds.has(e))for(let e of r){let r=e.replace(/^\[project\][\\/]?/,"").replace(process.cwd()+"/","").replace(process.cwd()+"\\","");t.push(r)}return t.sort(),(0,_.createUnrenderedSegmentError)(e.route,t)}if(1===t.length){let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to the following error.`,a=null!==n?n():Error();return a.name="Error",a.message=r,AggregateError([a,t[0]])}{let r=`Route "${e.route}": Could not validate \`instant\` because the target segment was prevented from rendering, likely due to one of the following errors.`,a=null!==n?n():Error();return a.name="Error",a.message=r,AggregateError([a,...t])}}return[]}},725478,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,s.isNextRouterError)(t)||(0,i.isBailoutToCSRError)(t)||(0,l.isDynamicServerError)(t)||(0,o.isDynamicPostpone)(t)||(0,a.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t)||(0,o.isPrerenderInterruptedError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(756725),a=e.r(24380),i=e.r(107703),s=e.r(555134),o=e.r(258200),l=e.r(243727);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},66389,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return h},forbidden:function(){return l.forbidden},notFound:function(){return o.notFound},permanentRedirect:function(){return s.permanentRedirect},redirect:function(){return s.redirect},unauthorized:function(){return c.unauthorized},unstable_isUnrecognizedActionError:function(){return d},unstable_rethrow:function(){return u.unstable_rethrow}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(461067),s=e.r(543212),o=e.r(944760),l=e.r(825345),c=e.r(452616),u=e.r(725478);function d(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}let h={push:"push",replace:"replace"};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},825184,e=>{"use strict";e.i(66389),e.i(938281),e.s([],825184)}];
284
284
 
285
285
  //# sourceMappingURL=_19kea1l._.js.map