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,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,986530,e=>{"use strict";var t=e.i(843476),n=e.i(225913);e.i(271645);var s=e.i(647163);function a({className:e,...n}){return(0,t.jsx)("label",{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}e.i(652225);let r=(0,n.cva)("group/field flex w-full gap-2 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:"flex-col *:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});e.s(["Field",0,function({className:e,orientation:n="vertical",...a}){return(0,t.jsx)("div",{role:"group","data-slot":"field","data-orientation":n,className:(0,s.cn)(r({orientation:n}),e),...a})},"FieldContent",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"field-content",className:(0,s.cn)("group/field-content flex flex-1 flex-col gap-0.5 leading-snug",e),...n})},"FieldLabel",0,function({className:e,...n}){return(0,t.jsx)(a,{"data-slot":"field-label",className:(0,s.cn)("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",e),...n})}],986530)},787800,e=>{"use strict";var t=e.i(843476),n=e.i(689664),s=e.i(716327),a=e.i(867927),r=e.i(21357),o=e.i(77071),i=e.i(456420);let c={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};c.node;let l=(0,i.default)(c),d={name:"server",size:24,node:[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]};d.node;let m=(0,i.default)(d);var u=e.i(759659),p=e.i(263676),h=e.i(271645),f=e.i(798120),g=e.i(167881),x=e.i(986530),v=e.i(23750),j=e.i(647163);let b=(0,h.memo)(({data:e,name:n,initialExpandDepth:s=2})=>{let a=(0,h.useMemo)(()=>"string"==typeof e?function(e){let t=e.trim();if(!(t.startsWith("{")&&t.endsWith("}"))&&!(t.startsWith("[")&&t.endsWith("]")))return{success:!1,data:e};try{return{success:!0,data:JSON.parse(e)}}catch{return{success:!1,data:e}}}(e).data:e,[e]);return(0,t.jsx)("div",{className:"text-sm",children:(0,t.jsx)(k,{data:a,name:n,depth:0,initialExpandDepth:s})})});b.displayName="JsonView";let y=(e,t)=>({role:"button",tabIndex:0,"aria-expanded":e,onClick:t,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),t())}}),N="outline-none focus-visible:ring-3 focus-visible:ring-ring/50",k=(0,h.memo)(({data:e,name:n,depth:s=0,initialExpandDepth:a})=>{var r;let o=void 0===e?"undefined":Array.isArray(e)?"array":null===e?"null":typeof e,[i,c]=(0,h.useState)("string"!==o&&s<a),l={number:"text-blue-500",boolean:"text-amber-500",null:"text-purple-500",undefined:"text-gray-500",string:"text-foreground break-all whitespace-pre-wrap",default:"text-muted-foreground"};switch(o){case"object":case"array":let d,m,u;return m=(d=(r="array"===o)?e:Object.entries(e)).length,u={open:r?"[":"{",close:r?"]":"}",collapsed:r?"[ ... ]":"{ ... }",empty:r?"[]":"{}"},0===m?(0,t.jsxs)("div",{className:"flex items-center",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:"text-muted-foreground",children:u.empty})]}):(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:(0,j.cn)("flex items-center mr-1 rounded cursor-pointer group hover:bg-input/30",N),...y(i,()=>c(!i)),children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground hover:text-foreground",children:[n,":"]}),i?(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:u.open}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:u.collapsed}),(0,t.jsxs)("span",{className:"ml-1 text-muted-foreground group-hover:text-foreground",children:[m," ",1===m?"item":"items"]})]})]}),i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"pl-2 ml-4 border-l border-border",children:r?d.map((e,n)=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(k,{data:e,name:`${n}`,depth:s+1,initialExpandDepth:a})},n)):d.map(([e,n])=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(k,{data:n,name:e,depth:s+1,initialExpandDepth:a})},e))}),(0,t.jsx)("div",{className:"text-muted-foreground",children:u.close})]})]});case"string":return e.length>100?(0,t.jsxs)("div",{className:"flex mr-1 rounded group hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground hover:text-foreground",children:[n,":"]}),(0,t.jsx)("pre",{className:(0,j.cn)(l.string,"cursor-pointer group-hover:text-foreground",N),...y(i,()=>c(!i)),title:i?"Click to collapse":"Click to expand",children:i?`"${e}"`:`"${e.slice(0,100)}..."`})]}):(0,t.jsxs)("div",{className:"flex mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsxs)("pre",{className:l.string,children:['"',e,'"']})]});case"undefined":return(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:l.undefined,children:"undefined"})]});default:return(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:l[o]||l.default,children:null===e?"null":String(e)})]})}});k.displayName="JsonNode";var S=e.i(917162),w=e.i(818125),z=e.i(319036),C=e.i(127341),O=e.i(184762),A=e.i(6799),T=e.i(95187);let P=(0,T.createServerReference)("7fad0433bc61c03b7740787a107217dab970d1f0d0",T.callServer,void 0,T.findSourceMapURL,"callToolAction"),F=(0,T.createServerReference)("7f814b74c4c76b775fa51e722867c89bf8b4db8774",T.callServer,void 0,T.findSourceMapURL,"deleteServerAction"),$=(0,T.createServerReference)("7f4f357a8af7de4d63dcdddb1bcc092a6cff2fae56",T.callServer,void 0,T.findSourceMapURL,"refreshServerAction"),R=(0,T.createServerReference)("7f0d90b8e45583a7092d702308b13d529e5b742a41",T.callServer,void 0,T.findSourceMapURL,"registerServerAction");var M=e.i(681307),D=e.i(245629);let L=M.z.object({url:M.z.url(),headers:M.z.record(M.z.string(),M.z.string()).optional()}),E=M.z.object({command:M.z.string().min(1),args:M.z.array(M.z.string()).optional(),env:M.z.record(M.z.string(),M.z.string()).optional()}),I=M.z.union([L,E]),q=M.z.object({name:M.z.string(),description:M.z.string().optional(),inputSchema:M.z.looseObject({}).optional(),outputSchema:M.z.looseObject({}).optional()});function B(e){return"url"in e}M.z.object({clientInformation:M.z.looseObject({}).optional(),tokens:M.z.looseObject({}).optional(),authorizationServer:M.z.looseObject({}).optional(),codeVerifier:M.z.string().optional(),state:M.z.string().optional()});let J=M.z.object({name:M.z.string().min(1).max(40),config:I,toolCount:M.z.number().int(),lastError:M.z.string().nullish()}),U=q.extend({id:M.z.number().int(),description:M.z.string().nullish()});J.omit({toolCount:!0}).extend({tools:U.array().default([]),toolsSyncedAt:D.DateLikeSchema});let K=M.z.object({name:M.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:I}),H=M.z.union([M.z.object({mcpServers:M.z.record(M.z.string(),I)}),M.z.record(M.z.string(),I)]),V=[{name:"todoist",icon:"todoist.com",description:"Tasks, projects, and due dates",config:{url:"https://ai.todoist.net/mcp"}},{name:"home-assistant",icon:"home-assistant.io",description:"Lights, switches, and the rest of the house — your address and a long-lived token",config:{url:"http://homeassistant.local:8123/api/mcp",headers:{Authorization:"Bearer <your-home-assistant-token>"}}},{name:"kiwi",icon:"kiwi.com",description:"Flight search — no account",config:{url:"https://mcp.kiwi.com"}},{name:"zapier",icon:"zapier.com",description:"Gmail, Google Calendar, and thousands of apps you connect there",config:{url:"https://mcp.zapier.com/api/v1/connect"}},{name:"notion",icon:"notion.so",description:"Pages, databases, and search",config:{url:"https://mcp.notion.com/mcp"}},{name:"canva",icon:"canva.com",description:"Create and manage designs",config:{url:"https://mcp.canva.com/mcp"}},{name:"slack",icon:"slack.com",description:"Channels, messages, and search",config:{url:"https://mcp.slack.com/mcp"}},{name:"box",icon:"box.com",description:"Files, folders, and content search",config:{url:"https://mcp.box.com/mcp"}},{name:"airtable",icon:"airtable.com",description:"Bases, tables, and records",config:{url:"https://mcp.airtable.com/mcp"}},{name:"fireflies",icon:"fireflies.ai",description:"Meeting transcripts and summaries",config:{url:"https://mcp.fireflies.ai/mcp"}},{name:"asana",icon:"asana.com",description:"Tasks, projects, and portfolios",config:{url:"https://mcp.asana.com/mcp"}},{name:"monday",icon:"monday.com",description:"Boards, items, and updates",config:{url:"https://mcp.monday.com/mcp"}},{name:"clickup",icon:"clickup.com",description:"Tasks, docs, and spaces",config:{url:"https://mcp.clickup.com/mcp"}},{name:"linear",icon:"linear.app",description:"Issues, projects, and cycles",config:{url:"https://mcp.linear.app/mcp"}},{name:"atlassian",icon:"atlassian.com",description:"Jira and Confluence",config:{url:"https://mcp.atlassian.com/v1/mcp"}},{name:"hubspot",icon:"hubspot.com",description:"Contacts, deals, and companies",config:{url:"https://app.hubspot.com/mcp/v1/http"}},{name:"attio",icon:"attio.com",description:"CRM records and lists",config:{url:"https://mcp.attio.com/mcp"}},{name:"intercom",icon:"intercom.com",description:"Conversations and support tickets",config:{url:"https://mcp.intercom.com/mcp"}},{name:"wix",icon:"wix.com",description:"Sites, stores, and bookings",config:{url:"https://mcp.wix.com/mcp"}},{name:"webflow",icon:"webflow.com",description:"Sites, pages, and CMS collections",config:{url:"https://mcp.webflow.com/mcp"}},{name:"sanity",icon:"sanity.io",description:"Structured content and datasets",config:{url:"https://mcp.sanity.io/mcp"}},{name:"stripe",icon:"stripe.com",description:"Payments, invoices, and customers",config:{url:"https://mcp.stripe.com"}},{name:"paypal",icon:"paypal.com",description:"Payments and orders",config:{url:"https://mcp.paypal.com/mcp"}},{name:"square",icon:"squareup.com",description:"Payments, catalog, and orders",config:{url:"https://mcp.squareup.com/mcp"}},{name:"ramp",icon:"ramp.com",description:"Spend, cards, and transactions",config:{url:"https://mcp.ramp.com/mcp"}},{name:"github",icon:"github.com",description:"Repos, issues, PRs — paste a personal access token",config:{url:"https://api.githubcopilot.com/mcp/",headers:{Authorization:"Bearer <your-github-pat>"}}},{name:"vercel",icon:"vercel.com",description:"Deployments and projects",config:{url:"https://mcp.vercel.com"}},{name:"netlify",icon:"netlify.com",description:"Sites, builds, and deploys",config:{url:"https://mcp.netlify.com/mcp"}},{name:"cloudflare",icon:"cloudflare.com",description:"Workers bindings — D1, R2, KV",config:{url:"https://bindings.mcp.cloudflare.com/mcp"}},{name:"supabase",icon:"supabase.com",description:"Projects, tables, and SQL",config:{url:"https://mcp.supabase.com/mcp"}},{name:"neon",icon:"neon.tech",description:"Postgres branches and queries",config:{url:"https://mcp.neon.tech/mcp"}},{name:"prisma",icon:"prisma.io",description:"Postgres databases and schema",config:{url:"https://mcp.prisma.io/mcp"}},{name:"sentry",icon:"sentry.io",description:"Errors and performance issues",config:{url:"https://mcp.sentry.dev/mcp"}},{name:"grafana",icon:"grafana.com",description:"Dashboards, metrics, and alerts",config:{url:"https://mcp.grafana.com/mcp"}},{name:"semgrep",icon:"semgrep.dev",description:"Scan code for security findings",config:{url:"https://mcp.semgrep.ai/mcp"}},{name:"postman",icon:"postman.com",description:"Collections, environments, and requests",config:{url:"https://mcp.postman.com/mcp"}},{name:"resend",icon:"resend.com",description:"Send email and manage audiences",config:{url:"https://mcp.resend.com/mcp"}},{name:"hugging-face",icon:"huggingface.co",description:"Models, datasets, and Spaces",config:{url:"https://huggingface.co/mcp"}},{name:"apify",icon:"apify.com",description:"Run scrapers and automation actors",config:{url:"https://mcp.apify.com"}},{name:"exa",icon:"exa.ai",description:"Web search for agents",config:{url:"https://mcp.exa.ai/mcp"}},{name:"kagi",icon:"kagi.com",description:"Search, summarize, and answer",config:{url:"https://mcp.kagi.com/mcp"}},{name:"context7",icon:"context7.com",description:"Up-to-date library docs",config:{url:"https://mcp.context7.com/mcp"}},{name:"deepwiki",icon:"deepwiki.com",description:"Ask questions about any GitHub repo",config:{url:"https://mcp.deepwiki.com/mcp"}},{name:"microsoft-learn",icon:"learn.microsoft.com",description:"Microsoft and Azure docs — no account",config:{url:"https://learn.microsoft.com/api/mcp"}},{name:"aws-knowledge",icon:"aws.amazon.com",description:"AWS docs and API references — no account",config:{url:"https://knowledge-mcp.global.api.aws"}},{name:"cloudflare-docs",icon:"developers.cloudflare.com",description:"Cloudflare docs — no account",config:{url:"https://docs.mcp.cloudflare.com/mcp"}},{name:"stack-overflow",icon:"stackoverflow.com",description:"Questions, answers, and teams",config:{url:"https://mcp.stackoverflow.com"}}];var W=e.i(895836),_=e.i(333999),G=e.i(609856),Q=e.i(283653);function X({name:e,onDone:n}){let[s,a]=(0,h.useState)(""),{data:r,isLoading:o}=(0,Q.useServerRoute)(f.queryKey.mcpServer(e)),[i,c]=(0,G.useServerAction)($,{...el,onOk:t=>{el.onOk(t),(0,Q.revalidate)(f.queryKey.mcpServer(e))}}),[d,m]=(0,G.useServerAction)(F,{okMessage:"Server deleted",onOk:()=>{n(),(0,Q.revalidate)(f.queryKey.mcp)}}),p=async()=>{await S.notify.confirm({title:`Delete ${e}?`,description:"Its connection and saved authorization go with it.",okText:"Delete",destructive:!0})&&d(e)};if(o)return(0,t.jsx)(W.SettingSkeleton,{rows:4});if(!r)return null;let x=r.tools.length,v=s.trim().toLowerCase(),j=v?r.tools.filter(e=>`${e.name} ${e.description??""}`.toLowerCase().includes(v)):r.tools,b=B(r.config)?"HTTP":"STDIO";return(0,t.jsxs)(W.SettingDialogContent,{title:r.name,description:(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,t.jsx)("span",{className:"shrink-0 rounded-sm bg-muted px-1.5 py-0.5 font-mono text-[10px]",children:b}),(0,t.jsx)("span",{className:"truncate font-mono",children:em(r.config)})]}),footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(g.Button,{variant:"ghost",loading:m,onClick:p,className:"mr-auto text-destructive hover:text-destructive",children:[(0,t.jsx)(u.Trash2,{}),"Delete"]}),(0,t.jsxs)(g.Button,{variant:"outline",loading:c,onClick:()=>i(r.name),children:[(0,t.jsx)(l,{}),"Reconnect"]})]}),children:[r.lastError&&(0,t.jsx)("p",{className:"rounded-lg bg-destructive/10 px-3 py-2 font-mono text-xs text-destructive",children:r.lastError}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(W.SettingFilter,{value:s,onChange:a,placeholder:"Filter tools"}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:[x," ",1===x?"tool":"tools"]})]}),j.map(e=>(0,t.jsx)(ee,{tool:e,serverName:r.name},e.name)),0===j.length&&x>0&&(0,t.jsx)("p",{className:"py-6 text-center text-sm text-muted-foreground",children:"No tool here goes by that."})]})}function Y({server:e}){let s=e.toolCount,r=e.lastError?"error":s>0?"connected":"idle";return(0,t.jsxs)("button",{type:"button",onClick:()=>{S.notify.component({className:"sm:max-w-3xl",renderer:({close:n})=>(0,t.jsx)(X,{name:e.name,onDone:n})})},className:"group flex w-full items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(Z,{server:e})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.name}),"connected"===r&&(0,t.jsx)(n.Check,{className:"size-3 shrink-0 text-muted-foreground"})]}),(0,t.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"error"===r?(0,t.jsx)("span",{className:"text-destructive",children:e.lastError}):(0,t.jsxs)(t.Fragment,{children:[s>0?`${s} ${1===s?"tool":"tools"}`:"No tools yet",(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted-foreground/70",children:[" · ",em(e.config)]})]})})]}),(0,t.jsx)(a.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}function Z({server:e}){let n,s=(n=V.find(t=>B(t.config)?B(e.config)&&t.config.url.replace(/\/+$/,"")===e.config.url.replace(/\/+$/,""):!B(e.config)&&t.config.command===e.config.command&&(t.config.args??[]).join(" ")===(e.config.args??[]).join(" "))??V.find(t=>t.name===e.name),n?.icon);return s?(0,t.jsx)(w.SiteIcon,{host:s,className:"size-5",fallback:(0,t.jsx)(m,{className:"size-4"})}):(0,t.jsx)(m,{className:"size-4"})}function ee({tool:e,serverName:n}){let[r,o]=(0,h.useState)(!1),[i,c]=(0,h.useState)(!1),[l,d]=(0,h.useState)(!1),m=[["inputSchema",e.inputSchema],["outputSchema",e.outputSchema]].filter(([,e])=>e);return(0,t.jsxs)("div",{className:"rounded-xl border border-border/60 bg-background p-4",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-sm",children:e.name}),m.length>0&&(0,t.jsxs)(g.Button,{size:"xs",variant:"ghost",className:"shrink-0 font-mono",onClick:()=>o(!r),children:[r?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(a.ChevronRight,{}),"Schema"]}),(0,t.jsxs)(g.Button,{size:"xs",variant:"ghost",className:"shrink-0 font-mono",onClick:()=>c(!i),children:[i?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(a.ChevronRight,{}),"Test"]})]}),e.description?(0,t.jsx)("p",{className:(0,j.cn)("mt-0.5 text-xs leading-relaxed text-muted-foreground",!l&&"line-clamp-2",e.description.length>140&&"cursor-pointer"),onClick:()=>d(!l),children:e.description}):null,r?(0,t.jsx)("div",{className:"mt-2 space-y-3 overflow-x-auto rounded-lg border border-input p-3",children:m.map(([e,n])=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"block font-mono text-xs text-muted-foreground",children:"inputSchema"===e?"in":"out"}),(0,t.jsx)("pre",{className:"font-mono text-xs leading-relaxed whitespace-pre",children:function e(t,n=0){if(!t||"object"!=typeof t)return"unknown";let s=" ".repeat(n+1),a=" ".repeat(n);if(Array.isArray(t.enum))return t.enum.map(e=>JSON.stringify(e)).join(" | ");let r=t.anyOf??t.oneOf;if(Array.isArray(r))return r.map(t=>e(t,n)).join(" | ");if("array"===t.type){let s=e(t.items,n);return/[|{]/.test(s)?`(${s})[]`:`${s}[]`}if("object"===t.type||t.properties){let r=t.properties;if(!r||0===Object.keys(r).length)return"{}";let o=t.required??[],i=Object.entries(r).map(([t,a])=>{let r=o.includes(t)?"":"?",i=a?.description,c="string"==typeof i&&i.length<=60?` // ${i}`:"";return`${s}${t}${r}: ${e(a,n+1)}${c}`});return`{
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,986530,e=>{"use strict";var t=e.i(843476),n=e.i(225913);e.i(271645);var s=e.i(647163);function a({className:e,...n}){return(0,t.jsx)("label",{"data-slot":"label",className:(0,s.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...n})}e.i(652225);let r=(0,n.cva)("group/field flex w-full gap-2 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:"flex-col *:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});e.s(["Field",0,function({className:e,orientation:n="vertical",...a}){return(0,t.jsx)("div",{role:"group","data-slot":"field","data-orientation":n,className:(0,s.cn)(r({orientation:n}),e),...a})},"FieldContent",0,function({className:e,...n}){return(0,t.jsx)("div",{"data-slot":"field-content",className:(0,s.cn)("group/field-content flex flex-1 flex-col gap-0.5 leading-snug",e),...n})},"FieldLabel",0,function({className:e,...n}){return(0,t.jsx)(a,{"data-slot":"field-label",className:(0,s.cn)("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",e),...n})}],986530)},787800,e=>{"use strict";var t=e.i(843476),n=e.i(689664),s=e.i(716327),a=e.i(867927),r=e.i(21357),o=e.i(77071),i=e.i(456420);let c={name:"refresh-cw",size:24,node:[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]};c.node;let l=(0,i.default)(c),d={name:"server",size:24,node:[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]};d.node;let m=(0,i.default)(d);var u=e.i(759659),p=e.i(263676),h=e.i(271645),f=e.i(798120),g=e.i(167881),x=e.i(986530),v=e.i(23750),j=e.i(647163);let b=(0,h.memo)(({data:e,name:n,initialExpandDepth:s=2})=>{let a=(0,h.useMemo)(()=>"string"==typeof e?function(e){let t=e.trim();if(!(t.startsWith("{")&&t.endsWith("}"))&&!(t.startsWith("[")&&t.endsWith("]")))return{success:!1,data:e};try{return{success:!0,data:JSON.parse(e)}}catch{return{success:!1,data:e}}}(e).data:e,[e]);return(0,t.jsx)("div",{className:"text-sm",children:(0,t.jsx)(k,{data:a,name:n,depth:0,initialExpandDepth:s})})});b.displayName="JsonView";let y=(e,t)=>({role:"button",tabIndex:0,"aria-expanded":e,onClick:t,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),t())}}),N="outline-none focus-visible:ring-3 focus-visible:ring-ring/50",k=(0,h.memo)(({data:e,name:n,depth:s=0,initialExpandDepth:a})=>{var r;let o=void 0===e?"undefined":Array.isArray(e)?"array":null===e?"null":typeof e,[i,c]=(0,h.useState)("string"!==o&&s<a),l={number:"text-blue-500",boolean:"text-amber-500",null:"text-purple-500",undefined:"text-gray-500",string:"text-foreground break-all whitespace-pre-wrap",default:"text-muted-foreground"};switch(o){case"object":case"array":let d,m,u;return m=(d=(r="array"===o)?e:Object.entries(e)).length,u={open:r?"[":"{",close:r?"]":"}",collapsed:r?"[ ... ]":"{ ... }",empty:r?"[]":"{}"},0===m?(0,t.jsxs)("div",{className:"flex items-center",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:"text-muted-foreground",children:u.empty})]}):(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:(0,j.cn)("flex items-center mr-1 rounded cursor-pointer group hover:bg-input/30",N),...y(i,()=>c(!i)),children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground hover:text-foreground",children:[n,":"]}),i?(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:u.open}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:u.collapsed}),(0,t.jsxs)("span",{className:"ml-1 text-muted-foreground group-hover:text-foreground",children:[m," ",1===m?"item":"items"]})]})]}),i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"pl-2 ml-4 border-l border-border",children:r?d.map((e,n)=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(k,{data:e,name:`${n}`,depth:s+1,initialExpandDepth:a})},n)):d.map(([e,n])=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(k,{data:n,name:e,depth:s+1,initialExpandDepth:a})},e))}),(0,t.jsx)("div",{className:"text-muted-foreground",children:u.close})]})]});case"string":return e.length>100?(0,t.jsxs)("div",{className:"flex mr-1 rounded group hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground hover:text-foreground",children:[n,":"]}),(0,t.jsx)("pre",{className:(0,j.cn)(l.string,"cursor-pointer group-hover:text-foreground",N),...y(i,()=>c(!i)),title:i?"Click to collapse":"Click to expand",children:i?`"${e}"`:`"${e.slice(0,100)}..."`})]}):(0,t.jsxs)("div",{className:"flex mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsxs)("pre",{className:l.string,children:['"',e,'"']})]});case"undefined":return(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:l.undefined,children:"undefined"})]});default:return(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded hover:bg-input/30",children:[n&&(0,t.jsxs)("span",{className:"mr-1 text-muted-foreground",children:[n,":"]}),(0,t.jsx)("span",{className:l[o]||l.default,children:null===e?"null":String(e)})]})}});k.displayName="JsonNode";var S=e.i(917162),w=e.i(818125),z=e.i(319036),C=e.i(127341),O=e.i(184762),A=e.i(6799),T=e.i(95187);let P=(0,T.createServerReference)("7fe9a0fe0fb88c4445f910e891a7b9b262f1d47285",T.callServer,void 0,T.findSourceMapURL,"callToolAction"),F=(0,T.createServerReference)("7f17fd8a21bcdd0cf418a825863cccd95828f1f08a",T.callServer,void 0,T.findSourceMapURL,"deleteServerAction"),$=(0,T.createServerReference)("7f98cd44db2be134713ecafd551e41c35b1a13354f",T.callServer,void 0,T.findSourceMapURL,"refreshServerAction"),R=(0,T.createServerReference)("7fe27343a2fa46f433bf6ae380566af1c36acc3b88",T.callServer,void 0,T.findSourceMapURL,"registerServerAction");var M=e.i(681307),D=e.i(245629);let L=M.z.object({url:M.z.url(),headers:M.z.record(M.z.string(),M.z.string()).optional()}),E=M.z.object({command:M.z.string().min(1),args:M.z.array(M.z.string()).optional(),env:M.z.record(M.z.string(),M.z.string()).optional()}),I=M.z.union([L,E]),q=M.z.object({name:M.z.string(),description:M.z.string().optional(),inputSchema:M.z.looseObject({}).optional(),outputSchema:M.z.looseObject({}).optional()});function B(e){return"url"in e}M.z.object({clientInformation:M.z.looseObject({}).optional(),tokens:M.z.looseObject({}).optional(),authorizationServer:M.z.looseObject({}).optional(),codeVerifier:M.z.string().optional(),state:M.z.string().optional()});let J=M.z.object({name:M.z.string().min(1).max(40),config:I,toolCount:M.z.number().int(),lastError:M.z.string().nullish()}),U=q.extend({id:M.z.number().int(),description:M.z.string().nullish()});J.omit({toolCount:!0}).extend({tools:U.array().default([]),toolsSyncedAt:D.DateLikeSchema});let K=M.z.object({name:M.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:I}),H=M.z.union([M.z.object({mcpServers:M.z.record(M.z.string(),I)}),M.z.record(M.z.string(),I)]),V=[{name:"todoist",icon:"todoist.com",description:"Tasks, projects, and due dates",config:{url:"https://ai.todoist.net/mcp"}},{name:"home-assistant",icon:"home-assistant.io",description:"Lights, switches, and the rest of the house — your address and a long-lived token",config:{url:"http://homeassistant.local:8123/api/mcp",headers:{Authorization:"Bearer <your-home-assistant-token>"}}},{name:"kiwi",icon:"kiwi.com",description:"Flight search — no account",config:{url:"https://mcp.kiwi.com"}},{name:"zapier",icon:"zapier.com",description:"Gmail, Google Calendar, and thousands of apps you connect there",config:{url:"https://mcp.zapier.com/api/v1/connect"}},{name:"notion",icon:"notion.so",description:"Pages, databases, and search",config:{url:"https://mcp.notion.com/mcp"}},{name:"canva",icon:"canva.com",description:"Create and manage designs",config:{url:"https://mcp.canva.com/mcp"}},{name:"slack",icon:"slack.com",description:"Channels, messages, and search",config:{url:"https://mcp.slack.com/mcp"}},{name:"box",icon:"box.com",description:"Files, folders, and content search",config:{url:"https://mcp.box.com/mcp"}},{name:"airtable",icon:"airtable.com",description:"Bases, tables, and records",config:{url:"https://mcp.airtable.com/mcp"}},{name:"fireflies",icon:"fireflies.ai",description:"Meeting transcripts and summaries",config:{url:"https://mcp.fireflies.ai/mcp"}},{name:"asana",icon:"asana.com",description:"Tasks, projects, and portfolios",config:{url:"https://mcp.asana.com/mcp"}},{name:"monday",icon:"monday.com",description:"Boards, items, and updates",config:{url:"https://mcp.monday.com/mcp"}},{name:"clickup",icon:"clickup.com",description:"Tasks, docs, and spaces",config:{url:"https://mcp.clickup.com/mcp"}},{name:"linear",icon:"linear.app",description:"Issues, projects, and cycles",config:{url:"https://mcp.linear.app/mcp"}},{name:"atlassian",icon:"atlassian.com",description:"Jira and Confluence",config:{url:"https://mcp.atlassian.com/v1/mcp"}},{name:"hubspot",icon:"hubspot.com",description:"Contacts, deals, and companies",config:{url:"https://app.hubspot.com/mcp/v1/http"}},{name:"attio",icon:"attio.com",description:"CRM records and lists",config:{url:"https://mcp.attio.com/mcp"}},{name:"intercom",icon:"intercom.com",description:"Conversations and support tickets",config:{url:"https://mcp.intercom.com/mcp"}},{name:"wix",icon:"wix.com",description:"Sites, stores, and bookings",config:{url:"https://mcp.wix.com/mcp"}},{name:"webflow",icon:"webflow.com",description:"Sites, pages, and CMS collections",config:{url:"https://mcp.webflow.com/mcp"}},{name:"sanity",icon:"sanity.io",description:"Structured content and datasets",config:{url:"https://mcp.sanity.io/mcp"}},{name:"stripe",icon:"stripe.com",description:"Payments, invoices, and customers",config:{url:"https://mcp.stripe.com"}},{name:"paypal",icon:"paypal.com",description:"Payments and orders",config:{url:"https://mcp.paypal.com/mcp"}},{name:"square",icon:"squareup.com",description:"Payments, catalog, and orders",config:{url:"https://mcp.squareup.com/mcp"}},{name:"ramp",icon:"ramp.com",description:"Spend, cards, and transactions",config:{url:"https://mcp.ramp.com/mcp"}},{name:"github",icon:"github.com",description:"Repos, issues, PRs — paste a personal access token",config:{url:"https://api.githubcopilot.com/mcp/",headers:{Authorization:"Bearer <your-github-pat>"}}},{name:"vercel",icon:"vercel.com",description:"Deployments and projects",config:{url:"https://mcp.vercel.com"}},{name:"netlify",icon:"netlify.com",description:"Sites, builds, and deploys",config:{url:"https://mcp.netlify.com/mcp"}},{name:"cloudflare",icon:"cloudflare.com",description:"Workers bindings — D1, R2, KV",config:{url:"https://bindings.mcp.cloudflare.com/mcp"}},{name:"supabase",icon:"supabase.com",description:"Projects, tables, and SQL",config:{url:"https://mcp.supabase.com/mcp"}},{name:"neon",icon:"neon.tech",description:"Postgres branches and queries",config:{url:"https://mcp.neon.tech/mcp"}},{name:"prisma",icon:"prisma.io",description:"Postgres databases and schema",config:{url:"https://mcp.prisma.io/mcp"}},{name:"sentry",icon:"sentry.io",description:"Errors and performance issues",config:{url:"https://mcp.sentry.dev/mcp"}},{name:"grafana",icon:"grafana.com",description:"Dashboards, metrics, and alerts",config:{url:"https://mcp.grafana.com/mcp"}},{name:"semgrep",icon:"semgrep.dev",description:"Scan code for security findings",config:{url:"https://mcp.semgrep.ai/mcp"}},{name:"postman",icon:"postman.com",description:"Collections, environments, and requests",config:{url:"https://mcp.postman.com/mcp"}},{name:"resend",icon:"resend.com",description:"Send email and manage audiences",config:{url:"https://mcp.resend.com/mcp"}},{name:"hugging-face",icon:"huggingface.co",description:"Models, datasets, and Spaces",config:{url:"https://huggingface.co/mcp"}},{name:"apify",icon:"apify.com",description:"Run scrapers and automation actors",config:{url:"https://mcp.apify.com"}},{name:"exa",icon:"exa.ai",description:"Web search for agents",config:{url:"https://mcp.exa.ai/mcp"}},{name:"kagi",icon:"kagi.com",description:"Search, summarize, and answer",config:{url:"https://mcp.kagi.com/mcp"}},{name:"context7",icon:"context7.com",description:"Up-to-date library docs",config:{url:"https://mcp.context7.com/mcp"}},{name:"deepwiki",icon:"deepwiki.com",description:"Ask questions about any GitHub repo",config:{url:"https://mcp.deepwiki.com/mcp"}},{name:"microsoft-learn",icon:"learn.microsoft.com",description:"Microsoft and Azure docs — no account",config:{url:"https://learn.microsoft.com/api/mcp"}},{name:"aws-knowledge",icon:"aws.amazon.com",description:"AWS docs and API references — no account",config:{url:"https://knowledge-mcp.global.api.aws"}},{name:"cloudflare-docs",icon:"developers.cloudflare.com",description:"Cloudflare docs — no account",config:{url:"https://docs.mcp.cloudflare.com/mcp"}},{name:"stack-overflow",icon:"stackoverflow.com",description:"Questions, answers, and teams",config:{url:"https://mcp.stackoverflow.com"}}];var W=e.i(895836),_=e.i(333999),G=e.i(609856),Q=e.i(283653);function X({name:e,onDone:n}){let[s,a]=(0,h.useState)(""),{data:r,isLoading:o}=(0,Q.useServerRoute)(f.queryKey.mcpServer(e)),[i,c]=(0,G.useServerAction)($,{...el,onOk:t=>{el.onOk(t),(0,Q.revalidate)(f.queryKey.mcpServer(e))}}),[d,m]=(0,G.useServerAction)(F,{okMessage:"Server deleted",onOk:()=>{n(),(0,Q.revalidate)(f.queryKey.mcp)}}),p=async()=>{await S.notify.confirm({title:`Delete ${e}?`,description:"Its connection and saved authorization go with it.",okText:"Delete",destructive:!0})&&d(e)};if(o)return(0,t.jsx)(W.SettingSkeleton,{rows:4});if(!r)return null;let x=r.tools.length,v=s.trim().toLowerCase(),j=v?r.tools.filter(e=>`${e.name} ${e.description??""}`.toLowerCase().includes(v)):r.tools,b=B(r.config)?"HTTP":"STDIO";return(0,t.jsxs)(W.SettingDialogContent,{title:r.name,description:(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,t.jsx)("span",{className:"shrink-0 rounded-sm bg-muted px-1.5 py-0.5 font-mono text-[10px]",children:b}),(0,t.jsx)("span",{className:"truncate font-mono",children:em(r.config)})]}),footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(g.Button,{variant:"ghost",loading:m,onClick:p,className:"mr-auto text-destructive hover:text-destructive",children:[(0,t.jsx)(u.Trash2,{}),"Delete"]}),(0,t.jsxs)(g.Button,{variant:"outline",loading:c,onClick:()=>i(r.name),children:[(0,t.jsx)(l,{}),"Reconnect"]})]}),children:[r.lastError&&(0,t.jsx)("p",{className:"rounded-lg bg-destructive/10 px-3 py-2 font-mono text-xs text-destructive",children:r.lastError}),(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(W.SettingFilter,{value:s,onChange:a,placeholder:"Filter tools"}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-xs text-muted-foreground",children:[x," ",1===x?"tool":"tools"]})]}),j.map(e=>(0,t.jsx)(ee,{tool:e,serverName:r.name},e.name)),0===j.length&&x>0&&(0,t.jsx)("p",{className:"py-6 text-center text-sm text-muted-foreground",children:"No tool here goes by that."})]})}function Y({server:e}){let s=e.toolCount,r=e.lastError?"error":s>0?"connected":"idle";return(0,t.jsxs)("button",{type:"button",onClick:()=>{S.notify.component({className:"sm:max-w-3xl",renderer:({close:n})=>(0,t.jsx)(X,{name:e.name,onDone:n})})},className:"group flex w-full items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(Z,{server:e})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.name}),"connected"===r&&(0,t.jsx)(n.Check,{className:"size-3 shrink-0 text-muted-foreground"})]}),(0,t.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"error"===r?(0,t.jsx)("span",{className:"text-destructive",children:e.lastError}):(0,t.jsxs)(t.Fragment,{children:[s>0?`${s} ${1===s?"tool":"tools"}`:"No tools yet",(0,t.jsxs)("span",{className:"font-mono text-[11px] text-muted-foreground/70",children:[" · ",em(e.config)]})]})})]}),(0,t.jsx)(a.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}function Z({server:e}){let n,s=(n=V.find(t=>B(t.config)?B(e.config)&&t.config.url.replace(/\/+$/,"")===e.config.url.replace(/\/+$/,""):!B(e.config)&&t.config.command===e.config.command&&(t.config.args??[]).join(" ")===(e.config.args??[]).join(" "))??V.find(t=>t.name===e.name),n?.icon);return s?(0,t.jsx)(w.SiteIcon,{host:s,className:"size-5",fallback:(0,t.jsx)(m,{className:"size-4"})}):(0,t.jsx)(m,{className:"size-4"})}function ee({tool:e,serverName:n}){let[r,o]=(0,h.useState)(!1),[i,c]=(0,h.useState)(!1),[l,d]=(0,h.useState)(!1),m=[["inputSchema",e.inputSchema],["outputSchema",e.outputSchema]].filter(([,e])=>e);return(0,t.jsxs)("div",{className:"rounded-xl border border-border/60 bg-background p-4",children:[(0,t.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-sm",children:e.name}),m.length>0&&(0,t.jsxs)(g.Button,{size:"xs",variant:"ghost",className:"shrink-0 font-mono",onClick:()=>o(!r),children:[r?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(a.ChevronRight,{}),"Schema"]}),(0,t.jsxs)(g.Button,{size:"xs",variant:"ghost",className:"shrink-0 font-mono",onClick:()=>c(!i),children:[i?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(a.ChevronRight,{}),"Test"]})]}),e.description?(0,t.jsx)("p",{className:(0,j.cn)("mt-0.5 text-xs leading-relaxed text-muted-foreground",!l&&"line-clamp-2",e.description.length>140&&"cursor-pointer"),onClick:()=>d(!l),children:e.description}):null,r?(0,t.jsx)("div",{className:"mt-2 space-y-3 overflow-x-auto rounded-lg border border-input p-3",children:m.map(([e,n])=>(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("span",{className:"block font-mono text-xs text-muted-foreground",children:"inputSchema"===e?"in":"out"}),(0,t.jsx)("pre",{className:"font-mono text-xs leading-relaxed whitespace-pre",children:function e(t,n=0){if(!t||"object"!=typeof t)return"unknown";let s=" ".repeat(n+1),a=" ".repeat(n);if(Array.isArray(t.enum))return t.enum.map(e=>JSON.stringify(e)).join(" | ");let r=t.anyOf??t.oneOf;if(Array.isArray(r))return r.map(t=>e(t,n)).join(" | ");if("array"===t.type){let s=e(t.items,n);return/[|{]/.test(s)?`(${s})[]`:`${s}[]`}if("object"===t.type||t.properties){let r=t.properties;if(!r||0===Object.keys(r).length)return"{}";let o=t.required??[],i=Object.entries(r).map(([t,a])=>{let r=o.includes(t)?"":"?",i=a?.description,c="string"==typeof i&&i.length<=60?` // ${i}`:"";return`${s}${t}${r}: ${e(a,n+1)}${c}`});return`{
2
2
  ${i.join("\n")}
3
3
  ${a}}`}return Array.isArray(t.type)?t.type.join(" | "):"string"==typeof t.type?t.type:"unknown"}(n)})]},e))}):null,i?(0,t.jsx)(et,{tool:e,serverName:n}):null]})}function et({tool:e,serverName:n}){let[s,a]=(0,h.useState)(()=>(function(e){let t=e.inputSchema?.properties;if(!t||"object"!=typeof t)return"{}";let n={};for(let[e,s]of Object.entries(t))n[e]=s?.type==="number"||s?.type==="integer"?0:s?.type!=="boolean"&&(s?.type==="array"?[]:s?.type==="object"?{}:"");return JSON.stringify(n,null,2)})(e)),[o,i]=(0,h.useState)(""),[c,l,d,m,u]=(0,G.useServerAction)(P,{errorMessage:!1});return(0,t.jsxs)("div",{className:"mt-2 space-y-2 rounded-lg border border-input p-3",children:[(0,t.jsx)(O.Textarea,{value:s,onChange:e=>a(e.target.value),spellCheck:!1,className:"min-h-24 resize-none font-mono text-xs"}),(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-xs text-destructive",children:o||m}),(0,t.jsxs)(g.Button,{size:"sm",loading:l,onClick:()=>{let t;try{t=s.trim()?JSON.parse(s):void 0}catch{i("Not valid JSON");return}i(""),u(),c(n,e.name,t)},children:[!l&&(0,t.jsx)(r.Play,{}),"Run"]})]}),void 0!==d&&(0,t.jsx)("div",{className:"overflow-x-auto rounded-lg bg-muted/40 p-3",children:(0,t.jsx)(b,{data:d,initialExpandDepth:3})})]})}function en(e){return S.notify.component({className:"sm:max-w-lg",renderer:({close:n})=>(0,t.jsx)(es,{initial:e,onDone:n})})}function es({initial:e,onDone:n}){let s=e&&B(e.config)?e.config:void 0,a=e&&!B(e.config)?e.config:void 0,[r,o]=(0,_.useObjectState)({mode:a?"stdio":"http",name:e?.name??"",url:s?.url??"",headers:eo(s?.headers),command:a?.command??"",args:(a?.args??[]).join(" "),env:eo(a?.env),raw:""}),{mode:i,name:c,url:l,headers:d,command:m,args:u,env:p,raw:f}=r,[j,b]=(0,G.useServerAction)(R,{...el,onOk:e=>{el.onOk(e),"error"!==e.status&&n()}}),y=(0,h.useMemo)(()=>{var e,t,n,s,a;let r,o;return"json"===i?function(e){let t,n=e.trim();if(!n)return{value:null,error:""};try{t=JSON.parse(n)}catch{return{value:null,error:"Not valid JSON"}}let s=I.safeParse(t);if(s.success)return{value:{name:null,config:s.data},error:""};let a=H.safeParse(t);if(!a.success)return{value:null,error:"Needs a url or a command"};let r=Object.entries("mcpServers"in a.data?a.data.mcpServers:a.data)[0];return r?{value:{name:r[0],config:r[1]},error:""}:{value:null,error:"No server in there"}}(f):"http"===i?(e=l,t=d,(r=L.safeParse({url:e.trim(),headers:ei(t)})).success?{value:{name:null,config:r.data},error:""}:{value:null,error:e.trim()?"Needs a valid url":""}):(n=m,s=u,a=p,(o=E.safeParse({command:n.trim(),args:s.split(/\s+/).filter(Boolean),env:ei(a)})).success?{value:{name:null,config:o.data},error:""}:{value:null,error:n.trim()?"Needs a command":""})},[i,f,l,d,m,u,p]),N="json"===i?f:JSON.stringify([i,l,d,m,u,p]),[k,S]=(0,h.useState)(N);(0,h.useEffect)(()=>{let e=setTimeout(()=>S(N),700);return()=>clearTimeout(e)},[N]);let w=k===N?y.error:"",A=c||y.value?.name||"",T=K.safeParse({name:A,config:y.value?.config});function P(e){let t=y.value?.config;return t?"json"===e?o({mode:e,raw:JSON.stringify(t,null,2)}):"http"===e&&B(t)?o({mode:e,url:t.url,headers:eo(t.headers)}):"stdio"!==e||B(t)?void o({mode:e}):o({mode:e,command:t.command,args:(t.args??[]).join(" "),env:eo(t.env)}):o({mode:e})}let F=(0,t.jsxs)("span",{className:"flex items-center gap-2 font-mono text-xs text-muted-foreground",children:["JSON",(0,t.jsx)(z.Switch,{size:"sm",checked:"json"===i,onCheckedChange:e=>{let t;return e?P("json"):void P((t=y.value?.config)&&!B(t)?"stdio":"http")}})]});return(0,t.jsx)(W.SettingDialogContent,{title:"Add MCP server",description:"Its tools become available to every bot.",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.Button,{variant:"ghost",onClick:n,children:"Cancel"}),(0,t.jsx)(g.Button,{disabled:!T.success,loading:b,onClick:()=>{T.success&&!b&&j(T.data)},children:"Connect"})]}),children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:"Name"}),(0,t.jsx)(v.Input,{value:A,onChange:e=>o({name:e.target.value}),placeholder:"notion",spellCheck:!1})]}),"json"===i?(0,t.jsxs)(x.Field,{children:[(0,t.jsxs)("div",{className:"flex min-h-6 items-center justify-between gap-2",children:[(0,t.jsx)(x.FieldLabel,{children:"JSON"}),F]}),(0,t.jsx)(O.Textarea,{value:f,onChange:e=>o({raw:e.target.value}),spellCheck:!1,placeholder:ec,className:"min-h-64 resize-none font-mono text-xs"})]}):(0,t.jsxs)(C.Tabs,{value:i,onValueChange:e=>P(e),className:"gap-6",children:[(0,t.jsxs)(x.Field,{children:[(0,t.jsxs)("div",{className:"flex min-h-6 items-center justify-between gap-2",children:[(0,t.jsx)(x.FieldLabel,{children:"Transport"}),F]}),(0,t.jsxs)(C.TabsList,{className:"w-full",children:[(0,t.jsx)(C.TabsTrigger,{value:"http",children:"HTTP"}),(0,t.jsx)(C.TabsTrigger,{value:"stdio",children:"STDIO"})]})]}),(0,t.jsxs)(C.TabsContent,{value:"http",className:"space-y-6",children:[(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:"URL"}),(0,t.jsx)(v.Input,{value:l,onChange:e=>o({url:e.target.value}),placeholder:"https://mcp.notion.com/mcp",spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsx)(ea,{label:"Headers",pairs:d,onChange:e=>o({headers:e}),keyPlaceholder:"Authorization",valuePlaceholder:"Bearer sk-..."})]}),(0,t.jsxs)(C.TabsContent,{value:"stdio",className:"space-y-6",children:[(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:"Command"}),(0,t.jsx)(v.Input,{value:m,onChange:e=>o({command:e.target.value}),placeholder:"npx",spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:"Args"}),(0,t.jsx)(v.Input,{value:u,onChange:e=>o({args:e.target.value}),placeholder:"-y @notionhq/notion-mcp-server",spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsx)(ea,{label:"Env",pairs:p,onChange:e=>o({env:e}),keyPlaceholder:"NOTION_TOKEN",valuePlaceholder:"ntn_..."})]})]}),w&&(0,t.jsx)("p",{className:"font-mono text-xs text-destructive",children:w})]})})}function ea({label:e,pairs:n,onChange:s,keyPlaceholder:a,valuePlaceholder:r}){let i=(e,t)=>s(n.map(n=>n.id===e?{...n,...t}:n));return(0,t.jsxs)(x.Field,{children:[(0,t.jsx)(x.FieldLabel,{children:e}),(0,t.jsxs)("div",{className:"space-y-2",children:[n.map(e=>(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(v.Input,{value:e.key,onChange:t=>i(e.id,{key:t.target.value}),placeholder:a,spellCheck:!1,className:"font-mono text-xs"}),(0,t.jsx)(v.Input,{value:e.value,onChange:t=>i(e.id,{value:t.target.value}),placeholder:r,spellCheck:!1,className:"font-mono text-xs"}),(0,t.jsx)(g.Button,{variant:"ghost",size:"icon","aria-label":"Remove this row",onClick:()=>s(n.filter(t=>t.id!==e.id)),children:(0,t.jsx)(p.X,{})})]},e.id)),(0,t.jsxs)(g.Button,{variant:"outline",size:"sm",onClick:()=>s([...n,er()]),children:[(0,t.jsx)(o.Plus,{}),"Add"]})]})]})}let er=(e="",t="")=>({id:crypto.randomUUID(),key:e,value:t}),eo=e=>Object.entries(e??{}).map(([e,t])=>er(e,t)),ei=e=>{let t=e.filter(e=>e.key.trim());if(t.length)return Object.fromEntries(t.map(e=>[e.key.trim(),e.value]))},ec=`/** STDIO Example */
