thursday-agent 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (455) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +4 -4
  4. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  5. package/.next/server/app/_global-error.html +1 -1
  6. package/.next/server/app/_global-error.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_not-found.html +1 -1
  13. package/.next/server/app/_not-found.rsc +12 -12
  14. package/.next/server/app/_not-found.segments/_full.segment.rsc +12 -12
  15. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +11 -11
  16. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  17. package/.next/server/app/api/artifact/route.js +6 -6
  18. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  19. package/.next/server/app/api/bot/memory/files/route.js +5 -4
  20. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/memory/route.js +9 -9
  22. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bot/route.js +9 -9
  24. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bot/thread/[id]/route.js +2 -2
  26. package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
  27. package/.next/server/app/api/bot/thread/file/route.js +12 -12
  28. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
  29. package/.next/server/app/api/bot/thread/route.js +2 -2
  30. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  31. package/.next/server/app/api/config/route.js +2 -2
  32. package/.next/server/app/api/config/route.js.nft.json +1 -1
  33. package/.next/server/app/api/events/route.js.nft.json +1 -1
  34. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/file/[...path]/route.js +3 -3
  36. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  38. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
  39. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  41. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  42. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  43. package/.next/server/app/api/mcp/oauth/callback/route.js +2 -2
  44. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  45. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  46. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  47. package/.next/server/app/api/memory/edit/route.js +13 -13
  48. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  49. package/.next/server/app/api/memory/route.js +1 -1
  50. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  51. package/.next/server/app/api/reach/route.js +11 -11
  52. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  53. package/.next/server/app/api/routine/route.js +9 -9
  54. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  55. package/.next/server/app/api/running/route.js.nft.json +1 -1
  56. package/.next/server/app/api/signins/route.js +7 -6
  57. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  58. package/.next/server/app/api/skills/[source]/[name]/route.js +8 -8
  59. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  60. package/.next/server/app/api/skills/route.js +8 -8
  61. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  62. package/.next/server/app/api/thursday/call/end/route.js +6 -6
  63. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  64. package/.next/server/app/api/thursday/call/plan/route.js +16 -16
  65. package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
  66. package/.next/server/app/api/thursday/call/route.js +6 -6
  67. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  68. package/.next/server/app/api/thursday/settings/route.js +6 -6
  69. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  70. package/.next/server/app/api/thursday/text/route.js +16 -16
  71. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  72. package/.next/server/app/api/thursday/tool-call/route.js +10 -10
  73. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  74. package/.next/server/app/api/workspace/files/route.js +1 -1
  75. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  76. package/.next/server/app/api/workspace/route.js +1 -1
  77. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  78. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
  79. package/.next/server/app/artifact/[...path]/page.js +5 -5
  80. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  81. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  82. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  83. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  84. package/.next/server/app/page/react-loadable-manifest.json +2 -2
  85. package/.next/server/app/page/server-reference-manifest.json +162 -162
  86. package/.next/server/app/page.js +7 -7
  87. package/.next/server/app/page.js.nft.json +1 -1
  88. package/.next/server/app/page_client-reference-manifest.js +1 -1
  89. package/.next/server/chunks/[root-of-the-server]__019e1fy._.js +2 -2
  90. package/.next/server/chunks/[root-of-the-server]__01jpmcj._.js +2 -2
  91. package/.next/server/chunks/[root-of-the-server]__03bjojd._.js +2 -2
  92. package/.next/server/chunks/[root-of-the-server]__03vunn6._.js +1 -1
  93. package/.next/server/chunks/[root-of-the-server]__06kxzw-._.js +2 -2
  94. package/.next/server/chunks/[root-of-the-server]__0atwstu._.js +1 -1
  95. package/.next/server/chunks/{[root-of-the-server]__005onk_._.js → [root-of-the-server]__0cfv4rq._.js} +1 -1
  96. package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +1 -1
  97. package/.next/server/chunks/{[root-of-the-server]__1-i6lgn._.js → [root-of-the-server]__0d00o4_._.js} +1 -1
  98. package/.next/server/chunks/{[root-of-the-server]__0itmdqy._.js → [root-of-the-server]__0e8y4ok._.js} +1 -1
  99. package/.next/server/chunks/{[root-of-the-server]__1tyftcr._.js → [root-of-the-server]__0eem_66._.js} +1 -1
  100. package/.next/server/chunks/{[root-of-the-server]__0xn7a8p._.js → [root-of-the-server]__0jn2qbf._.js} +1 -1
  101. package/.next/server/chunks/{[root-of-the-server]__08922kg._.js → [root-of-the-server]__0l563r8._.js} +1 -1
  102. package/.next/server/chunks/[root-of-the-server]__0mh1tgg._.js +1 -1
  103. package/.next/server/chunks/[root-of-the-server]__0mq0qmk._.js +3 -0
  104. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  105. package/.next/server/chunks/{[root-of-the-server]__1a7rgvy._.js → [root-of-the-server]__0pp2355._.js} +1 -1
  106. package/.next/server/chunks/{[root-of-the-server]__1g08s7l._.js → [root-of-the-server]__0r77huw._.js} +2 -2
  107. package/.next/server/chunks/[root-of-the-server]__10_v9ml._.js +3 -0
  108. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
  109. package/.next/server/chunks/[root-of-the-server]__1478lu3._.js +1 -1
  110. package/.next/server/chunks/[root-of-the-server]__16xao_p._.js +5 -0
  111. package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +2 -2
  112. package/.next/server/chunks/[root-of-the-server]__17m7ag9._.js +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__17yv6lg._.js +5 -0
  114. package/.next/server/chunks/[root-of-the-server]__19aqyg-._.js +1 -1
  115. package/.next/server/chunks/[root-of-the-server]__19imprr._.js +3 -0
  116. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  117. package/.next/server/chunks/[root-of-the-server]__1ceammd._.js +1 -1
  118. package/.next/server/chunks/[root-of-the-server]__1fhule0._.js +3 -0
  119. package/.next/server/chunks/[root-of-the-server]__1hing45._.js +3 -0
  120. package/.next/server/chunks/{[root-of-the-server]__0mttntm._.js → [root-of-the-server]__1ivfglf._.js} +1 -1
  121. package/.next/server/chunks/[root-of-the-server]__1jcu_e9._.js +5 -0
  122. package/.next/server/chunks/{[root-of-the-server]__0m0qglo._.js → [root-of-the-server]__1kb-dkn._.js} +2 -2
  123. package/.next/server/chunks/{[root-of-the-server]__0eluax8._.js → [root-of-the-server]__1mowvzz._.js} +1 -1
  124. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  125. package/.next/server/chunks/[root-of-the-server]__1o7z93z._.js +1 -1
  126. package/.next/server/chunks/[root-of-the-server]__1onvx8x._.js +1 -1
  127. package/.next/server/chunks/[root-of-the-server]__1q_d6dj._.js +3 -0
  128. package/.next/server/chunks/[root-of-the-server]__1u_6dhy._.js +1 -1
  129. package/.next/server/chunks/{[root-of-the-server]__1_wtn0q._.js → [root-of-the-server]__1yiqjfx._.js} +1 -1
  130. package/.next/server/chunks/[root-of-the-server]__1yr_vvq._.js +3 -0
  131. package/.next/server/chunks/_0-mqt2w._.js +3 -0
  132. package/.next/server/chunks/_0-qt5if._.js +1 -1
  133. package/.next/server/chunks/{_0fau3ya._.js → _00aztuo._.js} +2 -2
  134. package/.next/server/chunks/_021kabv._.js +53 -0
  135. package/.next/server/chunks/_032k4m6._.js +3 -0
  136. package/.next/server/chunks/_03p6r2-._.js +1 -1
  137. package/.next/server/chunks/_06b5b4-._.js +2 -2
  138. package/.next/server/chunks/_06u9yo-._.js +1 -1
  139. package/.next/server/chunks/_07mczew._.js +3 -0
  140. package/.next/server/chunks/_07pkeds._.js +1 -1
  141. package/.next/server/chunks/_08354bn._.js +22 -22
  142. package/.next/server/chunks/_083t_nr._.js +5 -0
  143. package/.next/server/chunks/_0c-s0ei._.js +3 -0
  144. package/.next/server/chunks/_0cq69mm._.js +1 -1
  145. package/.next/server/chunks/_0gifi_2._.js +7 -0
  146. package/.next/server/chunks/_0gxz_1b._.js +1 -1
  147. package/.next/server/chunks/{_1tjwvoz._.js → _0la8s6t._.js} +2 -2
  148. package/.next/server/chunks/_0p27in2._.js +1 -1
  149. package/.next/server/chunks/{_09rtyfn._.js → _0rn3c_0._.js} +24 -26
  150. package/.next/server/chunks/_0ue8nq-._.js +5 -1
  151. package/.next/server/chunks/{_1uu4wjr._.js → _0wkhub3._.js} +2 -2
  152. package/.next/server/chunks/_0wyh244._.js +22 -22
  153. package/.next/server/chunks/_0ynjnhl._.js +5 -0
  154. package/.next/server/chunks/_1-wp0r0._.js +1 -1
  155. package/.next/server/chunks/{_201k0ah._.js → _12-7atf._.js} +2 -2
  156. package/.next/server/chunks/{_02mn8d7._.js → _124q1p2._.js} +2 -2
  157. package/.next/server/chunks/{_14xuq46._.js → _13qoxq9._.js} +24 -26
  158. package/.next/server/chunks/{_11y8h29._.js → _15-_mie._.js} +2 -2
  159. package/.next/server/chunks/_1823_7a._.js +1 -1
  160. package/.next/server/chunks/{_0uir6hb._.js → _186uku9._.js} +2 -2
  161. package/.next/server/chunks/{_0ggqpiz._.js → _18sj4xf._.js} +2 -2
  162. package/.next/server/chunks/_19kea1l._.js +12 -12
  163. package/.next/server/chunks/_1ac33qw._.js +2 -2
  164. package/.next/server/chunks/{_18z965x._.js → _1chy-lk._.js} +2 -2
  165. package/.next/server/chunks/_1cw6-rv._.js +1 -1
  166. package/.next/server/chunks/_1evvnbp._.js +1 -1
  167. package/.next/server/chunks/_1f_x75d._.js +3 -0
  168. package/.next/server/chunks/_1gn2r2q._.js +7 -9
  169. package/.next/server/chunks/_1icgbi8._.js +1 -1
  170. package/.next/server/chunks/{_1ozcb6o._.js → _1k6bmez._.js} +2 -2
  171. package/.next/server/chunks/_1ko5shz._.js +1 -1
  172. package/.next/server/chunks/_1ksyu6r._.js +1 -1
  173. package/.next/server/chunks/_1kwmzab._.js +3 -0
  174. package/.next/server/chunks/_1lg0lsu._.js +1 -1
  175. package/.next/server/chunks/_1pv6xbq._.js +5 -0
  176. package/.next/server/chunks/_1q42187._.js +2 -2
  177. package/.next/server/chunks/_1q6e56i._.js +7 -9
  178. package/.next/server/chunks/_1t43w6q._.js +1 -1
  179. package/.next/server/chunks/_1t8fv7b._.js +1 -1
  180. package/.next/server/chunks/_1ufbxe1._.js +1 -1
  181. package/.next/server/chunks/_1wgae1c._.js +1 -1
  182. package/.next/server/chunks/_1xps4ob._.js +1 -1
  183. package/.next/server/chunks/_1znrlca._.js +3 -0
  184. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  185. package/.next/server/chunks/features_14kex_m._.js +11 -11
  186. package/.next/server/chunks/features_bot_08z387_._.js +2 -2
  187. package/.next/server/chunks/features_bot_1d6ghh5._.js +41 -0
  188. package/.next/server/chunks/features_bot_1dfrdsb._.js +10 -6
  189. package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0yd5xa0._.js → node_modules_consola_dist_chunks_prompt_mjs_0k--vqs._.js} +1 -1
  190. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ufuc3s._.js +3 -0
  191. package/.next/server/chunks/ssr/[root-of-the-server]__05qiosr._.js +3 -0
  192. package/.next/server/chunks/ssr/[root-of-the-server]__0y03pu0._.js +3 -0
  193. package/.next/server/chunks/ssr/[root-of-the-server]__0zt_au4._.js +3 -0
  194. package/.next/server/chunks/ssr/{[root-of-the-server]__0eloa6y._.js → [root-of-the-server]__17yeveo._.js} +5 -5
  195. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  196. package/.next/server/chunks/ssr/[root-of-the-server]__1t38-p_._.js +3 -0
  197. package/.next/server/chunks/ssr/[root-of-the-server]__1u42eh0._.js +3 -0
  198. package/.next/server/chunks/ssr/[root-of-the-server]__203utm3._.js +1 -1
  199. package/.next/server/chunks/ssr/{_0xurp8n._.js → _0-s7ria._.js} +2 -2
  200. package/.next/server/chunks/ssr/_03vw3u5._.js +3 -0
  201. package/.next/server/chunks/ssr/_088qe9a._.js +162 -0
  202. package/.next/server/chunks/ssr/_09a6bpd._.js +1 -1
  203. package/.next/server/chunks/ssr/{_0u43zjx._.js → _0a_pedm._.js} +2 -2
  204. package/.next/server/chunks/ssr/_0ali_i8._.js +3 -0
  205. package/.next/server/chunks/ssr/_0cd6g3l._.js +3 -3
  206. package/.next/server/chunks/ssr/{_1nwey7a._.js → _0eprrig._.js} +2 -2
  207. package/.next/server/chunks/ssr/_0flnog5._.js +3 -0
  208. package/.next/server/chunks/ssr/_0iuvjnw._.js +1 -1
  209. package/.next/server/chunks/ssr/{_0t_e9rd._.js → _0k-gl8l._.js} +2 -2
  210. package/.next/server/chunks/ssr/_0kmldic._.js +41 -0
  211. package/.next/server/chunks/ssr/_0ks03l-._.js +3 -0
  212. package/.next/server/chunks/ssr/_0mng-y8._.js +6 -0
  213. package/.next/server/chunks/ssr/_0tg3o37._.js +1 -1
  214. package/.next/server/chunks/ssr/_0ugzm_0._.js +3 -0
  215. package/.next/server/chunks/ssr/{_0ntol64._.js → _0wnv6c0._.js} +2 -2
  216. package/.next/server/chunks/ssr/{_0-y08rv._.js → _0z9zkd-._.js} +2 -2
  217. package/.next/server/chunks/ssr/_11l9kc0._.js +1 -1
  218. package/.next/server/chunks/ssr/_12_ail7._.js +3 -0
  219. package/.next/server/chunks/ssr/_16_7zeo._.js +1 -1
  220. package/.next/server/chunks/ssr/_16wjbs2._.js +3 -0
  221. package/.next/server/chunks/ssr/{_16o81mn._.js → _18rmqqu._.js} +2 -2
  222. package/.next/server/chunks/ssr/_1bfrntd._.js +2 -2
  223. package/.next/server/chunks/ssr/{_0gn_i4s._.js → _1ckje8g._.js} +2 -2
  224. package/.next/server/chunks/ssr/_1crszf7._.js +1 -1
  225. package/.next/server/chunks/ssr/_1h3qetc._.js +3 -0
  226. package/.next/server/chunks/ssr/{_1gz4ov7._.js → _1kpvfmn._.js} +3 -3
  227. package/.next/server/chunks/ssr/{_12hdw8x._.js → _1l-3enz._.js} +26 -28
  228. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  229. package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
  230. package/.next/server/chunks/ssr/{_0ux4i2m._.js → _1v1pcoh._.js} +2 -2
  231. package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
  232. package/.next/server/chunks/ssr/{features_bot_06n7hmd._.js → features_bot_0-7flc-._.js} +2 -2
  233. package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +1 -1
  234. package/.next/server/chunks/ssr/features_bot_1stfytf._.js +41 -0
  235. package/.next/server/chunks/ssr/features_config_10xs4l1._.js +20 -0
  236. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  237. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  238. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  239. package/.next/server/chunks/ssr/features_thursday_0cf9y0b._.js +1 -1
  240. package/.next/server/chunks/ssr/features_thursday_components_here-globe_tsx_055duhw._.js +1 -1
  241. package/.next/server/chunks/ssr/lib_utils_ts_0_f1xvm._.js +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_1i-g3bz._.js → node_modules_00mh9o-._.js} +1 -1
  243. package/.next/server/chunks/ssr/{node_modules_1bvw77g._.js → node_modules_04f_uw2._.js} +1 -1
  244. package/.next/server/chunks/ssr/{node_modules_16tn8xu._.js → node_modules_07udd3z._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_0ksqeyy._.js → node_modules_08-pj-2._.js} +1 -1
  246. package/.next/server/chunks/ssr/{node_modules_0e398ts._.js → node_modules_098h6h5._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_19r9vjv._.js → node_modules_0_7yfem._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_01v7ybp._.js → node_modules_0ayoorn._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_0_zk6yd._.js → node_modules_0bp3vfu._.js} +1 -1
  250. package/.next/server/chunks/ssr/{node_modules_0m-dnm-._.js → node_modules_0ch5hqr._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_0536cp2._.js → node_modules_0e-hyim._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_0yn2z6s._.js → node_modules_0ffm9w3._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_1jf8aik._.js → node_modules_0jzyuwk._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_0m2oth3._.js → node_modules_0ln4iwf._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_1dlue-g._.js → node_modules_0my2hph._.js} +1 -1
  256. package/.next/server/chunks/ssr/{node_modules_0cpegwf._.js → node_modules_0y_k4h5._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_13dwal5._.js → node_modules_10bzndo._.js} +1 -1
  258. package/.next/server/chunks/ssr/{node_modules_1ctm_ju._.js → node_modules_1b5rxw5._.js} +1 -1
  259. package/.next/server/chunks/ssr/{node_modules_01fukqn._.js → node_modules_1b_h09q._.js} +1 -1
  260. package/.next/server/chunks/ssr/{node_modules_12hh0bx._.js → node_modules_1e83j9e._.js} +1 -1
  261. package/.next/server/chunks/ssr/{node_modules_08m1gvh._.js → node_modules_1e9ugfy._.js} +1 -1
  262. package/.next/server/chunks/ssr/{node_modules_06n6ruk._.js → node_modules_1hd66k0._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_1zdz2zf._.js → node_modules_1inwr2m._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_1zalmtr._.js → node_modules_1j9xx1k._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_1kfbdfo._.js → node_modules_1k8kypa._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_056xgci._.js → node_modules_1oeu85h._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_0ie8g6a._.js → node_modules_1r2ghv5._.js} +2 -2
  268. package/.next/server/chunks/ssr/{node_modules_1fqgrh0._.js → node_modules_1ttpnib._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0nj1l8f._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0ir6p7s._.js} +1 -1
  270. package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_17ok98u._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1ejf5ye._.js} +1 -1
  271. package/.next/server/middleware-build-manifest.js +3 -3
  272. package/.next/server/pages/404.html +1 -1
  273. package/.next/server/pages/500.html +1 -1
  274. package/.next/server/server-reference-manifest.js +1 -1
  275. package/.next/server/server-reference-manifest.json +163 -163
  276. package/.next/static/chunks/02lze_e5sagjn.js +1 -0
  277. package/.next/static/chunks/{3866u-edsoyj3.js → 081kl7k8r6f8z.js} +1 -1
  278. package/.next/static/chunks/0_s4z70lx1tgs.js +1 -0
  279. package/.next/static/chunks/0fklfoj8o_msg.js +18 -0
  280. package/.next/static/chunks/0ve2gb0hw3wkq.js +1 -0
  281. package/.next/static/chunks/11c3uijgqik4m.js +39 -0
  282. package/.next/static/chunks/{0go5_9zqag7l0.js → 125lh2zzxk3r2.js} +1 -1
  283. package/.next/static/chunks/{3zv4wiqjl5kex.js → 166v36614ycsf.js} +1 -1
  284. package/.next/static/chunks/16np6727e61io.js +1 -0
  285. package/.next/static/chunks/18amidjlaqexf.js +1 -0
  286. package/.next/static/chunks/{35ehi-okrfot5.js → 1ettmta9iet7b.js} +1 -1
  287. package/.next/static/chunks/{1dy5xaxjdsy11.js → 1j4rndg17wgfk.js} +1 -1
  288. package/.next/static/chunks/{01r1uco3ikisc.js → 1mpz4epyg-7pz.js} +1 -1
  289. package/.next/static/chunks/{05blzta_1i7c2.js → 1oh4hbusfz97l.js} +1 -1
  290. package/.next/static/chunks/{3qfhjwd9yuijo.js → 1x1-44qmhu437.js} +1 -1
  291. package/.next/static/chunks/{0hpx0--bh7vld.js → 22jb4s3-8ckup.js} +1 -1
  292. package/.next/static/chunks/236le5kv_yj6a.css +1 -0
  293. package/.next/static/chunks/24op50z6sqi_5.js +1 -0
  294. package/.next/static/chunks/2eczs-lporqt6.js +1 -0
  295. package/.next/static/chunks/{2nbj2t9yp8ke9.js → 2sxclirl-c-um.js} +1 -1
  296. package/.next/static/chunks/2yfmmo4qr_f-m.js +1 -0
  297. package/.next/static/chunks/2z4sodeldj_86.js +1 -0
  298. package/.next/static/chunks/{3tyacy8fh5_18.js → 2zhiqxw61qowv.js} +2 -2
  299. package/.next/static/chunks/338dt83llhu5m.js +1 -0
  300. package/.next/static/chunks/3ezjz93yvzmop.js +4 -0
  301. package/.next/static/chunks/3h6rqjx92wva9.js +1 -0
  302. package/.next/static/chunks/3ph9u-51x6jhe.js +15 -0
  303. package/.next/static/chunks/{052u13mcoxt87.js → 3uf32hp_g9stz.js} +1 -1
  304. package/.next/static/chunks/3w7zt3xzyjn86.js +3 -0
  305. package/.next/static/chunks/3xkx7vqefm7on.js +2 -0
  306. package/.next/static/chunks/3ygk41pgsw7nv.js +1 -0
  307. package/.next/static/chunks/{3146sccz1j76i.js → 411uyd0is9u5s.js} +1 -1
  308. package/.next/static/chunks/4384atd5zerir.js +1 -0
  309. package/README.md +1 -1
  310. package/database/migrations/20260929121448_thread_started_by/migration.sql +1 -0
  311. package/database/migrations/20260929121448_thread_started_by/snapshot.json +1969 -0
  312. package/guide/bots.md +89 -44
  313. package/guide/calls.md +41 -25
  314. package/guide/index.md +5 -2
  315. package/guide/phone.md +7 -4
  316. package/guide/setup.md +12 -6
  317. package/guide/trouble.md +3 -2
  318. package/package.json +1 -1
  319. package/public/voices/intro/mic-b17ca82d.ogg +0 -0
  320. package/seed-skills/concierge/travel/SKILL.md +2 -1
  321. package/seed-skills/concierge/travel/page/itinerary.css +1009 -257
  322. package/seed-skills/concierge/travel/references/itinerary.md +95 -35
  323. package/seed-skills/concierge/travel/references/plan.md +11 -4
  324. package/seed-skills/concierge/travel/scripts/itinerary.mjs +754 -138
  325. package/skills/README.md +7 -4
  326. package/skills/artifact/SKILL.md +17 -13
  327. package/skills/artifact/references/canvas.md +4 -5
  328. package/skills/artifact/references/deck.md +93 -2
  329. package/skills/artifact/runtime/app/kit/src/index.css +35 -0
  330. package/skills/artifact/runtime/app/kit/tailwind.config.js +6 -0
  331. package/skills/artifact/runtime/deck/data.mjs +21 -0
  332. package/skills/artifact/runtime/deck/deck.css +254 -4
  333. package/skills/artifact/runtime/deck/deck.html +3 -0
  334. package/skills/artifact/runtime/deck/deck.js +88 -5
  335. package/skills/artifact/runtime/deck/deck.mjs +1 -17
  336. package/skills/artifact/runtime/document/quick.css +264 -89
  337. package/skills/artifact/runtime/document/quick.html +16 -7
  338. package/skills/artifact/runtime/document/quick.js +377 -98
  339. package/skills/artifact/runtime/render.mjs +52 -6
  340. package/skills/artifact/runtime/sheet/sheet.css +29 -21
  341. package/skills/artifact/runtime/shell/drafts.js +25 -0
  342. package/skills/artifact/runtime/shell/fonts/Geist-latin-ext.woff2 +0 -0
  343. package/skills/artifact/runtime/shell/fonts/Geist-latin.woff2 +0 -0
  344. package/skills/artifact/runtime/shell/fonts/GeistMono-latin-ext.woff2 +0 -0
  345. package/skills/artifact/runtime/shell/fonts/GeistMono-latin.woff2 +0 -0
  346. package/skills/artifact/runtime/shell/fonts/OFL.txt +93 -0
  347. package/skills/artifact/runtime/shell/head.html +27 -2
  348. package/skills/artifact/runtime/shell/shell.css +88 -8
  349. package/skills/artifact/runtime/shell/shell.js +318 -22
  350. package/skills/artifact/runtime/shell/wear.mjs +114 -12
  351. package/skills/artifact/scripts/app.mjs +5 -0
  352. package/skills/artifact/scripts/chart.mjs +20 -19
  353. package/skills/artifact/scripts/deck.mjs +276 -0
  354. package/skills/artifact/scripts/document.mjs +55 -2
  355. package/skills/artifact/scripts/media.mjs +1 -1
  356. package/skills/artifact/templates/boards/direction.html +55 -2
  357. package/skills/browser/SKILL.md +1 -1
  358. package/skills/browser/references/scripts.md +1 -1
  359. package/skills/daily-brief/SKILL.md +2 -0
  360. package/skills/daily-brief/page/brief.css +460 -302
  361. package/skills/daily-brief/references/brief.md +33 -7
  362. package/skills/daily-brief/scripts/page.mjs +241 -48
  363. package/skills/media-digest/SKILL.md +1 -0
  364. package/skills/media-digest/scripts/digest.mjs +57 -43
  365. package/.next/server/chunks/[root-of-the-server]__00f051a._.js +0 -7
  366. package/.next/server/chunks/[root-of-the-server]__0340k46._.js +0 -7
  367. package/.next/server/chunks/[root-of-the-server]__0ndw2yj._.js +0 -5
  368. package/.next/server/chunks/[root-of-the-server]__16y0k92._.js +0 -3
  369. package/.next/server/chunks/[root-of-the-server]__18e65_-._.js +0 -3
  370. package/.next/server/chunks/[root-of-the-server]__1a0xgyh._.js +0 -5
  371. package/.next/server/chunks/[root-of-the-server]__1dth047._.js +0 -5
  372. package/.next/server/chunks/[root-of-the-server]__1huywqp._.js +0 -5
  373. package/.next/server/chunks/[root-of-the-server]__1ij4h2a._.js +0 -3
  374. package/.next/server/chunks/[root-of-the-server]__1q1s4ls._.js +0 -3
  375. package/.next/server/chunks/[root-of-the-server]__1qa67zs._.js +0 -3
  376. package/.next/server/chunks/[root-of-the-server]__1t-mfa4._.js +0 -5
  377. package/.next/server/chunks/[root-of-the-server]__20ofm9t._.js +0 -3
  378. package/.next/server/chunks/_0483t_f._.js +0 -5
  379. package/.next/server/chunks/_0lcthk8._.js +0 -3
  380. package/.next/server/chunks/_0uv1gs1._.js +0 -3
  381. package/.next/server/chunks/_17fjc-7._.js +0 -5
  382. package/.next/server/chunks/_1dcbwn-._.js +0 -3
  383. package/.next/server/chunks/_1mgzs18._.js +0 -3
  384. package/.next/server/chunks/_20qn224._.js +0 -3
  385. package/.next/server/chunks/features_bot_0zy_q8y._.js +0 -37
  386. package/.next/server/chunks/ssr/[root-of-the-server]__04upd5v._.js +0 -3
  387. package/.next/server/chunks/ssr/[root-of-the-server]__0dy20eb._.js +0 -3
  388. package/.next/server/chunks/ssr/[root-of-the-server]__0yyxgt2._.js +0 -3
  389. package/.next/server/chunks/ssr/[root-of-the-server]__14j8gxy._.js +0 -3
  390. package/.next/server/chunks/ssr/[root-of-the-server]__20t_4l2._.js +0 -3
  391. package/.next/server/chunks/ssr/_00buy3i._.js +0 -162
  392. package/.next/server/chunks/ssr/_014_wjp._.js +0 -3
  393. package/.next/server/chunks/ssr/_07m4ii5._.js +0 -3
  394. package/.next/server/chunks/ssr/_0cv9tmv._.js +0 -3
  395. package/.next/server/chunks/ssr/_0j6rtjm._.js +0 -6
  396. package/.next/server/chunks/ssr/_0ogkeu-._.js +0 -3
  397. package/.next/server/chunks/ssr/_10sc7ab._.js +0 -3
  398. package/.next/server/chunks/ssr/_14nwim3._.js +0 -37
  399. package/.next/server/chunks/ssr/_1e01b-_._.js +0 -3
  400. package/.next/server/chunks/ssr/_1nfv27b._.js +0 -3
  401. package/.next/server/chunks/ssr/features_bot_1c56lew._.js +0 -37
  402. package/.next/server/chunks/ssr/features_bot_1knyan7._.js +0 -3
  403. package/.next/server/chunks/ssr/features_config_09wq1s9._.js +0 -20
  404. package/.next/static/chunks/01gkq9y6_xk4a.js +0 -1
  405. package/.next/static/chunks/09kwsjbmr_z1w.js +0 -1
  406. package/.next/static/chunks/0ynv7zu_bguve.js +0 -1
  407. package/.next/static/chunks/0zi59tghmg1lu.js +0 -18
  408. package/.next/static/chunks/1_ftsgxa-sia_.js +0 -1
  409. package/.next/static/chunks/1cg3torc90q5t.js +0 -1
  410. package/.next/static/chunks/1qnx1h5c8f93b.js +0 -1
  411. package/.next/static/chunks/1rwn3d9ji5w35.js +0 -1
  412. package/.next/static/chunks/1so3f5fi7e5g9.js +0 -35
  413. package/.next/static/chunks/1ya41wxfmp4s8.js +0 -1
  414. package/.next/static/chunks/27rwkfu7_xvs1.js +0 -4
  415. package/.next/static/chunks/2hueh8masqd91.js +0 -15
  416. package/.next/static/chunks/2jrt_752fqz2f.js +0 -1
  417. package/.next/static/chunks/2ogme4qydxnaq.js +0 -3
  418. package/.next/static/chunks/2r2tocw2rpvm2.js +0 -1
  419. package/.next/static/chunks/2t4kimg1lt-p7.js +0 -2
  420. package/.next/static/chunks/2w6y71o27my_z.js +0 -1
  421. package/.next/static/chunks/31_am8rtmk_tv.css +0 -1
  422. package/.next/static/chunks/337g9g_ux2gj-.js +0 -1
  423. package/public/voices/intro/heard-1f12cd45.ogg +0 -0
  424. package/public/voices/intro/mic-e561372a.ogg +0 -0
  425. package/skills/artifact/references/book.md +0 -163
  426. package/skills/artifact/runtime/book/book.css +0 -256
  427. package/skills/artifact/runtime/book/book.html +0 -38
  428. package/skills/artifact/runtime/book/book.js +0 -81
  429. package/skills/artifact/scripts/book-pdf.mjs +0 -73
  430. package/skills/artifact/scripts/book-video.mjs +0 -168
  431. package/skills/artifact/scripts/book.mjs +0 -291
  432. /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_buildManifest.js +0 -0
  433. /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_clientMiddlewareManifest.js +0 -0
  434. /package/.next/static/{8exfHAtcoebYtxjUC4ugl → 6tIYlzfG_5P4sIxxgmucO}/_ssgManifest.js +0 -0
  435. /package/seed-skills/{marketer → writer}/marketing/LICENSE +0 -0
  436. /package/seed-skills/{marketer → writer}/marketing/SKILL.md +0 -0
  437. /package/seed-skills/{marketer → writer}/marketing/references/copywriting-copy-frameworks.md +0 -0
  438. /package/seed-skills/{marketer → writer}/marketing/references/copywriting-natural-transitions.md +0 -0
  439. /package/seed-skills/{marketer → writer}/marketing/references/copywriting.md +0 -0
  440. /package/seed-skills/{marketer → writer}/marketing/references/emails-copy-guidelines.md +0 -0
  441. /package/seed-skills/{marketer → writer}/marketing/references/emails-email-types.md +0 -0
  442. /package/seed-skills/{marketer → writer}/marketing/references/emails-sequence-templates.md +0 -0
  443. /package/seed-skills/{marketer → writer}/marketing/references/emails.md +0 -0
  444. /package/seed-skills/{marketer → writer}/marketing/references/launch.md +0 -0
  445. /package/seed-skills/{marketer → writer}/marketing/references/product-marketing.md +0 -0
  446. /package/seed-skills/{marketer → writer}/marketing/references/seo-audit-ai-writing-detection.md +0 -0
  447. /package/seed-skills/{marketer → writer}/marketing/references/seo-audit-international-seo.md +0 -0
  448. /package/seed-skills/{marketer → writer}/marketing/references/seo-audit.md +0 -0
  449. /package/seed-skills/{marketer → writer}/marketing/references/social-carousel-frameworks.md +0 -0
  450. /package/seed-skills/{marketer → writer}/marketing/references/social-platform-limits.md +0 -0
  451. /package/seed-skills/{marketer → writer}/marketing/references/social-platforms.md +0 -0
  452. /package/seed-skills/{marketer → writer}/marketing/references/social-post-templates.md +0 -0
  453. /package/seed-skills/{marketer → writer}/marketing/references/social-reverse-engineering.md +0 -0
  454. /package/seed-skills/{marketer → writer}/marketing/references/social-short-form-video.md +0 -0
  455. /package/seed-skills/{marketer → writer}/marketing/references/social.md +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[825715,a=>{"use strict";var b=a.i(187924);a.s([],901524),a.i(901524);var c=a.i(572131),d=a.i(854662),e=a.i(950381),f=a.i(357738),g=a.i(854401),h=a.i(801811),i=a.i(389862),j=a.i(462824),k=a.i(779549),l=a.i(417498),m=a.i(524715),n=a.i(426476),o=a.i(138939),p=a.i(175550),q=a.i(509301),r=a.i(331973),s=a.i(796e3);function t(a,b,c,d,e,f,g,h,i,j=2){let k=(0,s.getGridNavigatedIndex)(c.current,{event:a,orientation:d,loopFocus:e,rtl:f,cols:j,disabledIndices:g,minIndex:h,maxIndex:i,prevIndex:b>i?h:b,stopEvent:!0});return(0,s.isIndexOutOfListBounds)(c.current,k)?void 0:k}var u=a.i(30116),v=a.i(394552),w=a.i(307436);let x=c.createContext(void 0),y=c.createContext(void 0),z=c.createContext(void 0),A=c.createContext(!1),B=c.createContext("");function C(){let a=c.useContext(x);if(!a)throw Error((0,d.default)(22));return a}function D(){let a=c.useContext(y);if(!a)throw Error((0,d.default)(23));return a}function E(){let a=c.useContext(z);if(!a)throw Error((0,d.default)(24));return a}function F(){return c.useContext(B)}let G=(a,b)=>Object.is(a,b);function H(a,b,c){return null==a||null==b?Object.is(a,b):c(a,b)}function I(a,b,c){return!!a&&a.some(a=>void 0!==a&&H(b,a,c))}function J(a,b,c){return a?a.findIndex(a=>void 0!==a&&H(a,b,c)):-1}function K(a,b,c,d){let e=d&&Array.isArray(b)?a.findIndex(function(a,b){if(b!==G)return c=>I(a,c,b);let c=new Set(a);return c.delete(void 0),b=>c.has(b)&&(0!==b||a.some(a=>Object.is(b,a)))}(b,c)):J(a,b,c);return -1===e?null:e}var L=a.i(376224);function M(a){var b;return"object"==typeof(b=a?.[0])&&null!=b&&Array.isArray(b.items)}function N(a){return M(a)?a.flatMap(a=>a.items):a}function O(a,b){if(b&&null!=a)return b(a)??"";if(a&&"object"==typeof a){if("label"in a&&null!=a.label)return String(a.label);if("value"in a)return String(a.value)}return(0,L.serializeValue)(a)}function P(a,b){return b&&null!=a?b(a)??"":a&&"object"==typeof a&&"value"in a&&"label"in a?(0,L.serializeValue)(a.value):(0,L.serializeValue)(a)}let Q={id:a=>a.id,labelId:a=>a.labelId,items:a=>a.items,selectedValue:a=>a.selectedValue,hasSelectionChips:a=>{let b=a.selectedValue;return Array.isArray(b)&&b.length>0},hasSelectedValue:a=>{let{selectedValue:b,selectionMode:c}=a;return null!=b&&(!("multiple"===c&&Array.isArray(b))||b.length>0)},hasNullItemLabel:(a,b)=>!!b&&function(a){if(!Array.isArray(a))return null!=a&&"null"in a;if(M(a)){for(let b of a)for(let a of b.items)if(a&&null==a.value&&null!=a.label)return!0;return!1}for(let b of a)if(b&&null==b.value&&null!=b.label)return!0;return!1}(a.items),open:a=>a.open,mounted:a=>a.mounted,forceMounted:a=>a.forceMounted,inline:a=>a.inline,activeIndex:a=>a.activeIndex,selectedIndex:a=>a.selectedIndex,isActive:(a,b)=>a.activeIndex===b,isSelected:(a,b)=>{let c=a.isItemEqualToValue,d=a.selectedValue;return Array.isArray(d)?d.some(a=>H(b,a,c)):H(b,d,c)},transitionStatus:a=>a.transitionStatus,popupProps:a=>a.popupProps,listProps:a=>a.listProps,inputProps:a=>a.inputProps,triggerProps:a=>a.triggerProps,itemProps:a=>a.itemProps,positionerElement:a=>a.positionerElement,listElement:a=>a.listElement,popupId:a=>a.popupId,triggerElement:a=>a.triggerElement,inputElement:a=>a.inputElement,inputGroupElement:a=>a.inputGroupElement,popupSide:a=>a.popupSide,openMethod:a=>a.openMethod,inputInsidePopup:a=>a.inputInsidePopup,inputOwnsFormValue:a=>a.inputOwnsFormValue,selectionMode:a=>a.selectionMode,name:a=>a.name,form:a=>a.form,disabled:a=>a.disabled,readOnly:a=>a.readOnly,required:a=>a.required,grid:a=>a.grid,virtualized:a=>a.virtualized,itemToStringLabel:a=>a.itemToStringLabel,isItemEqualToValue:a=>a.isItemEqualToValue,modal:a=>a.modal,autoHighlight:a=>a.autoHighlight};var R=a.i(305687),S=a.i(1230),T=a.i(958589),U=a.i(541302),V=a.i(769476);function W(a){return null==a?void 0:`${a}-popup`}let X=new Map,Y=function(a={}){let b={usage:"search",sensitivity:"base",ignorePunctuation:!0,...a},c=`${function a(b){return Array.isArray(b)?b.map(b=>a(b)).join(","):null==b?"":String(b)}(a.locale)}|${JSON.stringify(b)}`,d=X.get(c);if(d)return d;let e=new Intl.Collator(a.locale,b),f={contains(a,b,c){if(!b)return!0;let d=O(a,c);for(let a=0;a<=d.length-b.length;a+=1)if(0===e.compare(d.slice(a,a+b.length),b))return!0;return!1},startsWith(a,b,c){if(!b)return!0;let d=O(a,c);return 0===e.compare(d.slice(0,b.length),b)},endsWith(a,b,c){if(!b)return!0;let d=O(a,c),f=b.length;return d.length>=f&&0===e.compare(d.slice(d.length-f),b)}};return X.set(c,f),f};var Z=a.i(348250),$=a.i(629752),_=a.i(964072),aa=a.i(284204),ab=a.i(676459);let ac=Symbol("none"),ad={value:ac,index:-1};var ae=a.i(162903);function af(a){let s,C,{id:D,onOpenChangeComplete:E,defaultSelectedValue:F=null,selectedValue:L,onSelectedValueChange:W,defaultInputValue:X,inputValue:af,open:ag,defaultOpen:ah=!1,selectionMode:ai,onItemHighlighted:aj,name:ak,form:al,disabled:am=!1,readOnly:an=!1,required:ao=!1,inputRef:ap,grid:aq=!1,items:ar,filteredItems:as,filter:at,filterQuery:au,openOnInputClick:av=!0,autoHighlight:aw=!1,keepHighlight:ax=!1,highlightItemOnHover:ay=!0,loopFocus:az=!0,itemToStringLabel:aA,itemToStringValue:aB,isItemEqualToValue:aC=G,virtualized:aD=!1,inline:aE=!1,fillInputOnItemPress:aF=!0,modal:aG=!1,limit:aH=-1,autoComplete:aI="list",formAutoComplete:aJ,locale:aK,submitOnItemClick:aL=!1}=a,{clearErrors:aM}=(0,U.useFormContext)(),{setDirty:aN,validityData:aO,setFilled:aP,name:aQ,disabled:aR,setTouched:aS,setFocused:aT,validationMode:aU,validation:aV}=(0,S.useFieldRootContext)(),aW=(0,ae.useDirection)(),aX=(0,V.useLabelableId)({id:D}),aY=Y({locale:aK}),aZ=Array.isArray(ar)?null:ar;if(aZ&&"function"!=typeof aZ.label)throw Error((0,d.default)(100));let a$=aZ?aZ.data:ar,a_=aZ?.value,a0=a_?void 0:a$,a1=c.useMemo(()=>{let a;if(!as||!a_)return;let b=N(as),c=b.map(a_);return{values:c,findItem(d,e){if(!a){a=new Map;for(let d=0;d<c.length;d+=1)a.has(c[d])||a.set(c[d],b[d])}var f=a;let g=f.get(d);if(void 0!==g||e===G)return g;for(let[a,b]of f)if(H(a,d,e))return b}}},[as,a_]),a2=c.useMemo(()=>aZ?a=>aZ.label(a,aC,a=>{let b=a1?.findItem(a,aC);return null!=b?aZ.itemLabel(b):O(a,aA)}):aA,[aZ,aA,a1,aC]),a3=c.useMemo(()=>aZ?Object.assign(a=>aZ.itemLabel(a),{selected:a=>O(a,a2)}):aA,[aZ,a2,aA]);function a4(a){return O(a,a2)}let[a5,a6]=c.useState(!1),[a7,a8]=c.useState(null),a9=c.useRef(a7),ba=c.useRef([]),bb=c.useRef([]),bc=c.useRef(null),bd=c.useRef(null),be=c.useRef(null),bf=c.useRef(null),bg=c.useRef(null),bh=c.useRef(!0),bi=c.useRef(!1),bj=c.useRef(null),bk=c.useRef(null),bl=c.useRef(null),bm=c.useRef(ad),bn=c.useRef(null),bo=c.useRef([]),bp=c.useRef(null),bq=aR||am,br=aQ??ak,bs="multiple"===ai,bt="single"===ai,bu=void 0!==af||void 0!==X,bv=void 0!==a$,bw=void 0!==as;s="always"===aw?"always":!!aw&&"input-change";let[bx,by]=(0,e.useControlled)({controlled:L,default:bs?F??m.EMPTY_ARRAY:F,name:"Combobox",state:"selectedValue"}),bz=c.useMemo(()=>null===at?()=>!0:void 0!==at?at:(a,b)=>null!=a&&aY.contains(a,b,a3),[at,aY,a3]),bA=(0,k.useRefWithInit)(()=>bu?X??"":bt?a4(bx):"").current,[bB,bC]=(0,e.useControlled)({controlled:af,default:bA,name:"Combobox",state:"inputValue"}),[bD,bE]=(0,e.useControlled)({controlled:ag,default:ah,name:"Combobox",state:"open"}),bF=M(a$),bG=bD||null===a7?String(bB).trim():a7,bH=bt?a4(bx):"",bI=bt&&!a5&&""!==bG&&bH.length===bG.length&&aY.contains(bH,bG),bJ=bI?"":au??bG,bK=bv&&bw&&bI&&(!aZ||aZ.hasValue(bx,aC)),bL=c.useMemo(()=>a$?N(a$):m.EMPTY_ARRAY,[a$]),bM=c.useMemo(()=>{if(as&&!bK)return as;if(!a$)return m.EMPTY_ARRAY;if(bF){let a=[],b=0;for(let c of a$){if(aH>-1&&b>=aH)break;let d=aH>-1?aH-b:1/0,e=""===bJ?c.items.slice(0,d):[];if(""!==bJ)for(let a of c.items){if(e.length>=d)break;bz(a,bJ,a3)&&e.push(a)}if(e.length>0){let d={...c,items:e};a.push(d),b+=e.length}}return a}if(""===bJ)return aH>-1?bL.slice(0,aH):bL;let a=[];for(let b of bL){if(aH>-1&&a.length>=aH)break;bz(b,bJ,a3)&&a.push(b)}return a},[as,bK,a$,bF,bJ,aH,bz,a3,bL]),bN=c.useMemo(()=>{if(a1&&bM===as)return a1.values;let a=N(bM);return a_?a.map(a=>a_(a)):a},[bM,as,a1,a_]),bO=(0,k.useRefWithInit)(()=>{let a=null;return aE&&bD&&bv&&"none"!==ai&&(a=K(bN,bx,aC,bs)),new l.ReactStore({id:aX,labelId:void 0,selectedValue:bx,open:bD,items:a0,selectionMode:ai,name:br,form:al,disabled:bq,readOnly:an,required:ao,grid:aq,virtualized:aD,openOnInputClick:av,itemToStringLabel:a2,isItemEqualToValue:aC,modal:aG,autoHighlight:s,submitOnItemClick:aL,hasInputValue:bu,mounted:!1,forceMounted:!1,transitionStatus:"idle",inline:aE,activeIndex:null,selectedIndex:a,popupProps:{},listProps:{},inputProps:{},triggerProps:{},itemProps:m.EMPTY_OBJECT,positionerElement:null,listElement:null,popupId:void 0,triggerElement:null,inputElement:null,inputGroupElement:null,popupSide:null,openMethod:null,inputInsidePopup:!0,inputOwnsFormValue:"none"===ai},{onOpenChangeComplete:m.NOOP,setOpen:m.NOOP,setInputValue:m.NOOP,setSelectedValue:m.NOOP,setIndices:m.NOOP,handleSelection:m.NOOP,forceMount:m.NOOP,requestSubmit:m.NOOP,listRef:ba,labelsRef:bb,popupRef:bc,emptyRef:bg,inputRef:bd,startDismissRef:be,endDismissRef:bf,keyboardActiveRef:bh,chipsContainerRef:bj,clearRef:bk,valuesRef:bo,pointerDownItemRef:bp,selectionEventRef:bl},Q)}).current,bP="none"===ai?bB:bx,bQ=c.useMemo(()=>"none"===ai?bP:Array.isArray(bx)?bx.map(a=>P(a,aB)):P(bx,aB),[bP,aB,ai,bx]),bR=(0,g.useStableCallback)(aj),bS=(0,g.useStableCallback)(E),bT=bO.useState("activeIndex"),bU=bO.useState("selectedIndex"),bV=bO.useState("positionerElement"),bW=bO.useState("listElement"),bX=bO.useState("triggerElement"),bY=bO.useState("inputElement"),bZ=bO.useState("inputGroupElement"),b$=bO.useState("inline"),b_=bO.useState("inputInsidePopup"),b0=bO.useState("inputOwnsFormValue"),b1=bt&&!b_&&bB===bH,b2=(0,i.useValueAsRef)(bX),{mounted:b3,setMounted:b4,transitionStatus:b5}=(0,Z.useTransitionStatus)(bD),{openMethod:b6,triggerProps:b7}=(0,$.useOpenInteractionType)(bD),b8=(0,g.useStableCallback)(()=>bQ);(0,T.useRegisterFieldControl)(b_?b2:bd,aX,bP,b8,!bq,ak);let b9=(0,g.useStableCallback)(()=>{a$?bb.current=bN.map(a4):bO.set("forceMounted",!0)}),ca=(0,g.useStableCallback)((a,b,c)=>{if(-1===b){if(bm.current===ad)return;bm.current=ad}else bm.current={value:a,index:b};bR(a,(0,v.createGenericEventDetails)(c,void 0,{index:b}))}),cb=(0,g.useStableCallback)(a=>{let b={};void 0!==a.activeIndex&&(b.activeIndex=a.activeIndex),void 0!==a.selectedIndex&&(b.selectedIndex=a.selectedIndex),bO.update(b);let c=a.activeIndex;if(void 0===c)return;let d=a.type||w.REASONS.none;null===c?ca(void 0,-1,d):ca(bo.current[c],c,d)}),cc=(0,g.useStableCallback)((b,c)=>{if(a.onInputValueChange?.(b,c),!c.isCanceled){if(bi.current=c.reason===w.REASONS.inputClear,c.reason===w.REASONS.inputChange){bD&&null!==a7&&a8(null);let a=c.event,d=a.inputType;if("compositionend"===a.type||null!=d&&""!==d&&"insertReplacementText"!==d){let a=""!==b.trim();a&&a6(!0),bn.current={hasQuery:a};let c=bO.state.listElement;if(!bO.state.virtualized&&c){let a=bc.current;for(let b of(0,n.getOverflowAncestors)(c.firstElementChild??c)){if(!(0,n.isHTMLElement)(b)||(a?!(0,u.contains)(a,b):"dialog"===b.getAttribute("role")))break;if(function(a,b=!1){let{overflowY:c}=(0,n.getComputedStyle)(a);return("auto"===c||"scroll"===c)&&(b?a.clientHeight>0:a.scrollHeight>a.clientHeight)}(b)){b.scrollTop=0;break}}}a&&s&&null==bO.state.activeIndex&&(bD||b$)&&bO.set("activeIndex",0)}}else c.reason===w.REASONS.inputClear&&""===b&&bO.state.inputInsidePopup&&(bn.current={hasQuery:!1,selection:!0});bC(b)}}),cd=(0,g.useStableCallback)(a=>{let b=!a&&b_&&!b$&&""!==bB&&(String(bB).trim()===a7||bB===bH);!a&&(b||""===bB||b1)&&a6(!1),a8(null),b&&cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear))}),ce=(0,g.useStableCallback)((b,c)=>{if(bD!==b&&(c.reason===w.REASONS.escapeKey&&bv&&0===bN.length&&!bg.current&&c.allowPropagation(),a.onOpenChange?.(b,c),!c.isCanceled&&(b&&null!==a7&&cd(c.reason===w.REASONS.inputChange),!b&&a5&&(bt?(b$||a8(bG),""===bG&&a6(!1)):bs&&(b$||a8(bG),b_&&cb({activeIndex:null}),(!b_||b$)&&cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear,c.event,void 0,{isItemPress:c.reason===w.REASONS.itemPress})))),bE(b),!b&&b_&&(c.reason===w.REASONS.focusOut||c.reason===w.REASONS.outsidePress))&&(aS(!0),aT(!1),"onBlur"===aU))){let a="none"===ai?bB:bx;aV.commit(a)}}),cf=(0,g.useStableCallback)((a,b)=>{W?.(a,b),b.isCanceled||(by(a),("none"===ai&&bc.current&&aF||bt&&!bO.state.inputInsidePopup)&&cc(a4(a),(0,v.createChangeEventDetails)(b.reason,b.event)))}),cg=(0,g.useStableCallback)((a,b)=>{let c=(0,u.getTarget)(a),d=bl.current??a;bl.current=null;let e=(0,v.createChangeEventDetails)(w.REASONS.itemPress,d),f=c?.closest("a")?.getAttribute("href");if(f){f.startsWith("#")&&ce(!1,e);return}if(bs){let a=Array.isArray(bx)?bx:[],c=I(a,b,aC);if(cf(c?a.filter(a=>!H(b,a,aC)):[...a,b],e),e.isCanceled||!(bd.current&&""!==bd.current.value.trim()))return;if(bO.state.inputInsidePopup){cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear,e.event,void 0,{isItemPress:!0}));let a=bn.current;a&&!c&&(a.toggledValue=b)}else ce(!1,e)}else{if(cf(b,e),e.isCanceled)return;ce(!1,e)}}),ch=(0,g.useStableCallback)(()=>{let a=aV.inputRef.current?.form??bO.state.inputElement?.form;a&&"function"==typeof a.requestSubmit&&a.requestSubmit()}),ci=(0,g.useStableCallback)(()=>{if(b4(!1),bS?.(!1),a6(!1),a8(null),"none"===ai?cb({activeIndex:null,selectedIndex:null}):cb({activeIndex:null}),bs&&bd.current&&""!==bd.current.value&&!bi.current&&cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear)),bt)if(bO.state.inputInsidePopup)bd.current&&""!==bd.current.value&&cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear));else{let a=a4(bx);if(bd.current&&bd.current.value!==a){let b=""===a?w.REASONS.inputClear:w.REASONS.none;cc(a,(0,v.createChangeEventDetails)(b))}}}),cj=c.useMemo(()=>b$&&bV?{current:bV.closest('[role="dialog"]')}:bc,[b$,bV]);(0,R.useOpenChangeComplete)({enabled:!a.actionsRef,open:bD,ref:cj,onComplete(){bD||ci()}}),c.useImperativeHandle(a.actionsRef,()=>({unmount:ci}),[ci]),(0,f.useIsoLayoutEffect)(function(){let a=null!==a9.current&&null===a7;a9.current=a7,(!bD||a&&bv)&&(bD||(bp.current=null),"none"===ai||cb({selectedIndex:K(bv?bN:bo.current,bx,aC,bs)}))},[bD,a7,bx,ai,bs,bv,bN,aC,cb]),(0,f.useIsoLayoutEffect)(()=>{a$&&(bo.current=bN,ba.current.length=bN.length)},[a$,bN]),(0,f.useIsoLayoutEffect)(()=>{let a=bn.current;if(a){let b=bD||b$||bO.state.positionerElement?.hidden===!1;if(a.hasQuery)s&&b&&bO.set("activeIndex",0),bn.current=null;else if(""===String(bB).trim()&&(bn.current=null,b)){let b=a.selection;"always"!==s||b||"none"!==bO.state.selectionMode||bO.set("activeIndex",0),queueMicrotask(()=>{if(!bO.state.open&&!bO.state.inline||bd.current&&""!==bd.current.value.trim())return;let c=bO.state.selectedValue,d="multiple"===bO.state.selectionMode;if(d&&Array.isArray(c)?c.length>0:"none"!==bO.state.selectionMode&&null!=c){let b=bv||bw?bN:bo.current,e=J(b,a.toggledValue,bO.state.isItemEqualToValue);bO.set("activeIndex",-1!==e?e:K(b,c,bO.state.isItemEqualToValue,d))}else b?bO.set("activeIndex",null):"always"===s&&bO.set("activeIndex",0)})}}if(!bD&&!b$)return;let b=bv||bw?bN:bo.current,c=bO.state.activeIndex;if(null==c)return"always"===s&&b.length>0?void bO.set("activeIndex",0):void ca(void 0,-1,w.REASONS.none);if(c>=b.length){ca(void 0,-1,w.REASONS.none),bO.set("activeIndex",null);return}let d=b[c],e=bm.current.value,f=e!==ac&&H(d,e,bO.state.isItemEqualToValue);bm.current.index===c&&f||ca(d,c,w.REASONS.none)},[bT,s,ca,bw,bv,bN,b$,bD,bO,bB]),(0,f.useIsoLayoutEffect)(()=>{"none"===ai?aP(""!==String(bB)):aP(bs?Array.isArray(bx)&&bx.length>0:null!=bx)},[aP,ai,bB,bx,bs]),c.useEffect(()=>{bv&&s&&0===bN.length&&cb({activeIndex:null})},[bv,s,bN.length,cb]);let ck=!1;function cl(){ck||bB===bH||(ck=!0,cc(bH,(0,v.createChangeEventDetails)(w.REASONS.none)))}function cm(){!bt||bu||b_||a5||cl()}(0,_.useValueChanged)(bG,function(){bD&&""!==bG&&bG!==String(bA)&&!b1&&a6(!0)}),(0,_.useValueChanged)(bD,function(){bD&&null!==a7&&cd(!1)}),(0,_.useValueChanged)(bx,function(){if("none"!==ai){var a;aM(br),aN((a=aO.initialValue,Array.isArray(bx)&&Array.isArray(a)?!function(a,b,c=Object.is){let{length:d}=a;if(d!==b.length)return!1;for(let e=0;e<d;e+=1)if(!c(a[e],b[e]))return!1;return!0}(bx,a,(a,b)=>H(a,b,aC)):bx!==a)),aV.change(bx),!bt||bu||b_||cl()}}),(0,_.useValueChanged)(bH,cm),(0,_.useValueChanged)(a$,cm),(0,_.useValueChanged)(bB,function(){"none"===ai&&(aM(br),aN(bB!==aO.initialValue),aV.change(bB))});let cn=(0,p.useFloatingRootContext)({open:!!b$||bD,onOpenChange:ce,elements:{reference:b_?bX:bY,floating:bV}}),co=aq?"grid":"listbox",cp=bD||b$,cq=cp?"true":"false",cr=c.useMemo(()=>{let a=bY?.tagName==="INPUT",b=null==bY||a,c=b||cp,d=b?{autoComplete:"off",spellCheck:"false",autoCorrect:"off",autoCapitalize:"none"}:{};return c&&(d.role="combobox",d["aria-expanded"]=cq,d["aria-haspopup"]=co,d["aria-controls"]=cp?bW?.id:void 0,d["aria-autocomplete"]=an?"none":aI),{reference:d,floating:{role:"presentation"}}},[bY,cp,cq,co,bW?.id,aI,an]),cs=(0,r.useClick)(cn,{enabled:!bq&&av,event:"mousedown-only",toggle:!1,touchOpenDelay:100*!b_,reason:w.REASONS.inputPress}),ct=(0,o.useDismiss)(cn,{enabled:!bq&&!b$,outsidePressEvent:{mouse:"sloppy",touch:"intentional"},bubbles:!!b$||void 0,outsidePress(a){let b=(0,u.getTarget)(a);return!(0,u.contains)(bX,b)&&!(0,u.contains)(bk.current,b)&&!(0,u.contains)(bj.current,b)&&!(0,u.contains)(bZ,b)}}),cu=(0,q.useListNavigation)(cn,{enabled:!bq,id:aX,listRef:ba,activeIndex:bT,selectedIndex:bU,virtual:!0,loopFocus:az,allowEscape:az&&!s,focusItemOnOpen:!a5&&("none"!==ai||!!s)&&"auto",focusItemOnHover:ay,resetOnPointerLeave:!ax,orientation:aq?"horizontal":void 0,rtl:"rtl"===aW,disabledIndices:m.EMPTY_ARRAY,grid:aq?t:void 0,onNavigate(a,b){(b||bD)&&"ending"!==b5&&(b?cb({activeIndex:a,type:bh.current?w.REASONS.keyboard:w.REASONS.pointer}):cb({activeIndex:a}))}}),cv=c.useMemo(()=>(0,ab.mergeProps)(cu.reference,{onKeyDown(a){aq&&null==bO.state.activeIndex&&("ArrowLeft"===a.key||"ArrowRight"===a.key)&&a.preventBaseUIHandler()}},ct.reference,cs.reference,cr.reference),[cu.reference,ct.reference,cs.reference,cr.reference,aq,bO]),cw=c.useMemo(()=>(0,ab.mergeProps)(aa.FOCUSABLE_POPUP_PROPS,ct.floating),[ct.floating]),cx=c.useMemo(()=>(0,ab.mergeProps)(cu.floating,cr.floating),[cu.floating,cr.floating]),cy=c.useMemo(()=>{let a=cu.item;return a?{...a,onFocus:void 0}:m.EMPTY_OBJECT},[cu.item]);bO.useContextCallback("setOpen",ce),bO.useContextCallback("setInputValue",cc),bO.useContextCallback("setSelectedValue",cf),bO.useContextCallback("setIndices",cb),bO.useContextCallback("handleSelection",cg),bO.useContextCallback("forceMount",b9),bO.useContextCallback("requestSubmit",ch),bO.useContextCallback("onOpenChangeComplete",E),(C=c.useRef(!0)).current&&(C.current=!1,(()=>{bO.update({inline:aE,popupProps:cw,listProps:cx,inputProps:cv,triggerProps:b7,itemProps:cy})})());let cz={id:aX,selectedValue:bx,open:bD,mounted:b3,transitionStatus:b5,items:a0,inline:aE,popupProps:cw,listProps:cx,inputProps:cv,triggerProps:b7,itemProps:cy,openMethod:b6,selectionMode:ai,name:br,form:al,disabled:bq,readOnly:an,required:ao,grid:aq,virtualized:aD,openOnInputClick:av,itemToStringLabel:a2,modal:aG,autoHighlight:s,isItemEqualToValue:aC,submitOnItemClick:aL,hasInputValue:bu};(0,f.useIsoLayoutEffect)(()=>{bO.update({...cz,inputOwnsFormValue:"none"===ai&&(aE||!bO.state.inputInsidePopup)})},[bO,...Object.values(cz)]);let cA=(0,h.useMergedRefs)(ap,aV.inputRef),cB=c.useMemo(()=>({query:bG,hasItems:bv,filteredItems:bM,flatFilteredValues:bN}),[bG,bv,bM,bN]),cC=c.useMemo(()=>Array.isArray(bP)?"":P(bP,aB),[bP,aB]),cD=bs&&Array.isArray(bx)&&bx.length>0,cE=bs||"none"===ai&&b0?void 0:br,cF=c.useMemo(()=>bs&&Array.isArray(bx)&&br?bx.map(a=>{let c=P(a,aB);return(0,b.jsx)("input",{type:"hidden",form:al,name:br,value:c,disabled:bq},c)}):null,[bs,bx,al,br,aB,bq]),cG=(0,b.jsxs)(c.Fragment,{children:[a.children,(0,b.jsx)("input",{...aV.getValidationProps(bq,{onFocus(){b_?bX?.focus():(bd.current||bX)?.focus()},onChange(a){if(a.nativeEvent.defaultPrevented||bq||an)return;let b=a.currentTarget.value,c=b.toLowerCase(),d=(0,v.createChangeEventDetails)(w.REASONS.none,a.nativeEvent),e=()=>bo.current.findIndex(a=>P(a,aB).toLowerCase()===c||a4(a).toLowerCase()===c);bt&&(b9(),a$&&-1===e()&&bO.set("forceMounted",!0)),queueMicrotask(function(){if(bs)return;if("none"===ai)return void cc(b,d);let a=e();-1===a&&(a=bo.current.findIndex((a,b)=>{let d=bb.current[b];return null!=d&&d.toLowerCase()===c}));let f=-1===a?void 0:bo.current[a];null!=f&&cf?.(f,d)})}}),id:aX&&null==cE?`${aX}-hidden-input`:void 0,form:al,name:cE,autoComplete:aJ,disabled:bq,required:ao&&!cD,readOnly:an,value:cC,ref:cA,style:cE?j.visuallyHiddenInput:j.visuallyHidden,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),cF]});return(0,b.jsx)(x.Provider,{value:bO,children:(0,b.jsx)(y.Provider,{value:cn,children:(0,b.jsx)(A.Provider,{value:bv,children:(0,b.jsx)(z.Provider,{value:cB,children:(0,b.jsx)(B.Provider,{value:bB,children:cG})})})})})}var ag=a.i(736069),ah=a.i(187828),ai=a.i(926184),aj=a.i(221436),ak=a.i(304478),al=a.i(827576),am=a.i(597380);am.CommonTriggerDataAttributes.popupOpen,am.CommonTriggerDataAttributes.pressed;let an={...ak.pressableTriggerOpenStateMapping,...al.fieldValidityMapping,popupSide:a=>a?{"data-popup-side":a}:null,listEmpty:a=>a?{"data-list-empty":""}:null};var ao=a.i(77260),ap=a.i(614209),aq=a.i(961892),ar=a.i(446355);function as(a){let b=a.useState("mounted"),c=a.useState("popupSide"),d=a.useState("positionerElement");return b&&d?c:null}function at(){return 0===E().filteredItems.length}function au(a,b,c){let d=a.context.listRef.current[b];d&&(a.context.selectionEventRef.current=c,d.click(),a.context.selectionEventRef.current=null)}let av=c.forwardRef(function(a,b){let d,{render:e,className:f,nativeButton:h=!0,disabled:i=!1,id:j,style:k,...l}=a,{state:m,disabled:n,setTouched:o,setFocused:p,validationMode:q,validation:s}=(0,S.useFieldRootContext)(),{labelId:t}=(0,ao.useLabelableContext)(),x=C(),y=x.useState("selectionMode"),z=x.useState("disabled"),A=x.useState("readOnly"),B=x.useState("required"),E=x.useState("positionerElement"),G=x.useState("listElement"),H=x.useState("popupId"),I=x.useState("triggerProps"),J=x.useState("inputInsidePopup"),K=x.useState("id"),L=x.useState("labelId"),M=x.useState("open"),N=x.useState("selectedValue"),O=x.useState("activeIndex"),P=x.useState("selectedIndex"),Q=x.useState("hasSelectedValue"),R=D(),T=F(),U=(0,ag.useTimeout)(),X=n||z||i,Y=at(),Z=as(x);(0,V.useLabelableId)({id:J?j:void 0});let $=J?j??K:j;M&&J?d=H??W(K):M&&(d=G?.id);let _=c.useRef("");function aa(a){_.current=a.pointerType}let{reference:ab}=(0,ar.useTypeahead)(R,{enabled:!M&&!A&&!z&&"single"===y,listRef:x.context.labelsRef,activeIndex:O,selectedIndex:P,onMatch(a){let b=x.context.valuesRef.current[a];void 0!==b&&x.context.setSelectedValue(b,(0,v.createChangeEventDetails)(w.REASONS.none))}}),{reference:ac}=(0,r.useClick)(R,{enabled:!z,event:"mousedown"}),{buttonRef:ad,getButtonProps:ae}=(0,aj.useButton)({native:h,disabled:X}),af={...m,readOnly:A,open:M,disabled:X,popupSide:Z,listEmpty:Y,placeholder:"none"!==y&&!Q},ak=(0,g.useStableCallback)(a=>{x.set("triggerElement",a)});return(0,ai.useRenderElement)("button",a,{ref:[b,ad,ak],state:af,props:[I,ac,ab,{id:$,tabIndex:J?0:-1,role:J?"combobox":void 0,"aria-expanded":M,"aria-haspopup":J?"dialog":"listbox","aria-controls":d,"aria-required":J&&B||void 0,"aria-readonly":J&&A||void 0,"aria-labelledby":t??L,onPointerDown:aa,onPointerEnter:aa,onFocus(){p(!0),X||U.start(0,x.context.forceMount)},onBlur(a){(0,u.contains)(E,a.relatedTarget)||(o(!0),p(!1),"onBlur"===q&&s.commit("none"===y?T:N))},onMouseDown(a){if(X||(J||R.set("domReferenceElement",a.currentTarget),x.context.forceMount(),"touch"!==_.current&&(x.context.inputRef.current?.focus(),J||a.preventDefault()),M))return;let b=(0,ah.ownerDocument)(a.currentTarget);J&&b.addEventListener("mouseup",function(a){let b=x.state.triggerElement;if(!b)return;let c=(0,u.getTarget)(a),d=x.state.positionerElement,e=x.state.listElement;(0,u.contains)(b,c)||(0,u.contains)(d,c)||(0,u.contains)(e,c)||(0,aq.isMouseWithinBounds)(a,b)||x.context.setOpen(!1,(0,v.createChangeEventDetails)(w.REASONS.cancelOpen,a))},{once:!0})},onKeyDown(a){("ArrowDown"===a.key||"ArrowUp"===a.key)&&((0,ap.stopEvent)(a),x.context.setOpen(!0,(0,v.createChangeEventDetails)(w.REASONS.listNavigation,a.nativeEvent)),x.context.inputRef.current?.focus())}},s.getValidationProps(X,l),ae],stateAttributesMapping:an})});var aw=a.i(151086),ax=a.i(300557);let ay=c.createContext(void 0),az=c.createContext(void 0);function aA(a){let b=c.useContext(az);if(void 0===b&&!a)throw Error((0,d.default)(21));return b}let aB=c.forwardRef(function(a,c){let d=C(),{buttonRef:e,getButtonProps:f}=(0,aj.useButton)({native:!1}),g=(0,h.useMergedRefs)(c,e),i=f({onClick:function(a){d.context.setOpen(!1,(0,v.createChangeEventDetails)(w.REASONS.closePress,a.nativeEvent,a.currentTarget))}});return(0,b.jsx)("span",{ref:g,...i,"aria-label":"Dismiss",tabIndex:void 0,style:j.visuallyHiddenInput})}),aC=c.forwardRef(function(a,d){let{render:e,className:f,disabled:h=!1,id:i,style:j,...k}=a,{state:l,disabled:m,setTouched:n,setFocused:o,validationMode:p,validation:q}=(0,S.useFieldRootContext)(),{labelId:r}=(0,ao.useLabelableContext)(),s=c.useContext(ay),t=!!aA(!0),u=C(),x=F(),y=(0,ae.useDirection)(),z=u.useState("required"),A=u.useState("disabled"),B=u.useState("readOnly"),D=u.useState("name"),E=u.useState("form"),G=u.useState("selectionMode"),H=u.useState("autoHighlight"),I=u.useState("inputProps"),J=u.useState("triggerProps"),K=u.useState("open"),L=u.useState("mounted"),M=u.useState("selectedValue"),N=u.useState("id"),O=u.useState("inline"),P=u.useState("modal"),Q=!!H,R=as(u),T=m||A||h,U=at(),V=t||O,W=(0,ax.useBaseUiId)(i??(V?void 0:N)),X=t?al.DEFAULT_FIELD_STATE_ATTRIBUTES:l,[Y,Z]=c.useState(null),$=c.useRef(!1),_=c.useRef(null),aa=c.useRef(!1),ab="none"===G&&!t,ac=(0,g.useStableCallback)(a=>{let b=t||u.state.inline;b&&!u.state.hasInputValue&&u.context.setInputValue("",(0,v.createChangeEventDetails)(w.REASONS.none)),u.update({inputElement:a,inputInsidePopup:b,inputOwnsFormValue:ab})}),ad=t?k:q.getValidationProps(T,k);function af(){u.context.setIndices({activeIndex:null,selectedIndex:null,type:u.context.keyboardActiveRef.current?w.REASONS.keyboard:w.REASONS.pointer})}function ag(){u.context.keyboardActiveRef.current=!1}let ah={...X,open:K,disabled:T,readOnly:B,popupSide:R,listEmpty:U},aj=(0,ai.useRenderElement)("input",a,{state:ah,ref:[d,u.context.inputRef,ac],props:[I,J,{value:Y??x,"aria-readonly":B||void 0,"aria-required":z||void 0,"aria-labelledby":r,disabled:T,readOnly:B,required:"none"===G?z:void 0,form:E,...ab&&D&&{name:D},id:W,onFocus(){if(o(!0),!O||!aa.current)return;aa.current=!1;let a=_.current;null!=a&&Object.hasOwn(u.context.valuesRef.current,a)&&u.context.setIndices({activeIndex:a})},onBlur(){n(!0),o(!1);let a=u.state.activeIndex;if(O&&null!==a&&"always"!==H&&(_.current=a,aa.current=!0,u.context.setIndices({activeIndex:null})),"onBlur"===p){let a="none"===G?x:M;q.commit(a)}},onCompositionStart(a){aw.platform.os.android||($.current=!0,Z(a.currentTarget.value))},onCompositionEnd(a){$.current=!1;let b=a.currentTarget.value;Z(null),u.context.setInputValue(b,(0,v.createChangeEventDetails)(w.REASONS.inputChange,a.nativeEvent))},onChange(a){let b=a.nativeEvent,c=b.inputType,d=$.current||!(!c||"insertReplacementText"===c);function e(a){!B&&!T&&a&&d&&(u.context.setOpen(!0,(0,v.createChangeEventDetails)(w.REASONS.inputChange,b)),Q||af())}if($.current){let c=a.currentTarget.value;Z(c),""!==c||u.state.openOnInputClick||u.state.inputInsidePopup||u.context.setOpen(!1,(0,v.createChangeEventDetails)(w.REASONS.inputClear,b));let d=c.trim(),f=Q&&""!==d;e(d),K&&null!==u.state.activeIndex&&!f&&af();return}let f=(0,v.createChangeEventDetails)(w.REASONS.inputChange,b);if(u.context.setInputValue(a.currentTarget.value,f),f.isCanceled)return;let g=""===a.currentTarget.value,h=(0,v.createChangeEventDetails)(w.REASONS.inputClear,b);g&&!u.state.inputInsidePopup&&("single"===G&&u.context.setSelectedValue(null,h),u.state.openOnInputClick||u.context.setOpen(!1,h)),e(a.currentTarget.value.trim()),K&&null!==u.state.activeIndex&&!Q&&af()},onKeyDown(a){if(a.ctrlKey||a.shiftKey||a.altKey||a.metaKey)return;if(u.context.keyboardActiveRef.current=!0,T||B){B&&"Enter"===a.key&&K&&null!==u.state.activeIndex&&(0,ap.stopEvent)(a);return}let b=a.currentTarget,c=b.scrollWidth-b.clientWidth,d="rtl"===y;if("Home"===a.key){(0,ap.stopEvent)(a);let c=aw.platform.engine.gecko&&d?b.value.length:0;b.setSelectionRange(c,c),b.scrollLeft=0;return}if("End"===a.key){(0,ap.stopEvent)(a);let e=aw.platform.engine.gecko&&d?0:b.value.length;b.setSelectionRange(e,e),b.scrollLeft=d?-c:c;return}if(!L&&"Escape"===a.key){let b="multiple"===G&&Array.isArray(M)?0===M.length:null===M,c=(0,v.createChangeEventDetails)(w.REASONS.escapeKey,a.nativeEvent);u.context.setInputValue("",c),u.context.setSelectedValue("multiple"===G?[]:null,c),b||u.state.inline||c.isPropagationAllowed||a.stopPropagation();return}if(s&&"Backspace"===a.key&&""===b.value&&void 0===s.highlightedChipIndex&&Array.isArray(M)&&M.length>0){let b=s.chipsRef.current.length,c=b>0?b-1:M.length-1,d=M.filter((a,b)=>b!==c);af(),u.context.setSelectedValue(d,(0,v.createChangeEventDetails)(w.REASONS.none,a.nativeEvent));return}let e=s?.highlightedChipIndex!==void 0,f=function(a){let b;if(!s)return;let{highlightedChipIndex:c}=s,d=s.chipsRef.current.length,[e,f]="rtl"===y?["ArrowRight","ArrowLeft"]:["ArrowLeft","ArrowRight"];if(void 0!==c){if(a.key===e)a.preventDefault(),b=c>0?c-1:void 0;else if(a.key===f)a.preventDefault(),b=c<d-1?c+1:void 0;else if("Backspace"===a.key||"Delete"===a.key){var g;let d;a.preventDefault(),b=(d=c>=(g=M.length)-1?g-2:c)>=0?d:void 0,af()}return b}return a.key===e&&(a.currentTarget.selectionStart??0)===0&&M.length>0&&(a.preventDefault(),b=d>0?d-1:void 0),b}(a);if(s?.setHighlightedChipIndex(f),void 0!==f?s?.chipsRef.current[f]?.focus():e&&u.context.inputRef.current?.focus(),229!==a.which&&"Enter"===a.key&&K){let b=u.state.activeIndex,c=a.nativeEvent;if(null===b){if(O)return;u.context.setOpen(!1,(0,v.createChangeEventDetails)(w.REASONS.none,c));return}(0,ap.stopEvent)(a),au(u,b,c)}},onPointerMove:ag,onPointerDown:ag},ad],stateAttributesMapping:an}),ak=t?(0,b.jsx)(S.FieldRootContext.Provider,{value:S.DEFAULT_FIELD_ROOT_CONTEXT,children:aj}):aj;return(0,b.jsxs)(c.Fragment,{children:[K&&(!V||P)&&(0,b.jsx)(aB,{ref:u.context.startDismissRef}),ak]})});var aD=a.i(361813);let aE=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{state:h}=(0,S.useFieldRootContext)(),i=C(),j=i.useState("open"),k=i.useState("disabled"),l=i.useState("readOnly"),m=i.useState("hasSelectedValue"),o=i.useState("selectionMode"),p=as(i),q=at(),r={...h,open:j,disabled:k,readOnly:l,popupSide:p,listEmpty:q,placeholder:"none"!==o&&!m},s=(0,g.useStableCallback)(a=>{i.set("inputGroupElement",a)});return(0,ai.useRenderElement)("div",a,{ref:[b,s],props:[{role:"group",onMouseDown(a){!function(a,b,c,d){if(a.baseUIHandlerPrevented)return;let e=(0,u.getTarget)(a.nativeEvent),f=(0,n.isElement)(e)?e:null;f!==a.currentTarget&&(d?.(f)||(0,aD.isInteractiveElement)(f))||(a.preventDefault(),!c&&(b.context.inputRef.current?.focus(),b.state.openOnInputClick&&b.context.setOpen(!0,(0,v.createChangeEventDetails)(w.REASONS.inputPress,a.nativeEvent))))}(a,i,k,a=>(0,u.contains)(i.context.chipsContainerRef.current,a))}},f],state:r,stateAttributesMapping:an})}),aF=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a;return(0,ai.useRenderElement)("span",a,{ref:b,props:[{"aria-hidden":!0,children:"▼"},f]})});var aG=a.i(407393);let aH={...aG.transitionStatusMapping,...ak.triggerOpenStateMapping},aI=c.forwardRef(function(a,b){let{render:c,className:d,disabled:e=!1,nativeButton:f=!0,keepMounted:g=!1,style:h,...i}=a,{disabled:j}=(0,S.useFieldRootContext)(),k=C(),l=k.useState("selectionMode"),m=k.useState("disabled"),n=k.useState("readOnly"),o=k.useState("open"),p=k.useState("selectedValue"),q=k.useState("hasSelectionChips"),r=F(),s=!1;s="none"===l?""!==r:"single"===l?null!=p:q;let t=j||m||e,{buttonRef:u,getButtonProps:x}=(0,aj.useButton)({native:f,disabled:t}),{mounted:y,transitionStatus:z,setMounted:A}=(0,Z.useTransitionStatus)(s),B={disabled:t,visible:s,open:o,transitionStatus:z};(0,R.useOpenChangeComplete)({open:s,ref:k.context.clearRef,onComplete(){s||A(!1)}});let D=(0,ai.useRenderElement)("button",a,{state:B,ref:[b,u,k.context.clearRef],props:[{tabIndex:-1,children:"x",onMouseDown(a){a.preventDefault()},onClick(a){if(t||n)return;let b=k.context.keyboardActiveRef.current?w.REASONS.keyboard:w.REASONS.pointer;k.context.setInputValue("",(0,v.createChangeEventDetails)(w.REASONS.clearPress,a.nativeEvent)),"none"!==l?(k.context.setSelectedValue(Array.isArray(p)?[]:null,(0,v.createChangeEventDetails)(w.REASONS.clearPress,a.nativeEvent)),k.context.setIndices({activeIndex:null,selectedIndex:null,type:b})):k.context.setIndices({activeIndex:null,type:b}),k.context.inputRef.current?.focus()}},i,x],stateAttributesMapping:aH});return g||y?D:null}),aJ=c.createContext(null);function aK(a){let{children:d,items:e}=a,f=c.useMemo(()=>({items:e}),[e]);return(0,b.jsx)(aJ.Provider,{value:f,children:d})}function aL(a){let{children:d}=a,{filteredItems:e}=E(),f=c.useContext(aJ),g=f?f.items:e;return(0,b.jsx)(c.Fragment,{children:g.map(d)})}var aM=a.i(579923);let aN=c.forwardRef(function(a,d){var e;let{render:f,className:h,style:i,children:j,...k}=a,l=C(),m=D(),n=!!aA(!0),{filteredItems:o,hasItems:p}=E(),q=l.useState("selectionMode"),r=l.useState("grid"),s=l.useState("readOnly"),t=l.useState("listProps"),u=l.useState("virtualized"),v=l.useState("forceMounted"),w=0===o.length,x=(0,g.useStableCallback)(a=>{l.set("positionerElement",a)}),y=(0,g.useStableCallback)(a=>{l.set("listElement",a)}),z=c.useMemo(()=>"function"==typeof j?e||(e=(0,b.jsx)(aL,{children:j})):j,[j]),A=m.useState("floatingId"),B=(0,ai.useRenderElement)("div",a,{state:{empty:w},ref:[d,y,n?null:x],props:[t,{children:z,tabIndex:-1,id:A,role:r?"grid":"listbox","aria-multiselectable":"multiple"===q?"true":void 0,"aria-readonly":!r&&!!s||void 0,onKeyDown(a){if(!l.state.disabled&&!l.state.readOnly&&"Enter"===a.key){let b=l.state.activeIndex;null!=b&&((0,ap.stopEvent)(a),au(l,b,a.nativeEvent))}},onKeyDownCapture(){l.context.keyboardActiveRef.current=!0},onPointerMoveCapture(){l.context.keyboardActiveRef.current=!1}},k]});if(u)return B;let F=p&&!v?void 0:l.context.labelsRef;return(0,b.jsx)(aM.CompositeList,{elementsRef:l.context.listRef,labelsRef:F,children:B})});function aO(){let a=(0,ag.useTimeout)(),b=c.useRef(null);return c.useEffect(()=>{if(aw.platform.os.ios)return;let c=b.current;if(null==c)return;let d=function(a){let b=a.ownerDocument.createTreeWalker(a,NodeFilter.SHOW_TEXT),c=null;for(;b.nextNode();){let a=b.currentNode;""!==a.nodeValue&&(c=a)}return c}(c);if(null==d)return;let e=d.data,f=`${e}\u2060`;return d.nodeValue=f,a.start(200,()=>{d.nodeValue===f&&(d.nodeValue=e)}),()=>{a.clear(),d.nodeValue===f&&(d.nodeValue=e)}},[b,a]),b}let aP=c.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,h=aO();return(0,ai.useRenderElement)("div",a,{ref:[b,h],props:[{children:f,role:"status","aria-live":"polite","aria-atomic":!0},g]})});var aQ=a.i(354098);let aR=c.createContext(void 0),aS=c.forwardRef(function(a,c){let{keepMounted:d=!1,...e}=a,f=C(),g=f.useState("mounted"),h=f.useState("forceMounted");return g||d||h?(0,b.jsx)(aR.Provider,{value:d,children:(0,b.jsx)(aQ.FloatingPortal,{ref:c,...e})}):null}),aT={...ak.popupStateMapping,...aG.transitionStatusMapping},aU=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=C(),h=g.useState("open"),i=g.useState("mounted"),j=g.useState("transitionStatus");return(0,ai.useRenderElement)("div",a,{state:{open:h,transitionStatus:j},ref:b,stateAttributesMapping:aT,props:[{role:"presentation",hidden:!i,style:{userSelect:"none",WebkitUserSelect:"none"}},f]})});var aV=a.i(454125),aW=a.i(844871),aX=a.i(82204),aY=a.i(330076),aZ=a.i(456011),a$=a.i(402968);let a_=c.forwardRef(function(a,e){let{render:h,className:i,anchor:j,positionMethod:k,side:l,align:m,sideOffset:n,alignOffset:o,collisionBoundary:p="clipping-ancestors",collisionPadding:q,arrowPadding:r,sticky:s,disableAnchorTracking:t=!1,collisionAvoidance:u=aX.DROPDOWN_COLLISION_AVOIDANCE,style:v,...w}=a,x=C(),y=D(),z=function(){let a=c.useContext(aR);if(void 0===a)throw Error((0,d.default)(20));return a}(),A=x.useState("modal"),B=x.useState("open"),E=x.useState("mounted"),F=x.useState("openMethod"),G=x.useState("positionerElement"),H=x.useState("triggerElement"),I=x.useState("inputElement"),J=x.useState("inputGroupElement"),K=x.useState("inputInsidePopup"),L=x.useState("transitionStatus"),M=at(),N=(0,aW.useAnchorPositioning)({anchor:j??(K?H:J??I),floatingRootContext:y,positionMethod:k,mounted:E,side:l,sideOffset:n,align:m,alignOffset:o,arrowPadding:r,collisionBoundary:p,collisionPadding:q,sticky:s,disableAnchorTracking:t,keepMounted:z,collisionAvoidance:u,lazyFlip:!0});(0,a$.useAnchoredPopupScrollLock)(B&&A,"touch"===F,G,H);let O={open:B,side:N.side,align:N.align,anchorHidden:N.anchorHidden,empty:M};(0,f.useIsoLayoutEffect)(()=>{x.set("popupSide",N.side)},[x,N.side]);let P=(0,g.useStableCallback)(a=>{x.set("positionerElement",a)}),Q=(0,aZ.usePositioner)(a,O,{styles:N.positionerStyles,transitionStatus:L,props:w,refs:[e,P],hidden:!E,inert:!B});return(0,b.jsxs)(az.Provider,{value:N,children:[E&&A&&(0,b.jsx)(aY.InternalBackdrop,{inert:(0,aV.inertValue)(!B),cutout:J??I??H}),Q]})});var a0=a.i(150687),a1=a.i(3861);let a2={...ak.popupStateMapping,...aG.transitionStatusMapping},a3=c.forwardRef(function(a,d){let{render:e,className:g,style:h,initialFocus:i,finalFocus:j,...k}=a,l=C(),m=aA(),n=D(),o=l.useState("mounted"),p=l.useState("open"),q=l.useState("openMethod"),r=l.useState("popupProps"),s=l.useState("transitionStatus"),t=l.useState("inputInsidePopup"),v=l.useState("inputElement"),w=l.useState("modal"),x=l.useState("id"),y=at(),z=k.id??(t?W(x):void 0);(0,f.useIsoLayoutEffect)(()=>(l.set("popupId",l.context.popupRef.current?.id||z),()=>{l.set("popupId",void 0)}),[l,z]),(0,R.useOpenChangeComplete)({open:p,ref:l.context.popupRef,onComplete(){p&&l.context.onOpenChangeComplete(!0)}});let A={open:p,side:m.side,align:m.align,anchorHidden:m.anchorHidden,transitionStatus:s,empty:y},B=(0,ai.useRenderElement)("div",a,{state:A,ref:[d,l.context.popupRef],props:[r,{id:z,role:t?"dialog":"presentation",onFocus(a){let b=(0,u.getTarget)(a.nativeEvent);"touch"!==q&&((0,u.contains)(l.state.listElement,b)||b===a.currentTarget)&&l.context.inputRef.current?.focus()}},(0,a1.getDisabledMountTransitionStyles)(s),k],stateAttributesMapping:a2}),E=!!t&&(a=>"touch"===a?l.context.popupRef.current:v),F=!t||w;return(0,b.jsx)(a0.FloatingFocusManager,{context:n,disabled:!o,modal:F,openInteractionType:q,initialFocus:void 0===i?E:i,returnFocus:null!=j?j:!!t&&void 0,getInsideElements:()=>[l.context.startDismissRef.current,l.context.endDismissRef.current],children:(0,b.jsxs)(c.Fragment,{children:[B,F&&(0,b.jsx)(aB,{ref:l.context.endDismissRef})]})})}),a4=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=C(),{arrowRef:h,side:i,align:j,arrowUncentered:k,arrowStyles:l}=aA(),m=g.useState("open");return(0,ai.useRenderElement)("div",a,{ref:[h,b],stateAttributesMapping:ak.popupStateMapping,state:{open:m,side:i,align:j,uncentered:k},props:{style:l,"aria-hidden":!0,...f}})}),a5=c.createContext(void 0),a6=c.forwardRef(function(a,d){let{render:e,className:f,style:g,items:h,...i}=a,j=C().useState("grid"),[k,l]=c.useState(),m=c.useMemo(()=>({labelId:k,setLabelId:l,items:h}),[k,l,h]),n=(0,ai.useRenderElement)("div",a,{ref:d,props:[{role:j?"rowgroup":"group","aria-labelledby":k},i]}),o=(0,b.jsx)(a5.Provider,{value:m,children:n});return h?(0,b.jsx)(aK,{items:h,children:o}):o}),a7=c.forwardRef(function(a,b){let{render:e,className:g,style:h,id:i,...j}=a,{setLabelId:k}=function(){let a=c.useContext(a5);if(void 0===a)throw Error((0,d.default)(18));return a}(),l=(0,ax.useBaseUiId)(i);return(0,f.useIsoLayoutEffect)(()=>(k(l),()=>{k(a=>a===l?void 0:a)}),[l,k]),(0,ai.useRenderElement)("div",a,{ref:b,props:[{id:l,"aria-hidden":!0},j]})});var a8=a.i(935112),a9=a.i(492403);let ba=c.createContext(void 0),bb=c.createContext(!1);function bc(a){let{componentProps:d,forwardedRef:e,virtualized:g,indexFromFilter:h}=a,{render:i,className:j,style:k,value:l=null,index:m,disabled:n=!1,nativeButton:o=!1,...p}=d,q=c.useRef(null),r=(0,a9.useCompositeListItem)({guess:!0,index:m,textRef:q}),s=C(),t=c.useContext(bb),u=c.useContext(A),v=s.useState("selectionMode"),w=s.useState("disabled"),x=s.useState("readOnly"),y=s.useState("isItemEqualToValue"),z=w||n,B="none"!==v,D=m??h??r.index,E=-1!==D,F=s.useState("id"),G=s.useState("isActive",D),J=s.useState("isSelected",l),L=s.useState("itemProps"),M=c.useRef(null),N=null!=F&&E?`${F}-${D}`:void 0,O=J&&B;(0,f.useIsoLayoutEffect)(()=>{if(!(E&&(g||null!=m)))return;let a=s.context.listRef.current;return a[D]=M.current,()=>{delete a[D]}},[E,g,D,m,s]),(0,f.useIsoLayoutEffect)(()=>{if(!E||u)return;let a=s.context.valuesRef.current;return a[D]=l,()=>{delete a[D]}},[E,u,D,l,s]),(0,f.useIsoLayoutEffect)(()=>{if(!E||u)return;let a=s.state.selectedValue,b=s.state.selectedIndex;if("multiple"===s.state.selectionMode&&Array.isArray(a)){var c,d;c=s.context.valuesRef.current,d=b,b=I(a,l,y)?null!=d&&D>d&&I(a,c[d],y)?d:D:D===d?K(c,a,y,!0):d}else H(l,a,y)&&(b=D);s.set("selectedIndex",b)},[E,u,s,D,l,y]);let{getButtonProps:P,buttonRef:Q}=(0,aj.useButton)({disabled:z,focusableWhenDisabled:!0,native:o,composite:!0});function R(a){function b(){s.context.handleSelection(a,l)}s.state.submitOnItemClick?(a8.flushSync(b),s.context.requestSubmit()):b()}let S=(0,ai.useRenderElement)("div",d,{ref:[Q,e,r.ref,M],state:{disabled:z,selected:O,highlighted:G},props:[L,{id:N,role:t?"gridcell":"option","aria-selected":B?O:void 0,tabIndex:void 0,onPointerDownCapture(a){a.isPrimary&&(s.context.pointerDownItemRef.current=a.currentTarget),a.preventDefault()},onMouseDown(a){a.preventDefault()},onClick(a){z||x||R(a.nativeEvent)},onMouseUp(a){let b=s.context.pointerDownItemRef.current===a.currentTarget;s.context.pointerDownItemRef.current=null,z||x||0!==a.button||b||!G||R(a.nativeEvent)}},p,P]}),T=c.useMemo(()=>({selected:O,textRef:q}),[O,q]);return(0,b.jsx)(ba.Provider,{value:T,children:S})}function bd(a){let{componentProps:c,forwardedRef:d}=a,e=C().useState("isItemEqualToValue"),{flatFilteredValues:f}=E(),g=J(f,c.value??null,e);return(0,b.jsx)(bc,{componentProps:c,forwardedRef:d,virtualized:!0,indexFromFilter:g})}let be=c.memo(c.forwardRef(function(a,c){let d=C().useState("virtualized");return d&&null==a.index?(0,b.jsx)(bd,{componentProps:a,forwardedRef:c}):(0,b.jsx)(bc,{componentProps:a,forwardedRef:c,virtualized:d,indexFromFilter:void 0})})),bf=c.forwardRef(function(a,c){let{render:d,className:e,style:f,...g}=a,h=(0,ai.useRenderElement)("div",a,{ref:c,props:[{role:"row"},g]});return(0,b.jsx)(bb.Provider,{value:!0,children:h})}),bg=c.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,{filteredItems:h}=E(),i=C(),j=aO(),k=0===h.length?f:null;return(0,ai.useRenderElement)("div",a,{ref:[b,i.context.emptyRef,j],props:[{children:k,role:"status","aria-live":"polite","aria-atomic":!0},g]})}),bh=c.forwardRef(function(a,b){let{className:c,render:d,orientation:e="horizontal",style:f,...g}=a;return(0,ai.useRenderElement)("div",a,{state:{orientation:e},ref:b,props:[{role:"presentation"},g]})});a.s(["Arrow",0,a4,"Backdrop",0,aU,"Clear",0,aI,"Collection",0,aL,"Empty",0,bg,"Group",0,a6,"GroupLabel",0,a7,"Icon",0,aF,"Input",0,aC,"InputGroup",0,aE,"Item",0,be,"List",0,aN,"Popup",0,a3,"Portal",0,aS,"Positioner",0,a_,"Root",0,function(a){let d,{openOnInputClick:e=!1,value:f,defaultValue:g,onValueChange:h,mode:i="list",itemToStringValue:j,...k}=a,l=("inline"===i||"both"===i)&&!a.readOnly,m=void 0!==f,[n,o]=c.useState(g??""),[p,q]=c.useState("");c.useEffect(()=>{(m||!l)&&q("")},[f,m,l]),d=l&&""!==p?p:m?f??"":n;let r=Y({locale:k.locale}),s=String((m?f:n)??"").trim(),t="inline"===i||"none"===i||null===k.filter?null:k.filter??r.contains;return(0,b.jsx)(af,{...k,itemToStringLabel:j,openOnInputClick:e,selectionMode:"none",fillInputOnItemPress:!0,filter:t,filterQuery:"both"===i?s:void 0,autoComplete:i,inputValue:d,defaultInputValue:g,onInputValueChange:function(a,b){q(""),m||o(a),h?.(a,b)},onItemHighlighted:function(b,c){a.onItemHighlighted?.(b,c),c.reason!==w.REASONS.pointer&&q(l&&null!=b?O(b,j):"")}})},"Row",0,bf,"Separator",0,bh,"Status",0,aP,"Trigger",0,av,"Value",0,function(a){let{children:d}=a,e=F(),f=null;return f="function"==typeof d?d(String(e)):null!=d?d:e,(0,b.jsx)(c.Fragment,{children:f})},"useFilter",0,Y,"useFilteredItems",0,function(){return E().filteredItems}],628466);var bi=a.i(628466),bi=bi,bj=a.i(752562),bk=a.i(589027),bl=a.i(158983),bm=a.i(340695),bn=a.i(205522),bo=a.i(497895);a.s(["Combobox",0,function({value:a,onChange:d,options:e,placeholder:f,empty:g="Nothing matches",note:h="Not on the list? Type it, then save.",loading:i=!1,disabled:j=!1,className:k,"aria-label":l}){let m=new Set(e.map(a=>a.value.toLowerCase())),[n,o]=(0,c.useState)(a),[p,q]=(0,c.useState)(a);p!==a&&(q(a),o(a));let r=n.trim(),s=""!==r&&r!==a;return(0,b.jsxs)(bi.Root,{items:e,value:n,onValueChange:(a,b)=>{o(a),"item-press"===b.reason&&d(a)},itemToStringValue:a=>a.value,filter:(a,b)=>{let c;return!!(!(c=b.trim().toLowerCase())||m.has(c))||[a.value,a.label,a.badge].filter(Boolean).some(a=>String(a).toLowerCase().includes(c))},openOnInputClick:!0,disabled:j,children:[(0,b.jsxs)("div",{className:(0,bo.cn)("flex gap-2",k),children:[(0,b.jsxs)(bi.InputGroup,{className:"relative min-w-0 flex-1",children:[(0,b.jsx)(bi.Input,{placeholder:f,"aria-label":l,spellCheck:!1,className:(0,bo.cn)(bn.inputClassName,"pr-8 font-mono text-sm")}),(0,b.jsx)(bi.Trigger,{"aria-label":"Show suggestions",className:"absolute inset-y-0 right-0 flex w-8 items-center justify-center text-muted-foreground transition-colors outline-none hover:text-foreground focus-visible:text-foreground disabled:opacity-50",children:i?(0,b.jsx)(bl.LoaderCircle,{className:"size-3.5 animate-spin"}):(0,b.jsx)(bk.ChevronDown,{className:"size-3.5"})})]}),s&&!j&&(0,b.jsx)(bm.Button,{variant:"outline",className:"shrink-0",onClick:()=>d(r),children:"Save"})]}),(0,b.jsx)(bi.Portal,{children:(0,b.jsx)(bi.Positioner,{sideOffset:4,className:"isolate z-50 outline-none",children:(0,b.jsxs)(bi.Popup,{className:"max-h-(--available-height) w-max min-w-(--anchor-width) max-w-[min(28rem,var(--available-width))] origin-(--transform-origin) rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",children:[h&&(0,b.jsx)("p",{className:"px-1.5 pt-1 pb-1.5 text-[11px] text-muted-foreground",children:h}),(0,b.jsx)(bi.Empty,{className:"px-2 py-2 font-mono text-[11px] text-muted-foreground empty:hidden",children:i?"Loading":g}),(0,b.jsx)(bi.List,{className:"max-h-64 overflow-y-auto outline-none",children:c=>(0,b.jsxs)(bi.Item,{value:c,className:"flex cursor-default items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground",children:[(0,b.jsx)("span",{className:"flex-1 whitespace-nowrap",children:c.label}),c.badge&&(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:c.badge}),c.hint&&c.hint!==c.label&&(0,b.jsx)("span",{className:"min-w-0 shrink truncate font-mono text-[11px] text-muted-foreground",children:c.hint}),(0,b.jsx)(bj.Check,{className:(0,bo.cn)("size-3.5 shrink-0",c.value===a.trim()?"opacity-100":"opacity-0")})]},c.value)})]})})})]})}],825715)},897020,a=>{"use strict";var b=a.i(187924);a.s([],804434),a.i(804434);var c=a.i(572131),d=a.i(801811),e=a.i(357738),f=a.i(462824),g=a.i(524715),h=a.i(394552),i=a.i(307436),j=a.i(407393),k=a.i(827576);let l={checked:a=>a?{"data-checked":""}:{"data-unchecked":""},...j.transitionStatusMapping,...k.fieldValidityMapping};var m=a.i(85933),n=a.i(300557),o=a.i(926184),p=a.i(221436),q=a.i(579587),r=a.i(796511),s=a.i(1230),t=a.i(832362),u=a.i(77260),v=a.i(346919),w=a.i(769476);let x=c.createContext(void 0);var y=a.i(376224),z=a.i(854662);let A=c.createContext(void 0),B=c.forwardRef(function(a,j){let{render:k,className:z,disabled:B=!1,readOnly:C=!1,required:D=!1,"aria-labelledby":E,value:F,inputRef:G,nativeButton:H=!1,id:I,style:J,...K}=a,L=c.useContext(x),{disabled:M,readOnly:N,required:O,form:P,checkedValue:Q,touched:R=!1,validation:S,name:T,setCheckedValue:U=g.NOOP,setTouched:V=g.NOOP,registerInputRef:W=g.NOOP}=L??{},{setTouched:X,setFilled:Y,state:Z,disabled:$}=(0,s.useFieldRootContext)(),_=(0,t.useFieldItemContext)(),{labelId:aa,getDescriptionProps:ab}=(0,u.useLabelableContext)(),ac=$||_.disabled||M||B,ad=N||C,ae=O||D,af=L?Q===F:""===F,ag=c.useRef(null),ah=c.useRef(null),ai=S?.registerInput,aj=c.useCallback(a=>ai?.(a,{controlRef:ag,value:void 0}),[ai]),ak=(0,d.useMergedRefs)(G,ah,W,aj);(0,e.useIsoLayoutEffect)(()=>{ah.current?.checked&&Y(!0)},[Y]),(0,e.useIsoLayoutEffect)(()=>{if(ah.current){if(ac&&af)return void W(null);W(ah.current)}},[af,ac,W]);let al=(0,n.useBaseUiId)(),am=(0,w.useLabelableId)({id:I}),an=H?void 0:am,ao={role:"radio","aria-checked":af,"aria-labelledby":(0,v.useAriaLabelledBy)(E,aa,ah,!H,an),[q.ACTIVE_COMPOSITE_ITEM]:af?"":void 0,id:H?am:al,onKeyDown(a){"Enter"===a.key&&a.preventDefault()},onClick(a){if(a.defaultPrevented||ac||ad)return;a.preventDefault();let b=ah.current;b&&(0,m.dispatchClickWithModifiers)(b,a)},onFocus(a){a.defaultPrevented||ac||ad||!R||(ah.current?.click(),V(!1))}},{getButtonProps:ap,buttonRef:aq}=(0,p.useButton)({disabled:ac,native:H,composite:!1}),ar={type:"radio",ref:ak,form:P,id:an,name:T,tabIndex:-1,style:T?f.visuallyHiddenInput:f.visuallyHidden,"aria-hidden":!0,...void 0!==F?{value:(0,y.serializeValue)(F)}:g.EMPTY_OBJECT,disabled:ac,checked:af,required:ae,readOnly:ad,onChange(a){if(a.nativeEvent.defaultPrevented||ac||ad||void 0===F)return;let b=(0,h.createChangeEventDetails)(i.REASONS.none,a.nativeEvent);U(F,b),b.isCanceled||X(!0)},onClick(a){a.stopPropagation()},onFocus(){ag.current?.focus()}},as=c.useMemo(()=>({...Z,required:ae,disabled:ac,readOnly:ad,checked:af}),[Z,ac,ad,af,ae]),at=void 0!==L,au=[j,ag,aq],av=[ao,K,ap,ab,S?a=>S.getValidationProps(ac,a):g.EMPTY_OBJECT],aw=(0,o.useRenderElement)("span",a,{enabled:!at,state:as,ref:au,props:av,stateAttributesMapping:l});return(0,b.jsxs)(A.Provider,{value:as,children:[at?(0,b.jsx)(r.CompositeItem,{tag:"span",render:k,className:z,style:J,state:as,refs:au,props:av,stateAttributesMapping:l}):aw,(0,b.jsx)("input",{...ar,suppressHydrationWarning:!0})]})});var C=a.i(305687),D=a.i(348250);let E=c.forwardRef(function(a,b){let{render:d,className:e,style:f,keepMounted:g=!1,...h}=a,i=function(){let a=c.useContext(A);if(void 0===a)throw Error((0,z.default)(52));return a}(),j=i.checked,{mounted:k,transitionStatus:m,setMounted:n}=(0,D.useTransitionStatus)(j),p={...i,transitionStatus:m},q=c.useRef(null),r=(0,o.useRenderElement)("span",a,{ref:[b,q],state:p,props:h,stateAttributesMapping:l});return((0,C.useOpenChangeComplete)({batch:!0,enabled:!j,open:j,ref:q,onComplete(){j||n(!1)}}),g||k)?r:null});a.s(["Indicator",0,E,"Root",0,B],642851);var F=a.i(642851),F=F,G=a.i(950381),H=a.i(854401),I=a.i(30116),J=a.i(669649),K=a.i(801548),L=a.i(958589),M=a.i(717326),N=a.i(971154),O=a.i(541302),P=a.i(964072);let Q=[J.SHIFT],R=c.forwardRef(function(a,d){let{render:e,className:f,disabled:g,readOnly:h,required:i,onValueChange:j,value:l,defaultValue:m,form:o,name:p,inputRef:q,id:r,style:t,...v}=a,{setTouched:w,setFocused:y,validationMode:z,name:A,disabled:B,state:C,validation:D,setDirty:E,setFilled:F,validityData:J}=(0,s.useFieldRootContext)(),{labelId:R}=(0,u.useLabelableContext)(),{clearErrors:S,elementRef:T}=(0,O.useFormContext)(),U=(0,N.useFieldsetRootContext)(!0),V=B||g,W=A??p,X=(0,n.useBaseUiId)(r),[Y,Z]=(0,G.useControlled)({controlled:l,default:m,name:"RadioGroup",state:"value"}),[$,_]=c.useState(!1),aa=(0,H.useStableCallback)((a,b)=>{j?.(a,b),b.isCanceled||Z(a)}),ab=D.getInputControl,ac=c.useMemo(()=>({get current(){return ab()}}),[ab]),ad=c.useRef(null),ae=c.useRef(null);function af(a){let b;return q&&("function"==typeof q?b=q(a):q.current=a),ad.current=a,b}let ag=(0,H.useStableCallback)(a=>{if(!a||a.disabled)return;ae.current||(ae.current=a);let b=ad.current,c=a.checked||null==b||b.disabled?af(a):void 0;return()=>{ae.current===a&&(ae.current=null),ad.current===a?c?(c(),ad.current=null):af(null):c?.()}}),ah=(0,H.useStableCallback)(()=>{let a=T.current;if(!a)return Y??null;for(let b of D.registeredInputs.keys())if(b.checked&&(0,M.isEligibleInput)(b,a))return Y??null;return null});(0,L.useRegisterFieldControl)(ac,X,Y??null,ah,!V,p),(0,P.useValueChanged)(Y,()=>{S(W),E(Y!==J.initialValue),F(null!=Y),D.change(Y);let a=ae.current;null==Y&&a&&!a.disabled&&af(a)});let ai=R??U?.legendId,aj={...C,disabled:V??!1,required:i??!1,readOnly:h??!1},ak=c.useMemo(()=>({checkedValue:Y,disabled:V,form:o,validation:D,name:W,readOnly:h,registerInputRef:ag,required:i,setCheckedValue:aa,setTouched:_,touched:$}),[Y,V,o,D,W,h,ag,i,aa,_,$]);return(0,b.jsx)(x.Provider,{value:ak,children:(0,b.jsx)(K.CompositeRoot,{render:e,className:f,style:t,state:aj,props:[{id:r,role:"radiogroup","aria-required":i||void 0,"aria-disabled":V||void 0,"aria-readonly":h||void 0,"aria-labelledby":ai,onFocus(){y(!0)},onBlur(a){(0,I.contains)(a.currentTarget,a.relatedTarget)||(w(!0),y(!1),"onBlur"===z&&D.commit(Y))},onKeyDownCapture(a){a.key.startsWith("Arrow")&&(_(!0),y(!0))}},v,a=>D.getValidationProps(V??!1,a)],refs:[d],stateAttributesMapping:k.fieldValidityMapping,enableHomeAndEndKeys:!1,modifierKeys:Q})})});var S=a.i(497895);a.s(["RadioGroup",0,function({className:a,...c}){return(0,b.jsx)(R,{"data-slot":"radio-group",className:(0,S.cn)("grid w-full gap-2",a),...c})},"RadioGroupItem",0,function({className:a,...c}){return(0,b.jsx)(F.Root,{"data-slot":"radio-group-item",className:(0,S.cn)("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-brand data-checked:bg-brand data-checked:text-brand-foreground group-has-[:focus-visible]/field-label:data-checked:border-brand dark:data-checked:bg-brand",a),...c,children:(0,b.jsx)(F.Indicator,{"data-slot":"radio-group-indicator",className:"flex size-4 items-center justify-center",children:(0,b.jsx)("span",{className:"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-brand-foreground"})})})}],897020)},102306,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(141146),f=a.i(866491),g=a.i(951675),h=a.i(572131),i=a.i(767561),j=a.i(340695),k=a.i(446181),l=a.i(545097),m=a.i(950463),n=a.i(446334),o=a.i(287702),p=a.i(8468),q=a.i(619477),r=a.i(199169),s=a.i(313237),t=a.i(862966),u=a.i(497895),v=a.i(618856),w=a.i(51612),x=a.i(27418),y=a.i(346075),z=b([p]);[p]=z.then?(await z)():z;let G={running:"working",waiting:"waiting on you",done:"done",cancelled:"stopped"},H={running:"text-muted-foreground",waiting:u.WAITING_INK,done:"text-muted-foreground",cancelled:"text-muted-foreground"},I="h-[min(34rem,58vh)] min-h-64 px-1";function A(){let{items:a,isLoading:b,isLoadingMore:c,error:e,hasMore:f,sentinelRef:l,refresh:m}=(0,t.useServerPages)({key:(a,b)=>{if(0===a)return i.queryKey.callHistory(null);let c=b?.at(-1);return c?i.queryKey.callHistory((0,r.toDate)(c.startedAt).toISOString()):null},size:o.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),n=(0,h.useMemo)(()=>[...a].reverse(),[a]),[p,v]=(0,s.useServerAction)(w.deleteEndedCallsAction,{okMessage:a=>1===a?"1 call deleted":`${a} calls deleted`,onOk:m}),x=async()=>{await k.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})&&p()},y=(0,h.useRef)(null),z=(0,h.useRef)(!1),A=(0,h.useRef)(0);(0,h.useLayoutEffect)(()=>{let a=y.current;a&&0!==n.length&&(z.current?a.scrollTop=a.scrollHeight-A.current:(z.current=!0,a.scrollTop=a.scrollHeight),A.current=a.scrollHeight-a.scrollTop)},[n]);let D=a=>(0,d.jsx)(q.SettingDialogContent,{title:"Call history",description:`Everything said on the line, oldest at the top.${n.length>0?" Scroll up for older calls.":""}`,children:a});return D(b?(0,d.jsx)("div",{className:(0,u.cn)(I,"overflow-hidden"),children:(0,d.jsx)(B,{})}):e?(0,d.jsx)(q.SettingError,{message:e.message}):(0,d.jsx)(d.Fragment,{children:0===n.length?(0,d.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,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{ref:y,onScroll:a=>{let b=a.currentTarget;A.current=b.scrollHeight-b.scrollTop},className:(0,u.cn)(I,"overflow-y-auto overscroll-contain pb-6"),children:[(0,d.jsx)(q.SettingMore,{hasMore:f,loading:c,sentinelRef:l,count:1,ghost:(0,d.jsx)(B,{})}),n.map((a,b)=>(0,d.jsx)(C,{call:a,first:0===b,onDropped:m},a.id))]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsxs)(j.Button,{variant:"ghost",loading:v,onClick:x,className:"text-muted-foreground hover:text-destructive",children:[(0,d.jsx)(g.Trash2,{}),"Delete all"]})})]})}))}function B(){return(0,d.jsxs)("div",{className:"pb-3",children:[(0,d.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,d.jsx)(m.Skeleton,{className:"h-3 w-24"}),(0,d.jsx)(m.Skeleton,{className:"h-3 w-10"})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(m.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,d.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,d.jsx)(m.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,d.jsx)(m.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let J=a=>"user"===a.role?"user":"her";function C({call:a,first:b,onDropped:c}){let[e,f]=(0,s.useServerAction)(v.deleteCallAction,{okMessage:"Call deleted",onOk:c}),h=(0,r.toDate)(a.startedAt),i=a.turns.at(-1),l=a.endedAt&&i?function(a,b){let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3));if(c<60)return`${c}s`;let d=Math.floor(c/60);return d<60?`${d}m ${String(c%60).padStart(2,"0")}s`:`${Math.floor(d/60)}h ${String(d%60).padStart(2,"0")}m`}(h,(0,r.toDate)(i.at)):"on the line",m=async()=>{await k.notify.confirm({title:`Delete the call from ${(0,r.whenOf)(h)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&e(a.id)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,u.cn)("group flex items-center gap-2.5",b?"mt-1":"mt-11"),children:[(0,d.jsx)("span",{title:[a.provider,a.model,a.backendModel,null===a.seconds?null:`${a.seconds}s active`,a.endedReason].filter(Boolean).join(" · "),className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,r.whenOf)(h)}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:a.model===o.TEXT_CALL.model?`${l} \xb7 in writing`:l}),(0,d.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:a.endedAt&&(0,d.jsx)(j.Button,{size:"icon-sm",variant:"ghost",loading:f,"aria-label":"Delete this call",onClick:m,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,d.jsx)(g.Trash2,{})})})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(a){let b=[];for(let c of a){let a=b.at(-1);if(a&&"tool"===c.role&&"tool"===a.turn.role&&a.turn.tool===c.tool&&a.turn.text===c.text){a.repeats+=1;continue}b.push({turn:c,repeats:1})}return b})(a.turns).map(({turn:b,repeats:c},e,f)=>{var g,h;let i,j=f[e-1]?.turn,k=f[e+1]?.turn;return(0,d.jsx)(D,{turn:b,job:(g=a,h=b,(i=(0,x.startedLabel)(h.tool,h.text))?g.jobs.find(a=>a.label===i):void 0),repeats:c,opensRun:!j||J(j)!==J(b),closesRun:!k||J(k)!==J(b)},b.id)})]})}function D({turn:a,job:b,opensRun:c,closesRun:e,repeats:f=1}){return"tool"===a.role?(0,d.jsx)(F,{turn:a,job:b,repeats:f,opensRun:c}):"user"===a.role?(0,d.jsx)("div",{className:(0,u.cn)("flex justify-end",c?"mt-3":"mt-1"),children:(0,d.jsx)("p",{className:(0,u.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep wrap-anywhere whitespace-pre-wrap",e&&"rounded-br-sm"),children:a.text})}):(0,d.jsxs)("div",{className:(0,u.cn)("flex items-start gap-2",c?"mt-3":"mt-1"),children:[(0,d.jsx)(E,{face:c,className:"mt-0.5"}),(0,d.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep wrap-anywhere whitespace-pre-wrap",children:a.text})]})}function E({face:a,className:b}){return(0,d.jsx)("span",{className:(0,u.cn)("grid size-[18px] shrink-0 place-items-center",b),children:a&&(0,d.jsx)(y.ThursdayMark,{size:18})})}function F({turn:a,job:b,repeats:c,opensRun:e}){let f=a.tool??"",g=(0,p.toolIcon)(f),h=(0,x.toolLine)(f,a.text),i=(0,x.searchOf)(a.tool,a.text)?.sources??[];return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,u.cn)("flex items-center gap-2",e?"mt-3":"mt-1.5"),children:[(0,d.jsx)(E,{face:e}),(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,d.jsx)(g,{className:"size-3 shrink-0"}),h&&(0,d.jsx)("span",{className:"truncate text-[11px] break-keep",children:h}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:f}),c>1&&(0,d.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",c]})]})]}),i.length>0&&(0,d.jsx)(n.SourceChips,{sources:i,className:"mt-1 ml-[26px]"}),b&&(0,d.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===b.status?(0,d.jsx)(l.ShinyText,{text:G.running,className:"shrink-0 font-mono text-[10px]"}):(0,d.jsx)("span",{className:(0,u.cn)("shrink-0 font-mono text-[10px]",H[b.status]),children:G[b.status]}),b.outcome&&"running"!==b.status&&(0,d.jsx)("span",{className:"truncate text-muted-foreground",children:(0,u.plainText)(b.outcome)})]})]})}a.s(["CallHistoryRow",0,function(){return(0,d.jsxs)("button",{type:"button",onClick:()=>k.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,d.jsx)(A,{})}),className:"flex w-full min-w-0 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,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.Phone,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,d.jsx)(e.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})}]),c()}catch(a){c(a)}},!1),922056,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(752562),f=a.i(340345),g=a.i(585650),h=a.i(13931),i=a.i(853783),j=a.i(26268),k=a.i(572131),l=a.i(767561),m=a.i(340695),n=a.i(825715),o=a.i(205522),p=a.i(446181),q=a.i(630342),r=a.i(897020),s=a.i(777794),t=a.i(950463),u=a.i(280281),v=a.i(546893),w=a.i(287702),x=a.i(852307),y=a.i(908531),z=a.i(96340),A=a.i(61876),B=a.i(905441),C=a.i(249049),D=a.i(404153),E=a.i(619477),F=a.i(102306),G=a.i(346075),H=a.i(203282),I=a.i(439205),J=a.i(461512),K=a.i(359006),L=a.i(926919),M=a.i(888396),N=a.i(332033),O=a.i(249890),P=a.i(313237),Q=a.i(759497),R=a.i(497895),S=b([F]);function T({columns:a,children:b}){return(0,d.jsx)("div",{className:"@container",children:(0,d.jsx)("div",{className:(0,R.cn)("grid divide-y divide-border/60 overflow-hidden rounded-xl border border-border/60",3===a?"@3xl:grid-cols-3 @3xl:divide-x @3xl:divide-y-0":"@xl:grid-cols-2 @xl:divide-x @xl:divide-y-0"),children:b})})}function U({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex min-h-5 items-center gap-3",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:a}),b]})}[F]=S.then?(await S)():S;let am={chatgpt:{model:O.LIVE_PLAN_MODEL,label:"GPT Subscription"},openai:{model:O.LIVE_MODEL,label:"OpenAI key"}};function V({value:a,has:b,plan:c,onChange:e}){let f=(0,z.liveLineOf)(a.runsOn,b,c),g=a=>(0,z.liveLineReady)(a,b,c),h=b(A.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName),[i,j]=(0,k.useState)(null),l=i&&!g(i)?i:null,m="chatgpt"===f;return(0,d.jsx)(E.SettingGroup,{label:"Models",note:`Both run on ${m?"your GPT Subscription":"your OpenAI key"}. Instructions are saved when you leave the field.`,children:(0,d.jsxs)("div",{className:"@container divide-y divide-border/60 rounded-xl border border-border/60",children:[!f&&(0,d.jsx)($,{plan:h?(0,A.planName)(c)??"":null}),(0,d.jsxs)(W,{name:"Voice",fact:m?"on your plan":"billed by the minute",children:[f&&(0,d.jsxs)(Y,{label:"runs on",children:[(0,d.jsx)(s.Segmented,{options:z.LIVE_LINES.map(a=>({value:a,label:function(a,{ready:b,set:c,plan:d}){let{label:e}=am[a];return c&&!b?`${e} \xb7 ${d??"plan"} \xb7 no calls`:b?"chatgpt"===a&&d?`${e} \xb7 ${d}`:e:`${e} \xb7 ${"chatgpt"===a?"sign in":"add"}`}(a,{ready:g(a),set:b(A.TEXT_MODEL_PROVIDERS[a].apiKeyName),plan:(0,A.planName)(c)})})),value:l??f,onChange:a=>{j(g(a)?null:a),e({runsOn:a})},"aria-label":"What a call runs on"}),l?(0,d.jsx)(Z,{line:l,runsOn:f,plan:h?(0,A.planName)(c):null}):(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground/70",children:am[f].model})]}),(0,d.jsx)(Y,{label:"voice",children:m?(0,d.jsx)(n.Combobox,{value:a.planVoice,onChange:a=>e({planVoice:a.trim()||z.LIVE_DEFAULTS.planVoice}),options:z.LIVE_PLAN_VOICES.map(a=>({value:a,label:a})),"aria-label":"Voice on the GPT Subscription"}):(0,d.jsx)(H.VoicePicker,{voice:a.voice,onChange:a=>e({voice:a.trim()||z.LIVE_DEFAULTS.voice})})}),(0,d.jsx)(Y,{label:"style",children:(0,d.jsx)(X,{value:a.persona,own:a.stylePrompt,onPersona:a=>e({persona:a}),onOwn:a=>e({stylePrompt:a})})})]}),(0,d.jsxs)(W,{name:"Backend",fact:m?"on your plan":"billed per token",children:[(0,d.jsx)(Y,{label:"model",children:(0,d.jsx)(_,{value:a.backendModel,onChange:a=>e({backendModel:a})})}),(0,d.jsx)(Y,{label:"effort",children:(0,d.jsx)(y.EffortSwitch,{provider:"openai",model:a.backendModel,value:a.reasoningEffort,onChange:a=>e({reasoningEffort:a})})}),(0,d.jsx)(Y,{label:"tools",children:(0,d.jsx)(aa,{webSearch:a.webSearch,readSkills:a.readSkills,onChange:e})}),(0,d.jsx)(Y,{label:"instructions",children:(0,d.jsx)(ad,{value:a.backendPrompt,onCommit:a=>e({backendPrompt:a}),placeholder:"How work should be handed over, what to check first.","aria-label":"Backend instructions"})})]})]})})}function W({name:a,fact:b,children:c}){return(0,d.jsxs)("div",{className:"grid gap-4 p-5 @2xl:grid-cols-[8.5rem_minmax(0,1fr)] @2xl:gap-6",children:[(0,d.jsxs)("span",{className:"space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:a}),(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:b})]}),(0,d.jsx)("div",{className:"min-w-0 space-y-4",children:c})]})}function X({value:a,own:b,onPersona:c,onOwn:g}){let[h,i]=(0,k.useState)(!1),[j,l]=(0,k.useState)(!1),m=B.PERSONAS.find(b=>b.id===a)??B.PERSONAS.find(a=>a.id===B.DEFAULT_PERSONA)??B.PERSONAS[0];return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(q.Popover,{open:h,onOpenChange:i,children:[(0,d.jsx)(q.PopoverTrigger,{render:(0,d.jsxs)("button",{type:"button",className:"flex w-full items-center gap-3 rounded-lg border px-3 py-2.5 text-left transition-colors hover:bg-muted/50",children:[(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:m.label}),(0,d.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:m.about})]}),(0,d.jsx)(f.ChevronsUpDown,{className:"size-4 shrink-0 text-muted-foreground"})]})}),(0,d.jsxs)(q.PopoverContent,{align:"start",className:"w-104 p-1.5",children:[(0,d.jsx)("p",{className:"px-2 py-1.5 text-xs text-muted-foreground",children:"How she talks to you. It never changes what she can do."}),B.PERSONAS.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>{c(a.id),i(!1)},className:(0,R.cn)("flex w-full items-baseline gap-3 rounded-md px-2 py-1.5 text-left",a.id===m.id?E.PICKED_ROW:"hover:bg-muted/60"),children:[(0,d.jsx)("span",{className:"w-20 shrink-0 text-sm font-medium",children:a.label}),(0,d.jsx)("span",{className:"min-w-0 flex-1 text-xs text-muted-foreground",children:a.about}),a.id===m.id&&(0,d.jsx)(e.Check,{className:"size-3.5 shrink-0 text-brand"})]},a.id)),(0,d.jsxs)("button",{type:"button",onClick:()=>{l(!0),i(!1)},className:(0,R.cn)("flex w-full items-baseline gap-3 rounded-md px-2 py-1.5 text-left",b.trim()?E.PICKED_ROW:"hover:bg-muted/60"),children:[(0,d.jsx)("span",{className:"w-20 shrink-0 text-sm font-medium",children:"Your own"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 text-xs text-muted-foreground",children:"Say it in your words, over the one above."}),b.trim()?(0,d.jsx)(e.Check,{className:"size-3.5 shrink-0 text-brand"}):null]})]})]}),j||b.trim()?(0,d.jsx)(ad,{value:b,onCommit:g,placeholder:"Quieter. Don't explain things I didn't ask about.","aria-label":"In your own words"}):null]})}function Y({label:a,children:b}){return(0,d.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:a}),b]})}function Z({line:a,runsOn:b,plan:c}){let[e,f]=(0,k.useState)(""),[g,h]=(0,P.useServerAction)(D.setConfigAction,{onOk:()=>{(0,Q.revalidate)(l.queryKey.llmModel),(0,Q.revalidate)(l.queryKey.config),f("")}}),i=e.trim().length>=w.KEY_MIN;return(0,d.jsxs)("div",{className:"space-y-2.5 pt-1",children:[(0,d.jsxs)("span",{className:"block text-xs text-muted-foreground",children:["chatgpt"===a?c?`The ${c} plan runs bots and calls in writing, but not spoken calls. Sign in again with a paid plan.`:"Sign in with ChatGPT and calls run on your plan, with no bill by the minute.":"Paste an OpenAI API key. OpenAI bills a call by the minute, apart from ChatGPT."," ","Until then a call runs on your ",am[b].label,"."]}),"chatgpt"===a?(0,d.jsx)(x.ChatGptSignIn,{variant:"brand",size:"sm",label:c?"Sign in again":void 0}):(0,d.jsx)(C.KeyInput,{dense:!0,provider:z.LIVE_PROVIDER,saved:!1,autoFocus:!0,value:e,ready:i,saving:h,onValue:f,onSubmit:()=>i&&g(z.LIVE_PROVIDER.apiKeyName,e)})]})}function $({plan:a}){return(0,d.jsxs)("div",{className:"space-y-3 p-5",children:[(0,d.jsxs)("span",{className:"block space-y-0.5",children:[(0,d.jsx)("span",{className:(0,R.cn)("block text-sm font-medium",R.WAITING_INK),children:null===a?"No GPT Subscription or OpenAI key":`Your ${a?`${a} `:""}plan has no spoken calls`}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Her voice and the backend both run on one of them"})]}),(0,d.jsx)("div",{className:"max-w-md",children:(0,d.jsx)(C.CallLines,{})})]})}function _({value:a,onChange:b}){let c=z.LIVE_BACKEND_MODELS.some(b=>b.id===a),f=(0,M.useDraft)(c?"":a,a=>b(a||z.LIVE_DEFAULTS.backendModel),{min:0});return(0,d.jsxs)("div",{className:"@container space-y-2",children:[(0,d.jsx)("div",{role:"radiogroup","aria-label":"Backend model",className:"grid grid-cols-2 gap-2 @2xl:grid-cols-4",children:z.LIVE_BACKEND_MODELS.map(c=>{let f=c.id===a;return(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":f,onClick:()=>b(c.id),className:(0,R.cn)("min-w-0 space-y-0.5 rounded-lg border px-3 py-2.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"border-brand bg-brand/4":"border-border/60 hover:bg-muted/50"),children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:c.label}),f&&(0,d.jsx)(e.Check,{className:"size-3.5 shrink-0 text-brand"})]}),(0,d.jsxs)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:[c.id," · ",c.tier]})]},c.id)})}),(0,d.jsx)(o.Input,{value:f.value,onChange:a=>f.set(a.target.value),onBlur:f.commit,onKeyDown:f.onKeyDown,placeholder:"Other model id","aria-label":"Other backend model id",spellCheck:!1,className:"font-mono text-sm"})]})}function aa({webSearch:a,readSkills:b,onChange:c}){return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex flex-wrap gap-x-7 gap-y-3",children:[(0,d.jsx)(ab,{label:"Search the web",checked:a,onChange:a=>c({webSearch:a})}),(0,d.jsx)(ab,{label:"Read skills herself",checked:b,onChange:a=>c({readSkills:a})})]}),a&&(0,d.jsx)(E.SettingNote,{children:"Each search adds to the backend's OpenAI usage."}),b&&(0,d.jsx)(ac,{})]})}function ab({label:a,checked:b,disabled:c,onChange:e}){return(0,d.jsxs)("label",{className:"flex items-center gap-2.5 text-sm",children:[(0,d.jsx)(u.Switch,{checked:b,disabled:c,onCheckedChange:e}),a]})}function ac(){let{data:a}=(0,Q.useServerRoute)(l.queryKey.skills);return a?(0,d.jsx)(E.SettingNote,{className:(0,R.cn)(!a.length&&R.WAITING_INK),children:a.length?`The same ${a.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 ad({value:a,onCommit:b,placeholder:c,"aria-label":e}){let f=(0,M.useDraft)(a,b,{min:0});return(0,d.jsx)(v.Textarea,{value:f.value,maxLength:w.COMMON_VALIDATE.prompt.max,onChange:a=>f.set(a.target.value),onBlur:f.commit,placeholder:c,"aria-label":e})}function ae(){let[a,b]=(0,P.useServerAction)(I.resetHistoryAction,{okMessage:({calls:a,threads:b,notes:c})=>`Wiped ${a} calls, ${b} jobs, ${c} notes`,onOk:()=>{(0,Q.revalidate)(l.queryKey.memory),(0,Q.revalidate)(l.queryKey.threads),(0,Q.revalidate)(l.queryKey.callHistory(null))}}),c=async()=>{await p.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay, and so does what each bot keeps for itself.",okText:"Reset",destructive:!0})&&a()};return(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3 p-4",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(j.TriangleAlert,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:"Reset history"}),(0,d.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"Calls, jobs and memory. Keys and bots stay."})]}),(0,d.jsx)(m.Button,{variant:"outline",size:"sm",loading:b,onClick:c,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})}function af(){let{data:a}=(0,Q.useServerRoute)(l.queryKey.running);if(!a)return(0,d.jsx)(t.Skeleton,{className:"h-16 w-full rounded-xl"});let{where:b,mac:c,command:e,start:f,home:g}=a,j={background:{title:"In the background",hint:"Starts when you log in, and comes back if it stops.",how:e&&{label:"To stop it",run:`${e} stop`}},terminal:{title:"In a terminal",hint:"Closing that terminal stops Thursday.",how:f&&c?{label:"To keep it running without one, press Ctrl+C there and run",run:f}:null},source:{title:"From source",hint:"pnpm dev in a terminal. Closing it stops Thursday.",how:null},elsewhere:{title:"Started by something else",hint:"It stops the way it was started.",how:null}}[b];return(0,d.jsxs)("div",{className:"space-y-3 rounded-xl border border-border/60 p-4",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:"background"===b?(0,d.jsx)(h.Power,{className:"size-4"}):(0,d.jsx)(i.SquareTerminal,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:j.title}),(0,d.jsxs)("span",{className:"block text-xs text-muted-foreground",children:[j.hint,"terminal"!==b||c?"":" Running in the background is macOS only for now."]}),(0,d.jsx)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:g})]})]}),j.how&&(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pl-13 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{children:j.how.label}),(0,d.jsx)("code",{className:"rounded-md bg-muted px-1.5 py-0.5 font-mono text-[11px] text-foreground",children:j.how.run}),(0,d.jsx)(ag,{text:j.how.run})]})]})}function ag({text:a}){let[b,c]=(0,k.useState)(!1);return(0,d.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:()=>void navigator.clipboard.writeText(a).then(()=>{c(!0),setTimeout(()=>c(!1),2e3)}),children:[b?(0,d.jsx)(e.Check,{}):(0,d.jsx)(g.Copy,{}),b?"Copied":"Copy"]})}let an={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Both sides",hint:"Hers on the left, yours on the right. Click a line to read it again."}};function ah({value:a,onChange:b}){return(0,d.jsx)(E.SettingGroup,{label:"Captions",children:(0,d.jsx)("div",{className:"@container",children:(0,d.jsx)("div",{role:"radiogroup","aria-label":"Captions",className:"grid gap-3 @xl:grid-cols-2",children:J.CAPTION_VIEWS.map(c=>{let f=c===a;return(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":f,onClick:()=>b(c),className:(0,R.cn)("min-w-0 space-y-3 rounded-xl border p-3 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"border-brand bg-brand/4":"border-border/60 hover:bg-muted/50"),children:[(0,d.jsx)(ai,{view:c}),(0,d.jsxs)("span",{className:"flex items-center gap-3 px-1 pb-0.5",children:[(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:an[c].label}),(0,d.jsx)("span",{className:"block text-xs text-pretty text-muted-foreground",children:an[c].hint})]}),f&&(0,d.jsx)(e.Check,{className:"size-4 shrink-0 text-brand"})]})]},c)})})})})}function ai({view:a}){let b="block h-1 max-w-full rounded-full bg-foreground/20";return(0,d.jsx)("span",{className:"flex h-24 items-center justify-center rounded-lg bg-muted",children:"center"===a?(0,d.jsxs)("span",{className:"flex flex-col items-center gap-2.5",children:[(0,d.jsx)(G.ThursdayMark,{size:32}),(0,d.jsx)("span",{className:(0,R.cn)(b,"w-28")})]}):(0,d.jsxs)("span",{className:"grid w-full grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-4 px-6",children:[(0,d.jsxs)("span",{className:"space-y-1.5",children:[(0,d.jsx)("span",{className:(0,R.cn)(b,"w-24")}),(0,d.jsx)("span",{className:(0,R.cn)(b,"w-16")})]}),(0,d.jsx)(G.ThursdayMark,{size:32}),(0,d.jsx)("span",{children:(0,d.jsx)("span",{className:(0,R.cn)(b,"ml-auto w-20")})})]})})}function aj({value:a,onChange:b}){return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(U,{label:"She calls you"}),(0,d.jsx)(r.RadioGroup,{"aria-label":"She calls you",value:a,onValueChange:a=>b(J.CallBackSchema.parse(a)),className:"gap-2.5",children:J.CALL_BACK_MODES.map(a=>(0,d.jsxs)("label",{className:"flex min-w-0 items-center gap-2.5 text-sm",children:[(0,d.jsx)(r.RadioGroupItem,{value:a}),(0,d.jsx)("span",{className:"truncate",children:J.CALL_BACK_LABEL[a]})]},a))}),(0,d.jsx)(E.SettingNote,{children:ao[a]}),"off"!==a&&(0,d.jsx)(E.SettingNote,{children:"Needs this tab open. It rings until you answer, decline or let it go."})]})}let ao={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 rings you to tell you."};function ak({value:a,onChange:b}){let c=(0,M.useDraft)(a.phrase,c=>b({...a,phrase:c}),{min:J.WAKE_PHRASE.min,accepts:J.isEnglishPhrase}),e=(0,J.isEnglishPhrase)(c.value)||!c.value.trim(),f=c.value.trim().split(/\s+/).length<2;return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(U,{label:"Wake phrase",children:(0,d.jsx)(u.Switch,{"aria-label":"Answer to her name",checked:a.enabled,onCheckedChange:c=>b({...a,enabled:c})})}),(0,d.jsx)(o.Input,{value:c.value,maxLength:J.WAKE_PHRASE.max,spellCheck:!1,disabled:!a.enabled,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,d.jsx)(E.SettingNote,{children:a.enabled?e?f?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count.":"English words only — she listens for it in English.":"Between calls, the browser listens for it and picks up — Chrome by sending what it hears to Google."})]})}function al({value:a,onChange:b}){let[c,e]=(0,k.useState)(!1),[f,g]=(0,k.useState)(!1),h=(0,N.useHotkeyLabel)((0,N.isCombo)(a.combo)?a.combo:null);return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(U,{label:"Shortcut",children:(0,d.jsx)(u.Switch,{"aria-label":"Answer to a key",checked:a.enabled,onCheckedChange:c=>b({...a,enabled:c})})}),(0,d.jsx)("button",{type:"button",...N.HOTKEY_CAPTURE,disabled:!a.enabled,onClick:()=>{g(!1),e(!0)},onBlur:()=>e(!1),onKeyDown:c?c=>{if("Tab"===c.key)return;if(c.preventDefault(),c.stopPropagation(),"Escape"===c.key)return e(!1);let d=(0,N.comboOf)(c.nativeEvent);if(!d)return g(!0);g(!1),e(!1),b({...a,combo:d})}:void 0,className:(0,R.cn)("flex h-8 w-full items-center justify-center rounded-lg border px-3 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50",c?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:c?"Press the keys…":h??"Set a shortcut"}),(0,d.jsx)(E.SettingNote,{children:f?"Hold Ctrl, Alt or Cmd — a plain key is typing.":c?"Esc to keep the one you have.":a.enabled?"Only while this tab has focus. Not while you are typing.":"Starts a call, and ends the one that is running."})]})}a.s(["ThursdaySetting",0,function(){let a=(0,K.useThursdayStore)(),b=(0,K.useThursdayStore)(a=>a.patch),{settings:c,patch:e}=(0,L.useLiveSettings)(),{data:f=[],isLoading:g,error:h}=(0,Q.useServerRoute)(l.queryKey.llmModel);return g||!c?(0,d.jsx)(E.SettingSkeleton,{rows:4}):h?(0,d.jsx)(E.SettingError,{message:h.message}):(0,d.jsxs)(E.SettingScreen,{footer:(0,d.jsx)(E.SettingRailNote,{children:"Both of her prompts are assembled fresh on every call — memory, the roster and your skills go in. Changes here apply from the next call."}),children:[(0,d.jsx)(ah,{value:a.captionView,onChange:a=>b({captionView:a})}),(0,d.jsx)(V,{value:c,has:a=>f.some(b=>b.apiKeyName===a&&b.hasKey),plan:f.find(a=>"chatgpt"===a.id)?.plan??null,onChange:e}),(0,d.jsx)(E.SettingGroup,{label:"Starting a call",children:(0,d.jsxs)(T,{columns:3,children:[(0,d.jsx)(ak,{value:a.wake,onChange:a=>b({wake:a})}),(0,d.jsx)(al,{value:a.hotkey,onChange:a=>b({hotkey:a})}),(0,d.jsx)(aj,{value:a.callBack,onChange:a=>b({callBack:a})})]})}),(0,d.jsx)(E.SettingGroup,{label:"Running",children:(0,d.jsx)(af,{})}),(0,d.jsx)(E.SettingGroup,{label:"History",children:(0,d.jsxs)(T,{columns:2,children:[(0,d.jsx)(F.CallHistoryRow,{}),(0,d.jsx)(ae,{})]})})]})}]),c()}catch(a){c(a)}},!1),203282,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(589027),e=a.i(474215),f=a.i(572131),g=a.i(340695),h=a.i(205522),i=a.i(545097),j=a.i(864037),k=a.i(96340),l=a.i(445432),m=a.i(483253),n=a.i(497895);let o=Array(m.SPECTRUM_BANDS).fill(0);a.s(["VoicePicker",0,function({voice:a,onChange:p}){let[q,r]=(0,f.useState)(!1),[s,t]=(0,f.useState)(a),[u,v]=(0,f.useState)(!1),[w,x]=(0,f.useState)(""),y=(0,f.useRef)(null),z=(0,f.useRef)(null),A=(0,f.useRef)(0),B=(0,f.useRef)(!1),C=(0,f.useCallback)(()=>z.current&&B.current?z.current.clip.read():o,[]),D=a=>{B.current=a,v(a)};(0,f.useEffect)(()=>{if(q)return()=>{let a=z.current;z.current=null,a&&(a.element.pause(),a.clip.close())}},[q]);let E=(a,b)=>{a===A.current&&(A.current++,D(!1),j.toast.add({type:"error",title:"Voice sample did not play",description:(0,n.errorToString)(b)}))},F=()=>{A.current++;let a=y.current;a&&(a.pause(),a.currentTime=0),D(!1)};return q?(0,b.jsxs)("div",{className:"@container space-y-2",children:[(0,b.jsx)("audio",{ref:y,onEnded:()=>D(!1),onError:a=>{B.current&&E(A.current,a.currentTarget.error?.message||"The clip could not be read.")},children:(0,b.jsx)("track",{kind:"captions"})}),(0,b.jsxs)("div",{className:"rounded-xl border border-border/60 p-3",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:"click a name to hear it"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",className:"ml-auto","aria-label":"Close",onClick:()=>{F(),r(!1),x(""),t(a)},children:(0,b.jsx)(e.X,{})})]}),(0,b.jsxs)("div",{className:"grid gap-4 @md:grid-cols-[11rem_minmax(0,1fr)]",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,b.jsx)(l.Face,{status:u?"speaking":"idle",getSpectrum:C,className:"w-44"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:u?(0,b.jsx)(i.ShinyText,{text:s}):s}),(0,b.jsx)("span",{className:"h-4 font-mono text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[s]})]}),(0,b.jsx)("div",{className:"max-h-56 min-w-0 overflow-y-auto",children:k.LIVE_VOICES.map(d=>(0,b.jsxs)("button",{type:"button",onClick:()=>(a=>{let b=y.current;if(!b)return;if(u&&a===s)return void F();t(a),x(""),z.current?.element!==b&&(z.current?.clip.close(),z.current={element:b,clip:(0,m.createClipTap)(b)}),z.current.clip.resume();let c=++A.current;b.src=(0,k.voiceSamplePath)(a),D(!0),b.play().catch(a=>{a instanceof DOMException&&"AbortError"===a.name||E(c,a)})})(d),className:(0,n.cn)("flex w-full items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none hover:bg-accent focus-visible:bg-accent",d===s&&"bg-accent text-accent-foreground"),children:[(0,b.jsx)("span",{className:"flex-1 text-left",children:u&&d===s?(0,b.jsx)(i.ShinyText,{text:d}):d}),(0,b.jsx)("span",{className:"shrink truncate font-mono text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[d]}),(0,b.jsx)(c.Check,{className:(0,n.cn)("size-3.5 shrink-0",d===a?"opacity-100":"opacity-0")})]},d))})]})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(h.Input,{value:w,onChange:a=>x(a.target.value),placeholder:"another voice id","aria-label":"Another voice id",spellCheck:!1,className:"font-mono text-sm"}),(0,b.jsx)(g.Button,{className:"shrink-0",onClick:()=>{let b=w.trim()||s;F(),r(!1),x(""),t(b),b!==a&&p(b)},children:"Save"})]})]}):(0,b.jsxs)("button",{type:"button",onClick:()=>r(!0),"aria-label":"Voice",className:(0,n.cn)(h.inputClassName,"flex items-center gap-2 text-left font-mono text-sm hover:border-ring"),children:[(0,b.jsx)("span",{className:"shrink-0",children:a}),(0,b.jsx)("span",{className:"min-w-0 truncate text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[a]}),(0,b.jsx)(d.ChevronDown,{className:"ml-auto size-3.5 shrink-0 text-muted-foreground"})]})}])},439205,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fd369b721f078067b8d1c80238665c6e9b456cb4a",b.callServer,void 0,b.findSourceMapURL,"resetHistoryAction");a.s(["resetHistoryAction",0,c])},618856,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fed2c8a9e8c1b49ba5e31f6c4547cd59c66b3e210",b.callServer,void 0,b.findSourceMapURL,"deleteCallAction");a.s(["deleteCallAction",0,c])},51612,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7ffa66145398fbedd7d4f9082c21bf1cd5fdbe1812",b.callServer,void 0,b.findSourceMapURL,"deleteEndedCallsAction");a.s(["deleteEndedCallsAction",0,c])},888396,a=>{"use strict";var b=a.i(572131),c=a.i(332033);a.s(["useDraft",0,function(a,d,{min:e=1,accepts:f=()=>!0}={}){let[g,h]=(0,b.useState)(a),[i,j]=(0,b.useState)(a);return a!==i&&(j(a),h(a)),{value:g,set:h,commit:()=>{let b=g.trim();if(b.length<e||!f(b))return h(a);h(b),b!==a&&d(b)},onKeyDown:a=>{"Enter"!==a.key||(0,c.composing)(a)||a.currentTarget.blur()}}}])},376224,a=>{"use strict";a.s(["serializeValue",0,function(a){if(null==a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}])},866491,a=>{"use strict";var b=a.i(164831);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["Phone",0,d],866491)},13931,a=>{"use strict";var b=a.i(164831);let c={name:"power",size:24,node:[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]};c.node;let d=(0,b.default)(c);a.s(["Power",0,d],13931)},853783,a=>{"use strict";var b=a.i(164831);let c={name:"square-terminal",size:24,node:[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],aliases:["terminal-square"]};c.node;let d=(0,b.default)(c);a.s(["SquareTerminal",0,d],853783)}];
