thursday-agent 0.2.0 → 0.3.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 (535) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +5 -2
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +5 -5
  5. package/.next/routes-manifest.json +24 -6
  6. package/.next/server/app/_global-error/page.js +2 -2
  7. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_global-error.html +1 -1
  10. package/.next/server/app/_global-error.rsc +2 -2
  11. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page.js +2 -2
  15. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +14 -14
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +12 -12
  21. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  22. package/.next/server/app/api/artifact/route.js +3 -3
  23. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/memory/files/route/app-paths-manifest.json +3 -0
  25. package/.next/server/app/api/bot/memory/files/route.js +10 -0
  26. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -0
  27. package/.next/server/app/api/bot/memory/files/route_client-reference-manifest.js +3 -0
  28. package/.next/server/app/api/bot/memory/route/app-paths-manifest.json +3 -0
  29. package/.next/server/app/api/bot/memory/route.js +14 -0
  30. package/.next/server/app/api/bot/{notes → memory}/route.js.nft.json +1 -1
  31. package/.next/server/app/api/bot/memory/route_client-reference-manifest.js +3 -0
  32. package/.next/server/app/api/bot/route.js +6 -6
  33. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  34. package/.next/server/app/api/bot/task/[id]/route.js +8 -8
  35. package/.next/server/app/api/bot/task/[id]/route.js.nft.json +1 -1
  36. package/.next/server/app/api/bot/task/route.js +8 -8
  37. package/.next/server/app/api/bot/task/route.js.nft.json +1 -1
  38. package/.next/server/app/api/config/route.js +5 -5
  39. package/.next/server/app/api/config/route.js.nft.json +1 -1
  40. package/.next/server/app/api/events/route.js +4 -5
  41. package/.next/server/app/api/events/route.js.nft.json +1 -1
  42. package/.next/server/app/api/file/[...path]/route.js +3 -3
  43. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/catalog/route.js +9 -8
  45. package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
  46. package/.next/server/app/api/llm-model/credits/route/app-paths-manifest.json +3 -0
  47. package/.next/server/app/api/llm-model/credits/route/build-manifest.json +12 -0
  48. package/.next/server/app/api/llm-model/credits/route/server-reference-manifest.json +4 -0
  49. package/.next/server/app/api/llm-model/credits/route.js +16 -0
  50. package/.next/server/app/api/llm-model/credits/route.js.map +5 -0
  51. package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -0
  52. package/.next/server/app/api/llm-model/credits/route_client-reference-manifest.js +3 -0
  53. package/.next/server/app/api/llm-model/route.js +10 -8
  54. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  55. package/.next/server/app/api/llm-model/subscription/route/app-paths-manifest.json +3 -0
  56. package/.next/server/app/api/llm-model/subscription/route/build-manifest.json +12 -0
  57. package/.next/server/app/api/llm-model/subscription/route/server-reference-manifest.json +4 -0
  58. package/.next/server/app/api/llm-model/subscription/route.js +15 -0
  59. package/.next/server/app/api/llm-model/subscription/route.js.map +5 -0
  60. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -0
  61. package/.next/server/app/api/llm-model/subscription/route_client-reference-manifest.js +3 -0
  62. package/.next/server/app/api/mcp/[name]/route.js +4 -4
  63. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  64. package/.next/server/app/api/mcp/oauth/callback/route.js +5 -5
  65. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  66. package/.next/server/app/api/mcp/route.js +4 -4
  67. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  68. package/.next/server/app/api/mcp/tools/route.js +4 -4
  69. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  70. package/.next/server/app/api/memory/edit/route/app-paths-manifest.json +3 -0
  71. package/.next/server/app/api/memory/edit/route/build-manifest.json +12 -0
  72. package/.next/server/app/api/memory/edit/route/server-reference-manifest.json +4 -0
  73. package/.next/server/app/api/memory/edit/route.js +24 -0
  74. package/.next/server/app/api/memory/edit/route.js.map +5 -0
  75. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -0
  76. package/.next/server/app/api/memory/{tidy → edit}/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/memory/route.js +6 -7
  78. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  79. package/.next/server/app/api/skills/[source]/[name]/route.js +3 -3
  80. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  81. package/.next/server/app/api/skills/route.js +3 -3
  82. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  83. package/.next/server/app/api/thursday/call/route.js +9 -7
  84. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  85. package/.next/server/app/api/thursday/skills/route.js +9 -7
  86. package/.next/server/app/api/thursday/skills/route.js.nft.json +1 -1
  87. package/.next/server/app/api/thursday/tool-call/route.js +17 -15
  88. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  89. package/.next/server/app/api/workspace/route.js +4 -5
  90. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  91. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +1 -1
  92. package/.next/server/app/artifact/[...path]/page.js +5 -6
  93. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  94. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/favicon.ico/route.js +3 -4
  96. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  97. package/.next/server/app/favicon.ico.body +0 -0
  98. package/.next/server/app/page/server-reference-manifest.json +57 -90
  99. package/.next/server/app/page.js +10 -10
  100. package/.next/server/app/page.js.nft.json +1 -1
  101. package/.next/server/app/page_client-reference-manifest.js +1 -1
  102. package/.next/server/app-paths-manifest.json +5 -2
  103. package/.next/server/chunks/[externals]__0dzuk6_._.js +3 -0
  104. package/.next/server/chunks/[root-of-the-server]__01dkp4a._.js +3 -0
  105. package/.next/server/chunks/[root-of-the-server]__02va5wz._.js +1 -1
  106. package/.next/server/chunks/[root-of-the-server]__02xjoto._.js +3 -0
  107. package/.next/server/chunks/[root-of-the-server]__04q--0f._.js +8 -0
  108. package/.next/server/chunks/[root-of-the-server]__0bl-e63._.js +3 -0
  109. package/.next/server/chunks/[root-of-the-server]__0ce8nf8._.js +5 -0
  110. package/.next/server/chunks/[root-of-the-server]__0ffbg85._.js +3 -0
  111. package/.next/server/chunks/[root-of-the-server]__0j7z0r3._.js +12 -0
  112. package/.next/server/chunks/[root-of-the-server]__0jq4ohy._.js +8 -0
  113. package/.next/server/chunks/[root-of-the-server]__0ls6_8y._.js +8 -0
  114. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +3 -0
  115. package/.next/server/chunks/[root-of-the-server]__0pa2n68._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__0q0vvt2._.js +5 -0
  117. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +5 -0
  118. package/.next/server/chunks/[root-of-the-server]__11n256_._.js +5 -0
  119. package/.next/server/chunks/[root-of-the-server]__12cabg9._.js +3 -0
  120. package/.next/server/chunks/[root-of-the-server]__1339jnv._.js +8 -0
  121. package/.next/server/chunks/[root-of-the-server]__15bjnu5._.js +5 -0
  122. package/.next/server/chunks/[root-of-the-server]__18_teo8._.js +8 -0
  123. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +5 -0
  124. package/.next/server/chunks/[root-of-the-server]__1anc1p9._.js +3 -0
  125. package/.next/server/chunks/[root-of-the-server]__1ccon1w._.js +5 -5
  126. package/.next/server/chunks/[root-of-the-server]__1fizn31._.js +3 -0
  127. package/.next/server/chunks/[root-of-the-server]__1llj3-b._.js +3 -0
  128. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +11 -0
  129. package/.next/server/chunks/[root-of-the-server]__1p8m3f4._.js +3 -0
  130. package/.next/server/chunks/[root-of-the-server]__1wa1k7r._.js +8 -0
  131. package/.next/server/chunks/_0-73of8._.js +5 -5
  132. package/.next/server/chunks/_0-fjql4._.js +26 -0
  133. package/.next/server/chunks/_00xh_q0._.js +27 -0
  134. package/.next/server/chunks/{_0pppbb5._.js → _03kp0jp._.js} +163 -36
  135. package/.next/server/chunks/_051qh8u._.js +3 -0
  136. package/.next/server/chunks/{node_modules_next_04q-o58._.js → _05dla15._.js} +2 -2
  137. package/.next/server/chunks/_05h2cii._.js +1 -1
  138. package/.next/server/chunks/_0c9j6rb._.js +49 -0
  139. package/.next/server/chunks/_0fzqt2y._.js +130 -0
  140. package/.next/server/chunks/{_0vnutv9._.js → _0ioz3nd._.js} +1 -1
  141. package/.next/server/chunks/_0iwfby5._.js +3 -0
  142. package/.next/server/chunks/_0mecv0f._.js +26 -0
  143. package/.next/server/chunks/_0mh8j4m._.js +3 -0
  144. package/.next/server/chunks/_0n74zsf._.js +4 -4
  145. package/.next/server/chunks/_0obojvv._.js +3 -0
  146. package/.next/server/chunks/_0recufk._.js +49 -0
  147. package/.next/server/chunks/_0rnf-6n._.js +4 -4
  148. package/.next/server/chunks/_0sb7tlz._.js +3 -0
  149. package/.next/server/chunks/_0u10wmw._.js +5 -5
  150. package/.next/server/chunks/_0u4aiy2._.js +3 -0
  151. package/.next/server/chunks/_0wp4le3._.js +1 -1
  152. package/.next/server/chunks/_0y5fg-x._.js +1 -1
  153. package/.next/server/chunks/_1230wbx._.js +10 -0
  154. package/.next/server/chunks/_12nheja._.js +3 -0
  155. package/.next/server/chunks/_13510xh._.js +3 -0
  156. package/.next/server/chunks/_15hq89o._.js +1 -1
  157. package/.next/server/chunks/_17l5ygt._.js +49 -0
  158. package/.next/server/chunks/_18-1wcc._.js +5 -5
  159. package/.next/server/chunks/_1_5mnq4._.js +4 -4
  160. package/.next/server/chunks/_1_9mjx-._.js +3 -0
  161. package/.next/server/chunks/_1d0j961._.js +6 -0
  162. package/.next/server/chunks/_1d5zmy8._.js +1 -1
  163. package/.next/server/chunks/_1drgfx4._.js +4 -4
  164. package/.next/server/chunks/_1f46eie._.js +3 -0
  165. package/.next/server/chunks/_1h5_8sk._.js +3 -0
  166. package/.next/server/chunks/_1hdnxb7._.js +3 -0
  167. package/.next/server/chunks/_1j8k_j5._.js +3 -0
  168. package/.next/server/chunks/_1krd9rf._.js +3 -0
  169. package/.next/server/chunks/_1nc0eui._.js +11 -0
  170. package/.next/server/chunks/_1nula3v._.js +3 -0
  171. package/.next/server/chunks/_1pf4qe-._.js +3 -0
  172. package/.next/server/chunks/_1php4eq._.js +1 -1
  173. package/.next/server/chunks/_1qxheoa._.js +3 -0
  174. package/.next/server/chunks/_1x6kd1r._.js +3 -0
  175. package/.next/server/chunks/_1yuv4vp._.js +1 -1
  176. package/.next/server/chunks/_1zjrdag._.js +3 -0
  177. package/.next/server/chunks/_next-internal_server_app_api_bot_memory_files_route_actions_1_xd_8f.js +3 -0
  178. package/.next/server/chunks/_next-internal_server_app_api_bot_memory_route_actions_1a8xfr7.js +3 -0
  179. package/.next/server/chunks/_next-internal_server_app_api_llm-model_credits_route_actions_0v424pb.js +3 -0
  180. package/.next/server/chunks/_next-internal_server_app_api_llm-model_subscription_route_actions_0-udcm5.js +3 -0
  181. package/.next/server/chunks/_next-internal_server_app_api_memory_edit_route_actions_02sfnmr.js +3 -0
  182. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  183. package/.next/server/chunks/features_0rpfxbk._.js +3 -0
  184. package/.next/server/chunks/features_1qf3cei._.js +3 -0
  185. package/.next/server/chunks/features_bot_0zt92oh._.js +3 -0
  186. package/.next/server/chunks/features_bot_bot_query_ts_12mgkl2._.js +3 -0
  187. package/.next/server/chunks/features_memory_1uqvksn._.js +6 -0
  188. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0a1rd09._.js → node_modules_consola_dist_chunks_prompt_mjs_0i7cvml._.js} +1 -1
  189. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_06067w6._.js → node_modules_consola_dist_chunks_prompt_mjs_0icqaqw._.js} +1 -1
  190. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_096ais_._.js → node_modules_consola_dist_chunks_prompt_mjs_0r28-sm._.js} +1 -1
  191. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_02s3hjt._.js → node_modules_consola_dist_chunks_prompt_mjs_0v_7drq._.js} +1 -1
  192. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1xoq2rl._.js +3 -0
  193. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0tvkfgh._.js → node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js} +1 -1
  194. package/.next/server/chunks/ssr/[root-of-the-server]__09q9med._.js +1 -1
  195. package/.next/server/chunks/ssr/{[root-of-the-server]__1qfqvmg._.js → [root-of-the-server]__0_69wqr._.js} +2 -2
  196. package/.next/server/chunks/ssr/[root-of-the-server]__0hg5gib._.js +1 -1
  197. package/.next/server/chunks/ssr/[root-of-the-server]__0i8ie7f._.js +3 -0
  198. package/.next/server/chunks/ssr/{[root-of-the-server]__0jsmmb-._.js → [root-of-the-server]__0mz33a7._.js} +1 -1
  199. package/.next/server/chunks/ssr/[root-of-the-server]__0tbkdlx._.js +3 -0
  200. package/.next/server/chunks/ssr/[root-of-the-server]__0vnmv-s._.js +3 -0
  201. package/.next/server/chunks/ssr/{[root-of-the-server]__0f6s48x._.js → [root-of-the-server]__0xpcv9w._.js} +3 -3
  202. package/.next/server/chunks/ssr/[root-of-the-server]__0xtssj3._.js +1 -1
  203. package/.next/server/chunks/ssr/[root-of-the-server]__0zkv7z_._.js +3 -0
  204. package/.next/server/chunks/ssr/[root-of-the-server]__10-dz5o._.js +57 -0
  205. package/.next/server/chunks/ssr/[root-of-the-server]__15_uhip._.js +3 -0
  206. package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
  207. package/.next/server/chunks/ssr/{[root-of-the-server]__0m1b5ky._.js → [root-of-the-server]__1cyjywu._.js} +1 -1
  208. package/.next/server/chunks/ssr/[root-of-the-server]__1eh7hid._.js +3 -0
  209. package/.next/server/chunks/ssr/[root-of-the-server]__1gtlw6v._.js +43 -0
  210. package/.next/server/chunks/ssr/[root-of-the-server]__1mzi-ju._.js +1 -1
  211. package/.next/server/chunks/ssr/[root-of-the-server]__1ox7hbk._.js +4 -0
  212. package/.next/server/chunks/ssr/[root-of-the-server]__1pduf5n._.js +3 -0
  213. package/.next/server/chunks/ssr/{_1mznrxk._.js → _001_ms1._.js} +3 -3
  214. package/.next/server/chunks/ssr/_01_6m32._.js +3 -0
  215. package/.next/server/chunks/ssr/_01n3o0m._.js +3 -0
  216. package/.next/server/chunks/ssr/_07uchnc._.js +3 -0
  217. package/.next/server/chunks/ssr/_0ap2fzn._.js +3 -0
  218. package/.next/server/chunks/ssr/_0c-ql2m._.js +3 -0
  219. package/.next/server/chunks/ssr/_0h42fze._.js +3 -0
  220. package/.next/server/chunks/ssr/_0h7zdni._.js +1 -1
  221. package/.next/server/chunks/ssr/_0i_6q1w._.js +41 -0
  222. package/.next/server/chunks/ssr/_0kbkmar._.js +3 -0
  223. package/.next/server/chunks/ssr/{_077-g6s._.js → _0mb8zc8._.js} +3 -3
  224. package/.next/server/chunks/ssr/_0mo2w06._.js +3 -0
  225. package/.next/server/chunks/ssr/{_13punpm._.js → _0q0zan6._.js} +2 -2
  226. package/.next/server/chunks/ssr/{_040sk32._.js → _0u2jv_x._.js} +76 -82
  227. package/.next/server/chunks/ssr/_0y0tiht._.js +4 -0
  228. package/.next/server/chunks/ssr/_0zhoc3r._.js +3 -0
  229. package/.next/server/chunks/ssr/_1-teee5._.js +3 -3
  230. package/.next/server/chunks/ssr/_13fke0x._.js +3 -0
  231. package/.next/server/chunks/ssr/{_1lip4th._.js → _13z3f85._.js} +2 -2
  232. package/.next/server/chunks/ssr/_14_lw10._.js +3 -0
  233. package/.next/server/chunks/ssr/_15j2_8f._.js +3 -0
  234. package/.next/server/chunks/ssr/{_09ja_w1._.js → _1eoqg_g._.js} +2 -2
  235. package/.next/server/chunks/ssr/_1sji22n._.js +3 -0
  236. package/.next/server/chunks/ssr/_1spzm8z._.js +3 -0
  237. package/.next/server/chunks/ssr/{_0x_nu5e._.js → _1vi_uo7._.js} +2 -2
  238. package/.next/server/chunks/ssr/_1vyd1ji._.js +1 -1
  239. package/.next/server/chunks/ssr/{_1m3bsfr._.js → _1xvgn77._.js} +2 -2
  240. package/.next/server/chunks/ssr/_20kd_n0._.js +42 -0
  241. package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +3 -0
  242. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  243. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  244. package/.next/server/chunks/ssr/lib_date-like_ts_02is0pw._.js +3 -0
  245. package/.next/server/chunks/ssr/{node_modules_18_dk7_._.js → node_modules_063xwpp._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_01qnv-a._.js → node_modules_0bvraul._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_0n1kj4p._.js → node_modules_0eu1va6._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_0kl7-tn._.js → node_modules_0h50b8n._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_0_n241r._.js → node_modules_0h5hnr1._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_0lrjk5t._.js → node_modules_0h7u60n._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_0ndvxub._.js → node_modules_0lm7_vm._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_13r44jq._.js → node_modules_0mwym0g._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_17lrt3y._.js → node_modules_0rjg6t1._.js} +1 -1
  254. package/.next/server/chunks/ssr/node_modules_0x3-ply._.js +3 -0
  255. package/.next/server/chunks/ssr/{node_modules_004qlr4._.js → node_modules_0y_cded._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_0kxz4gt._.js → node_modules_0z5tsu8._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_0iz1rzd._.js → node_modules_0zp9r92._.js} +1 -1
  258. package/.next/server/chunks/ssr/{node_modules_19dp7ko._.js → node_modules_1-hc6uv._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_1q0p85z._.js → node_modules_113tz0l._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_1toafc-._.js → node_modules_124bue5._.js} +1 -1
  261. package/.next/server/chunks/ssr/node_modules_17bwo43._.js +55 -0
  262. package/.next/server/chunks/ssr/{node_modules_08d8bke._.js → node_modules_1_n3ztw._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_1dwguw_._.js → node_modules_1bc7gu8._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_20yebtj._.js → node_modules_1bgb6-f._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_1n5ygqe._.js → node_modules_1h4a4pp._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_04n7mjs._.js → node_modules_1i7u1ia._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_1hn8z1f._.js → node_modules_1juq3hs._.js} +1 -1
  268. package/.next/server/chunks/ssr/{node_modules_1xyd7ov._.js → node_modules_1l0qtdu._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_0m93zeg._.js → node_modules_1t9cyee._.js} +1 -1
  270. package/.next/server/chunks/ssr/{node_modules_09xhur7._.js → node_modules_1uuj9x1._.js} +1 -1
  271. package/.next/server/chunks/ssr/{node_modules_1hd-5tv._.js → node_modules_1vqb6po._.js} +1 -1
  272. package/.next/server/chunks/ssr/{node_modules_1zu988w._.js → node_modules_1xx28h1._.js} +1 -1
  273. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0m9a4y0._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0d3skpl._.js} +1 -1
  274. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_13w_wy9._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0i44kk5._.js} +1 -1
  275. package/.next/server/chunks/ssr/node_modules_@vercel_oidc_dist_0qe30a_._.js +3 -0
  276. package/.next/server/chunks/ssr/{node_modules_next_dist_0w6mzq5._.js → node_modules_next_dist_0drixxt._.js} +4 -4
  277. package/.next/server/chunks/ssr/node_modules_next_dist_1n3w9lb._.js +2 -2
  278. package/.next/server/instrumentation.js +1 -1
  279. package/.next/server/middleware-build-manifest.js +3 -3
  280. package/.next/server/pages/404.html +1 -1
  281. package/.next/server/pages/500.html +1 -1
  282. package/.next/server/server-reference-manifest.js +1 -1
  283. package/.next/server/server-reference-manifest.json +58 -91
  284. package/.next/static/chunks/{31ttnjt6g35a0.js → 0ev4hyghq0mbb.js} +1 -1
  285. package/.next/static/chunks/0r5qcctujhxli.js +1 -0
  286. package/.next/static/chunks/0tmgrnlje14-s.js +3 -0
  287. package/.next/static/chunks/0x79tx04dxbpp.js +1 -0
  288. package/.next/static/chunks/0xzgvc0fkdb6t.js +1 -0
  289. package/.next/static/chunks/10teww7wt-f6h.js +1 -0
  290. package/.next/static/chunks/14hgtsjg-kael.css +1 -0
  291. package/.next/static/chunks/17donp69y4do7.js +40 -0
  292. package/.next/static/chunks/{3_h9txt3tq8t8.js → 1dkjg87pxk0n9.js} +1 -1
  293. package/.next/static/chunks/1ekc7ul556kbl.js +1 -0
  294. package/.next/static/chunks/{3ard_noqapnw1.js → 1grhjo7a5a0_-.js} +1 -1
  295. package/.next/static/chunks/1kq8h8wi_e0bc.js +53 -0
  296. package/.next/static/chunks/1okqiww3pnwka.js +1 -0
  297. package/.next/static/chunks/26-pr2c9ro222.js +1 -0
  298. package/.next/static/chunks/{18vhba44l1fc9.js → 280t0_e99i276.js} +1 -1
  299. package/.next/static/chunks/28cizcdaabd4h.js +1 -0
  300. package/.next/static/chunks/2a0k6jlq0_v1u.js +2 -0
  301. package/.next/static/chunks/2fzs9fm8yarvq.js +1 -0
  302. package/.next/static/chunks/2h0sd2vumhb15.js +1 -0
  303. package/.next/static/chunks/2hw2f6zmt7fmt.js +1 -0
  304. package/.next/static/chunks/2t4vhi3m8ahya.js +1 -0
  305. package/.next/static/chunks/2tigdtz3dpcy8.js +1 -0
  306. package/.next/static/chunks/3111pj5wnjgos.js +1 -0
  307. package/.next/static/chunks/{07kl352c-lvcz.js → 3agpgkwaa321p.js} +1 -1
  308. package/.next/static/chunks/3cfi_q6d_wtci.js +1 -0
  309. package/.next/static/chunks/3ok9_x74rip3v.js +1 -0
  310. package/.next/static/chunks/3xk7yqgomx7yq.js +1 -0
  311. package/.next/static/chunks/3xpbkl66ssib5.js +38 -0
  312. package/.next/static/media/favicon.37o1pjldwi2uc.ico +0 -0
  313. package/README.md +6 -4
  314. package/app/api/bot/memory/files/route.ts +14 -0
  315. package/app/api/bot/memory/route.ts +5 -0
  316. package/app/api/events/app-event.ts +3 -5
  317. package/app/api/llm-model/credits/route.ts +11 -0
  318. package/app/api/llm-model/route.ts +6 -1
  319. package/app/api/llm-model/subscription/route.ts +11 -0
  320. package/app/api/memory/edit/route.ts +7 -0
  321. package/app/api/memory/route.ts +21 -0
  322. package/app/api/query-key.ts +19 -4
  323. package/bin/thursday.mjs +3 -0
  324. package/components/ui/shiny-text.tsx +48 -134
  325. package/database/migrations/{20260909060813_optimal_sabretooth → 20260910173049_numerous_spirit}/migration.sql +24 -34
  326. package/database/migrations/{20260909060813_optimal_sabretooth → 20260910173049_numerous_spirit}/snapshot.json +71 -145
  327. package/database/migrations/20260911030320_opposite_jack_power/migration.sql +1 -0
  328. package/database/migrations/{20260909063821_bitter_tenebrous → 20260911030320_opposite_jack_power}/snapshot.json +57 -184
  329. package/features/ai/chatgpt.ts +617 -0
  330. package/features/ai/components/chatgpt-sign-in.tsx +66 -0
  331. package/features/ai/components/model-picker.tsx +17 -1
  332. package/features/ai/components/provider-icon.tsx +1 -0
  333. package/features/ai/load-tools.ts +58 -42
  334. package/features/ai/model.schema.ts +232 -34
  335. package/features/ai/model.ts +169 -24
  336. package/features/ai/prompts/bot.prompt.ts +156 -65
  337. package/features/ai/prompts/memory-edit.prompt.ts +33 -0
  338. package/features/ai/prompts/prompt-helper.ts +45 -26
  339. package/features/ai/prompts/thursday.prompt.ts +40 -17
  340. package/features/ai/tools/bot.tool.ts +35 -52
  341. package/features/ai/tools/connected.ts +17 -4
  342. package/features/ai/tools/memory.tool.ts +133 -72
  343. package/features/ai/tools/search.tool.ts +136 -47
  344. package/features/ai/tools/tool-name.ts +2 -5
  345. package/features/ai/tools/workspace.tool.ts +2 -1
  346. package/features/bot/bot.action.ts +8 -18
  347. package/features/bot/bot.memory.ts +89 -0
  348. package/features/bot/bot.query.ts +37 -57
  349. package/features/bot/bot.run.ts +507 -241
  350. package/features/bot/bot.runner.ts +410 -114
  351. package/features/bot/bot.schema.ts +79 -19
  352. package/features/bot/bot.seed.ts +89 -16
  353. package/features/bot/components/bot-mark.tsx +122 -20
  354. package/features/bot/components/bot-room.tsx +159 -130
  355. package/features/bot/components/bot-setting.tsx +790 -402
  356. package/features/bot/components/bot-tool.tsx +2 -6
  357. package/features/bot/components/mark-palette.tsx +54 -0
  358. package/features/bot/components/path-chips.tsx +1 -1
  359. package/features/bot/components/task-badge.tsx +26 -6
  360. package/features/bot/components/task-reply.tsx +22 -33
  361. package/features/bot/components/task-setting.tsx +20 -17
  362. package/features/bot/task.query.ts +215 -28
  363. package/features/bot/task.store.ts +53 -9
  364. package/features/config/components/config-setting.tsx +265 -34
  365. package/features/config/components/models-badge.tsx +42 -0
  366. package/features/config/config.action.ts +12 -0
  367. package/features/config/config.const.ts +38 -2
  368. package/features/connectors/mcp.manager.ts +10 -2
  369. package/features/intro/components/intro.tsx +47 -46
  370. package/features/memory/components/memory-edit.tsx +338 -0
  371. package/features/memory/components/memory-setting.tsx +75 -77
  372. package/features/memory/memory.action.ts +3 -43
  373. package/features/memory/memory.edit.ts +87 -0
  374. package/features/memory/memory.query.ts +24 -42
  375. package/features/memory/memory.schema.ts +29 -106
  376. package/features/settings/components/settings.tsx +2 -0
  377. package/features/settings/settings.alert.ts +3 -1
  378. package/features/thursday/components/ascii-orb.tsx +106 -90
  379. package/features/thursday/components/boot.tsx +7 -0
  380. package/features/thursday/components/call-log.tsx +219 -92
  381. package/features/thursday/components/face.tsx +6 -4
  382. package/features/thursday/components/tab-state.tsx +97 -0
  383. package/features/thursday/components/thursday-mark.tsx +4 -1
  384. package/features/thursday/components/thursday-setting.tsx +17 -47
  385. package/features/thursday/components/thursday.tsx +208 -95
  386. package/features/thursday/thursday.action.ts +12 -17
  387. package/features/thursday/thursday.query.ts +61 -70
  388. package/features/thursday/thursday.schema.ts +20 -7
  389. package/features/thursday/tool-line.ts +85 -11
  390. package/features/thursday/use-thursday.ts +86 -59
  391. package/features/workspace/components/file-view.tsx +4 -2
  392. package/features/workspace/workspace.ts +110 -26
  393. package/lib/limits.ts +1 -1
  394. package/lib/oauth-page.ts +27 -0
  395. package/lib/realtime/openai.ts +2 -2
  396. package/lib/realtime/realtime.protocol.ts +1 -1
  397. package/lib/realtime/realtime.tap.ts +122 -0
  398. package/lib/sandbox.ts +59 -36
  399. package/package.json +1 -1
  400. package/skills/browser/SKILL.md +55 -34
  401. package/.next/server/app/api/bot/notes/route/app-paths-manifest.json +0 -3
  402. package/.next/server/app/api/bot/notes/route.js +0 -14
  403. package/.next/server/app/api/bot/notes/route_client-reference-manifest.js +0 -3
  404. package/.next/server/app/api/memory/tidy/route/app-paths-manifest.json +0 -3
  405. package/.next/server/app/api/memory/tidy/route.js +0 -22
  406. package/.next/server/app/api/memory/tidy/route.js.nft.json +0 -1
  407. package/.next/server/chunks/0d-b_next_dist_server_app-render_after-task-async-storage_external_0-exn7p.js +0 -3
  408. package/.next/server/chunks/[root-of-the-server]__0-npkh_._.js +0 -3
  409. package/.next/server/chunks/[root-of-the-server]__005var5._.js +0 -3
  410. package/.next/server/chunks/[root-of-the-server]__019dx9f._.js +0 -5
  411. package/.next/server/chunks/[root-of-the-server]__02_2sm-._.js +0 -5
  412. package/.next/server/chunks/[root-of-the-server]__04_8spk._.js +0 -3
  413. package/.next/server/chunks/[root-of-the-server]__05luceg._.js +0 -3
  414. package/.next/server/chunks/[root-of-the-server]__06t77t4._.js +0 -11
  415. package/.next/server/chunks/[root-of-the-server]__0bed6hu._.js +0 -8
  416. package/.next/server/chunks/[root-of-the-server]__0cro2dz._.js +0 -5
  417. package/.next/server/chunks/[root-of-the-server]__0dupqt7._.js +0 -5
  418. package/.next/server/chunks/[root-of-the-server]__0emr6go._.js +0 -3
  419. package/.next/server/chunks/[root-of-the-server]__0le4d-p._.js +0 -3
  420. package/.next/server/chunks/[root-of-the-server]__0m8ywyo._.js +0 -10
  421. package/.next/server/chunks/[root-of-the-server]__0nfuugi._.js +0 -5
  422. package/.next/server/chunks/[root-of-the-server]__0p32jfz._.js +0 -12
  423. package/.next/server/chunks/[root-of-the-server]__0phdgco._.js +0 -8
  424. package/.next/server/chunks/[root-of-the-server]__0wvgrsl._.js +0 -3
  425. package/.next/server/chunks/[root-of-the-server]__10qshki._.js +0 -3
  426. package/.next/server/chunks/[root-of-the-server]__11j52t0._.js +0 -5
  427. package/.next/server/chunks/[root-of-the-server]__1692zrv._.js +0 -3
  428. package/.next/server/chunks/[root-of-the-server]__16thabu._.js +0 -3
  429. package/.next/server/chunks/[root-of-the-server]__173nhwf._.js +0 -8
  430. package/.next/server/chunks/[root-of-the-server]__1_aoyr9._.js +0 -3
  431. package/.next/server/chunks/[root-of-the-server]__1bn73ih._.js +0 -10
  432. package/.next/server/chunks/[root-of-the-server]__1bqhuh9._.js +0 -8
  433. package/.next/server/chunks/[root-of-the-server]__1cqizfq._.js +0 -5
  434. package/.next/server/chunks/[root-of-the-server]__1e-ci13._.js +0 -3
  435. package/.next/server/chunks/[root-of-the-server]__1fboj2j._.js +0 -3
  436. package/.next/server/chunks/[root-of-the-server]__1lr7j9t._.js +0 -5
  437. package/.next/server/chunks/[root-of-the-server]__1oli73c._.js +0 -3
  438. package/.next/server/chunks/[root-of-the-server]__1txedx6._.js +0 -8
  439. package/.next/server/chunks/[root-of-the-server]__1untqv8._.js +0 -5
  440. package/.next/server/chunks/[root-of-the-server]__1zgpz1w._.js +0 -3
  441. package/.next/server/chunks/_00_584r._.js +0 -293
  442. package/.next/server/chunks/_012yhfm._.js +0 -39
  443. package/.next/server/chunks/_06mxlgn._.js +0 -3
  444. package/.next/server/chunks/_07rtlxv._.js +0 -3
  445. package/.next/server/chunks/_0a351g7._.js +0 -6
  446. package/.next/server/chunks/_0kjjmag._.js +0 -3
  447. package/.next/server/chunks/_0nn99o2._.js +0 -3
  448. package/.next/server/chunks/_0zuzmt_._.js +0 -39
  449. package/.next/server/chunks/_106co2o._.js +0 -3
  450. package/.next/server/chunks/_12bbv5i._.js +0 -100
  451. package/.next/server/chunks/_15q1pig._.js +0 -3
  452. package/.next/server/chunks/_19wg5yn._.js +0 -138
  453. package/.next/server/chunks/_1bt95p9._.js +0 -55
  454. package/.next/server/chunks/_1cbk7ms._.js +0 -26
  455. package/.next/server/chunks/_1drv2et._.js +0 -40
  456. package/.next/server/chunks/_1ic3bew._.js +0 -5
  457. package/.next/server/chunks/_1mxn_lb._.js +0 -3
  458. package/.next/server/chunks/_1rysr-r._.js +0 -10
  459. package/.next/server/chunks/_1u3rwbr._.js +0 -3
  460. package/.next/server/chunks/_1x7p319._.js +0 -6
  461. package/.next/server/chunks/_next-internal_server_app_api_bot_notes_route_actions_0qcsyu7.js +0 -3
  462. package/.next/server/chunks/_next-internal_server_app_api_memory_tidy_route_actions_0_cfuom.js +0 -3
  463. package/.next/server/chunks/features_bot_task_query_ts_11xuzl3._.js +0 -3
  464. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0gzvgfv._.js +0 -3
  465. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0vorg6w._.js +0 -3
  466. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1tpvamf._.js +0 -3
  467. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1vmaq9f._.js +0 -3
  468. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y9-wcr._.js +0 -3
  469. package/.next/server/chunks/ssr/[externals]_node_crypto_1kn79-7._.js +0 -3
  470. package/.next/server/chunks/ssr/[root-of-the-server]__0iuoa-r._.js +0 -3
  471. package/.next/server/chunks/ssr/[root-of-the-server]__0un-erv._.js +0 -4
  472. package/.next/server/chunks/ssr/[root-of-the-server]__1-mnhyd._.js +0 -92
  473. package/.next/server/chunks/ssr/[root-of-the-server]__1bww500._.js +0 -3
  474. package/.next/server/chunks/ssr/[root-of-the-server]__1vcdast._.js +0 -3
  475. package/.next/server/chunks/ssr/[root-of-the-server]__1xwnu-h._.js +0 -3
  476. package/.next/server/chunks/ssr/_0-mc7ro._.js +0 -3
  477. package/.next/server/chunks/ssr/_01p5r6-._.js +0 -3
  478. package/.next/server/chunks/ssr/_03webdr._.js +0 -3
  479. package/.next/server/chunks/ssr/_09-0k3z._.js +0 -3
  480. package/.next/server/chunks/ssr/_0f_b_9s._.js +0 -3
  481. package/.next/server/chunks/ssr/_0fafgvl._.js +0 -3
  482. package/.next/server/chunks/ssr/_0sf1isi._.js +0 -3
  483. package/.next/server/chunks/ssr/_0su6_08._.js +0 -3
  484. package/.next/server/chunks/ssr/_0ti51xc._.js +0 -3
  485. package/.next/server/chunks/ssr/_0w5bgak._.js +0 -3
  486. package/.next/server/chunks/ssr/_0y84qo6._.js +0 -3
  487. package/.next/server/chunks/ssr/_1ciyoo3._.js +0 -3
  488. package/.next/server/chunks/ssr/_1e-dgz0._.js +0 -4
  489. package/.next/server/chunks/ssr/_1fq7zgb._.js +0 -3
  490. package/.next/server/chunks/ssr/_1g6l4uj._.js +0 -3
  491. package/.next/server/chunks/ssr/_1ruzehw._.js +0 -3
  492. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +0 -4
  493. package/.next/server/chunks/ssr/features_config_components_14jqgy4._.js +0 -3
  494. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +0 -4
  495. package/.next/server/chunks/ssr/node_modules_zod_v4_classic_external_15fmmz3.js +0 -55
  496. package/.next/static/chunks/05b6nx_o3_f_n.js +0 -1
  497. package/.next/static/chunks/0dmns-gi0raa4.js +0 -1
  498. package/.next/static/chunks/0f9sq-7q_yxyl.js +0 -1
  499. package/.next/static/chunks/0oc4_xoia77dg.css +0 -1
  500. package/.next/static/chunks/0pheo8m3a-rzi.js +0 -1
  501. package/.next/static/chunks/19i8h2t-5evjx.js +0 -1
  502. package/.next/static/chunks/1c5fcj473025q.js +0 -1
  503. package/.next/static/chunks/1pi_hbmjw-f-z.js +0 -1
  504. package/.next/static/chunks/1twt6k09vg4np.js +0 -1
  505. package/.next/static/chunks/1ytnip8wdng93.js +0 -1
  506. package/.next/static/chunks/28gotuisldmom.js +0 -1
  507. package/.next/static/chunks/2998p0y7k1c8z.js +0 -3
  508. package/.next/static/chunks/29gyb3nubj51j.js +0 -53
  509. package/.next/static/chunks/2l233xfycjpd8.js +0 -1
  510. package/.next/static/chunks/2p5n7pa3c40t-.js +0 -2
  511. package/.next/static/chunks/2ru1q132af7h7.js +0 -1
  512. package/.next/static/chunks/2t8wqycwg3y04.js +0 -2
  513. package/.next/static/chunks/2uxum7qbyeyxd.js +0 -1
  514. package/.next/static/chunks/32z_ypgtchw48.js +0 -1
  515. package/.next/static/chunks/33pyjb3xd1iez.js +0 -1
  516. package/.next/static/chunks/3omud5xunrk1f.js +0 -1
  517. package/.next/static/chunks/42dnrkbph9e-1.js +0 -1
  518. package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  519. package/database/migrations/20260909063821_bitter_tenebrous/migration.sql +0 -1
  520. package/features/ai/prompts/memory-tidy.prompt.ts +0 -129
  521. package/features/ai/tools/tidy.tool.ts +0 -22
  522. package/features/bot/bot.notes.ts +0 -120
  523. package/features/memory/components/memory-tidy.tsx +0 -395
  524. package/features/memory/memory.tidy.ts +0 -332
  525. package/features/memory/tidy.query.ts +0 -135
  526. package/features/thursday/use-call-title.ts +0 -31
  527. /package/.next/server/app/api/bot/{notes → memory/files}/route/build-manifest.json +0 -0
  528. /package/.next/server/app/api/bot/{notes → memory/files}/route/server-reference-manifest.json +0 -0
  529. /package/.next/server/app/api/bot/{notes → memory/files}/route.js.map +0 -0
  530. /package/.next/server/app/api/{memory/tidy → bot/memory}/route/build-manifest.json +0 -0
  531. /package/.next/server/app/api/{memory/tidy → bot/memory}/route/server-reference-manifest.json +0 -0
  532. /package/.next/server/app/api/{memory/tidy → bot/memory}/route.js.map +0 -0
  533. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → x1cCqY0kWpR_VcYx_lWO5}/_buildManifest.js +0 -0
  534. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → x1cCqY0kWpR_VcYx_lWO5}/_clientMiddlewareManifest.js +0 -0
  535. /package/.next/static/{YR4NWcDDuzwLbTTU7U7Vr → x1cCqY0kWpR_VcYx_lWO5}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,107941,e=>{"use strict";var t=e.i(843476),i=e.i(24071),n=e.i(867927),s=e.i(482022),r=e.i(829600),a=e.i(434322),o=e.i(905015),l=e.i(226091),d=e.i(726067),c=e.i(569644),u=e.i(815170),x=e.i(51921),m=e.i(650639),h=e.i(759659),f=e.i(438583),p=e.i(271645),g=e.i(798120),v=e.i(167881),y=e.i(917162),k=e.i(41533),j=e.i(895836),b=e.i(621285),w=e.i(586930),N=e.i(95187);let S=(0,N.createServerReference)("7f8836b516d90511f9ac2025e946c291a9cd0d8174",N.callServer,void 0,N.findSourceMapURL,"emptyScratchAction");var F=e.i(555085),C=e.i(245629),A=e.i(609856),z=e.i(283653),R=e.i(647163);let M={markdown:l.FileText,csv:m.Sheet,json:o.FileJson,text:l.FileText,frame:a.FileCode2,image:u.Image,audio:x.Music,video:f.Video,none:r.File};function $({label:e,rows:i,children:n}){return 0===i.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}),n]})}function E({entry:e,active:i,onPick:s}){let r="dir"===e.kind?d.Folder:M[e.view];return(0,t.jsxs)("button",{type:"button",onClick:s,title:"file"===e.kind?`${e.name} \xb7 ${(0,C.shortAgo)(e.at)}`:e.name,className:(0,R.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",i?"bg-secondary font-medium text-foreground":"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,R.formatBytes)(e.bytes)}),(0,t.jsx)("span",{className:"w-3.5 shrink-0"})]}):(0,t.jsx)(n.ChevronRight,{className:"size-3.5 shrink-0 text-muted-foreground/50"})]})}function O({empty:e,onReveal:i}){return(0,t.jsxs)("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.jsx)("span",{className:"font-mono text-[13px] text-foreground",children:"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 for everything else."})]}),(0,t.jsxs)(v.Button,{variant:"outline",onClick:i,children:[(0,t.jsx)(c.FolderOpen,{}),"Reveal folder"]})]})}function P({file:e,onGone:i}){let n=e.path,[r]=(0,A.useServerAction)(F.openFileAction),[a,o]=(0,A.useServerAction)(w.deleteWorkspaceFileAction,{okMessage:"File deleted",onOk:()=>{(0,z.revalidate)(g.queryKey.workspace),i()}}),l=async()=>{await y.notify.confirm({title:`Delete ${n.split("/").pop()}?`,description:"It is deleted from disk for good.",okText:"Delete",destructive:!0})&&a(n)};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)(V,{path:n}),(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground/70",children:[(0,R.formatBytes)(e.bytes)," · ",(0,C.shortAgo)(e.at)]}),(0,t.jsx)("a",{href:g.queryKey.fileView(n),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)(v.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>r(n),children:(0,t.jsx)(c.FolderOpen,{})}),(0,t.jsx)(v.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:o,className:"text-muted-foreground",onClick:l,children:(0,t.jsx)(h.Trash2,{})})]}),(0,t.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:(0,t.jsx)(b.FilePreview,{path:n,bytes:e.bytes})})]})}function V({path:e}){let i=["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:i.map((e,s)=>(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1",children:[s>0&&(0,t.jsx)(n.ChevronRight,{className:"size-3 shrink-0 opacity-50"}),(0,t.jsx)("span",{className:(0,R.cn)("truncate",s===i.length-1&&"text-foreground"),children:e})]},`${s}-${e}`))})}e.s(["WorkspaceSetting",0,function(){let[e,n]=(0,p.useState)(""),[s,r]=(0,p.useState)(k.WORKSPACE_VIEW.rows),[a,o]=(0,p.useState)(null),[l,d]=(0,p.useState)(""),{data:u,isLoading:x,error:m}=(0,z.useServerRoute)(g.queryKey.workspaceFolder(e,s),{keepPreviousData:!0}),h=e=>{n(e),r(k.WORKSPACE_VIEW.rows)},[f,b]=(0,A.useServerAction)(S,{okMessage:"Scratch emptied",onOk:()=>(0,z.revalidate)(g.queryKey.workspace)}),[w]=(0,A.useServerAction)(F.openFileAction),N=async()=>{await y.notify.confirm({title:"Empty scratch?",description:"Everything under scratch/ is deleted for good. artifacts/ and projects/ are untouched.",okText:"Empty",destructive:!0})&&f()};if(x)return(0,t.jsx)(j.SettingPanesSkeleton,{});if(m)return(0,t.jsx)(j.SettingError,{message:m.message});let C=u?.entries??[],R=u?.total??0,M=l.trim().toLowerCase(),V=M?C.filter(e=>e.name.toLowerCase().includes(M)):C,W=V.filter(e=>"dir"===e.kind),B=V.filter(e=>"file"===e.kind),K=C.find(e=>"file"===e.kind&&e.path===a?.path)??a;return(0,t.jsx)(j.SettingPanes,{footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(j.SettingRailNote,{children:(0,t.jsxs)("span",{className:"font-mono",children:[(0,t.jsx)("span",{className:"font-medium text-foreground",children:`.ai-workspace${e?`/${e}`:""}`}),` \xb7 ${function(e,t){let i=e.filter(e=>"dir"===e.kind).length,n=e.length-i,s=[i&&`${i} ${1===i?"folder":"folders"}`,n&&`${n} ${1===n?"file":"files"}`].filter(Boolean);if(!s.length)return"empty";let r=s.join(" · ");return t>e.length?`${r} of ${t.toLocaleString("en")}`:r}(C,R)}`]})}),(0,t.jsxs)(v.Button,{variant:"outline",size:"sm",onClick:()=>w(e||"."),children:[(0,t.jsx)(c.FolderOpen,{}),"Reveal folder"]}),(0,t.jsx)(v.Button,{variant:"outline",size:"sm",loading:b,onClick:N,className:"text-destructive hover:text-destructive",children:"Empty scratch"})]}),left:(0,t.jsxs)("div",{className:"flex flex-col py-2",children:[(0,t.jsx)(j.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)(i.ChevronLeft,{className:"size-3 shrink-0"}),(0,t.jsx)("span",{className:"truncate",children:e.split("/").slice(0,-1).pop()??"workspace"})]}),0===V.length?(0,t.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground/60",children:M?"Nothing matches":"Empty folder"}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)($,{label:"folders",rows:W,children:W.map(e=>(0,t.jsx)(E,{entry:e,onPick:()=>h(e.path)},e.path))}),(0,t.jsx)($,{label:"files",rows:B,children:B.map(e=>(0,t.jsx)(E,{entry:e,active:e.path===a?.path,onPick:()=>"file"===e.kind&&o(e)},e.path))})]}),R>C.length&&(0,t.jsx)("button",{type:"button",onClick:()=>r(s+k.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(k.WORKSPACE_VIEW.rows,R-C.length)} more of ${R.toLocaleString("en")}`})]}),right:K?.kind==="file"?(0,t.jsx)(P,{file:K,onGone:()=>o(null)},K.path):(0,t.jsx)(O,{empty:!e&&0===C.length,onReveal:()=>w(".")})})}],107941)},586930,e=>{"use strict";var t=e.i(95187);let i=(0,t.createServerReference)("7f194293e4c1ab83ed63877cc9d8b7aebf42b46bb8",t.callServer,void 0,t.findSourceMapURL,"deleteWorkspaceFileAction");e.s(["deleteWorkspaceFileAction",0,i])},434322,51921,650639,438583,e=>{"use strict";var t=e.i(456420);let i={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"]};i.node;let n=(0,t.default)(i);e.s(["FileCode2",0,n],434322);let s={name:"music",size:24,node:[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]};s.node;let r=(0,t.default)(s);e.s(["Music",0,r],51921);let a={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"}]]};a.node;let o=(0,t.default)(a);e.s(["Sheet",0,o],650639);let l={name:"video",size:24,node:[["path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",key:"ftymec"}],["rect",{x:"2",y:"6",width:"14",height:"12",rx:"2",key:"158x01"}]]};l.node;let d=(0,t.default)(l);e.s(["Video",0,d],438583)},726067,e=>{"use strict";var t=e.i(456420);let i={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"}]]};i.node;let n=(0,t.default)(i);e.s(["Folder",0,n],726067)},759659,e=>{"use strict";var t=e.i(456420);let i={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"]};i.node;let n=(0,t.default)(i);e.s(["Trash2",0,n],759659)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,25481,e=>{"use strict";var t=e.i(843476),n=e.i(716327),s=e.i(632781),r=e.i(456420);let i={name:"ellipsis",size:24,node:[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],aliases:["more-horizontal"]};i.node;let a=(0,r.default)(i);var l=e.i(929272),o=e.i(759659),u=e.i(271645),c=e.i(798120),d=e.i(167881),x=e.i(463415),h=e.i(917162),m=e.i(660302),f=e.i(671428),g=e.i(761086),p=e.i(95187);let k=(0,p.createServerReference)("7f673b8897006f8ae8c1a709d306fe394476e76d0b",p.callServer,void 0,p.findSourceMapURL,"clearFinishedTasksAction"),v=(0,p.createServerReference)("7fcad43ea4ae0039c0186bcc86a4e3b3a0e706caa4",p.callServer,void 0,p.findSourceMapURL,"deleteTaskAction");var b=e.i(451888),j=e.i(635963),y=e.i(279265),w=e.i(835878),N=e.i(222055),S=e.i(240829),T=e.i(895836),C=e.i(245629),M=e.i(609856),R=e.i(661504),I=e.i(283653),z=e.i(647163),_=e.i(206721);let A="w-36";function D({task:e,bots:r,open:i,onToggle:c,onStop:h,onDelete:f}){var g,p;let k,v="running"===e.status||"waiting"===e.status,N="running"===e.status,T=(0,u.useMemo)(()=>(0,S.taskFromRow)(e,r),[e,r]),M=function(e){if("waiting"===e.status&&e.ask)return{text:(0,b.isAppStop)(e.ask)?(0,z.plainText)(e.outcome??e.ask.question):e.ask.question,tone:z.WAITING_INK};let t=e.seen;if("failed"===e.status)return{text:(0,z.plainText)(e.outcome??"Failed"),tone:t?"text-destructive/70":"text-destructive"};if("done"===e.status)return{text:(0,z.plainText)(e.outcome??"Done"),tone:t?"text-muted-foreground":"text-foreground/80"};for(let t=e.lines.length-1;t>=0;t--){let n=e.lines[t];if("tool"===n.kind)return{text:n.note??n.input,tone:"text-muted-foreground",tool:n.name,shine:!0};if("text"===n.kind)return{text:n.text,tone:"text-muted-foreground",shine:!0};if("user"===n.kind||"waiting"===n.kind)break}return{text:`${e.bot} is taking it on…`,tone:"text-muted-foreground italic",shine:!0}}(e),R=e.tokens.input+e.tokens.output;return(0,t.jsxs)("div",{className:"group/row relative transition-colors hover:bg-muted/50",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,t.jsxs)("button",{type:"button",onClick:c,className:"flex min-w-0 flex-1 items-center gap-3 rounded-md text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)(j.BotMark,{size:40,seed:e.bot,vary:e.id,...(g=e.bot,p=r,k=p?.find(e=>e.name===g)?.icon,{color:k?.color,shape:k?.shape,outline:k?.outline}),state:N?"thinking":"idle",notify:"waiting"===e.status,className:"shrink-0"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"truncate text-sm font-medium",children:e.label}),(0,t.jsx)(w.BotRoster,{bots:(0,S.rosterOf)(T),taskId:e.id}),N&&(0,t.jsx)(s.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"})]}),M&&(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-[13px] leading-snug",children:[M.tool&&(0,t.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:M.tool}),M.shine?(0,t.jsx)(m.ShinyText,{text:M.text,speed:2.2,className:"min-w-0 truncate"}):(0,t.jsx)("span",{className:(0,z.cn)("min-w-0 truncate",M.tone),children:M.text})]})]}),(0,t.jsxs)("span",{className:(0,z.cn)("flex shrink-0 flex-col items-end gap-0.5 font-mono text-[11px] leading-4 text-muted-foreground tabular-nums",A),children:[(0,t.jsx)("span",{children:(0,C.whenOf)(e.updatedAt)}),(0,t.jsxs)("span",{className:"max-w-full truncate text-muted-foreground/70",title:R>0?`${e.id} \xb7 in ${(0,z.formatCount)(e.tokens.input)} \xb7 out ${(0,z.formatCount)(e.tokens.output)}`:e.id,children:[e.bot,R>0&&` \xb7 ${(0,z.formatCount)(R)}`]})]}),(0,t.jsx)(n.ChevronDown,{className:(0,z.cn)("size-4 shrink-0 text-muted-foreground transition-transform",i&&"rotate-180")})]}),(0,t.jsxs)(x.DropdownMenu,{children:[(0,t.jsx)(x.DropdownMenuTrigger,{render:(0,t.jsx)(d.Button,{size:"icon-sm",variant:"ghost"}),children:(0,t.jsx)(a,{})}),(0,t.jsxs)(x.DropdownMenuContent,{align:"end",children:[v&&(0,t.jsxs)(x.DropdownMenuItem,{onClick:h,children:[(0,t.jsx)(l.Square,{}),"Stop"]}),(0,t.jsxs)(x.DropdownMenuItem,{variant:"destructive",onClick:f,children:[(0,t.jsx)(o.Trash2,{}),"Delete"]})]})]})]}),N&&!i&&(0,t.jsx)($,{task:e}),i&&(0,t.jsxs)("div",{className:"mx-4 mb-4 space-y-2",children:[(0,t.jsx)("div",{className:"rounded-xl border border-border/60 bg-background",children:(0,t.jsx)(y.Conversation,{task:T})}),(0,t.jsx)(_.TaskReply,{task:{id:e.id,label:e.label,bot:e.bot,ask:e.ask},status:e.status})]})]})}function $({task:e}){let n=[];if(e.lines.forEach((t,s)=>{if("tool"!==t.kind)return;let r=e.lines[s+1];n.push({step:t,took:r?(0,C.toDate)(r.at).getTime()-(0,C.toDate)(t.at).getTime():null})}),0===n.length)return null;let r=(0,C.toDate)(e.updatedAt).getTime()-(0,C.toDate)(e.createdAt).getTime();return(0,t.jsxs)("div",{className:"pointer-events-none absolute top-[calc(100%-0.75rem)] left-17 z-20 hidden w-96 max-w-[calc(100%-5rem)] rounded-xl bg-background p-3 pb-2 shadow-xl shadow-black/10 ring-1 ring-border/60 group-hover/row:block",children:[(0,t.jsxs)("div",{className:"mb-1.5 flex items-center gap-2 font-mono text-[10px] text-muted-foreground",children:[(0,t.jsx)("span",{children:e.bot}),(0,t.jsx)("span",{className:"opacity-50",children:"·"}),(0,t.jsxs)("span",{children:[n.length," ",1===n.length?"step":"steps"]}),(0,t.jsx)("span",{className:"opacity-50",children:"·"}),(0,t.jsx)("span",{children:O(r)})]}),n.slice(-6).map(({step:e,took:n})=>{let r=(0,N.toolIcon)(e.name);return(0,t.jsxs)("div",{className:"flex h-5.5 items-center gap-2 font-mono text-[11px]",children:[null===n?(0,t.jsx)(s.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"}):(0,t.jsx)(r,{className:"size-3 shrink-0 text-muted-foreground"}),(0,t.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",children:e.name}),null===n?(0,t.jsx)(m.ShinyText,{text:e.note??e.input,speed:2.2,className:"min-w-0 flex-1 truncate"}):(0,t.jsx)("span",{className:"min-w-0 flex-1 truncate text-foreground",children:e.note??e.input}),(0,t.jsx)("span",{className:"w-10 shrink-0 text-right text-muted-foreground/70 tabular-nums",children:null===n?"":O(n)})]},e.id)})]})}function O(e){let t=Math.max(0,e)/1e3;if(t<10)return`${t.toFixed(1)}s`;if(t<60)return`${Math.round(t)}s`;let n=Math.floor(t/60);return`${n}m ${Math.round(t-60*n)}s`}function E(){return(0,t.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,t.jsx)(f.Skeleton,{className:"size-10 shrink-0 rounded-full"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-2",children:[(0,t.jsx)(f.Skeleton,{className:"h-3 w-40 max-w-full"}),(0,t.jsx)(f.Skeleton,{className:"h-2.5 w-80 max-w-full"})]}),(0,t.jsxs)("span",{className:(0,z.cn)("flex shrink-0 flex-col items-end gap-1.5",A),children:[(0,t.jsx)(f.Skeleton,{className:"h-2.5 w-12"}),(0,t.jsx)(f.Skeleton,{className:"h-2.5 w-24"})]}),(0,t.jsx)("span",{className:"size-4 shrink-0"}),(0,t.jsx)("span",{className:"size-7 shrink-0"})]})}e.s(["TaskSetting",0,function(){let[e,n]=(0,u.useState)(null),[s,r]=(0,u.useState)(""),{data:i}=(0,I.useServerRoute)(c.queryKey.bot),{items:a,isLoading:l,isLoadingMore:o,error:x,hasMore:m,sentinelRef:f}=(0,R.useServerPages)({key:(e,t)=>{if(0===e)return c.queryKey.taskHistory(null);let n=t?.at(-1);return n?c.queryKey.taskHistory((0,C.toDate)(n.updatedAt).toISOString()):null},size:b.TASK_HISTORY_PAGE,swr:{revalidateFirstPage:!0,refreshInterval:e=>3e3*!!e?.[0]?.some(e=>"running"===e.status)}});(0,S.useSeenOnDetail)(a.find(t=>t.id===e));let[p]=(0,M.useServerAction)(g.cancelTaskAction,{okMessage:"Task stopped",onOk:e=>{(0,I.revalidate)(c.queryKey.tasks),S.screenActs.announce({kind:"stopped",id:e.id,label:e.label})}}),[j]=(0,M.useServerAction)(v,{okMessage:"Task deleted",onOk:()=>(0,I.revalidate)(c.queryKey.tasks)}),[y]=(0,M.useServerAction)(k,{onOk:()=>(0,I.revalidate)(c.queryKey.tasks)}),w=async()=>{await h.notify.confirm({title:"Clear finished jobs?",description:"Everything done or failed goes, threads included. Running and waiting jobs stay.",okText:"Clear",destructive:!0})&&y()},N=async e=>{await h.notify.confirm({title:`Delete "${e.label}"?`,description:"The thread goes with it — nothing can be picked back up.",okText:"Delete",destructive:!0})&&j(e.id)};if(l)return(0,t.jsx)(T.SettingSkeleton,{rows:3});if(x)return(0,t.jsx)(T.SettingError,{message:x.message});let z=s.trim().toLowerCase(),_=z?a.filter(e=>[e.label,e.outcome,e.bot].join(" ").toLowerCase().includes(z)):a,A=a.filter(e=>"waiting"===e.status).length,$=a.filter(e=>"failed"===e.status).length;return(0,t.jsx)(T.SettingScreen,{footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(T.SettingRailNote,{children:[a.length," loaded",A>0&&` \xb7 ${A} waiting on you`,$>0&&` \xb7 ${$} failed`]}),(0,t.jsx)(d.Button,{variant:"outline",size:"sm",onClick:w,children:"Clear finished"})]}),children:(0,t.jsx)(T.SettingGroup,{filter:(0,t.jsx)(T.SettingFilter,{value:s,onChange:r,placeholder:"Filter by label, bot or word"}),right:z?`${_.length} of ${a.length}`:void 0,children:(0,t.jsxs)(T.SettingItems,{children:[0===_.length?(0,t.jsx)("p",{className:"p-4 text-sm leading-relaxed text-muted-foreground",children:z?"Nothing loaded matches. Keep scrolling to search further back.":"Nothing yet. When Thursday hands a job to a bot mid-call, it shows up here — while it runs, and after."}):_.map(s=>(0,t.jsx)(D,{task:s,bots:i,open:e===s.id,onToggle:()=>n(e=>e===s.id?null:s.id),onStop:()=>p(s.id),onDelete:()=>N(s)},s.id)),(0,t.jsx)(T.SettingMore,{hasMore:m,loading:o,sentinelRef:f,ghost:(0,t.jsx)(E,{}),className:"divide-y divide-border/60"})]})})})}],25481)},661504,e=>{"use strict";var t=e.i(271645),n=e.i(699018),s=e.i(677309),r=e.i(271235),i=e.i(802239),a=e.i(646192);let l=Promise.resolve(),o=(0,r.withMiddleware)(n.u,e=>(n,r,o)=>{let u,c=(0,t.useRef)(!1),{cache:d,initialSize:x=1,revalidateAll:h=!1,persistSize:m=!1,revalidateFirstPage:f=!0,revalidateOnMount:g=!1,parallel:p=!1}=o,[,,,k]=s.a.get(s.o);try{(u=(0,s.s)(n?n(0,null):null)[0])&&(u=a.INFINITE_PREFIX+u)}catch(e){}let[v,b,j]=(0,s.c)(d,u),y=(0,t.useCallback)(()=>(0,s.i)(v()._l)?x:v()._l,[d,u,x]);(0,i.useSyncExternalStore)((0,t.useCallback)(e=>u?j(u,()=>{e()}):()=>{},[d,u]),y,y);let w=(0,t.useCallback)(()=>{let e=v()._l;return(0,s.i)(e)?x:e},[u,x]),N=(0,t.useRef)(w());(0,s.u)(()=>{if(!c.current){c.current=!0;return}u&&b({_l:m?N.current:w()})},[u,d]);let S=g&&!c.current,T=e(u,async e=>{let t=v()._i,i=v()._r,a=s.a.get(d),l=a[8],u=()=>a[8]!==l;b({_r:s.U});let c=[],x=w(),[m]=(0,s.c)(d,e),g=m().data,j=[],y=null;for(let e=0;e<x;++e){let[a,l]=(0,s.s)(n(e,p?null:y));if(!a)break;let[x,m]=(0,s.c)(d,a),v=x().data,b=h||t||(0,s.i)(v)||f&&!e&&!(0,s.i)(g)||S||g&&!(0,s.i)(g[e])&&!o.compare(g[e],v);if(r&&("function"==typeof i?i(v,l):b)){let t=async()=>{if(a in k){let e=k[a];delete k[a],v=await e}else v=await r(l);u()||m({data:v,_k:l}),c[e]=v};p?j.push(t):await t()}else c[e]=v;p||(y=v)}return p&&await Promise.all(j.map(e=>e())),u()||b({_i:s.U}),c},o),C=(0,t.useCallback)(function(e,t){let n="boolean"==typeof t?{revalidate:t}:t||{},r=!1!==n.revalidate;return u?(r&&((0,s.i)(e)?b({_i:!0,_r:n.revalidate}):b({_i:!1,_r:n.revalidate})),arguments.length?T.mutate(e,{...n,revalidate:r}):T.mutate()):l},[u,d]),M=(0,t.useCallback)(e=>{let t;if(!u)return l;let[,r]=(0,s.c)(d,u);if((0,s.e)(e)?t=e(w()):"number"==typeof e&&(t=e),"number"!=typeof t)return l;r({_l:t}),N.current=t;let i=[],[a]=(0,s.c)(d,u),o=null;for(let e=0;e<t;++e){let[t]=(0,s.s)(n(e,o)),[r]=(0,s.c)(d,t),l=t?r().data:s.U;if((0,s.i)(l))return C(a().data);i.push(l),o=l}return C(i)},[u,d,C,w]);return{size:w(),setSize:M,mutate:C,get data(){return T.data},get error(){return T.error},get isValidating(){return T.isValidating},get isLoading(){return T.isLoading}}});var u=e.i(41533),c=e.i(283653);e.s(["useServerPages",0,function(e){let n=e.size??u.PAGE_SIZE,{key:s}=e,{data:r,error:i,isLoading:a,isValidating:l,setSize:d,mutate:x}=o((e,t)=>(0,c.resolveKey)(s(e,t)),c.fetchRoute,{dedupingInterval:500,revalidateOnMount:!0,revalidateOnFocus:!0,revalidateOnReconnect:!0,focusThrottleInterval:1e3,revalidateFirstPage:!1,...e.swr}),h=r??[],m=h.flat(),f=h.at(-1),g=void 0!==f&&f.length>=n,p=(0,t.useRef)(0),k=l&&h.length>0&&p.current>h.length,v=(0,t.useRef)({isValidating:l,setSize:d,pages:h.length});v.current={isValidating:l,setSize:d,pages:h.length};let b=(0,c.resolveKey)(s(0,null)),j="string"==typeof b?b:b?.url;(0,t.useEffect)(()=>{if(j)return(0,c.registerPagedReader)({url:j,refresh:()=>x()})},[j,x]);let y=function(e,n={}){let{enabled:s=!0,margin:r="600px",revision:i}=n,a=(0,t.useRef)(e);a.current=e;let l=(0,t.useRef)(null),o=(0,t.useRef)(null),u=(0,t.useCallback)(e=>{l.current=e},[]);return(0,t.useEffect)(()=>{o.current?.disconnect();let e=l.current;if(e&&s)return o.current=new IntersectionObserver(([e])=>{e.isIntersecting&&a.current()},{root:function(e){let t=e.parentElement;for(;t;){let{overflowY:e}=getComputedStyle(t);if(("auto"===e||"scroll"===e)&&t.scrollHeight>t.clientHeight)return t;t=t.parentElement}return null}(e),rootMargin:r}),o.current.observe(e),()=>o.current?.disconnect()},[s,r,i]),u}(()=>{let e=v.current;e.isValidating||(p.current=e.pages+1,e.setSize(e.pages+1))},{enabled:g,revision:`${h.length}:${l}`});return{items:m,isLoading:a,isLoadingMore:k,error:i,hasMore:g,sentinelRef:y,refresh:()=>x()}}],661504)},759659,e=>{"use strict";var t=e.i(456420);let n={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};n.node;let s=(0,t.default)(n);e.s(["Trash2",0,s],759659)}]);
@@ -1,4 +1,4 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,787800,e=>{"use strict";var t=e.i(843476),n=e.i(689664),s=e.i(716327),r=e.i(867927),o=e.i(456420);let a={name:"play",size:24,node:[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]};a.node;let i=(0,o.default)(a);var c=e.i(77071);let l={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"}]]};l.node;let d=(0,o.default)(l),m={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"}]]};m.node;let p=(0,o.default)(m);var u=e.i(759659),h=e.i(263676),g=e.i(271645),f=e.i(798120),x=e.i(167881),v=e.i(986530),j=e.i(23750),y=e.i(647163);let b=(0,g.memo)(({data:e,name:n,initialExpandDepth:s=2})=>{let r=(0,g.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 transition-all duration-300",children:(0,t.jsx)(N,{data:r,name:n,depth:0,initialExpandDepth:s})})});b.displayName="JsonView";let N=(0,g.memo)(({data:e,name:n,depth:s=0,initialExpandDepth:r})=>{var o;let a=void 0===e?"undefined":Array.isArray(e)?"array":null===e?"null":typeof e,[i,c]=(0,g.useState)("string"!==a&&s<r),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(a){case"object":case"array":let d,m,p;return m=(d=(o="array"===a)?e:Object.entries(e)).length,p={open:o?"[":"{",close:o?"]":"}",collapsed:o?"[ ... ]":"{ ... }",empty:o?"[]":"{}"},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:p.empty})]}):(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded cursor-pointer group hover:bg-input/30",onClick:()=>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:p.open}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:p.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:o?d.map((e,n)=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(N,{data:e,name:`${n}`,depth:s+1,initialExpandDepth:r})},n)):d.map(([e,n])=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(N,{data:n,name:e,depth:s+1,initialExpandDepth:r})},e))}),(0,t.jsx)("div",{className:"text-muted-foreground",children:p.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,y.cn)(l.string,"cursor-pointer group-hover:text-foreground"),onClick:()=>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[a]||l.default,children:null===e?"null":String(e)})]})}});N.displayName="JsonNode";var k=e.i(917162),S=e.i(319036),C=e.i(127341),w=e.i(184762),z=e.i(6799),O=e.i(95187);let T=(0,O.createServerReference)("7fab1dd91d615032cf1deeda259f7b758bb7276c70",O.callServer,void 0,O.findSourceMapURL,"callToolAction"),A=(0,O.createServerReference)("7ff20864cdea076900a776fbaca0f394664cf1fc26",O.callServer,void 0,O.findSourceMapURL,"deleteServerAction"),I=(0,O.createServerReference)("7f51ee4209873ffb16ed0bf786dee13dd0ea5a776e",O.callServer,void 0,O.findSourceMapURL,"refreshServerAction"),P=(0,O.createServerReference)("7fc8bdee6fb9b42daee324c78238a8cc8c8f5316b9",O.callServer,void 0,O.findSourceMapURL,"registerServerAction");var F=e.i(681307),$=e.i(245629);let M=F.z.object({url:F.z.url(),headers:F.z.record(F.z.string(),F.z.string()).optional(),oauthClient:F.z.object({clientId:F.z.string().min(1),clientSecret:F.z.string().optional()}).optional()}),R=F.z.object({command:F.z.string().min(1),args:F.z.array(F.z.string()).optional(),env:F.z.record(F.z.string(),F.z.string()).optional()}),D=F.z.union([M,R]),E=F.z.object({name:F.z.string(),description:F.z.string().optional(),inputSchema:F.z.looseObject({}).optional(),outputSchema:F.z.looseObject({}).optional()});function L(e){return"url"in e}F.z.object({clientInformation:F.z.looseObject({}).optional(),tokens:F.z.looseObject({}).optional(),authorizationServer:F.z.looseObject({}).optional(),codeVerifier:F.z.string().optional(),state:F.z.string().optional()});let q=F.z.object({name:F.z.string().min(1).max(40),config:D,toolCount:F.z.number().int(),lastError:F.z.string().nullish()}),B=E.extend({id:F.z.number().int(),description:F.z.string().nullish()});q.omit({toolCount:!0}).extend({tools:B.array().default([]),toolsSyncedAt:$.DateLikeSchema});let J=F.z.object({name:F.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:D}),U=F.z.union([F.z.object({mcpServers:F.z.record(F.z.string(),D)}),F.z.record(F.z.string(),D)]),K=[{name:"notion",icon:"notion.so",description:"Pages, databases, and search",config:{url:"https://mcp.notion.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:"linear",icon:"linear.app",description:"Issues, projects, and cycles",config:{url:"https://mcp.linear.app/mcp"}},{name:"slack",icon:"slack.com",description:"Channels, messages, and search",config:{url:"https://mcp.slack.com/mcp"}},{name:"atlassian",icon:"atlassian.com",description:"Jira and Confluence",config:{url:"https://mcp.atlassian.com/v1/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:"airtable",icon:"airtable.com",description:"Bases, tables, and records",config:{url:"https://mcp.airtable.com/mcp"}},{name:"box",icon:"box.com",description:"Files, folders, and content search",config:{url:"https://mcp.box.com/mcp"}},{name:"figma",icon:"figma.com",description:"Design files and components",config:{url:"https://mcp.figma.com/mcp"}},{name:"canva",icon:"canva.com",description:"Create and manage designs",config:{url:"https://mcp.canva.com/mcp"}},{name:"sanity",icon:"sanity.io",description:"Structured content and datasets",config:{url:"https://mcp.sanity.io/mcp"}},{name:"webflow",icon:"webflow.com",description:"Sites, pages, and CMS collections",config:{url:"https://mcp.webflow.com/mcp"}},{name:"wix",icon:"wix.com",description:"Sites, stores, and bookings",config:{url:"https://mcp.wix.com/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:"fireflies",icon:"fireflies.ai",description:"Meeting transcripts and summaries",config:{url:"https://mcp.fireflies.ai/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:"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"}},{name:"playwright",icon:"playwright.dev",description:"Drive a real browser",config:{command:"npx",args:["@playwright/mcp@latest"]}},{name:"chrome-devtools",icon:"developer.chrome.com",description:"Inspect and debug Chrome",config:{command:"npx",args:["chrome-devtools-mcp@latest"]}}];var _=e.i(895836),H=e.i(333999),W=e.i(609856),V=e.i(283653);function G({name:e,onDone:n}){let{data:s,isLoading:r}=(0,V.useServerRoute)(f.queryKey.mcpServer(e)),[o,a]=(0,W.useServerAction)(I,{...ec,onOk:t=>{ec.onOk(t),(0,V.revalidate)(f.queryKey.mcpServer(e))}}),[i,c]=(0,W.useServerAction)(A,{okMessage:"Server deleted",onOk:()=>{n(),(0,V.revalidate)(f.queryKey.mcp)}}),l=async()=>{await k.notify.confirm({title:`Delete ${e}?`,description:"Its connection and saved authorization go with it.",okText:"Delete",destructive:!0})&&i(e)};if(r)return(0,t.jsx)(_.SettingSkeleton,{rows:4});if(!s)return null;let m=s.tools.length,p=L(s.config)?"HTTP":"STDIO";return(0,t.jsxs)(_.SettingDialogContent,{title:s.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:p}),(0,t.jsx)("span",{className:"truncate font-mono",children:ed(s.config)})]}),footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(x.Button,{variant:"ghost",loading:c,onClick:l,children:[(0,t.jsx)(u.Trash2,{}),"Delete"]}),(0,t.jsxs)(x.Button,{variant:"outline",loading:a,onClick:()=>o(s.name),children:[(0,t.jsx)(d,{}),"Reconnect"]})]}),children:[s.lastError&&(0,t.jsx)("p",{className:"rounded-lg bg-destructive/10 px-3 py-2 font-mono text-xs text-destructive",children:s.lastError}),(0,t.jsxs)("p",{className:"text-right font-mono text-xs text-muted-foreground",children:[m," ",1===m?"tool":"tools"]}),s.tools.map(e=>(0,t.jsx)(Y,{tool:e,serverName:s.name},e.name))]})}function Q({server:e}){let s=e.toolCount,o=e.lastError?"error":s>0?"connected":"idle";return(0,t.jsxs)("button",{type:"button",onClick:()=>{k.notify.component({className:"sm:max-w-3xl",renderer:({close:n})=>(0,t.jsx)(G,{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)(X,{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"===o&&(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"===o?(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:[" · ",ed(e.config)]})]})})]}),(0,t.jsx)(r.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}function X({server:e}){let n,s=(n=K.find(t=>L(t.config)?L(e.config)&&t.config.url.replace(/\/+$/,"")===e.config.url.replace(/\/+$/,""):!L(e.config)&&t.config.command===e.config.command&&(t.config.args??[]).join(" ")===(e.config.args??[]).join(" "))??K.find(t=>t.name===e.name),n?.icon);return s?(0,t.jsx)("img",{src:(0,y.faviconUrl)(s),alt:"",className:"size-5"}):(0,t.jsx)(p,{className:"size-4"})}function Y({tool:e,serverName:n}){let[o,a]=(0,g.useState)(!1),[i,c]=(0,g.useState)(!1),[l,d]=(0,g.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:"min-w-0 space-y-1",children:[(0,t.jsx)("span",{className:"block truncate font-mono text-sm",children:e.name}),e.description?(0,t.jsx)("p",{className:(0,y.cn)("text-xs text-muted-foreground",!l&&"line-clamp-2",e.description.length>140&&"cursor-pointer"),onClick:()=>d(!l),children:e.description}):null]}),(0,t.jsxs)("div",{className:"mt-2 flex justify-end gap-1",children:[m.length>0&&(0,t.jsxs)(x.Button,{size:"xs",variant:"ghost",className:"font-mono",onClick:()=>a(!o),children:[o?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(r.ChevronRight,{}),"Schema"]}),(0,t.jsxs)(x.Button,{size:"xs",variant:"ghost",className:"font-mono",onClick:()=>c(!i),children:[i?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(r.ChevronRight,{}),"Test"]})]}),o?(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),r=" ".repeat(n);if(Array.isArray(t.enum))return t.enum.map(e=>JSON.stringify(e)).join(" | ");let o=t.anyOf??t.oneOf;if(Array.isArray(o))return o.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 o=t.properties;if(!o||0===Object.keys(o).length)return"{}";let a=t.required??[],i=Object.entries(o).map(([t,r])=>{let o=a.includes(t)?"":"?",i=r?.description,c="string"==typeof i&&i.length<=60?` // ${i}`:"";return`${s}${t}${o}: ${e(r,n+1)}${c}`});return`{
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,787800,e=>{"use strict";var t=e.i(843476),n=e.i(689664),s=e.i(716327),r=e.i(867927),o=e.i(456420);let a={name:"play",size:24,node:[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]};a.node;let i=(0,o.default)(a);var c=e.i(77071);let l={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"}]]};l.node;let d=(0,o.default)(l),m={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"}]]};m.node;let p=(0,o.default)(m);var u=e.i(759659),h=e.i(263676),g=e.i(271645),f=e.i(798120),x=e.i(167881),v=e.i(986530),j=e.i(23750),y=e.i(647163);let b=(0,g.memo)(({data:e,name:n,initialExpandDepth:s=2})=>{let r=(0,g.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 transition-all duration-300",children:(0,t.jsx)(N,{data:r,name:n,depth:0,initialExpandDepth:s})})});b.displayName="JsonView";let N=(0,g.memo)(({data:e,name:n,depth:s=0,initialExpandDepth:r})=>{var o;let a=void 0===e?"undefined":Array.isArray(e)?"array":null===e?"null":typeof e,[i,c]=(0,g.useState)("string"!==a&&s<r),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(a){case"object":case"array":let d,m,p;return m=(d=(o="array"===a)?e:Object.entries(e)).length,p={open:o?"[":"{",close:o?"]":"}",collapsed:o?"[ ... ]":"{ ... }",empty:o?"[]":"{}"},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:p.empty})]}):(0,t.jsxs)("div",{className:"flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center mr-1 rounded cursor-pointer group hover:bg-input/30",onClick:()=>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:p.open}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"text-muted-foreground group-hover:text-foreground",children:p.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:o?d.map((e,n)=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(N,{data:e,name:`${n}`,depth:s+1,initialExpandDepth:r})},n)):d.map(([e,n])=>(0,t.jsx)("div",{className:"my-1",children:(0,t.jsx)(N,{data:n,name:e,depth:s+1,initialExpandDepth:r})},e))}),(0,t.jsx)("div",{className:"text-muted-foreground",children:p.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,y.cn)(l.string,"cursor-pointer group-hover:text-foreground"),onClick:()=>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[a]||l.default,children:null===e?"null":String(e)})]})}});N.displayName="JsonNode";var k=e.i(917162),S=e.i(319036),C=e.i(127341),w=e.i(184762),z=e.i(6799),O=e.i(95187);let T=(0,O.createServerReference)("7f5794ac71620e44519ac5e4528c812ec673d30e36",O.callServer,void 0,O.findSourceMapURL,"callToolAction"),A=(0,O.createServerReference)("7f8b31e414a34ee8f44144711314836c2ef544e4d6",O.callServer,void 0,O.findSourceMapURL,"deleteServerAction"),I=(0,O.createServerReference)("7f01ea36e10e34b1bdd93e76c79733f6d9944ba5ab",O.callServer,void 0,O.findSourceMapURL,"refreshServerAction"),P=(0,O.createServerReference)("7f0f31e6c8be9bc825768389fc145a1b3446503296",O.callServer,void 0,O.findSourceMapURL,"registerServerAction");var F=e.i(681307),$=e.i(245629);let M=F.z.object({url:F.z.url(),headers:F.z.record(F.z.string(),F.z.string()).optional(),oauthClient:F.z.object({clientId:F.z.string().min(1),clientSecret:F.z.string().optional()}).optional()}),R=F.z.object({command:F.z.string().min(1),args:F.z.array(F.z.string()).optional(),env:F.z.record(F.z.string(),F.z.string()).optional()}),D=F.z.union([M,R]),E=F.z.object({name:F.z.string(),description:F.z.string().optional(),inputSchema:F.z.looseObject({}).optional(),outputSchema:F.z.looseObject({}).optional()});function L(e){return"url"in e}F.z.object({clientInformation:F.z.looseObject({}).optional(),tokens:F.z.looseObject({}).optional(),authorizationServer:F.z.looseObject({}).optional(),codeVerifier:F.z.string().optional(),state:F.z.string().optional()});let q=F.z.object({name:F.z.string().min(1).max(40),config:D,toolCount:F.z.number().int(),lastError:F.z.string().nullish()}),B=E.extend({id:F.z.number().int(),description:F.z.string().nullish()});q.omit({toolCount:!0}).extend({tools:B.array().default([]),toolsSyncedAt:$.DateLikeSchema});let J=F.z.object({name:F.z.string().min(1,"Name is required").max(40).regex(/^[a-zA-Z0-9_-]+$/,"Only letters, numbers, - and _ are allowed"),config:D}),U=F.z.union([F.z.object({mcpServers:F.z.record(F.z.string(),D)}),F.z.record(F.z.string(),D)]),K=[{name:"notion",icon:"notion.so",description:"Pages, databases, and search",config:{url:"https://mcp.notion.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:"linear",icon:"linear.app",description:"Issues, projects, and cycles",config:{url:"https://mcp.linear.app/mcp"}},{name:"slack",icon:"slack.com",description:"Channels, messages, and search",config:{url:"https://mcp.slack.com/mcp"}},{name:"atlassian",icon:"atlassian.com",description:"Jira and Confluence",config:{url:"https://mcp.atlassian.com/v1/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:"airtable",icon:"airtable.com",description:"Bases, tables, and records",config:{url:"https://mcp.airtable.com/mcp"}},{name:"box",icon:"box.com",description:"Files, folders, and content search",config:{url:"https://mcp.box.com/mcp"}},{name:"figma",icon:"figma.com",description:"Design files and components",config:{url:"https://mcp.figma.com/mcp"}},{name:"canva",icon:"canva.com",description:"Create and manage designs",config:{url:"https://mcp.canva.com/mcp"}},{name:"sanity",icon:"sanity.io",description:"Structured content and datasets",config:{url:"https://mcp.sanity.io/mcp"}},{name:"webflow",icon:"webflow.com",description:"Sites, pages, and CMS collections",config:{url:"https://mcp.webflow.com/mcp"}},{name:"wix",icon:"wix.com",description:"Sites, stores, and bookings",config:{url:"https://mcp.wix.com/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:"fireflies",icon:"fireflies.ai",description:"Meeting transcripts and summaries",config:{url:"https://mcp.fireflies.ai/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:"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"}},{name:"playwright",icon:"playwright.dev",description:"Drive a real browser",config:{command:"npx",args:["@playwright/mcp@latest"]}},{name:"chrome-devtools",icon:"developer.chrome.com",description:"Inspect and debug Chrome",config:{command:"npx",args:["chrome-devtools-mcp@latest"]}}];var _=e.i(895836),H=e.i(333999),W=e.i(609856),V=e.i(283653);function G({name:e,onDone:n}){let{data:s,isLoading:r}=(0,V.useServerRoute)(f.queryKey.mcpServer(e)),[o,a]=(0,W.useServerAction)(I,{...ec,onOk:t=>{ec.onOk(t),(0,V.revalidate)(f.queryKey.mcpServer(e))}}),[i,c]=(0,W.useServerAction)(A,{okMessage:"Server deleted",onOk:()=>{n(),(0,V.revalidate)(f.queryKey.mcp)}}),l=async()=>{await k.notify.confirm({title:`Delete ${e}?`,description:"Its connection and saved authorization go with it.",okText:"Delete",destructive:!0})&&i(e)};if(r)return(0,t.jsx)(_.SettingSkeleton,{rows:4});if(!s)return null;let m=s.tools.length,p=L(s.config)?"HTTP":"STDIO";return(0,t.jsxs)(_.SettingDialogContent,{title:s.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:p}),(0,t.jsx)("span",{className:"truncate font-mono",children:ed(s.config)})]}),footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(x.Button,{variant:"ghost",loading:c,onClick:l,children:[(0,t.jsx)(u.Trash2,{}),"Delete"]}),(0,t.jsxs)(x.Button,{variant:"outline",loading:a,onClick:()=>o(s.name),children:[(0,t.jsx)(d,{}),"Reconnect"]})]}),children:[s.lastError&&(0,t.jsx)("p",{className:"rounded-lg bg-destructive/10 px-3 py-2 font-mono text-xs text-destructive",children:s.lastError}),(0,t.jsxs)("p",{className:"text-right font-mono text-xs text-muted-foreground",children:[m," ",1===m?"tool":"tools"]}),s.tools.map(e=>(0,t.jsx)(Y,{tool:e,serverName:s.name},e.name))]})}function Q({server:e}){let s=e.toolCount,o=e.lastError?"error":s>0?"connected":"idle";return(0,t.jsxs)("button",{type:"button",onClick:()=>{k.notify.component({className:"sm:max-w-3xl",renderer:({close:n})=>(0,t.jsx)(G,{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)(X,{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"===o&&(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"===o?(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:[" · ",ed(e.config)]})]})})]}),(0,t.jsx)(r.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}function X({server:e}){let n,s=(n=K.find(t=>L(t.config)?L(e.config)&&t.config.url.replace(/\/+$/,"")===e.config.url.replace(/\/+$/,""):!L(e.config)&&t.config.command===e.config.command&&(t.config.args??[]).join(" ")===(e.config.args??[]).join(" "))??K.find(t=>t.name===e.name),n?.icon);return s?(0,t.jsx)("img",{src:(0,y.faviconUrl)(s),alt:"",className:"size-5"}):(0,t.jsx)(p,{className:"size-4"})}function Y({tool:e,serverName:n}){let[o,a]=(0,g.useState)(!1),[i,c]=(0,g.useState)(!1),[l,d]=(0,g.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:"min-w-0 space-y-1",children:[(0,t.jsx)("span",{className:"block truncate font-mono text-sm",children:e.name}),e.description?(0,t.jsx)("p",{className:(0,y.cn)("text-xs text-muted-foreground",!l&&"line-clamp-2",e.description.length>140&&"cursor-pointer"),onClick:()=>d(!l),children:e.description}):null]}),(0,t.jsxs)("div",{className:"mt-2 flex justify-end gap-1",children:[m.length>0&&(0,t.jsxs)(x.Button,{size:"xs",variant:"ghost",className:"font-mono",onClick:()=>a(!o),children:[o?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(r.ChevronRight,{}),"Schema"]}),(0,t.jsxs)(x.Button,{size:"xs",variant:"ghost",className:"font-mono",onClick:()=>c(!i),children:[i?(0,t.jsx)(s.ChevronDown,{}):(0,t.jsx)(r.ChevronRight,{}),"Test"]})]}),o?(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),r=" ".repeat(n);if(Array.isArray(t.enum))return t.enum.map(e=>JSON.stringify(e)).join(" | ");let o=t.anyOf??t.oneOf;if(Array.isArray(o))return o.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 o=t.properties;if(!o||0===Object.keys(o).length)return"{}";let a=t.required??[],i=Object.entries(o).map(([t,r])=>{let o=a.includes(t)?"":"?",i=r?.description,c="string"==typeof i&&i.length<=60?` // ${i}`:"";return`${s}${t}${o}: ${e(r,n+1)}${c}`});return`{
2
2
  ${i.join("\n")}
3
3
  ${r}}`}return Array.isArray(t.type)?t.type.join(" | "):"string"==typeof t.type?t.type:"unknown"}(n)})]},e))}):null,i?(0,t.jsx)(Z,{tool:e,serverName:n}):null]})}function Z({tool:e,serverName:n}){let[s,r]=(0,g.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,a]=(0,g.useState)(""),[c,l,d,m,p]=(0,W.useServerAction)(T,{errorMessage:!1});return(0,t.jsxs)("div",{className:"mt-2 space-y-2 rounded-lg border border-input p-3",children:[(0,t.jsx)(w.Textarea,{value:s,onChange:e=>r(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)(x.Button,{size:"sm",loading:l,onClick:()=>{let t;try{t=s.trim()?JSON.parse(s):void 0}catch{a("Not valid JSON");return}a(""),p(),c(n,e.name,t)},children:[!l&&(0,t.jsx)(i,{}),"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 ee(e){return k.notify.component({className:"sm:max-w-lg",renderer:({close:n})=>(0,t.jsx)(et,{initial:e,onDone:n})})}function et({initial:e,onDone:n}){let s=e&&L(e.config)?e.config:void 0,r=e&&!L(e.config)?e.config:void 0,[o,a]=(0,H.useObjectState)({mode:r?"stdio":"http",name:e?.name??"",url:s?.url??"",headers:er(s?.headers),clientId:s?.oauthClient?.clientId??"",clientSecret:s?.oauthClient?.clientSecret??"",command:r?.command??"",args:(r?.args??[]).join(" "),env:er(r?.env),raw:""}),{mode:i,name:c,url:l,headers:d,clientId:m,clientSecret:p,command:u,args:h,env:f,raw:y}=o,[b,N]=(0,W.useServerAction)(P,{...ec,onOk:e=>{ec.onOk(e),"error"!==e.status&&n()}}),k=(0,g.useMemo)(()=>{var e,t,n,s,r,o,a;let c,g;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=D.safeParse(t);if(s.success)return{value:{name:null,config:s.data},error:""};let r=U.safeParse(t);if(!r.success)return{value:null,error:"Needs a url or a command"};let o=Object.entries("mcpServers"in r.data?r.data.mcpServers:r.data)[0];return o?{value:{name:o[0],config:o[1]},error:""}:{value:null,error:"No server in there"}}(y):"http"===i?(e=l,t=d,n=m,s=p,(c=M.safeParse({url:e.trim(),headers:eo(t),oauthClient:n.trim()?{clientId:n.trim(),clientSecret:s.trim()}:void 0})).success?{value:{name:null,config:c.data},error:""}:{value:null,error:e.trim()?"Needs a valid url":""}):(r=u,o=h,a=f,(g=R.safeParse({command:r.trim(),args:o.split(/\s+/).filter(Boolean),env:eo(a)})).success?{value:{name:null,config:g.data},error:""}:{value:null,error:r.trim()?"Needs a command":""})},[i,y,l,d,m,p,u,h,f]),z="json"===i?y:JSON.stringify([i,l,d,m,p,u,h,f]),[O,T]=(0,g.useState)(z);(0,g.useEffect)(()=>{let e=setTimeout(()=>T(z),700);return()=>clearTimeout(e)},[z]);let A=O===z?k.error:"",I=c||k.value?.name||"",F=J.safeParse({name:I,config:k.value?.config});function $(e){let t=k.value?.config;return t?"json"===e?a({mode:e,raw:JSON.stringify(t,null,2)}):"http"===e&&L(t)?a({mode:e,url:t.url,headers:er(t.headers),clientId:t.oauthClient?.clientId??"",clientSecret:t.oauthClient?.clientSecret??""}):"stdio"!==e||L(t)?void a({mode:e}):a({mode:e,command:t.command,args:(t.args??[]).join(" "),env:er(t.env)}):a({mode:e})}let E=(0,t.jsxs)("span",{className:"flex items-center gap-2 font-mono text-xs text-muted-foreground",children:["JSON",(0,t.jsx)(S.Switch,{size:"sm",checked:"json"===i,onCheckedChange:e=>{let t;return e?$("json"):void $((t=k.value?.config)&&!L(t)?"stdio":"http")}})]});return(0,t.jsx)(_.SettingDialogContent,{title:"Add MCP server",description:"Its tools become available to Thursday and every sub-agent.",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.Button,{variant:"ghost",onClick:n,children:"Cancel"}),(0,t.jsx)(x.Button,{disabled:!F.success,loading:N,onClick:()=>{F.success&&!N&&b(F.data)},children:"Connect"})]}),children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)(v.Field,{children:[(0,t.jsx)(v.FieldLabel,{children:"Name"}),(0,t.jsx)(j.Input,{value:I,onChange:e=>a({name:e.target.value}),placeholder:"notion",spellCheck:!1})]}),"json"===i?(0,t.jsxs)(v.Field,{children:[(0,t.jsxs)("div",{className:"flex min-h-6 items-center justify-between gap-2",children:[(0,t.jsx)(v.FieldLabel,{children:"JSON"}),E]}),(0,t.jsx)(w.Textarea,{value:y,onChange:e=>a({raw:e.target.value}),spellCheck:!1,placeholder:ea,className:"min-h-64 resize-none font-mono text-xs"})]}):(0,t.jsxs)(C.Tabs,{value:i,onValueChange:e=>$(e),className:"gap-6",children:[(0,t.jsxs)(v.Field,{children:[(0,t.jsxs)("div",{className:"flex min-h-6 items-center justify-between gap-2",children:[(0,t.jsx)(v.FieldLabel,{children:"Transport"}),E]}),(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)(v.Field,{children:[(0,t.jsx)(v.FieldLabel,{children:"URL"}),(0,t.jsx)(j.Input,{value:l,onChange:e=>a({url:e.target.value}),placeholder:"https://mcp.notion.com/mcp",spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsx)(en,{label:"Headers",pairs:d,onChange:e=>a({headers:e}),keyPlaceholder:"Authorization",valuePlaceholder:"Bearer sk-..."}),(0,t.jsxs)(v.Field,{children:[(0,t.jsx)(v.FieldLabel,{children:"OAuth client"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(j.Input,{value:m,onChange:e=>a({clientId:e.target.value}),placeholder:"Client ID",spellCheck:!1,className:"font-mono text-xs"}),(0,t.jsx)(j.Input,{value:p,onChange:e=>a({clientSecret:e.target.value}),placeholder:"Client secret",spellCheck:!1,type:"password",className:"font-mono text-xs"})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"Only for servers that refuse to register clients on their own, like Figma. Leave empty and one is created during sign-in."})]})]}),(0,t.jsxs)(C.TabsContent,{value:"stdio",className:"space-y-6",children:[(0,t.jsxs)(v.Field,{children:[(0,t.jsx)(v.FieldLabel,{children:"Command"}),(0,t.jsx)(j.Input,{value:u,onChange:e=>a({command:e.target.value}),placeholder:"npx",spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsxs)(v.Field,{children:[(0,t.jsx)(v.FieldLabel,{children:"Args"}),(0,t.jsx)(j.Input,{value:h,onChange:e=>a({args:e.target.value}),placeholder:"-y @notionhq/notion-mcp-server",spellCheck:!1,className:"font-mono text-xs"})]}),(0,t.jsx)(en,{label:"Env",pairs:f,onChange:e=>a({env:e}),keyPlaceholder:"NOTION_TOKEN",valuePlaceholder:"ntn_..."})]})]}),A&&(0,t.jsx)("p",{className:"font-mono text-xs text-destructive",children:A})]})})}function en({label:e,pairs:n,onChange:s,keyPlaceholder:r,valuePlaceholder:o}){let a=(e,t)=>s(n.map(n=>n.id===e?{...n,...t}:n));return(0,t.jsxs)(v.Field,{children:[(0,t.jsx)(v.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)(j.Input,{value:e.key,onChange:t=>a(e.id,{key:t.target.value}),placeholder:r,spellCheck:!1,className:"font-mono text-xs"}),(0,t.jsx)(j.Input,{value:e.value,onChange:t=>a(e.id,{value:t.target.value}),placeholder:o,spellCheck:!1,className:"font-mono text-xs"}),(0,t.jsx)(x.Button,{variant:"ghost",size:"icon",onClick:()=>s(n.filter(t=>t.id!==e.id)),children:(0,t.jsx)(h.X,{})})]},e.id)),(0,t.jsxs)(x.Button,{variant:"outline",size:"sm",onClick:()=>s([...n,es()]),children:[(0,t.jsx)(c.Plus,{}),"Add"]})]})]})}let es=(e="",t="")=>({id:crypto.randomUUID(),key:e,value:t}),er=e=>Object.entries(e??{}).map(([e,t])=>es(e,t)),eo=e=>{let t=e.filter(e=>e.key.trim());if(t.length)return Object.fromEntries(t.map(e=>[e.key.trim(),e.value]))},ea=`/** STDIO Example */
4
4
  {
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,805995,e=>{"use strict";var t=e.i(843476),n=e.i(493801),i=e.i(456420);let s={name:"audio-lines",size:24,node:[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]]};s.node;let r=(0,i.default)(s),o={name:"captions",size:24,node:[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]],aliases:["subtitles"]};o.node;let a=(0,i.default)(o);var l=e.i(689664),d=e.i(867927);let c={name:"clapperboard",size:24,node:[["path",{d:"m12.296 3.464 3.02 3.956",key:"qash78"}],["path",{d:"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z",key:"1h7j8b"}],["path",{d:"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"4lm6w1"}],["path",{d:"m6.18 5.276 3.1 3.899",key:"zjj9t3"}]]};c.node;let u=(0,i.default)(c);var m=e.i(815170),f=e.i(758925),g=e.i(566595),h=e.i(466787),x=e.i(271645),y=e.i(798120),p=e.i(167881),k=e.i(23750),v=e.i(917162),j=e.i(671428),b=e.i(412294),S=e.i(146538),N=e.i(968978),w=e.i(265402),C=e.i(635963),M=e.i(95187);let I=(0,M.createServerReference)("7f9bc624b9c7f137e24cde3bf2bd49ab2a3d39404c",M.callServer,void 0,M.findSourceMapURL,"removeConfigAction");var A=e.i(344974),D=e.i(992112),K=e.i(895836),T=e.i(609856),R=e.i(283653),z=e.i(647163);let $={[D.EXA_API_KEY]:g.Search},q={image:m.Image,video:u,speech:r,transcription:a};function O({section:e}){let{data:n,isLoading:i,error:s}=(0,R.useServerRoute)(y.queryKey.config);if(i)return(0,t.jsx)(K.SettingSkeleton,{rows:4});if(s)return(0,t.jsx)(K.SettingError,{message:s.message});let r=e=>(0,D.isConfigSet)(n,e),o=e=>n?.find(t=>t.key===e)?.value,a=D.CONFIG_GROUPS.filter(t=>t.section===e),l=a.flatMap(e=>e.entries);return(0,t.jsx)(K.SettingScreen,{footer:(0,t.jsx)(K.SettingRailNote,{children:"keys"===e?(0,t.jsxs)(t.Fragment,{children:[l.filter(e=>r(e.key)).length," of"," ",l.length," set",a.some(e=>!(0,D.groupSatisfied)(e,r))?" · a call needs one voice key":" · your keys stay on this machine"]}):(0,t.jsxs)(t.Fragment,{children:[l.length," of ",l.length," resolved ·"," ",l.filter(e=>o(e.key)).length," pinned"]})}),children:a.map(e=>(0,t.jsx)(K.SettingGroup,{label:e.title,hint:e.hint,right:(0,t.jsx)(F,{group:e,isSet:r}),children:(0,t.jsx)(K.SettingItems,{children:e.entries.map(n=>n.choices?(0,t.jsx)(H,{entry:n,choices:n.choices,value:o(n.key),isSet:r},n.key):(0,t.jsx)(B,{entry:n,set:r(n.key),needed:!(0,D.groupSatisfied)(e,r)},n.key))})},e.id))})}function F({group:e,isSet:n}){return"none"===e.require?null:(0,D.groupSatisfied)(e,n)?(0,t.jsxs)("span",{className:"flex items-center gap-1 font-mono text-[11px] text-muted-foreground",children:[(0,t.jsx)(l.Check,{className:"size-3"}),"ready"]}):(0,t.jsxs)("span",{className:(0,z.cn)("flex items-center gap-1 font-mono text-[11px]",z.WAITING_INK),children:[(0,t.jsx)(h.TriangleAlert,{className:"size-3"}),e.note??"Required"]})}function B({entry:e,set:n,needed:i}){let s=_(e,n),r=W(e,n),o=U(e,n),a=r.data?E(r.data):P(n,i,s.data,e.signIn);return(0,t.jsxs)("button",{type:"button",onClick:()=>{var i,s,r;return e.signIn?(i=e,v.notify.component({className:"sm:max-w-md",renderer:({close:e})=>(0,t.jsx)(Q,{entry:i,onDone:e})})):(s=e,r=n,v.notify.component({className:"sm:max-w-md",renderer:({close:e})=>(0,t.jsx)(V,{entry:s,set:r,onDone:e})}))},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-8 shrink-0 place-items-center rounded-lg bg-muted/60",children:(0,t.jsx)(Y,{entry:e})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:e.label}),(0,t.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:e.signIn?n?L(r.data,o):"sign in with your account":e.key})]}),s.isLoading||r.isLoading?(0,t.jsx)(j.Skeleton,{className:"h-3 w-20 shrink-0"}):(0,t.jsxs)("span",{className:(0,z.cn)("flex shrink-0 items-center gap-1.5 font-mono text-xs",a.ink),children:[a.warn?(0,t.jsx)(h.TriangleAlert,{className:"size-3"}):n&&(0,t.jsx)(l.Check,{className:"size-3"}),a.text]}),(0,t.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}let G=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"});function P(e,t,n,i){return e?n?"refused"in n?{text:"Key refused",ink:"text-destructive",warn:!0}:{text:`${G.format(n.balance)} left`,ink:n.low?z.WAITING_INK:"text-muted-foreground",warn:n.low}:{text:i?"Signed in":"Set",ink:"text-muted-foreground",warn:!1}:t?{text:"Needed",ink:z.WAITING_INK,warn:!0}:{text:i?"Signed out":"Not set",ink:"text-muted-foreground/60",warn:!1}}function _(e,t){return(0,R.useServerRoute)(t&&"vercel-ai-gateway"===e.provider?y.queryKey.gatewayCredits:null)}function U(e,t){let{data:n}=(0,R.useServerRoute)(t&&e.signIn?y.queryKey.llmModel:null);return n?.find(t=>t.id===e.provider)?.plan??null}function W(e,t){return(0,R.useServerRoute)(t&&e.signIn?y.queryKey.subscriptionUsage:null)}function E(e){return"refused"in e?{text:"Sign-in refused",ink:"text-destructive",warn:!0}:{text:e.spent?"Limit reached":`${e.usedPercent}% used`,ink:e.high?z.WAITING_INK:"text-muted-foreground",warn:e.high}}function L(e,t){let i=!e||"refused"in e?null:e,s=`${i?.plan??t??"unknown"} plan`;return i?.resetsAt?`${s} \xb7 resets in ${(0,n.formatDistanceToNowStrict)(new Date(i.resetsAt))}`:s}function Y({entry:e}){if(e.provider)return(0,t.jsx)(N.ProviderIcon,{provider:e.provider,className:"size-4"});let n=$[e.key]??f.KeyRound;return(0,t.jsx)(n,{className:"size-4 text-muted-foreground"})}function H({entry:e,choices:n,value:i,isSet:s}){let r=n.find(e=>e.value===i),o=n.filter(e=>s(e.needs)),a=i&&!r?i:null,l=e.kind?q[e.kind]:C.BotsMark;return(0,t.jsxs)("button",{type:"button",onClick:()=>{var i,s,r;return e.kind||e.text?(i=e,v.notify.component({className:"sm:max-w-lg",renderer:({close:e})=>(0,t.jsx)(X,{entry:i,onDone:e})})):(s=e,r=n,v.notify.component({className:"sm:max-w-md",renderer:({close:e})=>(0,t.jsx)(J,{entry:s,choices:r,onDone:e})}))},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-8 shrink-0 place-items-center rounded-lg bg-muted/60",children:(0,t.jsx)(l,{className:"size-4 text-muted-foreground"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-1",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:e.label}),(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[!r&&!a&&(0,t.jsx)("span",{className:(0,z.cn)("shrink-0 rounded-[5px] border border-border/60 px-1 font-mono text-[10px]",e.kind?z.WAITING_INK:"text-muted-foreground"),children:e.kind?"off":"auto"}),(0,t.jsx)("span",{className:"truncate font-mono text-xs text-muted-foreground",children:r?.label??a??(e.kind?"Not offered to bots until you pick one":o[0]?.label??"No key for any of these yet")})]})]}),(0,t.jsx)(d.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/60 transition-colors group-hover:text-foreground"})]})}function X({entry:e,onDone:n}){let{data:i}=(0,R.useServerRoute)(y.queryKey.config),s=i?.find(t=>t.key===e.key)?.value,[r,o]=(0,x.useState)(()=>{let t=e.text?(0,w.parseTextModel)(s):(0,w.parseMediaModel)(s);return{provider:t?.provider??null,model:t?.model??""}}),a=()=>{(0,R.revalidate)(y.queryKey.config),n()},[l]=(0,T.useServerAction)(A.setConfigAction,{okMessage:`${e.label} saved`,onOk:a}),[d,c]=(0,T.useServerAction)(I,{okMessage:e.kind?`${e.label} switched off`:`${e.label} back to automatic`,onOk:a});return(0,t.jsx)(K.SettingDialogContent,{title:e.label,description:e.hint,footer:(0,t.jsxs)(t.Fragment,{children:[s&&(0,t.jsx)(p.Button,{variant:"ghost",loading:c,onClick:()=>d(e.key),children:e.kind?"Turn off":"Automatic"}),(0,t.jsx)(p.Button,{variant:"ghost",onClick:n,children:"Close"})]}),children:(0,t.jsx)(S.ModelPicker,{kind:e.kind,provider:r.provider,model:r.model,onChange:t=>{o(t),t.model.trim()&&l(e.key,`${t.provider}/${t.model.trim()}`)}})})}function J({entry:e,choices:n,onDone:i}){let{data:s}=(0,R.useServerRoute)(y.queryKey.config),r=s?.find(t=>t.key===e.key)?.value,o=()=>{(0,R.revalidate)(y.queryKey.config),i()},[a,l]=(0,T.useServerAction)(A.setConfigAction,{okMessage:`${e.label} saved`,onOk:o}),[d,c]=(0,T.useServerAction)(I,{okMessage:e.kind?`${e.label} switched off`:`${e.label} back to automatic`,onOk:o});return(0,t.jsx)(K.SettingDialogContent,{title:e.label,description:e.hint,footer:(0,t.jsxs)(t.Fragment,{children:[r&&(0,t.jsx)(p.Button,{variant:"ghost",loading:c,onClick:()=>d(e.key),children:e.kind?"Turn off":"Automatic"}),(0,t.jsx)(p.Button,{variant:"ghost",onClick:i,children:"Close"})]}),children:(0,t.jsx)(K.SettingChoiceRows,{options:n.map(e=>({value:e.value,label:e.label,disabled:!(0,D.isConfigSet)(s,e.needs)&&`needs ${e.needs}`})),value:r,onChange:t=>a(e.key,t),disabled:l})})}function Q({entry:e,onDone:n}){let{data:i}=(0,R.useServerRoute)(y.queryKey.config),s=(0,D.isConfigSet)(i,e.key),r=U(e,s),o=W(e,s),a=o.data?E(o.data):null,[l,d]=(0,T.useServerAction)(I,{okMessage:`Signed out of ${e.label}`,onOk:()=>{(0,R.revalidate)(y.queryKey.config),(0,R.revalidate)(y.queryKey.llmModel),n()}});return(0,t.jsx)(K.SettingDialogContent,{title:e.label,description:s?(0,t.jsxs)(t.Fragment,{children:["Signed in ·"," ",(0,t.jsx)("span",{className:"font-mono",children:L(o.data,r)}),a&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,t.jsx)("span",{className:(0,z.cn)("font-mono",a.ink),children:a.text})]})]}):"Sign in with your ChatGPT account instead of a key",footer:(0,t.jsxs)(t.Fragment,{children:[s&&(0,t.jsx)(p.Button,{variant:"ghost",loading:d,onClick:()=>l(e.key),children:"Sign out"}),(0,t.jsx)(p.Button,{variant:"ghost",onClick:n,children:s?"Close":"Cancel"}),!s&&(0,t.jsx)(b.ChatGptSignIn,{})]}),children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(K.SettingNote,{children:s?"Bots on this subscription spend your plan's usage, not a key. When it runs out, the job stops and says when it resets.":"The sign-in opens in its own window. Approve it there, and this turns to signed in by itself."}),o.data&&"refused"in o.data&&(0,t.jsx)(K.SettingNote,{className:"wrap-break-word text-destructive",children:o.data.refused})]})})}function V({entry:e,set:n,onDone:i}){let[s,r]=(0,x.useState)(""),{data:o}=_(e,n),a=o?P(n,!1,o):null,l=()=>{(0,R.revalidate)(y.queryKey.config),(0,R.revalidate)(y.queryKey.llmModel)},[d,c]=(0,T.useServerAction)(A.setConfigAction,{okMessage:`${e.label} key saved`,onOk:()=>{l(),i()}}),[u,m]=(0,T.useServerAction)(I,{okMessage:`${e.label} key removed`,onOk:()=>{l(),i()}});return(0,t.jsx)(K.SettingDialogContent,{title:e.label,description:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-mono",children:e.key}),e.hint&&(0,t.jsxs)(t.Fragment,{children:[" · ",e.hint]}),a&&(0,t.jsxs)(t.Fragment,{children:[" · ",(0,t.jsx)("span",{className:(0,z.cn)("font-mono",a.ink),children:a.text})]})]}),footer:(0,t.jsxs)(t.Fragment,{children:[n&&(0,t.jsx)(p.Button,{variant:"ghost",loading:m,onClick:()=>u(e.key),children:"Remove"}),(0,t.jsx)(p.Button,{variant:"ghost",onClick:i,children:"Cancel"}),(0,t.jsx)(p.Button,{loading:c,disabled:s.trim().length<8,onClick:()=>d(e.key,s),children:n?"Replace":"Save"})]}),children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(k.Input,{value:s,onChange:e=>r(e.target.value),onKeyDown:t=>{"Enter"===t.key&&s.trim().length>=8&&d(e.key,s)},placeholder:n?"New value — replaces the current key":e.key,spellCheck:!1,type:"password",autoFocus:!0}),o&&"refused"in o&&(0,t.jsx)(K.SettingNote,{className:"wrap-break-word text-destructive",children:o.refused})]})})}e.s(["ConfigGroups",0,O,"ConfigSetting",0,function(){return(0,t.jsx)(O,{section:"keys"})}],805995)},493801,e=>{"use strict";var t=e.i(24708),n=e.i(55545),i=e.i(455024),s=e.i(99151),r=e.i(845110),o=e.i(281092),a=e.i(234662);e.s(["formatDistanceToNowStrict",0,function(e,l){return function(e,t,l){var d;let c,u,m=(0,i.getDefaultOptions)(),f=l?.locale??m.locale??n.defaultLocale,g=(u=(0,o.toDate)(e)-(0,o.toDate)(t))<0?-1:u>0?1:u;if(isNaN(g))throw RangeError("Invalid time value");let h=Object.assign({},l,{addSuffix:l?.addSuffix,comparison:g}),[x,y]=(0,r.normalizeDates)(l?.in,...g>0?[t,e]:[e,t]),p=(d=l?.roundingMethod??"round",e=>{let t=(d?Math[d]:Math.trunc)(e);return 0===t?0:t}),k=y.getTime()-x.getTime(),v=k/a.millisecondsInMinute,j=(k-((0,s.getTimezoneOffsetInMilliseconds)(y)-(0,s.getTimezoneOffsetInMilliseconds)(x)))/a.millisecondsInMinute,b=l?.unit;if("second"===(c=b||(v<1?"second":v<60?"minute":v<a.minutesInDay?"hour":j<a.minutesInMonth?"day":j<a.minutesInYear?"month":"year"))){let e=p(k/1e3);return f.formatDistance("xSeconds",e,h)}if("minute"===c){let e=p(v);return f.formatDistance("xMinutes",e,h)}if("hour"===c){let e=p(v/60);return f.formatDistance("xHours",e,h)}if("day"===c){let e=p(j/a.minutesInDay);return f.formatDistance("xDays",e,h)}if("month"===c){let e=p(j/a.minutesInMonth);return 12===e&&"month"!==b?f.formatDistance("xYears",1,h):f.formatDistance("xMonths",e,h)}else{let e=p(j/a.minutesInYear);return f.formatDistance("xYears",e,h)}}(e,(0,t.constructNow)(e),l)}],493801)},466787,e=>{"use strict";var t=e.i(755566);e.s(["TriangleAlert",()=>t.default])}]);
@@ -0,0 +1,2 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,507906,e=>{"use strict";var t,n,r,o,a,i,l,s,c=e.i(843476),u=e.i(689664),d=e.i(867927),f=e.i(456420);let m={name:"circle-alert",size:24,node:[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],aliases:["alert-circle"]};m.node;let p=(0,f.default)(m);var h=e.i(569644),v=e.i(779266),g=e.i(77071),x=e.i(759659),b=e.i(747925),y=e.i(263676),w=e.i(271645),E=e.i(798120),j=e.i(167881),k=/[\\\/_+.#"@\[\(\{&]/,S=/[\\\/_+.#"@\[\(\{&]/g,N=/[\s-]/,C=/[\s-]/g;function A(e){return e.toLowerCase().replace(C," ")}var R=Object.defineProperty,O=(e,t)=>R(e,"name",{value:t,configurable:!0}),P=!!("u">typeof window&&window.document&&window.document.createElement);function M(e,t,{checkForDefaultPrevented:n=!0}={}){return O(function(r){if(e?.(r),!1===n||!r||!r.defaultPrevented)return t?.(r)},"handleEvent")}function D(e){if(!P)throw Error("Cannot access document outside of the DOM");return e?.ownerDocument??document}function I(e){return"IFRAME"===e.tagName}O(M,"composeEventHandlers"),O(function(e){if(!P)throw Error("Cannot access window outside of the DOM");return e?.ownerDocument?.defaultView??window},"getOwnerWindow"),O(D,"getOwnerDocument"),O(function e(t,n=!1){let{activeElement:r}=D(t);if(!r?.nodeName)return null;if(I(r)&&r.contentDocument)return e(r.contentDocument.body,n);if(n){let e=r.getAttribute("aria-activedescendant");if(e){let t=D(r).getElementById(e);if(t)return t}}return r},"getActiveElement"),O(I,"isFrame");var T=Object.defineProperty,L=(e,t)=>T(e,"name",{value:t,configurable:!0});function _(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function F(...e){return t=>{let n=!1,r=e.map(e=>{let r=_(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():_(e[t],null)}}}}function B(...e){return w.useCallback(F(...e),e)}L(_,"setRef"),L(F,"composeRefs"),L(B,"useComposedRefs");var $=Object.defineProperty,z=(e,t)=>$(e,"name",{value:t,configurable:!0});function W(e,t=[]){let n=[];function r(t,r){let o=w.createContext(r);o.displayName=t+"Context";let a=n.length;n=[...n,r];let i=z(t=>{let{scope:n,children:r,...i}=t,l=n?.[e]?.[a]||o,s=w.useMemo(()=>i,Object.values(i));return(0,c.jsx)(l.Provider,{value:s,children:r})},"Provider");function l(n,i,s={}){let{optional:c=!1}=s,u=i?.[e]?.[a]||o,d=w.useContext(u);if(d)return d;if(void 0!==r)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return i.displayName=t+"Provider",z(l,"useContext"),[i,l]}z(r,"createContext");let o=z(()=>{let t=n.map(e=>w.createContext(e));return z(function(n){let r=n?.[e]||t;return w.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},"useScope")},"createScope");return o.scopeName=e,[r,K(o,...t)]}function K(...e){let t=e[0];if(1===e.length)return t;let n=z(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return z(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let o=n(e)[`__scope${r}`];return{...t,...o}},{});return w.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},"useComposedScopes")},"createScope");return n.scopeName=t.scopeName,n}z(function(e,t){let n=w.createContext(t);n.displayName=e+"Context";let r=z(e=>{let{children:t,...r}=e,o=w.useMemo(()=>r,Object.values(r));return(0,c.jsx)(n.Provider,{value:o,children:t})},"Provider");function o(r,a={}){let{optional:i=!1}=a,l=w.useContext(n);if(l)return l;if(void 0!==t)return t;if(!i)throw Error(`\`${r}\` must be used within \`${e}\``)}return r.displayName=e+"Provider",z(o,"useContext"),[r,o]},"createContext"),z(W,"createContextScope"),z(K,"composeContextScopes");var U=globalThis?.document?w.useLayoutEffect:()=>{},V=Object.defineProperty,q=w[" useId ".trim().toString()]||(()=>void 0),H=0;function X(e){let[t,n]=w.useState(q());return U(()=>{e||n(e=>e??String(H++))},[e]),e||(t?`radix-${t}`:"")}V(X,"name",{value:"useId",configurable:!0});var Y=Object.defineProperty,G=w[" useEffectEvent ".trim().toString()],Z=w[" useInsertionEffect ".trim().toString()];function J(e){if("function"==typeof G)return G(e);let t=w.useRef(()=>{throw Error("Cannot call an event handler while rendering.")});return"function"==typeof Z?Z(()=>{t.current=e}):U(()=>{t.current=e}),w.useMemo(()=>(...e)=>t.current?.(...e),[])}Y(J,"name",{value:"useEffectEvent",configurable:!0});var Q=Object.defineProperty,ee=(e,t)=>Q(e,"name",{value:t,configurable:!0}),et=w[" useInsertionEffect ".trim().toString()]||U;function en({prop:e,defaultProp:t,onChange:n=ee(()=>{},"onChange"),caller:r}){let[o,a,i]=er({defaultProp:t,onChange:n}),l=void 0!==e,s=l?e:o;return[s,w.useCallback(t=>{if(l){let n=eo(t)?t(e):t;n!==e&&i.current?.(n)}else a(t)},[l,e,a,i])]}function er({defaultProp:e,onChange:t}){let[n,r]=w.useState(e),o=w.useRef(n),a=w.useRef(t);return et(()=>{a.current=t},[t]),w.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function eo(e){return"function"==typeof e}ee(en,"useControllableState"),ee(er,"useUncontrolledState"),ee(eo,"isFunction");var ea=Symbol("RADIX:SYNC_STATE");ee(function(e,t,n,r){let{prop:o,defaultProp:a,onChange:i,caller:l}=t,s=void 0!==o,c=J(i),u=[{...n,state:a}];r&&u.push(r);let[d,f]=w.useReducer((t,n)=>{if(n.type===ea)return{...t,state:n.state};let r=e(t,n);return s&&!Object.is(r.state,t.state)&&c(r.state),r},...u),m=d.state,p=w.useRef(m);w.useEffect(()=>{p.current!==m&&(p.current=m,s||c(m))},[m,p,s]);let h=w.useMemo(()=>void 0!==o?{...d,state:o}:d,[d,o]);return w.useEffect(()=>{s&&!Object.is(o,d.state)&&f({type:ea,state:o})},[o,d.state,s]),[h,f]},"useControllableStateReducer");var ei=e.i(174080),el=Object.defineProperty,es=(e,t)=>el(e,"name",{value:t,configurable:!0});function ec(e){let t=w.forwardRef((t,n)=>{let{children:r,...o}=t,a=null,i=!1,l=[];ev(r)&&"function"==typeof ey&&(r=ey(r._payload)),w.Children.forEach(r,e=>{if(ep(e)){i=!0;let t="child"in e.props?e.props.child:e.props.children;ev(t)&&"function"==typeof ey&&(t=ey(t._payload)),a=ed(e,t),l.push(a?.props?.children)}else l.push(e)}),a?a=w.cloneElement(a,void 0,l):!i&&1===w.Children.count(r)&&w.isValidElement(r)&&(a=r);let s=a?em(a):void 0,c=B(n,s);if(!a){if(r||0===r)throw Error(i?eb(e):ex(e));return r}let u=ef(o,a.props??{});return a.type!==w.Fragment&&(u.ref=n?c:s),w.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}es(ec,"createSlot");var eu=Symbol.for("radix.slottable");es(function(e){let t=es(e=>"child"in e?e.children(e.child):e.children,"Slottable");return t.displayName=`${e}.Slottable`,t.__radixId=eu,t},"createSlottable");var ed=es((e,t)=>{if("child"in e.props){let t=e.props.child;return w.isValidElement(t)?w.cloneElement(t,void 0,e.props.children(t.props.children)):null}return w.isValidElement(t)?t:null},"getSlottableElementFromSlottable");function ef(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...e)=>{let t=a(...e);return o(...e),t}:o&&(n[r]=o):"style"===r?n[r]={...o,...a}:"className"===r&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function em(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}function ep(e){return w.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===eu}es(ef,"mergeProps"),es(em,"getElementRef"),es(ep,"isSlottable");var eh=Symbol.for("react.lazy");function ev(e){return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===eh&&"_payload"in e&&eg(e._payload)}function eg(e){return"object"==typeof e&&null!==e&&"then"in e}es(ev,"isLazyComponent"),es(eg,"isPromiseLike");var ex=es(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),eb=es(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),ey=w[" use ".trim().toString()],ew=Object.defineProperty,eE=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{let n=ec(`Primitive.${t}`),r=w.forwardRef((e,r)=>{let{asChild:o,...a}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,c.jsx)(o?n:t,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function ej(e,t){e&&ei.flushSync(()=>e.dispatchEvent(t))}function ek(e){let t=w.useRef(e);return w.useEffect(()=>{t.current=e}),w.useMemo(()=>(...e)=>t.current?.(...e),[])}ew(ej,"name",{value:"dispatchDiscreteCustomEvent",configurable:!0}),(0,Object.defineProperty)(ek,"name",{value:"useCallbackRef",configurable:!0});var eS=Object.defineProperty,eN=(e,t)=>eS(e,"name",{value:t,configurable:!0}),eC="dismissableLayer.update",eA=w.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),eR=w.forwardRef(eN(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:i,onInteractOutside:s,onDismiss:u,...d}=e,f=w.useContext(eA),[m,p]=w.useState(null),h=m?.ownerDocument??globalThis?.document,[,v]=w.useState({}),g=B(t,p),x=Array.from(f.layers),[b]=[...f.layersWithOutsidePointerEventsDisabled].slice(-1),y=b?x.indexOf(b):-1,E=m?x.indexOf(m):-1,j=f.layersWithOutsidePointerEventsDisabled.size>0,k=E>=y,S=w.useRef(!1),N=eM(e=>{a?.(e),s?.(e),e.defaultPrevented||u?.()},{ownerDocument:h,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:S,dismissableSurfaces:f.dismissableSurfaces,shouldHandlePointerDownOutside:w.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...f.branches].some(t=>t.contains(e));return k&&!t},[f.branches,k])}),C=eD(e=>{if(r&&S.current)return;let t=e.target;![...f.branches].some(e=>e.contains(t))&&(i?.(e),s?.(e),e.defaultPrevented||u?.())},h),A=!!m&&E===x.length-1,R=ek(e=>{"Escape"===e.key&&(o?.(e),!e.defaultPrevented&&u&&(e.preventDefault(),u()))});return w.useEffect(()=>{if(A)return h.addEventListener("keydown",R,{capture:!0}),()=>h.removeEventListener("keydown",R,{capture:!0})},[h,A,R]),w.useEffect(()=>{if(m)return n&&(0===f.layersWithOutsidePointerEventsDisabled.size&&(l=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),f.layersWithOutsidePointerEventsDisabled.add(m)),f.layers.add(m),eI(),()=>{n&&(f.layersWithOutsidePointerEventsDisabled.delete(m),0===f.layersWithOutsidePointerEventsDisabled.size&&(h.body.style.pointerEvents=l))}},[m,h,n,f]),w.useEffect(()=>()=>{m&&(f.layers.delete(m),f.layersWithOutsidePointerEventsDisabled.delete(m),eI())},[m,f]),w.useEffect(()=>{let e=eN(()=>v({}),"handleUpdate");return document.addEventListener(eC,e),()=>document.removeEventListener(eC,e)},[]),(0,c.jsx)(eE.div,{...d,ref:g,style:{pointerEvents:j?k?"auto":"none":void 0,...e.style},onFocusCapture:M(e.onFocusCapture,C.onFocusCapture),onBlurCapture:M(e.onBlurCapture,C.onBlurCapture),onPointerDownCapture:M(e.onPointerDownCapture,N.onPointerDownCapture)})},"DismissableLayer"));function eO(){let e=w.useContext(eA),[t,n]=w.useState(null);return w.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}eN(eO,"useDismissableLayerSurface");var eP=eN(()=>!0,"IS_TRUE");function eM(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:o,dismissableSurfaces:a,shouldHandlePointerDownOutside:i=eP}=t,l=ek(e),s=w.useRef(!1),c=w.useRef(!1),u=w.useRef(new Map),d=w.useRef(()=>{});return w.useEffect(()=>{function e(){c.current=!1,o.current=!1,u.current.clear()}function t(){return Array.from(u.current.values()).some(Boolean)}function f(e){if(!c.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),"click"===e.type&&window.setTimeout(()=>{c.current&&d.current()},0)}function m(e){c.current&&u.current.set(e.type,!1)}eN(e,"resetOutsideInteraction"),eN(t,"isOutsideInteractionIntercepted"),eN(f,"handleInteractionCapture"),eN(m,"handleInteractionBubble");let p=eN(a=>{if(a.target&&!s.current){let f=function(){n.removeEventListener("click",d.current);let r=t();e(),r||eT("dismissableLayer.pointerDownOutside",l,m,{discrete:!0})};if(eN(f,"handleAndDispatchPointerDownOutsideEvent"),!i(a.target)){n.removeEventListener("click",d.current),e(),s.current=!1;return}let m={originalEvent:a};c.current=!0,o.current=r&&0===a.button,u.current.clear(),r&&0===a.button?(n.removeEventListener("click",d.current),d.current=f,n.addEventListener("click",d.current,{once:!0})):f()}else n.removeEventListener("click",d.current),e();s.current=!1},"handlePointerDown"),h=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(let e of h)n.addEventListener(e,f,!0),n.addEventListener(e,m);let v=window.setTimeout(()=>{n.addEventListener("pointerdown",p)},0);return()=>{for(let e of(window.clearTimeout(v),n.removeEventListener("pointerdown",p),n.removeEventListener("click",d.current),h))n.removeEventListener(e,f,!0),n.removeEventListener(e,m)}},[n,l,r,o,a,i]),{onPointerDownCapture:eN(()=>s.current=!0,"onPointerDownCapture")}}function eD(e,t=globalThis?.document){let n=ek(e),r=w.useRef(!1);return w.useEffect(()=>{let e=eN(e=>{e.target&&!r.current&&eT("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})},"handleFocus");return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,n]),{onFocusCapture:eN(()=>r.current=!0,"onFocusCapture"),onBlurCapture:eN(()=>r.current=!1,"onBlurCapture")}}function eI(){let e=new CustomEvent(eC);document.dispatchEvent(e)}function eT(e,t,n,{discrete:r}){let o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?ej(o,a):o.dispatchEvent(a)}eN(eM,"usePointerDownOutside"),eN(eD,"useFocusOutside"),eN(eI,"dispatchUpdate"),eN(eT,"handleAndDispatchCustomEvent");var eL=Object.defineProperty,e_=(e,t)=>eL(e,"name",{value:t,configurable:!0}),eF="focusScope.autoFocusOnMount",eB="focusScope.autoFocusOnUnmount",e$={bubbles:!1,cancelable:!0},ez=w.forwardRef(e_(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=w.useState(null),u=ek(o),d=ek(a),f=w.useRef(null),m=B(t,s),p=w.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;w.useEffect(()=>{if(r){let e=function(e){if(p.paused||!l)return;let t=e.target;l.contains(t)?f.current=t:eX(f.current,{select:!0})},t=function(e){if(p.paused||!l)return;let t=e.relatedTarget;null!==t&&(l.contains(t)||eX(f.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&eX(l)};e_(e,"handleFocusIn"),e_(t,"handleFocusOut"),e_(n,"handleMutations"),document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(n);return l&&r.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[r,l,p.paused]),w.useEffect(()=>{if(l){eY.add(p);let e=document.activeElement;if(!l.contains(e)){let t=new CustomEvent(eF,e$);l.addEventListener(eF,u),l.dispatchEvent(t),t.defaultPrevented||(eW(eJ(eU(l)),{select:!0}),document.activeElement===e&&eX(l))}return()=>{l.removeEventListener(eF,u),setTimeout(()=>{let t=new CustomEvent(eB,e$);l.addEventListener(eB,d),l.dispatchEvent(t),t.defaultPrevented||eX(e??document.body,{select:!0}),l.removeEventListener(eB,d),eY.remove(p)},0)}}},[l,u,d,p]);let h=w.useCallback(e=>{if(!n&&!r||p.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,o=document.activeElement;if(t&&o){let t=e.currentTarget,[r,a]=eK(t);r&&a?e.shiftKey||o!==a?e.shiftKey&&o===r&&(e.preventDefault(),n&&eX(a,{select:!0})):(e.preventDefault(),n&&eX(r,{select:!0})):o===t&&e.preventDefault()}},[n,r,p.paused]);return(0,c.jsx)(eE.div,{tabIndex:-1,...i,ref:m,onKeyDown:h})},"FocusScope"));function eW(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(eX(r,{select:t}),document.activeElement!==n)return}function eK(e){let t=eU(e);return[eV(t,e),eV(t.reverse(),e)]}function eU(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e_(e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},"acceptNode")});for(;n.nextNode();)t.push(n.currentNode);return t}function eV(e,t){let n="function"==typeof t.checkVisibility&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):eq(r,{upTo:t})))return r}function eq(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}function eH(e){return e instanceof HTMLInputElement&&"select"in e}function eX(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&eH(e)&&t&&e.select()}}e_(eW,"focusFirst"),e_(eK,"getTabbableEdges"),e_(eU,"getTabbableCandidates"),e_(eV,"findVisible"),e_(eq,"isHidden"),e_(eH,"isSelectableInput"),e_(eX,"focus");var eY=eG();function eG(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),(e=eZ(e,t)).unshift(t)},remove(t){e=eZ(e,t),e[0]?.resume()}}}function eZ(e,t){let n=[...e],r=n.indexOf(t);return -1!==r&&n.splice(r,1),n}function eJ(e){return e.filter(e=>"A"!==e.tagName)}e_(eG,"createFocusScopesStack"),e_(eZ,"arrayRemove"),e_(eJ,"removeLinks");var eQ=Object.defineProperty,e0=w.forwardRef(eQ(function(e,t){let{container:n,...r}=e,[o,a]=w.useState(!1);U(()=>a(!0),[]);let i=n||o&&globalThis?.document?.body;return i?ei.createPortal((0,c.jsx)(eE.div,{...r,ref:t}),i):null},"name",{value:"Portal",configurable:!0})),e1=Object.defineProperty,e2=(e,t)=>e1(e,"name",{value:t,configurable:!0});function e5(e,t){return w.useReducer((e,n)=>t[e][n]??e,e)}e2(e5,"useStateMachine");var e3=e2(e=>{let{present:t,children:n}=e,r=e6(t),o="function"==typeof n?n({present:r.isPresent}):w.Children.only(n),a=e7(r.ref,e4(o));return"function"==typeof n||r.isPresent?w.cloneElement(o,{ref:a}):null},"Presence");function e6(e){let[t,n]=w.useState(),r=w.useRef(null),o=w.useRef(e),a=w.useRef("none"),i=w.useRef(void 0),[l,s]=e5(e?"mounted":"unmounted",{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return w.useEffect(()=>{"mounted"===l?(a.current=i.current??e8(r.current),i.current=void 0):a.current="none"},[l]),U(()=>{let t=r.current,n=o.current;if(n!==e){let r=a.current,l=e8(t);e?(i.current=l,s("MOUNT")):"none"===l||t?.display==="none"?s("UNMOUNT"):n&&r!==l?s("ANIMATION_OUT"):s("UNMOUNT"),o.current=e}},[e,s]),U(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,i=e2(a=>{let i=e8(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&i&&(s("ANIMATION_END"),!o.current)){let r=t.style.animationFillMode;t.style.animationFillMode="forwards",e=n.setTimeout(()=>{"forwards"===t.style.animationFillMode&&(t.style.animationFillMode=r)})}},"handleAnimationEnd"),l=e2(e=>{e.target===t&&(a.current=e8(r.current))},"handleAnimationStart");return t.addEventListener("animationstart",l),t.addEventListener("animationcancel",i),t.addEventListener("animationend",i),()=>{n.clearTimeout(e),t.removeEventListener("animationstart",l),t.removeEventListener("animationcancel",i),t.removeEventListener("animationend",i)}}s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:w.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,i.current=e8(t)}else r.current=null;n(e)},[])}}function e9(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function e7(...e){let t=w.useRef(e);return t.current=e,w.useCallback(e=>{let n=t.current,r=!1,o=n.map(t=>{let n=e9(t,e);return r||"function"!=typeof n||(r=!0),n});if(r)return()=>{for(let e=0;e<o.length;e++){let t=o[e];"function"==typeof t?t():e9(n[e],null)}}},[])}function e8(e){return e?.animationName||"none"}function e4(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(n=(t=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning)?e.props.ref:e.props.ref||e.ref}e2(e6,"usePresence"),e2(e9,"setRef"),e2(e7,"useStableComposedRefs"),e2(e8,"getAnimationName"),e2(e4,"getElementRef");var te=Object.defineProperty,tt=(e,t)=>te(e,"name",{value:t,configurable:!0}),tn=0,tr=null;function to(){w.useEffect(()=>{tr||(tr={start:ta(),end:ta()});let{start:e,end:t}=tr;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement("afterbegin",e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement("beforeend",t),tn++,()=>{1===tn&&(tr?.start.remove(),tr?.end.remove(),tr=null),tn=Math.max(0,tn-1)}},[])}function ta(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}tt(function(e){return to(),e.children},"FocusGuards"),tt(to,"useFocusGuards"),tt(ta,"createFocusGuard");var ti=function(){return(ti=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function tl(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)0>t.indexOf(r[o])&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}var ts=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),tc="width-before-scroll-bar";function tu(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var td="u">typeof window?w.useLayoutEffect:w.useEffect,tf=new WeakMap,tm=(void 0===t&&(t={}),(void 0===n&&(n=function(e){return e}),r=[],o=!1,a={read:function(){if(o)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:null},useMedium:function(e){var t=n(e,o);return r.push(t),function(){r=r.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(o=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){o=!0;var t=[];if(r.length){var n=r;r=[],n.forEach(e),t=r}var a=function(){var n=t;t=[],n.forEach(e)},i=function(){return Promise.resolve().then(a)};i(),r={push:function(e){t.push(e),i()},filter:function(e){return t=t.filter(e),r}}}}).options=ti({async:!0,ssr:!1},t),a),tp=function(){},th=w.forwardRef(function(e,t){var n,r,o,a,i=w.useRef(null),l=w.useState({onScrollCapture:tp,onWheelCapture:tp,onTouchMoveCapture:tp}),s=l[0],c=l[1],u=e.forwardProps,d=e.children,f=e.className,m=e.removeScrollBar,p=e.enabled,h=e.shards,v=e.sideCar,g=e.noRelative,x=e.noIsolation,b=e.inert,y=e.allowPinchZoom,E=e.as,j=e.gapMode,k=tl(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),S=(n=[i,t],r=function(e){return n.forEach(function(t){return tu(t,e)})},(o=(0,w.useState)(function(){return{value:null,callback:r,facade:{get current(){return o.value},set current(value){var e=o.value;e!==value&&(o.value=value,o.callback(value,e))}}}})[0]).callback=r,a=o.facade,td(function(){var e=tf.get(a);if(e){var t=new Set(e),r=new Set(n),o=a.current;t.forEach(function(e){r.has(e)||tu(e,null)}),r.forEach(function(e){t.has(e)||tu(e,o)})}tf.set(a,n)},[n]),a),N=ti(ti({},k),s);return w.createElement(w.Fragment,null,p&&w.createElement(v,{sideCar:tm,removeScrollBar:m,shards:h,noRelative:g,noIsolation:x,inert:b,setCallbacks:c,allowPinchZoom:!!y,lockRef:i,gapMode:j}),u?w.cloneElement(w.Children.only(d),ti(ti({},N),{ref:S})):w.createElement(void 0===E?"div":E,ti({},N,{className:f,ref:S}),d))});th.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},th.classNames={fullWidth:tc,zeroRight:ts};var tv=function(e){var t=e.sideCar,n=tl(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error("Sidecar medium not found");return w.createElement(r,ti({},n))};tv.isSideCarExport=!0;var tg=function(){var e=0,t=null;return{add:function(n){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=s||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var r,o;(r=t).styleSheet?r.styleSheet.cssText=n:r.appendChild(document.createTextNode(n)),o=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(o)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},tx=function(){var e=tg();return function(t,n){w.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},tb=function(){var e=tx();return function(t){return e(t.styles,t.dynamic),null}},ty={left:0,top:0,right:0,gap:0},tw=function(e){return parseInt(e||"",10)||0},tE=function(e){var t=window.getComputedStyle(document.body),n=t["padding"===e?"paddingLeft":"marginLeft"],r=t["padding"===e?"paddingTop":"marginTop"],o=t["padding"===e?"paddingRight":"marginRight"];return[tw(n),tw(r),tw(o)]},tj=function(e){if(void 0===e&&(e="margin"),"u"<typeof window)return ty;var t=tE(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},tk=tb(),tS="data-scroll-locked",tN=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return void 0===n&&(n="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(r,";\n padding-right: ").concat(l,"px ").concat(r,";\n }\n body[").concat(tS,"] {\n overflow: hidden ").concat(r,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(r,";"),"margin"===n&&"\n padding-left: ".concat(o,"px;\n padding-top: ").concat(a,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(r,";\n "),"padding"===n&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),"\n }\n \n .").concat(ts," {\n right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(tc," {\n margin-right: ").concat(l,"px ").concat(r,";\n }\n \n .").concat(ts," .").concat(ts," {\n right: 0 ").concat(r,";\n }\n \n .").concat(tc," .").concat(tc," {\n margin-right: 0 ").concat(r,";\n }\n \n body[").concat(tS,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},tC=function(){var e=parseInt(document.body.getAttribute(tS)||"0",10);return isFinite(e)?e:0},tA=function(){w.useEffect(function(){return document.body.setAttribute(tS,(tC()+1).toString()),function(){var e=tC()-1;e<=0?document.body.removeAttribute(tS):document.body.setAttribute(tS,e.toString())}},[])},tR=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=void 0===r?"margin":r;tA();var a=w.useMemo(function(){return tj(o)},[o]);return w.createElement(tk,{styles:tN(a,!t,o,n?"":"!important")})},tO=!1;if("u">typeof window)try{var tP=Object.defineProperty({},"passive",{get:function(){return tO=!0,!0}});window.addEventListener("test",tP,tP),window.removeEventListener("test",tP,tP)}catch(e){tO=!1}var tM=!!tO&&{passive:!1},tD=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return"hidden"!==n[t]&&(n.overflowY!==n.overflowX||"TEXTAREA"===e.tagName||"visible"!==n[t])},tI=function(e,t){var n=t.ownerDocument,r=t;do{if("u">typeof ShadowRoot&&r instanceof ShadowRoot&&(r=r.host),tT(e,r)){var o=tL(e,r);if(o[1]>o[2])return!0}r=r.parentNode}while(r&&r!==n.body)return!1},tT=function(e,t){return"v"===e?tD(t,"overflowY"):tD(t,"overflowX")},tL=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},t_=function(e,t,n,r,o){var a,i=(a=window.getComputedStyle(t).direction,"h"===e&&"rtl"===a?-1:1),l=i*r,s=n.target,c=t.contains(s),u=!1,d=l>0,f=0,m=0;do{if(!s)break;var p=tL(e,s),h=p[0],v=p[1]-p[2]-i*h;(h||v)&&tT(e,s)&&(f+=v,m+=h);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s))return d&&(o&&1>Math.abs(f)||!o&&l>f)?u=!0:!d&&(o&&1>Math.abs(m)||!o&&-l>m)&&(u=!0),u},tF=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},tB=function(e){return[e.deltaX,e.deltaY]},t$=function(e){return e&&"current"in e?e.current:e},tz=0,tW=[];let tK=(i=function(e){var t=w.useRef([]),n=w.useRef([0,0]),r=w.useRef(),o=w.useState(tz++)[0],a=w.useState(tb)[0],i=w.useRef(e);w.useEffect(function(){i.current=e},[e]),w.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var t=(function(e,t,n){if(n||2==arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(t$),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=w.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var o,a=tF(e),l=n.current,s="deltaX"in e?e.deltaX:l[0]-a[0],c="deltaY"in e?e.deltaY:l[1]-a[1],u=e.target,d=Math.abs(s)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===d&&"range"===u.type)return!1;var f=window.getSelection(),m=f&&f.anchorNode;if(m&&(m===u||m.contains(u)))return!1;var p=tI(d,u);if(!p)return!0;if(p?o=d:(o="v"===d?"h":"v",p=tI(d,u)),!p)return!1;if(!r.current&&"changedTouches"in e&&(s||c)&&(r.current=o),!o)return!0;var h=r.current||o;return t_(h,t,e,"h"===h?s:c,!0)},[]),s=w.useCallback(function(e){if(tW.length&&tW[tW.length-1]===a){var n="deltaY"in e?tB(e):tF(e),r=t.current.filter(function(t){var r;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(r=t.delta,r[0]===n[0]&&r[1]===n[1])})[0];if(r&&r.should){e.cancelable&&e.preventDefault();return}if(!r){var o=(i.current.shards||[]).map(t$).filter(Boolean).filter(function(t){return t.contains(e.target)});(o.length>0?l(e,o[0]):!i.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=w.useCallback(function(e,n,r,o){var a={name:e,delta:n,target:r,should:o,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=w.useCallback(function(e){n.current=tF(e),r.current=void 0},[]),d=w.useCallback(function(t){c(t.type,tB(t),t.target,l(t,e.lockRef.current))},[]),f=w.useCallback(function(t){c(t.type,tF(t),t.target,l(t,e.lockRef.current))},[]);w.useEffect(function(){return tW.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener("wheel",s,tM),document.addEventListener("touchmove",s,tM),document.addEventListener("touchstart",u,tM),function(){tW=tW.filter(function(e){return e!==a}),document.removeEventListener("wheel",s,tM),document.removeEventListener("touchmove",s,tM),document.removeEventListener("touchstart",u,tM)}},[]);var m=e.removeScrollBar,p=e.inert;return w.createElement(w.Fragment,null,p?w.createElement(a,{styles:"\n .block-interactivity-".concat(o," {pointer-events: none;}\n .allow-interactivity-").concat(o," {pointer-events: all;}\n")}):null,m?w.createElement(tR,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},tm.useMedium(i),tv);var tU=w.forwardRef(function(e,t){return w.createElement(th,ti({},e,{ref:t,sideCar:tK}))});tU.classNames=th.classNames;var tV=new WeakMap,tq=new WeakMap,tH={},tX=0,tY=function(e){return e&&(e.host||tY(e.parentNode))},tG=function(e,t,n,r){var o=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var n=tY(e);return n&&t.contains(n)?n:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});tH[n]||(tH[n]=new WeakMap);var a=tH[n],i=[],l=new Set,s=new Set(o),c=function(e){!e||l.has(e)||(l.add(e),c(e.parentNode))};o.forEach(c);var u=function(e){!e||s.has(e)||Array.prototype.forEach.call(e.children,function(e){if(l.has(e))u(e);else try{var t=e.getAttribute(r),o=null!==t&&"false"!==t,s=(tV.get(e)||0)+1,c=(a.get(e)||0)+1;tV.set(e,s),a.set(e,c),i.push(e),1===s&&o&&tq.set(e,!0),1===c&&e.setAttribute(n,"true"),o||e.setAttribute(r,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return u(t),l.clear(),tX++,function(){i.forEach(function(e){var t=tV.get(e)-1,o=a.get(e)-1;tV.set(e,t),a.set(e,o),t||(tq.has(e)||e.removeAttribute(r),tq.delete(e)),o||e.removeAttribute(n)}),--tX||(tV=new WeakMap,tV=new WeakMap,tq=new WeakMap,tH={})}},tZ=function(e,t,n){void 0===n&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||("u"<typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),tG(r,o,n,"aria-hidden")):function(){return null}},tJ=Object.defineProperty,tQ=(e,t)=>tJ(e,"name",{value:t,configurable:!0}),t0="Dialog",[t1,t2]=W(t0),[t5,t3]=t1(t0),t6=tQ(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:o,onOpenChange:a,modal:i=!0}=e,l=w.useRef(null),s=w.useRef(null),[u,d]=en({prop:r,defaultProp:o??!1,onChange:a,caller:t0}),[f,m]=w.useState(0),[p,h]=w.useState(0);return(0,c.jsx)(t5,{scope:t,triggerRef:l,contentRef:s,contentId:X(),titleId:X(),descriptionId:X(),titlePresent:f>0,descriptionPresent:p>0,setTitleCount:m,setDescriptionCount:h,open:u,onOpenChange:d,onOpenToggle:w.useCallback(()=>d(e=>!e),[d]),modal:i,children:n})},"Dialog"),t9="DialogPortal",[t7,t8]=t1(t9,{forceMount:void 0}),t4=tQ(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:o}=e,a=t3(t9,t);return(0,c.jsx)(t7,{scope:t,forceMount:n,children:w.Children.map(r,e=>(0,c.jsx)(e3,{present:n||a.open,children:(0,c.jsx)(e0,{asChild:!0,container:o,children:e})}))})},"DialogPortal"),ne="DialogOverlay",nt=w.forwardRef(tQ(function(e,t){let n=t8(ne,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=t3(ne,e.__scopeDialog);return a.modal?(0,c.jsx)(e3,{present:r||a.open,children:(0,c.jsx)(nr,{...o,ref:t})}):null},"DialogOverlay")),nn=ec("DialogOverlay.RemoveScroll"),nr=w.forwardRef(tQ(function(e,t){let{__scopeDialog:n,...r}=e,o=t3(ne,n),a=B(t,eO());return(0,c.jsx)(tU,{as:nn,allowPinchZoom:!0,shards:[o.contentRef],children:(0,c.jsx)(eE.div,{"data-state":nc(o.open),...r,ref:a,style:{pointerEvents:"auto",...r.style}})})},"DialogOverlayImpl")),no="DialogContent",na=w.forwardRef(tQ(function(e,t){let n=t8(no,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=t3(no,e.__scopeDialog);return(0,c.jsx)(e3,{present:r||a.open,children:a.modal?(0,c.jsx)(ni,{...o,ref:t}):(0,c.jsx)(nl,{...o,ref:t})})},"DialogContent")),ni=w.forwardRef(tQ(function(e,t){let n=t3(no,e.__scopeDialog),r=w.useRef(null),o=B(t,n.contentRef,r);return w.useEffect(()=>{let e=r.current;if(e)return tZ(e)},[]),(0,c.jsx)(ns,{...e,ref:o,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:M(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:M(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:M(e.onFocusOutside,e=>e.preventDefault())})},"DialogContentModal")),nl=w.forwardRef(tQ(function(e,t){let n=t3(no,e.__scopeDialog),r=w.useRef(!1),o=w.useRef(!1);return(0,c.jsx)(ns,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,o.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,"pointerdown"===t.detail.originalEvent.type&&(o.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&o.current&&t.preventDefault()}})},"DialogContentNonModal")),ns=w.forwardRef(tQ(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:o,onCloseAutoFocus:a,...i}=e,l=t3(no,n);return to(),(0,c.jsx)(c.Fragment,{children:(0,c.jsx)(ez,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:o,onUnmountAutoFocus:a,children:(0,c.jsx)(eR,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionPresent?l.descriptionId:void 0,"aria-labelledby":l.titlePresent?l.titleId:void 0,"data-state":nc(l.open),...i,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1)})})})},"DialogContentImpl"));function nc(e){return e?"open":"closed"}tQ(nc,"getState");var nu='[cmdk-group=""]',nd='[cmdk-group-items=""]',nf='[cmdk-item=""]',nm=`${nf}:not([aria-disabled="true"])`,np="cmdk-item-select",nh="data-value",nv=(e,t,n)=>{var r;return r=e,function e(t,n,r,o,a,i,l){if(i===n.length)return a===t.length?1:.99;var s=`${a},${i}`;if(void 0!==l[s])return l[s];for(var c,u,d,f,m=o.charAt(i),p=r.indexOf(m,a),h=0;p>=0;)(c=e(t,n,r,o,p+1,i+1,l))>h&&(p===a?c*=1:k.test(t.charAt(p-1))?(c*=.8,(d=t.slice(a,p-1).match(S))&&a>0&&(c*=Math.pow(.999,d.length))):N.test(t.charAt(p-1))?(c*=.9,(f=t.slice(a,p-1).match(C))&&a>0&&(c*=Math.pow(.999,f.length))):(c*=.17,a>0&&(c*=Math.pow(.999,p-a))),t.charAt(p)!==n.charAt(i)&&(c*=.9999)),(c<.1&&r.charAt(p-1)===o.charAt(i+1)||o.charAt(i+1)===o.charAt(i)&&r.charAt(p-1)!==o.charAt(i))&&.1*(u=e(t,n,r,o,p+1,i+2,l))>c&&(c=.1*u),c>h&&(h=c),p=r.indexOf(m,p+1);return l[s]=h,h}(r=n&&n.length>0?`${r+" "+n.join(" ")}`:r,t,A(r),A(t),0,0,{})},ng=w.createContext(void 0),nx=w.createContext(void 0),nb=w.createContext(void 0),ny=w.forwardRef((e,t)=>{let n=nO(()=>{var t,n;return{search:"",value:null!=(n=null!=(t=e.value)?t:e.defaultValue)?n:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=nO(()=>new Set),o=nO(()=>new Map),a=nO(()=>new Map),i=nO(()=>new Set),l=nA(e),{label:s,children:c,value:u,onValueChange:d,filter:f,shouldFilter:m,loop:p,disablePointerSelection:h=!1,vimBindings:v=!0,...g}=e,x=X(),b=X(),y=X(),E=w.useRef(null),j=nD();nR(()=>{if(void 0!==u){let e=u.trim();n.current.value=e,k.emit()}},[u]),nR(()=>{j(6,O)},[]);let k=w.useMemo(()=>({subscribe:e=>(i.current.add(e),()=>i.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var o,a,i,s;if(!Object.is(n.current[e],t)){if(n.current[e]=t,"search"===e)R(),C(),j(1,A);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(y);e?e.focus():null==(o=document.getElementById(x))||o.focus()}if(j(7,()=>{var e;n.current.selectedItemId=null==(e=P())?void 0:e.id,k.emit()}),r||j(5,O),(null==(a=l.current)?void 0:a.value)!==void 0){null==(s=(i=l.current).onValueChange)||s.call(i,null!=t?t:"");return}}k.emit()}},emit:()=>{i.current.forEach(e=>e())}}),[]),S=w.useMemo(()=>({value:(e,t,r)=>{var o;t!==(null==(o=a.current.get(e))?void 0:o.value)&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,N(t,r)),j(2,()=>{C(),k.emit()}))},item:(e,t)=>(r.current.add(e),t&&(o.current.has(t)?o.current.get(t).add(e):o.current.set(t,new Set([e]))),j(3,()=>{R(),C(),n.current.value||A(),k.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=P();j(4,()=>{R(),(null==t?void 0:t.getAttribute("id"))===e&&A(),k.emit()})}),group:e=>(o.current.has(e)||o.current.set(e,new Set),()=>{a.current.delete(e),o.current.delete(e)}),filter:()=>l.current.shouldFilter,label:s||e["aria-label"],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:x,inputId:y,labelId:b,listInnerRef:E}),[]);function N(e,t){var r,o;let a=null!=(o=null==(r=l.current)?void 0:r.filter)?o:nv;return e?a(e,n.current.search,t):0}function C(){if(!n.current.search||!1===l.current.shouldFilter)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=o.current.get(n),a=0;r.forEach(t=>{a=Math.max(e.get(t),a)}),t.push([n,a])});let r=E.current;M().sort((t,n)=>{var r,o;let a=t.getAttribute("id"),i=n.getAttribute("id");return(null!=(r=e.get(i))?r:0)-(null!=(o=e.get(a))?o:0)}).forEach(e=>{let t=e.closest(nd);t?t.appendChild(e.parentElement===t?e:e.closest(`${nd} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${nd} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{var t;let n=null==(t=E.current)?void 0:t.querySelector(`${nu}[${nh}="${encodeURIComponent(e[0])}"]`);null==n||n.parentElement.appendChild(n)})}function A(){let e=M().find(e=>"true"!==e.getAttribute("aria-disabled")),t=null==e?void 0:e.getAttribute(nh);k.setState("value",t||void 0)}function R(){var e,t,i,s;if(!n.current.search||!1===l.current.shouldFilter){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let c=0;for(let o of r.current){let r=N(null!=(t=null==(e=a.current.get(o))?void 0:e.value)?t:"",null!=(s=null==(i=a.current.get(o))?void 0:i.keywords)?s:[]);n.current.filtered.items.set(o,r),r>0&&c++}for(let[e,t]of o.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=c}function O(){var e,t,n;let r=P();r&&((null==(e=r.parentElement)?void 0:e.firstChild)===r&&(null==(n=null==(t=r.closest(nu))?void 0:t.querySelector('[cmdk-group-heading=""]'))||n.scrollIntoView({block:"nearest"})),r.scrollIntoView({block:"nearest"}))}function P(){var e;return null==(e=E.current)?void 0:e.querySelector(`${nf}[aria-selected="true"]`)}function M(){var e;return Array.from((null==(e=E.current)?void 0:e.querySelectorAll(nm))||[])}function D(e){let t=M()[e];t&&k.setState("value",t.getAttribute(nh))}function I(e){var t;let n=P(),r=M(),o=r.findIndex(e=>e===n),a=r[o+e];null!=(t=l.current)&&t.loop&&(a=o+e<0?r[r.length-1]:o+e===r.length?r[0]:r[o+e]),a&&k.setState("value",a.getAttribute(nh))}function T(e){let t=P(),n=null==t?void 0:t.closest(nu),r;for(;n&&!r;)r=null==(n=e>0?function(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}(n,nu):function(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}(n,nu))?void 0:n.querySelector(nm);r?k.setState("value",r.getAttribute(nh)):I(e)}let L=()=>D(M().length-1),_=e=>{e.preventDefault(),e.metaKey?L():e.altKey?T(1):I(1)},F=e=>{e.preventDefault(),e.metaKey?D(0):e.altKey?T(-1):I(-1)};return w.createElement(eE.div,{ref:t,tabIndex:-1,...g,"cmdk-root":"",onKeyDown:e=>{var t;null==(t=g.onKeyDown)||t.call(g,e);let n=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||n))switch(e.key){case"n":case"j":v&&e.ctrlKey&&_(e);break;case"ArrowDown":_(e);break;case"p":case"k":v&&e.ctrlKey&&F(e);break;case"ArrowUp":F(e);break;case"Home":e.preventDefault(),D(0);break;case"End":e.preventDefault(),L();break;case"Enter":{e.preventDefault();let t=P();if(t){let e=new Event(np);t.dispatchEvent(e)}}}}},w.createElement("label",{"cmdk-label":"",htmlFor:S.inputId,id:S.labelId,style:nT},s),nI(e,e=>w.createElement(nx.Provider,{value:k},w.createElement(ng.Provider,{value:S},e))))}),nw=w.forwardRef((e,t)=>{var n,r;let o=X(),a=w.useRef(null),i=w.useContext(nb),l=w.useContext(ng),s=nA(e),c=null!=(r=null==(n=s.current)?void 0:n.forceMount)?r:null==i?void 0:i.forceMount;nR(()=>{if(!c)return l.item(o,null==i?void 0:i.id)},[c]);let u=nM(o,a,[e.value,e.children,a],e.keywords),d=w.useContext(nx),f=nP(e=>e.value&&e.value===u.current),m=nP(e=>!!c||!1===l.filter()||!e.search||e.filtered.items.get(o)>0);function p(){var e,t;h(),null==(t=(e=s.current).onSelect)||t.call(e,u.current)}function h(){d.setState("value",u.current,!0)}if(w.useEffect(()=>{let t=a.current;if(!(!t||e.disabled))return t.addEventListener(np,p),()=>t.removeEventListener(np,p)},[m,e.onSelect,e.disabled]),!m)return null;let{disabled:v,value:g,onSelect:x,forceMount:b,keywords:y,...E}=e;return w.createElement(eE.div,{ref:F(a,t),...E,id:o,"cmdk-item":"",role:"option","aria-disabled":!!v,"aria-selected":!!f,"data-disabled":!!v,"data-selected":!!f,onPointerMove:v||l.getDisablePointerSelection()?void 0:h,onClick:v?void 0:p},e.children)}),nE=w.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:o,...a}=e,i=X(),l=w.useRef(null),s=w.useRef(null),c=X(),u=w.useContext(ng),d=nP(e=>!!o||!1===u.filter()||!e.search||e.filtered.groups.has(i));nR(()=>u.group(i),[]),nM(i,l,[e.value,e.heading,s]);let f=w.useMemo(()=>({id:i,forceMount:o}),[o]);return w.createElement(eE.div,{ref:F(l,t),...a,"cmdk-group":"",role:"presentation",hidden:!d||void 0},n&&w.createElement("div",{ref:s,"cmdk-group-heading":"","aria-hidden":!0,id:c},n),nI(e,e=>w.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?c:void 0},w.createElement(nb.Provider,{value:f},e))))}),nj=w.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,o=w.useRef(null),a=nP(e=>!e.search);return n||a?w.createElement(eE.div,{ref:F(o,t),...r,"cmdk-separator":"",role:"separator"}):null}),nk=w.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,o=null!=e.value,a=w.useContext(nx),i=nP(e=>e.search),l=nP(e=>e.selectedItemId),s=w.useContext(ng);return w.useEffect(()=>{null!=e.value&&a.setState("search",e.value)},[e.value]),w.createElement(eE.input,{ref:t,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":s.listId,"aria-labelledby":s.labelId,"aria-activedescendant":l,id:s.inputId,type:"text",value:o?e.value:i,onChange:e=>{o||a.setState("search",e.target.value),null==n||n(e.target.value)}})}),nS=w.forwardRef((e,t)=>{let{children:n,label:r="Suggestions",...o}=e,a=w.useRef(null),i=w.useRef(null),l=nP(e=>e.selectedItemId),s=w.useContext(ng);return w.useEffect(()=>{if(i.current&&a.current){let e=i.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty("--cmdk-list-height",n.toFixed(1)+"px")})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),w.createElement(eE.div,{ref:F(a,t),...o,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":l,"aria-label":r,id:s.listId},nI(e,e=>w.createElement("div",{ref:F(i,s.listInnerRef),"cmdk-list-sizer":""},e)))}),nN=w.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:o,contentClassName:a,container:i,...l}=e;return w.createElement(t6,{open:n,onOpenChange:r},w.createElement(t4,{container:i},w.createElement(nt,{"cmdk-overlay":"",className:o}),w.createElement(na,{"aria-label":e.label,"cmdk-dialog":"",className:a},w.createElement(ny,{ref:t,...l}))))}),nC=Object.assign(ny,{List:nS,Item:nw,Input:nk,Group:nE,Separator:nj,Dialog:nN,Empty:w.forwardRef((e,t)=>nP(e=>0===e.filtered.count)?w.createElement(eE.div,{ref:t,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:w.forwardRef((e,t)=>{let{progress:n,children:r,label:o="Loading...",...a}=e;return w.createElement(eE.div,{ref:t,...a,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":o},nI(e,e=>w.createElement("div",{"aria-hidden":!0},e)))})});function nA(e){let t=w.useRef(e);return nR(()=>{t.current=e}),t}var nR="u"<typeof window?w.useEffect:w.useLayoutEffect;function nO(e){let t=w.useRef();return void 0===t.current&&(t.current=e()),t}function nP(e){let t=w.useContext(nx),n=()=>e(t.snapshot());return w.useSyncExternalStore(t.subscribe,n,n)}function nM(e,t,n,r=[]){let o=w.useRef(),a=w.useContext(ng);return nR(()=>{var i;let l=(()=>{var e;for(let t of n){if("string"==typeof t)return t.trim();if("object"==typeof t&&"current"in t)return t.current?null==(e=t.current.textContent)?void 0:e.trim():o.current}})(),s=r.map(e=>e.trim());a.value(e,l,s),null==(i=t.current)||i.setAttribute(nh,l),o.current=l}),o}var nD=()=>{let[e,t]=w.useState(),n=nO(()=>new Map);return nR(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function nI({asChild:e,children:t},n){let r;return e&&w.isValidElement(t)?w.cloneElement("function"==typeof(r=t.type)?r(t.props):"render"in r?r.render(t.props):t,{ref:t.ref},n(t.props.children)):n(t)}var nT={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},nL=e.i(593698),n_=e.i(630299),n_=n_;e.i(630374);var nF=e.i(225913),nB=e.i(23750),n$=e.i(184762),nz=e.i(647163);function nW({className:e,...t}){return(0,c.jsx)("div",{"data-slot":"input-group",role:"group",className:(0,nz.cn)("group/input-group relative flex h-8 w-full min-w-0 items-center rounded-lg border border-input transition-colors outline-none in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-3 has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot][aria-invalid=true]]:ring-3 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5",e),...t})}let nK=(0,nF.cva)("flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4",{variants:{align:{"inline-start":"order-first pl-2 has-[>button]:ml-[-0.3rem] has-[>kbd]:ml-[-0.15rem]","inline-end":"order-last pr-2 has-[>button]:mr-[-0.3rem] has-[>kbd]:mr-[-0.15rem]","block-start":"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2","block-end":"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"}},defaultVariants:{align:"inline-start"}});function nU({className:e,align:t="inline-start",...n}){return(0,c.jsx)("div",{role:"group","data-slot":"input-group-addon","data-align":t,className:(0,nz.cn)(nK({align:t}),e),onClick:e=>{e.target.closest("button")||e.currentTarget.parentElement?.querySelector("input")?.focus()},...n})}function nV({className:e,...t}){return(0,c.jsx)("span",{className:(0,nz.cn)("flex items-center gap-2 text-sm text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",e),...t})}function nq({className:e,...t}){return(0,c.jsx)(nB.Input,{"data-slot":"input-group-control",className:(0,nz.cn)("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent",e),...t})}function nH({className:e,...t}){return(0,c.jsx)(nC,{"data-slot":"command",className:(0,nz.cn)("flex size-full flex-col overflow-hidden rounded-xl! bg-popover p-1 text-popover-foreground",e),...t})}function nX({className:e,...t}){return(0,c.jsx)("div",{"data-slot":"command-input-wrapper",className:"p-1 pb-0",children:(0,c.jsxs)(nW,{className:"h-8! rounded-lg! border-input/30 bg-input/30 shadow-none! *:data-[slot=input-group-addon]:pl-2!",children:[(0,c.jsx)(nC.Input,{"data-slot":"command-input",className:(0,nz.cn)("w-full text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e),...t}),(0,c.jsx)(nU,{children:(0,c.jsx)(n_.default,{className:"size-4 shrink-0 opacity-50"})})]})})}function nY({className:e,...t}){return(0,c.jsx)(nC.List,{"data-slot":"command-list",className:(0,nz.cn)("no-scrollbar max-h-72 scroll-py-1 overflow-x-hidden overflow-y-auto outline-none",e),...t})}function nG({className:e,...t}){return(0,c.jsx)(nC.Empty,{"data-slot":"command-empty",className:(0,nz.cn)("py-6 text-center text-sm",e),...t})}function nZ({className:e,...t}){return(0,c.jsx)(nC.Group,{"data-slot":"command-group",className:(0,nz.cn)("overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",e),...t})}function nJ({className:e,children:t,...n}){return(0,c.jsxs)(nC.Item,{"data-slot":"command-item",className:(0,nz.cn)("group/command-item relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-selected:bg-muted data-selected:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-selected:*:[svg]:text-foreground",e),...n,children:[t,(0,c.jsx)(nL.CheckIcon,{className:"ml-auto opacity-0 group-has-data-[slot=command-shortcut]/command-item:hidden group-data-[checked=true]/command-item:opacity-100"})]})}(0,nF.cva)("flex items-center gap-2 text-sm shadow-none",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-3px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",sm:"","icon-xs":"size-6 rounded-[calc(var(--radius)-3px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});var nQ=e.i(917162),n0=e.i(660302),n1=e.i(671428),n2=e.i(319036),n5=e.i(41533),n3=e.i(146538),n6=e.i(265402),n9=e.i(95187);let n7=(0,n9.createServerReference)("7fa56dad6d8a2bc8e9fc327be0fad0827edc696eae",n9.callServer,void 0,n9.findSourceMapURL,"createBotAction");var n8=e.i(730281);let n4=(0,n9.createServerReference)("7f74ef3be000997b6c5ad71b82e000a986cfde753a",n9.callServer,void 0,n9.findSourceMapURL,"deleteBotAction"),re=(0,n9.createServerReference)("7fb8ea5c85b220f5ff05764cb61851edf3871e8663",n9.callServer,void 0,n9.findSourceMapURL,"setBotMemoryOnAction"),rt=(0,n9.createServerReference)("7fd5c4f6e679d30ce1d78bbf71c52bcd215ebfc1ac",n9.callServer,void 0,n9.findSourceMapURL,"updateBotAction");var rn=e.i(451888),rr=e.i(463625),ro=e.i(635963),ra=e.i(519029),ri=e.i(992112),rl=e.i(895836),rs=e.i(989409),rc=e.i(621285),ru=e.i(616172),rd=e.i(586930),rf=e.i(555085),rm=e.i(333999),rp=e.i(245629),rh=e.i(981203),rv=e.i(609856),rg=e.i(283653),rx=e.i(864723);let rb=" new";function ry({bot:e,job:t,active:n,onPick:r}){var o,a,i;let l=(o=t,a=e.lastJobAt,i=e.disabled,o?.status==="waiting"?{text:"waiting on you",shine:!0,amber:!0}:o?.status==="running"?{text:`working \xb7 ${o.label}`,shine:!0}:i?{text:"off"}:o?{text:`idle \xb7 last job ${rw(o.updatedAt)}`}:a?{text:`idle \xb7 last job ${rw(a)}`}:{text:"idle · no jobs yet"});return(0,c.jsxs)("button",{type:"button",onClick:r,className:(0,nz.cn)("mx-2 flex items-center gap-2.5 rounded-md px-2 py-2 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",n?"bg-secondary":"hover:bg-muted/60"),children:[(0,c.jsx)(ro.BotMark,{size:32,...rA(e.name,e.icon),state:t?.status==="running"?"thinking":"idle",notify:t?.status==="waiting",className:(0,nz.cn)("shrink-0",e.disabled&&"opacity-45")}),(0,c.jsxs)("span",{className:(0,nz.cn)("min-w-0 flex-1 space-y-0.5",e.disabled&&"opacity-45"),children:[(0,c.jsx)("span",{className:(0,nz.cn)("block truncate text-[13px]",n?"font-medium":"text-foreground/90"),children:e.name}),l.shine?(0,c.jsx)(n0.ShinyText,{text:l.text,tone:l.amber?"waiting":"muted",className:"block truncate font-mono text-[11px] leading-4"}):(0,c.jsx)("span",{className:"block truncate font-mono text-[11px] leading-4 text-muted-foreground",children:l.text})]})]})}function rw(e){let t=(0,rp.shortAgo)(e);return"now"===t?"just now":`${t} ago`}function rE(e,t,n){let[r,o]=(0,w.useState)(new Set),[a,i]=(0,rv.useServerAction)(n8.createSeedBotsAction,{onOk:e=>{(0,rg.revalidate)(E.queryKey.bot),n(e.created[0]??null)}}),{data:l}=(0,rg.useServerRoute)(E.queryKey.config),s=rr.BOT_SEEDS.filter(t=>!e.has(t.name)),c=s.filter(e=>!r.has(e.name));return{isSet:e=>(0,ri.isConfigSet)(l,e),adding:i,addable:s,wanted:c,ticked:t=>e.has(t.name)||!r.has(t.name),toggle:e=>o(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),submit:()=>a(c.map(e=>({name:e.name,color:t[rr.BOT_SEEDS.indexOf(e)]})))}}function rj({have:e,inks:t,picks:n}){return(0,c.jsx)("div",{className:"flex flex-col gap-2",children:rr.BOT_SEEDS.map((r,o)=>{var a;let i,l=e.has(r.name),s=n.ticked(r),d=(a=n.isSet,(i=(r.requires??[]).filter(e=>!a(ri.MEDIA_MODEL_KEYS[e]))).length?`needs ${i.map(ri.mediaModelWords).join(" and ")}`:null);return(0,c.jsx)("div",{className:(0,nz.cn)("rounded-xl ring-1 transition-colors",l?"opacity-45 ring-border/60":s?"ring-foreground":"ring-border/60"),children:(0,c.jsxs)("button",{type:"button",disabled:l||n.adding,"aria-pressed":s,onClick:()=>n.toggle(r.name),className:"flex w-full items-center gap-3 rounded-xl px-3.5 py-2.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-default",children:[(0,c.jsx)(ro.BotMark,{size:28,...rA(r.name,r.icon),color:t[o],className:(0,nz.cn)("shrink-0 transition-opacity",!s&&"opacity-35")}),(0,c.jsxs)("span",{className:"min-w-0 flex-1 space-y-px",children:[(0,c.jsx)("span",{className:"block text-[14px] leading-[18px] font-medium",children:r.name}),(0,c.jsx)("span",{className:"block truncate text-[12px] leading-[17px] text-muted-foreground",children:r.hint})]}),l?(0,c.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:"already added"}):d?(0,c.jsxs)("span",{className:(0,nz.cn)("flex shrink-0 items-center gap-1.5 font-mono text-[11px]",nz.WAITING_INK),children:[(0,c.jsx)(p,{className:"size-3"}),d]}):null,(0,c.jsx)("span",{className:(0,nz.cn)("grid size-5 shrink-0 place-items-center rounded-full transition-colors",s?"bg-foreground text-background":"ring-1 ring-border/60 ring-inset"),children:s&&(0,c.jsx)(u.Check,{className:"size-3"})})]})},r.name)})})}function rk({picks:e,onCancel:t}){return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(j.Button,{variant:"ghost",onClick:t,children:"Cancel"}),(0,c.jsxs)(j.Button,{loading:e.adding,disabled:0===e.wanted.length,onClick:e.submit,children:[(0,c.jsx)(g.Plus,{}),1===e.wanted.length?`Add ${e.wanted[0].name}`:`Add ${e.wanted.length} bots`]})]})}function rS({have:e,inks:t,onDone:n}){let r=rE(e,t,n);return(0,c.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,c.jsx)("div",{className:"flex h-11 shrink-0 items-center border-b border-border/60 px-4 font-mono text-[11px] text-muted-foreground",children:"Ready-made"}),(0,c.jsxs)("div",{className:"px-8 pt-7 pb-1",children:[(0,c.jsx)("h3",{className:"text-[17px] font-medium tracking-tight",children:"Bots you can add"}),(0,c.jsx)("p",{className:"mt-1.5 max-w-lg text-[13px] leading-relaxed text-muted-foreground break-keep",children:"Each one is a starting point — rename it, re-prompt it, give it a model of its own. What a bot needs before it can work stands on its row; until then it runs on the app default model."})]}),(0,c.jsx)("div",{className:"px-8 pt-4",children:(0,c.jsx)(rj,{have:e,inks:t,picks:r})}),(0,c.jsxs)("div",{className:"mt-auto flex items-center gap-3 border-t border-border/60 px-8 py-4",children:[(0,c.jsx)("span",{className:"flex-1 font-mono text-[11px] text-muted-foreground",children:0===r.wanted.length?"nothing ticked":`${r.wanted.length} of ${r.addable.length} ticked`}),(0,c.jsx)(rk,{picks:r,onCancel:()=>n(null)})]})]})}function rN({have:e,inks:t,onDone:n}){let r=rE(e,t,n);return(0,c.jsx)(rl.SettingDialogContent,{title:"Bots you can add",description:"Each one is a starting point — rename it, re-prompt it, give it a model of its own. What a bot needs before it can work stands on its row.",footer:(0,c.jsx)(rk,{picks:r,onCancel:()=>n(null)}),children:(0,c.jsx)(rj,{have:e,inks:t,picks:r})})}function rC({missing:e,inks:t,have:n,onDone:r}){return(0,c.jsxs)("button",{type:"button",title:"Ready-made bots","aria-label":`Ready-made bots, ${e.length} on offer`,onClick:()=>nQ.notify.component({className:"sm:max-w-xl",renderer:({close:e})=>(0,c.jsx)(rN,{have:n,inks:t,onDone:t=>{e(),r(t)}})}),className:"flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,c.jsx)(g.Plus,{className:"size-3 shrink-0"}),e.map((n,r)=>(0,c.jsx)("span",{className:(0,nz.cn)("block",r>0&&"-ml-1.5"),style:{zIndex:e.length-r},children:(0,c.jsx)(ro.BotMark,{size:20,...rA(n.name,n.icon),color:t[rr.BOT_SEEDS.indexOf(n)],notify:!1})},n.name))]})}function rA(e,t){return{seed:e||"bot",color:t?.color,shape:t?.shape,outline:t?.outline}}function rR({bot:e,jobs:t,onDone:n,onCancel:r}){let[o,a]=(0,rm.useObjectState)(()=>({name:e?.name??"",description:e?.description??"",systemPrompt:e?.systemPrompt??"",icon:e?.icon??(0,rn.randomBotIcon)(),provider:e?.provider??null,model:e?.model??"",compactAt:e?.compactAt?String(e.compactAt/1e3):"",toolIds:e?.tools.map(e=>e.id)??[]})),{name:i,description:l,systemPrompt:s,icon:u,provider:d,model:f,compactAt:m,toolIds:p}=o,[h,v]=(0,w.useState)(!!e?.compactAt),g=(0,rg.useServerRoute)(E.queryKey.modelCatalog),b=(e,t)=>e&&t.trim()?(0,n6.contextWindowOf)(e,t.trim(),g.data):null,y=b(d,f),k=d&&f.trim()?rT(y)/1e3:null,S=h?m:null===k?"":String(k),[N]=(0,rv.useServerAction)(rt,{onOk:()=>(0,rg.revalidate)(E.queryKey.bot)}),C=t=>{e&&N(e.name,t)},[A,R,,O]=(0,rv.useServerAction)(n7,{errorMessage:!1,okMessage:"Bot created",onOk:e=>{(0,rg.revalidate)(E.queryKey.bot),n(e.name)}}),[P,M]=(0,rv.useServerAction)(n4,{okMessage:"Bot deleted",onOk:()=>{(0,rg.revalidate)(E.queryKey.bot),n(null)}}),D=i.trim()&&l.trim()&&d&&f.trim()&&!R,I=async()=>{!e||await nQ.notify.confirm({title:`Delete ${e.name}?`,description:"The agent can no longer hand work to it.",okText:"Delete",destructive:!0})&&P(e.name)};return(0,c.jsxs)("div",{className:"flex min-h-full flex-col",children:[(0,c.jsxs)("div",{className:"flex h-11 shrink-0 items-center gap-2 border-b border-border/60 px-4",children:[(0,c.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-muted-foreground",children:e?e.name:"New bot"}),e&&(0,c.jsxs)(c.Fragment,{children:[e.disabled&&(0,c.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:"off"}),(0,c.jsx)(n2.Switch,{checked:!e.disabled,onCheckedChange:e=>C({disabled:!e}),"aria-label":`${e.name} on or off`,className:"mr-1 shrink-0"}),(0,c.jsx)(j.Button,{size:"icon-sm",variant:"ghost",loading:M,"aria-label":"Delete this bot",onClick:I,className:"text-muted-foreground hover:text-destructive",children:(0,c.jsx)(x.Trash2,{})})]})]}),(0,c.jsxs)("div",{className:"flex-1 space-y-5 p-6",children:[(0,c.jsx)(rF,{name:i,icon:u,onChange:e=>{a({icon:e}),C({icon:e})}}),(0,c.jsxs)(rL,{label:"Name",children:[e?(0,c.jsx)("p",{className:"truncate text-sm leading-8 font-medium",children:e.name}):(0,c.jsx)(nB.Input,{value:i,onChange:e=>a({name:e.target.value}),placeholder:"researcher",spellCheck:!1,maxLength:rh.COMMON_VALIDATE.name.max,autoFocus:!0}),(0,c.jsx)("p",{className:"text-xs text-muted-foreground",children:e?`What ${n5.APP_NAME} calls it when she hands it work. Fixed once the bot is made.`:`What ${n5.APP_NAME} calls it when she hands it work. Up to ${rh.COMMON_VALIDATE.name.max} characters, and it can’t be renamed later.`})]}),(0,c.jsxs)(rL,{label:"Description",children:[(0,c.jsx)(nB.Input,{value:l,onChange:e=>a({description:e.target.value}),onBlur:()=>{let t=l.trim();e&&t&&t!==e.description&&C({description:t})},placeholder:"Searches the web and answers",maxLength:rh.COMMON_VALIDATE.description.max}),(0,c.jsxs)("p",{className:"text-xs text-muted-foreground",children:["The one line ",n5.APP_NAME," and the other bots read when they decide who gets a job."]})]}),(0,c.jsx)(rL,{label:"Runs on",children:(0,c.jsx)(n3.ModelPicker,{provider:d,model:f,onChange:e=>{a({provider:e.provider,model:e.model}),v(!1),e.model&&C({...e,compactAt:rT(b(e.provider,e.model))})}})}),(0,c.jsxs)(rL,{label:"Compacts at",children:[(0,c.jsxs)(nW,{children:[(0,c.jsx)(nq,{inputMode:"decimal",value:S,placeholder:f.trim()?"":"Pick a model first",onChange:e=>{v(!0),a({compactAt:e.target.value})},onBlur:()=>{if(!h)return;let e=rI(m);null===e?v(!1):a({compactAt:String(e/1e3)}),C({compactAt:e??(f.trim()?rT(y):null)})}}),(0,c.jsx)(nU,{align:"inline-end",children:(0,c.jsx)(nV,{children:"k tokens"})})]}),(0,c.jsx)("p",{className:"text-xs text-muted-foreground",children:function(e){if(!e.model)return"Filled in from the model once one is picked.";let t=rT(e.window),n="A job summarizes itself here and carries on.";return null!==e.shown&&e.shown!==t?`Set by hand. Picking a model fills in its own again. ${n}`:e.window?`${Math.round(100*n5.BOT_RUN.compactHeadroom)}% of this model's ${(e.window/1e3).toLocaleString()}k context window. ${n}`:`This model's context window is unknown, so the default is filled in. ${n}`}({model:f.trim(),window:y,shown:rI(S)})})]}),(0,c.jsx)(rL,{label:"Tools",children:(0,c.jsx)(rB,{selected:p,onChange:e=>{a({toolIds:e}),C({toolIds:e})}})}),(0,c.jsxs)(rL,{label:"Prompt",children:[(0,c.jsx)(n$.Textarea,{value:s,onChange:e=>a({systemPrompt:e.target.value}),onBlur:()=>{let t=s.trim();e&&t!==(e.systemPrompt??"")&&C({systemPrompt:t})},placeholder:`How it should work (optional). e.g.
2
+ Search the web, answer with a short summary and links.`,maxLength:rh.COMMON_VALIDATE.prompt.max,className:"max-h-48 min-h-24 resize-none overflow-y-auto text-sm"}),s.length>0&&(0,c.jsxs)("p",{className:"text-right font-mono text-[10px] text-muted-foreground",children:[s.length,"/",rh.COMMON_VALIDATE.prompt.max]})]}),e&&(0,c.jsx)(rO,{bot:e.name}),e&&(0,c.jsx)(r_,{jobs:t}),!e&&(0,c.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1",children:[(0,c.jsx)(j.Button,{variant:"ghost",onClick:r,children:"Cancel"}),(0,c.jsx)(j.Button,{loading:R,disabled:!D,onClick:()=>{D&&d&&A({name:i.trim(),description:l.trim(),systemPrompt:s.trim()||void 0,icon:u,provider:d,model:f.trim(),compactAt:h?rI(m):rT(y),toolIds:p})},children:"Create"})]}),O&&(0,c.jsx)("p",{className:"font-mono text-xs text-destructive",children:O})]})]})}function rO({bot:e}){let t=E.queryKey.botMemoryFiles(e),{data:n,isLoading:r}=(0,rg.useServerRoute)(t),[o,a]=(0,w.useState)(null),[i]=(0,rv.useServerAction)(rf.openFileAction),[l,s]=(0,rv.useServerAction)(rd.deleteWorkspaceFileAction,{okMessage:"File deleted",onOk:()=>{a(null),(0,rg.revalidate)(t),(0,rg.revalidate)(E.queryKey.workspace)}}),u=async t=>{await nQ.notify.confirm({title:`Delete ${t.file}?`,description:`It is deleted from disk for good, and ${e}'s next job starts without it.`,okText:"Delete",destructive:!0})&&l(t.path)};return(0,c.jsxs)("div",{className:"pt-1",children:[(0,c.jsxs)("div",{className:"flex h-6 items-center",children:[(0,c.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:"Memory"}),(0,c.jsx)("span",{className:"flex-1"}),n&&n.total>0&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("span",{className:"pr-1 font-mono text-[11px] text-muted-foreground tabular-nums",children:1===n.total?"1 file":`${n.total} files`}),(0,c.jsxs)("button",{type:"button",title:"Show in the file manager",onClick:()=>i(n.folder),className:"flex items-center gap-1 rounded-md px-1.5 py-1 font-mono text-[11px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,c.jsx)(h.FolderOpen,{className:"size-3"}),"Folder"]})]})]}),r?(0,c.jsx)("div",{className:"flex h-9 items-center border-t border-border/60",children:(0,c.jsx)(n1.Skeleton,{className:"h-3 w-56"})}):n?.entries.length?n.entries.map(e=>{let t=o===e.path;return(0,c.jsxs)("div",{className:"border-t border-border/60",children:[(0,c.jsxs)("button",{type:"button","aria-expanded":t,onClick:()=>a(t?null:e.path),className:"flex h-9 w-full items-center gap-3 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,c.jsx)("span",{className:(0,nz.cn)("min-w-0 flex-1 truncate",t&&"font-medium"),children:e.line||e.file}),(0,c.jsx)("span",{className:"w-36 shrink-0 truncate font-mono text-[11px] text-muted-foreground",children:e.file}),(0,c.jsx)("span",{className:"w-28 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:(0,rp.whenOf)(e.at)}),(0,c.jsx)(d.ChevronRight,{className:(0,nz.cn)("size-3 shrink-0 text-muted-foreground transition-transform",t&&"rotate-90")})]}),t&&(0,c.jsxs)("div",{className:"flex items-start gap-3",children:[(0,c.jsx)("div",{className:"max-h-96 min-w-0 flex-1 overflow-y-auto",children:(0,c.jsx)(rP,{path:e.path})}),(0,c.jsx)(j.Button,{size:"icon-sm",variant:"ghost","aria-label":`Delete ${e.file}`,loading:s,onClick:()=>u(e),className:"text-muted-foreground hover:text-destructive",children:(0,c.jsx)(x.Trash2,{})})]})]},e.path)}):(0,c.jsx)("p",{className:"py-2 text-[13px] text-muted-foreground",children:"Nothing kept yet."})]})}function rP({path:e}){let{content:t,failure:n,truncated:r}=(0,rc.useFileText)(e);if(n)return(0,c.jsx)("p",{className:"pb-3 font-mono text-xs text-destructive",children:n});if(null===t)return(0,c.jsxs)("div",{className:"space-y-2 pb-3",children:[(0,c.jsx)(n1.Skeleton,{className:"h-4 w-5/6"}),(0,c.jsx)(n1.Skeleton,{className:"h-4 w-2/3"})]});let o=(0,ru.viewKindOf)(e);return(0,c.jsx)(rc.FileBody,{kind:o,content:"markdown"===o?rM(t):t,truncated:r,where:"inline"})}let rM=e=>e.replace(/^---\n[\s\S]*?\n---\n/,"").replace(/^\s*#[^\n]*\n?/,"");function rD({bot:e}){let{data:t,mutate:n}=(0,rg.useServerRoute)(E.queryKey.botMemory),[r]=(0,rv.useServerAction)(re,{onOk:()=>(0,rg.revalidate)(E.queryKey.botMemory)}),o=e?e.tokens.input+e.tokens.output:0;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(rl.SettingRailNote,{children:e?(0,c.jsxs)("span",{className:"font-mono text-[11px]",children:[e.name,e.disabled&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("span",{className:"px-1.5 opacity-50",children:"·"}),"off"]}),(0,c.jsx)("span",{className:"px-1.5 opacity-50",children:"·"}),(0,c.jsx)("span",{title:`in ${(0,nz.formatCount)(e.tokens.input)} \xb7 out ${(0,nz.formatCount)(e.tokens.output)}`,children:o>0?`${(0,nz.formatCount)(o)} tokens`:"no tokens yet"}),(0,c.jsx)("span",{className:"px-1.5 opacity-50",children:"·"}),"since ",(0,rp.whenOf)(e.createdAt)]}):"Becomes a bot once it has a name and a model"}),(0,c.jsx)("span",{className:"shrink-0 text-xs text-muted-foreground",children:"Bots keep their own memory"}),(0,c.jsx)(n2.Switch,{checked:t??!0,disabled:void 0===t,onCheckedChange:e=>{n(e,!1),r(e)},"aria-label":"Bots keep their own memory"})]})}function rI(e){let t=Number(e.replace(/[^0-9.]/g,""));return Number.isFinite(t)&&t>0?Math.round(1e3*t):null}let rT=e=>1e3*Math.round((0,n6.compactAtFor)(e)/1e3);function rL({label:e,children:t}){return(0,c.jsxs)("div",{className:"flex gap-3",children:[(0,c.jsx)("span",{className:"w-20 shrink-0 pt-2 font-mono text-xs text-muted-foreground",children:e}),(0,c.jsx)("div",{className:"min-w-0 flex-1 space-y-1.5",children:t})]})}function r_({jobs:e}){return(0,c.jsxs)("div",{className:"pt-1",children:[(0,c.jsxs)("div",{className:"flex h-6 items-center",children:[(0,c.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:"Recent"}),(0,c.jsx)("span",{className:"flex-1"}),(0,c.jsxs)("button",{type:"button",onClick:()=>(0,rs.openSettings)("tasks"),className:"flex items-center gap-1 rounded-md px-1.5 py-1 font-mono text-[11px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,c.jsx)(v.History,{className:"size-3"}),"History"]})]}),0===e.length?(0,c.jsx)("p",{className:"py-2 text-[13px] text-muted-foreground",children:"Nothing handed over yet."}):e.map(e=>{let t=function(e){switch(e.status){case"waiting":return{text:"waiting on you",tone:nz.WAITING_INK};case"running":return{text:"working",tone:"text-muted-foreground"};case"failed":return{text:"failed",tone:"text-destructive"};default:return{text:"done",tone:"text-muted-foreground"}}}(e);return(0,c.jsxs)("div",{className:"flex h-9 items-center gap-3 border-t border-border/60 text-[13px]",children:[(0,c.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.label}),"running"===e.status?(0,c.jsx)(n0.ShinyText,{text:t.text,className:"shrink-0 font-mono text-[11px]"}):(0,c.jsx)("span",{className:(0,nz.cn)("shrink-0 font-mono text-[11px]",t.tone),children:t.text}),(0,c.jsx)("span",{className:"w-28 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:(0,rp.whenOf)(e.updatedAt)})]},e.id)})]})}function rF({name:e,icon:t,onChange:n}){return(0,c.jsxs)("div",{className:"flex flex-col items-center gap-4 pt-3 pb-2",children:[(0,c.jsx)(ro.BotMark,{size:112,...rA(e,t),className:"shrink-0"}),(0,c.jsx)(ra.MarkPalette,{color:t.color,themePicked:t.color===rx.MARK_SYSTEM,onTheme:()=>n({...t,color:rx.MARK_SYSTEM}),onPick:e=>n({...t,color:t.color===e?void 0:e})}),(0,c.jsxs)("div",{className:"flex gap-1",children:[rx.MARK_SHAPES.map(e=>(0,c.jsx)("button",{type:"button",onClick:()=>n({...t,shape:t.shape===e?void 0:e}),className:(0,nz.cn)("rounded-md px-2 py-1 font-mono text-[11px] capitalize transition-colors",t.shape===e?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"),children:e},e)),(0,c.jsx)("span",{className:"mx-1 w-px self-stretch bg-border/60"}),(0,c.jsx)("button",{type:"button",onClick:()=>n({...t,outline:!t.outline||void 0}),className:(0,nz.cn)("rounded-md px-2 py-1 font-mono text-[11px] transition-colors",t.outline?"bg-foreground text-background":"bg-muted text-muted-foreground hover:text-foreground"),children:"outline"})]})]})}function rB({selected:e,onChange:t}){let{data:n=[]}=(0,rg.useServerRoute)(E.queryKey.mcpTools),[r,o]=(0,w.useState)(!1),a=e.length>=rn.MAX_PINNED_TOOLS,i=[...new Set(n.map(e=>e.serverName))],l=e.map(e=>n.find(t=>t.id===e)).filter(e=>!!e),s=r?l:l.slice(0,4),d=l.length-s.length,f=n=>t(e.includes(n)?e.filter(e=>e!==n):[...e,n]);return 0===n.length?(0,c.jsx)("p",{className:"pt-1.5 text-xs text-muted-foreground",children:"Nothing to pin — connect an MCP server first (Settings › Connectors)."}):(0,c.jsxs)("div",{className:"space-y-2",children:[(0,c.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,c.jsx)(j.Button,{size:"icon-sm",variant:r?"secondary":"outline",onClick:()=>o(!r),"aria-label":"Pick tools",className:"border-dashed",children:(0,c.jsx)(b.Wrench,{})}),s.map(e=>(0,c.jsxs)("span",{className:"flex items-center gap-1 rounded-full bg-muted py-1 pr-1.5 pl-2.5 font-mono text-[11px]",children:[e.name,(0,c.jsx)("button",{type:"button","aria-label":`Unpin ${e.name}`,onClick:()=>f(e.id),className:"rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-foreground/10 hover:text-foreground",children:(0,c.jsx)(y.X,{className:"size-3"})})]},e.id)),d>0&&(0,c.jsxs)("button",{type:"button",onClick:()=>o(!0),className:"rounded-full bg-muted px-2.5 py-1 font-mono text-[11px] text-muted-foreground transition-colors hover:text-foreground",children:["+",d]}),0===l.length&&(0,c.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loaded from the start — everything else stays searchable"}),(0,c.jsx)("span",{className:"flex-1"}),(0,c.jsxs)("span",{className:(0,nz.cn)("font-mono text-[11px] text-muted-foreground",a&&"text-foreground"),children:[e.length,"/",rn.MAX_PINNED_TOOLS]})]}),r&&(0,c.jsxs)(nH,{className:"rounded-lg border border-input",children:[(0,c.jsx)(nX,{placeholder:"Search tools"}),(0,c.jsxs)(nY,{className:"max-h-44",children:[(0,c.jsx)(nG,{children:"Nothing matches"}),i.map(t=>(0,c.jsx)(nZ,{heading:t,children:n.filter(e=>e.serverName===t).map(t=>{let n=e.includes(t.id);return(0,c.jsxs)(nJ,{value:`${t.serverName}/${t.name}`,disabled:!n&&a,onSelect:()=>f(t.id),children:[(0,c.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",children:t.name}),n&&(0,c.jsx)(u.Check,{className:"size-3.5 shrink-0"})]},t.id)})},t))]})]})]})}e.s(["BotSetting",0,function(){let{data:e,isLoading:t,error:n}=(0,rg.useServerRoute)(E.queryKey.bot),r=e??[],{data:o}=(0,rg.useServerRoute)(E.queryKey.taskHistory(null)),a=o??[],[i,l]=(0,w.useState)(null),[s]=(0,w.useState)(rr.rollSeedColors);if(t)return(0,c.jsx)(rl.SettingPanesSkeleton,{});if(n)return(0,c.jsx)(rl.SettingError,{message:n.message});let u=i===rb,d=r.filter(e=>!e.disabled).length,f=new Set(r.map(e=>e.name)),m=rr.BOT_SEEDS.filter(e=>!f.has(e.name)),p=u?null:r.find(e=>e.name===i)??r[0]??null;return(0,c.jsx)(rl.SettingPanes,{footer:0===r.length?null:(0,c.jsx)(rD,{bot:p}),left:(0,c.jsxs)("div",{className:"flex flex-col py-2",children:[(0,c.jsxs)("div",{className:"mx-2 mb-1 flex items-center gap-1",children:[(0,c.jsxs)("button",{type:"button",onClick:()=>l(rb),className:(0,nz.cn)("flex flex-1 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",u?"bg-secondary text-foreground":"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[(0,c.jsx)(g.Plus,{className:"size-3.5 shrink-0"}),"New bot"]}),r.length>0&&m.length>0&&(0,c.jsx)(rC,{missing:m,inks:s,have:f,onDone:e=>l(e)})]}),r.map(e=>(0,c.jsx)(ry,{bot:e,job:a.find(t=>t.bot===e.name)??null,active:!u&&e.name===p?.name,onPick:()=>l(e.name)},e.name)),d>n5.PROMPT_CROWDED.bots&&(0,c.jsxs)(rl.SettingNote,{className:"mx-3 mt-2 leading-relaxed",children:[d," bots are on. Each is a line in every prompt, and one more for Thursday to choose between."]})]}),right:u?(0,c.jsx)(rR,{jobs:[],onDone:e=>l(e),onCancel:()=>l(null)},"new"):p?(0,c.jsx)(rR,{bot:p,jobs:a.filter(e=>e.bot===p.name).slice(0,3),onDone:()=>l(null)},p.name):m.length>0?(0,c.jsx)(rS,{have:f,inks:s,onDone:e=>l(e)}):(0,c.jsxs)("div",{className:"space-y-4 p-8",children:[(0,c.jsx)("p",{className:"text-sm leading-relaxed text-muted-foreground",children:"The agent talks; bots do the rest — search the web, draft a reply, check a schedule. Give one a job and a model, and work gets handed over mid-call while the conversation keeps going."}),(0,c.jsxs)(j.Button,{variant:"outline",onClick:()=>l(rb),children:[(0,c.jsx)(g.Plus,{}),"New bot"]})]})})}],507906)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,519029,e=>{"use strict";var t=e.i(843476),n=e.i(647163);function s({color:e,picked:r,onPick:l}){return(0,t.jsx)("button",{type:"button",onClick:l,"aria-label":e??"Follow the theme",style:e?{backgroundColor:e}:void 0,className:(0,n.cn)("size-5 rounded-full outline-none transition-transform hover:scale-110 focus-visible:ring-3 focus-visible:ring-ring/50",!e&&"bg-foreground",r&&"ring-2 ring-foreground/40 ring-offset-2 ring-offset-background")})}var r=e.i(864723);e.s(["MarkPalette",0,function({color:e,themePicked:n,onTheme:l,onPick:a}){return(0,t.jsx)("div",{className:"flex justify-center px-2",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(s,{color:null,picked:n,onPick:l}),(0,t.jsx)("span",{className:"w-2"}),r.MARK_PALETTE_ROWS[0].map(n=>(0,t.jsx)(s,{color:n,picked:e===n,onPick:()=>a(n)},n))]}),(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-2 pl-11",children:r.MARK_PALETTE_ROWS[1].map(n=>(0,t.jsx)(s,{color:n,picked:e===n,onPick:()=>a(n)},n))})]})})}],519029)},59158,e=>{"use strict";var t=e.i(843476),n=e.i(689664),s=e.i(466787),r=e.i(271645),l=e.i(798120),a=e.i(167881),i=e.i(736185),o=e.i(23750),c=e.i(917162),d=e.i(421429),u=e.i(184762),h=e.i(41533),m=e.i(968978),x=e.i(265402),f=e.i(519029),p=e.i(864723),g=e.i(895836),v=e.i(867927),j=e.i(456420);let b={name:"phone",size:24,node:[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]]};b.node;let y=(0,j.default)(b);var k=e.i(759659),S=e.i(660302),N=e.i(671428),w=e.i(222055),C=e.i(245629),A=e.i(609856),E=e.i(661504),T=e.i(647163),R=e.i(95187);let _=(0,R.createServerReference)("7fa0f05df10fadbdbc32f656a9d5c05cd146302f7a",R.callServer,void 0,R.findSourceMapURL,"deleteCallAction"),I=(0,R.createServerReference)("7fe2a2ec036940cdf16482cfbd7aecf01f5571fe5a",R.callServer,void 0,R.findSourceMapURL,"deleteEndedCallsAction");var M=e.i(561540),K=e.i(256604);function O(){return(0,t.jsx)(g.SettingGroup,{label:"Transcripts",children:(0,t.jsx)(g.SettingItems,{children:(0,t.jsxs)("button",{type:"button",onClick:()=>c.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,t.jsx)(g.SettingDialogContent,{title:"Call history",description:"Everything said on the line, oldest at the top. Scroll up for older calls.",children:(0,t.jsx)(D,{})})}),className:"flex w-full items-center gap-3 p-4 text-left outline-none transition-colors hover:bg-muted/50 focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(y,{className:"size-4"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,t.jsx)(v.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})})})}let P={running:"working",waiting:"waiting on you",done:"done",failed:"failed"},z={running:"text-muted-foreground",waiting:T.WAITING_INK,done:"text-muted-foreground",failed:"text-destructive"},L="h-[min(34rem,58vh)] min-h-64 px-1";function D(){let{items:e,isLoading:n,isLoadingMore:s,error:i,hasMore:o,sentinelRef:d,refresh:u}=(0,E.useServerPages)({key:(e,t)=>{if(0===e)return l.queryKey.callHistory(null);let n=t?.at(-1);return n?l.queryKey.callHistory((0,C.toDate)(n.startedAt).toISOString()):null},size:h.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),m=(0,r.useMemo)(()=>[...e].reverse(),[e]),[x,f]=(0,A.useServerAction)(I,{okMessage:e=>1===e?"1 call deleted":`${e} calls deleted`,onOk:u}),p=async()=>{await c.notify.confirm({title:"Delete every call?",description:"Every turn of every call goes — and she stops reading any of it back into the next call. A call still on the line stays.",okText:"Delete all",destructive:!0})&&x()},v=(0,r.useRef)(null),j=(0,r.useRef)(!1),b=(0,r.useRef)(0);return((0,r.useLayoutEffect)(()=>{let e=v.current;e&&0!==m.length&&(j.current?e.scrollTop=e.scrollHeight-b.current:(j.current=!0,e.scrollTop=e.scrollHeight),b.current=e.scrollHeight-e.scrollTop)},[m]),n)?(0,t.jsx)("div",{className:(0,T.cn)(L,"overflow-hidden"),children:(0,t.jsx)(F,{})}):i?(0,t.jsx)(g.SettingError,{message:i.message}):(0,t.jsx)(t.Fragment,{children:0===m.length?(0,t.jsx)("p",{className:"px-1 text-sm leading-relaxed text-muted-foreground",children:"No calls yet. Everything said on the line is kept here — hers and yours, in the order it was said."}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{ref:v,onScroll:e=>{let t=e.currentTarget;b.current=t.scrollHeight-t.scrollTop},className:(0,T.cn)(L,"overflow-y-auto overscroll-contain pb-6"),children:[(0,t.jsx)(g.SettingMore,{hasMore:o,loading:s,sentinelRef:d,count:1,ghost:(0,t.jsx)(F,{})}),m.map((e,n)=>(0,t.jsx)($,{call:e,first:0===n,onDropped:u},e.id))]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsxs)(a.Button,{variant:"ghost",loading:f,onClick:p,className:"text-muted-foreground hover:text-destructive",children:[(0,t.jsx)(k.Trash2,{}),"Delete all"]})})]})})}function F(){return(0,t.jsxs)("div",{className:"pb-3",children:[(0,t.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,t.jsx)(N.Skeleton,{className:"h-3 w-24"}),(0,t.jsx)(N.Skeleton,{className:"h-3 w-10"})]}),(0,t.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(N.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,t.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,t.jsx)(N.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,t.jsx)(N.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let H=e=>"user"===e.role?"user":"her";function $({call:e,first:n,onDropped:s}){let[r,l]=(0,A.useServerAction)(_,{okMessage:"Call deleted",onOk:s}),i=(0,C.toDate)(e.startedAt),o=e.turns.at(-1),d=e.endedAt&&o?function(e,t){let n=Math.max(0,Math.round((t.getTime()-e.getTime())/1e3));if(n<60)return`${n}s`;let s=Math.floor(n/60);return s<60?`${s}m ${String(n%60).padStart(2,"0")}s`:`${Math.floor(s/60)}h ${String(s%60).padStart(2,"0")}m`}(i,(0,C.toDate)(o.at)):"on the line",u=async()=>{await c.notify.confirm({title:`Delete the call from ${(0,C.whenOf)(i)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&r(e.id)};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,T.cn)("group flex items-center gap-2.5",n?"mt-1":"mt-11"),children:[(0,t.jsx)("span",{title:`${e.provider} \xb7 ${e.model}`,className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,C.whenOf)(i)}),(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:d}),(0,t.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:e.endedAt&&(0,t.jsx)(a.Button,{size:"icon-sm",variant:"ghost",loading:l,"aria-label":"Delete this call",onClick:u,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,t.jsx)(k.Trash2,{})})})]}),(0,t.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(e){let t=[];for(let n of e){let e=t.at(-1);if(e&&"tool"===n.role&&"tool"===e.turn.role&&e.turn.tool===n.tool&&e.turn.text===n.text){e.repeats+=1;continue}t.push({turn:n,repeats:1})}return t})(e.turns).map(({turn:n,repeats:s},r,l)=>{var a,i;let o,c=l[r-1]?.turn,d=l[r+1]?.turn;return(0,t.jsx)(G,{turn:n,job:(a=e,i=n,(o=(0,M.delegatedLabel)(i.tool,i.text))?a.jobs.find(e=>e.label===o):void 0),repeats:s,opensRun:!c||H(c)!==H(n),closesRun:!d||H(d)!==H(n)},n.id)})]})}function G({turn:e,job:n,opensRun:s,closesRun:r,repeats:l=1}){return"tool"===e.role?(0,t.jsx)(V,{turn:e,job:n,repeats:l,opensRun:s}):"user"===e.role?(0,t.jsx)("div",{className:(0,T.cn)("flex justify-end",s?"mt-3":"mt-1"),children:(0,t.jsx)("p",{className:(0,T.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",r&&"rounded-br-sm"),children:e.text})}):(0,t.jsxs)("div",{className:(0,T.cn)("flex items-start gap-2",s?"mt-3":"mt-1"),children:[(0,t.jsx)(B,{face:s,className:"mt-0.5"}),(0,t.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep whitespace-pre-wrap",children:e.text})]})}function B({face:e,className:n}){return(0,t.jsx)("span",{className:(0,T.cn)("grid size-[18px] shrink-0 place-items-center",n),children:e&&(0,t.jsx)(K.ThursdayMark,{size:18})})}function V({turn:e,job:n,repeats:s,opensRun:r}){let l=e.tool??"",a=(0,w.toolIcon)(l),i=(0,M.toolLine)(l,e.text);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:(0,T.cn)("flex items-center gap-2",r?"mt-3":"mt-1.5"),children:[(0,t.jsx)(B,{face:r}),(0,t.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,t.jsx)(a,{className:"size-3 shrink-0"}),i&&(0,t.jsx)("span",{className:"truncate text-[11px] break-keep",children:i}),(0,t.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:l}),s>1&&(0,t.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",s]})]})]}),n&&(0,t.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===n.status?(0,t.jsx)(S.ShinyText,{text:P.running,className:"shrink-0 font-mono text-[10px]"}):(0,t.jsx)("span",{className:(0,T.cn)("shrink-0 font-mono text-[10px]",z[n.status]),children:P[n.status]}),n.outcome&&"running"!==n.status&&(0,t.jsx)("span",{className:"truncate text-muted-foreground",children:(0,T.plainText)(n.outcome)})]})]})}var W=e.i(333495),U=e.i(933916),q=e.i(762074);let Y=(0,R.createServerReference)("7f50cfd7d0e623e886552f9994a05a234251f6b400",R.callServer,void 0,R.findSourceMapURL,"resetHistoryAction"),X=(0,R.createServerReference)("7fb326617fb6fe0d74f20b79af1e912238def02960",R.callServer,void 0,R.findSourceMapURL,"setCallSkillsAction");var Z=e.i(671228),J=e.i(67045),Q=e.i(698570),ee=e.i(319841),et=e.i(981203),en=e.i(283653);function es(){let{data:e}=(0,en.useServerRoute)(l.queryKey.callSkills),[n]=(0,A.useServerAction)(X,{onOk:()=>(0,en.revalidate)(l.queryKey.callSkills)});return(0,t.jsx)(g.SettingGroup,{label:"Skills",children:(0,t.jsx)(g.SettingToggle,{label:"Read a skill herself",description:"A skill is how a thing is done here, written down. On, she opens one mid-call and follows it; off, only bots read them.",checked:e??!1,disabled:void 0===e,onChange:e=>n(e),children:(0,t.jsx)(er,{})})})}function er(){let{data:e}=(0,en.useServerRoute)(l.queryKey.skills);return e?(0,t.jsx)(g.SettingNote,{className:(0,T.cn)(!e.length&&T.WAITING_INK),children:e.length?`The same ${e.length} a bot reads. Each one she opens spends a page of the call on it.`:"Nothing installed yet — there is nothing for her to read."}):null}function el(){let[e,n]=(0,A.useServerAction)(Y,{okMessage:({calls:e,tasks:t,notes:n})=>`Wiped ${e} calls, ${t} jobs, ${n} notes`,onOk:()=>{(0,en.revalidate)(l.queryKey.memory),(0,en.revalidate)(l.queryKey.tasks),(0,en.revalidate)(l.queryKey.callHistory(null))}}),r=async()=>{await c.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay.",okText:"Reset",destructive:!0})&&e()};return(0,t.jsx)(g.SettingGroup,{label:"Danger zone",note:"Keys, bots and connectors stay.",children:(0,t.jsx)(g.SettingItems,{children:(0,t.jsxs)("div",{className:"flex items-center gap-3 p-4",children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,t.jsx)(s.TriangleAlert,{className:"size-4"})}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block text-sm font-medium",children:"Reset history"}),(0,t.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, every job and everything she remembers"})]}),(0,t.jsx)(a.Button,{variant:"outline",size:"sm",loading:n,onClick:r,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})})})}function ea({value:e,onChange:n}){let s=t=>n({...e,...t});return(0,t.jsx)(g.SettingGroup,{label:"Face",children:(0,t.jsxs)("div",{className:"space-y-5 py-2",children:[(0,t.jsxs)("div",{className:"flex flex-col items-center gap-4 pt-2",children:[(0,t.jsx)(W.Face,{look:e,size:176,className:"w-44"}),(0,t.jsx)(d.Segmented,{"aria-label":"Face",options:U.FACE_KINDS.map(e=>({value:e,label:W.FACES[e].label})),value:e.kind,onChange:e=>s({kind:e})}),(0,t.jsx)("p",{className:"max-w-sm text-center text-xs text-muted-foreground",children:W.FACES[e.kind].hint})]}),"mark"===e.kind&&(0,t.jsx)(f.MarkPalette,{color:e.color,themePicked:!e.color,onTheme:()=>s({color:void 0}),onPick:e=>s({color:e})}),"mark"===e.kind&&(0,t.jsx)(eo,{label:"Shape",children:(0,t.jsx)(d.Segmented,{"aria-label":"Shape",options:p.MARK_SHAPES.map(e=>({value:e,label:(0,t.jsx)("span",{className:"capitalize",children:e})})),value:e.shape??"blob",onChange:e=>s({shape:e})})}),"mark"===e.kind&&(0,t.jsx)(eo,{label:"Style",children:(0,t.jsx)(d.Segmented,{"aria-label":"Style",options:[{value:"solid",label:"Solid"},{value:"outline",label:"Outline"}],value:e.outline?"outline":"solid",onChange:e=>s({outline:"outline"===e||void 0})})}),"ascii"===e.kind&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(eo,{label:"Glyphs",children:(0,t.jsx)(d.Segmented,{"aria-label":"Glyphs",options:U.ASCII_CHARSETS.map(e=>({value:e,label:ei[e]})),value:e.charset,onChange:e=>s({charset:e})})}),(0,t.jsx)(eo,{label:"Size",children:(0,t.jsx)(ec,{min:h.ASCII_FACE.fontSize.min,max:h.ASCII_FACE.fontSize.max,step:1,value:e.fontSize,format:e=>`${e}px`,onChange:e=>s({fontSize:e})})}),(0,t.jsx)(eo,{label:"Density",children:(0,t.jsx)(ec,{min:h.ASCII_FACE.density.min,max:h.ASCII_FACE.density.max,step:.1,value:e.density,format:e=>`${e.toFixed(1)}x`,onChange:e=>s({density:e})})})]})]})})}let ei={ascii:"Characters",emoji:"Sprinkled",emojiOnly:"All emoji"};function eo({label:e,children:n}){return(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("span",{className:"w-16 shrink-0 font-mono text-[11px] text-muted-foreground",children:e}),n]})}function ec({value:e,onChange:n,format:s,...r}){return(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)("input",{type:"range",...r,value:e,onChange:e=>n(Number(e.target.value)),className:"min-w-0 flex-1 accent-foreground"}),(0,t.jsx)("span",{className:"w-10 shrink-0 text-right font-mono text-[11px] text-muted-foreground tabular-nums",children:s(e)})]})}function ed({provider:e,value:r,hasKey:l,onPick:a}){let o=!!r,c=r?.voice??e.defaultVoice,d=r?.model??"";return(0,t.jsxs)("div",{className:(0,T.cn)("p-4",o&&"bg-muted/40"),children:[(0,t.jsxs)("button",{type:"button",disabled:o,onClick:()=>a({voice:null,model:null}),className:"flex w-full items-center gap-3 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-default",children:[(0,t.jsx)(m.ProviderIcon,{provider:e.id,className:"size-4 shrink-0"}),(0,t.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,t.jsx)("span",{className:"block truncate text-sm font-medium",children:e.label}),(0,t.jsx)("span",{className:"block truncate font-mono text-xs text-muted-foreground",children:d||e.models[0].id})]}),l?o&&(0,t.jsx)(n.Check,{className:"size-4 shrink-0"}):(0,t.jsxs)("span",{className:"flex shrink-0 items-center gap-1 font-mono text-[11px] text-muted-foreground",children:[(0,t.jsx)(s.TriangleAlert,{className:"size-3"}),"No key"]})]}),o&&(0,t.jsxs)("div",{className:"space-y-3 pt-3",children:[(0,t.jsx)(i.Combobox,{value:d,onChange:e=>a({voice:r?.voice??null,model:e||null}),options:e.models.map(e=>({value:e.id,label:e.label,hint:e.id})),"aria-label":`${e.label} realtime model`,placeholder:e.models[0].id,empty:"Not on the list — it still runs"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.voices.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>a({voice:e,model:r?.model??null}),className:(0,T.cn)("rounded-full border px-2.5 py-1 font-mono text-[11px] transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50",e===c?"border-foreground/40 text-foreground":"border-border/60 text-muted-foreground hover:text-foreground"),children:e},e))})]})]})}let eu={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Last three turns",hint:"Hers on the left, yours on the right, beside the mark."}};function eh({value:e,onChange:n}){return(0,t.jsx)(g.SettingGroup,{label:"Calls you",note:"off"!==e&&"Needs this tab open. A tab that has been silent since it loaded may not be allowed to make a sound — the desktop notification covers that.",children:(0,t.jsx)(g.SettingChoiceRows,{options:Z.CALL_BACK_MODES.map(e=>({value:e,label:Z.CALL_BACK_LABEL[e],hint:em[e]})),value:e,onChange:n})})}let em={off:"Nothing opens a call but you.",waiting:"A job that stopped to ask gets her to ring you.",any:"Anything a bot finishes, she opens a line to tell you."};function ex({value:e,onChange:n}){return(0,t.jsx)(g.SettingGroup,{label:"Captions",children:(0,t.jsx)(g.SettingChoiceRows,{options:Z.CAPTION_VIEWS.map(e=>({value:e,label:eu[e].label,hint:eu[e].hint})),value:e,onChange:n})})}function ef({value:e,onChange:n}){let s=(0,Q.useDraft)(e.phrase,t=>n({...e,phrase:t}),{min:Z.WAKE_PHRASE.min}),r=s.value.trim().split(/\s+/).length<2;return(0,t.jsx)(g.SettingGroup,{label:"Wake",children:(0,t.jsx)(g.SettingToggle,{label:"Answer to her name",description:"Between calls, the browser listens for the phrase below and picks up when it hears it.",checked:e.enabled,onChange:t=>n({...e,enabled:t}),children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(o.Input,{value:s.value,maxLength:Z.WAKE_PHRASE.max,spellCheck:!1,onChange:e=>s.set(e.target.value),onBlur:s.commit,onKeyDown:s.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,t.jsx)(g.SettingNote,{children:r?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count."})]})})})}function ep({value:e,onChange:n}){let[s,l]=(0,r.useState)(!1),[a,i]=(0,r.useState)(!1),o=(0,ee.useHotkeyLabel)((0,ee.isCombo)(e.combo)?e.combo:null);return(0,t.jsx)(g.SettingGroup,{label:"Shortcut",children:(0,t.jsx)(g.SettingToggle,{label:"Answer to a key",description:"With this tab in front, the key below starts a call — and ends the one that is running.",checked:e.enabled,onChange:t=>n({...e,enabled:t}),children:(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)("button",{type:"button",...ee.HOTKEY_CAPTURE,onClick:()=>{i(!1),l(!0)},onBlur:()=>l(!1),onKeyDown:s?t=>{if("Tab"===t.key)return;if(t.preventDefault(),t.stopPropagation(),"Escape"===t.key)return l(!1);let s=(0,ee.comboOf)(t.nativeEvent);if(!s)return i(!0);i(!1),l(!1),n({...e,combo:s})}:void 0,className:(0,T.cn)("w-full rounded-lg border px-3 py-2 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",s?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:s?"Press the keys…":o??"Set a shortcut"}),(0,t.jsx)(g.SettingNote,{children:a?"Hold Ctrl, Alt or Cmd — a plain key is typing.":s?"Esc to keep the one you have.":"Only while this tab has focus. Not while you are typing."})]})})})}function eg({value:e,onSave:n}){let[s,l]=(0,r.useState)(e);return(0,t.jsx)(g.SettingGroup,{label:"Instructions",right:`${s.length}/${et.COMMON_VALIDATE.prompt.max}`,children:(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(u.Textarea,{value:s,maxLength:et.COMMON_VALIDATE.prompt.max,onChange:e=>l(e.target.value),placeholder:"Anything else she should know before the first word — how to address you, what to skip.",className:"min-h-28"}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(a.Button,{size:"sm",disabled:s===e,onClick:()=>n(s),children:"Save"})})]})})}e.s(["ThursdaySetting",0,function(){let e=(0,J.useThursdayStore)(),n=(0,J.useThursdayStore)(e=>e.patch),{data:s=[],isLoading:r,error:a}=(0,en.useServerRoute)(l.queryKey.llmModel),i=(0,q.useThursdayFace)();if(r)return(0,t.jsx)(g.SettingSkeleton,{rows:4});if(a)return(0,t.jsx)(g.SettingError,{message:a.message});let o=e.model?.provider??null;return(0,t.jsxs)(g.SettingScreen,{footer:(0,t.jsx)(g.SettingRailNote,{children:"Her prompt is assembled fresh on every call — memory, the roster and your skills go in."}),children:[(0,t.jsx)(ea,{value:i,onChange:q.setThursdayFace}),(0,t.jsx)(O,{}),(0,t.jsx)(g.SettingGroup,{label:"Voice",note:!o&&"Nothing picked — calls run on whichever key is set.",children:(0,t.jsx)(g.SettingItems,{children:x.SPEACH_MODEL_PROVIDER_LIST.map(r=>{let l;return(0,t.jsx)(ed,{provider:r,value:o===r.id?e.model:null,hasKey:(l=r.apiKeyName,s.some(e=>e.apiKeyName===l&&e.hasKey)),onPick:e=>n({model:{provider:r.id,...e}})},r.id)})})}),(0,t.jsx)(ex,{value:e.captionView,onChange:e=>n({captionView:e})}),(0,t.jsx)(ef,{value:e.wake,onChange:e=>n({wake:e})}),(0,t.jsx)(eh,{value:e.callBack,onChange:e=>n({callBack:e})}),(0,t.jsx)(ep,{value:e.hotkey,onChange:e=>n({hotkey:e})}),(0,t.jsx)(es,{}),(0,t.jsx)(eg,{value:e.systemPrompt??"",onSave:e=>n({systemPrompt:e})}),(0,t.jsx)(el,{})]})}],59158)},698570,e=>{"use strict";var t=e.i(271645);e.s(["useDraft",0,function(e,n,{min:s=1}={}){let[r,l]=(0,t.useState)(e),[a,i]=(0,t.useState)(e);return e!==a&&(i(e),l(e)),{value:r,set:l,commit:()=>{let t=r.trim();if(t.length<s)return l(e);l(t),t!==e&&n(t)},onKeyDown:e=>{"Enter"!==e.key||e.nativeEvent.isComposing||e.currentTarget.blur()}}}])},661504,e=>{"use strict";var t=e.i(271645),n=e.i(699018),s=e.i(677309),r=e.i(271235),l=e.i(802239),a=e.i(646192);let i=Promise.resolve(),o=(0,r.withMiddleware)(n.u,e=>(n,r,o)=>{let c,d=(0,t.useRef)(!1),{cache:u,initialSize:h=1,revalidateAll:m=!1,persistSize:x=!1,revalidateFirstPage:f=!0,revalidateOnMount:p=!1,parallel:g=!1}=o,[,,,v]=s.a.get(s.o);try{(c=(0,s.s)(n?n(0,null):null)[0])&&(c=a.INFINITE_PREFIX+c)}catch(e){}let[j,b,y]=(0,s.c)(u,c),k=(0,t.useCallback)(()=>(0,s.i)(j()._l)?h:j()._l,[u,c,h]);(0,l.useSyncExternalStore)((0,t.useCallback)(e=>c?y(c,()=>{e()}):()=>{},[u,c]),k,k);let S=(0,t.useCallback)(()=>{let e=j()._l;return(0,s.i)(e)?h:e},[c,h]),N=(0,t.useRef)(S());(0,s.u)(()=>{if(!d.current){d.current=!0;return}c&&b({_l:x?N.current:S()})},[c,u]);let w=p&&!d.current,C=e(c,async e=>{let t=j()._i,l=j()._r,a=s.a.get(u),i=a[8],c=()=>a[8]!==i;b({_r:s.U});let d=[],h=S(),[x]=(0,s.c)(u,e),p=x().data,y=[],k=null;for(let e=0;e<h;++e){let[a,i]=(0,s.s)(n(e,g?null:k));if(!a)break;let[h,x]=(0,s.c)(u,a),j=h().data,b=m||t||(0,s.i)(j)||f&&!e&&!(0,s.i)(p)||w||p&&!(0,s.i)(p[e])&&!o.compare(p[e],j);if(r&&("function"==typeof l?l(j,i):b)){let t=async()=>{if(a in v){let e=v[a];delete v[a],j=await e}else j=await r(i);c()||x({data:j,_k:i}),d[e]=j};g?y.push(t):await t()}else d[e]=j;g||(k=j)}return g&&await Promise.all(y.map(e=>e())),c()||b({_i:s.U}),d},o),A=(0,t.useCallback)(function(e,t){let n="boolean"==typeof t?{revalidate:t}:t||{},r=!1!==n.revalidate;return c?(r&&((0,s.i)(e)?b({_i:!0,_r:n.revalidate}):b({_i:!1,_r:n.revalidate})),arguments.length?C.mutate(e,{...n,revalidate:r}):C.mutate()):i},[c,u]),E=(0,t.useCallback)(e=>{let t;if(!c)return i;let[,r]=(0,s.c)(u,c);if((0,s.e)(e)?t=e(S()):"number"==typeof e&&(t=e),"number"!=typeof t)return i;r({_l:t}),N.current=t;let l=[],[a]=(0,s.c)(u,c),o=null;for(let e=0;e<t;++e){let[t]=(0,s.s)(n(e,o)),[r]=(0,s.c)(u,t),i=t?r().data:s.U;if((0,s.i)(i))return A(a().data);l.push(i),o=i}return A(l)},[c,u,A,S]);return{size:S(),setSize:E,mutate:A,get data(){return C.data},get error(){return C.error},get isValidating(){return C.isValidating},get isLoading(){return C.isLoading}}});var c=e.i(41533),d=e.i(283653);e.s(["useServerPages",0,function(e){let n=e.size??c.PAGE_SIZE,{key:s}=e,{data:r,error:l,isLoading:a,isValidating:i,setSize:u,mutate:h}=o((e,t)=>(0,d.resolveKey)(s(e,t)),d.fetchRoute,{dedupingInterval:500,revalidateOnMount:!0,revalidateOnFocus:!0,revalidateOnReconnect:!0,focusThrottleInterval:1e3,revalidateFirstPage:!1,...e.swr}),m=r??[],x=m.flat(),f=m.at(-1),p=void 0!==f&&f.length>=n,g=(0,t.useRef)(0),v=i&&m.length>0&&g.current>m.length,j=(0,t.useRef)({isValidating:i,setSize:u,pages:m.length});j.current={isValidating:i,setSize:u,pages:m.length};let b=(0,d.resolveKey)(s(0,null)),y="string"==typeof b?b:b?.url;(0,t.useEffect)(()=>{if(y)return(0,d.registerPagedReader)({url:y,refresh:()=>h()})},[y,h]);let k=function(e,n={}){let{enabled:s=!0,margin:r="600px",revision:l}=n,a=(0,t.useRef)(e);a.current=e;let i=(0,t.useRef)(null),o=(0,t.useRef)(null),c=(0,t.useCallback)(e=>{i.current=e},[]);return(0,t.useEffect)(()=>{o.current?.disconnect();let e=i.current;if(e&&s)return o.current=new IntersectionObserver(([e])=>{e.isIntersecting&&a.current()},{root:function(e){let t=e.parentElement;for(;t;){let{overflowY:e}=getComputedStyle(t);if(("auto"===e||"scroll"===e)&&t.scrollHeight>t.clientHeight)return t;t=t.parentElement}return null}(e),rootMargin:r}),o.current.observe(e),()=>o.current?.disconnect()},[s,r,l]),c}(()=>{let e=j.current;e.isValidating||(g.current=e.pages+1,e.setSize(e.pages+1))},{enabled:p,revision:`${m.length}:${i}`});return{items:x,isLoading:a,isLoadingMore:v,error:l,hasMore:p,sentinelRef:k,refresh:()=>h()}}],661504)},759659,e=>{"use strict";var t=e.i(456420);let n={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};n.node;let s=(0,t.default)(n);e.s(["Trash2",0,s],759659)},466787,e=>{"use strict";var t=e.i(755566);e.s(["TriangleAlert",()=>t.default])}]);