4
4
  {
@@ -1,2 +1,2 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,986530,e=>{"use strict";var t=e.i(843476),a=e.i(225913);e.i(271645);var r=e.i(647163);function s({className:e,...a}){return(0,t.jsx)("label",{"data-slot":"label",className:(0,r.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...a})}e.i(652225);let i=(0,a.cva)("group/field flex w-full gap-2 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:"flex-col *:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});e.s(["Field",0,function({className:e,orientation:a="vertical",...s}){return(0,t.jsx)("div",{role:"group","data-slot":"field","data-orientation":a,className:(0,r.cn)(i({orientation:a}),e),...s})},"FieldContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"field-content",className:(0,r.cn)("group/field-content flex flex-1 flex-col gap-0.5 leading-snug",e),...a})},"FieldLabel",0,function({className:e,...a}){return(0,t.jsx)(s,{"data-slot":"field-label",className:(0,r.cn)("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",e),...a})}],986530)},556133,e=>{"use strict";var t=e.i(843476),a=e.i(401851),r=e.i(689664),s=e.i(867927),i=e.i(456420);let n={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};n.node;let l=(0,i.default)(n);var o=e.i(77071),d=e.i(759659),c=e.i(263676),u=e.i(271645),m=e.i(798120),h=e.i(167881),f=e.i(986530),x=e.i(23750),p=e.i(917162),g=e.i(671428),v=e.i(127341),b=e.i(184762),j=e.i(41533),y=e.i(968978),k=e.i(265402),N=e.i(670097),S=e.i(640262),w=e.i(96892);let C={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};C.node;let M=(0,i.default)(C);var z=e.i(716327),T=e.i(632781),F=e.i(935829),A=e.i(660302),R=e.i(146538),L=e.i(213377),O=e.i(647163);let E=new S.DefaultChatTransport({api:m.queryKey.memoryEdit});function I({notes:e}){let[a,r]=(0,u.useState)(""),[s,i]=(0,u.useState)({provider:null,model:""}),[n,l]=(0,u.useState)(!1),{messages:o,sendMessage:d,setMessages:c,status:m,stop:f,error:x,clearError:p}=(0,N.useChat)({transport:E}),g=(0,u.useRef)(f);g.current=f,(0,u.useEffect)(()=>()=>{g.current()},[]);let v=(0,u.useRef)(new Map);for(let t of e)for(let e of t.facts)v.current.set(e.id,{text:e.text,path:t.path});let b="submitted"===m||"streaming"===m,j=!!(s.provider&&s.model.trim()),k=[...o].reverse().find(e=>"assistant"===e.role),C=k?.parts??[],M=C.filter(S.isToolUIPart),T=C.flatMap(e=>"text"===e.type?[e.text]:[]).join(" ").trim(),F=!!x||M.some(e=>"output-error"===e.state),$=M.filter(e=>"output-available"===e.state&&(0,S.getToolName)(e)!==L.TOOL_NAMES.memory_recall).length;(0,u.useEffect)(()=>{if("ready"!==m||F||0===o.length)return;let e=setTimeout(()=>c([]),4e3);return()=>clearTimeout(e)},[m,F,o.length,c]);let B=b?(0,t.jsx)(A.ShinyText,{text:"Working on memory",className:"text-xs"}):x?(0,t.jsx)("span",{className:"text-xs text-destructive",children:x.message}):k?(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:T||(0===$?"Nothing to change":1===$?"1 change saved":`${$} changes saved`)}):null;return(0,t.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,t.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[n&&(0,t.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,t.jsx)(R.ModelPicker,{provider:s.provider,model:s.model,unset:"Provider",onChange:i})}),M.length>0&&(0,t.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:M.map(e=>(0,t.jsx)(P,{name:(0,S.getToolName)(e),input:e.input,state:e.state,errorText:"output-error"===e.state?e.errorText:void 0,known:v.current},e.toolCallId))}),B&&(0,t.jsx)("p",{className:"max-w-full truncate px-1",children:B}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=a.trim();t&&j&&!b&&(r(""),l(!1),p(),c([]),d({text:t},{body:{model:s}}))},className:"flex h-10 w-full items-center gap-1.5 rounded-xl bg-popover pr-1.5 pl-3.5 shadow-lg ring-1 ring-foreground/10",children:[(0,t.jsx)("input",{autoFocus:!0,value:a,onChange:e=>r(e.target.value),disabled:b,"aria-label":"Edit memory",placeholder:"Tell memory what changed",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-60"}),(0,t.jsxs)(h.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>l(!n),className:(0,O.cn)("max-w-44",!j&&"text-muted-foreground"),children:[j&&s.provider?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(y.ProviderIcon,{provider:s.provider,className:"size-3"}),(0,t.jsx)("span",{className:"truncate",children:s.model})]}):"Model",(0,t.jsx)(z.ChevronDown,{className:"text-muted-foreground"})]}),(0,t.jsx)(h.Button,{type:"submit",size:"icon-sm",loading:b,disabled:!a.trim()||!j||b,"aria-label":"Send",children:!b&&(0,t.jsx)(w.ArrowUp,{})})]})]})})}let $={Remember:o.Plus,Replace:l,Forget:F.Minus,Rename:l,Opened:M};function P({name:e,input:a,state:s,errorText:i,known:n}){let l=function(e,t,a){if(e===L.TOOL_NAMES.memory_recall)return{kind:"Opened",path:(t??{}).path??"",lines:[]};if(e===L.TOOL_NAMES.memory_describe){let e=t??{};return{kind:"Rename",path:e.path??"",lines:e.description?[{after:`“${e.description}”`}]:[]}}if(e===L.TOOL_NAMES.memory_forget){let e=((t??{}).factIds??[]).filter(e=>null!=e),r=e.map(e=>a.get(e));return{kind:"Forget",path:r.find(e=>e)?.path??"",lines:e.map((e,t)=>({before:r[t]?.text??`Fact #${e}`}))}}let r=t??{},s=r.path??"",i=(r.facts??[]).filter(e=>null!=e),n=i.map(e=>null!=e.replaces?{before:a.get(e.replaces)?.text??`Fact #${e.replaces}`,after:e.text}:{after:e.text});return e===L.TOOL_NAMES.memory_create&&r.description&&n.unshift({after:`“${r.description}”`}),{kind:i.some(e=>null!=e.replaces)?"Replace":"Remember",path:s,lines:n}}(e,a,n),o=$[l.kind],d="output-error"===s;return(0,t.jsxs)("li",{className:"flex animate-in items-start gap-2.5 px-3 py-2.5 duration-200 fade-in slide-in-from-bottom-1",children:[(0,t.jsx)(o,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[l.lines.map((e,a)=>(0,t.jsxs)("div",{children:[e.before&&(0,t.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:e.before}),e.after&&(0,t.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:e.after})]},`${l.kind}-${a}`)),(0,t.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[l.kind,l.path&&` \xb7 ${l.path}`]}),d&&i&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:i})]}),(0,t.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:d?(0,t.jsx)(c.X,{className:"size-3.5 text-destructive"}):"output-available"===s?(0,t.jsx)(r.Check,{className:"size-3.5"}):(0,t.jsx)(T.Loader2,{className:"size-3.5 animate-spin"})})]})}var B=e.i(95187);let D=(0,B.createServerReference)("7f514507aa3e03b8114e1ae21ea0f9d1177d1bd921",B.callServer,void 0,B.findSourceMapURL,"addFactsAction"),_=(0,B.createServerReference)("7f37d1eb5dbeb3a76291c30a68837e065d03d44edf",B.callServer,void 0,B.findSourceMapURL,"createNoteAction"),K=(0,B.createServerReference)("7fdc1c1ad51ef63c641bb258dcb66c4c8604b8c49c",B.callServer,void 0,B.findSourceMapURL,"deleteNoteAction"),U=(0,B.createServerReference)("7fa1e4aefcff8b4d26db50f0ca371326c64d147461",B.callServer,void 0,B.findSourceMapURL,"forgetFactAction"),q=(0,B.createServerReference)("7f594531f6528f1c98632cfb9450ee8f533b088e7c",B.callServer,void 0,B.findSourceMapURL,"reviseFactAction"),V=(0,B.createServerReference)("7f74bfdaa7335873eda514d33eeabc4ea6cd4d6666",B.callServer,void 0,B.findSourceMapURL,"updateNoteAction");var Y=e.i(681307),H=e.i(245629);let W=Y.z.enum(["user","call","bot"]);Y.z.string().trim().min(1,"A note needs a line saying what it is about").max(j.MEMORY_LIMITS.descriptionChars,`A note's line is one line: at most ${j.MEMORY_LIMITS.descriptionChars} characters`);let X=Y.z.object({id:Y.z.number(),text:Y.z.string(),source:W.nullish(),createdAt:H.DateLikeSchema});Y.z.object({id:Y.z.number(),path:Y.z.string(),description:Y.z.string(),ownedByUser:Y.z.boolean(),hits:Y.z.number(),lastReadAt:H.DateLikeSchema.nullable(),createdAt:H.DateLikeSchema,updatedAt:H.DateLikeSchema,factCount:Y.z.number(),facts:X.array()});let G=[{path:"profile",of:"The user themselves — name, age, what they do, where they live, whatever else says who they are"},{path:"preferences",of:"How they want things done, and said — read whole on every call, so a rule for a particular situation goes here too"},{path:"people/",of:"Someone in their life, and what matters about them"},{path:"projects/",of:"Something with an end — a trip, a purchase, a deadline, a thing being built"},{path:"topics/",of:"Something ongoing that keeps coming back"}],Z=G.filter(e=>!e.path.endsWith("/")).map(e=>e.path),J=G.filter(e=>e.path.endsWith("/")).map(e=>e.path.slice(0,-1));RegExp(`^(?:${Z.join("|")}|(?:${J.join("|")})/.+)$`);var Q=e.i(895836),ee=e.i(319841),et=e.i(609856),ea=e.i(661504),er=e.i(283653);let es=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"other",label:"Other"}],ei={onOk:()=>(0,er.revalidate)(m.queryKey.memory)},en=k.textModelProviderSchema.options.filter(e=>"chatgpt"!==e).slice(0,3);function el(){return(0,t.jsx)("span",{className:"mr-0.5 flex items-center",children:en.map(e=>(0,t.jsx)("span",{className:"-ml-1.5 grid size-5 place-items-center rounded-full bg-background ring-1 ring-border first:ml-0",children:(0,t.jsx)(y.ProviderIcon,{provider:e,className:"size-3"})},e))})}function eo(e,t){return a=>{(0,ee.composing)(a)||("Enter"===a.key&&(a.preventDefault(),e()),"Escape"===a.key&&(a.stopPropagation(),t()))}}function ed({note:e,open:a,onToggle:r}){var i;let n,o,c,m,f,[x,g]=(0,u.useState)(!1),[v,b]=(0,et.useServerAction)(K,ei),j=async()=>{await p.notify.confirm({title:`Forget ${e.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&v(e.id)},y=(0,t.jsx)("span",{className:"w-36 shrink-0 truncate text-sm font-medium",children:-1===(n=(i=e.path).indexOf("/"))?i:i.slice(n+1)});return(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"flex h-12 items-center gap-3 pr-2 pl-4",children:x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.ChevronRight,{className:"size-3.5 shrink-0 rotate-90 text-muted-foreground"}),y,(0,t.jsx)(ec,{note:e,onDone:()=>g(!1)})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{type:"button","aria-expanded":a,onClick:r,className:(0,O.cn)("flex h-full min-w-0 flex-1 items-center gap-3 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",(o=e.path,!Z.includes(o)&&.15>(c=(0,H.toDate)(e.lastReadAt??e.createdAt),m=Math.max(0,(Date.now()-c.getTime())/864e5),(e.hits+1)/(1+m))&&!a&&"opacity-55")),children:[(0,t.jsx)(s.ChevronRight,{className:(0,O.cn)("size-3.5 shrink-0 text-muted-foreground transition-transform",a&&"rotate-90")}),y,(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[13px] text-muted-foreground",children:e.description}),(0,t.jsxs)("span",{className:"w-16 shrink-0 text-right font-mono text-[11px] text-muted-foreground/70",children:[e.factCount," ",1===e.factCount?"fact":"facts"]}),(0,t.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground/50",title:e.lastReadAt?"Last read back":"Never read back",children:e.lastReadAt?(0,H.shortAgo)(e.lastReadAt):"—"})]}),(0,t.jsx)("span",{className:"flex w-15 shrink-0 justify-end",children:a&&(0,t.jsxs)(t.Fragment,{children:[(f=e.path,!Z.includes(f)&&(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost",className:"text-muted-foreground","aria-label":"Edit the note's line",onClick:()=>g(!0),children:(0,t.jsx)(l,{})})),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost",className:"text-muted-foreground","aria-label":"Forget this note",loading:b,onClick:j,children:!b&&(0,t.jsx)(d.Trash2,{})})]})})]})}),a&&(0,t.jsxs)("div",{className:"space-y-1 border-t border-border/60 bg-muted/40 py-2.5 pr-2 pl-10",children:[(0,t.jsx)(eu,{noteId:e.id}),e.facts.map(a=>(0,t.jsx)(em,{noteId:e.id,fact:a},a.id))]})]})}function ec({note:e,onDone:a}){let[s,i]=(0,u.useState)(e.description),[n,l]=(0,et.useServerAction)(V,{onOk:()=>{a(),(0,er.revalidate)(m.queryKey.memory)}}),o=()=>{let t=s.trim();if(!t||t===e.description)return a();n(e.id,{description:t})};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Input,{autoFocus:!0,value:s,onChange:e=>i(e.target.value),onKeyDown:eo(o,a),"aria-label":"The note's line",placeholder:"One line Thursday sees in her list",maxLength:j.MEMORY_LIMITS.descriptionChars,className:"h-8 min-w-0 flex-1 text-[13px]"}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost","aria-label":"Save",loading:l,onClick:o,children:!l&&(0,t.jsx)(r.Check,{})}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost","aria-label":"Cancel",onClick:a,children:(0,t.jsx)(c.X,{})})]})}function eu({noteId:e}){let[a,r]=(0,u.useState)(""),[s,i]=(0,et.useServerAction)(D,{onOk:()=>{r(""),(0,er.revalidate)(m.queryKey.memory)}}),n=()=>{let t=a.trim();t&&!i&&s(e,[t])};return(0,t.jsxs)("div",{className:"flex items-center gap-1.5 pb-1",children:[(0,t.jsx)(x.Input,{value:a,onChange:e=>r(e.target.value),onKeyDown:eo(n,()=>r("")),"aria-label":"Add a fact",placeholder:"Add a fact",className:"h-8 min-w-0 flex-1 bg-background text-sm"}),(0,t.jsxs)(h.Button,{size:"sm",variant:"outline",loading:i,disabled:!a.trim(),onClick:n,children:[!i&&(0,t.jsx)(o.Plus,{}),"Add"]})]})}function em({noteId:e,fact:s}){let i,[n,o]=(0,u.useState)(!1),[f,g]=(0,u.useState)(s.text),[v,b]=(0,et.useServerAction)(q,{onOk:()=>{o(!1),(0,er.revalidate)(m.queryKey.memory)}}),[j,y]=(0,et.useServerAction)(U,ei),k=async()=>{await p.notify.confirm({title:"Forget this fact?",description:`"${s.text}" is deleted for good.`,okText:"Delete",destructive:!0})&&j(e,s.id)},N=()=>{let t=f.trim();if(!t||t===s.text)return o(!1);v(e,s.id,t)},S="user"===(i=s.source)?"you":"call"===i?"on a call":"bot"===i?"a bot":"";return(0,t.jsx)("div",{className:"flex min-h-10 items-center gap-1.5",children:n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Input,{autoFocus:!0,value:f,onChange:e=>g(e.target.value),onKeyDown:eo(N,()=>o(!1)),"aria-label":"Fact",className:"h-8 min-w-0 flex-1 bg-background text-sm"}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost","aria-label":"Save",loading:b,onClick:N,children:!b&&(0,t.jsx)(r.Check,{})}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost","aria-label":"Cancel",onClick:()=>o(!1),children:(0,t.jsx)(c.X,{})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 pl-1 text-sm leading-relaxed text-foreground/90",children:s.text}),(0,t.jsxs)("span",{className:"shrink-0 pr-1 font-mono text-[11px] text-muted-foreground/50",children:[(0,a.format)(s.createdAt,"yyyy.MM.dd"),S&&` \xb7 ${S}`]}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost",className:"text-muted-foreground","aria-label":"Edit this fact",onClick:()=>{g(s.text),o(!0)},children:(0,t.jsx)(l,{})}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost",className:"text-muted-foreground","aria-label":"Forget this fact",loading:y,onClick:()=>void k(),children:!y&&(0,t.jsx)(d.Trash2,{})})]})})}let eh=[{key:"people",label:"Person",placeholder:"jihoon",fact:"Moved to the platform team in March"},{key:"projects",label:"Project",placeholder:"thursday",fact:"Ships behind a feature flag until April"},{key:"topics",label:"Topic",placeholder:"scheduling",fact:"No meetings before 10am"}];function ef(){return p.notify.component({className:"sm:max-w-lg",renderer:({close:e})=>(0,t.jsx)(ex,{onDone:e})})}function ex({onDone:e}){let[a,r]=(0,u.useState)("people"),[s,i]=(0,u.useState)(""),[n,l]=(0,u.useState)(""),[d,c]=(0,u.useState)(""),[p,g,,y]=(0,et.useServerAction)(_,{errorMessage:!1,onOk:()=>{(0,er.revalidate)(m.queryKey.memory),e()}}),k=eh.find(e=>e.key===a),N=s.trim()&&n.trim()&&!g,S=()=>{N&&p(`${a}/${s.trim()}`,n.trim(),d.split("\n").map(e=>e.trim()).filter(Boolean))};return(0,t.jsxs)(Q.SettingDialogContent,{title:"New note",description:"Where Thursday keeps what she learns about this.",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h.Button,{variant:"ghost",onClick:e,children:"Cancel"}),(0,t.jsxs)(h.Button,{disabled:!N,loading:g,onClick:S,children:[!g&&(0,t.jsx)(o.Plus,{}),"Create"]})]}),children:[(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)(f.Field,{children:[(0,t.jsx)(f.FieldLabel,{children:"Kind"}),(0,t.jsx)(v.Tabs,{value:a,onValueChange:e=>r(e),children:(0,t.jsx)(v.TabsList,{className:"w-full",children:eh.map(e=>(0,t.jsx)(v.TabsTrigger,{value:e.key,children:e.label},e.key))})})]}),(0,t.jsxs)(f.Field,{children:[(0,t.jsx)(f.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,t.jsxs)(f.FieldContent,{children:[(0,t.jsx)(x.Input,{id:"note-name",value:s,onChange:e=>i(e.target.value),placeholder:k?.placeholder,spellCheck:!1,required:!0}),(0,t.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[a,"/",s.trim()||"…"]})]})]}),(0,t.jsxs)(f.Field,{children:[(0,t.jsx)(f.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,t.jsx)(f.FieldContent,{children:(0,t.jsx)(x.Input,{id:"note-summary",value:n,onChange:e=>l(e.target.value),onKeyDown:e=>{e.nativeEvent.isComposing||229===e.keyCode||"Enter"===e.key&&S()},placeholder:"One line Thursday sees in her list",maxLength:j.MEMORY_LIMITS.descriptionChars,required:!0})})]}),(0,t.jsxs)(f.Field,{children:[(0,t.jsx)(f.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,t.jsx)(b.Textarea,{id:"note-facts",value:d,onChange:e=>c(e.target.value),placeholder:`One per line
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,986530,e=>{"use strict";var t=e.i(843476),a=e.i(225913);e.i(271645);var r=e.i(647163);function s({className:e,...a}){return(0,t.jsx)("label",{"data-slot":"label",className:(0,r.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...a})}e.i(652225);let i=(0,a.cva)("group/field flex w-full gap-2 data-[invalid=true]:text-destructive",{variants:{orientation:{vertical:"flex-col *:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center has-[>[data-slot=field-content]]:items-start *:data-[slot=field-label]:flex-auto has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col *:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:*:w-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:*:data-[slot=field-label]:flex-auto [&>.sr-only]:w-auto @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});e.s(["Field",0,function({className:e,orientation:a="vertical",...s}){return(0,t.jsx)("div",{role:"group","data-slot":"field","data-orientation":a,className:(0,r.cn)(i({orientation:a}),e),...s})},"FieldContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"field-content",className:(0,r.cn)("group/field-content flex flex-1 flex-col gap-0.5 leading-snug",e),...a})},"FieldLabel",0,function({className:e,...a}){return(0,t.jsx)(s,{"data-slot":"field-label",className:(0,r.cn)("group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50 has-data-checked:border-primary/30 has-data-checked:bg-primary/5 has-[>[data-slot=field]]:rounded-lg has-[>[data-slot=field]]:border has-[>[data-slot=field]]:not-has-[:disabled,[data-disabled]]:hover:bg-muted/50 has-[>[data-slot=field]]:has-[:focus-visible]:border-ring has-[>[data-slot=field]]:has-[:focus-visible]:ring-3 has-[>[data-slot=field]]:has-[:focus-visible]:ring-ring/50 *:data-[slot=field]:p-2.5 dark:has-data-checked:border-primary/20 dark:has-data-checked:bg-primary/10","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",e),...a})}],986530)},556133,e=>{"use strict";var t=e.i(843476),a=e.i(401851),r=e.i(689664),s=e.i(867927),i=e.i(456420);let n={name:"pencil",size:24,node:[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]};n.node;let l=(0,i.default)(n);var o=e.i(77071),d=e.i(759659),c=e.i(263676),u=e.i(271645),m=e.i(798120),h=e.i(167881),f=e.i(986530),x=e.i(23750),p=e.i(917162),g=e.i(671428),v=e.i(127341),b=e.i(184762),j=e.i(41533),y=e.i(968978),k=e.i(265402),N=e.i(670097),S=e.i(640262),w=e.i(96892);let C={name:"book-open",size:24,node:[["path",{d:"M12 5v16",key:"1f6ucr"}],["path",{d:"M20.001 19A2 2 0 0022 17V5a2 2 0 00-1.999-2L16 3.002A5 5 0 0012 5a5 5 0 00-4-2H4a2 2 0 00-2 2v12a2 2 0 001.999 2H8a5 5 0 014 2 5 5 0 014-2z",key:"1fyvmf"}]]};C.node;let M=(0,i.default)(C);var z=e.i(716327),T=e.i(632781),F=e.i(935829),A=e.i(660302),R=e.i(146538),L=e.i(213377),O=e.i(647163);let E=new S.DefaultChatTransport({api:m.queryKey.memoryEdit});function I({notes:e}){let[a,r]=(0,u.useState)(""),[s,i]=(0,u.useState)({provider:null,model:""}),[n,l]=(0,u.useState)(!1),{messages:o,sendMessage:d,setMessages:c,status:m,stop:f,error:x,clearError:p}=(0,N.useChat)({transport:E}),g=(0,u.useRef)(f);g.current=f,(0,u.useEffect)(()=>()=>{g.current()},[]);let v=(0,u.useRef)(new Map);for(let t of e)for(let e of t.facts)v.current.set(e.id,{text:e.text,path:t.path});let b="submitted"===m||"streaming"===m,j=!!(s.provider&&s.model.trim()),k=[...o].reverse().find(e=>"assistant"===e.role),C=k?.parts??[],M=C.filter(S.isToolUIPart),T=C.flatMap(e=>"text"===e.type?[e.text]:[]).join(" ").trim(),F=!!x||M.some(e=>"output-error"===e.state),$=M.filter(e=>"output-available"===e.state&&(0,S.getToolName)(e)!==L.TOOL_NAMES.memory_recall).length;(0,u.useEffect)(()=>{if("ready"!==m||F||0===o.length)return;let e=setTimeout(()=>c([]),4e3);return()=>clearTimeout(e)},[m,F,o.length,c]);let B=b?(0,t.jsx)(A.ShinyText,{text:"Working on memory",className:"text-xs"}):x?(0,t.jsx)("span",{className:"text-xs text-destructive",children:x.message}):k?(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:T||(0===$?"Nothing to change":1===$?"1 change saved":`${$} changes saved`)}):null;return(0,t.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-18 z-10 flex justify-center px-8",children:(0,t.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-120 flex-col items-center gap-2",children:[n&&(0,t.jsx)("div",{className:"w-full rounded-xl bg-popover p-2 shadow-lg ring-1 ring-foreground/10",children:(0,t.jsx)(R.ModelPicker,{provider:s.provider,model:s.model,unset:"Provider",onChange:i})}),M.length>0&&(0,t.jsx)("ul",{className:"w-full divide-y divide-border/60 overflow-hidden rounded-xl bg-popover shadow-lg ring-1 ring-foreground/10",children:M.map(e=>(0,t.jsx)(P,{name:(0,S.getToolName)(e),input:e.input,state:e.state,errorText:"output-error"===e.state?e.errorText:void 0,known:v.current},e.toolCallId))}),B&&(0,t.jsx)("p",{className:"max-w-full truncate px-1",children:B}),(0,t.jsxs)("form",{onSubmit:e=>{e.preventDefault();let t=a.trim();t&&j&&!b&&(r(""),l(!1),p(),c([]),d({text:t},{body:{model:s}}))},className:"flex h-10 w-full items-center gap-1.5 rounded-xl bg-popover pr-1.5 pl-3.5 shadow-lg ring-1 ring-foreground/10",children:[(0,t.jsx)("input",{autoFocus:!0,value:a,onChange:e=>r(e.target.value),disabled:b,"aria-label":"Edit memory",placeholder:"Tell memory what changed",className:"min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground disabled:opacity-60"}),(0,t.jsxs)(h.Button,{type:"button",size:"xs",variant:"ghost",onClick:()=>l(!n),className:(0,O.cn)("max-w-44",!j&&"text-muted-foreground"),children:[j&&s.provider?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(y.ProviderIcon,{provider:s.provider,className:"size-3"}),(0,t.jsx)("span",{className:"truncate",children:s.model})]}):"Model",(0,t.jsx)(z.ChevronDown,{className:"text-muted-foreground"})]}),(0,t.jsx)(h.Button,{type:"submit",size:"icon-sm",loading:b,disabled:!a.trim()||!j||b,"aria-label":"Send",children:!b&&(0,t.jsx)(w.ArrowUp,{})})]})]})})}let $={Remember:o.Plus,Replace:l,Forget:F.Minus,Rename:l,Opened:M};function P({name:e,input:a,state:s,errorText:i,known:n}){let l=function(e,t,a){if(e===L.TOOL_NAMES.memory_recall)return{kind:"Opened",path:(t??{}).path??"",lines:[]};if(e===L.TOOL_NAMES.memory_describe){let e=t??{};return{kind:"Rename",path:e.path??"",lines:e.description?[{after:`“${e.description}”`}]:[]}}if(e===L.TOOL_NAMES.memory_forget){let e=((t??{}).factIds??[]).filter(e=>null!=e),r=e.map(e=>a.get(e));return{kind:"Forget",path:r.find(e=>e)?.path??"",lines:e.map((e,t)=>({before:r[t]?.text??`Fact #${e}`}))}}let r=t??{},s=r.path??"",i=(r.facts??[]).filter(e=>null!=e),n=i.map(e=>null!=e.replaces?{before:a.get(e.replaces)?.text??`Fact #${e.replaces}`,after:e.text}:{after:e.text});return e===L.TOOL_NAMES.memory_create&&r.description&&n.unshift({after:`“${r.description}”`}),{kind:i.some(e=>null!=e.replaces)?"Replace":"Remember",path:s,lines:n}}(e,a,n),o=$[l.kind],d="output-error"===s;return(0,t.jsxs)("li",{className:"flex animate-in items-start gap-2.5 px-3 py-2.5 duration-200 fade-in slide-in-from-bottom-1",children:[(0,t.jsx)(o,{className:"mt-1 size-3.5 shrink-0 text-muted-foreground"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-0.5",children:[l.lines.map((e,a)=>(0,t.jsxs)("div",{children:[e.before&&(0,t.jsx)("p",{className:"text-[13px] leading-5 text-muted-foreground/60 line-through",children:e.before}),e.after&&(0,t.jsx)("p",{className:"text-sm leading-5 text-foreground/90",children:e.after})]},`${l.kind}-${a}`)),(0,t.jsxs)("p",{className:"pt-0.5 font-mono text-[11px] text-muted-foreground",children:[l.kind,l.path&&` \xb7 ${l.path}`]}),d&&i&&(0,t.jsx)("p",{className:"text-xs text-destructive",children:i})]}),(0,t.jsx)("span",{className:"mt-0.5 flex size-5 shrink-0 items-center justify-center text-muted-foreground",children:d?(0,t.jsx)(c.X,{className:"size-3.5 text-destructive"}):"output-available"===s?(0,t.jsx)(r.Check,{className:"size-3.5"}):(0,t.jsx)(T.Loader2,{className:"size-3.5 animate-spin"})})]})}var B=e.i(95187);let D=(0,B.createServerReference)("7fa31767ec3b5032a5871f9012317613c15f78f2b9",B.callServer,void 0,B.findSourceMapURL,"addFactsAction"),_=(0,B.createServerReference)("7f2fffcafc33e4417274b94bb6169b63543c643bf2",B.callServer,void 0,B.findSourceMapURL,"createNoteAction"),K=(0,B.createServerReference)("7f12447d33ce366e085df1066e96f0518d58e9b13b",B.callServer,void 0,B.findSourceMapURL,"deleteNoteAction"),U=(0,B.createServerReference)("7f69b88d52223f6e7eebcc3fb4e2e26bfd6821a297",B.callServer,void 0,B.findSourceMapURL,"forgetFactAction"),q=(0,B.createServerReference)("7f72cbe47c1f7d07eab9c5f73a84057ec03fda4dbc",B.callServer,void 0,B.findSourceMapURL,"reviseFactAction"),V=(0,B.createServerReference)("7f4fb822e09452650925f5a6f83a5cf59d64fb274a",B.callServer,void 0,B.findSourceMapURL,"updateNoteAction");var Y=e.i(681307),H=e.i(245629);let W=Y.z.enum(["user","call","bot"]);Y.z.string().trim().min(1,"A note needs a line saying what it is about").max(j.MEMORY_LIMITS.descriptionChars,`A note's line is one line: at most ${j.MEMORY_LIMITS.descriptionChars} characters`);let X=Y.z.object({id:Y.z.number(),text:Y.z.string(),source:W.nullish(),createdAt:H.DateLikeSchema});Y.z.object({id:Y.z.number(),path:Y.z.string(),description:Y.z.string(),ownedByUser:Y.z.boolean(),hits:Y.z.number(),lastReadAt:H.DateLikeSchema.nullable(),createdAt:H.DateLikeSchema,updatedAt:H.DateLikeSchema,factCount:Y.z.number(),facts:X.array()});let G=[{path:"profile",of:"The user themselves — name, age, what they do, where they live, whatever else says who they are"},{path:"preferences",of:"How they want things done, and said — read whole on every call, so a rule for a particular situation goes here too"},{path:"people/",of:"Someone in their life, and what matters about them"},{path:"projects/",of:"Something with an end — a trip, a purchase, a deadline, a thing being built"},{path:"topics/",of:"Something ongoing that keeps coming back"}],Z=G.filter(e=>!e.path.endsWith("/")).map(e=>e.path),J=G.filter(e=>e.path.endsWith("/")).map(e=>e.path.slice(0,-1));RegExp(`^(?:${Z.join("|")}|(?:${J.join("|")})/.+)$`);var Q=e.i(895836),ee=e.i(319841),et=e.i(609856),ea=e.i(661504),er=e.i(283653);let es=[{key:"you",label:"You"},{key:"people",label:"People"},{key:"projects",label:"Projects"},{key:"topics",label:"Topics"},{key:"other",label:"Other"}],ei={onOk:()=>(0,er.revalidate)(m.queryKey.memory)},en=k.textModelProviderSchema.options.filter(e=>"chatgpt"!==e).slice(0,3);function el(){return(0,t.jsx)("span",{className:"mr-0.5 flex items-center",children:en.map(e=>(0,t.jsx)("span",{className:"-ml-1.5 grid size-5 place-items-center rounded-full bg-background ring-1 ring-border first:ml-0",children:(0,t.jsx)(y.ProviderIcon,{provider:e,className:"size-3"})},e))})}function eo(e,t){return a=>{(0,ee.composing)(a)||("Enter"===a.key&&(a.preventDefault(),e()),"Escape"===a.key&&(a.stopPropagation(),t()))}}function ed({note:e,open:a,onToggle:r}){var i;let n,o,c,m,f,[x,g]=(0,u.useState)(!1),[v,b]=(0,et.useServerAction)(K,ei),j=async()=>{await p.notify.confirm({title:`Forget ${e.path}?`,description:"Every fact in this note is deleted for good.",okText:"Delete",destructive:!0})&&v(e.id)},y=(0,t.jsx)("span",{className:"w-36 shrink-0 truncate text-sm font-medium",children:-1===(n=(i=e.path).indexOf("/"))?i:i.slice(n+1)});return(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"flex h-12 items-center gap-3 pr-2 pl-4",children:x?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.ChevronRight,{className:"size-3.5 shrink-0 rotate-90 text-muted-foreground"}),y,(0,t.jsx)(ec,{note:e,onDone:()=>g(!1)})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{type:"button","aria-expanded":a,onClick:r,className:(0,O.cn)("flex h-full min-w-0 flex-1 items-center gap-3 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",(o=e.path,!Z.includes(o)&&.15>(c=(0,H.toDate)(e.lastReadAt??e.createdAt),m=Math.max(0,(Date.now()-c.getTime())/864e5),(e.hits+1)/(1+m))&&!a&&"opacity-55")),children:[(0,t.jsx)(s.ChevronRight,{className:(0,O.cn)("size-3.5 shrink-0 text-muted-foreground transition-transform",a&&"rotate-90")}),y,(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-[13px] text-muted-foreground",children:e.description}),(0,t.jsxs)("span",{className:"w-16 shrink-0 text-right font-mono text-[11px] text-muted-foreground/70",children:[e.factCount," ",1===e.factCount?"fact":"facts"]}),(0,t.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground/50",title:e.lastReadAt?"Last read back":"Never read back",children:e.lastReadAt?(0,H.shortAgo)(e.lastReadAt):"—"})]}),(0,t.jsx)("span",{className:"flex w-15 shrink-0 justify-end",children:a&&(0,t.jsxs)(t.Fragment,{children:[(f=e.path,!Z.includes(f)&&(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost",className:"text-muted-foreground","aria-label":"Edit the note's line",onClick:()=>g(!0),children:(0,t.jsx)(l,{})})),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost",className:"text-muted-foreground","aria-label":"Forget this note",loading:b,onClick:j,children:!b&&(0,t.jsx)(d.Trash2,{})})]})})]})}),a&&(0,t.jsxs)("div",{className:"space-y-1 border-t border-border/60 bg-muted/40 py-2.5 pr-2 pl-10",children:[(0,t.jsx)(eu,{noteId:e.id}),e.facts.map(a=>(0,t.jsx)(em,{noteId:e.id,fact:a},a.id))]})]})}function ec({note:e,onDone:a}){let[s,i]=(0,u.useState)(e.description),[n,l]=(0,et.useServerAction)(V,{onOk:()=>{a(),(0,er.revalidate)(m.queryKey.memory)}}),o=()=>{let t=s.trim();if(!t||t===e.description)return a();n(e.id,{description:t})};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Input,{autoFocus:!0,value:s,onChange:e=>i(e.target.value),onKeyDown:eo(o,a),"aria-label":"The note's line",placeholder:"One line Thursday sees in her list",maxLength:j.MEMORY_LIMITS.descriptionChars,className:"h-8 min-w-0 flex-1 text-[13px]"}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost","aria-label":"Save",loading:l,onClick:o,children:!l&&(0,t.jsx)(r.Check,{})}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost","aria-label":"Cancel",onClick:a,children:(0,t.jsx)(c.X,{})})]})}function eu({noteId:e}){let[a,r]=(0,u.useState)(""),[s,i]=(0,et.useServerAction)(D,{onOk:()=>{r(""),(0,er.revalidate)(m.queryKey.memory)}}),n=()=>{let t=a.trim();t&&!i&&s(e,[t])};return(0,t.jsxs)("div",{className:"flex items-center gap-1.5 pb-1",children:[(0,t.jsx)(x.Input,{value:a,onChange:e=>r(e.target.value),onKeyDown:eo(n,()=>r("")),"aria-label":"Add a fact",placeholder:"Add a fact",className:"h-8 min-w-0 flex-1 bg-background text-sm"}),(0,t.jsxs)(h.Button,{size:"sm",variant:"outline",loading:i,disabled:!a.trim(),onClick:n,children:[!i&&(0,t.jsx)(o.Plus,{}),"Add"]})]})}function em({noteId:e,fact:s}){let i,[n,o]=(0,u.useState)(!1),[f,g]=(0,u.useState)(s.text),[v,b]=(0,et.useServerAction)(q,{onOk:()=>{o(!1),(0,er.revalidate)(m.queryKey.memory)}}),[j,y]=(0,et.useServerAction)(U,ei),k=async()=>{await p.notify.confirm({title:"Forget this fact?",description:`"${s.text}" is deleted for good.`,okText:"Delete",destructive:!0})&&j(e,s.id)},N=()=>{let t=f.trim();if(!t||t===s.text)return o(!1);v(e,s.id,t)},S="user"===(i=s.source)?"you":"call"===i?"on a call":"bot"===i?"a bot":"";return(0,t.jsx)("div",{className:"flex min-h-10 items-center gap-1.5",children:n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Input,{autoFocus:!0,value:f,onChange:e=>g(e.target.value),onKeyDown:eo(N,()=>o(!1)),"aria-label":"Fact",className:"h-8 min-w-0 flex-1 bg-background text-sm"}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost","aria-label":"Save",loading:b,onClick:N,children:!b&&(0,t.jsx)(r.Check,{})}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost","aria-label":"Cancel",onClick:()=>o(!1),children:(0,t.jsx)(c.X,{})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"min-w-0 flex-1 pl-1 text-sm leading-relaxed text-foreground/90",children:s.text}),(0,t.jsxs)("span",{className:"shrink-0 pr-1 font-mono text-[11px] text-muted-foreground/50",children:[(0,a.format)(s.createdAt,"yyyy.MM.dd"),S&&` \xb7 ${S}`]}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost",className:"text-muted-foreground","aria-label":"Edit this fact",onClick:()=>{g(s.text),o(!0)},children:(0,t.jsx)(l,{})}),(0,t.jsx)(h.Button,{size:"icon-sm",variant:"ghost",className:"text-muted-foreground","aria-label":"Forget this fact",loading:y,onClick:()=>void k(),children:!y&&(0,t.jsx)(d.Trash2,{})})]})})}let eh=[{key:"people",label:"Person",placeholder:"jihoon",fact:"Moved to the platform team in March"},{key:"projects",label:"Project",placeholder:"thursday",fact:"Ships behind a feature flag until April"},{key:"topics",label:"Topic",placeholder:"scheduling",fact:"No meetings before 10am"}];function ef(){return p.notify.component({className:"sm:max-w-lg",renderer:({close:e})=>(0,t.jsx)(ex,{onDone:e})})}function ex({onDone:e}){let[a,r]=(0,u.useState)("people"),[s,i]=(0,u.useState)(""),[n,l]=(0,u.useState)(""),[d,c]=(0,u.useState)(""),[p,g,,y]=(0,et.useServerAction)(_,{errorMessage:!1,onOk:()=>{(0,er.revalidate)(m.queryKey.memory),e()}}),k=eh.find(e=>e.key===a),N=s.trim()&&n.trim()&&!g,S=()=>{N&&p(`${a}/${s.trim()}`,n.trim(),d.split("\n").map(e=>e.trim()).filter(Boolean))};return(0,t.jsxs)(Q.SettingDialogContent,{title:"New note",description:"Where Thursday keeps what she learns about this.",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h.Button,{variant:"ghost",onClick:e,children:"Cancel"}),(0,t.jsxs)(h.Button,{disabled:!N,loading:g,onClick:S,children:[!g&&(0,t.jsx)(o.Plus,{}),"Create"]})]}),children:[(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)(f.Field,{children:[(0,t.jsx)(f.FieldLabel,{children:"Kind"}),(0,t.jsx)(v.Tabs,{value:a,onValueChange:e=>r(e),children:(0,t.jsx)(v.TabsList,{className:"w-full",children:eh.map(e=>(0,t.jsx)(v.TabsTrigger,{value:e.key,children:e.label},e.key))})})]}),(0,t.jsxs)(f.Field,{children:[(0,t.jsx)(f.FieldLabel,{htmlFor:"note-name",children:"Name"}),(0,t.jsxs)(f.FieldContent,{children:[(0,t.jsx)(x.Input,{id:"note-name",value:s,onChange:e=>i(e.target.value),placeholder:k?.placeholder,spellCheck:!1,required:!0}),(0,t.jsxs)("p",{className:"font-mono text-[11px] text-muted-foreground",children:[a,"/",s.trim()||"…"]})]})]}),(0,t.jsxs)(f.Field,{children:[(0,t.jsx)(f.FieldLabel,{htmlFor:"note-summary",children:"Summary"}),(0,t.jsx)(f.FieldContent,{children:(0,t.jsx)(x.Input,{id:"note-summary",value:n,onChange:e=>l(e.target.value),onKeyDown:e=>{e.nativeEvent.isComposing||229===e.keyCode||"Enter"===e.key&&S()},placeholder:"One line Thursday sees in her list",maxLength:j.MEMORY_LIMITS.descriptionChars,required:!0})})]}),(0,t.jsxs)(f.Field,{children:[(0,t.jsx)(f.FieldLabel,{htmlFor:"note-facts",children:"Facts"}),(0,t.jsx)(b.Textarea,{id:"note-facts",value:d,onChange:e=>c(e.target.value),placeholder:`One per line
2
2
  ${k?.fact??""}`,className:"min-h-24 resize-none text-sm"})]})]}),y&&(0,t.jsx)("p",{className:"font-mono text-xs text-destructive",children:y})]})}e.s(["MemorySetting",0,function(){let{items:e,isLoading:a,isLoadingMore:r,error:s,hasMore:i,sentinelRef:n}=(0,ea.useServerPages)({key:e=>m.queryKey.memoryPage(e*j.PAGE_SIZE)}),[l,d]=(0,u.useState)(""),[c,f]=(0,u.useState)(new Set),[x,p]=(0,u.useState)(!1);if(a)return(0,t.jsx)(Q.SettingSkeleton,{});if(s)return(0,t.jsx)(Q.SettingError,{message:s.message});let v=l.trim().toLowerCase(),b=v?e.filter(e=>[e.path,e.description,...e.facts.map(e=>e.text)].some(e=>e.toLowerCase().includes(v))):e,y=e.reduce((e,t)=>e+t.factCount,0),k=i?"+":"";return(0,t.jsxs)("div",{className:"relative h-full min-h-0",children:[(0,t.jsxs)(Q.SettingScreen,{footer:(0,t.jsxs)(h.Button,{size:"sm",variant:x?"secondary":"ghost","aria-pressed":x,onClick:()=>p(!x),children:[(0,t.jsx)(el,{}),"Edit with a model"]}),children:[(0,t.jsx)(Q.SettingToolbar,{count:(0,t.jsxs)("span",{className:"flex items-center gap-3",children:[`${e.length}${k} notes \xb7 ${y}${k} facts`,(0,t.jsxs)(h.Button,{size:"sm",variant:"outline",className:"font-sans",onClick:ef,children:[(0,t.jsx)(o.Plus,{}),"New note"]})]}),children:(0,t.jsx)(Q.SettingFilter,{value:l,onChange:d,placeholder:"Filter memory"})}),v&&0===b.length&&(0,t.jsx)("p",{className:"px-1 text-xs text-muted-foreground/60",children:"Nothing matches"}),es.map(({key:e,label:a})=>{let r=b.filter(t=>(function(e){if(Z.includes(e))return"you";let t=e.slice(0,e.indexOf("/"));return J.includes(t)?t:"other"})(t.path)===e);return 0===r.length?null:(0,t.jsx)(Q.SettingGroup,{label:a,children:(0,t.jsx)(Q.SettingItems,{children:r.map(e=>(0,t.jsx)(ed,{note:e,open:c.has(e.id)!==!!v,onToggle:()=>{let t;return t=e.id,f(e=>{let a=new Set(e);return a.delete(t)||a.add(t),a})}},e.id))})},e)}),(0,t.jsx)(Q.SettingMore,{hasMore:i,loading:r,sentinelRef:n,ghost:(0,t.jsxs)("div",{className:"flex h-12 items-center gap-3 px-4",children:[(0,t.jsx)(g.Skeleton,{className:"h-3 w-24"}),(0,t.jsx)(g.Skeleton,{className:"h-3 w-56"})]})})]}),x&&(0,t.jsx)(I,{notes:e})]})}],556133)},935829,e=>{"use strict";var t=e.i(456420);let a={name:"minus",size:24,node:[["path",{d:"M5 12h14",key:"1ays0h"}]]};a.node;let r=(0,t.default)(a);e.s(["Minus",0,r],935829)},759659,e=>{"use strict";var t=e.i(456420);let a={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};a.node;let r=(0,t.default)(a);e.s(["Trash2",0,r],759659)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,107941,e=>{"use strict";var t=e.i(843476),n=e.i(24071),i=e.i(867927),s=e.i(482022),r=e.i(829600),a=e.i(456420);let o={name:"file-code-corner",size:24,node:[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],aliases:["file-code-2"]};o.node;let l=(0,a.default)(o);var d=e.i(905015),c=e.i(226091),u=e.i(726067),m=e.i(569644),x=e.i(815170),h=e.i(51921);let f={name:"sheet",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"3",x2:"21",y1:"9",y2:"9",key:"1vqk6q"}],["line",{x1:"3",x2:"21",y1:"15",y2:"15",key:"o2sbyz"}],["line",{x1:"9",x2:"9",y1:"9",y2:"21",key:"1ib60c"}],["line",{x1:"15",x2:"15",y1:"9",y2:"21",key:"1n26ft"}]]};f.node;let p=(0,a.default)(f);var g=e.i(759659),v=e.i(438583),y=e.i(271645),k=e.i(798120),j=e.i(167881),b=e.i(917162),S=e.i(41533),w=e.i(895836),N=e.i(621285),A=e.i(931642),F=e.i(95187);let C=(0,F.createServerReference)("7fe34f34e212e5b528f825927fa4eacc53c7dce4d8",F.callServer,void 0,F.findSourceMapURL,"emptyScratchAction");var P=e.i(693670),$=e.i(245629),R=e.i(609856),z=e.i(283653),E=e.i(647163);let T={markdown:c.FileText,csv:p,json:d.FileJson,text:c.FileText,frame:l,image:x.Image,audio:h.Music,video:v.Video,none:r.File};function M({label:e,rows:n,children:i}){return 0===n.length?null:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:e}),i]})}function W({entry:e,active:n,onPick:s}){let r="dir"===e.kind?u.Folder:T[e.view];return(0,t.jsxs)("button",{type:"button",onClick:s,title:"file"===e.kind?`${e.name} \xb7 ${(0,$.shortAgo)(e.at)}`:e.name,className:(0,E.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",n?(0,E.cn)(w.PICKED_ROW,"font-medium"):"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[(0,t.jsx)(r,{className:"size-3.5 shrink-0 opacity-70"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.name}),"file"===e.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/75",children:(0,E.formatBytes)(e.bytes)}),(0,t.jsx)("span",{className:"w-3.5 shrink-0"})]}):(0,t.jsx)(i.ChevronRight,{className:"size-3.5 shrink-0 text-muted-foreground/50"})]})}function O({empty:e}){return(0,t.jsx)("div",{className:"space-y-4 p-8",children:e?(0,t.jsxs)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:["Nothing here yet. What a bot writes during a call lands in"," ",(0,t.jsxs)("span",{className:"font-mono text-[13px] text-foreground",children:[S.PATHS.artifacts,"/"]})," ","— a page, a table, a picture — and shows up here to open."]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"Pick a file on the left."}),(0,t.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:"Only what the app can open is listed — a page, a table, a picture, a note. Installed packages and tool leftovers are left out, and no folder is measured, so a folder opens as fast as it lists. Reveal folder, at the foot, opens everything else."})]})})}function K({file:e,onGone:n}){let i=e.path,[r]=(0,R.useServerAction)(P.revealFileAction),[a,o]=(0,R.useServerAction)(A.deleteWorkspaceFileAction,{okMessage:"File deleted",onOk:()=>{(0,z.revalidate)(k.queryKey.workspace),n()}}),l=async()=>{await b.notify.confirm({title:`Delete ${i.split("/").pop()}?`,description:"It is deleted from disk for good.",okText:"Delete",destructive:!0})&&a(i)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-b border-border/60 px-6 py-2",children:[(0,t.jsx)(B,{path:i}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[(0,E.formatBytes)(e.bytes)," · ",(0,$.shortAgo)(e.at)]}),(0,t.jsx)("a",{href:k.queryKey.fileView(i),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,t.jsx)(s.ExternalLink,{className:"size-4"})}),(0,t.jsx)(j.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>r(i),children:(0,t.jsx)(m.FolderOpen,{})}),(0,t.jsx)(j.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:o,className:"text-muted-foreground",onClick:l,children:(0,t.jsx)(g.Trash2,{})})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,t.jsx)(N.FilePreview,{path:i,bytes:e.bytes})})]})}function B({path:e}){let n=["workspace",...e.split("/").filter(Boolean)];return(0,t.jsx)("span",{className:"flex min-w-0 flex-1 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:n.map((e,s)=>(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[s>0&&(0,t.jsx)(i.ChevronRight,{className:"size-3 shrink-0 opacity-50"}),(0,t.jsx)("span",{className:(0,E.cn)("truncate",s===n.length-1&&"text-foreground"),children:e})]},`${s}-${e}`))})}e.s(["WorkspaceSetting",0,function(){let[e,i]=(0,y.useState)(""),[s,r]=(0,y.useState)(S.WORKSPACE_VIEW.rows),[a,o]=(0,y.useState)(null),[l,d]=(0,y.useState)(""),{data:c,isLoading:u,error:x}=(0,z.useServerRoute)(k.queryKey.workspaceFolder(e,s),{keepPreviousData:!0}),h=e=>{i(e),r(S.WORKSPACE_VIEW.rows)},[f,p]=(0,R.useServerAction)(C,{okMessage:"Scratch emptied",onOk:()=>(0,z.revalidate)(k.queryKey.workspace)}),[g]=(0,R.useServerAction)(P.revealFileAction),v=async()=>{await b.notify.confirm({title:"Empty scratch?",description:`Everything under ${S.PATHS.scratch}/ is deleted for good. ${S.PATHS.artifacts}/ and ${S.PATHS.projects}/ are untouched.`,okText:"Empty",destructive:!0})&&f()};if(u)return(0,t.jsx)(w.SettingPanesSkeleton,{});if(x)return(0,t.jsx)(w.SettingError,{message:x.message});let N=c?.entries??[],A=c?.total??0,F=l.trim().toLowerCase(),$=F?N.filter(e=>e.name.toLowerCase().includes(F)):N,E=$.filter(e=>"dir"===e.kind),T=$.filter(e=>"file"===e.kind),B=""!==e||N.some(e=>"dir"===e.kind&&e.name===S.PATHS.scratch),V=N.find(e=>"file"===e.kind&&e.path===a?.path)??a;return(0,t.jsx)(w.SettingPanes,{footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.SettingRailNote,{children:(0,t.jsxs)("span",{className:"font-mono",children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:`${S.PATHS.workspace}${e?`/${e}`:""}`}),` \xb7 ${function(e,t){let n=e.filter(e=>"dir"===e.kind).length,i=e.length-n,s=[n&&`${n} ${1===n?"folder":"folders"}`,i&&`${i} ${1===i?"file":"files"}`].filter(Boolean);if(!s.length)return"empty";let r=s.join(" · ");return t>e.length?`${r} of ${t.toLocaleString("en")}`:r}(N,A)}`]})}),(0,t.jsxs)(j.Button,{variant:"outline",size:"sm",onClick:()=>g(e||"."),children:[(0,t.jsx)(m.FolderOpen,{}),"Reveal folder"]}),B&&(0,t.jsx)(j.Button,{variant:"outline",size:"sm",loading:p,onClick:v,className:"text-destructive hover:text-destructive",children:"Empty scratch"})]}),left:(0,t.jsxs)("div",{className:"flex flex-col py-2",children:[(0,t.jsx)(w.SettingFilter,{value:l,onChange:d,placeholder:"Filter this folder",className:"mx-2 mb-1.5 w-auto"}),e&&(0,t.jsxs)("button",{type:"button",onClick:()=>h(e.split("/").slice(0,-1).join("/")),className:"mx-2 mb-1 flex items-center gap-1 rounded-md px-2 py-1 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)(n.ChevronLeft,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.split("/").slice(0,-1).pop()??"workspace"})]}),0===$.length?(0,t.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground/60",children:F?"Nothing matches":"Empty folder"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(M,{label:"folders",rows:E,children:E.map(e=>(0,t.jsx)(W,{entry:e,onPick:()=>h(e.path)},e.path))}),(0,t.jsx)(M,{label:"files",rows:T,children:T.map(e=>(0,t.jsx)(W,{entry:e,active:e.path===a?.path,onPick:()=>"file"===e.kind&&o(e)},e.path))})]}),A>N.length&&(0,t.jsx)("button",{type:"button",onClick:()=>r(s+S.WORKSPACE_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(S.WORKSPACE_VIEW.rows,A-N.length)} more of ${A.toLocaleString("en")}`})]}),right:V?.kind==="file"?(0,t.jsx)(K,{file:V,onGone:()=>o(null)},V.path):(0,t.jsx)(O,{empty:!e&&0===N.length})})}],107941)},931642,e=>{"use strict";var t=e.i(95187);let n=(0,t.createServerReference)("7f8e0d64b61489cb6264303abd2b16ebdb0456c05f",t.callServer,void 0,t.findSourceMapURL,"deleteWorkspaceFileAction");e.s(["deleteWorkspaceFileAction",0,n])},726067,e=>{"use strict";var t=e.i(456420);let n={name:"folder",size:24,node:[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]};n.node;let i=(0,t.default)(n);e.s(["Folder",0,i],726067)},759659,e=>{"use strict";var t=e.i(456420);let n={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};n.node;let i=(0,t.default)(n);e.s(["Trash2",0,i],759659)}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,107941,e=>{"use strict";var t=e.i(843476),n=e.i(24071),i=e.i(867927),s=e.i(482022),r=e.i(829600),a=e.i(456420);let o={name:"file-code-corner",size:24,node:[["path",{d:"M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35",key:"1wthlu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m5 16-3 3 3 3",key:"331omg"}],["path",{d:"m9 22 3-3-3-3",key:"lsp7cz"}]],aliases:["file-code-2"]};o.node;let l=(0,a.default)(o);var d=e.i(905015),c=e.i(226091),u=e.i(726067),m=e.i(569644),x=e.i(815170),f=e.i(51921);let h={name:"sheet",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["line",{x1:"3",x2:"21",y1:"9",y2:"9",key:"1vqk6q"}],["line",{x1:"3",x2:"21",y1:"15",y2:"15",key:"o2sbyz"}],["line",{x1:"9",x2:"9",y1:"9",y2:"21",key:"1ib60c"}],["line",{x1:"15",x2:"15",y1:"9",y2:"21",key:"1n26ft"}]]};h.node;let p=(0,a.default)(h);var g=e.i(759659),v=e.i(438583),y=e.i(271645),k=e.i(798120),j=e.i(167881),b=e.i(917162),S=e.i(41533),w=e.i(895836),N=e.i(621285),A=e.i(295962),F=e.i(95187);let C=(0,F.createServerReference)("7fe96bf1186b240a2834c6e2bfb8dcf43ff788a320",F.callServer,void 0,F.findSourceMapURL,"emptyScratchAction");var P=e.i(977037),$=e.i(245629),R=e.i(609856),z=e.i(283653),E=e.i(647163);let T={markdown:c.FileText,csv:p,json:d.FileJson,text:c.FileText,frame:l,image:x.Image,audio:f.Music,video:v.Video,none:r.File};function M({label:e,rows:n,children:i}){return 0===n.length?null:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"px-3 pt-3 pb-1 font-mono text-[10px] text-muted-foreground/60",children:e}),i]})}function W({entry:e,active:n,onPick:s}){let r="dir"===e.kind?u.Folder:T[e.view];return(0,t.jsxs)("button",{type:"button",onClick:s,title:"file"===e.kind?`${e.name} \xb7 ${(0,$.shortAgo)(e.at)}`:e.name,className:(0,E.cn)("mx-2 flex items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",n?(0,E.cn)(w.PICKED_ROW,"font-medium"):"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[(0,t.jsx)(r,{className:"size-3.5 shrink-0 opacity-70"}),(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.name}),"file"===e.kind?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/75",children:(0,E.formatBytes)(e.bytes)}),(0,t.jsx)("span",{className:"w-3.5 shrink-0"})]}):(0,t.jsx)(i.ChevronRight,{className:"size-3.5 shrink-0 text-muted-foreground/50"})]})}function O({empty:e}){return(0,t.jsx)("div",{className:"space-y-4 p-8",children:e?(0,t.jsxs)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:["Nothing here yet. What a bot writes during a call lands in"," ",(0,t.jsxs)("span",{className:"font-mono text-[13px] text-foreground",children:[S.PATHS.artifacts,"/"]})," ","— a page, a table, a picture — and shows up here to open."]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"Pick a file on the left."}),(0,t.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:"Only what the app can open is listed — a page, a table, a picture, a note. Installed packages and tool leftovers are left out, and no folder is measured, so a folder opens as fast as it lists. Reveal folder, at the foot, opens everything else."})]})})}function K({file:e,onGone:n}){let i=e.path,[r]=(0,R.useServerAction)(P.revealFileAction),[a,o]=(0,R.useServerAction)(A.deleteWorkspaceFileAction,{okMessage:"File deleted",onOk:()=>{(0,z.revalidate)(k.queryKey.workspace),n()}}),l=async()=>{await b.notify.confirm({title:`Delete ${i.split("/").pop()}?`,description:"It is deleted from disk for good.",okText:"Delete",destructive:!0})&&a(i)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-3 border-b border-border/60 px-6 py-2",children:[(0,t.jsx)(B,{path:i}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[(0,E.formatBytes)(e.bytes)," · ",(0,$.shortAgo)(e.at)]}),(0,t.jsx)("a",{href:k.queryKey.fileView(i),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,t.jsx)(s.ExternalLink,{className:"size-4"})}),(0,t.jsx)(j.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>r(i),children:(0,t.jsx)(m.FolderOpen,{})}),(0,t.jsx)(j.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:o,className:"text-muted-foreground",onClick:l,children:(0,t.jsx)(g.Trash2,{})})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,t.jsx)(N.FilePreview,{path:i,bytes:e.bytes})})]})}function B({path:e}){let n=["workspace",...e.split("/").filter(Boolean)];return(0,t.jsx)("span",{className:"flex min-w-0 flex-1 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:n.map((e,s)=>(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[s>0&&(0,t.jsx)(i.ChevronRight,{className:"size-3 shrink-0 opacity-50"}),(0,t.jsx)("span",{className:(0,E.cn)("truncate",s===n.length-1&&"text-foreground"),children:e})]},`${s}-${e}`))})}e.s(["WorkspaceSetting",0,function(){let[e,i]=(0,y.useState)(""),[s,r]=(0,y.useState)(S.WORKSPACE_VIEW.rows),[a,o]=(0,y.useState)(null),[l,d]=(0,y.useState)(""),{data:c,isLoading:u,error:x}=(0,z.useServerRoute)(k.queryKey.workspaceFolder(e,s),{keepPreviousData:!0}),f=e=>{i(e),r(S.WORKSPACE_VIEW.rows)},[h,p]=(0,R.useServerAction)(C,{okMessage:"Scratch emptied",onOk:()=>(0,z.revalidate)(k.queryKey.workspace)}),[g]=(0,R.useServerAction)(P.revealFileAction),v=async()=>{await b.notify.confirm({title:"Empty scratch?",description:`Everything under ${S.PATHS.scratch}/ is deleted for good. ${S.PATHS.artifacts}/ and ${S.PATHS.projects}/ are untouched.`,okText:"Empty",destructive:!0})&&h()};if(u)return(0,t.jsx)(w.SettingPanesSkeleton,{});if(x)return(0,t.jsx)(w.SettingError,{message:x.message});let N=c?.entries??[],A=c?.total??0,F=l.trim().toLowerCase(),$=F?N.filter(e=>e.name.toLowerCase().includes(F)):N,E=$.filter(e=>"dir"===e.kind),T=$.filter(e=>"file"===e.kind),B=""!==e||N.some(e=>"dir"===e.kind&&e.name===S.PATHS.scratch),V=N.find(e=>"file"===e.kind&&e.path===a?.path)??a;return(0,t.jsx)(w.SettingPanes,{footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(w.SettingRailNote,{children:(0,t.jsxs)("span",{className:"font-mono",children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:`${S.PATHS.workspace}${e?`/${e}`:""}`}),` \xb7 ${function(e,t){let n=e.filter(e=>"dir"===e.kind).length,i=e.length-n,s=[n&&`${n} ${1===n?"folder":"folders"}`,i&&`${i} ${1===i?"file":"files"}`].filter(Boolean);if(!s.length)return"empty";let r=s.join(" · ");return t>e.length?`${r} of ${t.toLocaleString("en")}`:r}(N,A)}`]})}),(0,t.jsxs)(j.Button,{variant:"outline",size:"sm",onClick:()=>g(e||"."),children:[(0,t.jsx)(m.FolderOpen,{}),"Reveal folder"]}),B&&(0,t.jsx)(j.Button,{variant:"outline",size:"sm",loading:p,onClick:v,className:"text-destructive hover:text-destructive",children:"Empty scratch"})]}),left:(0,t.jsxs)("div",{className:"flex flex-col py-2",children:[(0,t.jsx)(w.SettingFilter,{value:l,onChange:d,placeholder:"Filter this folder",className:"mx-2 mb-1.5 w-auto"}),e&&(0,t.jsxs)("button",{type:"button",onClick:()=>f(e.split("/").slice(0,-1).join("/")),className:"mx-2 mb-1 flex items-center gap-1 rounded-md px-2 py-1 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)(n.ChevronLeft,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.split("/").slice(0,-1).pop()??"workspace"})]}),0===$.length?(0,t.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground/60",children:F?"Nothing matches":"Empty folder"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(M,{label:"folders",rows:E,children:E.map(e=>(0,t.jsx)(W,{entry:e,onPick:()=>f(e.path)},e.path))}),(0,t.jsx)(M,{label:"files",rows:T,children:T.map(e=>(0,t.jsx)(W,{entry:e,active:e.path===a?.path,onPick:()=>"file"===e.kind&&o(e)},e.path))})]}),A>N.length&&(0,t.jsx)("button",{type:"button",onClick:()=>r(s+S.WORKSPACE_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(S.WORKSPACE_VIEW.rows,A-N.length)} more of ${A.toLocaleString("en")}`})]}),right:V?.kind==="file"?(0,t.jsx)(K,{file:V,onGone:()=>o(null)},V.path):(0,t.jsx)(O,{empty:!e&&0===N.length})})}],107941)},295962,e=>{"use strict";var t=e.i(95187);let n=(0,t.createServerReference)("7f225d450f53c4344c1735d5981a402c7265d469c8",t.callServer,void 0,t.findSourceMapURL,"deleteWorkspaceFileAction");e.s(["deleteWorkspaceFileAction",0,n])},726067,e=>{"use strict";var t=e.i(456420);let n={name:"folder",size:24,node:[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]};n.node;let i=(0,t.default)(n);e.s(["Folder",0,i],726067)},759659,e=>{"use strict";var t=e.i(456420);let n={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};n.node;let i=(0,t.default)(n);e.s(["Trash2",0,i],759659)}]);
@@ -1 +1 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,593317,t=>{"use strict";var e=t.i(843476),a=t.i(271645),h=t.i(41533),r=t.i(922521),l=t.i(647163),s=t.i(567334),o=t.i(877267),n=t.i(387758),i=t.i(377090),d=t.i(183414);let u=Math.PI/180,c=-.833*u,f=t=>t/864e5-.5+2440588-2451545,m=(t,e)=>u*(280.16+360.9856235*t)+e*u;function g(t){let e=23.4397*u,a=u*(357.5291+.98560028*t),h=u*(1.9148*Math.sin(a)+.02*Math.sin(2*a)+3e-4*Math.sin(3*a)),r=a+h+102.9372*u+Math.PI;return{dec:Math.asin(Math.sin(e)*Math.sin(r)),ra:Math.atan2(Math.sin(r)*Math.cos(e),Math.cos(r))}}function M(t){let e=23.4397*u,a=u*(134.963+13.064993*t),h=u*(218.316+13.176396*t)+6.289*u*Math.sin(a),r=5.128*u*Math.sin(u*(93.272+13.22935*t));return{ra:Math.atan2(Math.sin(h)*Math.cos(e)-Math.tan(r)*Math.sin(e),Math.cos(h)),dec:Math.asin(Math.sin(r)*Math.cos(e)+Math.cos(r)*Math.sin(e)*Math.sin(h)),km:385001-20905*Math.cos(a)}}let p=(t,e,a)=>Math.asin(Math.sin(e)*Math.sin(a)+Math.cos(e)*Math.cos(a)*Math.cos(t));function w(t,e,a){let h=f(t),r=g(h);return p(m(h,a)-r.ra,e*u,r.dec)}function y(t,e,a){let h=f(t),r=M(h);return p(m(h,a)-r.ra,e*u,r.dec)}function b(t,e,a,h,r){let l=6e4*h,s=e(t),o=s,n=n=>{let i=s;for(let s=h;s<=r;s+=h){let h=t+n*s*6e4,r=e(h);if(r<a)return h-n*l*((a-r)/(i-r));o=Math.max(o,r),i=r}return null};return{rise:n(-1),set:n(1),top:o}}let v={0:"clear",1:"clear",2:"partly",3:"overcast",45:"fog",48:"fog",51:"drizzle",53:"drizzle",55:"drizzle",56:"drizzle",57:"drizzle",61:"rain",63:"rain",66:"rain",80:"rain",81:"rain",65:"heavy",67:"heavy",82:"heavy",71:"snow",73:"snow",75:"snow",77:"snow",85:"snow",86:"snow",95:"storm",96:"storm",99:"storm"},x=h.ASCII_FACE.fontSize,A=s.LEVELS-1,k=Math.PI/180,L=[".",":","-","~","=","c","o"],R=["~","-","="],E={trees:{emoji:["🌳","🌲","🌳","🥦","🌲","🟢","🌳"],letters:"ramp",churn:0},sea:{emoji:["🌊","🔵","💙","🌊","🐳","🔵","💧","🐬"],letters:[".","·","~","-"],churn:0},nightLand:{emoji:["🌑","🖤","⚫","🌑","🖤","🎱","⚫","🫐"],letters:"ramp",churn:0},sunBody:{emoji:["☀️","🌻","🍋","⭐","💛","🧡","🍊","🌟","🌼","🐥"],letters:"ramp",churn:.45},moonBody:{emoji:["🌕","💛","⭐","🌟","🤍","🍋","🌙","🌼"],letters:"ramp",churn:.3},snowGround:{emoji:["❄️","🤍","⚪"],letters:["*","+","x"],churn:0},spark:{emoji:["✨"],letters:["·","+"],churn:.8},star:{emoji:["✨","⭐"],letters:["·","+","*"],churn:.4},cloud:{emoji:["☁️","🤍","⚪","☁️","🤍","☁️"],letters:L,churn:.25},cGrey:{emoji:["☁️","🌫️","☁️","🌥️","⚪"],letters:L,churn:.25},cRain:{emoji:["🌧️","☁️","🌫️","☁️","💧"],letters:L,churn:.3},cStorm:{emoji:["⛈️","🌩️","☁️","🌧️","🖤"],letters:[".",":",";","=","x","X"],churn:.4},cSnow:{emoji:["🌨️","☁️","🤍","❄️","⚪"],letters:L,churn:.25},cyclone:{emoji:["☁️","🌫️","☁️","🌧️","🌀"],letters:L,churn:.3},fog:{emoji:["🌫️"],letters:R,churn:.2},drop:{emoji:["💧"],letters:["'","|","|"],churn:0},flake:{emoji:["❄️"],letters:["*","+"],churn:0},wind:{emoji:["💨"],letters:R,churn:0},bolt:{emoji:["⚡"],letters:["/","\\"],churn:0}},S=["📍","◉"],_=["🌀","@"],C={clear:{clouds:0,set:"cloud",rain:0,snow:0,fog:0},partly:{clouds:2,set:"cloud",rain:0,snow:0,fog:0},overcast:{clouds:5,set:"cGrey",rain:0,snow:0,fog:0},fog:{clouds:0,set:"cloud",rain:0,snow:0,fog:1},drizzle:{clouds:0,set:"cGrey",rain:.3,snow:0,fog:0},rain:{clouds:0,set:"cRain",rain:.6,snow:0,fog:0},heavy:{clouds:0,set:"cRain",rain:1,snow:0,fog:0},snow:{clouds:0,set:"cSnow",rain:0,snow:.8,fog:0},storm:{clouds:2,set:"cStorm",rain:.7,snow:0,fog:0}},j=(t,e)=>(0,i.ihash)(65535&t,t>>>16,e),T=t=>t<0?0:t>1?1:t,H=t=>1+2.35*(t-1)**3+1.35*(t-1)**2,F=[-360,0,360];function P(t,e,a,h,r){let l=Math.max(8,Math.min(2048,Math.round((e.east-e.west)/a))),s=Math.max(8,Math.min(2048,Math.round((e.north-e.south)/a))),o=(e.east-e.west)/l,n=(e.north-e.south)/s,i=document.createElement("canvas");i.width=l,i.height=s;let d=i.getContext("2d",{willReadFrequently:!0});if(!d)throw Error("the browser gave no canvas to draw the map on");let u=(t,a)=>t[3]>=e.south&&t[2]<=e.north&&t[1]+a>=e.west&&t[0]+a<=e.east,c=(t,a,h)=>{for(let r=0;r<a.length;r+=2){let l=(a[r]+h-e.west)/o,s=(e.north-a[r+1])/n;0===r?t.moveTo(l,s):t.lineTo(l,s)}t.closePath()},f=(t,e)=>{for(let a of F)if(u(e.bbox,a)){for(let h of e.polys)if(u(h.bbox,a))for(let e of h.rings)c(t,e,a)}};if(r){let e=new Path2D;t.countries.forEach((t,a)=>{a!==h&&f(e,t)}),d.fillStyle="#ff0000",d.fill(e,"evenodd")}if(h>=0){let e=new Path2D;f(e,t.countries[h]),d.fillStyle="#ffff00",d.fill(e,"evenodd")}let m=d.getImageData(0,0,l,s).data,g=new Uint8Array(l*s);for(let t=0,e=0;e<g.length;t+=4,e++)g[e]=m[t]>127|2*(m[t+1]>127);return{...e,dlon:o,dlat:n,w:l,h:s,data:g}}function z(t,e,a){if(!t||e>t.north||e<t.south)return -1;let h=a;if(h<t.west?h+=360:h>=t.east&&(h-=360),h<t.west||h>=t.east)return -1;let r=Math.min(t.w-1,(h-t.west)/t.dlon|0),l=Math.min(t.h-1,(t.north-e)/t.dlat|0);return t.data[l*t.w+r]}function G(t){let[e,a,h]=t?s.ORB_INK.dark:s.ORB_INK.light;return{ink:`rgb(${e},${a},${h})`,page:getComputedStyle(document.body).backgroundColor,buckets:Array.from({length:4*x+1},()=>({x:[],y:[],alpha:[],glyph:[]})),wipe:[]}}class I{grid;stage;letters;over;overSet;overBig;base=null;baseKey=null;baseV;baseLand;baseHK;baseSet;plan={};out={v:0,set:"trees",hk:null,big:1,land:!1,a:1};constructor(t,e,a){this.grid=t,this.stage=e,this.letters=a,this.over=new Float32Array(t.n),this.overSet=Array(t.n).fill(null),this.overBig=new Float32Array(t.n),this.baseV=new Float32Array(t.n),this.baseLand=new Uint8Array(t.n),this.baseHK=new Int32Array(t.n),this.baseSet=Array(t.n).fill(null)}warm(t){if(this.letters)return;let e=new Set;for(let t=1;t<=A;t++)for(let a=.8;a<=1.151;a+=.01)e.add(Math.round((0,s.emojiPx)(x,t,A)*a*2)/2);let a=this.grid;for(let h of e)for(let e of(t.font=(0,n.GLYPH_FONT)(h),Object.values(E)))for(let h of e.emoji)t.fillText(h,a.width/2,a.height/2);for(let e=Math.round(3*a.p);e<=Math.round(3*a.p*1.3);e++)t.font=(0,n.GLYPH_FONT)(e),t.fillText(S[0],a.width/2,a.height/2);t.font=(0,n.GLYPH_FONT)(Math.round(3.6*a.p)),t.fillText(_[0],a.width/2,a.height/2),t.clearRect(0,0,a.width,a.height)}put(t,e,a,h,r=1){let l=this.grid,s=Math.round((t-l.left-n.CELL_W/2)/n.CELL_W)-l.col0,o=Math.round((e-l.top-n.CELL_H/2)/n.CELL_H)-l.row0;if(s<0||o<0||s>=l.cols||o>=l.rows)return;let i=o*l.cols+s;a>this.over[i]&&(this.over[i]=a,this.overSet[i]=h,this.overBig[i]=r)}land(t,e){let a=this.stage,h=z(a.region,t,e);if(h>=0)return h;if(!(1&z(a.global,t,e)))return 0;let r=z(a.home,t,e);return r>0&&2&r?3:1}planAt(t,e,a){let h,r=this.plan,l=this.grid,o=this.stage,i=o.view;r.tt=t,r.t=e,r.cover=(0,s.smoothstep)(.075,.75,t),r.back=(0,s.smoothstep)(a,a+1.05,t);let u=1-(0,s.smoothstep)(a-.15,a+.3,t),c=n.REST_R+.32*n.REST_R*H((0,s.smoothstep)(.15,1.35,t)),f=1-(1-T((t-.15)/2.4))**4,m=14+(i.lat-14)*f,g=i.lon-320*(1-f),M=(h=(0,s.smoothstep)(2.25,3.9,t))<.5?4*h*h*h:1-(-2*h+2)**3/2;r.R=M>0?Math.exp(Math.log(c)+(Math.log(i.radius)-Math.log(c))*M):c,r.latc=m+(i.latc-i.lat)*M,r.lonc=g+(0,d.wrap)(i.lonc-i.lon)*M;let p=n.CELL_W/l.k/r.R/k;r.lvl=Math.max(0,Math.ceil(Math.log2(p/.02))),r.bin=.02*2**r.lvl,r.zoomed=T((r.R/(1.32*n.REST_R)-1)/3),r.open=(0,s.smoothstep)(2.25,2.85,t),r.only=(0,s.smoothstep)(2.475,3.6,t),r.pinA=(0,s.smoothstep)(3.825,4.125,t)*u,r.ripple=t>3.825&&t<5.475?(t-3.825)%.825/.825:-1,r.orbA=(0,s.smoothstep)(4.35,4.95,t)*u,r.orbGrow=H((0,s.smoothstep)(4.35,5.25,t))*u,r.wAmt=(0,s.smoothstep)(4.8,5.7,t)*u,r.night=(0,s.smoothstep)(.06,-.1,Math.sin(o.sky.alt)),r.dark=r.night*(0,s.smoothstep)(3.3,4.05,t),this.planSky(r,o.sky,o.ms,e),this.planWeather(r,e),r.key=t>=3.9+.05&&r.back<=0?String(Math.round(12*r.dark)):null;let w=(0,d.project)(i.lat,i.lon,r.latc,r.lonc,r.R);return r.pinX=l.width/2+w.x*l.k,r.pinY=l.height/2+w.y*l.k,r.pinSeen=w.seen,r}planSky(t,e,a,h){let r=this.grid;if(t.orb=null,t.orbA<=0)return;let l=(t,e,a)=>[r.width*(.12+.76*t),r.height*(.3-.2*Math.max(0,e)/Math.max(.05,a))],s=Math.max(3.2*r.p,.06*r.height)/r.k,o=(1-Math.min(1,t.orbGrow))*r.height*.05,n=(e,a,h,l,s)=>({x:(e-r.width/2)/r.k,y:(a+o-r.height/2)/r.k,R:h*Math.max(0,t.orbGrow),set:l,shadow:s});if(e.up&&e.sun){let{rise:h,set:r,top:o}=e.sun,[i,d]=l(null!==h&&null!==r?(a-h)/(r-h):((a/6e4+4*this.stage.view.lon)%1440+1440)%1440/1440,e.alt,o);t.orb=n(i,d,s,"sunBody",null);return}if(e.moon){let{rise:h,set:r,alt:o,top:i}=e.moon,[d,u]=l((a-h)/(r-h),o,i);t.orb=n(d,u,.9*s,"moonBody",(e.moon.phase<.5?-1:1)*2*e.moon.lit)}for(let e=0;e<18;e++){let a=.5+.5*Math.sin(h*(1+1.5*(0,i.ihash)(e,73,0))+2.1*e);this.put(r.width*(.04+.92*(0,i.ihash)(e,71,0)),r.height*(.03+.26*(0,i.ihash)(e,72,0)),(.2+.5*a*a)*t.orbA,"star",.85+.3*(0,i.ihash)(e,74,0))}}planWeather(t,e){let a=this.grid,h=a.p,r=this.stage.look,l=r?C[r]:C.clear,o=this.stage.wind;if(t.cloudSet=l.set,t.fog=l.fog*t.wAmt,t.flash=0,t.flashCloud=-1,t.clouds=[],t.storm=null,t.wAmt<=0)return;let d=r?l.clouds:0;for(let l=0;l<d;l++){let s=h*(2+.8*(0,i.ihash)(l,11,0))*("overcast"===r?1.3:1),o=a.width+8*s,n=(4*s+((l+.5)/d+((0,i.ihash)(l,13,0)-.5)*(.5/d))*a.width+h*(.3+.35*(0,i.ihash)(l,12,0))*e)%o-4*s,u=a.height*(.07+.2*(0,i.ihash)(l,14,0));t.clouds.push({x:n,y:u,r:s,puffs:[[-(.9*s),.1*s,.75*s],[0,-(.2*s),s],[.9*s,.12*s,.7*s]],bottom:u+.6*s,width:3*s})}let u=2===o||"storm"===r?.3:"heavy"===r||o?.15:.08;if(l.rain>0){let s=Math.max(3,Math.round(a.width/h*.16*l.rain)),o="drizzle"===r?1:"heavy"===r||"storm"===r?3:2,d=l.rain>.8?2:1,c=a.height+(o+4)*h;for(let l=0;l<s;l++){let f=a.width*((l+.5)/s)+((0,i.ihash)(l,21,0)-.5)*(a.width/s),m=h*(14+8*(0,i.ihash)(l,22,0))*("drizzle"===r?.6:1);for(let a=0;a<d;a++){let h=(e*m+(0,i.ihash)(l,23,0)*c+a*c/d)%c;for(let e=0;e<1.4*o;e++){let a=h-e*n.CELL_H;if(a<0)break;this.put(f+a*u,a,(.62-e/o*.13)*t.wAmt,"drop",.8)}}}}if(l.snow>0){let r=Math.max(4,Math.round(a.width/h*.22*l.snow)),s=a.height+4*h;for(let l=0;l<r;l++){let r=(e*h*(1.4+1.2*(0,i.ihash)(l,31,0))+(0,i.ihash)(l,32,0)*s)%s;this.put(a.width*(0,i.ihash)(l,33,0)+Math.sin(1.1*e+l)*h*.9,r,(.55+.25*(0,i.ihash)(l,34,0))*t.wAmt,"flake",.8)}}if("storm"===r&&t.clouds.length){let a=e%4.3,r=Math.floor(e/4.3),l=r%t.clouds.length,o=t.clouds[l];if(t.flash=Math.exp(-((a-.3)**2)/.008)*t.wAmt,t.flashCloud=l,a>.22&&a<.7){let e=o.x+((0,i.ihash)(r,41,0)-.5)*o.r,l=o.bottom;for(let o=0;o<11;o++)this.put(e,l,(1-(0,s.smoothstep)(.5,.7,a))*t.wAmt,"bolt",1),e+=((0,i.ihash)(9*r+o,42,0)-.5)*h*1.3,l+=n.CELL_H}}if(o>0)for(let r=0;r<(2===o?10:6);r++){let l=((0,i.ihash)(r,52,0)*a.width+e*h*(9+5*(0,i.ihash)(r,53,0)))%(a.width+6*h)-3*h;this.put(l,a.height*(.1+.75*(0,i.ihash)(r,51,0))+Math.sin(2*e+r)*h*.4,.5*t.wAmt,"wind",.8)}if(2===o){let h=this.stage.view.lat<0?-1:1;t.storm={x:.15*a.width,y:.3*a.height,R:.17*a.height,dir:h,rot:-h*e*1.6}}}cloudAt(t,e,a,h){let r=0;for(let a=0;a<h.clouds.length;a++){let l=h.clouds[a];if(Math.abs(t-l.x)>l.width||Math.abs(e-l.y)>1.7*l.r)continue;let o=a===h.flashCloud?1+h.flash:1;for(let[a,h,n]of l.puffs)r=Math.max(r,(0,s.smoothstep)(n,.45*n,Math.hypot(t-l.x-a,e-l.y-h))*o)}let l=h.storm;if(l){let h=t-l.x,o=e-l.y,n=Math.hypot(h,o)/l.R;if(n<1){let t=(.5+.5*Math.cos(2*(Math.atan2(o,h)+l.dir*a*.6)-5*l.dir*Math.log(5*n+.2)))**1.8*(0,s.smoothstep)(1,.45,n)+(0,s.smoothstep)(.1,.16,n)*(0,s.smoothstep)(.32,.2,n)*.8;t*=(0,s.smoothstep)(.12,.2,n),r=Math.max(r,t)}}return T(r)}body(t,e,a,h,r){return function(t,e,a,h,r,l){if(a<=0)return 0;let o=t.dx[e]-h,n=t.dy[e]-r,d=Math.hypot(o,n);if(d>1.6*a)return 0;let u=a*(.86+.34*(0,i.fbm)(.0085*o+3.1,.0085*n,.32*l,3)),c=(0,s.smoothstep)(u,.45*u,d);if(c<.25&&t.seed[e]<.3){let a=(0,s.smoothstep)(1.4*u,u,d);a>0&&(c=Math.max(c,.35*a*(.5+.5*Math.sin(1.7*l+40*t.seed[e]))))}return c*(.78+.22*t.grain[e])}(this.grid,t,e,a,h,r)}reached(t,e,a){if(e<=0)return!1;if(e>=1)return!0;let h=this.grid;return Math.hypot(h.dx[t],h.dy[t])+((0,i.fbm)(.011*h.dx[t]+7.3*a,.011*h.dy[t],a,2)-.5)*220<640*e-60}mapCell(t,e,a){let h=this.grid,r=e.R,l=h.dx[t]/r,s=h.dy[t]/r,o=l*l+s*s;if(o>1)return void(o<1.14&&h.seed[t]<.4&&e.open<.5?(a.v=.14,a.set="sea"):a.v=0);let n=Math.sqrt(1-o),u=e.latc*k,c=Math.cos(u),f=Math.sin(u),m=Math.asin(Math.max(-1,Math.min(1,-s*c+n*f)))/k,g=(0,d.wrap)(e.lonc+Math.atan2(l,s*f+n*c)/k),M=this.land(m,g),p=(3&M)==3;if(!p&&e.only>0&&(0,i.ihash)(h.gx[t]+9001,h.gy[t],1)<e.only){a.v=0;return}let w=.55+.45*n;if(a.hk=0x7fffffff*(0,i.ihash)(Math.floor((m+90)/e.bin),Math.floor((g+180)/e.bin),e.lvl)|0,1&M)a.land=p,a.v=.95*w,a.set="trees",p&&e.dark>0&&(0,i.ihash)(h.gx[t]+77,h.gy[t]+5,2)<e.dark&&(a.set="nightLand",this.letters&&(a.v=.42*w));else{if(j(a.hk,11)>1-.76*e.zoomed){a.v=0;return}a.v=.36*w,a.set="sea"}}pastEdge(t,e){let a=this.grid;return e.open>0&&a.edge[t]>.9+.08*a.fray[t]}overlay(t,e,a,h){let r=this.grid;if(a.open<.99||this.pastEdge(t,a))return!1;let l=!1;a.ripple>=0&&a.pinA>0&&h.v>0&&Math.abs(Math.hypot(r.x[t]-a.pinX,r.y[t]-a.pinY)-(r.p+a.ripple*r.height*.22))<.7*r.p&&(h.v=.9*(1-a.ripple)*a.pinA,h.set="spark",h.hk=null,l=!0);let o=a.orb;if(o&&o.R>0){let n=r.dx[t]-o.x,i=r.dy[t]-o.y;if(n*n+i*i<o.R*o.R*2.6){let r=this.body(t,o.R,o.x,o.y,e);null!==o.shadow&&r>0&&(r*=1-(0,s.smoothstep)(.98*o.R,.8*o.R,Math.hypot(n-o.shadow*o.R,i))),r>.06&&(h.v=r*a.orbA,h.set=o.set,h.hk=null,l=!0)}}if(a.wAmt<=0)return l;if("snow"===this.stage.look&&h.land&&!l&&null!==h.hk&&j(h.hk,29)<.22*a.wAmt&&(h.set="snowGround",l=!0),a.clouds.length||a.storm){let s=this.cloudAt(r.x[t],r.y[t],e,a)*a.wAmt;s>.12&&(h.v=Math.min(1,.3+.6*s),h.a=1-.3*a.night,h.set=a.storm&&Math.hypot(r.x[t]-a.storm.x,r.y[t]-a.storm.y)<a.storm.R?"cyclone":a.cloudSet,h.hk=null,l=!0)}if(a.fog>0)for(let o=0;o<2;o++){let n=Math.abs(r.y[t]-(r.height*(.62+.16*o)+Math.sin(.15*e+2*o)*r.p))/(1.4*r.p);if(n>=1)continue;let d=(1-n)*(0,s.smoothstep)(.45,.75,(0,i.fbm)(.07*r.gx[t]+(o?e:-e)*.2+13*o,3.1*o,0,2))*a.fog;d>.12&&(h.v=.2+.35*d,h.set="fog",h.hk=null,l=!0)}return l}pick(t,e,a){let h,r=this.grid,l=E[e.set];if(null!==e.hk)h=j(e.hk,3);else{let e=Math.floor(a*l.churn+7*r.seed[t]);h=(0,i.ihash)(7*r.gx[t]+131*e,13*r.gy[t]+71*e,4)}if(!this.letters)return l.emoji[Math.floor(h*l.emoji.length)%l.emoji.length];let o=Math.max(1,Math.min(A,Math.round(Math.min(1,e.v)*A*(.82+.36*r.grain[t]))));if("ramp"===l.letters){let t=s.RAMP[o];return t[Math.floor(h*t.length)%t.length]}let n=l.letters,d=Math.floor(o/A*n.length*.999+(h-.5)*1.2);return n[Math.max(0,Math.min(n.length-1,d))]}pass(t,e,a){let h=this.grid,r=this.plan,l=r.t,o=this.out,i=a.buckets;for(let t of i)t.x.length=0,t.y.length=0,t.alpha.length=0,t.glyph.length=0;let d=a.wipe;d.length=0;let u=r.tt<1.05||r.back>0;for(let t=0;t<h.n;t++){if(o.v=0,o.set="trees",o.hk=null,o.big=1,o.land=!1,o.a=1,r.back>0&&(this.reached(t,r.back,3)||h.edge[t]>(1-r.back)*(.95+.1*h.fray[t]))||r.cover<1&&!this.reached(t,r.cover,1))continue;let a=u&&1===h.onFace[t],n=!1;if("overlay"===e?(o.v=this.baseV[t],o.land=1===this.baseLand[t],o.hk=o.land?this.baseHK[t]:null,o.set=this.baseSet[t]??"trees",n=this.overlay(t,l,r,o)):(this.pastEdge(t,r)?o.v=0:this.mapCell(t,r,o),"base"===e?(this.baseV[t]=o.v,this.baseLand[t]=+!!o.land,this.baseHK[t]=o.hk??0,this.baseSet[t]=o.set):this.overlay(t,l,r,o)),"base"!==e&&!this.pastEdge(t,r)){let e=this.over[t];e>0&&e>=o.v&&(o.v=e,o.set=this.overSet[t]??o.set,o.big=this.overBig[t]||1,o.a=1,o.hk=null,n=!0)}if(a&&d.push(t),"overlay"===e&&!n||o.v<.05+.05*h.seed[t])continue;let c=Math.min(1,o.v),f=Math.max(1,c*A|0);"overlay"===e&&c>.32&&!a&&d.push(t);let m=this.pick(t,o,l);if(" "===m)continue;let g=this.letters?x*o.big:(0,s.emojiPx)(x,f,A)*o.big,M=this.letters?s.ALPHA_TOP*(f/A)*o.a:(0,s.emojiAlpha)(f,A)*o.a,p=i[Math.min(i.length-1,Math.round(2*g))];p.x.push(h.x[t]),p.y.push(h.y[t]),p.alpha.push(M),p.glyph.push(m)}if(d.length)for(let e of(t.globalAlpha=1,t.fillStyle=a.page,d))t.fillRect(h.x[e]-n.CELL_W/2,h.y[e]-n.CELL_H/2,n.CELL_W,n.CELL_H);t.fillStyle=a.ink;for(let e=0;e<i.length;e++){let a=i[e];if(a.glyph.length){t.font=(0,n.GLYPH_FONT)(e/2);for(let e=0;e<a.glyph.length;e++)t.globalAlpha=a.alpha[e],t.fillText(a.glyph[e],a.x[e],a.y[e])}}t.globalAlpha=1}marks(t,e){let a=this.grid,h=this.plan,r=+!!this.letters;if(t.fillStyle=e.ink,h.pinA>0&&h.pinSeen){let e=3*a.p*(1+.3*Math.max(0,1-Math.abs(h.tt-3.975)/.15));t.globalAlpha=this.letters?h.pinA*s.ALPHA_TOP:h.pinA,t.font=(0,n.GLYPH_FONT)(Math.round(this.letters?.8*e:e)),t.fillText(S[r],h.pinX,this.letters?h.pinY:h.pinY-.42*e)}if(h.storm&&h.wAmt>0){let e=3.6*a.p;t.globalAlpha=this.letters?h.wAmt*s.ALPHA_TOP:h.wAmt,t.save(),t.translate(h.storm.x,h.storm.y),this.letters||t.rotate(h.storm.rot),t.font=(0,n.GLYPH_FONT)(Math.round(this.letters?.8*e:e)),t.fillText(_[r],0,0),t.restore()}t.globalAlpha=1}draw(t,e,a){let h=this.grid,r=this.plan;if(t.setTransform(a,0,0,a,0,0),t.clearRect(0,0,h.width,h.height),null!==r.key){if(!this.base||this.baseKey!==r.key){this.base??=document.createElement("canvas"),this.base.width=Math.round(h.width*a),this.base.height=Math.round(h.height*a);let t=this.base.getContext("2d");t&&(t.setTransform(a,0,0,a,0,0),t.textAlign="center",t.textBaseline="middle",this.pass(t,"base",e),this.baseKey=r.key)}t.drawImage(this.base,0,0,h.width,h.height),this.pass(t,"overlay",e)}else this.pass(t,"all",e);this.marks(t,e)}}t.s(["HereGlobe",0,function({scene:t,onPhase:u}){let m=(0,a.useRef)(null),p=(0,a.useRef)(null),[x,A]=(0,a.useState)(null),[L,R]=(0,a.useState)(!1),E=(0,r.useIsDark)(),S=(0,a.useRef)(E);S.current=E;let _=(0,a.useRef)(u);_.current=u;let C=(0,a.useRef)(null),j=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let t=m.current;if(!t)return;let e=new ResizeObserver(([t])=>{let e=Math.round(t.contentRect.width),a=Math.round(t.contentRect.height);e>0&&a>0&&A(t=>t??{width:e,height:a})});return e.observe(t),()=>e.disconnect()},[]),(0,a.useEffect)(()=>{let e=p.current;if(!e||!x)return;let a=0,r=!1,u=null,m=t=>{u!==t&&"done"!==u&&(u=t,"done"===t&&(r=!0,cancelAnimationFrame(a),(0,d.releaseWorld)()),_.current(t))},A=()=>{"hidden"===document.visibilityState&&m("done")};document.addEventListener("visibilitychange",A);let L="letters"===(0,o.faceGlyphs)(),E=window.matchMedia("(prefers-reduced-motion: reduce)").matches,T=Math.min(2,window.devicePixelRatio||1);e.width=Math.round(x.width*T),e.height=Math.round(x.height*T);let H=e.getContext("2d");if(!H||E||"hidden"===document.visibilityState)return H||console.warn("No globe: the browser gave no canvas to draw it on."),m("done"),()=>document.removeEventListener("visibilitychange",A);H.setTransform(T,0,0,T,0,0),H.textAlign="center",H.textBaseline="middle";let F=G(S.current),z=S.current,K=null,O=-1/0,W=t=>{if(a=requestAnimationFrame(W),t-O<1e3/h.HERE.globeFps-n.CAP_SLACK_MS||(O=t,!K||null===j.current))return;z!==S.current&&(F=G(z=S.current),K.baseKey=null);let e=(t-j.current)/1e3,r=Math.min(5.7+h.HERE.holdMs/1e3,C.current??1/0);if(e>=r+1.05){H.clearRect(0,0,x.width,x.height),m("done");return}K.over.fill(0);let l=K.planAt(e,t/1e3,r);K.draw(H,F,T),m(e>=r?"back":l.cover>=1?"world":"covering")};return(0,d.loadWorld)().then(e=>{if(!r){try{let a=function(t,e){let a=e/n.DESIGN,h=(t-e)/2,r=(e-e)/2,l=Math.ceil(-h/n.CELL_W),o=Math.floor((t-h)/n.CELL_W)-1,d=Math.ceil(-r/n.CELL_H),u=Math.floor((e-r)/n.CELL_H)-1,c=o-l+1,f=u-d+1,m=c*f,g={width:t,height:e,k:a,p:Math.max(6.5,Math.min(10,e/44)),cols:c,rows:f,col0:l,row0:d,left:h,top:r,n:m,x:new Float32Array(m),y:new Float32Array(m),dx:new Float32Array(m),dy:new Float32Array(m),gx:new Int32Array(m),gy:new Int32Array(m),seed:new Float32Array(m),grain:new Float32Array(m),edge:new Float32Array(m),fray:new Float32Array(m),onFace:new Uint8Array(m)};for(let o=0;o<f;o++)for(let u=0;u<c;u++){let f=o*c+u,m=l+u,M=d+o,p=h+m*n.CELL_W+n.CELL_W/2,w=r+M*n.CELL_H+n.CELL_H/2,y=(p-t/2)/(t/2),b=(w-e/2)/(e/2);g.x[f]=p,g.y[f]=w,g.dx[f]=(p-t/2)/a,g.dy[f]=(w-e/2)/a,g.gx[f]=m,g.gy[f]=M,g.seed[f]=(0,s.hash)(1.7*m,2.3*M),g.grain[f]=(0,s.hash)(m+31.3,M+17.9),g.edge[f]=(y**4+b**4)**.25,g.fray[f]=(0,i.vnoise)(.2*m,.26*M,0),g.onFace[f]=+!!(Math.abs(p-t/2)<=e/2&&Math.abs(w-e/2)<=e/2)}return g}(x.width,x.height);(K=new I(a,function(t,e,a){var r;let{k:l}=a,s={width:a.width/l,height:a.height/l,least:1.6*n.REST_R},o=(0,d.fitView)(t,e.lat,e.lon,s,e.code),i=Math.asin(Math.min(1,s.height/2/o.radius))/k,u=Math.asin(Math.min(1,s.width/2/o.radius))/k,m=Math.max(-89.9,o.latc-1.3*i-1),p=Math.min(89.9,o.latc+1.3*i+1),x=Math.min(180,(1.3*u+1)/Math.max(.15,Math.cos(Math.min(85,Math.max(Math.abs(m),Math.abs(p)))*k))),A=n.CELL_W/l/o.radius/k,L=P(t,{west:o.lonc-x,east:o.lonc+x,south:m,north:p},Math.max(.008,A/2.5),o.home,!0),R=null;if(o.home>=0){let[e,a,h,r]=t.countries[o.home].bbox;R=P(t,{west:e-1,east:a+1,south:h-1,north:r+1},Math.max(.05,(a-e+2)/1024,(r-h+2)/1024),o.home,!1)}let E=Date.now();return{view:o,region:L,global:P(t,{west:-180,east:180,south:-90,north:90},360/2048,-1,!0),home:R,sky:function(t,e,a){let h=w(a,t,e),r=h>=c,l=r?b(a,a=>w(a,t,e),c,5,1440):null,s=null,o=y(a,t,e);if(o>0){let h,r,l,n,i,d=b(a,a=>y(a,t,e),0,10,1080);null!==d.rise&&null!==d.set&&(s={...d,rise:d.rise,set:d.set,alt:o,...(h=f(a),r=g(h),l=M(h),n=Math.acos(Math.max(-1,Math.min(1,Math.sin(r.dec)*Math.sin(l.dec)+Math.cos(r.dec)*Math.cos(l.dec)*Math.cos(r.ra-l.ra)))),i=Math.atan2(149598e3*Math.sin(n),l.km-149598e3*Math.cos(n)),{lit:(1+Math.cos(i))/2,phase:.5+.5*i*(0>Math.atan2(Math.cos(r.dec)*Math.sin(r.ra-l.ra),Math.sin(r.dec)*Math.cos(l.dec)-Math.cos(r.dec)*Math.sin(l.dec)*Math.cos(r.ra-l.ra))?-1:1)/Math.PI})})}return{alt:h,up:r,sun:l,moon:s}}(e.lat,e.lon,E),ms:E,look:v[e.weather.code]??null,wind:null==(r=e.weather.gusts)?0:r>=h.HERE.stormKmh?2:+(r>=h.HERE.windyKmh)}}(e,t,a),L)).warm(H)}catch(t){console.warn(`No globe: ${(0,l.errorToString)(t)}`),m("done");return}j.current=performance.now(),R(!0),a=requestAnimationFrame(W)}},t=>{r||(console.warn(`No globe: the map did not load (${(0,l.errorToString)(t)}).`),m("done"))}),()=>{r=!0,cancelAnimationFrame(a),document.removeEventListener("visibilitychange",A),(0,d.releaseWorld)()}},[x,t]),(0,e.jsx)("div",{ref:m,className:(0,l.cn)("absolute top-[calc(-1*var(--face-bleed))] bottom-[calc(-1*var(--face-bleed))] left-1/2 w-[min(calc(2*(100%+2*var(--face-bleed))),calc(100vw-2rem))] -translate-x-1/2",L?"cursor-pointer":"pointer-events-none"),onClick:()=>{null!==j.current&&(C.current??=(performance.now()-j.current)/1e3)},"aria-hidden":!0,children:(0,e.jsx)("canvas",{ref:p,style:{display:"block",width:"100%",height:"100%"}})})}],593317)},246971,function(t){t.n(t.i(593317))}]);
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,593317,t=>{"use strict";var e=t.i(843476),a=t.i(271645),h=t.i(41533),r=t.i(922521),l=t.i(647163),s=t.i(567334),o=t.i(877267),n=t.i(387758),i=t.i(377090),d=t.i(183414);let u=Math.PI/180,c=-.833*u,f=t=>t/864e5-.5+2440588-2451545,m=(t,e)=>u*(280.16+360.9856235*t)+e*u;function g(t){let e=23.4397*u,a=u*(357.5291+.98560028*t),h=u*(1.9148*Math.sin(a)+.02*Math.sin(2*a)+3e-4*Math.sin(3*a)),r=a+h+102.9372*u+Math.PI;return{dec:Math.asin(Math.sin(e)*Math.sin(r)),ra:Math.atan2(Math.sin(r)*Math.cos(e),Math.cos(r))}}function M(t){let e=23.4397*u,a=u*(134.963+13.064993*t),h=u*(218.316+13.176396*t)+6.289*u*Math.sin(a),r=5.128*u*Math.sin(u*(93.272+13.22935*t));return{ra:Math.atan2(Math.sin(h)*Math.cos(e)-Math.tan(r)*Math.sin(e),Math.cos(h)),dec:Math.asin(Math.sin(r)*Math.cos(e)+Math.cos(r)*Math.sin(e)*Math.sin(h)),km:385001-20905*Math.cos(a)}}let p=(t,e,a)=>Math.asin(Math.sin(e)*Math.sin(a)+Math.cos(e)*Math.cos(a)*Math.cos(t));function w(t,e,a){let h=f(t),r=g(h);return p(m(h,a)-r.ra,e*u,r.dec)}function y(t,e,a){let h=f(t),r=M(h);return p(m(h,a)-r.ra,e*u,r.dec)}function b(t,e,a,h,r){let l=6e4*h,s=e(t),o=s,n=n=>{let i=s;for(let s=h;s<=r;s+=h){let h=t+n*s*6e4,r=e(h);if(r<a)return h-n*l*((a-r)/(i-r));o=Math.max(o,r),i=r}return null};return{rise:n(-1),set:n(1),top:o}}let v={0:"clear",1:"clear",2:"partly",3:"overcast",45:"fog",48:"fog",51:"drizzle",53:"drizzle",55:"drizzle",56:"drizzle",57:"drizzle",61:"rain",63:"rain",66:"rain",80:"rain",81:"rain",65:"heavy",67:"heavy",82:"heavy",71:"snow",73:"snow",75:"snow",77:"snow",85:"snow",86:"snow",95:"storm",96:"storm",99:"storm"},x=h.ASCII_FACE.fontSize,A=s.LEVELS-1,k=Math.PI/180,L=[".",":","-","~","=","c","o"],R=["~","-","="],E={trees:{emoji:["🌳","🌲","🌳","🥦","🌲","🟢","🌳"],letters:"ramp",churn:0},sea:{emoji:["🌊","🔵","💙","🌊","🐳","🔵","💧","🐬"],letters:[".","·","~","-"],churn:0},nightLand:{emoji:["🌑","🖤","⚫","🌑","🖤","🎱","⚫","🫐"],letters:"ramp",churn:0},sunBody:{emoji:["☀️","🌻","🍋","⭐","💛","🧡","🍊","🌟","🌼","🐥"],letters:"ramp",churn:.45},moonBody:{emoji:["🌕","💛","⭐","🌟","🤍","🍋","🌙","🌼"],letters:"ramp",churn:.3},snowGround:{emoji:["❄️","🤍","⚪"],letters:["*","+","x"],churn:0},spark:{emoji:["✨"],letters:["·","+"],churn:.8},star:{emoji:["✨","⭐"],letters:["·","+","*"],churn:.4},cloud:{emoji:["☁️","🤍","⚪","☁️","🤍","☁️"],letters:L,churn:.25},cGrey:{emoji:["☁️","🌫️","☁️","🌥️","⚪"],letters:L,churn:.25},cRain:{emoji:["🌧️","☁️","🌫️","☁️","💧"],letters:L,churn:.3},cStorm:{emoji:["⛈️","🌩️","☁️","🌧️","🖤"],letters:[".",":",";","=","x","X"],churn:.4},cSnow:{emoji:["🌨️","☁️","🤍","❄️","⚪"],letters:L,churn:.25},cyclone:{emoji:["☁️","🌫️","☁️","🌧️","🌀"],letters:L,churn:.3},fog:{emoji:["🌫️"],letters:R,churn:.2},drop:{emoji:["💧"],letters:["'","|","|"],churn:0},flake:{emoji:["❄️"],letters:["*","+"],churn:0},wind:{emoji:["💨"],letters:R,churn:0},bolt:{emoji:["⚡"],letters:["/","\\"],churn:0}},S=["📍","◉"],_=["🌀","@"],C={clear:{clouds:0,set:"cloud",rain:0,snow:0,fog:0},partly:{clouds:2,set:"cloud",rain:0,snow:0,fog:0},overcast:{clouds:5,set:"cGrey",rain:0,snow:0,fog:0},fog:{clouds:0,set:"cloud",rain:0,snow:0,fog:1},drizzle:{clouds:0,set:"cGrey",rain:.3,snow:0,fog:0},rain:{clouds:0,set:"cRain",rain:.6,snow:0,fog:0},heavy:{clouds:0,set:"cRain",rain:1,snow:0,fog:0},snow:{clouds:0,set:"cSnow",rain:0,snow:.8,fog:0},storm:{clouds:2,set:"cStorm",rain:.7,snow:0,fog:0}},j=(t,e)=>(0,i.ihash)(65535&t,t>>>16,e),T=t=>t<0?0:t>1?1:t,H=t=>1+2.35*(t-1)**3+1.35*(t-1)**2,F=[-360,0,360];function P(t,e,a,h,r){let l=Math.max(8,Math.min(2048,Math.round((e.east-e.west)/a))),s=Math.max(8,Math.min(2048,Math.round((e.north-e.south)/a))),o=(e.east-e.west)/l,n=(e.north-e.south)/s,i=document.createElement("canvas");i.width=l,i.height=s;let d=i.getContext("2d",{willReadFrequently:!0});if(!d)throw Error("the browser gave no canvas to draw the map on");let u=(t,a)=>t[3]>=e.south&&t[2]<=e.north&&t[1]+a>=e.west&&t[0]+a<=e.east,c=(t,a,h)=>{for(let r=0;r<a.length;r+=2){let l=(a[r]+h-e.west)/o,s=(e.north-a[r+1])/n;0===r?t.moveTo(l,s):t.lineTo(l,s)}t.closePath()},f=(t,e)=>{for(let a of F)if(u(e.bbox,a)){for(let h of e.polys)if(u(h.bbox,a))for(let e of h.rings)c(t,e,a)}};if(r){let e=new Path2D;t.countries.forEach((t,a)=>{a!==h&&f(e,t)}),d.fillStyle="#ff0000",d.fill(e,"evenodd")}if(h>=0){let e=new Path2D;f(e,t.countries[h]),d.fillStyle="#ffff00",d.fill(e,"evenodd")}let m=d.getImageData(0,0,l,s).data,g=new Uint8Array(l*s);for(let t=0,e=0;e<g.length;t+=4,e++)g[e]=m[t]>127|2*(m[t+1]>127);return{...e,dlon:o,dlat:n,w:l,h:s,data:g}}function z(t,e,a){if(!t||e>t.north||e<t.south)return -1;let h=a;if(h<t.west?h+=360:h>=t.east&&(h-=360),h<t.west||h>=t.east)return -1;let r=Math.min(t.w-1,(h-t.west)/t.dlon|0),l=Math.min(t.h-1,(t.north-e)/t.dlat|0);return t.data[l*t.w+r]}function G(t){let[e,a,h]=t?s.ORB_INK.dark:s.ORB_INK.light;return{ink:`rgb(${e},${a},${h})`,page:getComputedStyle(document.body).backgroundColor,buckets:Array.from({length:4*x+1},()=>({x:[],y:[],alpha:[],glyph:[]})),wipe:[]}}class I{grid;stage;letters;over;overSet;overBig;base=null;baseKey=null;baseV;baseLand;baseHK;baseSet;plan={};out={v:0,set:"trees",hk:null,big:1,land:!1,a:1};constructor(t,e,a){this.grid=t,this.stage=e,this.letters=a,this.over=new Float32Array(t.n),this.overSet=Array(t.n).fill(null),this.overBig=new Float32Array(t.n),this.baseV=new Float32Array(t.n),this.baseLand=new Uint8Array(t.n),this.baseHK=new Int32Array(t.n),this.baseSet=Array(t.n).fill(null)}warm(t){if(this.letters)return;let e=new Set;for(let t=1;t<=A;t++)for(let a=.8;a<=1.151;a+=.01)e.add(Math.round((0,s.emojiPx)(x,t,A)*a*2)/2);let a=this.grid;for(let h of e)for(let e of(t.font=(0,n.GLYPH_FONT)(h),Object.values(E)))for(let h of e.emoji)t.fillText(h,a.width/2,a.height/2);for(let e=Math.round(3*a.p);e<=Math.round(3*a.p*1.3);e++)t.font=(0,n.GLYPH_FONT)(e),t.fillText(S[0],a.width/2,a.height/2);t.font=(0,n.GLYPH_FONT)(Math.round(3.6*a.p)),t.fillText(_[0],a.width/2,a.height/2),t.clearRect(0,0,a.width,a.height)}put(t,e,a,h,r=1){let l=this.grid,s=Math.round((t-l.left-n.CELL_W/2)/n.CELL_W)-l.col0,o=Math.round((e-l.top-n.CELL_H/2)/n.CELL_H)-l.row0;if(s<0||o<0||s>=l.cols||o>=l.rows)return;let i=o*l.cols+s;a>this.over[i]&&(this.over[i]=a,this.overSet[i]=h,this.overBig[i]=r)}land(t,e){let a=this.stage,h=z(a.region,t,e);if(h>=0)return h;if(!(1&z(a.global,t,e)))return 0;let r=z(a.home,t,e);return r>0&&2&r?3:1}planAt(t,e,a){let h,r=this.plan,l=this.grid,o=this.stage,i=o.view;r.tt=t,r.t=e,r.cover=(0,s.smoothstep)(.075,.75,t),r.back=(0,s.smoothstep)(a,a+1.05,t);let u=1-(0,s.smoothstep)(a-.15,a+.3,t),c=n.REST_R+.32*n.REST_R*H((0,s.smoothstep)(.15,1.35,t)),f=1-(1-T((t-.15)/2.4))**4,m=14+(i.lat-14)*f,g=i.lon-320*(1-f),M=(h=(0,s.smoothstep)(2.25,3.9,t))<.5?4*h*h*h:1-(-2*h+2)**3/2;r.R=M>0?Math.exp(Math.log(c)+(Math.log(i.radius)-Math.log(c))*M):c,r.latc=m+(i.latc-i.lat)*M,r.lonc=g+(0,d.wrap)(i.lonc-i.lon)*M;let p=n.CELL_W/l.k/r.R/k;r.lvl=Math.max(0,Math.ceil(Math.log2(p/.02))),r.bin=.02*2**r.lvl,r.zoomed=T((r.R/(1.32*n.REST_R)-1)/3),r.open=(0,s.smoothstep)(2.25,2.85,t),r.only=(0,s.smoothstep)(2.475,3.6,t),r.pinA=(0,s.smoothstep)(3.825,4.125,t)*u,r.ripple=t>3.825&&t<5.475?(t-3.825)%.825/.825:-1,r.orbA=(0,s.smoothstep)(4.35,4.95,t)*u,r.orbGrow=H((0,s.smoothstep)(4.35,5.25,t))*u,r.wAmt=(0,s.smoothstep)(4.8,5.7,t)*u,r.night=(0,s.smoothstep)(.06,-.1,Math.sin(o.sky.alt)),r.dark=r.night*(0,s.smoothstep)(3.3,4.05,t),this.planSky(r,o.sky,o.ms,e),this.planWeather(r,e),r.key=t>=3.9+.05&&r.back<=0?String(Math.round(12*r.dark)):null;let w=(0,d.project)(i.lat,i.lon,r.latc,r.lonc,r.R);return r.pinX=l.width/2+w.x*l.k,r.pinY=l.height/2+w.y*l.k,r.pinSeen=w.seen,r}planSky(t,e,a,h){let r=this.grid;if(t.orb=null,t.orbA<=0)return;let l=(t,e,a)=>[r.width*(.12+.76*t),r.height*(.3-.2*Math.max(0,e)/Math.max(.05,a))],s=Math.max(3.2*r.p,.06*r.height)/r.k,o=(1-Math.min(1,t.orbGrow))*r.height*.05,n=(e,a,h,l,s)=>({x:(e-r.width/2)/r.k,y:(a+o-r.height/2)/r.k,R:h*Math.max(0,t.orbGrow),set:l,shadow:s});if(e.up&&e.sun){let{rise:h,set:r,top:o}=e.sun,[i,d]=l(null!==h&&null!==r?(a-h)/(r-h):((a/6e4+4*this.stage.view.lon)%1440+1440)%1440/1440,e.alt,o);t.orb=n(i,d,s,"sunBody",null);return}if(e.moon){let{rise:h,set:r,alt:o,top:i}=e.moon,[d,u]=l((a-h)/(r-h),o,i);t.orb=n(d,u,.9*s,"moonBody",(e.moon.phase<.5?-1:1)*2*e.moon.lit)}for(let e=0;e<18;e++){let a=.5+.5*Math.sin(h*(1+1.5*(0,i.ihash)(e,73,0))+2.1*e);this.put(r.width*(.04+.92*(0,i.ihash)(e,71,0)),r.height*(.03+.26*(0,i.ihash)(e,72,0)),(.2+.5*a*a)*t.orbA,"star",.85+.3*(0,i.ihash)(e,74,0))}}planWeather(t,e){let a=this.grid,h=a.p,r=this.stage.look,l=r?C[r]:C.clear,o=this.stage.wind;if(t.cloudSet=l.set,t.fog=l.fog*t.wAmt,t.flash=0,t.flashCloud=-1,t.clouds=[],t.storm=null,t.wAmt<=0)return;let d=r?l.clouds:0;for(let l=0;l<d;l++){let s=h*(2+.8*(0,i.ihash)(l,11,0))*("overcast"===r?1.3:1),o=a.width+8*s,n=(4*s+((l+.5)/d+((0,i.ihash)(l,13,0)-.5)*(.5/d))*a.width+h*(.3+.35*(0,i.ihash)(l,12,0))*e)%o-4*s,u=a.height*(.07+.2*(0,i.ihash)(l,14,0));t.clouds.push({x:n,y:u,r:s,puffs:[[-(.9*s),.1*s,.75*s],[0,-(.2*s),s],[.9*s,.12*s,.7*s]],bottom:u+.6*s,width:3*s})}let u=2===o||"storm"===r?.3:"heavy"===r||o?.15:.08;if(l.rain>0){let s=Math.max(3,Math.round(a.width/h*.16*l.rain)),o="drizzle"===r?1:"heavy"===r||"storm"===r?3:2,d=l.rain>.8?2:1,c=a.height+(o+4)*h;for(let l=0;l<s;l++){let f=a.width*((l+.5)/s)+((0,i.ihash)(l,21,0)-.5)*(a.width/s),m=h*(14+8*(0,i.ihash)(l,22,0))*("drizzle"===r?.6:1);for(let a=0;a<d;a++){let h=(e*m+(0,i.ihash)(l,23,0)*c+a*c/d)%c;for(let e=0;e<1.4*o;e++){let a=h-e*n.CELL_H;if(a<0)break;this.put(f+a*u,a,(.62-e/o*.13)*t.wAmt,"drop",.8)}}}}if(l.snow>0){let r=Math.max(4,Math.round(a.width/h*.22*l.snow)),s=a.height+4*h;for(let l=0;l<r;l++){let r=(e*h*(1.4+1.2*(0,i.ihash)(l,31,0))+(0,i.ihash)(l,32,0)*s)%s;this.put(a.width*(0,i.ihash)(l,33,0)+Math.sin(1.1*e+l)*h*.9,r,(.55+.25*(0,i.ihash)(l,34,0))*t.wAmt,"flake",.8)}}if("storm"===r&&t.clouds.length){let a=e%4.3,r=Math.floor(e/4.3),l=r%t.clouds.length,o=t.clouds[l];if(t.flash=Math.exp(-((a-.3)**2)/.008)*t.wAmt,t.flashCloud=l,a>.22&&a<.7){let e=o.x+((0,i.ihash)(r,41,0)-.5)*o.r,l=o.bottom;for(let o=0;o<11;o++)this.put(e,l,(1-(0,s.smoothstep)(.5,.7,a))*t.wAmt,"bolt",1),e+=((0,i.ihash)(9*r+o,42,0)-.5)*h*1.3,l+=n.CELL_H}}if(o>0)for(let r=0;r<(2===o?10:6);r++){let l=((0,i.ihash)(r,52,0)*a.width+e*h*(9+5*(0,i.ihash)(r,53,0)))%(a.width+6*h)-3*h;this.put(l,a.height*(.1+.75*(0,i.ihash)(r,51,0))+Math.sin(2*e+r)*h*.4,.5*t.wAmt,"wind",.8)}if(2===o){let h=this.stage.view.lat<0?-1:1;t.storm={x:.15*a.width,y:.3*a.height,R:.17*a.height,dir:h,rot:-h*e*1.6}}}cloudAt(t,e,a,h){let r=0;for(let a=0;a<h.clouds.length;a++){let l=h.clouds[a];if(Math.abs(t-l.x)>l.width||Math.abs(e-l.y)>1.7*l.r)continue;let o=a===h.flashCloud?1+h.flash:1;for(let[a,h,n]of l.puffs)r=Math.max(r,(0,s.smoothstep)(n,.45*n,Math.hypot(t-l.x-a,e-l.y-h))*o)}let l=h.storm;if(l){let h=t-l.x,o=e-l.y,n=Math.hypot(h,o)/l.R;if(n<1){let t=(.5+.5*Math.cos(2*(Math.atan2(o,h)+l.dir*a*.6)-5*l.dir*Math.log(5*n+.2)))**1.8*(0,s.smoothstep)(1,.45,n)+(0,s.smoothstep)(.1,.16,n)*(0,s.smoothstep)(.32,.2,n)*.8;t*=(0,s.smoothstep)(.12,.2,n),r=Math.max(r,t)}}return T(r)}body(t,e,a,h,r){return function(t,e,a,h,r,l){if(a<=0)return 0;let o=t.dx[e]-h,n=t.dy[e]-r,d=Math.hypot(o,n);if(d>1.6*a)return 0;let u=a*(.86+.34*(0,i.fbm)(.0085*o+3.1,.0085*n,.32*l,3)),c=(0,s.smoothstep)(u,.45*u,d);if(c<.25&&t.seed[e]<.3){let a=(0,s.smoothstep)(1.4*u,u,d);a>0&&(c=Math.max(c,.35*a*(.5+.5*Math.sin(1.7*l+40*t.seed[e]))))}return c*(.78+.22*t.grain[e])}(this.grid,t,e,a,h,r)}reached(t,e,a){if(e<=0)return!1;if(e>=1)return!0;let h=this.grid;return Math.hypot(h.dx[t],h.dy[t])+((0,i.fbm)(.011*h.dx[t]+7.3*a,.011*h.dy[t],a,2)-.5)*220<640*e-60}mapCell(t,e,a){let h=this.grid,r=e.R,l=h.dx[t]/r,s=h.dy[t]/r,o=l*l+s*s;if(o>1)return void(o<1.14&&h.seed[t]<.4&&e.open<.5?(a.v=.14,a.set="sea"):a.v=0);let n=Math.sqrt(1-o),u=e.latc*k,c=Math.cos(u),f=Math.sin(u),m=Math.asin(Math.max(-1,Math.min(1,-s*c+n*f)))/k,g=(0,d.wrap)(e.lonc+Math.atan2(l,s*f+n*c)/k),M=this.land(m,g),p=(3&M)==3;if(!p&&e.only>0&&(0,i.ihash)(h.gx[t]+9001,h.gy[t],1)<e.only){a.v=0;return}let w=.55+.45*n;if(a.hk=0x7fffffff*(0,i.ihash)(Math.floor((m+90)/e.bin),Math.floor((g+180)/e.bin),e.lvl)|0,1&M)a.land=p,a.v=.95*w,a.set="trees",p&&e.dark>0&&(0,i.ihash)(h.gx[t]+77,h.gy[t]+5,2)<e.dark&&(a.set="nightLand",this.letters&&(a.v=.42*w));else{if(j(a.hk,11)>1-.76*e.zoomed){a.v=0;return}a.v=.36*w,a.set="sea"}}pastEdge(t,e){let a=this.grid;return e.open>0&&a.edge[t]>.9+.08*a.fray[t]}overlay(t,e,a,h){let r=this.grid;if(a.open<.99||this.pastEdge(t,a))return!1;let l=!1;a.ripple>=0&&a.pinA>0&&h.v>0&&Math.abs(Math.hypot(r.x[t]-a.pinX,r.y[t]-a.pinY)-(r.p+a.ripple*r.height*.22))<.7*r.p&&(h.v=.9*(1-a.ripple)*a.pinA,h.set="spark",h.hk=null,l=!0);let o=a.orb;if(o&&o.R>0){let n=r.dx[t]-o.x,i=r.dy[t]-o.y;if(n*n+i*i<o.R*o.R*2.6){let r=this.body(t,o.R,o.x,o.y,e);null!==o.shadow&&r>0&&(r*=1-(0,s.smoothstep)(.98*o.R,.8*o.R,Math.hypot(n-o.shadow*o.R,i))),r>.06&&(h.v=r*a.orbA,h.set=o.set,h.hk=null,l=!0)}}if(a.wAmt<=0)return l;if("snow"===this.stage.look&&h.land&&!l&&null!==h.hk&&j(h.hk,29)<.22*a.wAmt&&(h.set="snowGround",l=!0),a.clouds.length||a.storm){let s=this.cloudAt(r.x[t],r.y[t],e,a)*a.wAmt;s>.12&&(h.v=Math.min(1,.3+.6*s),h.a=1-.3*a.night,h.set=a.storm&&Math.hypot(r.x[t]-a.storm.x,r.y[t]-a.storm.y)<a.storm.R?"cyclone":a.cloudSet,h.hk=null,l=!0)}if(a.fog>0)for(let o=0;o<2;o++){let n=Math.abs(r.y[t]-(r.height*(.62+.16*o)+Math.sin(.15*e+2*o)*r.p))/(1.4*r.p);if(n>=1)continue;let d=(1-n)*(0,s.smoothstep)(.45,.75,(0,i.fbm)(.07*r.gx[t]+(o?e:-e)*.2+13*o,3.1*o,0,2))*a.fog;d>.12&&(h.v=.2+.35*d,h.set="fog",h.hk=null,l=!0)}return l}pick(t,e,a){let h,r=this.grid,l=E[e.set];if(null!==e.hk)h=j(e.hk,3);else{let e=Math.floor(a*l.churn+7*r.seed[t]);h=(0,i.ihash)(7*r.gx[t]+131*e,13*r.gy[t]+71*e,4)}if(!this.letters)return l.emoji[Math.floor(h*l.emoji.length)%l.emoji.length];let o=Math.max(1,Math.min(A,Math.round(Math.min(1,e.v)*A*(.82+.36*r.grain[t]))));if("ramp"===l.letters){let t=s.RAMP[o];return t[Math.floor(h*t.length)%t.length]}let n=l.letters,d=Math.floor(o/A*n.length*.999+(h-.5)*1.2);return n[Math.max(0,Math.min(n.length-1,d))]}pass(t,e,a){let h=this.grid,r=this.plan,l=r.t,o=this.out,i=a.buckets;for(let t of i)t.x.length=0,t.y.length=0,t.alpha.length=0,t.glyph.length=0;let d=a.wipe;d.length=0;let u=r.tt<1.05||r.back>0;for(let t=0;t<h.n;t++){if(o.v=0,o.set="trees",o.hk=null,o.big=1,o.land=!1,o.a=1,r.back>0&&(this.reached(t,r.back,3)||h.edge[t]>(1-r.back)*(.95+.1*h.fray[t]))||r.cover<1&&!this.reached(t,r.cover,1))continue;let a=u&&1===h.onFace[t],n=!1;if("overlay"===e?(o.v=this.baseV[t],o.land=1===this.baseLand[t],o.hk=o.land?this.baseHK[t]:null,o.set=this.baseSet[t]??"trees",n=this.overlay(t,l,r,o)):(this.pastEdge(t,r)?o.v=0:this.mapCell(t,r,o),"base"===e?(this.baseV[t]=o.v,this.baseLand[t]=+!!o.land,this.baseHK[t]=o.hk??0,this.baseSet[t]=o.set):this.overlay(t,l,r,o)),"base"!==e&&!this.pastEdge(t,r)){let e=this.over[t];e>0&&e>=o.v&&(o.v=e,o.set=this.overSet[t]??o.set,o.big=this.overBig[t]||1,o.a=1,o.hk=null,n=!0)}if(a&&d.push(t),"overlay"===e&&!n||o.v<.05+.05*h.seed[t])continue;let c=Math.min(1,o.v),f=Math.max(1,c*A|0);"overlay"===e&&c>.32&&!a&&d.push(t);let m=this.pick(t,o,l);if(" "===m)continue;let g=this.letters?x*o.big:(0,s.emojiPx)(x,f,A)*o.big,M=this.letters?s.ALPHA_TOP*(f/A)*o.a:(0,s.emojiAlpha)(f,A)*o.a,p=i[Math.min(i.length-1,Math.round(2*g))];p.x.push(h.x[t]),p.y.push(h.y[t]),p.alpha.push(M),p.glyph.push(m)}if(d.length)for(let e of(t.globalAlpha=1,t.fillStyle=a.page,d))t.fillRect(h.x[e]-n.CELL_W/2,h.y[e]-n.CELL_H/2,n.CELL_W,n.CELL_H);t.fillStyle=a.ink;for(let e=0;e<i.length;e++){let a=i[e];if(a.glyph.length){t.font=(0,n.GLYPH_FONT)(e/2);for(let e=0;e<a.glyph.length;e++)t.globalAlpha=a.alpha[e],t.fillText(a.glyph[e],a.x[e],a.y[e])}}t.globalAlpha=1}marks(t,e){let a=this.grid,h=this.plan,r=+!!this.letters;if(t.fillStyle=e.ink,h.pinA>0&&h.pinSeen){let e=3*a.p*(1+.3*Math.max(0,1-Math.abs(h.tt-3.975)/.15));t.globalAlpha=this.letters?h.pinA*s.ALPHA_TOP:h.pinA,t.font=(0,n.GLYPH_FONT)(Math.round(this.letters?.8*e:e)),t.fillText(S[r],h.pinX,this.letters?h.pinY:h.pinY-.42*e)}if(h.storm&&h.wAmt>0){let e=3.6*a.p;t.globalAlpha=this.letters?h.wAmt*s.ALPHA_TOP:h.wAmt,t.save(),t.translate(h.storm.x,h.storm.y),this.letters||t.rotate(h.storm.rot),t.font=(0,n.GLYPH_FONT)(Math.round(this.letters?.8*e:e)),t.fillText(_[r],0,0),t.restore()}t.globalAlpha=1}draw(t,e,a){let h=this.grid,r=this.plan;if(t.setTransform(a,0,0,a,0,0),t.clearRect(0,0,h.width,h.height),null!==r.key){if(!this.base||this.baseKey!==r.key){this.base??=document.createElement("canvas"),this.base.width=Math.round(h.width*a),this.base.height=Math.round(h.height*a);let t=this.base.getContext("2d");t&&(t.setTransform(a,0,0,a,0,0),t.textAlign="center",t.textBaseline="middle",this.pass(t,"base",e),this.baseKey=r.key)}t.drawImage(this.base,0,0,h.width,h.height),this.pass(t,"overlay",e)}else this.pass(t,"all",e);this.marks(t,e)}}t.s(["HereGlobe",0,function({scene:t,covered:u=!1,onPhase:m}){let p=(0,a.useRef)(null),x=(0,a.useRef)(null),[A,L]=(0,a.useState)(null),[R,E]=(0,a.useState)(!1),S=(0,r.useIsDark)(),_=(0,a.useRef)(S);_.current=S;let C=(0,a.useRef)(m);C.current=m;let j=(0,a.useRef)(u);j.current=u;let T=(0,a.useRef)(null),H=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let t=p.current;if(!t)return;let e=new ResizeObserver(([t])=>{let e=Math.round(t.contentRect.width),a=Math.round(t.contentRect.height);e>0&&a>0&&L(t=>t??{width:e,height:a})});return e.observe(t),()=>e.disconnect()},[]),(0,a.useEffect)(()=>{let e=x.current;if(!e||!A)return;let a=0,r=!1,u=null,m=t=>{u!==t&&"done"!==u&&(u=t,"done"===t&&(r=!0,cancelAnimationFrame(a),(0,d.releaseWorld)()),C.current(t))},p=()=>{"hidden"===document.visibilityState&&m("done")};document.addEventListener("visibilitychange",p);let L="letters"===(0,o.faceGlyphs)(),R=window.matchMedia("(prefers-reduced-motion: reduce)").matches,S=Math.min(2,window.devicePixelRatio||1);e.width=Math.round(A.width*S),e.height=Math.round(A.height*S);let F=e.getContext("2d");if(!F||R||"hidden"===document.visibilityState)return F||console.warn("No globe: the browser gave no canvas to draw it on."),m("done"),()=>document.removeEventListener("visibilitychange",p);F.setTransform(S,0,0,S,0,0),F.textAlign="center",F.textBaseline="middle";let z=G(_.current),K=_.current,O=null,W=-1/0,B=t=>{if(a=requestAnimationFrame(B),t-W<1e3/h.HERE.globeFps-n.CAP_SLACK_MS)return;if(W=t,j.current){F.clearRect(0,0,A.width,A.height),m("done");return}if(!O||null===H.current)return;K!==_.current&&(z=G(K=_.current),O.baseKey=null);let e=(t-H.current)/1e3,r=Math.min(5.7+h.HERE.holdMs/1e3,T.current??1/0);if(e>=r+1.05){F.clearRect(0,0,A.width,A.height),m("done");return}O.over.fill(0);let l=O.planAt(e,t/1e3,r);O.draw(F,z,S),m(e>=r?"back":l.cover>=1?"world":"covering")};return(0,d.loadWorld)().then(e=>{if(!r){try{let a=function(t,e){let a=e/n.DESIGN,h=(t-e)/2,r=(e-e)/2,l=Math.ceil(-h/n.CELL_W),o=Math.floor((t-h)/n.CELL_W)-1,d=Math.ceil(-r/n.CELL_H),u=Math.floor((e-r)/n.CELL_H)-1,c=o-l+1,f=u-d+1,m=c*f,g={width:t,height:e,k:a,p:Math.max(6.5,Math.min(10,e/44)),cols:c,rows:f,col0:l,row0:d,left:h,top:r,n:m,x:new Float32Array(m),y:new Float32Array(m),dx:new Float32Array(m),dy:new Float32Array(m),gx:new Int32Array(m),gy:new Int32Array(m),seed:new Float32Array(m),grain:new Float32Array(m),edge:new Float32Array(m),fray:new Float32Array(m),onFace:new Uint8Array(m)};for(let o=0;o<f;o++)for(let u=0;u<c;u++){let f=o*c+u,m=l+u,M=d+o,p=h+m*n.CELL_W+n.CELL_W/2,w=r+M*n.CELL_H+n.CELL_H/2,y=(p-t/2)/(t/2),b=(w-e/2)/(e/2);g.x[f]=p,g.y[f]=w,g.dx[f]=(p-t/2)/a,g.dy[f]=(w-e/2)/a,g.gx[f]=m,g.gy[f]=M,g.seed[f]=(0,s.hash)(1.7*m,2.3*M),g.grain[f]=(0,s.hash)(m+31.3,M+17.9),g.edge[f]=(y**4+b**4)**.25,g.fray[f]=(0,i.vnoise)(.2*m,.26*M,0),g.onFace[f]=+!!(Math.abs(p-t/2)<=e/2&&Math.abs(w-e/2)<=e/2)}return g}(A.width,A.height);(O=new I(a,function(t,e,a){var r;let{k:l}=a,s={width:a.width/l,height:a.height/l,least:1.6*n.REST_R},o=(0,d.fitView)(t,e.lat,e.lon,s,e.code),i=Math.asin(Math.min(1,s.height/2/o.radius))/k,u=Math.asin(Math.min(1,s.width/2/o.radius))/k,m=Math.max(-89.9,o.latc-1.3*i-1),p=Math.min(89.9,o.latc+1.3*i+1),x=Math.min(180,(1.3*u+1)/Math.max(.15,Math.cos(Math.min(85,Math.max(Math.abs(m),Math.abs(p)))*k))),A=n.CELL_W/l/o.radius/k,L=P(t,{west:o.lonc-x,east:o.lonc+x,south:m,north:p},Math.max(.008,A/2.5),o.home,!0),R=null;if(o.home>=0){let[e,a,h,r]=t.countries[o.home].bbox;R=P(t,{west:e-1,east:a+1,south:h-1,north:r+1},Math.max(.05,(a-e+2)/1024,(r-h+2)/1024),o.home,!1)}let E=Date.now();return{view:o,region:L,global:P(t,{west:-180,east:180,south:-90,north:90},360/2048,-1,!0),home:R,sky:function(t,e,a){let h=w(a,t,e),r=h>=c,l=r?b(a,a=>w(a,t,e),c,5,1440):null,s=null,o=y(a,t,e);if(o>0){let h,r,l,n,i,d=b(a,a=>y(a,t,e),0,10,1080);null!==d.rise&&null!==d.set&&(s={...d,rise:d.rise,set:d.set,alt:o,...(h=f(a),r=g(h),l=M(h),n=Math.acos(Math.max(-1,Math.min(1,Math.sin(r.dec)*Math.sin(l.dec)+Math.cos(r.dec)*Math.cos(l.dec)*Math.cos(r.ra-l.ra)))),i=Math.atan2(149598e3*Math.sin(n),l.km-149598e3*Math.cos(n)),{lit:(1+Math.cos(i))/2,phase:.5+.5*i*(0>Math.atan2(Math.cos(r.dec)*Math.sin(r.ra-l.ra),Math.sin(r.dec)*Math.cos(l.dec)-Math.cos(r.dec)*Math.sin(l.dec)*Math.cos(r.ra-l.ra))?-1:1)/Math.PI})})}return{alt:h,up:r,sun:l,moon:s}}(e.lat,e.lon,E),ms:E,look:v[e.weather.code]??null,wind:null==(r=e.weather.gusts)?0:r>=h.HERE.stormKmh?2:+(r>=h.HERE.windyKmh)}}(e,t,a),L)).warm(F)}catch(t){console.warn(`No globe: ${(0,l.errorToString)(t)}`),m("done");return}H.current=performance.now(),E(!0),a=requestAnimationFrame(B)}},t=>{r||(console.warn(`No globe: the map did not load (${(0,l.errorToString)(t)}).`),m("done"))}),()=>{r=!0,cancelAnimationFrame(a),document.removeEventListener("visibilitychange",p),(0,d.releaseWorld)()}},[A,t]),(0,e.jsx)("div",{ref:p,className:(0,l.cn)("absolute top-[calc(-1*var(--face-bleed))] bottom-[calc(-1*var(--face-bleed))] left-1/2 w-[min(calc(2*(100%+2*var(--face-bleed))),calc(100vw-2rem))] -translate-x-1/2",R?"cursor-pointer":"pointer-events-none"),onClick:()=>{null!==H.current&&(T.current??=(performance.now()-H.current)/1e3)},"aria-hidden":!0,children:(0,e.jsx)("canvas",{ref:x,style:{display:"block",width:"100%",height:"100%"}})})}],593317)}]);