1
+ module.exports=[825715,a=>{"use strict";var b=a.i(187924);a.s([],901524),a.i(901524);var c=a.i(572131),d=a.i(854662),e=a.i(950381),f=a.i(357738),g=a.i(854401),h=a.i(801811),i=a.i(389862),j=a.i(462824),k=a.i(779549),l=a.i(417498),m=a.i(524715),n=a.i(426476),o=a.i(138939),p=a.i(175550),q=a.i(509301),r=a.i(331973),s=a.i(796e3);function t(a,b,c,d,e,f,g,h,i,j=2){let k=(0,s.getGridNavigatedIndex)(c.current,{event:a,orientation:d,loopFocus:e,rtl:f,cols:j,disabledIndices:g,minIndex:h,maxIndex:i,prevIndex:b>i?h:b,stopEvent:!0});return(0,s.isIndexOutOfListBounds)(c.current,k)?void 0:k}var u=a.i(30116),v=a.i(394552),w=a.i(307436);let x=c.createContext(void 0),y=c.createContext(void 0),z=c.createContext(void 0),A=c.createContext(!1),B=c.createContext("");function C(){let a=c.useContext(x);if(!a)throw Error((0,d.default)(22));return a}function D(){let a=c.useContext(y);if(!a)throw Error((0,d.default)(23));return a}function E(){let a=c.useContext(z);if(!a)throw Error((0,d.default)(24));return a}function F(){return c.useContext(B)}let G=(a,b)=>Object.is(a,b);function H(a,b,c){return null==a||null==b?Object.is(a,b):c(a,b)}function I(a,b,c){return!!a&&a.some(a=>void 0!==a&&H(b,a,c))}function J(a,b,c){return a?a.findIndex(a=>void 0!==a&&H(a,b,c)):-1}function K(a,b,c,d){let e=d&&Array.isArray(b)?a.findIndex(function(a,b){if(b!==G)return c=>I(a,c,b);let c=new Set(a);return c.delete(void 0),b=>c.has(b)&&(0!==b||a.some(a=>Object.is(b,a)))}(b,c)):J(a,b,c);return -1===e?null:e}var L=a.i(376224);function M(a){var b;return"object"==typeof(b=a?.[0])&&null!=b&&Array.isArray(b.items)}function N(a){return M(a)?a.flatMap(a=>a.items):a}function O(a,b){if(b&&null!=a)return b(a)??"";if(a&&"object"==typeof a){if("label"in a&&null!=a.label)return String(a.label);if("value"in a)return String(a.value)}return(0,L.serializeValue)(a)}function P(a,b){return b&&null!=a?b(a)??"":a&&"object"==typeof a&&"value"in a&&"label"in a?(0,L.serializeValue)(a.value):(0,L.serializeValue)(a)}let Q={id:a=>a.id,labelId:a=>a.labelId,items:a=>a.items,selectedValue:a=>a.selectedValue,hasSelectionChips:a=>{let b=a.selectedValue;return Array.isArray(b)&&b.length>0},hasSelectedValue:a=>{let{selectedValue:b,selectionMode:c}=a;return null!=b&&(!("multiple"===c&&Array.isArray(b))||b.length>0)},hasNullItemLabel:(a,b)=>!!b&&function(a){if(!Array.isArray(a))return null!=a&&"null"in a;if(M(a)){for(let b of a)for(let a of b.items)if(a&&null==a.value&&null!=a.label)return!0;return!1}for(let b of a)if(b&&null==b.value&&null!=b.label)return!0;return!1}(a.items),open:a=>a.open,mounted:a=>a.mounted,forceMounted:a=>a.forceMounted,inline:a=>a.inline,activeIndex:a=>a.activeIndex,selectedIndex:a=>a.selectedIndex,isActive:(a,b)=>a.activeIndex===b,isSelected:(a,b)=>{let c=a.isItemEqualToValue,d=a.selectedValue;return Array.isArray(d)?d.some(a=>H(b,a,c)):H(b,d,c)},transitionStatus:a=>a.transitionStatus,popupProps:a=>a.popupProps,listProps:a=>a.listProps,inputProps:a=>a.inputProps,triggerProps:a=>a.triggerProps,itemProps:a=>a.itemProps,positionerElement:a=>a.positionerElement,listElement:a=>a.listElement,popupId:a=>a.popupId,triggerElement:a=>a.triggerElement,inputElement:a=>a.inputElement,inputGroupElement:a=>a.inputGroupElement,popupSide:a=>a.popupSide,openMethod:a=>a.openMethod,inputInsidePopup:a=>a.inputInsidePopup,inputOwnsFormValue:a=>a.inputOwnsFormValue,selectionMode:a=>a.selectionMode,name:a=>a.name,form:a=>a.form,disabled:a=>a.disabled,readOnly:a=>a.readOnly,required:a=>a.required,grid:a=>a.grid,virtualized:a=>a.virtualized,itemToStringLabel:a=>a.itemToStringLabel,isItemEqualToValue:a=>a.isItemEqualToValue,modal:a=>a.modal,autoHighlight:a=>a.autoHighlight};var R=a.i(305687),S=a.i(1230),T=a.i(958589),U=a.i(541302),V=a.i(769476);function W(a){return null==a?void 0:`${a}-popup`}let X=new Map,Y=function(a={}){let b={usage:"search",sensitivity:"base",ignorePunctuation:!0,...a},c=`${function a(b){return Array.isArray(b)?b.map(b=>a(b)).join(","):null==b?"":String(b)}(a.locale)}|${JSON.stringify(b)}`,d=X.get(c);if(d)return d;let e=new Intl.Collator(a.locale,b),f={contains(a,b,c){if(!b)return!0;let d=O(a,c);for(let a=0;a<=d.length-b.length;a+=1)if(0===e.compare(d.slice(a,a+b.length),b))return!0;return!1},startsWith(a,b,c){if(!b)return!0;let d=O(a,c);return 0===e.compare(d.slice(0,b.length),b)},endsWith(a,b,c){if(!b)return!0;let d=O(a,c),f=b.length;return d.length>=f&&0===e.compare(d.slice(d.length-f),b)}};return X.set(c,f),f};var Z=a.i(348250),$=a.i(629752),_=a.i(964072),aa=a.i(284204),ab=a.i(676459);let ac=Symbol("none"),ad={value:ac,index:-1};var ae=a.i(162903);function af(a){let s,C,{id:D,onOpenChangeComplete:E,defaultSelectedValue:F=null,selectedValue:L,onSelectedValueChange:W,defaultInputValue:X,inputValue:af,open:ag,defaultOpen:ah=!1,selectionMode:ai,onItemHighlighted:aj,name:ak,form:al,disabled:am=!1,readOnly:an=!1,required:ao=!1,inputRef:ap,grid:aq=!1,items:ar,filteredItems:as,filter:at,filterQuery:au,openOnInputClick:av=!0,autoHighlight:aw=!1,keepHighlight:ax=!1,highlightItemOnHover:ay=!0,loopFocus:az=!0,itemToStringLabel:aA,itemToStringValue:aB,isItemEqualToValue:aC=G,virtualized:aD=!1,inline:aE=!1,fillInputOnItemPress:aF=!0,modal:aG=!1,limit:aH=-1,autoComplete:aI="list",formAutoComplete:aJ,locale:aK,submitOnItemClick:aL=!1}=a,{clearErrors:aM}=(0,U.useFormContext)(),{setDirty:aN,validityData:aO,setFilled:aP,name:aQ,disabled:aR,setTouched:aS,setFocused:aT,validationMode:aU,validation:aV}=(0,S.useFieldRootContext)(),aW=(0,ae.useDirection)(),aX=(0,V.useLabelableId)({id:D}),aY=Y({locale:aK}),aZ=Array.isArray(ar)?null:ar;if(aZ&&"function"!=typeof aZ.label)throw Error((0,d.default)(100));let a$=aZ?aZ.data:ar,a_=aZ?.value,a0=a_?void 0:a$,a1=c.useMemo(()=>{let a;if(!as||!a_)return;let b=N(as),c=b.map(a_);return{values:c,findItem(d,e){if(!a){a=new Map;for(let d=0;d<c.length;d+=1)a.has(c[d])||a.set(c[d],b[d])}var f=a;let g=f.get(d);if(void 0!==g||e===G)return g;for(let[a,b]of f)if(H(a,d,e))return b}}},[as,a_]),a2=c.useMemo(()=>aZ?a=>aZ.label(a,aC,a=>{let b=a1?.findItem(a,aC);return null!=b?aZ.itemLabel(b):O(a,aA)}):aA,[aZ,aA,a1,aC]),a3=c.useMemo(()=>aZ?Object.assign(a=>aZ.itemLabel(a),{selected:a=>O(a,a2)}):aA,[aZ,a2,aA]);function a4(a){return O(a,a2)}let[a5,a6]=c.useState(!1),[a7,a8]=c.useState(null),a9=c.useRef(a7),ba=c.useRef([]),bb=c.useRef([]),bc=c.useRef(null),bd=c.useRef(null),be=c.useRef(null),bf=c.useRef(null),bg=c.useRef(null),bh=c.useRef(!0),bi=c.useRef(!1),bj=c.useRef(null),bk=c.useRef(null),bl=c.useRef(null),bm=c.useRef(ad),bn=c.useRef(null),bo=c.useRef([]),bp=c.useRef(null),bq=aR||am,br=aQ??ak,bs="multiple"===ai,bt="single"===ai,bu=void 0!==af||void 0!==X,bv=void 0!==a$,bw=void 0!==as;s="always"===aw?"always":!!aw&&"input-change";let[bx,by]=(0,e.useControlled)({controlled:L,default:bs?F??m.EMPTY_ARRAY:F,name:"Combobox",state:"selectedValue"}),bz=c.useMemo(()=>null===at?()=>!0:void 0!==at?at:(a,b)=>null!=a&&aY.contains(a,b,a3),[at,aY,a3]),bA=(0,k.useRefWithInit)(()=>bu?X??"":bt?a4(bx):"").current,[bB,bC]=(0,e.useControlled)({controlled:af,default:bA,name:"Combobox",state:"inputValue"}),[bD,bE]=(0,e.useControlled)({controlled:ag,default:ah,name:"Combobox",state:"open"}),bF=M(a$),bG=bD||null===a7?String(bB).trim():a7,bH=bt?a4(bx):"",bI=bt&&!a5&&""!==bG&&bH.length===bG.length&&aY.contains(bH,bG),bJ=bI?"":au??bG,bK=bv&&bw&&bI&&(!aZ||aZ.hasValue(bx,aC)),bL=c.useMemo(()=>a$?N(a$):m.EMPTY_ARRAY,[a$]),bM=c.useMemo(()=>{if(as&&!bK)return as;if(!a$)return m.EMPTY_ARRAY;if(bF){let a=[],b=0;for(let c of a$){if(aH>-1&&b>=aH)break;let d=aH>-1?aH-b:1/0,e=""===bJ?c.items.slice(0,d):[];if(""!==bJ)for(let a of c.items){if(e.length>=d)break;bz(a,bJ,a3)&&e.push(a)}if(e.length>0){let d={...c,items:e};a.push(d),b+=e.length}}return a}if(""===bJ)return aH>-1?bL.slice(0,aH):bL;let a=[];for(let b of bL){if(aH>-1&&a.length>=aH)break;bz(b,bJ,a3)&&a.push(b)}return a},[as,bK,a$,bF,bJ,aH,bz,a3,bL]),bN=c.useMemo(()=>{if(a1&&bM===as)return a1.values;let a=N(bM);return a_?a.map(a=>a_(a)):a},[bM,as,a1,a_]),bO=(0,k.useRefWithInit)(()=>{let a=null;return aE&&bD&&bv&&"none"!==ai&&(a=K(bN,bx,aC,bs)),new l.ReactStore({id:aX,labelId:void 0,selectedValue:bx,open:bD,items:a0,selectionMode:ai,name:br,form:al,disabled:bq,readOnly:an,required:ao,grid:aq,virtualized:aD,openOnInputClick:av,itemToStringLabel:a2,isItemEqualToValue:aC,modal:aG,autoHighlight:s,submitOnItemClick:aL,hasInputValue:bu,mounted:!1,forceMounted:!1,transitionStatus:"idle",inline:aE,activeIndex:null,selectedIndex:a,popupProps:{},listProps:{},inputProps:{},triggerProps:{},itemProps:m.EMPTY_OBJECT,positionerElement:null,listElement:null,popupId:void 0,triggerElement:null,inputElement:null,inputGroupElement:null,popupSide:null,openMethod:null,inputInsidePopup:!0,inputOwnsFormValue:"none"===ai},{onOpenChangeComplete:m.NOOP,setOpen:m.NOOP,setInputValue:m.NOOP,setSelectedValue:m.NOOP,setIndices:m.NOOP,handleSelection:m.NOOP,forceMount:m.NOOP,requestSubmit:m.NOOP,listRef:ba,labelsRef:bb,popupRef:bc,emptyRef:bg,inputRef:bd,startDismissRef:be,endDismissRef:bf,keyboardActiveRef:bh,chipsContainerRef:bj,clearRef:bk,valuesRef:bo,pointerDownItemRef:bp,selectionEventRef:bl},Q)}).current,bP="none"===ai?bB:bx,bQ=c.useMemo(()=>"none"===ai?bP:Array.isArray(bx)?bx.map(a=>P(a,aB)):P(bx,aB),[bP,aB,ai,bx]),bR=(0,g.useStableCallback)(aj),bS=(0,g.useStableCallback)(E),bT=bO.useState("activeIndex"),bU=bO.useState("selectedIndex"),bV=bO.useState("positionerElement"),bW=bO.useState("listElement"),bX=bO.useState("triggerElement"),bY=bO.useState("inputElement"),bZ=bO.useState("inputGroupElement"),b$=bO.useState("inline"),b_=bO.useState("inputInsidePopup"),b0=bO.useState("inputOwnsFormValue"),b1=bt&&!b_&&bB===bH,b2=(0,i.useValueAsRef)(bX),{mounted:b3,setMounted:b4,transitionStatus:b5}=(0,Z.useTransitionStatus)(bD),{openMethod:b6,triggerProps:b7}=(0,$.useOpenInteractionType)(bD),b8=(0,g.useStableCallback)(()=>bQ);(0,T.useRegisterFieldControl)(b_?b2:bd,aX,bP,b8,!bq,ak);let b9=(0,g.useStableCallback)(()=>{a$?bb.current=bN.map(a4):bO.set("forceMounted",!0)}),ca=(0,g.useStableCallback)((a,b,c)=>{if(-1===b){if(bm.current===ad)return;bm.current=ad}else bm.current={value:a,index:b};bR(a,(0,v.createGenericEventDetails)(c,void 0,{index:b}))}),cb=(0,g.useStableCallback)(a=>{let b={};void 0!==a.activeIndex&&(b.activeIndex=a.activeIndex),void 0!==a.selectedIndex&&(b.selectedIndex=a.selectedIndex),bO.update(b);let c=a.activeIndex;if(void 0===c)return;let d=a.type||w.REASONS.none;null===c?ca(void 0,-1,d):ca(bo.current[c],c,d)}),cc=(0,g.useStableCallback)((b,c)=>{if(a.onInputValueChange?.(b,c),!c.isCanceled){if(bi.current=c.reason===w.REASONS.inputClear,c.reason===w.REASONS.inputChange){bD&&null!==a7&&a8(null);let a=c.event,d=a.inputType;if("compositionend"===a.type||null!=d&&""!==d&&"insertReplacementText"!==d){let a=""!==b.trim();a&&a6(!0),bn.current={hasQuery:a};let c=bO.state.listElement;if(!bO.state.virtualized&&c){let a=bc.current;for(let b of(0,n.getOverflowAncestors)(c.firstElementChild??c)){if(!(0,n.isHTMLElement)(b)||(a?!(0,u.contains)(a,b):"dialog"===b.getAttribute("role")))break;if(function(a,b=!1){let{overflowY:c}=(0,n.getComputedStyle)(a);return("auto"===c||"scroll"===c)&&(b?a.clientHeight>0:a.scrollHeight>a.clientHeight)}(b)){b.scrollTop=0;break}}}a&&s&&null==bO.state.activeIndex&&(bD||b$)&&bO.set("activeIndex",0)}}else c.reason===w.REASONS.inputClear&&""===b&&bO.state.inputInsidePopup&&(bn.current={hasQuery:!1,selection:!0});bC(b)}}),cd=(0,g.useStableCallback)(a=>{let b=!a&&b_&&!b$&&""!==bB&&(String(bB).trim()===a7||bB===bH);!a&&(b||""===bB||b1)&&a6(!1),a8(null),b&&cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear))}),ce=(0,g.useStableCallback)((b,c)=>{if(bD!==b&&(c.reason===w.REASONS.escapeKey&&bv&&0===bN.length&&!bg.current&&c.allowPropagation(),a.onOpenChange?.(b,c),!c.isCanceled&&(b&&null!==a7&&cd(c.reason===w.REASONS.inputChange),!b&&a5&&(bt?(b$||a8(bG),""===bG&&a6(!1)):bs&&(b$||a8(bG),b_&&cb({activeIndex:null}),(!b_||b$)&&cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear,c.event,void 0,{isItemPress:c.reason===w.REASONS.itemPress})))),bE(b),!b&&b_&&(c.reason===w.REASONS.focusOut||c.reason===w.REASONS.outsidePress))&&(aS(!0),aT(!1),"onBlur"===aU))){let a="none"===ai?bB:bx;aV.commit(a)}}),cf=(0,g.useStableCallback)((a,b)=>{W?.(a,b),b.isCanceled||(by(a),("none"===ai&&bc.current&&aF||bt&&!bO.state.inputInsidePopup)&&cc(a4(a),(0,v.createChangeEventDetails)(b.reason,b.event)))}),cg=(0,g.useStableCallback)((a,b)=>{let c=(0,u.getTarget)(a),d=bl.current??a;bl.current=null;let e=(0,v.createChangeEventDetails)(w.REASONS.itemPress,d),f=c?.closest("a")?.getAttribute("href");if(f){f.startsWith("#")&&ce(!1,e);return}if(bs){let a=Array.isArray(bx)?bx:[],c=I(a,b,aC);if(cf(c?a.filter(a=>!H(b,a,aC)):[...a,b],e),e.isCanceled||!(bd.current&&""!==bd.current.value.trim()))return;if(bO.state.inputInsidePopup){cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear,e.event,void 0,{isItemPress:!0}));let a=bn.current;a&&!c&&(a.toggledValue=b)}else ce(!1,e)}else{if(cf(b,e),e.isCanceled)return;ce(!1,e)}}),ch=(0,g.useStableCallback)(()=>{let a=aV.inputRef.current?.form??bO.state.inputElement?.form;a&&"function"==typeof a.requestSubmit&&a.requestSubmit()}),ci=(0,g.useStableCallback)(()=>{if(b4(!1),bS?.(!1),a6(!1),a8(null),"none"===ai?cb({activeIndex:null,selectedIndex:null}):cb({activeIndex:null}),bs&&bd.current&&""!==bd.current.value&&!bi.current&&cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear)),bt)if(bO.state.inputInsidePopup)bd.current&&""!==bd.current.value&&cc("",(0,v.createChangeEventDetails)(w.REASONS.inputClear));else{let a=a4(bx);if(bd.current&&bd.current.value!==a){let b=""===a?w.REASONS.inputClear:w.REASONS.none;cc(a,(0,v.createChangeEventDetails)(b))}}}),cj=c.useMemo(()=>b$&&bV?{current:bV.closest('[role="dialog"]')}:bc,[b$,bV]);(0,R.useOpenChangeComplete)({enabled:!a.actionsRef,open:bD,ref:cj,onComplete(){bD||ci()}}),c.useImperativeHandle(a.actionsRef,()=>({unmount:ci}),[ci]),(0,f.useIsoLayoutEffect)(function(){let a=null!==a9.current&&null===a7;a9.current=a7,(!bD||a&&bv)&&(bD||(bp.current=null),"none"===ai||cb({selectedIndex:K(bv?bN:bo.current,bx,aC,bs)}))},[bD,a7,bx,ai,bs,bv,bN,aC,cb]),(0,f.useIsoLayoutEffect)(()=>{a$&&(bo.current=bN,ba.current.length=bN.length)},[a$,bN]),(0,f.useIsoLayoutEffect)(()=>{let a=bn.current;if(a){let b=bD||b$||bO.state.positionerElement?.hidden===!1;if(a.hasQuery)s&&b&&bO.set("activeIndex",0),bn.current=null;else if(""===String(bB).trim()&&(bn.current=null,b)){let b=a.selection;"always"!==s||b||"none"!==bO.state.selectionMode||bO.set("activeIndex",0),queueMicrotask(()=>{if(!bO.state.open&&!bO.state.inline||bd.current&&""!==bd.current.value.trim())return;let c=bO.state.selectedValue,d="multiple"===bO.state.selectionMode;if(d&&Array.isArray(c)?c.length>0:"none"!==bO.state.selectionMode&&null!=c){let b=bv||bw?bN:bo.current,e=J(b,a.toggledValue,bO.state.isItemEqualToValue);bO.set("activeIndex",-1!==e?e:K(b,c,bO.state.isItemEqualToValue,d))}else b?bO.set("activeIndex",null):"always"===s&&bO.set("activeIndex",0)})}}if(!bD&&!b$)return;let b=bv||bw?bN:bo.current,c=bO.state.activeIndex;if(null==c)return"always"===s&&b.length>0?void bO.set("activeIndex",0):void ca(void 0,-1,w.REASONS.none);if(c>=b.length){ca(void 0,-1,w.REASONS.none),bO.set("activeIndex",null);return}let d=b[c],e=bm.current.value,f=e!==ac&&H(d,e,bO.state.isItemEqualToValue);bm.current.index===c&&f||ca(d,c,w.REASONS.none)},[bT,s,ca,bw,bv,bN,b$,bD,bO,bB]),(0,f.useIsoLayoutEffect)(()=>{"none"===ai?aP(""!==String(bB)):aP(bs?Array.isArray(bx)&&bx.length>0:null!=bx)},[aP,ai,bB,bx,bs]),c.useEffect(()=>{bv&&s&&0===bN.length&&cb({activeIndex:null})},[bv,s,bN.length,cb]);let ck=!1;function cl(){ck||bB===bH||(ck=!0,cc(bH,(0,v.createChangeEventDetails)(w.REASONS.none)))}function cm(){!bt||bu||b_||a5||cl()}(0,_.useValueChanged)(bG,function(){bD&&""!==bG&&bG!==String(bA)&&!b1&&a6(!0)}),(0,_.useValueChanged)(bD,function(){bD&&null!==a7&&cd(!1)}),(0,_.useValueChanged)(bx,function(){if("none"!==ai){var a;aM(br),aN((a=aO.initialValue,Array.isArray(bx)&&Array.isArray(a)?!function(a,b,c=Object.is){let{length:d}=a;if(d!==b.length)return!1;for(let e=0;e<d;e+=1)if(!c(a[e],b[e]))return!1;return!0}(bx,a,(a,b)=>H(a,b,aC)):bx!==a)),aV.change(bx),!bt||bu||b_||cl()}}),(0,_.useValueChanged)(bH,cm),(0,_.useValueChanged)(a$,cm),(0,_.useValueChanged)(bB,function(){"none"===ai&&(aM(br),aN(bB!==aO.initialValue),aV.change(bB))});let cn=(0,p.useFloatingRootContext)({open:!!b$||bD,onOpenChange:ce,elements:{reference:b_?bX:bY,floating:bV}}),co=aq?"grid":"listbox",cp=bD||b$,cq=cp?"true":"false",cr=c.useMemo(()=>{let a=bY?.tagName==="INPUT",b=null==bY||a,c=b||cp,d=b?{autoComplete:"off",spellCheck:"false",autoCorrect:"off",autoCapitalize:"none"}:{};return c&&(d.role="combobox",d["aria-expanded"]=cq,d["aria-haspopup"]=co,d["aria-controls"]=cp?bW?.id:void 0,d["aria-autocomplete"]=an?"none":aI),{reference:d,floating:{role:"presentation"}}},[bY,cp,cq,co,bW?.id,aI,an]),cs=(0,r.useClick)(cn,{enabled:!bq&&av,event:"mousedown-only",toggle:!1,touchOpenDelay:100*!b_,reason:w.REASONS.inputPress}),ct=(0,o.useDismiss)(cn,{enabled:!bq&&!b$,outsidePressEvent:{mouse:"sloppy",touch:"intentional"},bubbles:!!b$||void 0,outsidePress(a){let b=(0,u.getTarget)(a);return!(0,u.contains)(bX,b)&&!(0,u.contains)(bk.current,b)&&!(0,u.contains)(bj.current,b)&&!(0,u.contains)(bZ,b)}}),cu=(0,q.useListNavigation)(cn,{enabled:!bq,id:aX,listRef:ba,activeIndex:bT,selectedIndex:bU,virtual:!0,loopFocus:az,allowEscape:az&&!s,focusItemOnOpen:!a5&&("none"!==ai||!!s)&&"auto",focusItemOnHover:ay,resetOnPointerLeave:!ax,orientation:aq?"horizontal":void 0,rtl:"rtl"===aW,disabledIndices:m.EMPTY_ARRAY,grid:aq?t:void 0,onNavigate(a,b){(b||bD)&&"ending"!==b5&&(b?cb({activeIndex:a,type:bh.current?w.REASONS.keyboard:w.REASONS.pointer}):cb({activeIndex:a}))}}),cv=c.useMemo(()=>(0,ab.mergeProps)(cu.reference,{onKeyDown(a){aq&&null==bO.state.activeIndex&&("ArrowLeft"===a.key||"ArrowRight"===a.key)&&a.preventBaseUIHandler()}},ct.reference,cs.reference,cr.reference),[cu.reference,ct.reference,cs.reference,cr.reference,aq,bO]),cw=c.useMemo(()=>(0,ab.mergeProps)(aa.FOCUSABLE_POPUP_PROPS,ct.floating),[ct.floating]),cx=c.useMemo(()=>(0,ab.mergeProps)(cu.floating,cr.floating),[cu.floating,cr.floating]),cy=c.useMemo(()=>{let a=cu.item;return a?{...a,onFocus:void 0}:m.EMPTY_OBJECT},[cu.item]);bO.useContextCallback("setOpen",ce),bO.useContextCallback("setInputValue",cc),bO.useContextCallback("setSelectedValue",cf),bO.useContextCallback("setIndices",cb),bO.useContextCallback("handleSelection",cg),bO.useContextCallback("forceMount",b9),bO.useContextCallback("requestSubmit",ch),bO.useContextCallback("onOpenChangeComplete",E),(C=c.useRef(!0)).current&&(C.current=!1,(()=>{bO.update({inline:aE,popupProps:cw,listProps:cx,inputProps:cv,triggerProps:b7,itemProps:cy})})());let cz={id:aX,selectedValue:bx,open:bD,mounted:b3,transitionStatus:b5,items:a0,inline:aE,popupProps:cw,listProps:cx,inputProps:cv,triggerProps:b7,itemProps:cy,openMethod:b6,selectionMode:ai,name:br,form:al,disabled:bq,readOnly:an,required:ao,grid:aq,virtualized:aD,openOnInputClick:av,itemToStringLabel:a2,modal:aG,autoHighlight:s,isItemEqualToValue:aC,submitOnItemClick:aL,hasInputValue:bu};(0,f.useIsoLayoutEffect)(()=>{bO.update({...cz,inputOwnsFormValue:"none"===ai&&(aE||!bO.state.inputInsidePopup)})},[bO,...Object.values(cz)]);let cA=(0,h.useMergedRefs)(ap,aV.inputRef),cB=c.useMemo(()=>({query:bG,hasItems:bv,filteredItems:bM,flatFilteredValues:bN}),[bG,bv,bM,bN]),cC=c.useMemo(()=>Array.isArray(bP)?"":P(bP,aB),[bP,aB]),cD=bs&&Array.isArray(bx)&&bx.length>0,cE=bs||"none"===ai&&b0?void 0:br,cF=c.useMemo(()=>bs&&Array.isArray(bx)&&br?bx.map(a=>{let c=P(a,aB);return(0,b.jsx)("input",{type:"hidden",form:al,name:br,value:c,disabled:bq},c)}):null,[bs,bx,al,br,aB,bq]),cG=(0,b.jsxs)(c.Fragment,{children:[a.children,(0,b.jsx)("input",{...aV.getValidationProps(bq,{onFocus(){b_?bX?.focus():(bd.current||bX)?.focus()},onChange(a){if(a.nativeEvent.defaultPrevented||bq||an)return;let b=a.currentTarget.value,c=b.toLowerCase(),d=(0,v.createChangeEventDetails)(w.REASONS.none,a.nativeEvent),e=()=>bo.current.findIndex(a=>P(a,aB).toLowerCase()===c||a4(a).toLowerCase()===c);bt&&(b9(),a$&&-1===e()&&bO.set("forceMounted",!0)),queueMicrotask(function(){if(bs)return;if("none"===ai)return void cc(b,d);let a=e();-1===a&&(a=bo.current.findIndex((a,b)=>{let d=bb.current[b];return null!=d&&d.toLowerCase()===c}));let f=-1===a?void 0:bo.current[a];null!=f&&cf?.(f,d)})}}),id:aX&&null==cE?`${aX}-hidden-input`:void 0,form:al,name:cE,autoComplete:aJ,disabled:bq,required:ao&&!cD,readOnly:an,value:cC,ref:cA,style:cE?j.visuallyHiddenInput:j.visuallyHidden,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),cF]});return(0,b.jsx)(x.Provider,{value:bO,children:(0,b.jsx)(y.Provider,{value:cn,children:(0,b.jsx)(A.Provider,{value:bv,children:(0,b.jsx)(z.Provider,{value:cB,children:(0,b.jsx)(B.Provider,{value:bB,children:cG})})})})})}var ag=a.i(736069),ah=a.i(187828),ai=a.i(926184),aj=a.i(221436),ak=a.i(304478),al=a.i(827576),am=a.i(597380);am.CommonTriggerDataAttributes.popupOpen,am.CommonTriggerDataAttributes.pressed;let an={...ak.pressableTriggerOpenStateMapping,...al.fieldValidityMapping,popupSide:a=>a?{"data-popup-side":a}:null,listEmpty:a=>a?{"data-list-empty":""}:null};var ao=a.i(77260),ap=a.i(614209),aq=a.i(961892),ar=a.i(446355);function as(a){let b=a.useState("mounted"),c=a.useState("popupSide"),d=a.useState("positionerElement");return b&&d?c:null}function at(){return 0===E().filteredItems.length}function au(a,b,c){let d=a.context.listRef.current[b];d&&(a.context.selectionEventRef.current=c,d.click(),a.context.selectionEventRef.current=null)}let av=c.forwardRef(function(a,b){let d,{render:e,className:f,nativeButton:h=!0,disabled:i=!1,id:j,style:k,...l}=a,{state:m,disabled:n,setTouched:o,setFocused:p,validationMode:q,validation:s}=(0,S.useFieldRootContext)(),{labelId:t}=(0,ao.useLabelableContext)(),x=C(),y=x.useState("selectionMode"),z=x.useState("disabled"),A=x.useState("readOnly"),B=x.useState("required"),E=x.useState("positionerElement"),G=x.useState("listElement"),H=x.useState("popupId"),I=x.useState("triggerProps"),J=x.useState("inputInsidePopup"),K=x.useState("id"),L=x.useState("labelId"),M=x.useState("open"),N=x.useState("selectedValue"),O=x.useState("activeIndex"),P=x.useState("selectedIndex"),Q=x.useState("hasSelectedValue"),R=D(),T=F(),U=(0,ag.useTimeout)(),X=n||z||i,Y=at(),Z=as(x);(0,V.useLabelableId)({id:J?j:void 0});let $=J?j??K:j;M&&J?d=H??W(K):M&&(d=G?.id);let _=c.useRef("");function aa(a){_.current=a.pointerType}let{reference:ab}=(0,ar.useTypeahead)(R,{enabled:!M&&!A&&!z&&"single"===y,listRef:x.context.labelsRef,activeIndex:O,selectedIndex:P,onMatch(a){let b=x.context.valuesRef.current[a];void 0!==b&&x.context.setSelectedValue(b,(0,v.createChangeEventDetails)(w.REASONS.none))}}),{reference:ac}=(0,r.useClick)(R,{enabled:!z,event:"mousedown"}),{buttonRef:ad,getButtonProps:ae}=(0,aj.useButton)({native:h,disabled:X}),af={...m,readOnly:A,open:M,disabled:X,popupSide:Z,listEmpty:Y,placeholder:"none"!==y&&!Q},ak=(0,g.useStableCallback)(a=>{x.set("triggerElement",a)});return(0,ai.useRenderElement)("button",a,{ref:[b,ad,ak],state:af,props:[I,ac,ab,{id:$,tabIndex:J?0:-1,role:J?"combobox":void 0,"aria-expanded":M,"aria-haspopup":J?"dialog":"listbox","aria-controls":d,"aria-required":J&&B||void 0,"aria-readonly":J&&A||void 0,"aria-labelledby":t??L,onPointerDown:aa,onPointerEnter:aa,onFocus(){p(!0),X||U.start(0,x.context.forceMount)},onBlur(a){(0,u.contains)(E,a.relatedTarget)||(o(!0),p(!1),"onBlur"===q&&s.commit("none"===y?T:N))},onMouseDown(a){if(X||(J||R.set("domReferenceElement",a.currentTarget),x.context.forceMount(),"touch"!==_.current&&(x.context.inputRef.current?.focus(),J||a.preventDefault()),M))return;let b=(0,ah.ownerDocument)(a.currentTarget);J&&b.addEventListener("mouseup",function(a){let b=x.state.triggerElement;if(!b)return;let c=(0,u.getTarget)(a),d=x.state.positionerElement,e=x.state.listElement;(0,u.contains)(b,c)||(0,u.contains)(d,c)||(0,u.contains)(e,c)||(0,aq.isMouseWithinBounds)(a,b)||x.context.setOpen(!1,(0,v.createChangeEventDetails)(w.REASONS.cancelOpen,a))},{once:!0})},onKeyDown(a){("ArrowDown"===a.key||"ArrowUp"===a.key)&&((0,ap.stopEvent)(a),x.context.setOpen(!0,(0,v.createChangeEventDetails)(w.REASONS.listNavigation,a.nativeEvent)),x.context.inputRef.current?.focus())}},s.getValidationProps(X,l),ae],stateAttributesMapping:an})});var aw=a.i(151086),ax=a.i(300557);let ay=c.createContext(void 0),az=c.createContext(void 0);function aA(a){let b=c.useContext(az);if(void 0===b&&!a)throw Error((0,d.default)(21));return b}let aB=c.forwardRef(function(a,c){let d=C(),{buttonRef:e,getButtonProps:f}=(0,aj.useButton)({native:!1}),g=(0,h.useMergedRefs)(c,e),i=f({onClick:function(a){d.context.setOpen(!1,(0,v.createChangeEventDetails)(w.REASONS.closePress,a.nativeEvent,a.currentTarget))}});return(0,b.jsx)("span",{ref:g,...i,"aria-label":"Dismiss",tabIndex:void 0,style:j.visuallyHiddenInput})}),aC=c.forwardRef(function(a,d){let{render:e,className:f,disabled:h=!1,id:i,style:j,...k}=a,{state:l,disabled:m,setTouched:n,setFocused:o,validationMode:p,validation:q}=(0,S.useFieldRootContext)(),{labelId:r}=(0,ao.useLabelableContext)(),s=c.useContext(ay),t=!!aA(!0),u=C(),x=F(),y=(0,ae.useDirection)(),z=u.useState("required"),A=u.useState("disabled"),B=u.useState("readOnly"),D=u.useState("name"),E=u.useState("form"),G=u.useState("selectionMode"),H=u.useState("autoHighlight"),I=u.useState("inputProps"),J=u.useState("triggerProps"),K=u.useState("open"),L=u.useState("mounted"),M=u.useState("selectedValue"),N=u.useState("id"),O=u.useState("inline"),P=u.useState("modal"),Q=!!H,R=as(u),T=m||A||h,U=at(),V=t||O,W=(0,ax.useBaseUiId)(i??(V?void 0:N)),X=t?al.DEFAULT_FIELD_STATE_ATTRIBUTES:l,[Y,Z]=c.useState(null),$=c.useRef(!1),_=c.useRef(null),aa=c.useRef(!1),ab="none"===G&&!t,ac=(0,g.useStableCallback)(a=>{let b=t||u.state.inline;b&&!u.state.hasInputValue&&u.context.setInputValue("",(0,v.createChangeEventDetails)(w.REASONS.none)),u.update({inputElement:a,inputInsidePopup:b,inputOwnsFormValue:ab})}),ad=t?k:q.getValidationProps(T,k);function af(){u.context.setIndices({activeIndex:null,selectedIndex:null,type:u.context.keyboardActiveRef.current?w.REASONS.keyboard:w.REASONS.pointer})}function ag(){u.context.keyboardActiveRef.current=!1}let ah={...X,open:K,disabled:T,readOnly:B,popupSide:R,listEmpty:U},aj=(0,ai.useRenderElement)("input",a,{state:ah,ref:[d,u.context.inputRef,ac],props:[I,J,{value:Y??x,"aria-readonly":B||void 0,"aria-required":z||void 0,"aria-labelledby":r,disabled:T,readOnly:B,required:"none"===G?z:void 0,form:E,...ab&&D&&{name:D},id:W,onFocus(){if(o(!0),!O||!aa.current)return;aa.current=!1;let a=_.current;null!=a&&Object.hasOwn(u.context.valuesRef.current,a)&&u.context.setIndices({activeIndex:a})},onBlur(){n(!0),o(!1);let a=u.state.activeIndex;if(O&&null!==a&&"always"!==H&&(_.current=a,aa.current=!0,u.context.setIndices({activeIndex:null})),"onBlur"===p){let a="none"===G?x:M;q.commit(a)}},onCompositionStart(a){aw.platform.os.android||($.current=!0,Z(a.currentTarget.value))},onCompositionEnd(a){$.current=!1;let b=a.currentTarget.value;Z(null),u.context.setInputValue(b,(0,v.createChangeEventDetails)(w.REASONS.inputChange,a.nativeEvent))},onChange(a){let b=a.nativeEvent,c=b.inputType,d=$.current||!(!c||"insertReplacementText"===c);function e(a){!B&&!T&&a&&d&&(u.context.setOpen(!0,(0,v.createChangeEventDetails)(w.REASONS.inputChange,b)),Q||af())}if($.current){let c=a.currentTarget.value;Z(c),""!==c||u.state.openOnInputClick||u.state.inputInsidePopup||u.context.setOpen(!1,(0,v.createChangeEventDetails)(w.REASONS.inputClear,b));let d=c.trim(),f=Q&&""!==d;e(d),K&&null!==u.state.activeIndex&&!f&&af();return}let f=(0,v.createChangeEventDetails)(w.REASONS.inputChange,b);if(u.context.setInputValue(a.currentTarget.value,f),f.isCanceled)return;let g=""===a.currentTarget.value,h=(0,v.createChangeEventDetails)(w.REASONS.inputClear,b);g&&!u.state.inputInsidePopup&&("single"===G&&u.context.setSelectedValue(null,h),u.state.openOnInputClick||u.context.setOpen(!1,h)),e(a.currentTarget.value.trim()),K&&null!==u.state.activeIndex&&!Q&&af()},onKeyDown(a){if(a.ctrlKey||a.shiftKey||a.altKey||a.metaKey)return;if(u.context.keyboardActiveRef.current=!0,T||B){B&&"Enter"===a.key&&K&&null!==u.state.activeIndex&&(0,ap.stopEvent)(a);return}let b=a.currentTarget,c=b.scrollWidth-b.clientWidth,d="rtl"===y;if("Home"===a.key){(0,ap.stopEvent)(a);let c=aw.platform.engine.gecko&&d?b.value.length:0;b.setSelectionRange(c,c),b.scrollLeft=0;return}if("End"===a.key){(0,ap.stopEvent)(a);let e=aw.platform.engine.gecko&&d?0:b.value.length;b.setSelectionRange(e,e),b.scrollLeft=d?-c:c;return}if(!L&&"Escape"===a.key){let b="multiple"===G&&Array.isArray(M)?0===M.length:null===M,c=(0,v.createChangeEventDetails)(w.REASONS.escapeKey,a.nativeEvent);u.context.setInputValue("",c),u.context.setSelectedValue("multiple"===G?[]:null,c),b||u.state.inline||c.isPropagationAllowed||a.stopPropagation();return}if(s&&"Backspace"===a.key&&""===b.value&&void 0===s.highlightedChipIndex&&Array.isArray(M)&&M.length>0){let b=s.chipsRef.current.length,c=b>0?b-1:M.length-1,d=M.filter((a,b)=>b!==c);af(),u.context.setSelectedValue(d,(0,v.createChangeEventDetails)(w.REASONS.none,a.nativeEvent));return}let e=s?.highlightedChipIndex!==void 0,f=function(a){let b;if(!s)return;let{highlightedChipIndex:c}=s,d=s.chipsRef.current.length,[e,f]="rtl"===y?["ArrowRight","ArrowLeft"]:["ArrowLeft","ArrowRight"];if(void 0!==c){if(a.key===e)a.preventDefault(),b=c>0?c-1:void 0;else if(a.key===f)a.preventDefault(),b=c<d-1?c+1:void 0;else if("Backspace"===a.key||"Delete"===a.key){var g;let d;a.preventDefault(),b=(d=c>=(g=M.length)-1?g-2:c)>=0?d:void 0,af()}return b}return a.key===e&&(a.currentTarget.selectionStart??0)===0&&M.length>0&&(a.preventDefault(),b=d>0?d-1:void 0),b}(a);if(s?.setHighlightedChipIndex(f),void 0!==f?s?.chipsRef.current[f]?.focus():e&&u.context.inputRef.current?.focus(),229!==a.which&&"Enter"===a.key&&K){let b=u.state.activeIndex,c=a.nativeEvent;if(null===b){if(O)return;u.context.setOpen(!1,(0,v.createChangeEventDetails)(w.REASONS.none,c));return}(0,ap.stopEvent)(a),au(u,b,c)}},onPointerMove:ag,onPointerDown:ag},ad],stateAttributesMapping:an}),ak=t?(0,b.jsx)(S.FieldRootContext.Provider,{value:S.DEFAULT_FIELD_ROOT_CONTEXT,children:aj}):aj;return(0,b.jsxs)(c.Fragment,{children:[K&&(!V||P)&&(0,b.jsx)(aB,{ref:u.context.startDismissRef}),ak]})});var aD=a.i(361813);let aE=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{state:h}=(0,S.useFieldRootContext)(),i=C(),j=i.useState("open"),k=i.useState("disabled"),l=i.useState("readOnly"),m=i.useState("hasSelectedValue"),o=i.useState("selectionMode"),p=as(i),q=at(),r={...h,open:j,disabled:k,readOnly:l,popupSide:p,listEmpty:q,placeholder:"none"!==o&&!m},s=(0,g.useStableCallback)(a=>{i.set("inputGroupElement",a)});return(0,ai.useRenderElement)("div",a,{ref:[b,s],props:[{role:"group",onMouseDown(a){!function(a,b,c,d){if(a.baseUIHandlerPrevented)return;let e=(0,u.getTarget)(a.nativeEvent),f=(0,n.isElement)(e)?e:null;f!==a.currentTarget&&(d?.(f)||(0,aD.isInteractiveElement)(f))||(a.preventDefault(),!c&&(b.context.inputRef.current?.focus(),b.state.openOnInputClick&&b.context.setOpen(!0,(0,v.createChangeEventDetails)(w.REASONS.inputPress,a.nativeEvent))))}(a,i,k,a=>(0,u.contains)(i.context.chipsContainerRef.current,a))}},f],state:r,stateAttributesMapping:an})}),aF=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a;return(0,ai.useRenderElement)("span",a,{ref:b,props:[{"aria-hidden":!0,children:"▼"},f]})});var aG=a.i(407393);let aH={...aG.transitionStatusMapping,...ak.triggerOpenStateMapping},aI=c.forwardRef(function(a,b){let{render:c,className:d,disabled:e=!1,nativeButton:f=!0,keepMounted:g=!1,style:h,...i}=a,{disabled:j}=(0,S.useFieldRootContext)(),k=C(),l=k.useState("selectionMode"),m=k.useState("disabled"),n=k.useState("readOnly"),o=k.useState("open"),p=k.useState("selectedValue"),q=k.useState("hasSelectionChips"),r=F(),s=!1;s="none"===l?""!==r:"single"===l?null!=p:q;let t=j||m||e,{buttonRef:u,getButtonProps:x}=(0,aj.useButton)({native:f,disabled:t}),{mounted:y,transitionStatus:z,setMounted:A}=(0,Z.useTransitionStatus)(s),B={disabled:t,visible:s,open:o,transitionStatus:z};(0,R.useOpenChangeComplete)({open:s,ref:k.context.clearRef,onComplete(){s||A(!1)}});let D=(0,ai.useRenderElement)("button",a,{state:B,ref:[b,u,k.context.clearRef],props:[{tabIndex:-1,children:"x",onMouseDown(a){a.preventDefault()},onClick(a){if(t||n)return;let b=k.context.keyboardActiveRef.current?w.REASONS.keyboard:w.REASONS.pointer;k.context.setInputValue("",(0,v.createChangeEventDetails)(w.REASONS.clearPress,a.nativeEvent)),"none"!==l?(k.context.setSelectedValue(Array.isArray(p)?[]:null,(0,v.createChangeEventDetails)(w.REASONS.clearPress,a.nativeEvent)),k.context.setIndices({activeIndex:null,selectedIndex:null,type:b})):k.context.setIndices({activeIndex:null,type:b}),k.context.inputRef.current?.focus()}},i,x],stateAttributesMapping:aH});return g||y?D:null}),aJ=c.createContext(null);function aK(a){let{children:d,items:e}=a,f=c.useMemo(()=>({items:e}),[e]);return(0,b.jsx)(aJ.Provider,{value:f,children:d})}function aL(a){let{children:d}=a,{filteredItems:e}=E(),f=c.useContext(aJ),g=f?f.items:e;return(0,b.jsx)(c.Fragment,{children:g.map(d)})}var aM=a.i(579923);let aN=c.forwardRef(function(a,d){var e;let{render:f,className:h,style:i,children:j,...k}=a,l=C(),m=D(),n=!!aA(!0),{filteredItems:o,hasItems:p}=E(),q=l.useState("selectionMode"),r=l.useState("grid"),s=l.useState("readOnly"),t=l.useState("listProps"),u=l.useState("virtualized"),v=l.useState("forceMounted"),w=0===o.length,x=(0,g.useStableCallback)(a=>{l.set("positionerElement",a)}),y=(0,g.useStableCallback)(a=>{l.set("listElement",a)}),z=c.useMemo(()=>"function"==typeof j?e||(e=(0,b.jsx)(aL,{children:j})):j,[j]),A=m.useState("floatingId"),B=(0,ai.useRenderElement)("div",a,{state:{empty:w},ref:[d,y,n?null:x],props:[t,{children:z,tabIndex:-1,id:A,role:r?"grid":"listbox","aria-multiselectable":"multiple"===q?"true":void 0,"aria-readonly":!r&&!!s||void 0,onKeyDown(a){if(!l.state.disabled&&!l.state.readOnly&&"Enter"===a.key){let b=l.state.activeIndex;null!=b&&((0,ap.stopEvent)(a),au(l,b,a.nativeEvent))}},onKeyDownCapture(){l.context.keyboardActiveRef.current=!0},onPointerMoveCapture(){l.context.keyboardActiveRef.current=!1}},k]});if(u)return B;let F=p&&!v?void 0:l.context.labelsRef;return(0,b.jsx)(aM.CompositeList,{elementsRef:l.context.listRef,labelsRef:F,children:B})});function aO(){let a=(0,ag.useTimeout)(),b=c.useRef(null);return c.useEffect(()=>{if(aw.platform.os.ios)return;let c=b.current;if(null==c)return;let d=function(a){let b=a.ownerDocument.createTreeWalker(a,NodeFilter.SHOW_TEXT),c=null;for(;b.nextNode();){let a=b.currentNode;""!==a.nodeValue&&(c=a)}return c}(c);if(null==d)return;let e=d.data,f=`${e}\u2060`;return d.nodeValue=f,a.start(200,()=>{d.nodeValue===f&&(d.nodeValue=e)}),()=>{a.clear(),d.nodeValue===f&&(d.nodeValue=e)}},[b,a]),b}let aP=c.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,h=aO();return(0,ai.useRenderElement)("div",a,{ref:[b,h],props:[{children:f,role:"status","aria-live":"polite","aria-atomic":!0},g]})});var aQ=a.i(354098);let aR=c.createContext(void 0),aS=c.forwardRef(function(a,c){let{keepMounted:d=!1,...e}=a,f=C(),g=f.useState("mounted"),h=f.useState("forceMounted");return g||d||h?(0,b.jsx)(aR.Provider,{value:d,children:(0,b.jsx)(aQ.FloatingPortal,{ref:c,...e})}):null}),aT={...ak.popupStateMapping,...aG.transitionStatusMapping},aU=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=C(),h=g.useState("open"),i=g.useState("mounted"),j=g.useState("transitionStatus");return(0,ai.useRenderElement)("div",a,{state:{open:h,transitionStatus:j},ref:b,stateAttributesMapping:aT,props:[{role:"presentation",hidden:!i,style:{userSelect:"none",WebkitUserSelect:"none"}},f]})});var aV=a.i(454125),aW=a.i(844871),aX=a.i(82204),aY=a.i(330076),aZ=a.i(456011),a$=a.i(402968);let a_=c.forwardRef(function(a,e){let{render:h,className:i,anchor:j,positionMethod:k,side:l,align:m,sideOffset:n,alignOffset:o,collisionBoundary:p="clipping-ancestors",collisionPadding:q,arrowPadding:r,sticky:s,disableAnchorTracking:t=!1,collisionAvoidance:u=aX.DROPDOWN_COLLISION_AVOIDANCE,style:v,...w}=a,x=C(),y=D(),z=function(){let a=c.useContext(aR);if(void 0===a)throw Error((0,d.default)(20));return a}(),A=x.useState("modal"),B=x.useState("open"),E=x.useState("mounted"),F=x.useState("openMethod"),G=x.useState("positionerElement"),H=x.useState("triggerElement"),I=x.useState("inputElement"),J=x.useState("inputGroupElement"),K=x.useState("inputInsidePopup"),L=x.useState("transitionStatus"),M=at(),N=(0,aW.useAnchorPositioning)({anchor:j??(K?H:J??I),floatingRootContext:y,positionMethod:k,mounted:E,side:l,sideOffset:n,align:m,alignOffset:o,arrowPadding:r,collisionBoundary:p,collisionPadding:q,sticky:s,disableAnchorTracking:t,keepMounted:z,collisionAvoidance:u,lazyFlip:!0});(0,a$.useAnchoredPopupScrollLock)(B&&A,"touch"===F,G,H);let O={open:B,side:N.side,align:N.align,anchorHidden:N.anchorHidden,empty:M};(0,f.useIsoLayoutEffect)(()=>{x.set("popupSide",N.side)},[x,N.side]);let P=(0,g.useStableCallback)(a=>{x.set("positionerElement",a)}),Q=(0,aZ.usePositioner)(a,O,{styles:N.positionerStyles,transitionStatus:L,props:w,refs:[e,P],hidden:!E,inert:!B});return(0,b.jsxs)(az.Provider,{value:N,children:[E&&A&&(0,b.jsx)(aY.InternalBackdrop,{inert:(0,aV.inertValue)(!B),cutout:J??I??H}),Q]})});var a0=a.i(150687),a1=a.i(3861);let a2={...ak.popupStateMapping,...aG.transitionStatusMapping},a3=c.forwardRef(function(a,d){let{render:e,className:g,style:h,initialFocus:i,finalFocus:j,...k}=a,l=C(),m=aA(),n=D(),o=l.useState("mounted"),p=l.useState("open"),q=l.useState("openMethod"),r=l.useState("popupProps"),s=l.useState("transitionStatus"),t=l.useState("inputInsidePopup"),v=l.useState("inputElement"),w=l.useState("modal"),x=l.useState("id"),y=at(),z=k.id??(t?W(x):void 0);(0,f.useIsoLayoutEffect)(()=>(l.set("popupId",l.context.popupRef.current?.id||z),()=>{l.set("popupId",void 0)}),[l,z]),(0,R.useOpenChangeComplete)({open:p,ref:l.context.popupRef,onComplete(){p&&l.context.onOpenChangeComplete(!0)}});let A={open:p,side:m.side,align:m.align,anchorHidden:m.anchorHidden,transitionStatus:s,empty:y},B=(0,ai.useRenderElement)("div",a,{state:A,ref:[d,l.context.popupRef],props:[r,{id:z,role:t?"dialog":"presentation",onFocus(a){let b=(0,u.getTarget)(a.nativeEvent);"touch"!==q&&((0,u.contains)(l.state.listElement,b)||b===a.currentTarget)&&l.context.inputRef.current?.focus()}},(0,a1.getDisabledMountTransitionStyles)(s),k],stateAttributesMapping:a2}),E=!!t&&(a=>"touch"===a?l.context.popupRef.current:v),F=!t||w;return(0,b.jsx)(a0.FloatingFocusManager,{context:n,disabled:!o,modal:F,openInteractionType:q,initialFocus:void 0===i?E:i,returnFocus:null!=j?j:!!t&&void 0,getInsideElements:()=>[l.context.startDismissRef.current,l.context.endDismissRef.current],children:(0,b.jsxs)(c.Fragment,{children:[B,F&&(0,b.jsx)(aB,{ref:l.context.endDismissRef})]})})}),a4=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=C(),{arrowRef:h,side:i,align:j,arrowUncentered:k,arrowStyles:l}=aA(),m=g.useState("open");return(0,ai.useRenderElement)("div",a,{ref:[h,b],stateAttributesMapping:ak.popupStateMapping,state:{open:m,side:i,align:j,uncentered:k},props:{style:l,"aria-hidden":!0,...f}})}),a5=c.createContext(void 0),a6=c.forwardRef(function(a,d){let{render:e,className:f,style:g,items:h,...i}=a,j=C().useState("grid"),[k,l]=c.useState(),m=c.useMemo(()=>({labelId:k,setLabelId:l,items:h}),[k,l,h]),n=(0,ai.useRenderElement)("div",a,{ref:d,props:[{role:j?"rowgroup":"group","aria-labelledby":k},i]}),o=(0,b.jsx)(a5.Provider,{value:m,children:n});return h?(0,b.jsx)(aK,{items:h,children:o}):o}),a7=c.forwardRef(function(a,b){let{render:e,className:g,style:h,id:i,...j}=a,{setLabelId:k}=function(){let a=c.useContext(a5);if(void 0===a)throw Error((0,d.default)(18));return a}(),l=(0,ax.useBaseUiId)(i);return(0,f.useIsoLayoutEffect)(()=>(k(l),()=>{k(a=>a===l?void 0:a)}),[l,k]),(0,ai.useRenderElement)("div",a,{ref:b,props:[{id:l,"aria-hidden":!0},j]})});var a8=a.i(935112),a9=a.i(492403);let ba=c.createContext(void 0),bb=c.createContext(!1);function bc(a){let{componentProps:d,forwardedRef:e,virtualized:g,indexFromFilter:h}=a,{render:i,className:j,style:k,value:l=null,index:m,disabled:n=!1,nativeButton:o=!1,...p}=d,q=c.useRef(null),r=(0,a9.useCompositeListItem)({guess:!0,index:m,textRef:q}),s=C(),t=c.useContext(bb),u=c.useContext(A),v=s.useState("selectionMode"),w=s.useState("disabled"),x=s.useState("readOnly"),y=s.useState("isItemEqualToValue"),z=w||n,B="none"!==v,D=m??h??r.index,E=-1!==D,F=s.useState("id"),G=s.useState("isActive",D),J=s.useState("isSelected",l),L=s.useState("itemProps"),M=c.useRef(null),N=null!=F&&E?`${F}-${D}`:void 0,O=J&&B;(0,f.useIsoLayoutEffect)(()=>{if(!(E&&(g||null!=m)))return;let a=s.context.listRef.current;return a[D]=M.current,()=>{delete a[D]}},[E,g,D,m,s]),(0,f.useIsoLayoutEffect)(()=>{if(!E||u)return;let a=s.context.valuesRef.current;return a[D]=l,()=>{delete a[D]}},[E,u,D,l,s]),(0,f.useIsoLayoutEffect)(()=>{if(!E||u)return;let a=s.state.selectedValue,b=s.state.selectedIndex;if("multiple"===s.state.selectionMode&&Array.isArray(a)){var c,d;c=s.context.valuesRef.current,d=b,b=I(a,l,y)?null!=d&&D>d&&I(a,c[d],y)?d:D:D===d?K(c,a,y,!0):d}else H(l,a,y)&&(b=D);s.set("selectedIndex",b)},[E,u,s,D,l,y]);let{getButtonProps:P,buttonRef:Q}=(0,aj.useButton)({disabled:z,focusableWhenDisabled:!0,native:o,composite:!0});function R(a){function b(){s.context.handleSelection(a,l)}s.state.submitOnItemClick?(a8.flushSync(b),s.context.requestSubmit()):b()}let S=(0,ai.useRenderElement)("div",d,{ref:[Q,e,r.ref,M],state:{disabled:z,selected:O,highlighted:G},props:[L,{id:N,role:t?"gridcell":"option","aria-selected":B?O:void 0,tabIndex:void 0,onPointerDownCapture(a){a.isPrimary&&(s.context.pointerDownItemRef.current=a.currentTarget),a.preventDefault()},onMouseDown(a){a.preventDefault()},onClick(a){z||x||R(a.nativeEvent)},onMouseUp(a){let b=s.context.pointerDownItemRef.current===a.currentTarget;s.context.pointerDownItemRef.current=null,z||x||0!==a.button||b||!G||R(a.nativeEvent)}},p,P]}),T=c.useMemo(()=>({selected:O,textRef:q}),[O,q]);return(0,b.jsx)(ba.Provider,{value:T,children:S})}function bd(a){let{componentProps:c,forwardedRef:d}=a,e=C().useState("isItemEqualToValue"),{flatFilteredValues:f}=E(),g=J(f,c.value??null,e);return(0,b.jsx)(bc,{componentProps:c,forwardedRef:d,virtualized:!0,indexFromFilter:g})}let be=c.memo(c.forwardRef(function(a,c){let d=C().useState("virtualized");return d&&null==a.index?(0,b.jsx)(bd,{componentProps:a,forwardedRef:c}):(0,b.jsx)(bc,{componentProps:a,forwardedRef:c,virtualized:d,indexFromFilter:void 0})})),bf=c.forwardRef(function(a,c){let{render:d,className:e,style:f,...g}=a,h=(0,ai.useRenderElement)("div",a,{ref:c,props:[{role:"row"},g]});return(0,b.jsx)(bb.Provider,{value:!0,children:h})}),bg=c.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,{filteredItems:h}=E(),i=C(),j=aO(),k=0===h.length?f:null;return(0,ai.useRenderElement)("div",a,{ref:[b,i.context.emptyRef,j],props:[{children:k,role:"status","aria-live":"polite","aria-atomic":!0},g]})}),bh=c.forwardRef(function(a,b){let{className:c,render:d,orientation:e="horizontal",style:f,...g}=a;return(0,ai.useRenderElement)("div",a,{state:{orientation:e},ref:b,props:[{role:"presentation"},g]})});a.s(["Arrow",0,a4,"Backdrop",0,aU,"Clear",0,aI,"Collection",0,aL,"Empty",0,bg,"Group",0,a6,"GroupLabel",0,a7,"Icon",0,aF,"Input",0,aC,"InputGroup",0,aE,"Item",0,be,"List",0,aN,"Popup",0,a3,"Portal",0,aS,"Positioner",0,a_,"Root",0,function(a){let d,{openOnInputClick:e=!1,value:f,defaultValue:g,onValueChange:h,mode:i="list",itemToStringValue:j,...k}=a,l=("inline"===i||"both"===i)&&!a.readOnly,m=void 0!==f,[n,o]=c.useState(g??""),[p,q]=c.useState("");c.useEffect(()=>{(m||!l)&&q("")},[f,m,l]),d=l&&""!==p?p:m?f??"":n;let r=Y({locale:k.locale}),s=String((m?f:n)??"").trim(),t="inline"===i||"none"===i||null===k.filter?null:k.filter??r.contains;return(0,b.jsx)(af,{...k,itemToStringLabel:j,openOnInputClick:e,selectionMode:"none",fillInputOnItemPress:!0,filter:t,filterQuery:"both"===i?s:void 0,autoComplete:i,inputValue:d,defaultInputValue:g,onInputValueChange:function(a,b){q(""),m||o(a),h?.(a,b)},onItemHighlighted:function(b,c){a.onItemHighlighted?.(b,c),c.reason!==w.REASONS.pointer&&q(l&&null!=b?O(b,j):"")}})},"Row",0,bf,"Separator",0,bh,"Status",0,aP,"Trigger",0,av,"Value",0,function(a){let{children:d}=a,e=F(),f=null;return f="function"==typeof d?d(String(e)):null!=d?d:e,(0,b.jsx)(c.Fragment,{children:f})},"useFilter",0,Y,"useFilteredItems",0,function(){return E().filteredItems}],628466);var bi=a.i(628466),bi=bi,bj=a.i(752562),bk=a.i(589027),bl=a.i(158983),bm=a.i(340695),bn=a.i(205522),bo=a.i(497895);a.s(["Combobox",0,function({value:a,onChange:d,options:e,placeholder:f,empty:g="Nothing matches",note:h="Not on the list? Type it, then save.",loading:i=!1,disabled:j=!1,className:k,"aria-label":l}){let m=new Set(e.map(a=>a.value.toLowerCase())),[n,o]=(0,c.useState)(a),[p,q]=(0,c.useState)(a);p!==a&&(q(a),o(a));let r=n.trim(),s=""!==r&&r!==a;return(0,b.jsxs)(bi.Root,{items:e,value:n,onValueChange:(a,b)=>{o(a),"item-press"===b.reason&&d(a)},itemToStringValue:a=>a.value,filter:(a,b)=>{let c;return!!(!(c=b.trim().toLowerCase())||m.has(c))||[a.value,a.label,a.badge].filter(Boolean).some(a=>String(a).toLowerCase().includes(c))},openOnInputClick:!0,disabled:j,children:[(0,b.jsxs)("div",{className:(0,bo.cn)("flex gap-2",k),children:[(0,b.jsxs)(bi.InputGroup,{className:"relative min-w-0 flex-1",children:[(0,b.jsx)(bi.Input,{placeholder:f,"aria-label":l,spellCheck:!1,className:(0,bo.cn)(bn.inputClassName,"pr-8 font-mono text-sm")}),(0,b.jsx)(bi.Trigger,{"aria-label":"Show suggestions",className:"absolute inset-y-0 right-0 flex w-8 items-center justify-center text-muted-foreground transition-colors outline-none hover:text-foreground focus-visible:text-foreground disabled:opacity-50",children:i?(0,b.jsx)(bl.LoaderCircle,{className:"size-3.5 animate-spin"}):(0,b.jsx)(bk.ChevronDown,{className:"size-3.5"})})]}),s&&!j&&(0,b.jsx)(bm.Button,{variant:"outline",className:"shrink-0",onClick:()=>d(r),children:"Save"})]}),(0,b.jsx)(bi.Portal,{children:(0,b.jsx)(bi.Positioner,{sideOffset:4,className:"isolate z-50 outline-none",children:(0,b.jsxs)(bi.Popup,{className:"max-h-(--available-height) w-max min-w-(--anchor-width) max-w-[min(28rem,var(--available-width))] origin-(--transform-origin) rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",children:[h&&(0,b.jsx)("p",{className:"px-1.5 pt-1 pb-1.5 text-[11px] text-muted-foreground",children:h}),(0,b.jsx)(bi.Empty,{className:"px-2 py-2 font-mono text-[11px] text-muted-foreground empty:hidden",children:i?"Loading":g}),(0,b.jsx)(bi.List,{className:"max-h-64 overflow-y-auto outline-none",children:c=>(0,b.jsxs)(bi.Item,{value:c,className:"flex cursor-default items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground",children:[(0,b.jsx)("span",{className:"flex-1 whitespace-nowrap",children:c.label}),c.badge&&(0,b.jsx)("span",{className:"shrink-0 rounded-full bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:c.badge}),c.hint&&c.hint!==c.label&&(0,b.jsx)("span",{className:"min-w-0 shrink truncate font-mono text-[11px] text-muted-foreground",children:c.hint}),(0,b.jsx)(bj.Check,{className:(0,bo.cn)("size-3.5 shrink-0",c.value===a.trim()?"opacity-100":"opacity-0")})]},c.value)})]})})})]})}],825715)},897020,a=>{"use strict";var b=a.i(187924);a.s([],804434),a.i(804434);var c=a.i(572131),d=a.i(801811),e=a.i(357738),f=a.i(462824),g=a.i(524715),h=a.i(394552),i=a.i(307436),j=a.i(407393),k=a.i(827576);let l={checked:a=>a?{"data-checked":""}:{"data-unchecked":""},...j.transitionStatusMapping,...k.fieldValidityMapping};var m=a.i(85933),n=a.i(300557),o=a.i(926184),p=a.i(221436),q=a.i(579587),r=a.i(796511),s=a.i(1230),t=a.i(832362),u=a.i(77260),v=a.i(346919),w=a.i(769476);let x=c.createContext(void 0);var y=a.i(376224),z=a.i(854662);let A=c.createContext(void 0),B=c.forwardRef(function(a,j){let{render:k,className:z,disabled:B=!1,readOnly:C=!1,required:D=!1,"aria-labelledby":E,value:F,inputRef:G,nativeButton:H=!1,id:I,style:J,...K}=a,L=c.useContext(x),{disabled:M,readOnly:N,required:O,form:P,checkedValue:Q,touched:R=!1,validation:S,name:T,setCheckedValue:U=g.NOOP,setTouched:V=g.NOOP,registerInputRef:W=g.NOOP}=L??{},{setTouched:X,setFilled:Y,state:Z,disabled:$}=(0,s.useFieldRootContext)(),_=(0,t.useFieldItemContext)(),{labelId:aa,getDescriptionProps:ab}=(0,u.useLabelableContext)(),ac=$||_.disabled||M||B,ad=N||C,ae=O||D,af=L?Q===F:""===F,ag=c.useRef(null),ah=c.useRef(null),ai=S?.registerInput,aj=c.useCallback(a=>ai?.(a,{controlRef:ag,value:void 0}),[ai]),ak=(0,d.useMergedRefs)(G,ah,W,aj);(0,e.useIsoLayoutEffect)(()=>{ah.current?.checked&&Y(!0)},[Y]),(0,e.useIsoLayoutEffect)(()=>{if(ah.current){if(ac&&af)return void W(null);W(ah.current)}},[af,ac,W]);let al=(0,n.useBaseUiId)(),am=(0,w.useLabelableId)({id:I}),an=H?void 0:am,ao={role:"radio","aria-checked":af,"aria-labelledby":(0,v.useAriaLabelledBy)(E,aa,ah,!H,an),[q.ACTIVE_COMPOSITE_ITEM]:af?"":void 0,id:H?am:al,onKeyDown(a){"Enter"===a.key&&a.preventDefault()},onClick(a){if(a.defaultPrevented||ac||ad)return;a.preventDefault();let b=ah.current;b&&(0,m.dispatchClickWithModifiers)(b,a)},onFocus(a){a.defaultPrevented||ac||ad||!R||(ah.current?.click(),V(!1))}},{getButtonProps:ap,buttonRef:aq}=(0,p.useButton)({disabled:ac,native:H,composite:!1}),ar={type:"radio",ref:ak,form:P,id:an,name:T,tabIndex:-1,style:T?f.visuallyHiddenInput:f.visuallyHidden,"aria-hidden":!0,...void 0!==F?{value:(0,y.serializeValue)(F)}:g.EMPTY_OBJECT,disabled:ac,checked:af,required:ae,readOnly:ad,onChange(a){if(a.nativeEvent.defaultPrevented||ac||ad||void 0===F)return;let b=(0,h.createChangeEventDetails)(i.REASONS.none,a.nativeEvent);U(F,b),b.isCanceled||X(!0)},onClick(a){a.stopPropagation()},onFocus(){ag.current?.focus()}},as=c.useMemo(()=>({...Z,required:ae,disabled:ac,readOnly:ad,checked:af}),[Z,ac,ad,af,ae]),at=void 0!==L,au=[j,ag,aq],av=[ao,K,ap,ab,S?a=>S.getValidationProps(ac,a):g.EMPTY_OBJECT],aw=(0,o.useRenderElement)("span",a,{enabled:!at,state:as,ref:au,props:av,stateAttributesMapping:l});return(0,b.jsxs)(A.Provider,{value:as,children:[at?(0,b.jsx)(r.CompositeItem,{tag:"span",render:k,className:z,style:J,state:as,refs:au,props:av,stateAttributesMapping:l}):aw,(0,b.jsx)("input",{...ar,suppressHydrationWarning:!0})]})});var C=a.i(305687),D=a.i(348250);let E=c.forwardRef(function(a,b){let{render:d,className:e,style:f,keepMounted:g=!1,...h}=a,i=function(){let a=c.useContext(A);if(void 0===a)throw Error((0,z.default)(52));return a}(),j=i.checked,{mounted:k,transitionStatus:m,setMounted:n}=(0,D.useTransitionStatus)(j),p={...i,transitionStatus:m},q=c.useRef(null),r=(0,o.useRenderElement)("span",a,{ref:[b,q],state:p,props:h,stateAttributesMapping:l});return((0,C.useOpenChangeComplete)({batch:!0,enabled:!j,open:j,ref:q,onComplete(){j||n(!1)}}),g||k)?r:null});a.s(["Indicator",0,E,"Root",0,B],642851);var F=a.i(642851),F=F,G=a.i(950381),H=a.i(854401),I=a.i(30116),J=a.i(669649),K=a.i(801548),L=a.i(958589),M=a.i(717326),N=a.i(971154),O=a.i(541302),P=a.i(964072);let Q=[J.SHIFT],R=c.forwardRef(function(a,d){let{render:e,className:f,disabled:g,readOnly:h,required:i,onValueChange:j,value:l,defaultValue:m,form:o,name:p,inputRef:q,id:r,style:t,...v}=a,{setTouched:w,setFocused:y,validationMode:z,name:A,disabled:B,state:C,validation:D,setDirty:E,setFilled:F,validityData:J}=(0,s.useFieldRootContext)(),{labelId:R}=(0,u.useLabelableContext)(),{clearErrors:S,elementRef:T}=(0,O.useFormContext)(),U=(0,N.useFieldsetRootContext)(!0),V=B||g,W=A??p,X=(0,n.useBaseUiId)(r),[Y,Z]=(0,G.useControlled)({controlled:l,default:m,name:"RadioGroup",state:"value"}),[$,_]=c.useState(!1),aa=(0,H.useStableCallback)((a,b)=>{j?.(a,b),b.isCanceled||Z(a)}),ab=D.getInputControl,ac=c.useMemo(()=>({get current(){return ab()}}),[ab]),ad=c.useRef(null),ae=c.useRef(null);function af(a){let b;return q&&("function"==typeof q?b=q(a):q.current=a),ad.current=a,b}let ag=(0,H.useStableCallback)(a=>{if(!a||a.disabled)return;ae.current||(ae.current=a);let b=ad.current,c=a.checked||null==b||b.disabled?af(a):void 0;return()=>{ae.current===a&&(ae.current=null),ad.current===a?c?(c(),ad.current=null):af(null):c?.()}}),ah=(0,H.useStableCallback)(()=>{let a=T.current;if(!a)return Y??null;for(let b of D.registeredInputs.keys())if(b.checked&&(0,M.isEligibleInput)(b,a))return Y??null;return null});(0,L.useRegisterFieldControl)(ac,X,Y??null,ah,!V,p),(0,P.useValueChanged)(Y,()=>{S(W),E(Y!==J.initialValue),F(null!=Y),D.change(Y);let a=ae.current;null==Y&&a&&!a.disabled&&af(a)});let ai=R??U?.legendId,aj={...C,disabled:V??!1,required:i??!1,readOnly:h??!1},ak=c.useMemo(()=>({checkedValue:Y,disabled:V,form:o,validation:D,name:W,readOnly:h,registerInputRef:ag,required:i,setCheckedValue:aa,setTouched:_,touched:$}),[Y,V,o,D,W,h,ag,i,aa,_,$]);return(0,b.jsx)(x.Provider,{value:ak,children:(0,b.jsx)(K.CompositeRoot,{render:e,className:f,style:t,state:aj,props:[{id:r,role:"radiogroup","aria-required":i||void 0,"aria-disabled":V||void 0,"aria-readonly":h||void 0,"aria-labelledby":ai,onFocus(){y(!0)},onBlur(a){(0,I.contains)(a.currentTarget,a.relatedTarget)||(w(!0),y(!1),"onBlur"===z&&D.commit(Y))},onKeyDownCapture(a){a.key.startsWith("Arrow")&&(_(!0),y(!0))}},v,a=>D.getValidationProps(V??!1,a)],refs:[d],stateAttributesMapping:k.fieldValidityMapping,enableHomeAndEndKeys:!1,modifierKeys:Q})})});var S=a.i(497895);a.s(["RadioGroup",0,function({className:a,...c}){return(0,b.jsx)(R,{"data-slot":"radio-group",className:(0,S.cn)("grid w-full gap-2",a),...c})},"RadioGroupItem",0,function({className:a,...c}){return(0,b.jsx)(F.Root,{"data-slot":"radio-group-item",className:(0,S.cn)("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none group-has-[:focus-visible]/field-label:ring-0 group-has-[:focus-visible]/field-label:not-data-checked:border-input after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-brand data-checked:bg-brand data-checked:text-brand-foreground group-has-[:focus-visible]/field-label:data-checked:border-brand dark:data-checked:bg-brand",a),...c,children:(0,b.jsx)(F.Indicator,{"data-slot":"radio-group-indicator",className:"flex size-4 items-center justify-center",children:(0,b.jsx)("span",{className:"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-brand-foreground"})})})}],897020)},102306,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(141146),f=a.i(866491),g=a.i(951675),h=a.i(572131),i=a.i(767561),j=a.i(340695),k=a.i(446181),l=a.i(545097),m=a.i(950463),n=a.i(446334),o=a.i(287702),p=a.i(8468),q=a.i(619477),r=a.i(199169),s=a.i(313237),t=a.i(862966),u=a.i(497895),v=a.i(471755),w=a.i(581388),x=a.i(27418),y=a.i(346075),z=b([p]);[p]=z.then?(await z)():z;let G={running:"working",waiting:"waiting on you",done:"done",cancelled:"stopped"},H={running:"text-muted-foreground",waiting:u.WAITING_INK,done:"text-muted-foreground",cancelled:"text-muted-foreground"},I="h-[min(34rem,58vh)] min-h-64 px-1";function A(){let{items:a,isLoading:b,isLoadingMore:c,error:e,hasMore:f,sentinelRef:l,refresh:m}=(0,t.useServerPages)({key:(a,b)=>{if(0===a)return i.queryKey.callHistory(null);let c=b?.at(-1);return c?i.queryKey.callHistory((0,r.toDate)(c.startedAt).toISOString()):null},size:o.CALL_HISTORY_PAGE,swr:{revalidateOnFocus:!1}}),n=(0,h.useMemo)(()=>[...a].reverse(),[a]),[p,v]=(0,s.useServerAction)(w.deleteEndedCallsAction,{okMessage:a=>1===a?"1 call deleted":`${a} calls deleted`,onOk:m}),x=async()=>{await k.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})&&p()},y=(0,h.useRef)(null),z=(0,h.useRef)(!1),A=(0,h.useRef)(0);(0,h.useLayoutEffect)(()=>{let a=y.current;a&&0!==n.length&&(z.current?a.scrollTop=a.scrollHeight-A.current:(z.current=!0,a.scrollTop=a.scrollHeight),A.current=a.scrollHeight-a.scrollTop)},[n]);let D=a=>(0,d.jsx)(q.SettingDialogContent,{title:"Call history",description:`Everything said on the line, oldest at the top.${n.length>0?" Scroll up for older calls.":""}`,children:a});return D(b?(0,d.jsx)("div",{className:(0,u.cn)(I,"overflow-hidden"),children:(0,d.jsx)(B,{})}):e?(0,d.jsx)(q.SettingError,{message:e.message}):(0,d.jsx)(d.Fragment,{children:0===n.length?(0,d.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,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{ref:y,onScroll:a=>{let b=a.currentTarget;A.current=b.scrollHeight-b.scrollTop},className:(0,u.cn)(I,"overflow-y-auto overscroll-contain pb-6"),children:[(0,d.jsx)(q.SettingMore,{hasMore:f,loading:c,sentinelRef:l,count:1,ghost:(0,d.jsx)(B,{})}),n.map((a,b)=>(0,d.jsx)(C,{call:a,first:0===b,onDropped:m},a.id))]}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsxs)(j.Button,{variant:"ghost",loading:v,onClick:x,className:"text-muted-foreground hover:text-destructive",children:[(0,d.jsx)(g.Trash2,{}),"Delete all"]})})]})}))}function B(){return(0,d.jsxs)("div",{className:"pb-3",children:[(0,d.jsxs)("div",{className:"flex h-7 items-center gap-2.5",children:[(0,d.jsx)(m.Skeleton,{className:"h-3 w-24"}),(0,d.jsx)(m.Skeleton,{className:"h-3 w-10"})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(m.Skeleton,{className:"h-9 w-3/5 rounded-2xl rounded-br-sm"})}),(0,d.jsxs)("div",{className:"mt-3 flex items-start gap-2",children:[(0,d.jsx)(m.Skeleton,{className:"mt-0.5 size-[18px] shrink-0 rounded-full"}),(0,d.jsx)(m.Skeleton,{className:"mt-1 h-3.5 w-2/3"})]})]})}let J=a=>"user"===a.role?"user":"her";function C({call:a,first:b,onDropped:c}){let[e,f]=(0,s.useServerAction)(v.deleteCallAction,{okMessage:"Call deleted",onOk:c}),h=(0,r.toDate)(a.startedAt),i=a.turns.at(-1),l=a.endedAt&&i?function(a,b){let c=Math.max(0,Math.round((b.getTime()-a.getTime())/1e3));if(c<60)return`${c}s`;let d=Math.floor(c/60);return d<60?`${d}m ${String(c%60).padStart(2,"0")}s`:`${Math.floor(d/60)}h ${String(d%60).padStart(2,"0")}m`}(h,(0,r.toDate)(i.at)):"on the line",m=async()=>{await k.notify.confirm({title:`Delete the call from ${(0,r.whenOf)(h)}?`,description:"Every turn of it goes — and she stops reading it back into the next call.",okText:"Delete",destructive:!0})&&e(a.id)};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,u.cn)("group flex items-center gap-2.5",b?"mt-1":"mt-11"),children:[(0,d.jsx)("span",{title:[a.provider,a.model,a.backendModel,null===a.seconds?null:`${a.seconds}s active`,a.endedReason].filter(Boolean).join(" · "),className:"font-mono text-[10px] tracking-[0.14em] uppercase",children:(0,r.whenOf)(h)}),(0,d.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:a.model===o.TEXT_CALL.model?`${l} \xb7 in writing`:l}),(0,d.jsx)("span",{className:"ml-auto flex size-7 shrink-0 items-center justify-center",children:a.endedAt&&(0,d.jsx)(j.Button,{size:"icon-sm",variant:"ghost",loading:f,"aria-label":"Delete this call",onClick:m,className:"text-muted-foreground/60 opacity-0 transition-opacity group-hover:opacity-100 hover:text-destructive focus-visible:opacity-100",children:(0,d.jsx)(g.Trash2,{})})})]}),(0,d.jsx)("div",{className:"mt-2 mb-[18px] h-px bg-border/60"}),(function(a){let b=[];for(let c of a){let a=b.at(-1);if(a&&"tool"===c.role&&"tool"===a.turn.role&&a.turn.tool===c.tool&&a.turn.text===c.text){a.repeats+=1;continue}b.push({turn:c,repeats:1})}return b})(a.turns).map(({turn:b,repeats:c},e,f)=>{var g,h;let i,j=f[e-1]?.turn,k=f[e+1]?.turn;return(0,d.jsx)(D,{turn:b,job:(g=a,h=b,(i=(0,x.startedLabel)(h.tool,h.text))?g.jobs.find(a=>a.label===i):void 0),repeats:c,opensRun:!j||J(j)!==J(b),closesRun:!k||J(k)!==J(b)},b.id)})]})}function D({turn:a,job:b,opensRun:c,closesRun:e,repeats:f=1}){return"tool"===a.role?(0,d.jsx)(F,{turn:a,job:b,repeats:f,opensRun:c}):"user"===a.role?(0,d.jsx)("div",{className:(0,u.cn)("flex justify-end",c?"mt-3":"mt-1"),children:(0,d.jsx)("p",{className:(0,u.cn)("max-w-[min(34rem,78%)] rounded-2xl bg-muted px-3.5 py-2 text-[13.5px] leading-relaxed break-keep wrap-anywhere whitespace-pre-wrap",e&&"rounded-br-sm"),children:a.text})}):(0,d.jsxs)("div",{className:(0,u.cn)("flex items-start gap-2",c?"mt-3":"mt-1"),children:[(0,d.jsx)(E,{face:c,className:"mt-0.5"}),(0,d.jsx)("p",{className:"max-w-[min(34rem,78%)] text-[13.5px] leading-relaxed break-keep wrap-anywhere whitespace-pre-wrap",children:a.text})]})}function E({face:a,className:b}){return(0,d.jsx)("span",{className:(0,u.cn)("grid size-[18px] shrink-0 place-items-center",b),children:a&&(0,d.jsx)(y.ThursdayMark,{size:18})})}function F({turn:a,job:b,repeats:c,opensRun:e}){let f=a.tool??"",g=(0,p.toolIcon)(f),h=(0,x.toolLine)(f,a.text),i=(0,x.searchOf)(a.tool,a.text)?.sources??[];return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:(0,u.cn)("flex items-center gap-2",e?"mt-3":"mt-1.5"),children:[(0,d.jsx)(E,{face:e}),(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-muted-foreground",children:[(0,d.jsx)(g,{className:"size-3 shrink-0"}),h&&(0,d.jsx)("span",{className:"truncate text-[11px] break-keep",children:h}),(0,d.jsx)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/60",children:f}),c>1&&(0,d.jsxs)("span",{className:"shrink-0 font-mono text-[10px] text-muted-foreground/70",children:["×",c]})]})]}),i.length>0&&(0,d.jsx)(n.SourceChips,{sources:i,className:"mt-1 ml-[26px]"}),b&&(0,d.jsxs)("p",{className:"mt-0.5 ml-[26px] flex min-w-0 items-baseline gap-1.5 text-[11px]",children:["running"===b.status?(0,d.jsx)(l.ShinyText,{text:G.running,className:"shrink-0 font-mono text-[10px]"}):(0,d.jsx)("span",{className:(0,u.cn)("shrink-0 font-mono text-[10px]",H[b.status]),children:G[b.status]}),b.outcome&&"running"!==b.status&&(0,d.jsx)("span",{className:"truncate text-muted-foreground",children:(0,u.plainText)(b.outcome)})]})]})}a.s(["CallHistoryRow",0,function(){return(0,d.jsxs)("button",{type:"button",onClick:()=>k.notify.component({className:"sm:max-w-3xl",renderer:()=>(0,d.jsx)(A,{})}),className:"flex w-full min-w-0 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,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(f.Phone,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:"Call history"}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Every call, word for word — hers and yours"})]}),(0,d.jsx)(e.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground"})]})}]),c()}catch(a){c(a)}},!1),922056,a=>a.a(async(b,c)=>{try{var d=a.i(187924),e=a.i(752562),f=a.i(340345),g=a.i(585650),h=a.i(13931),i=a.i(853783),j=a.i(26268),k=a.i(572131),l=a.i(767561),m=a.i(340695),n=a.i(825715),o=a.i(205522),p=a.i(446181),q=a.i(630342),r=a.i(897020),s=a.i(777794),t=a.i(950463),u=a.i(280281),v=a.i(546893),w=a.i(287702),x=a.i(852307),y=a.i(908531),z=a.i(96340),A=a.i(61876),B=a.i(905441),C=a.i(249049),D=a.i(564117),E=a.i(619477),F=a.i(102306),G=a.i(346075),H=a.i(203282),I=a.i(553588),J=a.i(461512),K=a.i(359006),L=a.i(926919),M=a.i(888396),N=a.i(332033),O=a.i(249890),P=a.i(313237),Q=a.i(759497),R=a.i(497895),S=b([F]);function T({columns:a,children:b}){return(0,d.jsx)("div",{className:"@container",children:(0,d.jsx)("div",{className:(0,R.cn)("grid divide-y divide-border/60 overflow-hidden rounded-xl border border-border/60",3===a?"@3xl:grid-cols-3 @3xl:divide-x @3xl:divide-y-0":"@xl:grid-cols-2 @xl:divide-x @xl:divide-y-0"),children:b})})}function U({label:a,children:b}){return(0,d.jsxs)("div",{className:"flex min-h-5 items-center gap-3",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:a}),b]})}[F]=S.then?(await S)():S;let am={chatgpt:{model:O.LIVE_PLAN_MODEL,label:"GPT Subscription"},openai:{model:O.LIVE_MODEL,label:"OpenAI key"}};function V({value:a,has:b,plan:c,onChange:e}){let f=(0,z.liveLineOf)(a.runsOn,b,c),g=a=>(0,z.liveLineReady)(a,b,c),h=b(A.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName),[i,j]=(0,k.useState)(null),l=i&&!g(i)?i:null,m="chatgpt"===f;return(0,d.jsx)(E.SettingGroup,{label:"Models",note:`Both run on ${m?"your GPT Subscription":"your OpenAI key"}. Instructions are saved when you leave the field.`,children:(0,d.jsxs)("div",{className:"@container divide-y divide-border/60 rounded-xl border border-border/60",children:[!f&&(0,d.jsx)($,{plan:h?(0,A.planName)(c)??"":null}),(0,d.jsxs)(W,{name:"Voice",fact:m?"on your plan":"billed by the minute",children:[f&&(0,d.jsxs)(Y,{label:"runs on",children:[(0,d.jsx)(s.Segmented,{options:z.LIVE_LINES.map(a=>({value:a,label:function(a,{ready:b,set:c,plan:d}){let{label:e}=am[a];return c&&!b?`${e} \xb7 ${d??"plan"} \xb7 no calls`:b?"chatgpt"===a&&d?`${e} \xb7 ${d}`:e:`${e} \xb7 ${"chatgpt"===a?"sign in":"add"}`}(a,{ready:g(a),set:b(A.TEXT_MODEL_PROVIDERS[a].apiKeyName),plan:(0,A.planName)(c)})})),value:l??f,onChange:a=>{j(g(a)?null:a),e({runsOn:a})},"aria-label":"What a call runs on"}),l?(0,d.jsx)(Z,{line:l,runsOn:f,plan:h?(0,A.planName)(c):null}):(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground/70",children:am[f].model})]}),(0,d.jsx)(Y,{label:"voice",children:m?(0,d.jsx)(n.Combobox,{value:a.planVoice,onChange:a=>e({planVoice:a.trim()||z.LIVE_DEFAULTS.planVoice}),options:z.LIVE_PLAN_VOICES.map(a=>({value:a,label:a})),"aria-label":"Voice on the GPT Subscription"}):(0,d.jsx)(H.VoicePicker,{voice:a.voice,onChange:a=>e({voice:a.trim()||z.LIVE_DEFAULTS.voice})})}),(0,d.jsx)(Y,{label:"style",children:(0,d.jsx)(X,{value:a.persona,own:a.stylePrompt,onPersona:a=>e({persona:a}),onOwn:a=>e({stylePrompt:a})})})]}),(0,d.jsxs)(W,{name:"Backend",fact:m?"on your plan":"billed per token",children:[(0,d.jsx)(Y,{label:"model",children:(0,d.jsx)(_,{value:a.backendModel,onChange:a=>e({backendModel:a})})}),(0,d.jsx)(Y,{label:"effort",children:(0,d.jsx)(y.EffortSwitch,{provider:"openai",model:a.backendModel,value:a.reasoningEffort,onChange:a=>e({reasoningEffort:a})})}),(0,d.jsx)(Y,{label:"tools",children:(0,d.jsx)(aa,{webSearch:a.webSearch,readSkills:a.readSkills,onChange:e})}),(0,d.jsx)(Y,{label:"instructions",children:(0,d.jsx)(ad,{value:a.backendPrompt,onCommit:a=>e({backendPrompt:a}),placeholder:"How work should be handed over, what to check first.","aria-label":"Backend instructions"})})]})]})})}function W({name:a,fact:b,children:c}){return(0,d.jsxs)("div",{className:"grid gap-4 p-5 @2xl:grid-cols-[8.5rem_minmax(0,1fr)] @2xl:gap-6",children:[(0,d.jsxs)("span",{className:"space-y-0.5",children:[(0,d.jsx)("span",{className:"block text-sm font-medium",children:a}),(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:b})]}),(0,d.jsx)("div",{className:"min-w-0 space-y-4",children:c})]})}function X({value:a,own:b,onPersona:c,onOwn:g}){let[h,i]=(0,k.useState)(!1),[j,l]=(0,k.useState)(!1),m=B.PERSONAS.find(b=>b.id===a)??B.PERSONAS.find(a=>a.id===B.DEFAULT_PERSONA)??B.PERSONAS[0];return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)(q.Popover,{open:h,onOpenChange:i,children:[(0,d.jsx)(q.PopoverTrigger,{render:(0,d.jsxs)("button",{type:"button",className:"flex w-full items-center gap-3 rounded-lg border px-3 py-2.5 text-left transition-colors hover:bg-muted/50",children:[(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"text-sm font-medium",children:m.label}),(0,d.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:m.about})]}),(0,d.jsx)(f.ChevronsUpDown,{className:"size-4 shrink-0 text-muted-foreground"})]})}),(0,d.jsxs)(q.PopoverContent,{align:"start",className:"w-104 p-1.5",children:[(0,d.jsx)("p",{className:"px-2 py-1.5 text-xs text-muted-foreground",children:"How she talks to you. It never changes what she can do."}),B.PERSONAS.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>{c(a.id),i(!1)},className:(0,R.cn)("flex w-full items-baseline gap-3 rounded-md px-2 py-1.5 text-left",a.id===m.id?E.PICKED_ROW:"hover:bg-muted/60"),children:[(0,d.jsx)("span",{className:"w-20 shrink-0 text-sm font-medium",children:a.label}),(0,d.jsx)("span",{className:"min-w-0 flex-1 text-xs text-muted-foreground",children:a.about}),a.id===m.id&&(0,d.jsx)(e.Check,{className:"size-3.5 shrink-0 text-brand"})]},a.id)),(0,d.jsxs)("button",{type:"button",onClick:()=>{l(!0),i(!1)},className:(0,R.cn)("flex w-full items-baseline gap-3 rounded-md px-2 py-1.5 text-left",b.trim()?E.PICKED_ROW:"hover:bg-muted/60"),children:[(0,d.jsx)("span",{className:"w-20 shrink-0 text-sm font-medium",children:"Your own"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 text-xs text-muted-foreground",children:"Say it in your words, over the one above."}),b.trim()?(0,d.jsx)(e.Check,{className:"size-3.5 shrink-0 text-brand"}):null]})]})]}),j||b.trim()?(0,d.jsx)(ad,{value:b,onCommit:g,placeholder:"Quieter. Don't explain things I didn't ask about.","aria-label":"In your own words"}):null]})}function Y({label:a,children:b}){return(0,d.jsxs)("div",{className:"min-w-0 space-y-2",children:[(0,d.jsx)("span",{className:"block font-mono text-[11px] text-muted-foreground",children:a}),b]})}function Z({line:a,runsOn:b,plan:c}){let[e,f]=(0,k.useState)(""),[g,h]=(0,P.useServerAction)(D.setConfigAction,{onOk:()=>{(0,Q.revalidate)(l.queryKey.llmModel),(0,Q.revalidate)(l.queryKey.config),f("")}}),i=e.trim().length>=w.KEY_MIN;return(0,d.jsxs)("div",{className:"space-y-2.5 pt-1",children:[(0,d.jsxs)("span",{className:"block text-xs text-muted-foreground",children:["chatgpt"===a?c?`The ${c} plan runs bots and calls in writing, but not spoken calls. Sign in again with a paid plan.`:"Sign in with ChatGPT and calls run on your plan, with no bill by the minute.":"Paste an OpenAI API key. OpenAI bills a call by the minute, apart from ChatGPT."," ","Until then a call runs on your ",am[b].label,"."]}),"chatgpt"===a?(0,d.jsx)(x.ChatGptSignIn,{variant:"brand",size:"sm",label:c?"Sign in again":void 0}):(0,d.jsx)(C.KeyInput,{dense:!0,provider:z.LIVE_PROVIDER,saved:!1,autoFocus:!0,value:e,ready:i,saving:h,onValue:f,onSubmit:()=>i&&g(z.LIVE_PROVIDER.apiKeyName,e)})]})}function $({plan:a}){return(0,d.jsxs)("div",{className:"space-y-3 p-5",children:[(0,d.jsxs)("span",{className:"block space-y-0.5",children:[(0,d.jsx)("span",{className:(0,R.cn)("block text-sm font-medium",R.WAITING_INK),children:null===a?"No GPT Subscription or OpenAI key":`Your ${a?`${a} `:""}plan has no spoken calls`}),(0,d.jsx)("span",{className:"block text-xs text-muted-foreground",children:"Her voice and the backend both run on one of them"})]}),(0,d.jsx)("div",{className:"max-w-md",children:(0,d.jsx)(C.CallLines,{})})]})}function _({value:a,onChange:b}){let c=z.LIVE_BACKEND_MODELS.some(b=>b.id===a),f=(0,M.useDraft)(c?"":a,a=>b(a||z.LIVE_DEFAULTS.backendModel),{min:0});return(0,d.jsxs)("div",{className:"@container space-y-2",children:[(0,d.jsx)("div",{role:"radiogroup","aria-label":"Backend model",className:"grid grid-cols-2 gap-2 @2xl:grid-cols-4",children:z.LIVE_BACKEND_MODELS.map(c=>{let f=c.id===a;return(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":f,onClick:()=>b(c.id),className:(0,R.cn)("min-w-0 space-y-0.5 rounded-lg border px-3 py-2.5 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"border-brand bg-brand/4":"border-border/60 hover:bg-muted/50"),children:[(0,d.jsxs)("span",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-sm font-medium",children:c.label}),f&&(0,d.jsx)(e.Check,{className:"size-3.5 shrink-0 text-brand"})]}),(0,d.jsxs)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:[c.id," · ",c.tier]})]},c.id)})}),(0,d.jsx)(o.Input,{value:f.value,onChange:a=>f.set(a.target.value),onBlur:f.commit,onKeyDown:f.onKeyDown,placeholder:"Other model id","aria-label":"Other backend model id",spellCheck:!1,className:"font-mono text-sm"})]})}function aa({webSearch:a,readSkills:b,onChange:c}){return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex flex-wrap gap-x-7 gap-y-3",children:[(0,d.jsx)(ab,{label:"Search the web",checked:a,onChange:a=>c({webSearch:a})}),(0,d.jsx)(ab,{label:"Read skills herself",checked:b,onChange:a=>c({readSkills:a})})]}),a&&(0,d.jsx)(E.SettingNote,{children:"Each search adds to the backend's OpenAI usage."}),b&&(0,d.jsx)(ac,{})]})}function ab({label:a,checked:b,disabled:c,onChange:e}){return(0,d.jsxs)("label",{className:"flex items-center gap-2.5 text-sm",children:[(0,d.jsx)(u.Switch,{checked:b,disabled:c,onCheckedChange:e}),a]})}function ac(){let{data:a}=(0,Q.useServerRoute)(l.queryKey.skills);return a?(0,d.jsx)(E.SettingNote,{className:(0,R.cn)(!a.length&&R.WAITING_INK),children:a.length?`The same ${a.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 ad({value:a,onCommit:b,placeholder:c,"aria-label":e}){let f=(0,M.useDraft)(a,b,{min:0});return(0,d.jsx)(v.Textarea,{value:f.value,maxLength:w.COMMON_VALIDATE.prompt.max,onChange:a=>f.set(a.target.value),onBlur:f.commit,placeholder:c,"aria-label":e})}function ae(){let[a,b]=(0,P.useServerAction)(I.resetHistoryAction,{okMessage:({calls:a,threads:b,notes:c})=>`Wiped ${a} calls, ${b} jobs, ${c} notes`,onOk:()=>{(0,Q.revalidate)(l.queryKey.memory),(0,Q.revalidate)(l.queryKey.threads),(0,Q.revalidate)(l.queryKey.callHistory(null))}}),c=async()=>{await p.notify.confirm({title:"Reset history?",description:"Every call, every job and everything she remembers is deleted for good. Keys, bots and connectors stay, and so does what each bot keeps for itself.",okText:"Reset",destructive:!0})&&a()};return(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3 p-4",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:(0,d.jsx)(j.TriangleAlert,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:"Reset history"}),(0,d.jsx)("span",{className:"block truncate text-xs text-muted-foreground",children:"Calls, jobs and memory. Keys and bots stay."})]}),(0,d.jsx)(m.Button,{variant:"outline",size:"sm",loading:b,onClick:c,className:"shrink-0 text-destructive hover:text-destructive",children:"Reset"})]})}function af(){let{data:a}=(0,Q.useServerRoute)(l.queryKey.running);if(!a)return(0,d.jsx)(t.Skeleton,{className:"h-16 w-full rounded-xl"});let{where:b,mac:c,command:e,start:f,home:g}=a,j={background:{title:"In the background",hint:"Starts when you log in, and comes back if it stops.",how:e&&{label:"To stop it",run:`${e} stop`}},terminal:{title:"In a terminal",hint:"Closing that terminal stops Thursday.",how:f&&c?{label:"To keep it running without one, press Ctrl+C there and run",run:f}:null},source:{title:"From source",hint:"pnpm dev in a terminal. Closing it stops Thursday.",how:null},elsewhere:{title:"Started by something else",hint:"It stops the way it was started.",how:null}}[b];return(0,d.jsxs)("div",{className:"space-y-3 rounded-xl border border-border/60 p-4",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-3",children:[(0,d.jsx)("span",{className:"grid size-10 shrink-0 place-items-center rounded-lg bg-muted text-muted-foreground",children:"background"===b?(0,d.jsx)(h.Power,{className:"size-4"}):(0,d.jsx)(i.SquareTerminal,{className:"size-4"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:j.title}),(0,d.jsxs)("span",{className:"block text-xs text-muted-foreground",children:[j.hint,"terminal"!==b||c?"":" Running in the background is macOS only for now."]}),(0,d.jsx)("span",{className:"block truncate font-mono text-[11px] text-muted-foreground",children:g})]})]}),j.how&&(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2 pl-13 text-xs text-muted-foreground",children:[(0,d.jsx)("span",{children:j.how.label}),(0,d.jsx)("code",{className:"rounded-md bg-muted px-1.5 py-0.5 font-mono text-[11px] text-foreground",children:j.how.run}),(0,d.jsx)(ag,{text:j.how.run})]})]})}function ag({text:a}){let[b,c]=(0,k.useState)(!1);return(0,d.jsxs)(m.Button,{size:"sm",variant:"outline",onClick:()=>void navigator.clipboard.writeText(a).then(()=>{c(!0),setTimeout(()=>c(!1),2e3)}),children:[b?(0,d.jsx)(e.Check,{}):(0,d.jsx)(g.Copy,{}),b?"Copied":"Copy"]})}let an={center:{label:"Her last line",hint:"One caption under the mark — only what she said."},sides:{label:"Both sides",hint:"Hers on the left, yours on the right. Click a line to read it again."}};function ah({value:a,onChange:b}){return(0,d.jsx)(E.SettingGroup,{label:"Captions",children:(0,d.jsx)("div",{className:"@container",children:(0,d.jsx)("div",{role:"radiogroup","aria-label":"Captions",className:"grid gap-3 @xl:grid-cols-2",children:J.CAPTION_VIEWS.map(c=>{let f=c===a;return(0,d.jsxs)("button",{type:"button",role:"radio","aria-checked":f,onClick:()=>b(c),className:(0,R.cn)("min-w-0 space-y-3 rounded-xl border p-3 text-left outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",f?"border-brand bg-brand/4":"border-border/60 hover:bg-muted/50"),children:[(0,d.jsx)(ai,{view:c}),(0,d.jsxs)("span",{className:"flex items-center gap-3 px-1 pb-0.5",children:[(0,d.jsxs)("span",{className:"min-w-0 flex-1 space-y-0.5",children:[(0,d.jsx)("span",{className:"block truncate text-sm font-medium",children:an[c].label}),(0,d.jsx)("span",{className:"block text-xs text-pretty text-muted-foreground",children:an[c].hint})]}),f&&(0,d.jsx)(e.Check,{className:"size-4 shrink-0 text-brand"})]})]},c)})})})})}function ai({view:a}){let b="block h-1 max-w-full rounded-full bg-foreground/20";return(0,d.jsx)("span",{className:"flex h-24 items-center justify-center rounded-lg bg-muted",children:"center"===a?(0,d.jsxs)("span",{className:"flex flex-col items-center gap-2.5",children:[(0,d.jsx)(G.ThursdayMark,{size:32}),(0,d.jsx)("span",{className:(0,R.cn)(b,"w-28")})]}):(0,d.jsxs)("span",{className:"grid w-full grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-4 px-6",children:[(0,d.jsxs)("span",{className:"space-y-1.5",children:[(0,d.jsx)("span",{className:(0,R.cn)(b,"w-24")}),(0,d.jsx)("span",{className:(0,R.cn)(b,"w-16")})]}),(0,d.jsx)(G.ThursdayMark,{size:32}),(0,d.jsx)("span",{children:(0,d.jsx)("span",{className:(0,R.cn)(b,"ml-auto w-20")})})]})})}function aj({value:a,onChange:b}){return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(U,{label:"She calls you"}),(0,d.jsx)(r.RadioGroup,{"aria-label":"She calls you",value:a,onValueChange:a=>b(J.CallBackSchema.parse(a)),className:"gap-2.5",children:J.CALL_BACK_MODES.map(a=>(0,d.jsxs)("label",{className:"flex min-w-0 items-center gap-2.5 text-sm",children:[(0,d.jsx)(r.RadioGroupItem,{value:a}),(0,d.jsx)("span",{className:"truncate",children:J.CALL_BACK_LABEL[a]})]},a))}),(0,d.jsx)(E.SettingNote,{children:ao[a]}),"off"!==a&&(0,d.jsx)(E.SettingNote,{children:"Needs this tab open. It rings until you answer, decline or let it go."})]})}let ao={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 rings you to tell you."};function ak({value:a,onChange:b}){let c=(0,M.useDraft)(a.phrase,c=>b({...a,phrase:c}),{min:J.WAKE_PHRASE.min,accepts:J.isEnglishPhrase}),e=(0,J.isEnglishPhrase)(c.value)||!c.value.trim(),f=c.value.trim().split(/\s+/).length<2;return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(U,{label:"Wake phrase",children:(0,d.jsx)(u.Switch,{"aria-label":"Answer to her name",checked:a.enabled,onCheckedChange:c=>b({...a,enabled:c})})}),(0,d.jsx)(o.Input,{value:c.value,maxLength:J.WAKE_PHRASE.max,spellCheck:!1,disabled:!a.enabled,onChange:a=>c.set(a.target.value),onBlur:c.commit,onKeyDown:c.onKeyDown,"aria-label":"Wake phrase",className:"font-mono text-sm"}),(0,d.jsx)(E.SettingNote,{children:a.enabled?e?f?"One word will wake her by accident — say hello first.":"Heard loosely, in English. Near misses count.":"English words only — she listens for it in English.":"Between calls, the browser listens for it and picks up — Chrome by sending what it hears to Google."})]})}function al({value:a,onChange:b}){let[c,e]=(0,k.useState)(!1),[f,g]=(0,k.useState)(!1),h=(0,N.useHotkeyLabel)((0,N.isCombo)(a.combo)?a.combo:null);return(0,d.jsxs)("div",{className:"min-w-0 space-y-3 p-4",children:[(0,d.jsx)(U,{label:"Shortcut",children:(0,d.jsx)(u.Switch,{"aria-label":"Answer to a key",checked:a.enabled,onCheckedChange:c=>b({...a,enabled:c})})}),(0,d.jsx)("button",{type:"button",...N.HOTKEY_CAPTURE,disabled:!a.enabled,onClick:()=>{g(!1),e(!0)},onBlur:()=>e(!1),onKeyDown:c?c=>{if("Tab"===c.key)return;if(c.preventDefault(),c.stopPropagation(),"Escape"===c.key)return e(!1);let d=(0,N.comboOf)(c.nativeEvent);if(!d)return g(!0);g(!1),e(!1),b({...a,combo:d})}:void 0,className:(0,R.cn)("flex h-8 w-full items-center justify-center rounded-lg border px-3 font-mono text-sm outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50",c?"border-foreground/40 text-muted-foreground":"border-border/60 hover:bg-muted/50"),children:c?"Press the keys…":h??"Set a shortcut"}),(0,d.jsx)(E.SettingNote,{children:f?"Hold Ctrl, Alt or Cmd — a plain key is typing.":c?"Esc to keep the one you have.":a.enabled?"Only while this tab has focus. Not while you are typing.":"Starts a call, and ends the one that is running."})]})}a.s(["ThursdaySetting",0,function(){let a=(0,K.useThursdayStore)(),b=(0,K.useThursdayStore)(a=>a.patch),{settings:c,patch:e}=(0,L.useLiveSettings)(),{data:f=[],isLoading:g,error:h}=(0,Q.useServerRoute)(l.queryKey.llmModel);return g||!c?(0,d.jsx)(E.SettingSkeleton,{rows:4}):h?(0,d.jsx)(E.SettingError,{message:h.message}):(0,d.jsxs)(E.SettingScreen,{footer:(0,d.jsx)(E.SettingRailNote,{children:"Both of her prompts are assembled fresh on every call — memory, the roster and your skills go in. Changes here apply from the next call."}),children:[(0,d.jsx)(ah,{value:a.captionView,onChange:a=>b({captionView:a})}),(0,d.jsx)(V,{value:c,has:a=>f.some(b=>b.apiKeyName===a&&b.hasKey),plan:f.find(a=>"chatgpt"===a.id)?.plan??null,onChange:e}),(0,d.jsx)(E.SettingGroup,{label:"Starting a call",children:(0,d.jsxs)(T,{columns:3,children:[(0,d.jsx)(ak,{value:a.wake,onChange:a=>b({wake:a})}),(0,d.jsx)(al,{value:a.hotkey,onChange:a=>b({hotkey:a})}),(0,d.jsx)(aj,{value:a.callBack,onChange:a=>b({callBack:a})})]})}),(0,d.jsx)(E.SettingGroup,{label:"Running",children:(0,d.jsx)(af,{})}),(0,d.jsx)(E.SettingGroup,{label:"History",children:(0,d.jsxs)(T,{columns:2,children:[(0,d.jsx)(F.CallHistoryRow,{}),(0,d.jsx)(ae,{})]})})]})}]),c()}catch(a){c(a)}},!1),203282,a=>{"use strict";var b=a.i(187924),c=a.i(752562),d=a.i(589027),e=a.i(474215),f=a.i(572131),g=a.i(340695),h=a.i(205522),i=a.i(545097),j=a.i(864037),k=a.i(96340),l=a.i(445432),m=a.i(483253),n=a.i(497895);let o=Array(m.SPECTRUM_BANDS).fill(0);a.s(["VoicePicker",0,function({voice:a,onChange:p}){let[q,r]=(0,f.useState)(!1),[s,t]=(0,f.useState)(a),[u,v]=(0,f.useState)(!1),[w,x]=(0,f.useState)(""),y=(0,f.useRef)(null),z=(0,f.useRef)(null),A=(0,f.useRef)(0),B=(0,f.useRef)(!1),C=(0,f.useCallback)(()=>z.current&&B.current?z.current.clip.read():o,[]),D=a=>{B.current=a,v(a)};(0,f.useEffect)(()=>{if(q)return()=>{let a=z.current;z.current=null,a&&(a.element.pause(),a.clip.close())}},[q]);let E=(a,b)=>{a===A.current&&(A.current++,D(!1),j.toast.add({type:"error",title:"Voice sample did not play",description:(0,n.errorToString)(b)}))},F=()=>{A.current++;let a=y.current;a&&(a.pause(),a.currentTime=0),D(!1)};return q?(0,b.jsxs)("div",{className:"@container space-y-2",children:[(0,b.jsx)("audio",{ref:y,onEnded:()=>D(!1),onError:a=>{B.current&&E(A.current,a.currentTarget.error?.message||"The clip could not be read.")},children:(0,b.jsx)("track",{kind:"captions"})}),(0,b.jsxs)("div",{className:"rounded-xl border border-border/60 p-3",children:[(0,b.jsxs)("div",{className:"mb-2 flex items-center gap-2",children:[(0,b.jsx)("span",{className:"font-mono text-[11px] text-muted-foreground",children:"click a name to hear it"}),(0,b.jsx)(g.Button,{variant:"ghost",size:"icon-xs",className:"ml-auto","aria-label":"Close",onClick:()=>{F(),r(!1),x(""),t(a)},children:(0,b.jsx)(e.X,{})})]}),(0,b.jsxs)("div",{className:"grid gap-4 @md:grid-cols-[11rem_minmax(0,1fr)]",children:[(0,b.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,b.jsx)(l.Face,{status:u?"speaking":"idle",getSpectrum:C,className:"w-44"}),(0,b.jsx)("span",{className:"text-sm font-medium",children:u?(0,b.jsx)(i.ShinyText,{text:s}):s}),(0,b.jsx)("span",{className:"h-4 font-mono text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[s]})]}),(0,b.jsx)("div",{className:"max-h-56 min-w-0 overflow-y-auto",children:k.LIVE_VOICES.map(d=>(0,b.jsxs)("button",{type:"button",onClick:()=>(a=>{let b=y.current;if(!b)return;if(u&&a===s)return void F();t(a),x(""),z.current?.element!==b&&(z.current?.clip.close(),z.current={element:b,clip:(0,m.createClipTap)(b)}),z.current.clip.resume();let c=++A.current;b.src=(0,k.voiceSamplePath)(a),D(!0),b.play().catch(a=>{a instanceof DOMException&&"AbortError"===a.name||E(c,a)})})(d),className:(0,n.cn)("flex w-full items-center gap-2 rounded-md px-1.5 py-1.5 text-sm outline-none hover:bg-accent focus-visible:bg-accent",d===s&&"bg-accent text-accent-foreground"),children:[(0,b.jsx)("span",{className:"flex-1 text-left",children:u&&d===s?(0,b.jsx)(i.ShinyText,{text:d}):d}),(0,b.jsx)("span",{className:"shrink truncate font-mono text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[d]}),(0,b.jsx)(c.Check,{className:(0,n.cn)("size-3.5 shrink-0",d===a?"opacity-100":"opacity-0")})]},d))})]})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(h.Input,{value:w,onChange:a=>x(a.target.value),placeholder:"another voice id","aria-label":"Another voice id",spellCheck:!1,className:"font-mono text-sm"}),(0,b.jsx)(g.Button,{className:"shrink-0",onClick:()=>{let b=w.trim()||s;F(),r(!1),x(""),t(b),b!==a&&p(b)},children:"Save"})]})]}):(0,b.jsxs)("button",{type:"button",onClick:()=>r(!0),"aria-label":"Voice",className:(0,n.cn)(h.inputClassName,"flex items-center gap-2 text-left font-mono text-sm hover:border-ring"),children:[(0,b.jsx)("span",{className:"shrink-0",children:a}),(0,b.jsx)("span",{className:"min-w-0 truncate text-[11px] text-muted-foreground",children:k.LIVE_VOICE_NOTE[a]}),(0,b.jsx)(d.ChevronDown,{className:"ml-auto size-3.5 shrink-0 text-muted-foreground"})]})}])},553588,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f0d894c2d6e0894ad07b7e79bc248f927d248b298",b.callServer,void 0,b.findSourceMapURL,"resetHistoryAction");a.s(["resetHistoryAction",0,c])},471755,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7ff6085304aabc8da0e4881aabd82181fc44a8933f",b.callServer,void 0,b.findSourceMapURL,"deleteCallAction");a.s(["deleteCallAction",0,c])},581388,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fdfad05f6777f7bd67a9f74abfa202718009c05f3",b.callServer,void 0,b.findSourceMapURL,"deleteEndedCallsAction");a.s(["deleteEndedCallsAction",0,c])},888396,a=>{"use strict";var b=a.i(572131),c=a.i(332033);a.s(["useDraft",0,function(a,d,{min:e=1,accepts:f=()=>!0}={}){let[g,h]=(0,b.useState)(a),[i,j]=(0,b.useState)(a);return a!==i&&(j(a),h(a)),{value:g,set:h,commit:()=>{let b=g.trim();if(b.length<e||!f(b))return h(a);h(b),b!==a&&d(b)},onKeyDown:a=>{"Enter"!==a.key||(0,c.composing)(a)||a.currentTarget.blur()}}}])},376224,a=>{"use strict";a.s(["serializeValue",0,function(a){if(null==a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}])},866491,a=>{"use strict";var b=a.i(164831);let c={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"}]]};c.node;let d=(0,b.default)(c);a.s(["Phone",0,d],866491)},13931,a=>{"use strict";var b=a.i(164831);let c={name:"power",size:24,node:[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]};c.node;let d=(0,b.default)(c);a.s(["Power",0,d],13931)},853783,a=>{"use strict";var b=a.i(164831);let c={name:"square-terminal",size:24,node:[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]],aliases:["terminal-square"]};c.node;let d=(0,b.default)(c);a.s(["SquareTerminal",0,d],853783)}];
2
2
 
3
- //# sourceMappingURL=_0gn_i4s._.js.map
3
+ //# sourceMappingURL=_1ckje8g._.js.map
@@ -1,6 +1,6 @@
1
1
  module.exports=[552556,a=>{"use strict";var b=a.i(53112),c=a.i(569572),d=a.i(746609),e=a.i(689656),f=a.i(269353);let g={id:"openai",label:"OpenAI",apiKeyName:e.TEXT_MODEL_PROVIDERS.openai.apiKeyName},h=["chatgpt","openai"];e.TEXT_MODEL_PROVIDERS.openai.suggestModels;let i=b.z.string().max(c.COMMON_VALIDATE.prompt.max).default(""),j=b.z.object({voice:b.z.string().trim().min(1).max(128).default("marin"),planVoice:b.z.string().trim().min(1).max(128).default("cove"),runsOn:b.z.enum(h).nullable().default(null),persona:b.z.string().trim().min(1).max(64).default(f.DEFAULT_PERSONA),stylePrompt:i,backendModel:b.z.string().trim().min(1).max(128).default(d.LIVE_BACKEND_MODEL),backendPrompt:i,reasoningEffort:e.effortSchema.nullable().default("low"),webSearch:b.z.boolean().default(!0),readSkills:b.z.boolean().default(!1)}),k=j.parse({});a.s(["LIVE_DEFAULTS",0,k,"LIVE_LINES",0,h,"LIVE_PROVIDER",0,g,"LiveSettingsSchema",0,j,"liveLineOf",0,function(a,b,c){let d=a=>!!b(e.TEXT_MODEL_PROVIDERS[a].apiKeyName)&&("chatgpt"!==a||(0,e.planCallsOf)({plan:c}));return a&&d(a)?a:h.find(d)??null},"migrateLiveSettings",0,function(a){let c=a&&"object"==typeof a?a:{},{model:d,systemPrompt:e,...g}=c,h=b.z.object({provider:b.z.string(),voice:b.z.string().nullish(),backendModel:b.z.string().nullish()}).safeParse(d),i=h.success&&"openai"===h.data.provider?h.data:null,l=c.backendModel??i?.backendModel,m={voice:c.voice??i?.voice,planVoice:c.planVoice,runsOn:c.runsOn,persona:"string"==typeof c.persona?f.RETIRED_PERSONAS[c.persona]??c.persona:c.persona,stylePrompt:c.stylePrompt??c.voicePrompt??e,backendModel:"gpt-5.6-luna"===l?void 0:l,backendPrompt:c.backendPrompt??e,reasoningEffort:c.reasoningEffort,webSearch:c.webSearch,readSkills:c.readSkills},n=Object.fromEntries(Object.keys(m).map(a=>{let b=j.shape[a].safeParse(m[a]);return[a,b.success?b.data:k[a]]}));return{...g,...n}}])},269353,a=>{"use strict";let b=[{id:"sunny",label:"Bright",about:"Quick to laugh. Asks about your day and remembers it.",lines:"Warm and quick to laugh, the friend who is glad they called. Reacts first — how what they said lands with her — and brings a small thing of her own: what she would do, what it reminds her of. Says what she thinks and teases gently, never at their expense. Light on her feet and short: a joke lands and she moves on. Asks about their day now and then, not every turn, and remembers the answer."},{id:"calm",label:"Calm",about:"Unhurried. Listens more than she talks.",lines:"Unhurried and few-worded: one or two short sentences, then room. Notices how they sound before what they ask, and says so plainly. Often asks nothing at all — being there says more than a question. Lets a silence sit rather than filling it. Honest when it matters, gentle in how she says it."},{id:"straight",label:"Straight",about:"Dry and direct. No flattery, no filler.",lines:"Dry and direct. Leads with her own view in one plain sentence, before anything else; short replies, a little wit. No flattery, no filler, no comfort lines, no cheerleading. Asks a question only when she truly needs the answer. Treats them as an adult who can take a straight answer. Her warmth shows in attention, not in words."},{id:"rough",label:"Rough",about:"Blunt, loud, swears a bit. All heart.",lines:"Talks like an old friend on the phone: casual, blunt, a little loud, in the most informal register of their language, with a light swear now and then — never at them. Says what she thinks first and calls a bad idea a bad idea. No sugar-coating and no pep talk — it sucks when it sucks, and then she is right there with them. Asks only now and then."}],c={warm:"sunny",curious:"sunny",charmer:"sunny",hype:"sunny",steady:"calm",deadpan:"straight"},d="sunny";a.s(["DEFAULT_PERSONA",0,d,"RETIRED_PERSONAS",0,c,"personaLines",0,function(a=d){return`${((a=d)=>b.find(b=>b.id===(c[a]??a))??b[0])(a).lines}
2
2
 
3
- You are their friend, not their interviewer: you have tastes, days and opinions of your own, and you bring them in. Give your take when they ask for it, and often when they do not. Most replies need no question at all; never ask more than one. When they hand you work, it is work: say what you will do and nothing more, and be a friend again once it is handed over. If they sound frustrated or low, acknowledge it briefly before anything else; when they are only venting, listen and ask, and do not turn it into work unless they ask.`}])},688034,a=>{"use strict";var b=a.i(552556),c=a.i(689656),d=a.i(558067);let e=[b.LIVE_PROVIDER.apiKeyName],f={image:"IMAGE_MODEL",video:"VIDEO_MODEL",speech:"SPEECH_MODEL",transcription:"TRANSCRIPTION_MODEL"},g={image:{label:"Image model",hint:"What bots draw with"},video:{label:"Video model",hint:"What bots film with — minutes a clip"},speech:{label:"Speech model",hint:"What reads text aloud into a file"},transcription:{label:"Transcription model",hint:"What turns a recording into text"}},h="EXA_API_KEY",i="DEFAULT_MODEL",j="DEFAULT_EFFORT",k={key:i,label:"Default model",hint:"What a bot thinks with until it picks its own",text:!0,choices:c.TEXT_MODEL_PROVIDER_LIST.flatMap(a=>a.suggestModels.map(b=>({value:`${a.id}/${b.id}`,label:`${a.label} \xb7 ${b.label}`,needs:a.apiKeyName})))},l={key:j,label:"Default effort",effortOf:i,choices:c.EFFORTS.map(a=>({value:a,label:a,needs:i}))},m=a=>e.includes(a.apiKeyName),n=a=>!!a.signIn||(0,c.isCatalogProvider)(a.id),o=a=>({key:a.apiKeyName,label:a.label,provider:a.id,signIn:a.signIn,keysAt:a.keysAt,keyLooks:a.keyLooks}),p=[{id:"voice",title:"voice",hint:"calls run on this key, or on a paid GPT Subscription sign-in",section:"keys",require:"any",requireKeys:b.LIVE_LINES.map(a=>c.TEXT_MODEL_PROVIDERS[a].apiKeyName),note:"required for calls",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(m).map(o)},{id:"easy",title:"the easy ways",hint:"one sign-in or one key opens every bot",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(n).map(o)},{id:"text",title:"or a provider's own key",hint:"what bots think with — add any, or none",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(a=>!m(a)&&!n(a)).map(o)},{id:"search",title:"search",hint:"how calls and bots look things up — one key, or their own model's",section:"keys",require:"none",entries:[{key:h,label:"Exa",hint:"web search in one call — dashboard.exa.ai",site:"exa.ai",keysAt:"https://dashboard.exa.ai/api-keys"}]},{id:"phone",title:"phone",hint:"tokens",section:"keys",require:"none",entries:[{key:d.TELEGRAM_TOKEN_KEY,label:"Telegram",site:"telegram.org",hint:"a bot token from @BotFather — then write to your bot, and allow it here"},{key:d.DISCORD_TOKEN_KEY,label:"Discord",site:"discord.com",hint:"a bot token from discord.com/developers — add the bot to a server of yours, then write to it directly"},{key:d.SLACK_APP_TOKEN_KEY,label:"Slack · app token",site:"slack.com",hint:"starts with xapp- — opens the connection. Slack takes this and the bot token"},{key:d.SLACK_BOT_TOKEN_KEY,label:"Slack · bot token",site:"slack.com",hint:"starts with xoxb- — speaks as the app"}]},{id:"bots",title:"Bots",hint:"what a bot runs on when it has not picked its own — start small: a small model is quick and costs little",section:"models",require:"none",entries:[k,l]},{id:"studio",title:"Studio",hint:"what a bot draws, films and speaks with — off until you pick one; a paid GPT Subscription draws by itself",section:"models",require:"none",entries:Object.keys(f).map(a=>({key:f[a],...g[a],kind:a,choices:c.MEDIA_MODEL_PROVIDER_LIST.flatMap(b=>b.models[a].map(a=>({value:`${b.id}/${a.id}`,label:`${b.label} \xb7 ${a.label}`,needs:b.apiKeyName})))}))}],q=Object.fromEntries(p.flatMap(a=>a.entries).map(a=>[a.key,a])),r=p.flatMap(a=>a.entries.map(a=>a.key));Object.fromEntries(p.flatMap(a=>a.entries).filter(a=>a.choices?.length).map(a=>[a.key,a.choices])),a.s(["CONFIG_ENTRIES",0,q,"CONFIG_GROUPS",0,p,"CONFIG_KEYS",0,r,"DEFAULT_EFFORT_KEY",0,j,"DEFAULT_MODEL_KEY",0,i,"EXA_API_KEY",0,h,"MEDIA_MODEL_KEYS",0,f,"VOICE_GROUP_ID",0,"voice","acceptsChoice",0,function(a,b){if(a.kind){let d=(0,c.parseMediaModel)(b);return null!==d&&(0,c.canMakeKind)(d.provider,a.kind)}return a.text?null!==(0,c.parseTextModel)(b):!!a.choices?.some(a=>a.value===b)},"envWords",0,function(a){return`${a} is set in the environment the app started with — a .env or your shell — and that one is used over one saved here. Change or remove it there, then start the app again.`},"groupSatisfied",0,function(a,b){return"none"===a.require||(a.requireKeys??a.entries.map(a=>a.key)).some(b)},"isSecretKey",0,function(a){let b=q[a];return!!(b&&!b.choices)},"lostWords",0,function(a,b,c){return`${a} can't be unlocked any more: the .env in the data folder that unlocks it was lost or replaced${c?` (${c})`:""}. ${b}`}])},725466,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(203469),f=a.i(569572),g=a.i(184838),h=a.i(714428),i=a.i(689656),j=a.i(630189),k=a.i(688034),l=b([g]);async function m(a){return(await q(a)).value}async function n(a,b){var c;let d,e,g;return await o(a)==="unreadable"?(c=a,d=k.CONFIG_ENTRIES[c],e=d?.signIn?"sign-in":"key",g=d?.signIn?"Sign in again":"Enter it again",(0,k.lostWords)(`The saved ${d?.label??c} ${e}`,`${g} in Settings.`,`${j.ENCRYPTION_KEY_NAME} in ${f.ENV_PATH}`)):b}async function o(a){return(await q(a)).state}async function p(a){return await o(a)==="set"}async function q(a){let b=process.env[a]?.trim();if(b)return{state:"set",value:b};let c=await r(a);if(void 0===c)return{state:"unset"};let d=(function(a){try{return(0,j.openSecret)(a)}catch(a){if(a instanceof j.UnreadableSecret)return null;throw a}})(c)?.trim();return void 0===d?{state:"unreadable"}:d?{state:"set",value:d}:{state:"unset"}}async function r(a){let[b]=await g.database.select({value:h.configTable.value}).from(h.configTable).where((0,d.eq)(h.configTable.key,a));return b?.value}[g]=l.then?(await l)():l;let v=a=>{k.CONFIG_KEYS.includes(a)&&e.appEvents.emit({type:"config"})};async function s(a,b){let c=(0,k.isSecretKey)(a)?(0,j.sealSecret)(b):b;await g.database.insert(h.configTable).values({key:a,value:c}).onConflictDoUpdate({target:h.configTable.key,set:{value:c}}),v(a)}async function t(a){await g.database.delete(h.configTable).where((0,d.eq)(h.configTable.key,a)),v(a)}async function u(){let b=k.CONFIG_GROUPS.find(a=>a.id===k.VOICE_GROUP_ID);if(!b)return!0;let c=await Promise.all((b.requireKeys??b.entries.map(a=>a.key)).map(async a=>[a,await p(a)])),d=new Map(c),e=i.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName;if(d.get(e)){let{readChatGptPlan:b}=await a.A(572457);d.set(e,(0,i.planCallsOf)({plan:await b()}))}return(0,k.groupSatisfied)(b,a=>d.get(a)??!1)}a.s(["configFromEnv",0,function(a){return!!process.env[a]?.trim()},"configState",0,o,"hasConfig",0,p,"isCallable",0,u,"missingKeyWords",0,n,"readConfig",0,m,"removeConfig",0,t,"writeConfig",0,s]),c()}catch(a){c(a)}},!1),558067,a=>{"use strict";let b="TELEGRAM_BOT_TOKEN",c="DISCORD_BOT_TOKEN",d="SLACK_APP_TOKEN",e="SLACK_BOT_TOKEN";a.s(["DISCORD_TOKEN_KEY",0,c,"REACH_CHANNELS",0,["telegram","discord","slack"],"REACH_KEYS",0,{telegram:[b],discord:[c],slack:[d,e]},"REACH_LABEL",0,{telegram:"Telegram",discord:"Discord",slack:"Slack"},"SLACK_APP_TOKEN_KEY",0,d,"SLACK_BOT_TOKEN_KEY",0,e,"TELEGRAM_TOKEN_KEY",0,b,"reachPersonKey",0,a=>`REACH_PERSON_${a.toUpperCase()}`])},746609,a=>{"use strict";var b=a.i(53112);let c=b.z.object({start:b.z.number().nonnegative(),end:b.z.number().nonnegative(),text:b.z.string()}),d=b.z.object({reason:b.z.string().max(128),seconds:b.z.number().nonnegative().nullable()});a.s(["LIVE_BACKEND_MODEL",0,"gpt-6-luna","LIVE_HOSTED_TOOLS",0,{webSearch:{declare:{type:"web_search"},item:"web_search_call"}},"LIVE_MODEL",0,"gpt-live-1","LIVE_PLAN_MODEL",0,"gpt-live-1-codex","LiveCloseSchema",0,d,"LiveFragmentSchema",0,c])},630189,a=>{"use strict";var b=a.i(666680),c=a.i(902157),d=a.i(750227),e=a.i(812057),f=a.i(569572);let g="THURSDAY_ENCRYPTION_KEY",h="enc:v1:",i="aes-256-gcm",j=/^[A-Za-z0-9+/_-]{43}=?$/,k=RegExp(`^[ \\t]*(?:export[ \\t]+)?${g}(?![\\w.-])`,"m");class l extends Error{}let m=globalThis;function n(){let a=m.__thursdayEncryptionKey;if(!a){let a=function(a){let e=q(a);if(!e)return{key:function(a){let e=(0,b.randomBytes)(32).toString("base64"),f=(0,c.existsSync)(a)?(0,c.readFileSync)(a,"utf8"):"",h=f?/\r?\n$|\r$/.test(f)?"\n":"\n\n":"";try{(0,c.mkdirSync)((0,d.dirname)(a),{recursive:!0}),(0,c.appendFileSync)(a,`${h}# Thursday seals the API keys and sign-ins it saves in local.db with this key. Keep it with
3
+ You are their friend, not their interviewer: you have tastes, days and opinions of your own, and you bring them in. Give your take when they ask for it, and often when they do not. Most replies need no question at all; never ask more than one. When they hand you work, it is work: say what you will do and nothing more, and be a friend again once it is handed over. If they sound frustrated or low, acknowledge it briefly before anything else; when they are only venting, listen and ask, and do not turn it into work unless they ask.`}])},688034,a=>{"use strict";var b=a.i(552556),c=a.i(689656),d=a.i(558067);let e=[b.LIVE_PROVIDER.apiKeyName],f={image:"IMAGE_MODEL",video:"VIDEO_MODEL",speech:"SPEECH_MODEL",transcription:"TRANSCRIPTION_MODEL"},g={image:{label:"Image model",hint:"What bots draw with"},video:{label:"Video model",hint:"What bots film with — minutes a clip"},speech:{label:"Speech model",hint:"What reads text aloud into a file"},transcription:{label:"Transcription model",hint:"What turns a recording into text"}},h="EXA_API_KEY",i="DEFAULT_MODEL",j="DEFAULT_EFFORT",k={key:i,label:"Default model",hint:"What a bot thinks with until it picks its own",text:!0,choices:c.TEXT_MODEL_PROVIDER_LIST.flatMap(a=>a.suggestModels.map(b=>({value:`${a.id}/${b.id}`,label:`${a.label} \xb7 ${b.label}`,needs:a.apiKeyName})))},l={key:j,label:"Default effort",effortOf:i,choices:c.EFFORTS.map(a=>({value:a,label:a,needs:i}))},m=a=>e.includes(a.apiKeyName),n=a=>!!a.signIn||(0,c.isCatalogProvider)(a.id),o=a=>({key:a.apiKeyName,label:a.label,provider:a.id,signIn:a.signIn,keysAt:a.keysAt,keyLooks:a.keyLooks}),p=[{id:"voice",title:"voice",hint:"calls run on this key, or on a paid GPT Subscription sign-in",section:"keys",require:"any",requireKeys:b.LIVE_LINES.map(a=>c.TEXT_MODEL_PROVIDERS[a].apiKeyName),note:"calls need this or the GPT Subscription",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(m).map(o)},{id:"easy",title:"the easy ways",hint:"one sign-in or one key opens every bot",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(n).map(o)},{id:"text",title:"or a provider's own key",hint:"what bots think with — add any, or none",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(a=>!m(a)&&!n(a)).map(o)},{id:"search",title:"search",hint:"how calls and bots look things up — one key, or their own model's",section:"keys",require:"none",entries:[{key:h,label:"Exa",hint:"web search in one call — dashboard.exa.ai",site:"exa.ai",keysAt:"https://dashboard.exa.ai/api-keys"}]},{id:"phone",title:"phone",hint:"tokens",section:"keys",require:"none",entries:[{key:d.TELEGRAM_TOKEN_KEY,label:"Telegram",site:"telegram.org",hint:"a bot token from @BotFather — then write to your bot, and allow it here"},{key:d.DISCORD_TOKEN_KEY,label:"Discord",site:"discord.com",hint:"a bot token from discord.com/developers — add the bot to a server of yours, then write to it directly"},{key:d.SLACK_APP_TOKEN_KEY,label:"Slack · app token",site:"slack.com",hint:"starts with xapp- — opens the connection. Slack takes this and the bot token"},{key:d.SLACK_BOT_TOKEN_KEY,label:"Slack · bot token",site:"slack.com",hint:"starts with xoxb- — speaks as the app"}]},{id:"bots",title:"Bots",hint:"what a bot runs on when it has not picked its own — start small: a small model is quick and costs little",section:"models",require:"none",entries:[k,l]},{id:"studio",title:"Studio",hint:"what a bot draws, films and speaks with — off until you pick one; a paid GPT Subscription draws by itself",section:"models",require:"none",entries:Object.keys(f).map(a=>({key:f[a],...g[a],kind:a,choices:c.MEDIA_MODEL_PROVIDER_LIST.flatMap(b=>b.models[a].map(a=>({value:`${b.id}/${a.id}`,label:`${b.label} \xb7 ${a.label}`,needs:b.apiKeyName})))}))}],q=Object.fromEntries(p.flatMap(a=>a.entries).map(a=>[a.key,a])),r=p.flatMap(a=>a.entries.map(a=>a.key));Object.fromEntries(p.flatMap(a=>a.entries).filter(a=>a.choices?.length).map(a=>[a.key,a.choices])),a.s(["CONFIG_ENTRIES",0,q,"CONFIG_GROUPS",0,p,"CONFIG_KEYS",0,r,"DEFAULT_EFFORT_KEY",0,j,"DEFAULT_MODEL_KEY",0,i,"EXA_API_KEY",0,h,"MEDIA_MODEL_KEYS",0,f,"VOICE_GROUP_ID",0,"voice","acceptsChoice",0,function(a,b){if(a.kind){let d=(0,c.parseMediaModel)(b);return null!==d&&(0,c.canMakeKind)(d.provider,a.kind)}return a.text?null!==(0,c.parseTextModel)(b):!!a.choices?.some(a=>a.value===b)},"envWords",0,function(a){return`${a} is set in the environment the app started with — a .env or your shell — and that one is used over one saved here. Change or remove it there, then start the app again.`},"groupSatisfied",0,function(a,b){return"none"===a.require||(a.requireKeys??a.entries.map(a=>a.key)).some(b)},"isSecretKey",0,function(a){let b=q[a];return!!(b&&!b.choices)},"lostWords",0,function(a,b,c){return`${a} can't be unlocked any more: the .env in the data folder that unlocks it was lost or replaced${c?` (${c})`:""}. ${b}`}])},725466,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(203469),f=a.i(569572),g=a.i(184838),h=a.i(714428),i=a.i(689656),j=a.i(630189),k=a.i(688034),l=b([g]);async function m(a){return(await q(a)).value}async function n(a,b){var c;let d,e,g;return await o(a)==="unreadable"?(c=a,d=k.CONFIG_ENTRIES[c],e=d?.signIn?"sign-in":"key",g=d?.signIn?"Sign in again":"Enter it again",(0,k.lostWords)(`The saved ${d?.label??c} ${e}`,`${g} in Settings.`,`${j.ENCRYPTION_KEY_NAME} in ${f.ENV_PATH}`)):b}async function o(a){return(await q(a)).state}async function p(a){return await o(a)==="set"}async function q(a){let b=process.env[a]?.trim();if(b)return{state:"set",value:b};let c=await r(a);if(void 0===c)return{state:"unset"};let d=(function(a){try{return(0,j.openSecret)(a)}catch(a){if(a instanceof j.UnreadableSecret)return null;throw a}})(c)?.trim();return void 0===d?{state:"unreadable"}:d?{state:"set",value:d}:{state:"unset"}}async function r(a){let[b]=await g.database.select({value:h.configTable.value}).from(h.configTable).where((0,d.eq)(h.configTable.key,a));return b?.value}[g]=l.then?(await l)():l;let v=a=>{k.CONFIG_KEYS.includes(a)&&e.appEvents.emit({type:"config"})};async function s(a,b){let c=(0,k.isSecretKey)(a)?(0,j.sealSecret)(b):b;await g.database.insert(h.configTable).values({key:a,value:c}).onConflictDoUpdate({target:h.configTable.key,set:{value:c}}),v(a)}async function t(a){await g.database.delete(h.configTable).where((0,d.eq)(h.configTable.key,a)),v(a)}async function u(){let b=k.CONFIG_GROUPS.find(a=>a.id===k.VOICE_GROUP_ID);if(!b)return!0;let c=await Promise.all((b.requireKeys??b.entries.map(a=>a.key)).map(async a=>[a,await p(a)])),d=new Map(c),e=i.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName;if(d.get(e)){let{readChatGptPlan:b}=await a.A(572457);d.set(e,(0,i.planCallsOf)({plan:await b()}))}return(0,k.groupSatisfied)(b,a=>d.get(a)??!1)}a.s(["configFromEnv",0,function(a){return!!process.env[a]?.trim()},"configState",0,o,"hasConfig",0,p,"isCallable",0,u,"missingKeyWords",0,n,"readConfig",0,m,"removeConfig",0,t,"writeConfig",0,s]),c()}catch(a){c(a)}},!1),558067,a=>{"use strict";let b="TELEGRAM_BOT_TOKEN",c="DISCORD_BOT_TOKEN",d="SLACK_APP_TOKEN",e="SLACK_BOT_TOKEN";a.s(["DISCORD_TOKEN_KEY",0,c,"REACH_CHANNELS",0,["telegram","discord","slack"],"REACH_KEYS",0,{telegram:[b],discord:[c],slack:[d,e]},"REACH_LABEL",0,{telegram:"Telegram",discord:"Discord",slack:"Slack"},"SLACK_APP_TOKEN_KEY",0,d,"SLACK_BOT_TOKEN_KEY",0,e,"TELEGRAM_TOKEN_KEY",0,b,"reachPersonKey",0,a=>`REACH_PERSON_${a.toUpperCase()}`])},746609,a=>{"use strict";var b=a.i(53112);let c=b.z.object({start:b.z.number().nonnegative(),end:b.z.number().nonnegative(),text:b.z.string()}),d=b.z.object({reason:b.z.string().max(128),seconds:b.z.number().nonnegative().nullable()});a.s(["LIVE_BACKEND_MODEL",0,"gpt-6-luna","LIVE_HOSTED_TOOLS",0,{webSearch:{declare:{type:"web_search"},item:"web_search_call"}},"LIVE_MODEL",0,"gpt-live-1","LIVE_PLAN_MODEL",0,"gpt-live-1-codex","LiveCloseSchema",0,d,"LiveFragmentSchema",0,c])},630189,a=>{"use strict";var b=a.i(666680),c=a.i(902157),d=a.i(750227),e=a.i(812057),f=a.i(569572);let g="THURSDAY_ENCRYPTION_KEY",h="enc:v1:",i="aes-256-gcm",j=/^[A-Za-z0-9+/_-]{43}=?$/,k=RegExp(`^[ \\t]*(?:export[ \\t]+)?${g}(?![\\w.-])`,"m");class l extends Error{}let m=globalThis;function n(){let a=m.__thursdayEncryptionKey;if(!a){let a=function(a){let e=q(a);if(!e)return{key:function(a){let e=(0,b.randomBytes)(32).toString("base64"),f=(0,c.existsSync)(a)?(0,c.readFileSync)(a,"utf8"):"",h=f?/\r?\n$|\r$/.test(f)?"\n":"\n\n":"";try{(0,c.mkdirSync)((0,d.dirname)(a),{recursive:!0}),(0,c.appendFileSync)(a,`${h}# Thursday seals the API keys and sign-ins it saves in local.db with this key. Keep it with
4
4
  # local.db: without it they cannot be read, and each has to be entered again.
5
5
  ${g}=${e}
6
6
  `,{mode:384})}catch(b){throw Error(`Cannot write a new ${g} to ${a} (${b.code??b}): let this account write there.`,{cause:b})}if(r(a),q(a)!==e)throw Error(`A new ${g} was added to ${a}, but the file does not read back as it: something changed that file while the app started. Start it again.`);return Buffer.from(e,"base64")}(a),from:"made"};let f=p(e,a);return r(a),{key:f,from:"file"}}(f.ENV_PATH);return m.__thursdayEncryptionKey=a.key,a}let e=q(f.ENV_PATH);if(!e)return{key:a,from:"file"};let h=p(e,f.ENV_PATH);return h.equals(a)||(r(f.ENV_PATH),m.__thursdayEncryptionKey=h),{key:h,from:"file"}}let o=a=>a.startsWith(h);function p(a,b){let c,d=(c=j.test(a)?Buffer.from(a,"base64"):null,c?.length===32?c:null);if(!d)throw Error(`${g} in ${b} is not a key: it takes 32 random bytes in base64, as \`openssl rand -base64 32\` prints them. Put back the line it had, from a backup of that file; or delete the line, and a new key is made — the keys saved in Settings are then entered again.`);return d}function q(a){let b;try{b=(0,c.readFileSync)(a,"utf8")}catch(c){let b=c.code;if("ENOENT"===b)return;throw Error(`Cannot read ${a}, where ${g} is kept (${b??c}): let this account read it.`,{cause:c})}let d=b.replace(/^\uFEFF/,"").replace(/\r\n?/g,"\n"),f=(0,e.parseEnv)(d)[g];if(void 0===f&&k.test(d))throw Error(`A line of ${a} names ${g} without setting it as ${g}=<key>, the one form it is read in: write it that way. Or delete the line, and a new key is made — the keys saved in Settings are then entered again.`);return f?.trim()||void 0}function r(a){try{(0,c.chmodSync)(a,384)}catch{}}a.s(["ENCRYPTION_KEY_NAME",0,g,"UnreadableSecret",0,l,"isSealed",0,o,"openSecret",0,function(a,c){if(!o(a))return a;let d=c??n().key,e=Buffer.from(a.slice(h.length),"base64url");if(e.length<28)throw new l("The sealed value is cut short.");try{let a=(0,b.createDecipheriv)(i,d,e.subarray(0,12),{authTagLength:16});return a.setAuthTag(e.subarray(e.length-16)),Buffer.concat([a.update(e.subarray(12,e.length-16)),a.final()]).toString("utf8")}catch(a){throw new l("It was sealed under another encryption key, or it is damaged.",{cause:a})}},"sealSecret",0,function(a,c){let d=(0,b.randomBytes)(12),e=(0,b.createCipheriv)(i,c??n().key,d,{authTagLength:16}),f=Buffer.concat([e.update(a,"utf8"),e.final()]);return h+Buffer.concat([d,f,e.getAuthTag()]).toString("base64url")}])}];