thursday-agent 0.26.0 → 0.27.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 (391) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +5 -5
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/required-server-files.json +5 -5
  5. package/.next/server/app/_global-error/page/build-manifest.json +2 -2
  6. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  7. package/.next/server/app/_global-error.html +1 -1
  8. package/.next/server/app/_global-error.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  12. package/.next/server/app/_not-found/page/build-manifest.json +2 -2
  13. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/.next/server/app/api/artifact/route.js +10 -10
  21. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  22. package/.next/server/app/api/bot/memory/files/route.js +1 -1
  23. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  24. package/.next/server/app/api/bot/memory/route.js +8 -8
  25. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  26. package/.next/server/app/api/bot/route.js +8 -8
  27. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bot/thread/file/route.js +15 -15
  29. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
  30. package/.next/server/app/api/bot/thread/route.js +5 -5
  31. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  32. package/.next/server/app/api/bot/tool-result/[id]/route.js +6 -6
  33. package/.next/server/app/api/bot/tool-result/[id]/route.js.nft.json +1 -1
  34. package/.next/server/app/api/config/route.js +3 -3
  35. package/.next/server/app/api/config/route.js.nft.json +1 -1
  36. package/.next/server/app/api/events/route.js +1 -1
  37. package/.next/server/app/api/events/route.js.nft.json +1 -1
  38. package/.next/server/app/api/favicon/[host]/route.js +4 -4
  39. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/file/[...path]/route.js +4 -4
  41. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  42. package/.next/server/app/api/llm-model/automatic/route.js +5 -5
  43. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  44. package/.next/server/app/api/llm-model/catalog/[provider]/route.js +5 -5
  45. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
  46. package/.next/server/app/api/llm-model/credits/[provider]/route.js +5 -5
  47. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/llm-model/route.js +6 -6
  49. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  50. package/.next/server/app/api/llm-model/subscription/route.js +6 -6
  51. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  52. package/.next/server/app/api/mcp/[name]/route.js +5 -5
  53. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  54. package/.next/server/app/api/mcp/oauth/callback/route.js +6 -6
  55. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  56. package/.next/server/app/api/mcp/route.js +5 -5
  57. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  58. package/.next/server/app/api/mcp/tools/route.js +5 -5
  59. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  60. package/.next/server/app/api/memory/edit/route.js +15 -15
  61. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  62. package/.next/server/app/api/memory/route.js +4 -4
  63. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  64. package/.next/server/app/api/reach/route.js +18 -18
  65. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  66. package/.next/server/app/api/routine/route.js +8 -8
  67. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  68. package/.next/server/app/api/running/route.js +2 -2
  69. package/.next/server/app/api/running/route.js.nft.json +1 -1
  70. package/.next/server/app/api/signins/route.js +3 -3
  71. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  72. package/.next/server/app/api/skills/[source]/[name]/route.js +6 -6
  73. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  74. package/.next/server/app/api/skills/route.js +6 -6
  75. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  76. package/.next/server/app/api/thursday/call/end/route.js +5 -5
  77. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  78. package/.next/server/app/api/thursday/call/plan/route.js +14 -14
  79. package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
  80. package/.next/server/app/api/thursday/call/route.js +6 -6
  81. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  82. package/.next/server/app/api/thursday/settings/route.js +5 -5
  83. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  84. package/.next/server/app/api/thursday/text/route.js +14 -14
  85. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  86. package/.next/server/app/api/thursday/tool-call/route.js +15 -15
  87. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  88. package/.next/server/app/api/update/route.js +7 -7
  89. package/.next/server/app/api/update/route.js.nft.json +1 -1
  90. package/.next/server/app/api/workspace/files/route.js +6 -6
  91. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  92. package/.next/server/app/api/workspace/route.js +6 -6
  93. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  94. package/.next/server/app/artifact/[...path]/page/build-manifest.json +2 -2
  95. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
  96. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  97. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  98. package/.next/server/app/favicon.ico/route.js +2 -2
  99. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  100. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  101. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  102. package/.next/server/app/page/build-manifest.json +2 -2
  103. package/.next/server/app/page/react-loadable-manifest.json +1 -1
  104. package/.next/server/app/page/server-reference-manifest.json +184 -184
  105. package/.next/server/app/page.js +10 -10
  106. package/.next/server/app/page.js.nft.json +1 -1
  107. package/.next/server/app/page_client-reference-manifest.js +1 -1
  108. package/.next/server/chunks/[root-of-the-server]__01jpmcj._.js +2 -2
  109. package/.next/server/chunks/[root-of-the-server]__03bjojd._.js +3 -3
  110. package/.next/server/chunks/{[root-of-the-server]__0wosonh._.js → [root-of-the-server]__05u-9a3._.js} +1 -1
  111. package/.next/server/chunks/{[root-of-the-server]__1dyse-1._.js → [root-of-the-server]__0_qe8iq._.js} +1 -1
  112. package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__0jqidnu._.js +1 -1
  114. package/.next/server/chunks/[root-of-the-server]__0mmynvy._.js +2 -2
  115. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  116. package/.next/server/chunks/[root-of-the-server]__0qhf60h._.js +3 -0
  117. package/.next/server/chunks/[root-of-the-server]__0sea36s._.js +4 -4
  118. package/.next/server/chunks/[root-of-the-server]__0zezbds._.js +2 -2
  119. package/.next/server/chunks/[root-of-the-server]__12hkdpz._.js +1 -1
  120. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +1 -1
  121. package/.next/server/chunks/[root-of-the-server]__14inehv._.js +3 -0
  122. package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +1 -1
  123. package/.next/server/chunks/[root-of-the-server]__17yv6lg._.js +2 -2
  124. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +2 -2
  125. package/.next/server/chunks/{[root-of-the-server]__0b3_rzi._.js → [root-of-the-server]__1hjb8wf._.js} +1 -1
  126. package/.next/server/chunks/[root-of-the-server]__1jcu_e9._.js +2 -2
  127. package/.next/server/chunks/[root-of-the-server]__1jmr2ed._.js +3 -3
  128. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  129. package/.next/server/chunks/[root-of-the-server]__1o7z93z._.js +2 -2
  130. package/.next/server/chunks/[root-of-the-server]__1onvx8x._.js +2 -2
  131. package/.next/server/chunks/_0-mqt2w._.js +1 -1
  132. package/.next/server/chunks/_04s1gb9._.js +30 -27
  133. package/.next/server/chunks/_06u9yo-._.js +1 -1
  134. package/.next/server/chunks/_08354bn._.js +33 -30
  135. package/.next/server/chunks/_083t_nr._.js +1 -1
  136. package/.next/server/chunks/_0c-s0ei._.js +1 -1
  137. package/.next/server/chunks/_0gifi_2._.js +2 -2
  138. package/.next/server/chunks/_0m3sdq8._.js +1 -1
  139. package/.next/server/chunks/_0pljp-1._.js +1 -1
  140. package/.next/server/chunks/_0wjia9n._.js +1 -1
  141. package/.next/server/chunks/_0wyh244._.js +33 -30
  142. package/.next/server/chunks/_0x2mdif._.js +1 -1
  143. package/.next/server/chunks/_1-sk_q4._.js +1 -1
  144. package/.next/server/chunks/_12a_gfz._.js +1 -1
  145. package/.next/server/chunks/_14-kmob._.js +1 -1
  146. package/.next/server/chunks/_16zct7w._.js +30 -27
  147. package/.next/server/chunks/_1823_7a._.js +4 -4
  148. package/.next/server/chunks/_1f_x75d._.js +1 -1
  149. package/.next/server/chunks/_1o2r4ja._.js +1 -1
  150. package/.next/server/chunks/_1q42187._.js +3 -3
  151. package/.next/server/chunks/_1ufbxe1._.js +1 -1
  152. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  153. package/.next/server/chunks/features_14kex_m._.js +11 -11
  154. package/.next/server/chunks/features_bot_08z387_._.js +4 -4
  155. package/.next/server/chunks/features_memory_0__61kl._.js +1 -1
  156. package/.next/server/chunks/features_memory_1uqvksn._.js +1 -1
  157. package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +1 -1
  158. package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +3 -3
  159. package/.next/server/chunks/ssr/{[root-of-the-server]__0x297x3._.js → [root-of-the-server]__03_9u5q._.js} +2 -2
  160. package/.next/server/chunks/ssr/{[root-of-the-server]__0653diy._.js → [root-of-the-server]__04ky8w1._.js} +2 -2
  161. package/.next/server/chunks/ssr/{[root-of-the-server]__1zlzs9j._.js → [root-of-the-server]__0crm8gr._.js} +2 -2
  162. package/.next/server/chunks/ssr/{[root-of-the-server]__02936mh._.js → [root-of-the-server]__0d3n8i_._.js} +2 -2
  163. package/.next/server/chunks/ssr/{[root-of-the-server]__0s8q44q._.js → [root-of-the-server]__0d4o9hs._.js} +2 -2
  164. package/.next/server/chunks/ssr/[root-of-the-server]__0id2dqb._.js +1 -1
  165. package/.next/server/chunks/ssr/{[root-of-the-server]__1s0etwd._.js → [root-of-the-server]__0q2c15o._.js} +2 -2
  166. package/.next/server/chunks/ssr/[root-of-the-server]__0t_oz3-._.js +6 -0
  167. package/.next/server/chunks/ssr/{[root-of-the-server]__16x99f1._.js → [root-of-the-server]__12r70jm._.js} +1 -1
  168. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  169. package/.next/server/chunks/ssr/{[root-of-the-server]__0glkz9k._.js → [root-of-the-server]__1fvh0zn._.js} +2 -2
  170. package/.next/server/chunks/ssr/[root-of-the-server]__1t38-p_._.js +1 -1
  171. package/.next/server/chunks/ssr/{[root-of-the-server]__1c1xyyb._.js → [root-of-the-server]__1uy0zqr._.js} +2 -2
  172. package/.next/server/chunks/ssr/_02uubus._.js +3 -0
  173. package/.next/server/chunks/ssr/_0692i-a._.js +3 -0
  174. package/.next/server/chunks/ssr/_079xt7h._.js +32 -29
  175. package/.next/server/chunks/ssr/_07g7ojr._.js +3 -0
  176. package/.next/server/chunks/ssr/_0ewhz_x._.js +3 -0
  177. package/.next/server/chunks/ssr/_0f3t9pm._.js +2 -2
  178. package/.next/server/chunks/ssr/_0gx6qzr._.js +57 -0
  179. package/.next/server/chunks/ssr/_0pjwmak._.js +6 -0
  180. package/.next/server/chunks/ssr/_0pnzfq1._.js +1 -1
  181. package/.next/server/chunks/ssr/_0px9eat._.js +3 -0
  182. package/.next/server/chunks/ssr/_0r2_l__._.js +3 -0
  183. package/.next/server/chunks/ssr/{_20_wc-g._.js → _0rcuovx._.js} +2 -2
  184. package/.next/server/chunks/ssr/_0uwhhcs._.js +3 -0
  185. package/.next/server/chunks/ssr/{_1wct0tm._.js → _128r03g._.js} +1 -1
  186. package/.next/server/chunks/ssr/_12c2n7f._.js +3 -0
  187. package/.next/server/chunks/ssr/{_12_ail7._.js → _14f64h2._.js} +1 -1
  188. package/.next/server/chunks/ssr/_17fa2ns._.js +162 -0
  189. package/.next/server/chunks/ssr/_1_px1o-._.js +3 -0
  190. package/.next/server/chunks/ssr/_1a_w_du._.js +1 -1
  191. package/.next/server/chunks/ssr/_1e_9qjr._.js +1 -1
  192. package/.next/server/chunks/ssr/_1f59vze._.js +57 -0
  193. package/.next/server/chunks/ssr/_1j5ohq5._.js +3 -0
  194. package/.next/server/chunks/ssr/{_0ingto_._.js → _1kj3d2q._.js} +2 -2
  195. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  196. package/.next/server/chunks/ssr/_1ocl7u0._.js +3 -0
  197. package/.next/server/chunks/ssr/_1q9r6u6._.js +3 -0
  198. package/.next/server/chunks/ssr/{_0fvctar._.js → _1qqusa-._.js} +2 -2
  199. package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
  200. package/.next/server/chunks/ssr/_1uok0wt._.js +3 -0
  201. package/.next/server/chunks/ssr/_1v1pcoh._.js +1 -1
  202. package/.next/server/chunks/ssr/_1xw9imq._.js +3 -0
  203. package/.next/server/chunks/ssr/{components_ui_markdown-body_tsx_0h7bkrz._.js → components_ui_markdown-body_tsx_08i96c6._.js} +2 -2
  204. package/.next/server/chunks/ssr/features_0rrgq_t._.js +1 -1
  205. package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
  206. package/.next/server/chunks/ssr/features_bot_0tb4ui-._.js +2 -2
  207. package/.next/server/chunks/ssr/features_bot_components_01ye2wp._.js +1 -1
  208. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +2 -2
  209. package/.next/server/chunks/ssr/features_bot_components_thread-setting_tsx_0yae7zy._.js +1 -1
  210. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +2 -2
  211. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  212. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +2 -2
  213. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  214. package/.next/server/chunks/ssr/features_skills_components_skills-setting_tsx_1wtuuip._.js +1 -1
  215. package/.next/server/chunks/ssr/features_thursday_components_thursday-setting_tsx_1_6ydrc._.js +1 -1
  216. package/.next/server/chunks/ssr/{node_modules_193w7l8._.js → node_modules_02djdfa._.js} +2 -2
  217. package/.next/server/chunks/ssr/{node_modules_1bwlhwa._.js → node_modules_03ybg-h._.js} +1 -1
  218. package/.next/server/chunks/ssr/{node_modules_01xoz64._.js → node_modules_066eqdg._.js} +1 -1
  219. package/.next/server/chunks/ssr/{node_modules_20ifwl6._.js → node_modules_09605b3._.js} +1 -1
  220. package/.next/server/chunks/ssr/{node_modules_1yilsx4._.js → node_modules_0_c17cv._.js} +1 -1
  221. package/.next/server/chunks/ssr/{node_modules_080f5gu._.js → node_modules_0a1-9-h._.js} +1 -1
  222. package/.next/server/chunks/ssr/{node_modules_17c047f._.js → node_modules_0bfpl_c._.js} +1 -1
  223. package/.next/server/chunks/ssr/{node_modules_1pav8g4._.js → node_modules_0brchjo._.js} +1 -1
  224. package/.next/server/chunks/ssr/{node_modules_0gwiuga._.js → node_modules_0c0pgdi._.js} +1 -1
  225. package/.next/server/chunks/ssr/{node_modules_02-zrtu._.js → node_modules_0ep265x._.js} +1 -1
  226. package/.next/server/chunks/ssr/{node_modules_0kqej10._.js → node_modules_0gzvt6a._.js} +2 -2
  227. package/.next/server/chunks/ssr/{node_modules_0i18max._.js → node_modules_0h4gjw5._.js} +1 -1
  228. package/.next/server/chunks/ssr/{node_modules_1m2_gxv._.js → node_modules_0iso-he._.js} +1 -1
  229. package/.next/server/chunks/ssr/{node_modules_0cda8i6._.js → node_modules_0jvqmb4._.js} +1 -1
  230. package/.next/server/chunks/ssr/node_modules_0kzgugm._.js +3 -0
  231. package/.next/server/chunks/ssr/{node_modules_0uvoegq._.js → node_modules_0l8gpkg._.js} +1 -1
  232. package/.next/server/chunks/ssr/{node_modules_12ajdg8._.js → node_modules_0mlrvds._.js} +2 -2
  233. package/.next/server/chunks/ssr/node_modules_0nvqvnw._.js +7 -7
  234. package/.next/server/chunks/ssr/{node_modules_1s3j8gb._.js → node_modules_0ogtyfm._.js} +2 -2
  235. package/.next/server/chunks/ssr/{node_modules_1_xiwxs._.js → node_modules_0os_-0h._.js} +1 -1
  236. package/.next/server/chunks/ssr/{node_modules_1abjhxx._.js → node_modules_0p05zru._.js} +1 -1
  237. package/.next/server/chunks/ssr/{node_modules_1o-m6_3._.js → node_modules_0pf8124._.js} +2 -2
  238. package/.next/server/chunks/ssr/{node_modules_0eqvt2l._.js → node_modules_0pp3v4f._.js} +2 -2
  239. package/.next/server/chunks/ssr/{node_modules_0rzz90e._.js → node_modules_0r1vv13._.js} +1 -1
  240. package/.next/server/chunks/ssr/{node_modules_1kum1yu._.js → node_modules_0r9yw6x._.js} +1 -1
  241. package/.next/server/chunks/ssr/{node_modules_1yw5fq4._.js → node_modules_0rk1a3e._.js} +1 -1
  242. package/.next/server/chunks/ssr/{node_modules_1es3wjv._.js → node_modules_0sq1pa3._.js} +2 -2
  243. package/.next/server/chunks/ssr/{node_modules_1-cv1_p._.js → node_modules_0w-pjyz._.js} +2 -2
  244. package/.next/server/chunks/ssr/{node_modules_0g_yuwn._.js → node_modules_0yoh66_._.js} +1 -1
  245. package/.next/server/chunks/ssr/{node_modules_1s9agqr._.js → node_modules_10kn3ni._.js} +2 -2
  246. package/.next/server/chunks/ssr/{node_modules_1yajzrd._.js → node_modules_124ipg-._.js} +1 -1
  247. package/.next/server/chunks/ssr/{node_modules_0svoyrb._.js → node_modules_12_p7d0._.js} +1 -1
  248. package/.next/server/chunks/ssr/{node_modules_203yqqb._.js → node_modules_12w12wr._.js} +1 -1
  249. package/.next/server/chunks/ssr/{node_modules_17ks351._.js → node_modules_16kmp_v._.js} +2 -2
  250. package/.next/server/chunks/ssr/{node_modules_05qs8r_._.js → node_modules_16m_yhd._.js} +1 -1
  251. package/.next/server/chunks/ssr/{node_modules_07dc1cr._.js → node_modules_171uvar._.js} +1 -1
  252. package/.next/server/chunks/ssr/{node_modules_0qsi9t2._.js → node_modules_19pn2ti._.js} +1 -1
  253. package/.next/server/chunks/ssr/{node_modules_0k9_jdk._.js → node_modules_1_ly5yy._.js} +1 -1
  254. package/.next/server/chunks/ssr/{node_modules_0o_gq58._.js → node_modules_1_wsn9q._.js} +1 -1
  255. package/.next/server/chunks/ssr/{node_modules_1u7wlaq._.js → node_modules_1djak6n._.js} +2 -2
  256. package/.next/server/chunks/ssr/{node_modules_08cq8i-._.js → node_modules_1e-oxmh._.js} +1 -1
  257. package/.next/server/chunks/ssr/{node_modules_15x7int._.js → node_modules_1ed4zep._.js} +2 -2
  258. package/.next/server/chunks/ssr/{node_modules_1pkpq6d._.js → node_modules_1f2qlxm._.js} +2 -2
  259. package/.next/server/chunks/ssr/{node_modules_1aw7c9f._.js → node_modules_1fn72fs._.js} +2 -2
  260. package/.next/server/chunks/ssr/node_modules_1h9p77x._.js +7 -7
  261. package/.next/server/chunks/ssr/{node_modules_1ucf2fi._.js → node_modules_1hj0rvo._.js} +1 -1
  262. package/.next/server/chunks/ssr/{node_modules_12pvysk._.js → node_modules_1jvkoqj._.js} +1 -1
  263. package/.next/server/chunks/ssr/{node_modules_0tq4-57._.js → node_modules_1jzofr8._.js} +1 -1
  264. package/.next/server/chunks/ssr/{node_modules_08hfp3a._.js → node_modules_1maqy-g._.js} +1 -1
  265. package/.next/server/chunks/ssr/{node_modules_071fb26._.js → node_modules_1oox5h1._.js} +1 -1
  266. package/.next/server/chunks/ssr/{node_modules_0_jxnnn._.js → node_modules_1p56fwh._.js} +1 -1
  267. package/.next/server/chunks/ssr/{node_modules_01yukzc._.js → node_modules_1prbr1-._.js} +1 -1
  268. package/.next/server/chunks/ssr/{node_modules_1hrbceb._.js → node_modules_1qfou69._.js} +1 -1
  269. package/.next/server/chunks/ssr/{node_modules_11f1w-3._.js → node_modules_1qnosqe._.js} +2 -2
  270. package/.next/server/chunks/ssr/{node_modules_1kd_hpx._.js → node_modules_1rdpn6v._.js} +1 -1
  271. package/.next/server/chunks/ssr/{node_modules_079iwnx._.js → node_modules_1v6m9sp._.js} +1 -1
  272. package/.next/server/chunks/ssr/{node_modules_1iapzqf._.js → node_modules_1z8ywx9._.js} +1 -1
  273. package/.next/server/chunks/ssr/{node_modules_1dim95c._.js → node_modules_1zzudo-._.js} +1 -1
  274. package/.next/server/chunks/ssr/{node_modules_1_71wv3._.js → node_modules_2157u1j._.js} +2 -2
  275. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1c5gb92._.js → node_modules_katex_dist_katex_mjs_12lynt6._.js} +1 -1
  276. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1ocxq2z._.js → node_modules_katex_dist_katex_mjs_1vjoadq._.js} +1 -1
  277. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1v93o68._.js +1 -1
  278. package/.next/server/middleware-build-manifest.js +5 -5
  279. package/.next/server/pages/404.html +1 -1
  280. package/.next/server/pages/500.html +1 -1
  281. package/.next/server/server-reference-manifest.js +1 -1
  282. package/.next/server/server-reference-manifest.json +185 -185
  283. package/.next/static/chunks/051z85h3ofmif.js +1 -0
  284. package/.next/static/chunks/05722zc-sohb_.js +4 -0
  285. package/.next/static/chunks/07jo959manleh.js +1 -0
  286. package/.next/static/chunks/0_5a18_y41-_4.js +1 -0
  287. package/.next/static/chunks/0be7dgti95u_2.js +1 -0
  288. package/.next/static/chunks/0c28x0q2aqsbj.js +1 -0
  289. package/.next/static/chunks/0o_rabv5are-o.js +2 -0
  290. package/.next/static/chunks/{0776-hu4_eek7.js → 0wwq57j09skhy.js} +2 -2
  291. package/.next/static/chunks/0zm3urd75-zw5.js +1 -0
  292. package/.next/static/chunks/16hfi69t-6a4t.js +2 -0
  293. package/.next/static/chunks/1g58g8-daiwu5.js +3 -0
  294. package/.next/static/chunks/1i1u85j-_yb1n.js +15 -0
  295. package/.next/static/chunks/1kd2sxkkrae8e.js +1 -0
  296. package/.next/static/chunks/{3xloayc4c096r.js → 1n3a07w81jbc-.js} +1 -1
  297. package/.next/static/chunks/1nncyxatu7une.js +1 -0
  298. package/.next/static/chunks/1s5t41jiomssd.css +1 -0
  299. package/.next/static/chunks/1yl4mlpsw8e7h.js +1 -0
  300. package/.next/static/chunks/{33qtnlc00c9gq.js → 2gl-fo_rmmmq0.js} +1 -1
  301. package/.next/static/chunks/2h_sak2oi70qs.js +1 -0
  302. package/.next/static/chunks/2isg5redeg2bc.js +1 -0
  303. package/.next/static/chunks/{2fxn-xltgy2un.js → 2of2-kggzp-fk.js} +1 -1
  304. package/.next/static/chunks/2vmran3sacktz.js +1 -0
  305. package/.next/static/chunks/2w02v9g8o9-rz.js +1 -0
  306. package/.next/static/chunks/2wi2pcbjrqm86.js +1 -0
  307. package/.next/static/chunks/2xk8otp3gnzml.js +1 -0
  308. package/.next/static/chunks/2ym1hrikoit8p.js +1 -0
  309. package/.next/static/chunks/34d1f980dv5c6.js +18 -0
  310. package/.next/static/chunks/34zhr71217o1-.js +2 -0
  311. package/.next/static/chunks/{0o1r15rfncytn.js → 37r4l2878vybp.js} +1 -1
  312. package/.next/static/chunks/{2cz5734j90h5b.js → 3a-2z23puvz2z.js} +1 -1
  313. package/.next/static/chunks/3d55-y263hup9.js +1 -0
  314. package/.next/static/chunks/3dzrveotr82eu.js +39 -0
  315. package/.next/static/chunks/3fensfht8pxhl.js +55 -0
  316. package/.next/static/chunks/3k7fum0yljmyr.js +1 -0
  317. package/.next/static/chunks/3sawwm4vucnzn.js +1 -0
  318. package/.next/static/chunks/{0z0-g4k1hnpw2.js → 3u208m--8u1iq.js} +1 -1
  319. package/.next/static/chunks/{turbopack-1kym6rf88i5i0.js → turbopack-0ekrsq98buh0j.js} +1 -1
  320. package/README.md +18 -18
  321. package/bin/background.mjs +60 -32
  322. package/bin/print.mjs +82 -0
  323. package/bin/thursday.mjs +44 -13
  324. package/guide/bots.md +19 -3
  325. package/guide/calls.md +5 -2
  326. package/guide/memory.md +2 -1
  327. package/guide/setup.md +8 -6
  328. package/guide/trouble.md +4 -0
  329. package/package.json +11 -5
  330. package/public/voices/intro/awake-f4e02fad.ogg +0 -0
  331. package/seed-skills/concierge/travel/scripts/itinerary.mjs +2 -1
  332. package/server.js +1 -1
  333. package/skills/artifact/references/document.md +5 -2
  334. package/skills/artifact/runtime/document/markdown.mjs +14 -1
  335. package/skills/artifact/runtime/shell/head.html +1 -1
  336. package/skills/artifact/scripts/document.mjs +9 -3
  337. package/skills/browser/SKILL.md +17 -13
  338. package/.next/server/chunks/[root-of-the-server]__0ald4vb._.js +0 -3
  339. package/.next/server/chunks/[root-of-the-server]__0srfj96._.js +0 -3
  340. package/.next/server/chunks/ssr/[root-of-the-server]__1kos36s._.js +0 -6
  341. package/.next/server/chunks/ssr/_024j8bs._.js +0 -3
  342. package/.next/server/chunks/ssr/_04jb10a._.js +0 -3
  343. package/.next/server/chunks/ssr/_059oyhd._.js +0 -3
  344. package/.next/server/chunks/ssr/_0d0uyl3._.js +0 -3
  345. package/.next/server/chunks/ssr/_0fk7dbp._.js +0 -88
  346. package/.next/server/chunks/ssr/_0gfa_rb._.js +0 -3
  347. package/.next/server/chunks/ssr/_0i7zd74._.js +0 -3
  348. package/.next/server/chunks/ssr/_0sp2z94._.js +0 -3
  349. package/.next/server/chunks/ssr/_1avnw03._.js +0 -57
  350. package/.next/server/chunks/ssr/_1bfrntd._.js +0 -6
  351. package/.next/server/chunks/ssr/_1cpvfkg._.js +0 -3
  352. package/.next/server/chunks/ssr/_1cqjpyq._.js +0 -3
  353. package/.next/server/chunks/ssr/_1khngyc._.js +0 -72
  354. package/.next/server/chunks/ssr/_1kyjimg._.js +0 -162
  355. package/.next/server/chunks/ssr/_1sw4r4m._.js +0 -6
  356. package/.next/server/chunks/ssr/_20004tu._.js +0 -57
  357. package/.next/server/chunks/ssr/node_modules_01alue6._.js +0 -3
  358. package/.next/server/chunks/ssr/node_modules_02n9-pb._.js +0 -3
  359. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_0zxr5sz._.js +0 -3
  360. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_trash_mjs_0px2gzr._.js +0 -3
  361. package/.next/static/chunks/02d9vhnz5mwvu.js +0 -1
  362. package/.next/static/chunks/06ff4fq0z4das.js +0 -1
  363. package/.next/static/chunks/09q9n7jrkm4c9.js +0 -39
  364. package/.next/static/chunks/0b3wt5kqs-mk2.js +0 -2
  365. package/.next/static/chunks/0blrj_tg1yur0.js +0 -1
  366. package/.next/static/chunks/0dn1ptom1ahgg.js +0 -18
  367. package/.next/static/chunks/0dq7uppta9s--.js +0 -1
  368. package/.next/static/chunks/0hoz2b--nhn4y.js +0 -1
  369. package/.next/static/chunks/0kfjtkez2xze2.js +0 -1
  370. package/.next/static/chunks/0mv2zywfzt83k.js +0 -4
  371. package/.next/static/chunks/0txtrhykehsd_.js +0 -55
  372. package/.next/static/chunks/17vs1vz7_4l4p.css +0 -1
  373. package/.next/static/chunks/1dnvf_117h4k3.js +0 -2
  374. package/.next/static/chunks/1irynso77np9t.js +0 -1
  375. package/.next/static/chunks/1sh_-w_keseat.js +0 -1
  376. package/.next/static/chunks/1z2_9pl3nezly.js +0 -3
  377. package/.next/static/chunks/23ty4edkuxirx.js +0 -1
  378. package/.next/static/chunks/2f1cnfz4h1e2x.js +0 -1
  379. package/.next/static/chunks/2jepcbdewlwlg.js +0 -1
  380. package/.next/static/chunks/2r_zq_knm0hph.js +0 -15
  381. package/.next/static/chunks/2yfmmo4qr_f-m.js +0 -1
  382. package/.next/static/chunks/3-xnkknav7azp.js +0 -1
  383. package/.next/static/chunks/38q31td1ecuay.js +0 -1
  384. package/.next/static/chunks/3n75-7grldc6f.js +0 -1
  385. package/.next/static/chunks/3ofr4htw4wpj3.js +0 -1
  386. package/.next/static/chunks/40bkw3zfenss4.js +0 -2
  387. package/public/voices/intro/awake-17dbafbf.ogg +0 -0
  388. package/public/voices/intro/models-d09ddc74.ogg +0 -0
  389. /package/.next/static/{YIQV0_9FZPTFUe9TCiVSF → 3_9hbwcAuWTSWCJSufp3d}/_buildManifest.js +0 -0
  390. /package/.next/static/{YIQV0_9FZPTFUe9TCiVSF → 3_9hbwcAuWTSWCJSufp3d}/_clientMiddlewareManifest.js +0 -0
  391. /package/.next/static/{YIQV0_9FZPTFUe9TCiVSF → 3_9hbwcAuWTSWCJSufp3d}/_ssgManifest.js +0 -0
@@ -0,0 +1,6 @@
1
+ module.exports=[613350,276261,a=>{"use strict";var b=a.i(187924),c=a.i(589027),d=a.i(572131),e=a.i(497895);a.s(["FoldedText",0,function({text:a,subject:f,clamp:g="line-clamp-3",tall:h="max-h-40",className:i}){let[j,k]=(0,d.useState)(!1),[l,m]=(0,d.useState)(!1),n=(0,d.useRef)(null),[o,p]=(0,d.useState)(a);return o!==a&&(p(a),k(!1)),(0,d.useEffect)(()=>{let a=n.current;a&&!j&&m(a.scrollHeight>a.clientHeight+1)},[j,a]),(0,b.jsxs)("div",{className:(0,e.cn)("flex items-start gap-1",i),children:[(0,b.jsx)("p",{ref:n,className:(0,e.cn)("min-w-0 flex-1 text-[13px] leading-snug break-keep wrap-anywhere",j?(0,e.cn)(h,"overflow-y-auto scrollbar-none"):g),children:a}),(l||j)&&(0,b.jsx)("button",{type:"button",onClick:()=>k(a=>!a),"aria-label":j?`Fold the ${f}`:`Read the whole ${f}`,className:"shrink-0 rounded-md p-0.5 opacity-60 outline-none transition-opacity hover:opacity-100 focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,b.jsx)(c.ChevronDown,{className:(0,e.cn)("size-3.5",j&&"rotate-180")})})]})}],613350);var f=a.i(405050);let g=(0,f.createServerReference)("7f1cf97c42c6abe2118fe8fe771a800fdb1fd95b48",f.callServer,void 0,f.findSourceMapURL,"answerThreadAction");a.s(["answerThreadAction",0,g],276261)},588237,a=>{"use strict";var b=a.i(187924),c=a.i(497895);a.s(["Table",0,function({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,b.jsx)("table",{"data-slot":"table",className:(0,c.cn)("w-full caption-bottom text-sm",a),...d})})},"TableBody",0,function({className:a,...d}){return(0,b.jsx)("tbody",{"data-slot":"table-body",className:(0,c.cn)("[&_tr:last-child]:border-0",a),...d})},"TableCell",0,function({className:a,...d}){return(0,b.jsx)("td",{"data-slot":"table-cell",className:(0,c.cn)("p-2 align-middle [&:has([role=checkbox])]:pr-0",a),...d})},"TableHead",0,function({className:a,...d}){return(0,b.jsx)("th",{"data-slot":"table-head",className:(0,c.cn)("h-9 px-2 text-left align-middle font-mono text-[11px] font-normal tracking-[0.1em] whitespace-nowrap text-muted-foreground uppercase [&:has([role=checkbox])]:pr-0",a),...d})},"TableHeader",0,function({className:a,...d}){return(0,b.jsx)("thead",{"data-slot":"table-header",className:(0,c.cn)("[&_tr]:border-b",a),...d})},"TableRow",0,function({className:a,...d}){return(0,b.jsx)("tr",{"data-slot":"table-row",className:(0,c.cn)("border-b border-border/60 transition-colors data-[state=selected]:bg-muted hover:bg-muted/40",a),...d})}])},450937,a=>{"use strict";var b=a.i(187924),c=a.i(141146),d=a.i(572131),e=a.i(986368),f=a.i(767561),g=a.i(340695),h=a.i(545097),i=a.i(950463),j=a.i(287702),k=a.i(309059),l=a.i(532688),m=a.i(988422),n=a.i(135432),o=a.i(28996),p=a.i(313237),q=a.i(759497),r=a.i(497895);let s="rounded-2xl bg-background py-1.5 pr-1.5 pl-3.5 ring-1 ring-border/80 transition-shadow focus-within:ring-ring/60",t="px-1 text-[12.5px] leading-5 text-muted-foreground break-keep";function u(a,b){return a?.find(a=>a.name===b)??{name:b}}function v({path:a,note:c}){let{data:d}=(0,q.useServerRoute)(f.queryKey.bot),[e,g]=(0,p.useServerAction)(l.tellFileThreadAction,{onOk:()=>(0,q.revalidate)(f.queryKey.threads)}),i=u(d,c.to),j="running"===c.status,k=async b=>{try{let d=await e(a,b,c.thread.id);return n.screenActs.announce({kind:"answered",id:d.id,label:d.label,answer:`About ${a}: ${b}`,recipient:d.to}),!0}catch{return!1}};return(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-1.5",children:[c.paused?(0,b.jsx)("p",{className:(0,r.cn)(t,"line-clamp-2"),children:`Paused: ${c.paused} Sending this picks it up again.`}):j?(0,b.jsx)("p",{className:t,children:(0,b.jsx)(h.ShinyText,{text:`${i.name} is working \xb7 it reads this before its next step`})}):null,(0,b.jsx)(m.DraftComposer,{threadId:c.thread.id,recipient:i.name,draftKey:`file:${a}`,send:k,busy:g,claimsDrops:!1,placeholder:j?`What's off? ${i.name} reads this before its next step`:`Anything to change here? ${i.name} picks the thread back up`,label:`Note to ${i.name} about this file`,leading:(0,b.jsxs)("span",{className:"mt-1 inline-flex h-5 shrink-0 items-center gap-1 self-start rounded-full bg-muted pr-2 pl-[3px] text-[12px] leading-none font-medium",children:[(0,b.jsx)("span",{className:"pl-1 text-muted-foreground",children:"To"}),(0,b.jsx)(m.Face,{bot:i,size:14}),(0,b.jsx)("span",{className:"max-w-32 truncate",children:i.name})]}),className:s}),(0,b.jsx)("p",{className:"px-1 font-mono text-[11px] text-muted-foreground",children:`${i.name} reads it with this file named \xb7 the answer shows in the thread`})]})}function w({path:a,suggested:c,lead:e,onThread:g}){let{data:h}=(0,q.useServerRoute)(f.queryKey.bot),[j,l]=(0,d.useState)(null),[n,o]=(0,p.useServerAction)(k.handFileAction,{onOk:a=>{(0,q.revalidate)(f.queryKey.threads),g(a.id)}});if(!h)return(0,b.jsx)(i.Skeleton,{className:"h-10 w-full rounded-2xl"});let r=h.filter(a=>!a.disabled),u=r.find(a=>a.name===(j??c))??r[0]??null;if(!u)return(0,b.jsx)("p",{className:t,children:"No bot is switched on to hand it to. Turn one on in Settings › Bots."});let v=async b=>{try{return await n(u.name,a,b),!0}catch{return!1}};return(0,b.jsxs)("div",{className:"flex min-w-0 flex-col gap-1.5",children:[(0,b.jsx)("p",{className:t,children:e}),(0,b.jsx)(m.DraftComposer,{threadId:`file:${a}`,recipient:u.name,send:v,busy:o,claimsDrops:!1,placeholder:`Hand this file to ${u.name} as a new job`,label:`New job for ${u.name} with this file`,leading:(0,b.jsx)(m.RecipientPicker,{current:u,bots:r,disabled:o,onPick:l}),className:s})]})}a.s(["FileNoteBar",0,function({path:a,note:c,failure:e,onThread:f,onOpenThread:h}){let[j,k]=(0,d.useState)(!1);if(e)return(0,b.jsx)("p",{className:"px-1 text-xs text-destructive",children:`Could not tell where a note about this file would go: ${(0,r.errorToString)(e)}`});if(!c)return(0,b.jsx)(i.Skeleton,{className:"h-10 w-full rounded-2xl"});switch(c.state){case"gone":return(0,b.jsx)("p",{className:t,children:"This file is no longer on disk."});case"asking":return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-2xl py-2 pr-2 pl-3.5 ring-1 ring-waiting/40",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsx)("span",{className:(0,r.cn)("text-[12.5px] font-medium",r.WAITING_INK),children:`${c.bot} is waiting on your answer`}),(0,b.jsx)("span",{className:"line-clamp-2 text-[13px] leading-snug break-keep wrap-anywhere",children:c.question})]}),(0,b.jsx)(g.Button,{size:"sm",className:"shrink-0 rounded-full",onClick:()=>h(c.thread.id),children:"Answer in the thread"})]});case"refused":if(j)return(0,b.jsx)(w,{path:a,suggested:null,lead:"What you send starts a new job, with this file.",onThread:f});return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-2xl bg-muted/60 py-2 pr-2 pl-3.5",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 text-[13px] leading-snug break-keep wrap-anywhere",children:c.why}),"deleted"===c.reason?(0,b.jsx)(g.Button,{size:"sm",variant:"outline",className:"shrink-0 rounded-full",onClick:()=>k(!0),children:"Hand to another bot"}):(0,b.jsx)(g.Button,{size:"sm",variant:"outline",className:"shrink-0 rounded-full",onClick:()=>(0,o.openSettings)("keys"),children:"Open Settings"})]});case"none":return(0,b.jsx)(w,{path:a,suggested:c.bot,lead:`${c.threadDeleted?"This file's thread was deleted.":"No thread's report names this file."} What you send starts a new one.`,onThread:f});case"open":return(0,b.jsx)(v,{path:a,note:c})}},"FileThreadChip",0,function({note:a,onOpen:d}){let{data:e}=(0,q.useServerRoute)(f.queryKey.bot);if(!a||!("thread"in a))return null;let{thread:g}=a;return(0,b.jsxs)("button",{type:"button",onClick:()=>d(g.id),"aria-label":`Open the thread ${g.label}`,className:"inline-flex h-6.5 max-w-56 shrink-0 items-center gap-1.5 rounded-full bg-muted pr-2 pl-1.5 text-[12px] font-medium outline-none transition-colors hover:bg-muted-foreground/15 focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsx)(m.Face,{bot:u(e,g.bot),size:14}),(0,b.jsx)("span",{className:"min-w-0 truncate",children:g.label}),(0,b.jsx)(c.ChevronRight,{className:"size-3 shrink-0 text-muted-foreground"})]})},"useFileNote",0,function(a,b){let[c,g]=(0,d.useState)(b);(0,d.useEffect)(()=>g(b),[a,b]);let h=null!==a&&(a.startsWith(`${j.PATHS.artifacts}/`)||null!==c),{data:i,error:k}=(0,q.useServerRoute)(h&&f.queryKey.fileNote(a,c),{onError:()=>void 0});return(0,e.useAppEvent)({files:()=>void(0,q.revalidate)(f.queryKey.fileNotes)}),{filed:h,file:i?.file??null,note:i?.note,failure:k,follow:g}}])},988422,866460,a=>{"use strict";var b=a.i(187924),c=a.i(327598),d=a.i(589027),e=a.i(707963),f=a.i(141146),g=a.i(231500),h=a.i(851528),i=a.i(875160),j=a.i(127774),k=a.i(639466),l=a.i(19895),m=a.i(474215),n=a.i(572131),o=a.i(767561),p=a.i(340695),q=a.i(676504),r=a.i(613350),s=a.i(846991),t=a.i(545097),u=a.i(546893),v=a.i(61876),w=a.i(276261),x=a.i(911640),y=a.i(164853),z=a.i(411509),A=a.i(913834),B=a.i(135432),C=a.i(28996),D=a.i(217464),E=a.i(864037),F=a.i(287702),G=a.i(38793),H=a.i(405050);let I=(0,H.createServerReference)("7f012bd18ed92f7ce7ca95d4497d57250ee59ecda3",H.callServer,void 0,H.findSourceMapURL,"giveFilesAction");var J=a.i(313237),K=a.i(497895);let L=[],M=()=>L,N=()=>()=>{};function O(a){return a.size<=F.GIVEN_FILES.maxBytes||(E.toast.add({type:"error",title:`${a.name} is larger than ${Math.round(F.GIVEN_FILES.maxBytes/1024/1024)} MB.`}),!1)}function P(a){let b=(0,n.useRef)(a?.onKept);b.current=a?.onKept;let c=a?.held,[d,e]=(0,n.useState)([]),f=(0,n.useSyncExternalStore)(c?.subscribe??N,c?.read??M,M),g=c?f:d,h=(0,n.useCallback)(a=>{c?c.write(a(c.read())):e(a)},[c]),[i]=(0,J.useServerAction)(I),j=(0,n.useCallback)(async a=>{let c=a.filter(O),d=F.GIVEN_FILES.perMessage-g.length;c.length>d&&E.toast.add({type:"error",title:`At most ${F.GIVEN_FILES.perMessage} files at a time.`});let e=c.slice(0,Math.max(0,d));if(!e.length)return[];let f=e.map(a=>({key:crypto.randomUUID(),name:a.name,bytes:a.size,path:null}));h(a=>[...a,...f]);let j=new FormData;for(let a of e)j.append("file",a);try{let a=await i(j),c=b.current?.(a);return h(b=>b.map(b=>{let d=f.findIndex(a=>a.key===b.key);return d<0?b:{...b,path:a[d]??null,note:c}})),a}catch{return h(a=>a.filter(a=>!f.some(b=>b.key===a.key))),[]}},[g.length,i,h]);return{files:g,take:j,keepApart:(0,n.useCallback)(async a=>{if(!O(a))return null;let b=new FormData;b.append("file",a);try{return(await i(b))[0]??null}catch{return null}},[i]),remove:a=>h(b=>b.filter(b=>b.key!==a)),clear:()=>h(()=>[]),arriving:g.some(a=>null===a.path),paths:g.flatMap(a=>a.path??[]),withPaths:a=>[a.trim(),...g.flatMap(a=>a.path??[])].filter(Boolean).join("\n")}}function Q({files:a,onRemove:c,dense:d=!1,children:e,className:f}){let g=d?"size-8 rounded-lg":"size-10 rounded-[9px]";return(0,b.jsxs)("div",{className:(0,K.cn)("flex flex-wrap gap-1.5",f),children:[a.map(a=>(0,b.jsxs)("span",{className:(0,K.cn)("flex max-w-64 items-center bg-muted/70",d?"h-10.5 gap-2 rounded-xl py-1 pr-1.5 pl-1":"h-13 gap-2.5 rounded-[14px] py-1.5 pr-2 pl-1.5"),children:[a.path?(0,b.jsx)(G.FileThumb,{path:a.path,bytes:a.bytes,className:(0,K.cn)("shrink-0 overflow-hidden ring-1 ring-foreground/6",g)}):(0,b.jsx)("span",{className:(0,K.cn)("grid shrink-0 place-items-center bg-background text-muted-foreground ring-1 ring-foreground/6",g),children:(0,b.jsx)(i.Loader2,{className:"size-3.5 animate-spin"})}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-col",children:[(0,b.jsx)("span",{className:(0,K.cn)("truncate",d?"text-xs leading-4":"text-[12.5px] leading-4.5"),children:a.name}),(0,b.jsxs)("span",{className:"font-mono text-[10px] leading-3.5 text-muted-foreground",children:[T(a.bytes),a.note&&` \xb7 ${a.note}`]})]}),(0,b.jsx)("button",{type:"button","aria-label":`Take ${a.name} out`,onClick:()=>c(a.key),className:"grid size-5 shrink-0 place-items-center rounded-full text-muted-foreground outline-none hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,b.jsx)(m.X,{className:"size-3.5"})})]},a.key)),e]})}let R=null,S={claim:a=>(R=a,()=>{R===a&&(R=null)}),offer:(a,b)=>!!R&&!!a?.closest?.("[data-room]")&&(R(b),!0)},T=a=>a<1048576?`${Math.max(1,Math.round(a/1024))} KB`:`${(a/1024/1024).toFixed(1)} MB`;a.s(["GivenFiles",0,Q,"roomDrop",0,S,"useGivenFiles",0,P],866460);var U=a.i(332033),V=a.i(759497);function W({className:a,children:c}){return(0,b.jsx)("div",{className:(0,K.cn)("flex min-w-0 flex-col gap-2.5 rounded-[18px] bg-muted py-2 pr-2 pl-3.5",a),children:c})}function X({bot:a,word:c,children:d}){return(0,b.jsxs)("div",{className:"flex min-h-7 min-w-0 items-center gap-1.5",children:[(0,b.jsx)("span",{title:a.name,className:"shrink-0 leading-none",children:(0,b.jsx)(_,{bot:a,size:16})}),(0,b.jsx)("span",{className:(0,K.cn)("truncate text-[12px] leading-4 font-medium",K.WAITING_INK),children:c}),d]})}function Y({options:a,picked:c,busy:d,onChoose:e}){return(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:a.map(a=>(0,b.jsxs)(p.Button,{type:"button",size:"sm",variant:"ghost",loading:c===a,disabled:d,onClick:()=>e(a),"data-continue":a===z.THREAD_CONTINUE?"":void 0,className:"h-7 gap-1.5 rounded-full bg-background px-3 text-[12.5px] hover:bg-background/60 dark:hover:bg-background/60",children:[a===z.THREAD_CONTINUE&&c!==a&&(0,b.jsx)(g.ChevronsRight,{className:"size-3.5 text-muted-foreground"}),a]},a))})}function Z({threadId:a,recipient:d,draftKey:e,send:f,busy:g,placeholder:h,label:k,autoFocus:l=!1,onEscape:m,leading:o,trailing:q,className:r,claimsDrops:s=!0}){let[t,v]=(0,n.useState)(()=>B.threadDrafts.get(a,d,e)),[w,x]=(0,n.useState)(!1),y=b=>{v(b),B.threadDrafts.set(a,d,b,e)},z=P({held:(0,n.useMemo)(()=>B.threadDrafts.files(a,d,e),[a,d,e])}),A=(0,n.useRef)(null),{take:C}=z;(0,n.useEffect)(()=>s?S.claim(a=>void C(a)):void 0,[C,s]);let D=!!t.trim()&&!g&&!z.arriving,E=async()=>{D&&(x(!0),await f(z.withPaths(t))&&(y(""),z.clear()),x(!1))};return(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),E()},className:(0,K.cn)("flex min-w-0 flex-wrap items-end gap-1",r),children:[z.files.length>0&&(0,b.jsx)(Q,{dense:!0,files:z.files,onRemove:z.remove,className:"w-full pb-1"}),o,(0,b.jsx)(u.Textarea,{value:t,rows:1,readOnly:g,"aria-busy":g,autoFocus:l,onChange:a=>y(a.target.value),onPaste:a=>{let b=[...a.clipboardData.files];b.length&&(a.preventDefault(),C(b))},onKeyDown:a=>{let b=(0,U.composing)(a);if("Escape"===a.key&&m&&!b){a.preventDefault(),m();return}"Enter"!==a.key||a.shiftKey||b||(a.preventDefault(),E())},placeholder:h,"aria-label":k,className:"max-h-32 min-h-0 min-w-0 flex-1 resize-none border-0 bg-transparent px-0 py-1 text-[13px] leading-5 shadow-none focus-visible:ring-0 dark:bg-transparent"}),(0,b.jsx)("input",{ref:A,type:"file",multiple:!0,hidden:!0,onChange:a=>{C([...a.target.files??[]]),a.target.value=""}}),(0,b.jsx)(p.Button,{type:"button",size:"icon-sm",variant:"ghost",disabled:g,"aria-label":"Add files",onClick:()=>A.current?.click(),className:"rounded-full text-muted-foreground",children:(0,b.jsx)(j.Paperclip,{})}),q,(0,b.jsx)(p.Button,{type:"submit",size:"icon-sm",variant:D?"default":"ghost",disabled:!D,"aria-label":"Send",className:"rounded-full",children:w?(0,b.jsx)(i.Loader2,{className:"animate-spin"}):(0,b.jsx)(c.ArrowUp,{})})]})}function $({current:a,bots:c,disabled:e,onPick:f}){return(0,b.jsxs)(q.DropdownMenu,{children:[(0,b.jsxs)(q.DropdownMenuTrigger,{render:(0,b.jsx)("button",{type:"button",disabled:e,"aria-label":`Message ${a.name}; choose another bot`,className:"mt-1 inline-flex h-5 shrink-0 items-center gap-1 self-start rounded-full bg-muted pr-1.5 pl-[3px] text-[12px] leading-none font-medium outline-none transition-colors hover:bg-muted-foreground/15 focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50"}),children:[(0,b.jsx)("span",{className:"pl-1 text-muted-foreground",children:"To"}),(0,b.jsx)(_,{bot:a,size:14}),(0,b.jsx)("span",{className:"max-w-32 truncate",children:a.name}),(0,b.jsx)(d.ChevronDown,{className:"size-3 shrink-0 text-muted-foreground"})]}),(0,b.jsx)(q.DropdownMenuContent,{align:"start",children:(0,b.jsx)(q.DropdownMenuGroup,{children:c.map(a=>(0,b.jsxs)(q.DropdownMenuItem,{onClick:()=>f(a.name),children:[(0,b.jsx)(_,{bot:a,size:16}),a.name]},a.name))})})]})}function _({bot:a,size:c}){return(0,b.jsx)(A.BotMark,{size:c,seed:a.name,color:a.icon?.color,shape:a.icon?.shape,outline:a.icon?.outline,paint:a.icon?.paint,notify:!1,className:"shrink-0"})}function aa(){let[a,b]=(0,J.useServerAction)(w.answerThreadAction,{onOk:()=>(0,V.revalidate)(o.queryKey.threads)});return[async(b,c,d,e)=>{let f=c.trim();if(!f)return!1;try{let c=await a(b.id,f,d,e);return B.screenActs.announce({kind:"answered",id:c.id,label:c.label,answer:f,recipient:d,replyTo:e}),!0}catch{return!1}},b]}a.s(["DraftComposer",0,Z,"Face",0,_,"RecipientPicker",0,$,"ThreadReply",0,function({thread:a,status:c,faces:d=[],to:g=null,className:j,claimsDrops:q=!0}){let[u,w]=(0,n.useState)(),[A,E]=(0,n.useState)(()=>B.threadDrafts.recipient(a.id)??a.bot),[F,G]=(0,n.useState)(!1),[H,I]=(0,n.useState)(null),[L,M]=(0,n.useState)({id:a.id,bot:a.bot});(L.id!==a.id||L.bot!==a.bot)&&(M({id:a.id,bot:a.bot}),E(B.threadDrafts.recipient(a.id)??a.bot),w(void 0),G(!1)),(0,n.useEffect)(()=>{g&&B.threadDrafts.tab(a.id)!==g&&(B.threadDrafts.follow(a.id,g),E(g))},[a.id,g]);let N=a.room.participants,O=a.room.questions,P=Math.max(0,O.findIndex(a=>a.id===u)),Q=O[P],R="waiting"===c?a.ask:null,S=(0,z.isAppStop)(R),T=Q?.bot??(N.some(a=>a.bot===A)?A:a.bot),U=Q?.id,[_,ab]=aa(),[ac,ad]=(0,J.useServerAction)(x.cancelThreadAction,{onOk:a=>{(0,V.revalidate)(o.queryKey.threads),B.screenActs.announce({kind:"stopped",id:a.id,label:a.label})}}),ae=ab||ad,af=a.room.deliveries.filter(a=>!a.delivered),[ag,ah]=(0,J.useServerAction)(y.withdrawStepInAction,{onOk:()=>(0,V.revalidate)(o.queryKey.threads)}),ai=af.map(a=>`${a.bot}: ${a.text}`).join(" · "),aj=N.filter(a=>"running"===a.state).map(a=>a.bot),ak=aj.join(", ")||a.bot,al="running"===c&&N.some(a=>a.bot===T&&("running"===a.state||"queued"===a.state)),am="running"===c&&!al,an=T!==a.bot,ao=a=>d.find(b=>b.name===a)??{name:a},ap=async b=>{if(ae)return!1;let c=await _(a,b,T,U);return c&&al&&G(!1),c},aq=async a=>{I(a),await ap(a),I(null)},ar=(d=!1)=>"running"===c||"waiting"===c?(0,b.jsxs)(p.Button,{type:"button",size:"sm",variant:"ghost",loading:ad,disabled:ae,onClick:()=>ac(a.id),"aria-label":"Stop this thread",className:(0,K.cn)("h-7 shrink-0 gap-1.5 rounded-full px-2.5 text-[12px]",d&&"bg-background px-3 hover:bg-background/60 dark:hover:bg-background/60"),children:[!ad&&(0,b.jsx)(l.Square,{className:"size-2.5 fill-current"}),"Stop"]}):null;if(Q){let c=Q.options??[],d=Q.text;return(0,b.jsxs)(W,{className:j,children:[(0,b.jsx)(X,{bot:ao(T),word:"Question",children:(0,b.jsxs)("span",{className:"ml-auto flex shrink-0 items-center gap-1.5",children:[O.length>1&&(0,b.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,b.jsx)(p.Button,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Previous question",disabled:ae||0===P,onClick:()=>w(O[P-1].id),children:(0,b.jsx)(e.ChevronLeft,{})}),(0,b.jsxs)("span",{className:"font-mono text-[10px] text-muted-foreground tabular-nums","aria-live":"polite",children:[P+1," / ",O.length]}),(0,b.jsx)(p.Button,{type:"button",variant:"ghost",size:"icon-sm","aria-label":"Next question",disabled:ae||P===O.length-1,onClick:()=>w(O[P+1].id),children:(0,b.jsx)(f.ChevronRight,{})})]}),ar(!0)]})}),d&&(0,b.jsx)("div",{className:"max-h-[min(14rem,30vh)] min-w-0 overflow-y-auto overscroll-contain pr-1.5",children:(0,b.jsx)(s.Markdown,{className:"min-w-0 text-[13px] leading-snug wrap-anywhere break-keep [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",children:d})}),c.length>0&&(0,b.jsx)(Y,{options:c,picked:H,busy:ae,onChoose:aq}),(0,b.jsx)(D.SignInAsk,{bot:T,onAllowed:ap}),(0,b.jsx)(Z,{claimsDrops:q,threadId:a.id,recipient:T,draftKey:Q.id,send:ap,busy:ae,placeholder:c.length?"Or write your own answer…":"Your answer…",label:`Answer for ${T}`},JSON.stringify([a.id,T,Q.id]))]})}return S?(0,b.jsxs)(W,{className:j,children:[(0,b.jsx)(X,{bot:ao(a.bot),word:"Paused",children:(0,b.jsx)("span",{className:"ml-auto flex shrink-0",children:ar(!0)})}),R?.refused&&(0,b.jsxs)("p",{className:"text-[13px] leading-5 text-destructive",children:[(0,v.refusedWords)(R.refused),"."]}),R?.question&&(0,b.jsx)(r.FoldedText,{text:R.question,subject:"message",clamp:R.refused?"line-clamp-2":"line-clamp-3",tall:"max-h-40",className:R.refused?"font-mono text-[11px] leading-4 text-muted-foreground":void 0}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[R?.refused&&(0,b.jsxs)(p.Button,{type:"button",size:"sm",onClick:()=>(0,C.openSettings)("keys"),className:"h-7 gap-1.5 rounded-full px-3 text-[12.5px]",children:[(0,b.jsx)(k.Settings2,{className:"size-3.5"}),"Open Settings"]}),(0,b.jsx)(Y,{options:R?.options.length?R.options:[z.THREAD_CONTINUE],picked:H,busy:ae,onChoose:aq})]}),(0,b.jsx)(Z,{claimsDrops:q,threadId:a.id,recipient:T,send:ap,busy:ae,placeholder:"Or put it another way…",label:`Message for ${T}`},JSON.stringify([a.id,T,"paused"]))]}):al&&!F?(0,b.jsxs)("div",{className:(0,K.cn)("flex min-w-0 flex-col rounded-2xl bg-muted/40 ring-1 ring-border/50",j),children:[af.map(c=>(0,b.jsxs)("div",{className:"flex items-start gap-2 border-border/60 border-b py-2.5 pr-1.5 pl-3.5",children:[(0,b.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsxs)("p",{className:"flex min-w-0 items-center gap-1.5 font-mono text-[10px] leading-4",children:[(0,b.jsx)(i.Loader2,{className:"size-3 shrink-0 animate-spin text-muted-foreground"}),(0,b.jsx)(t.ShinyText,{text:`Step-in \xb7 waits for ${c.bot}'s next step`,speed:2.2,className:"min-w-0 truncate"})]}),(0,b.jsx)("p",{className:"whitespace-pre-wrap break-keep wrap-anywhere text-[13px] leading-snug",children:c.text})]}),(0,b.jsx)(p.Button,{type:"button",size:"icon-sm",variant:"ghost",disabled:ah,onClick:()=>ag(a.id,c.id),"aria-label":"Take it back",className:"shrink-0 text-muted-foreground/60 hover:text-foreground",children:(0,b.jsx)(m.X,{})})]},c.id)),(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2 py-1.5 pr-1.5 pl-3.5",children:[(0,b.jsx)(t.ShinyText,{text:`${ak} \xb7 Working`,speed:2.4,className:"min-w-0 flex-1 truncate text-[12.5px] leading-5 break-keep"}),(0,b.jsxs)(p.Button,{type:"button",size:"sm",variant:"ghost",disabled:ae,onClick:()=>G(!0),className:"h-7 shrink-0 gap-1.5 rounded-full px-2.5 text-[12px]",children:[(0,b.jsx)(h.CornerDownLeft,{className:"size-3.5"}),"Step in"]}),(0,b.jsx)("span",{className:"h-4 w-px shrink-0 bg-border"}),ar()]})]}):(0,b.jsxs)("div",{className:(0,K.cn)("flex min-w-0 flex-col gap-1.5",j),children:[am&&(0,b.jsxs)("div",{className:"flex min-w-0 items-center gap-2 pr-1.5 pl-3.5",children:[(0,b.jsxs)("p",{className:"flex min-w-0 flex-1 items-center gap-1.5 text-[12.5px] leading-5",children:[(0,b.jsxs)("span",{className:"shrink-0 text-muted-foreground",children:[T," is idle"]}),aj.length>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{className:"shrink-0 text-muted-foreground/50",children:"·"}),(0,b.jsx)(t.ShinyText,{text:`${aj.join(", ")} working`,speed:2.4,className:"min-w-0 truncate"})]})]}),(0,b.jsx)("span",{className:"h-4 w-px shrink-0 bg-border"}),ar()]}),(0,b.jsx)(Z,{claimsDrops:q,threadId:a.id,recipient:T,send:ap,busy:ae,autoFocus:al,onEscape:al?()=>G(!1):void 0,placeholder:al?`What's off? ${T} reads this before its next step`:am?`Anything for ${T}? It starts again as soon as you send`:"Anything more? It picks up where it left off",label:`Message for ${T}`,className:"rounded-2xl bg-background py-1.5 pr-1.5 pl-3.5 ring-1 ring-border/80 transition-shadow focus-within:ring-ring/60",leading:N.length>1?(0,b.jsx)($,{current:ao(T),bots:N.map(a=>ao(a.bot)),disabled:ae,onPick:b=>{B.threadDrafts.select(a.id,b),E(b)}}):null,trailing:al?(0,b.jsx)(p.Button,{type:"button",size:"icon-sm",variant:"ghost",disabled:ae,onClick:()=>G(!1),"aria-label":"Never mind",className:"text-muted-foreground",children:(0,b.jsx)(m.X,{})}):null},JSON.stringify([a.id,T])),an&&(0,b.jsxs)("p",{className:"min-w-0 truncate px-1 text-xs text-muted-foreground",children:[T,"’s answer goes back to ",a.bot]}),!!ai&&!al&&(0,b.jsxs)("p",{className:"flex min-w-0 items-center gap-2 px-1 text-xs text-muted-foreground",children:[(0,b.jsx)(i.Loader2,{className:"size-3 shrink-0 animate-spin"}),(0,b.jsxs)("span",{className:"truncate",children:["Sending to ",ai]})]})]})},"useAnswerThread",0,aa],988422)},911640,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f5afeadaf56688dd6ec2e01b595ee4de7510c9bfb",b.callServer,void 0,b.findSourceMapURL,"cancelThreadAction");a.s(["cancelThreadAction",0,c])},164853,217464,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f3f19bb5a8fb802330794eec74a36a2c27c5ec96e",b.callServer,void 0,b.findSourceMapURL,"withdrawStepInAction");a.s(["withdrawStepInAction",0,c],164853);var d=a.i(187924),e=a.i(767561),f=a.i(340695),g=a.i(313237),h=a.i(759497),i=a.i(520173);a.s(["SignInAsk",0,function({bot:a,onAllowed:b}){let{data:c}=(0,h.useServerRoute)(e.queryKey.signIns),[j,k]=(0,g.useServerAction)(i.setSignInBotAction,{onOk:()=>(0,h.revalidate)(e.queryKey.signIns)}),l=(c??[]).filter(b=>b.asking.includes(a));return l.length?(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:l.map(c=>(0,d.jsxs)(f.Button,{type:"button",size:"sm",loading:k,onClick:()=>void j(c.site,c.account,a,!0).then(()=>b(`Yes — you may use my ${c.site} sign-in as ${c.account}.`)).catch(()=>{}),children:["Let ",a," use ",c.site," (",c.account,")"]},`${c.site}
2
+ ${c.account}`))}):null}],217464)},309059,532688,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7fed281fde1fe8366c1cf5f505712753d66a1af031",b.callServer,void 0,b.findSourceMapURL,"handFileAction");a.s(["handFileAction",0,c],309059);let d=(0,b.createServerReference)("7fc6912508b142b0cdbae7a93737a4b2149d62746c",b.callServer,void 0,b.findSourceMapURL,"tellFileThreadAction");a.s(["tellFileThreadAction",0,d],532688)},38793,559553,a=>{"use strict";var b=a.i(187924),c=a.i(998697),d=a.i(840260),e=a.i(930345),f=a.i(707938),g=a.i(576509),h=a.i(483138),i=a.i(904340),j=a.i(652392),k=a.i(649268),l=a.i(204719),m=a.i(571987),n=a.i(572131),o=a.i(767561),p=a.i(846991),q=a.i(287702);let r=a=>`text/${a}; charset=utf-8`,s={md:{kind:"markdown",mime:r("markdown")},markdown:{kind:"markdown",mime:r("markdown")},csv:{kind:"csv",mime:r("csv")},json:{kind:"json",mime:"application/json; charset=utf-8"},txt:{kind:"text",mime:r("plain")},log:{kind:"text",mime:r("plain")},html:{kind:"frame",mime:r("html")},htm:{kind:"frame",mime:r("html")},pdf:{kind:"frame",mime:"application/pdf"},png:{kind:"image",mime:"image/png"},jpg:{kind:"image",mime:"image/jpeg"},jpeg:{kind:"image",mime:"image/jpeg"},gif:{kind:"image",mime:"image/gif"},webp:{kind:"image",mime:"image/webp"},svg:{kind:"image",mime:"image/svg+xml"},mp3:{kind:"audio",mime:"audio/mpeg"},wav:{kind:"audio",mime:"audio/wav"},mp4:{kind:"video",mime:"video/mp4"},webm:{kind:"video",mime:"video/webm"},docx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},xlsx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},pptx:{kind:"none",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},css:{kind:"none",mime:r("css")},js:{kind:"none",mime:r("javascript")},woff2:{kind:"none",mime:"font/woff2"}},t=a=>a.split(".").pop()?.toLowerCase()??"",u=a=>s[t(a)]?.kind??"none",v=new Set(["css","js","woff2"]),w=Object.keys(s).filter(a=>!v.has(a)),x=RegExp(String.raw`(?<![\p{L}\p{N}_/:@%-])\/?(?:[\p{L}\p{N}_.@%-]+/)*[\p{L}\p{N}_@%-]+(?:\.[\p{L}\p{N}_-]+)*\.(?:${w.join("|")})\b`,"giu"),y=`${q.PATHS.workspace}/`,z=o.queryKey.file("");function A(a){let b=function(a){if(!a.startsWith(z))return a;let b=a.slice(z.length);try{return decodeURIComponent(b)}catch{return b}}(a.trim()),c=b.indexOf(y);return c>=0?b.slice(c+y.length)||null:b.startsWith("/")||/^[A-Za-z]:/.test(b)||b.split("/").includes("..")?null:b||null}let B=a=>a.startsWith(`${q.PATHS.artifacts}/`)&&["md","markdown","html","htm"].includes(t(a));a.s(["extensionOf",0,t,"isPicture",0,a=>"image"===u(a)&&"svg"!==t(a),"leadFirst",0,function(a){let b=a.findIndex(B);return b>0?[a[b],...a.filter((a,c)=>c!==b)]:a},"mimeOf",0,a=>s[t(a)]?.mime??"application/octet-stream","pathsIn",0,function(a){let b=a.replace(/\b[a-z][\w+.-]*:\/\/\S+/gi," ").replace(/\b[a-z][\w+.-]+:(?=\/)/gi," "),c=new Set,d="";for(let[a]of b.matchAll(x)){let b=!a.includes("/"),e=function(a){let b=A(a);if(!b)return null;let[c,...d]=b.split("/");return d.length&&c.includes(".")?null:b}(b?d+a:a);b||(d=e?.slice(0,e.lastIndexOf("/")+1)??""),e&&c.add(e)}return[...c].slice(0,12)},"viewKindOf",0,u,"workspaceRelative",0,A],559553);var C=a.i(497895);let D={markdown:h.FileText,csv:g.FileSpreadsheet,json:f.FileJson,text:i.FileType,image:e.FileImage,audio:k.Music,video:j.FileVideo},E={pdf:h.FileText,html:d.FileCode,htm:d.FileCode,docx:i.FileType,xlsx:g.FileSpreadsheet,pptx:l.Presentation};function F(a){return E[t(a)]??D[u(a)]??c.File}let G=new Set(["markdown","text","csv","json"]);function H(a,b){let c=u(a);return void 0!==b&&b>q.WORKSPACE_VIEW.elementMax?"glyph":"image"===c?"image":"frame"===c&&/\.html?$/i.test(a)?"page":G.has(c)?"text":"glyph"}function I({width:a,className:c,children:d}){let e=(0,n.useRef)(null),[f,g]=(0,n.useState)(null),[h,i]=(0,n.useState)(!1);(0,n.useLayoutEffect)(()=>{let a=e.current;if(!a)return;let b=()=>g({w:a.clientWidth,h:a.clientHeight});b();let{top:c,bottom:d}=a.getBoundingClientRect();d>-400&&c<window.innerHeight+400&&i(!0);let f=new ResizeObserver(b);return f.observe(a),()=>f.disconnect()},[]),(0,n.useEffect)(()=>{let a=e.current;if(!a||h)return;let b=new IntersectionObserver(a=>{a.some(a=>a.isIntersecting)&&i(!0)},{rootMargin:"400px"});return b.observe(a),()=>b.disconnect()},[h]);let j=h&&f?f.w/a:0;return(0,b.jsx)("span",{ref:e,"aria-hidden":!0,className:(0,C.cn)("relative block overflow-hidden",c),children:j>0&&f&&(0,b.jsx)("span",{className:"absolute top-0 left-0 block origin-top-left",style:{width:a,transform:`scale(${j})`},children:d(Math.ceil(f.h/j))})})}function J({path:a,onMissing:c}){let[d,e]=(0,n.useState)(null);return((0,n.useEffect)(()=>{let b=new AbortController;return fetch(o.queryKey.file(a),{headers:{range:`bytes=0-${q.FILE_THUMB.textBytes-1}`},signal:b.signal}).then(a=>a.ok?a.text():Promise.reject()).then(a=>e(a.replace(/\uFFFD+$/,""))).catch(()=>{b.signal.aborted||c()}),()=>b.abort()},[a,c]),null===d)?null:"markdown"===u(a)?(0,b.jsx)("div",{className:"pointer-events-none px-9 py-8 text-[15px] text-foreground",children:(0,b.jsx)(p.Markdown,{controls:!1,components:{a:"span"},children:d})}):(0,b.jsx)("pre",{className:"pointer-events-none px-7 py-6 font-mono text-[13px] leading-relaxed whitespace-pre-wrap text-foreground",children:d})}a.s(["FileThumb",0,function({path:a,bytes:c,glyph:d="size-4",className:e}){let[f,g]=(0,n.useState)(!1),h=(0,n.useCallback)(()=>g(!0),[]),i=f?"glyph":H(a,c);if("image"===i)return(0,b.jsx)("span",{className:(0,C.cn)("relative block overflow-hidden bg-muted",e),children:(0,b.jsx)(m.default,{src:o.queryKey.file(a),alt:"",fill:!0,sizes:`${q.FILE_THUMB.imageWidth}px`,loading:"lazy",decoding:"async",onError:()=>g(!0),className:"object-cover dark:brightness-[0.82]"})});if("page"===i)return(0,b.jsx)(I,{width:q.FILE_THUMB.pageWidth,className:(0,C.cn)("bg-white dark:brightness-[0.82]",e),children:c=>(0,b.jsx)("iframe",{title:"",src:o.queryKey.fileFace(a),sandbox:"allow-scripts",loading:"lazy",tabIndex:-1,"aria-hidden":!0,scrolling:"no",style:{width:q.FILE_THUMB.pageWidth,height:c},className:"pointer-events-none block border-0 bg-white"})});if("text"===i)return(0,b.jsx)(I,{width:q.FILE_THUMB.textWidth,className:(0,C.cn)("bg-background dark:brightness-[0.82]",e),children:()=>(0,b.jsx)(J,{path:a,onMissing:h})});let j=F(a);return(0,b.jsx)("span",{className:(0,C.cn)("grid place-items-center bg-muted text-muted-foreground",e),children:(0,b.jsx)(j,{className:d})})},"faceOf",0,H,"fileIcon",0,F],38793)},369768,832350,613842,a=>{"use strict";var b=a.i(187924),c=a.i(256711),d=a.i(707963),e=a.i(141146),f=a.i(168370),g=a.i(571987),h=a.i(572131),i=a.i(767561),j=a.i(340695),k=a.i(965733),l=a.i(846991),m=a.i(950463),n=a.i(588237),o=a.i(287702),p=a.i(450937),q=a.i(135432),r=a.i(559553);let s=/^[0-9a-f]{0,32}$/,t=a=>"object"==typeof a&&null!==a&&"string"==typeof a.base&&s.test(a.base)&&"string"==typeof a.html&&Number.isFinite(a.at);function u(a,b,c){let d;if(!a)return{error:"this browser keeps nothing"};let e=`thursday-page-drafts:${b}`;try{d=a.getItem(e)}catch{return{error:"this browser keeps nothing"}}let f=[];try{let a=JSON.parse(d??"[]");Array.isArray(a)&&(f=a.filter(t))}catch{}let g=function(a,b){let c=a;if("string"==typeof b.drop&&(c=c.filter(a=>a.base!==b.drop)),void 0===b.hold)return c;if(!t(b.hold))return"not a page's edits";let{base:d,html:e,at:f}=b.hold;return(c=[...c.filter(a=>a.base!==d),{base:d,html:e,at:f}]).length>o.PAGE_DRAFTS.perFile?`${o.PAGE_DRAFTS.perFile} sets of this page's edits are kept aside already`:c.reduce((a,b)=>a+b.html.length,0)>o.PAGE_DRAFTS.chars?"too large to keep aside":c}(f,c);if("string"==typeof g)return{error:g};if(void 0!==c.hold||void 0!==c.drop)try{g.length?a.setItem(e,JSON.stringify(g)):a.removeItem(e)}catch{return{error:"this browser has no room left to keep them"}}return{drafts:g}}var v=a.i(405050);let w=(0,v.createServerReference)("7fcab53f88d925cf33ddceb88ea74f5deb10a3fdc8",v.callServer,void 0,v.findSourceMapURL,"openFileAction");a.s(["openFileAction",0,w],832350);let x=(0,v.createServerReference)("7f2ef09a0d2c396aedd448d8b396c0dbefc339e7f5",v.callServer,void 0,v.findSourceMapURL,"revealFileAction");a.s(["revealFileAction",0,x],613842);let y=(0,v.createServerReference)("7f8c02cfbf763f15c0d2a75abbf8dd880144b6d112",v.callServer,void 0,v.findSourceMapURL,"savePageAction");var z=a.i(332033),A=a.i(576271),B=a.i(313237),C=a.i(497895);let D=new Set(["frame","image","audio","video"]);function E(a){let b=(0,r.workspaceRelative)(a);return b?"none"===(0,r.viewKindOf)(b)?{how:"os"}:{how:"dialog",path:b}:{how:"os"}}let F=(0,h.createContext)(null),G={dialog:{prose:"px-5 py-4",block:"px-4 py-3"},page:{prose:"px-5 py-6 sm:px-8",block:"px-5 py-5"},inline:{prose:"pb-3",block:"pb-3"}};function H({kind:a,content:c,truncated:d,where:e="dialog"}){return(0,b.jsxs)(b.Fragment,{children:[null!=d&&(0,b.jsx)(I,{of:d}),(0,b.jsx)(J,{kind:a,content:c,where:e})]})}function I({of:a}){return(0,b.jsxs)("p",{className:"border-b border-border/60 px-5 py-2.5 font-mono text-[11px] text-muted-foreground",children:[`Showing the first ${(0,C.formatBytes)(o.WORKSPACE_VIEW.textMax)} of ${(0,C.formatBytes)(a)}. `,"Open the file itself for the rest."]})}function J({kind:a,content:c,where:d}){let e=G[d];switch(a){case"markdown":return(0,b.jsx)("div",{className:(0,C.cn)("min-w-0 text-sm leading-relaxed",e.prose),children:(0,b.jsx)(l.Markdown,{children:c})});case"csv":return(0,b.jsx)(V,{content:c,className:e.block});case"json":return(0,b.jsx)(U,{text:function(a){try{return JSON.stringify(JSON.parse(a),null,2)}catch{return a}}(c),className:e.block});default:return(0,b.jsx)(U,{text:c,className:e.block})}}function K(a,b=0){let[c,d]=(0,h.useState)(null),[e,f]=(0,h.useState)(null),[g,j]=(0,h.useState)(null);return(0,h.useEffect)(()=>{if(!a)return;d(null),f(null),j(null);let b=!1;return fetch(i.queryKey.file(a),{headers:{range:`bytes=0-${o.WORKSPACE_VIEW.textMax-1}`}}).then(async a=>{if(!a.ok)throw Error(await a.text());return{text:await a.text(),of:function(a){let b=a.headers.get("content-range")?.match(/^bytes \d+-(\d+)\/(\d+)$/);if(!b)return null;let[,c,d]=b.map(Number);return c+1<d?d:null}(a)}}).then(({text:a,of:c})=>{b||(d(null===c?a:a.slice(0,a.lastIndexOf("\n")+1||void 0)),j(c))}).catch(a=>!b&&f((0,C.errorToString)(a))),()=>{b=!0}},[a,b]),{content:c,failure:e,truncated:g}}let L={named:new Map,opened:new Map,showing:new WeakMap,takes:new WeakMap,saves:new Map,listening:!1},M=a=>{let b=L.named.get(a);return b||(b=crypto.randomUUID(),L.named.set(a,b),L.opened.set(b,a)),{thursday:"host",as:b}};async function N(a){let b=a.source,c=a.data;if(!b||"null"!==a.origin||"string"!=typeof c?.thursday)return;if("hello"===c.thursday){L.takes.set(b,Array.isArray(c.can)?c.can.filter(a=>"string"==typeof a):[]);let a=L.showing.get(b);a&&b.postMessage(M(a),"*");return}if("drafts"===c.thursday){let a=L.opened.get(c.as);if(!a)return;let d=u(O(),a,c),e={as:c.as,id:c.id};b.postMessage("error"in d?{...e,thursday:"not-held",error:d.error}:{...e,thursday:"drafts",drafts:d.drafts},"*");return}let d="save"===c.thursday&&L.opened.get(c.as);if(!d||"string"!=typeof c.html)return;let e=await y(d,c.html,"string"==typeof c.base?c.base:""),f={as:c.as,id:c.id};(0,A.isResultOk)(e)&&!e.data.changed?L.saves.set(d,e.data.version):"string"==typeof c.words&&u(O(),d,{hold:{base:"string"==typeof c.base?c.base:"",html:c.words,at:Date.now()}}),b.postMessage((0,A.isResultOk)(e)?e.data.changed?{...f,thursday:"not-saved",changed:!0}:{...f,thursday:"saved",revision:e.data.revision}:{...f,thursday:"not-saved",error:e.message},"*")}function O(){try{return window.localStorage}catch{return null}}function P({path:a,className:c,takeKeys:d,written:e,onUntold:f,onReloaded:g}){let j=(0,h.useRef)(null),k=(0,h.useRef)(!1),l=(0,h.useRef)(g);l.current=g;let m=(0,h.useRef)(f);m.current=f;let n=(0,h.useCallback)(()=>{d&&j.current?.focus();let b=j.current?.contentWindow;b&&(L.showing.set(b,a),b.postMessage(M(a),"*"),k.current&&(k.current=!1,l.current?.()))},[a,d]);return(0,h.useEffect)(n,[n]),(0,h.useEffect)(()=>{if(!e)return;let b=j.current?.contentWindow;if(!b)return;let c=L.takes.get(b);c?.includes("changed")?(k.current=!0,b.postMessage({thursday:"changed",as:M(a).as,revision:e.revision},"*")):m.current?.(c?"older":"plain")},[e,a]),(0,h.useEffect)(()=>{L.listening||(L.listening=!0,window.addEventListener("message",N))},[]),(0,b.jsx)("iframe",{ref:j,title:a,src:i.queryKey.file(a),allow:"clipboard-write *; fullscreen *; autoplay *",className:c,onLoad:n})}function Q({path:a,kind:c,where:d,takeKeys:e,again:f=0,written:g,onUntold:h,onReloaded:j}){let k=f?`${i.queryKey.file(a)}?again=${f}`:i.queryKey.file(a);return"frame"===c?(0,b.jsx)(P,{path:a,className:"h-full w-full bg-white",takeKeys:e,written:g,onUntold:h,onReloaded:j}):"image"===c?(0,b.jsx)("img",{src:k,alt:a,className:"dialog"===d?"mx-auto max-h-[calc(100vh-11rem)] object-contain p-4":"mx-auto max-w-full p-6"}):"audio"===c?(0,b.jsx)("audio",{controls:!0,src:k,className:"w-full p-6",children:(0,b.jsx)("track",{kind:"captions"})}):(0,b.jsx)("video",{controls:!0,src:k,className:"mx-auto max-h-full max-w-full p-4",children:(0,b.jsx)("track",{kind:"captions"})})}function R({path:a}){let[c,d]=(0,B.useServerAction)(w);return(0,b.jsxs)("div",{className:"space-y-4 p-8",children:[(0,b.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:"Nothing here can draw this file. It opens in its own program."}),(0,b.jsx)(j.Button,{variant:"outline",loading:d,onClick:()=>c(a),children:"Open it"})]})}function S({path:a,bytes:c}){let[d,e]=(0,B.useServerAction)(x);return(0,b.jsxs)("div",{className:"space-y-4 p-8",children:[(0,b.jsxs)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:[`This file is ${(0,C.formatBytes)(c)} — too big to draw here without `,"taking the window with it. Open it where it is instead."]}),(0,b.jsx)(j.Button,{variant:"outline",loading:e,onClick:()=>d(a),children:"Reveal in the file manager"})]})}function T({path:a,opening:l,group:n=[],kind:r,byHer:s,from:t,onPath:u,onClose:v}){let w="image"===r,x=D.has(r),{note:y,filed:A,failure:B,again:E,written:F,reloadedAt:G,stale:I,reload:J,follow:M,untold:N,reloaded:O}=function(a,b,c,d){let{filed:e,file:f,note:g,failure:i,follow:j}=(0,p.useFileNote)(a,c),[k,l]=(0,h.useState)(0),[m,n]=(0,h.useState)(null),[o,q]=(0,h.useState)(null),[r,s]=(0,h.useState)(!1),t=(0,h.useRef)(null);(0,h.useEffect)(()=>{l(0),n(null),q(null),s(!1),t.current=null},[a,b]);let u=(0,h.useCallback)(()=>{l(a=>a+1),n(null),s(!1),q(new Date)},[]),v=f?.version??null,w=f?.revision??null;return(0,h.useEffect)(()=>{if(!v)return;let b=t.current;t.current=v,null===b||b===v||(null===a||L.saves.get(a)!==v)&&("frame"===d?n(a=>({n:(a?.n??0)+1,revision:w})):"audio"===d||"video"===d?s(!0):u())},[v,w,d,u]),{filed:e,note:g,failure:i,again:k,written:m,reloadedAt:o,stale:r,reload:u,follow:j,untold:(0,h.useCallback)(a=>{if("plain"===a)return u();n(null),s(!0)},[u]),reloaded:(0,h.useCallback)(()=>{n(null),q(new Date)},[])}}(a,l,t,r),{content:P,failure:R,truncated:S}=K(x?null:a,E),U=a?.split("/").pop()??"",V=a?n.indexOf(a):-1,W=a=>{!(V<0)&&u&&u(n[(V+a+n.length)%n.length])},{left:X,keep:Y}=function(a,b){let[c,d]=(0,h.useState)(null),e=(0,h.useRef)(b);e.current=b;let f=(0,h.useRef)(()=>void 0);return(0,h.useEffect)(()=>{if(!a)return void d(null);let b=Math.round(o.WORKSPACE_VIEW.autoCloseMs/1e3);d(b);let c=()=>{for(let a of(window.clearInterval(h),["pointermove","keydown","wheel","blur"]))window.removeEventListener(a,g);d(null)},g=()=>c(),h=window.setInterval(()=>{if((b-=1)>0)return d(b);c(),e.current()},1e3);for(let a of["pointermove","keydown","wheel","blur"])window.addEventListener(a,g);return f.current=c,c},[a]),{left:c,keep:(0,h.useCallback)(()=>f.current(),[])}}(s&&null!==a,v),Z="frame"===r||"video"===r,$=(0,h.useRef)(null),_=a=>{q.roomOpens.open(a),v()};return(0,b.jsx)(k.Dialog,{open:null!==a,onOpenChange:a=>!a&&v(),children:(0,b.jsxs)(k.DialogContent,{ref:$,initialFocus:$,onKeyDown:a=>{(0,z.capturesKeys)(a.target)||("ArrowLeft"===a.key&&W(-1),"ArrowRight"===a.key&&W(1))},onPointerOver:Y,className:(0,C.cn)("flex flex-col gap-0 overflow-hidden p-0",Z?"h-[min(42rem,calc(100vh-3rem))] sm:max-w-232":"max-h-[calc(100vh-3rem)] sm:max-w-4xl"),children:[(0,b.jsx)(k.DialogTitle,{className:"sr-only",children:U}),(0,b.jsxs)("div",{className:"flex shrink-0 items-center gap-1 border-b border-border/60 py-2 pr-12 pl-4",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[12px]",children:a}),null!==X&&(0,b.jsx)("span",{className:"shrink-0 pr-1 font-mono text-[11px] text-muted-foreground tabular-nums",children:`Closing in ${X}s`}),I?(0,b.jsx)(j.Button,{variant:"ghost",size:"xs",className:"shrink-0 font-normal text-muted-foreground",onClick:J,children:"Changed since it opened · Reload"}):G&&(0,b.jsx)("span",{className:"shrink-0 pr-1 font-mono text-[11px] text-muted-foreground tabular-nums",children:`Reloaded at ${(0,c.format)(G,"HH:mm")}`}),A&&(0,b.jsx)(p.FileThreadChip,{note:y,onOpen:_}),V>=0&&n.length>1&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground tabular-nums",children:[V+1," / ",n.length]}),(0,b.jsx)(j.Button,{variant:"ghost",size:"icon-sm","aria-label":"Previous image",onClick:()=>W(-1),children:(0,b.jsx)(d.ChevronLeft,{})}),(0,b.jsx)(j.Button,{variant:"ghost",size:"icon-sm","aria-label":"Next image",onClick:()=>W(1),children:(0,b.jsx)(e.ChevronRight,{})})]}),a&&(0,b.jsx)("a",{href:i.queryKey.fileView(a),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:(0,C.cn)((0,j.buttonVariants)({variant:"ghost",size:"icon-sm"})),children:(0,b.jsx)(f.ExternalLink,{})})]}),(0,b.jsx)("div",{className:(0,C.cn)("min-h-0 flex-1","frame"===r?"overflow-hidden":"overflow-auto"),children:x&&a?(0,b.jsx)(Q,{path:a,kind:r,where:"dialog",takeKeys:!s,again:E,written:F,onUntold:N,onReloaded:O},`${l}:${E}`):R?(0,b.jsx)("p",{className:"p-5 font-mono text-xs text-destructive",children:R}):null===P?(0,b.jsxs)("div",{className:"space-y-3 p-5",children:[(0,b.jsx)(m.Skeleton,{className:"h-5 w-2/3"}),(0,b.jsx)(m.Skeleton,{className:"h-4 w-full"}),(0,b.jsx)(m.Skeleton,{className:"h-4 w-5/6"})]}):(0,b.jsx)(H,{kind:r,content:P,truncated:S})}),w&&n.length>1&&(0,b.jsx)("div",{className:"flex shrink-0 justify-center gap-1.5 border-t border-border/60 p-2.5",children:n.map(c=>(0,b.jsx)("button",{type:"button","aria-label":c.split("/").pop(),onClick:()=>u?.(c),className:(0,C.cn)("size-11 shrink-0 overflow-hidden rounded-md outline-none focus-visible:ring-3 focus-visible:ring-ring/50",c===a?"ring-2 ring-foreground":"opacity-55"),children:(0,b.jsx)(g.default,{src:i.queryKey.file(c),alt:"",width:96,height:96,loading:"lazy",className:"size-full bg-muted object-cover"})},c))}),A&&a&&(0,b.jsx)("div",{className:"shrink-0 border-t border-border/60 px-3 pt-2.5 pb-3",children:(0,b.jsx)(p.FileNoteBar,{path:a,note:y,failure:B,onThread:M,onOpenThread:_})})]})})}function U({text:a,className:c}){return(0,b.jsx)("pre",{className:(0,C.cn)("overflow-x-auto font-mono text-[12px] leading-relaxed whitespace-pre-wrap text-foreground/90",c),children:a})}function V({content:a,className:c}){let[d,...e]=(0,h.useMemo)(()=>(function(a){let b=[],c=[],d="",e=!1;for(let f=0;f<a.length;f++){let g=a[f];e?'"'===g&&'"'===a[f+1]?(d+='"',f++):'"'===g?e=!1:d+=g:'"'===g?e=!0:","===g?(c.push(d),d=""):"\n"===g||"\r"===g?("\r"===g&&"\n"===a[f+1]&&f++,c.push(d),b.push(c),c=[],d=""):d+=g}return(d.length||c.length)&&(c.push(d),b.push(c)),b.filter(a=>a.some(a=>a.trim()))})(a),[a]),f=(0,h.useMemo)(()=>(d??[]).map((a,b)=>e.some(a=>""!==(a[b]??"").trim())&&e.every(a=>{let c=(a[b]??"").trim();return""===c||/^[+-]?[\d,]*\.?\d+%?$/.test(c)})),[d,e]);return d?(0,b.jsx)("div",{className:(0,C.cn)("overflow-x-auto",c),children:(0,b.jsxs)(n.Table,{children:[(0,b.jsx)(n.TableHeader,{children:(0,b.jsx)(n.TableRow,{children:d.map((a,c)=>(0,b.jsx)(n.TableHead,{className:(0,C.cn)("whitespace-nowrap",f[c]&&"text-right"),children:a},`${c}-${a}`))})}),(0,b.jsx)(n.TableBody,{children:e.map((a,c)=>(0,b.jsx)(n.TableRow,{children:d.map((d,e)=>(0,b.jsx)(n.TableCell,{className:(0,C.cn)("whitespace-nowrap",f[e]&&"text-right tabular-nums"),children:a[e]??""},`${c}-${e}`))},`${c}-${a[0]??""}`))})]})}):(0,b.jsx)(U,{text:a,className:c})}a.s(["FileBody",0,H,"FileFrame",0,P,"FileLink",0,function({path:a,group:c,from:d=null,className:e,title:f,label:g,children:j}){let k=E(a),l=(0,h.useContext)(F),[m,n]=(0,B.useServerAction)(w);return(0,b.jsx)("button",{type:"button",disabled:n,title:f??a,"aria-label":g,className:e,onClick:()=>{"dialog"===k.how?l?l(k.path,c,!1,d):window.open(i.queryKey.fileView(k.path),"_blank"):m(a)},children:j})},"FilePreview",0,function({path:a,bytes:c}){let d=(0,r.viewKindOf)(a),{content:e,failure:f,truncated:g}=K(D.has(d)||"none"===d?null:a);return"none"===d?(0,b.jsx)(R,{path:a}):("frame"===d||"image"===d)&&c>o.WORKSPACE_VIEW.elementMax?(0,b.jsx)(S,{path:a,bytes:c}):D.has(d)?(0,b.jsx)(Q,{path:a,kind:d,where:"preview"}):f?(0,b.jsx)("p",{className:"p-5 font-mono text-xs text-destructive",children:f}):null===e?(0,b.jsxs)("div",{className:"space-y-3 p-5",children:[(0,b.jsx)(m.Skeleton,{className:"h-5 w-2/3"}),(0,b.jsx)(m.Skeleton,{className:"h-4 w-full"}),(0,b.jsx)(m.Skeleton,{className:"h-4 w-5/6"})]}):(0,b.jsx)(H,{kind:d,content:e,truncated:g})},"FileViewer",0,function({children:a}){let[c,d]=(0,h.useState)(null),e=(0,h.useRef)(0),f=(0,h.useCallback)((a,b=[],c=!1,f=null)=>d({path:a,group:b,byHer:c,from:f,n:++e.current}),[]);return(0,b.jsxs)(F,{value:f,children:[a,(0,b.jsx)(T,{path:c?.path??null,opening:c?.n??0,group:c?.group??[],kind:c?(0,r.viewKindOf)(c.path):"text",byHer:c?.byHer??!1,from:c?.from??null,onPath:a=>d(b=>b&&{...b,path:a}),onClose:()=>d(null)})]})},"fileTarget",0,E,"useFileText",0,K,"useOpenFile",0,function(){let a=(0,h.useContext)(F);return(0,h.useCallback)((b,c=[],d=!1,e=null)=>{let f=E(b);return"os"!==f.how&&(a?(a(f.path,c,d,e),!0):null!==window.open(i.queryKey.fileView(f.path),"_blank"))},[a])}],369768)},231500,851528,127774,a=>{"use strict";var b=a.i(164831);let c={name:"chevrons-right",size:24,node:[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]};c.node;let d=(0,b.default)(c);a.s(["ChevronsRight",0,d],231500);let e={name:"corner-down-left",size:24,node:[["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}],["path",{d:"m9 10-5 5 5 5",key:"1kshq7"}]]};e.node;let f=(0,b.default)(e);a.s(["CornerDownLeft",0,f],851528);let g={name:"paperclip",size:24,node:[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]};g.node;let h=(0,b.default)(g);a.s(["Paperclip",0,h],127774)},707938,a=>{"use strict";var b=a.i(164831);let c={name:"file-braces",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]],aliases:["file-json"]};c.node;let d=(0,b.default)(c);a.s(["FileJson",0,d],707938)},840260,930345,a=>{"use strict";var b=a.i(164831);let c={name:"file-code",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]};c.node;let d=(0,b.default)(c);a.s(["FileCode",0,d],840260);let e={name:"file-image",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]};e.node;let f=(0,b.default)(e);a.s(["FileImage",0,f],930345)},576509,904340,652392,a=>{"use strict";var b=a.i(164831);let c={name:"file-spreadsheet",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]]};c.node;let d=(0,b.default)(c);a.s(["FileSpreadsheet",0,d],576509);let e={name:"file-type",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]]};e.node;let f=(0,b.default)(e);a.s(["FileType",0,f],904340);let g={name:"file-play",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z",key:"1tzo1f"}]],aliases:["file-video"]};g.node;let h=(0,b.default)(g);a.s(["FileVideo",0,h],652392)},649268,a=>{"use strict";var b=a.i(164831);let c={name:"music",size:24,node:[["path",{d:"M9 18V5l12-2v13",key:"1jmyc2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["circle",{cx:"18",cy:"16",r:"3",key:"1hluhg"}]]};c.node;let d=(0,b.default)(c);a.s(["Music",0,d],649268)},204719,a=>{"use strict";var b=a.i(164831);let c={name:"presentation",size:24,node:[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]};c.node;let d=(0,b.default)(c);a.s(["Presentation",0,d],204719)},639466,a=>{"use strict";var b=a.i(164831);let c={name:"settings-2",size:24,node:[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]]};c.node;let d=(0,b.default)(c);a.s(["Settings2",0,d],639466)},19895,a=>{"use strict";var b=a.i(164831);let c={name:"square",size:24,node:[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]};c.node;let d=(0,b.default)(c);a.s(["Square",0,d],19895)},4486,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.ImageConfigContext},453773,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored.contexts.RouterContext},35444,(a,b,c)=>{"use strict";function d(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,b.qualities[0]):c}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findClosestQuality",{enumerable:!0,get:function(){return d}})},402305,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return g}});let d=a.r(35444),e=a.r(68063);function f({config:a,src:b,width:c,quality:g}){let h=(0,e.getDeploymentId)();if(b.startsWith("/")&&!b.startsWith("//"))if(b.includes("/_next/static/immutable")&&!(0,e.getAssetToken)())h=void 0;else{let a=b.indexOf("?");if(-1!==a){let c=new URLSearchParams(b.slice(a+1)),d=c.get("dpl");if(d){h=d,c.delete("dpl");let e=c.toString();b=b.slice(0,a)+(e?"?"+e:"")}}}if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let i=(0,d.findClosestQuality)(g,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${i}${b.startsWith("/")&&h?`&dpl=${h}`:""}`}f.__next_img_default=!0;let g=f},808591,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(572131);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},767161,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Image",{enumerable:!0,get:function(){return v}});let d=a.r(833354),e=a.r(346058),f=a.r(187924),g=e._(a.r(572131)),h=d._(a.r(935112)),i=d._(a.r(258018)),j=a.r(494915),k=a.r(300345),l=a.r(4486),m=a.r(453773),n=d._(a.r(402305)),o=a.r(808591),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[48,96,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=g.useEffect,t=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:t,onLoadingCompleteRef:u,setBlurComplete:v,setShowAltText:w,sizesInput:x,onLoad:y,onError:z,...A},B)=>{let C=(0,g.useRef)(!1),D=(0,g.useRef)(null);s(()=>{let{current:a}=C,{current:b}=D;a||null===b||(z&&(b.src=b.src),b.complete&&q(b,l,t,u,v,n,x),C.current=!0)},[a,l,t,u,z,n,x]);let E=(0,o.useMergedRef)(B,D);return(0,f.jsx)("img",{...A,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:E,onLoad:a=>{q(a.currentTarget,l,t,u,v,n,x)},onError:a=>{w(!0),"empty"!==l&&v(!0),z&&z(a)}})});function u({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let v=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,s]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(t,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:s,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(u,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},533095,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(833354),g=a.r(494915),h=a.r(767161),i=f._(a.r(402305));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[48,96,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},571987,(a,b,c)=>{b.exports=a.r(533095)},68063,(a,b,c)=>{"use strict";let d;Object.defineProperty(c,"__esModule",{value:!0});var e={getAssetToken:function(){return i},getAssetTokenQuery:function(){return j},getDeploymentId:function(){return g},getDeploymentIdQuery:function(){return h}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});function g(){return d}function h(a=!1){return d?`${a?"&":"?"}dpl=${d}`:""}function i(){return!1}function j(a=!1){return""}d=void 0},258018,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(833354),g=a.r(346058),h=a.r(187924),i=g._(a.r(572131)),j=f._(a.r(394613)),k=a.r(292966);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},104987,(a,b,c)=>{"use strict";function d({widthInt:a,heightInt:b,blurWidth:c,blurHeight:e,blurDataURL:f,objectFit:g}){let h=c?40*c:a,i=e?40*e:b,j=h&&i?`viewBox='0 0 ${h} ${i}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${j}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${j?"none":"contain"===g?"xMidYMid":"cover"===g?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${f}'/%3E%3C/svg%3E`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImageBlurSvg",{enumerable:!0,get:function(){return d}})},300345,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={VALID_LOADERS:function(){return f},imageConfigDefault:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=["default","imgix","cloudinary","akamai","custom"],g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumDiskCacheSize:void 0,maximumRedirects:3,maximumResponseBody:5e7,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1,customCacheHandler:!1}},494915,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImgProps",{enumerable:!0,get:function(){return j}});let d=a.r(68063),e=a.r(104987),f=a.r(300345),g=["-moz-initial","fill","none","scale-down",void 0];function h(a){return void 0!==a.default}function i(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function j({src:a,sizes:b,unoptimized:c=!1,priority:k=!1,preload:l=!1,loading:m,className:n,quality:o,width:p,height:q,fill:r=!1,style:s,overrideSrc:t,onLoad:u,onLoadingComplete:v,placeholder:w="empty",blurDataURL:x,fetchPriority:y,decoding:z="async",layout:A,objectFit:B,objectPosition:C,lazyBoundary:D,lazyRoot:E,...F},G){var H;let I,J,K,{imgConf:L,showAltText:M,blurComplete:N,defaultLoader:O}=G,P=L||f.imageConfigDefault;if("allSizes"in P)I=P;else{let a=[...P.deviceSizes,...P.imageSizes].sort((a,b)=>a-b),b=P.deviceSizes.sort((a,b)=>a-b),c=P.qualities?.sort((a,b)=>a-b);I={...P,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===O)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let Q=F.loader||O;delete F.loader,delete F.srcSet;let R="__next_img_default"in Q;if(R){if("custom"===I.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
4
+ Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=Q;Q=b=>{let{config:c,...d}=b;return a(d)}}if(A){"fill"===A&&(r=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[A];a&&(s={...s,...a});let c={responsive:"100vw",fill:"100vw"}[A];c&&!b&&(b=c)}let S="",T=i(p),U=i(q);if((H=a)&&"object"==typeof H&&(h(H)||void 0!==H.src)){let b=h(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(J=b.blurWidth,K=b.blurHeight,x=x||b.blurDataURL,S=b.src,!r)if(T||U){if(T&&!U){let a=T/b.width;U=Math.round(b.height*a)}else if(!T&&U){let a=U/b.height;T=Math.round(b.width*a)}}else T=b.width,U=b.height}let V=!k&&!l&&("lazy"===m||void 0===m);(!(a="string"==typeof a?a:S)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,V=!1),I.unoptimized&&(c=!0),R&&!I.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let W=i(o),X=Object.assign(r?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:B,objectPosition:C}:{},M?{}:{color:"transparent"},s),Y=N||"empty"===w?null:"blur"===w?`url("data:image/svg+xml;charset=utf-8,${(0,e.getImageBlurSvg)({widthInt:T,heightInt:U,blurWidth:J,blurHeight:K,blurDataURL:x||"",objectFit:X.objectFit})}")`:`url("${w}")`,Z=g.includes(X.objectFit)?"fill"===X.objectFit?"100% 100%":"cover":X.objectFit,$=Y?{backgroundSize:Z,backgroundPosition:X.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:Y}:{},_=function({config:a,src:b,unoptimized:c,width:e,quality:f,sizes:g,loader:h}){if(c){if(b.startsWith("/")&&!b.startsWith("//")){let a=(0,d.getDeploymentId)();if(b.includes("/_next/static/immutable")&&!(0,d.getAssetToken)())a=void 0;else if(a){let c=b.indexOf("?");if(-1!==c){let d=new URLSearchParams(b.slice(c+1));d.get("dpl")||(d.append("dpl",a),b=b.slice(0,c)+"?"+d.toString())}else b+=`?dpl=${a}`}}return{src:b,srcSet:void 0,sizes:void 0}}let{widths:i,kind:j}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,e,g),k=i.length-1;return{sizes:g||"w"!==j?g:"100vw",srcSet:i.map((c,d)=>`${h({config:a,src:b,quality:f,width:c})} ${"w"===j?c:d+1}${j}`).join(", "),src:h({config:a,src:b,quality:f,width:i[k]})}}({config:I,src:a,unoptimized:c,width:T,quality:W,sizes:b,loader:Q}),aa=V?"lazy":m;return{props:{...F,loading:aa,fetchPriority:y,width:T,height:U,decoding:z,className:n,style:{...X,...$},sizes:_.sizes,srcSet:_.srcSet,src:t||_.src},meta:{unoptimized:c,preload:l||k,placeholder:w,fill:r}}}},394613,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(572131),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;return b?.mountedInstances?.add(a.children),function(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}(),e(),e(),null}}];
5
+
6
+ //# sourceMappingURL=_0pjwmak._.js.map
@@ -1,4 +1,4 @@
1
- module.exports=[652619,a=>a.a(async(b,c)=>{try{var d=a.i(666680),e=a.i(347299),f=a.i(345364),g=a.i(652685),h=a.i(47919),i=a.i(868468),j=a.i(794219),k=a.i(569572),l=a.i(725466),m=a.i(224728),n=a.i(176668),o=a.i(523095),p=a.i(293480),q=a.i(8412),r=a.i(182248),s=a.i(689656),t=b([l]);[l]=t.then?(await t)():t;let H="app_EMoamEEZ73f0CkXaXp7hrann",I="http://localhost:1455/auth/callback",J=["127.0.0.1","::1"],K="https://chatgpt.com/backend-api/codex",L="thursday",{apiKeyName:M,label:N}=s.TEXT_MODEL_PROVIDERS.chatgpt,O=`${N} is not signed in — sign in from Settings › API keys.`,P=j.object({access:j.string().min(1),refresh:j.string().min(1),expires:j.number(),accountId:j.string().min(1),plan:j.string().nullable()}),Q=globalThis,R=Q.__chatgptRenewal??=(0,q.createKeyedLock)();async function u(){v();let a=(0,d.randomBytes)(32).toString("base64url"),b=(0,d.randomBytes)(16).toString("hex"),c=[],f=(d,e)=>{w(d.url??"/",{state:b,verifier:a}).then(a=>{e.writeHead(a.status,{"content-type":"text/html; charset=utf-8"}),e.end((0,o.oauthPage)(a.title,a.detail,{autoClose:200===a.status}),()=>{a.last&&Q.__chatgptListeners===c&&v()})})};for(let a of J){let b=(0,e.createServer)(f),d=await new Promise(c=>{b.once("error",c),b.listen(1455,a,()=>c(null))});if(!d){c.push(b);continue}if("EADDRNOTAVAIL"!==d.code&&"EAFNOSUPPORT"!==d.code){for(let a of c)a.close();(0,p.publicError)("EADDRINUSE"===d.code?"Port 1455 is in use by another app — often a ChatGPT or Codex sign-in still waiting. Finish or close it, then try again.":`Could not wait for the sign-in: ${(0,r.errorToString)(d)}`)}}Q.__chatgptListeners=c,setTimeout(()=>{Q.__chatgptListeners===c&&v()},k.CHATGPT_SIGN_IN.waitMs).unref();let g=new URL("https://auth.openai.com/oauth/authorize");return g.search=new URLSearchParams({response_type:"code",client_id:H,redirect_uri:I,scope:"openid profile email offline_access",code_challenge:(0,d.createHash)("sha256").update(a).digest("base64url"),code_challenge_method:"S256",state:b,id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:L}).toString(),g.toString()}function v(){let a=Q.__chatgptListeners;for(let b of(Q.__chatgptListeners=null,a??[]))b.close(),b.closeIdleConnections()}async function w(a,b){let c=new URL(a,I);if("/auth/callback"!==c.pathname)return{status:404,title:"Not found",detail:"",last:!1};let d=c.searchParams.get("error");if(d){let a=c.searchParams.get("error_description");return{status:400,title:"Sign-in failed",detail:a?`${d}: ${a}`:d,last:!0}}let e=c.searchParams.get("code");if(!e||c.searchParams.get("state")!==b.state)return{status:400,title:"Sign-in failed",detail:"This is not the sign-in that was started. Start again from Settings › API keys.",last:!1};try{let a=await x({grant_type:"authorization_code",code:e,code_verifier:b.verifier,redirect_uri:I});return await (0,l.writeConfig)(M,JSON.stringify(a)),{status:200,title:"Signed in to ChatGPT",detail:"Bots can run on your plan now. This window closes itself.",last:!0}}catch(a){return n.logger.warn({cause:a},"chatgpt sign-in failed"),{status:502,title:"Sign-in failed",detail:(0,r.errorToString)(a),last:!0}}}async function x(a){let b=await fetch("https://auth.openai.com/oauth/token",{method:"POST",headers:{accept:"application/json","content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:H,...a})}).catch(a=>{n.logger.warn({cause:a},"chatgpt token endpoint unreachable"),(0,p.publicError)("Could not reach ChatGPT's sign-in")}),c=await b.json().catch(()=>null),d=c?.access_token;if(!b.ok||!d){let a=c?.error,d="string"==typeof a?[a,c?.error_description].filter(Boolean).join(": "):a?.message??a?.code??"";(0,p.publicError)(`ChatGPT's sign-in answered ${b.status}${d?`: ${d}`:""}`)}let e=function(a){try{let b=JSON.parse(Buffer.from(a.split(".")[1]??"","base64url").toString("utf8")),c=b["https://api.openai.com/auth"]??{};return{accountId:"string"==typeof c.chatgpt_account_id?c.chatgpt_account_id:null,plan:"string"==typeof c.chatgpt_plan_type?c.chatgpt_plan_type:null,expires:"number"==typeof b.exp?1e3*b.exp:null}}catch{return{accountId:null,plan:null,expires:null}}}(d),f=c?.refresh_token??a.refresh_token;e.accountId&&f||(0,p.publicError)("ChatGPT's sign-in came back without an account");let g=c?.expires_in;return{access:d,refresh:f,expires:"number"==typeof g?Date.now()+1e3*g:e.expires??Date.now(),accountId:e.accountId,plan:e.plan}}async function y(){let a=await (0,l.readConfig)(M);if(!a)return null;try{return P.parse(JSON.parse(a))}catch{return null}}let S=a=>a.expires-k.CHATGPT_SIGN_IN.renewBeforeMs<=Date.now();async function z(){let a=await y();return(a||(0,p.publicError)(await (0,l.missingKeyWords)(M,O)),S(a))?R(M,async()=>{let a=await y();if(a||(0,p.publicError)(await (0,l.missingKeyWords)(M,O)),!S(a))return a;try{let b=await x({grant_type:"refresh_token",refresh_token:a.refresh});return await (0,l.writeConfig)(M,JSON.stringify(b)),b}catch(a){(0,p.publicError)(`Could not renew the ${N} sign-in (${(0,r.errorToString)(a)}). If it keeps failing, sign in again from Settings › API keys.`)}}):a}async function A(){return(await y())?.plan??null}async function B(a,b){let c=await z(),d=new Headers(b?.headers);if(d.set("authorization",`Bearer ${c.access}`),d.set("chatgpt-account-id",c.accountId),d.set("originator",L),b?.method!=="POST"||"string"!=typeof b.body||!String(a).endsWith("/responses"))return fetch(a,{...b,headers:d});let e=JSON.parse(b.body),f=!0===e.stream;e.prompt_cache_key&&d.set("session-id",e.prompt_cache_key);let g=[];e.input=(e.input??[]).filter(a=>"system"!==a.role&&"developer"!==a.role||(g.push("string"==typeof a.content?a.content:(a.content??[]).map(a=>a.text??"").join("\n")),!1)),e.instructions=[e.instructions,...g].filter(Boolean).join("\n\n")||"You are a helpful assistant.",e.store=!1,e.stream=!0,e.max_output_tokens=void 0,d.set("accept","text/event-stream");let h=await C(await fetch(a,{...b,headers:d,body:JSON.stringify(e)}));return!h.ok||f?h:G(h)}async function C(a){return 429===a.status?F(a):a.ok?a:E(a)}let T=`${K}/realtime/calls?intent=quicksilver&architecture=avas`;async function D(a){let b=await z(),c={authorization:`Bearer ${b.access}`,"chatgpt-account-id":b.accountId,originator:L,"openai-alpha":"quicksilver=v2","session-id":(0,d.randomUUID)(),"thread-id":(0,d.randomUUID)(),"x-session-id":(0,d.randomUUID)()},e=await C(await fetch(T,{method:"POST",headers:{...c,"content-type":"application/json"},body:JSON.stringify(a),signal:AbortSignal.timeout(k.LIVE_CALL.startupMs)}).catch(a=>{n.logger.warn({cause:a},"chatgpt voice call unreachable"),(0,p.publicError)("Could not reach ChatGPT for the call.")})),f=await e.text();if(!e.ok){let a=null;try{let b=JSON.parse(f).error;a="string"==typeof b?.message?b.message:null}catch{}(0,p.publicError)(a??`${N} refused the call (${e.status})${f?`: ${f.slice(0,300)}`:""}`)}let g=(e.headers.get("location")??"").split("?")[0].split("/").reverse().find(m.isPlanCallId)??[e.headers.get("openai-session-id")?.trim()??""].find(m.isPlanCallId);return g||(0,p.publicError)(`${N} opened the call without naming it.`),f.trim()||(0,p.publicError)(`${N} answered the call with no SDP.`),{sdp:f,callId:g,headers:c}}async function E(a){let b=await a.clone().json().catch(()=>null);if("string"!=typeof b?.detail)return a;let c=a.headers.get("retry-after");return Response.json({error:{message:b.detail}},{status:a.status,headers:c?{"retry-after":c}:{}})}let U=/usage_limit_reached|usage_not_included/;async function F(a){let b=await a.text(),c={};try{c=JSON.parse(b).error??{}}catch{}if(!U.test(`${c.code} ${c.type}`)){let c=a.headers.get("retry-after");return new Response(b,{status:429,headers:{"content-type":"application/json",...c?{"retry-after":c}:{}}})}let d=c.resets_at?1e3*c.resets_at:c.resets_in_seconds?Date.now()+1e3*c.resets_in_seconds:null,e=c.plan_type?` on the ${c.plan_type} plan`:"",f=d?` It resets in ${(0,i.formatDistanceToNowStrict)(d)}.`:"",g="image_gen"===a.headers.get("x-codex-active-limit")?"image":"usage";return Response.json({error:{message:`${N} ${g} limit reached${e}.${f}`,code:c.code??c.type}},{status:402})}async function G(a){let b=[],c=null,d=null;for(let e of(await a.text()).replaceAll("\r\n","\n").split("\n\n")){let a,f=e.split("\n").filter(a=>a.startsWith("data:")).map(a=>a.slice(5).trimStart()).join("\n");if(f&&"[DONE]"!==f){try{a=JSON.parse(f)}catch{continue}"response.output_item.done"===a.type?b.push(a.item):"response.completed"===a.type||"response.incomplete"===a.type?c=a.response??{}:"response.failed"===a.type?d=a.response?.error??{message:"The response failed"}:"error"===a.type&&(d={code:a.code,message:a.message})}}return d||!c?Response.json({error:{message:d?.message??"The stream ended before the response finished",code:d?.code}},{status:d?.code==="context_length_exceeded"?400:500}):Response.json({...c,output:c.output?.length?c.output:b})}a.s(["PLAN_SPENT_CODE",0,U,"chatGptImageModel",0,function(a){return{specificationVersion:"v4",provider:"chatgpt.image",modelId:a,maxImagesPerCall:1,async doGenerate({prompt:b,files:c,mask:d,aspectRatio:e,size:f,seed:h,abortSignal:i}){let j=Object.entries({aspectRatio:e,size:f,seed:h,mask:d}).filter(([,a])=>null!=a).map(([a])=>({type:"unsupported",feature:a})),k=(c??[]).map(a=>({image_url:"url"===a.type?a.url:`data:${a.mediaType};base64,${"string"==typeof a.data?a.data:Buffer.from(a.data).toString("base64")}`})),l=`${K}/images/${k.length?"edits":"generations"}`,m={...k.length?{images:k}:{},prompt:b??"",background:"opaque",model:a,quality:"auto",size:"auto"},n=await C(await B(l,{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(m),signal:i})),o=await n.text(),p={};try{p=JSON.parse(o)??{}}catch{}let q=(p.data??[]).flatMap(a=>"string"==typeof a.b64_json?[a.b64_json]:[]);if(!n.ok||!q.length)throw new g.APICallError({message:"string"==typeof p.error?.message?p.error.message:n.ok?`${N} answered with no picture`:`${N} answered ${n.status}`,url:l,requestBodyValues:{model:a,prompt:b},statusCode:n.status,responseHeaders:Object.fromEntries(n.headers),responseBody:o});return{images:q,warnings:j,response:{timestamp:new Date,modelId:a,headers:Object.fromEntries(n.headers)}}}}},"chatGptModel",0,function(a){let b=(0,f.createOpenAI)({baseURL:K,apiKey:"signed-in",headers:{"OpenAI-Beta":"responses=experimental"},fetch:B}),c=(0,d.randomUUID)();return(0,h.wrapLanguageModel)({model:b.responses(a),middleware:{transformParams:async({params:a})=>({...a,providerOptions:{...a.providerOptions,openai:{promptCacheKey:c,...a.providerOptions?.openai,store:!1,includeWebSearchSources:!1}}})}})},"chatGptSearch",0,()=>(0,f.createOpenAI)({apiKey:"signed-in"}).tools.webSearch(),"openPlanCall",0,D,"readChatGptPlan",0,A,"startChatGptSignIn",0,u]),c()}catch(a){c(a)}},!1),224728,a=>{"use strict";a.i(569572),a.i(176668),a.i(182248),a.i(746609),a.i(505762);let b=new TextEncoder;function c(a){let c=[],d="",e=0,f=a=>{let f=b.encode(a).length;if(e+f>480&&d&&(c.push(d),d="",e=0),f<=480){d+=a,e+=f;return}for(let f of a){let a=b.encode(f).length;e+a>480&&(c.push(d),d="",e=0),d+=f,e+=a}};for(let b of a.split(/(?<=\s)/))f(b);return d&&c.push(d),c}let d=a=>/^rtc_[\w-]+$/.test(a)||/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(a);a.s(["isPlanCallId",0,d,"joinPlanLine",0,function(a){let{callId:b,headers:e,on:f,url:g="wss://api.openai.com/v1/live"}=a;return d(b)?new Promise((a,d)=>{let h=new WebSocket(`${g}/${b}`,{headers:e}),i=!1,j=!1,k=a=>h.readyState===WebSocket.OPEN&&(h.send(JSON.stringify(a)),!0),l=a=>[{type:"input_text",text:a}],m={say:(a,b)=>c(a).every(a=>k({type:"session.context.append",channel:b,content:l(a)})),answer:(a,b,d)=>c(b).every(b=>k({type:"delegation.context.append",delegation_item_id:a,channel:d,content:l(b)})),close:()=>{k({type:"session.close"}),h.close(1e3,"session closed")}};h.addEventListener("open",()=>{i=!0,a(m)}),h.addEventListener("message",a=>{let b;try{b=JSON.parse(String(a.data))}catch{return}let c=function(a){if(!a||"object"!=typeof a)return null;switch(a.type){case"session.started":case"session.updated":return{type:"started"};case"input_transcript.added":case"output_transcript.added":{let b=a.item?.text;if("string"!=typeof b||!b)return null;return{type:"heard",role:"input_transcript.added"===a.type?"user":"assistant",text:b}}case"turn.done":{let b,c="user"===(b=a.turn?.role)||"assistant"===b?b:null,d=a.turn?.transcript;return c&&"string"==typeof d?{type:"turn",role:c,text:d}:null}case"delegation.created":{let b=a.item;if(b?.type!=="delegation"||"client"!==b.target||"string"!=typeof b.id||!b.id)return null;let c=(Array.isArray(b.content)?b.content:[]).filter(a=>a?.type==="input_text"&&"string"==typeof a.text).map(a=>a.text).join("");return{type:"delegated",id:b.id,text:c}}case"error":{let b=a.error;return{type:"error",message:"string"==typeof a.message?a.message:"string"==typeof b?.message?b.message:JSON.stringify(a.error??"The voice reported an error.")}}default:return null}}(b);c&&f.event(c)}),h.addEventListener("error",()=>{i||j||(j=!0,d(Error("Could not join the call on the GPT Subscription.")))}),h.addEventListener("close",a=>{if(!i){j||(j=!0,d(Error(`The call on the GPT Subscription refused its line (${a.code}${a.reason?`: ${a.reason}`:""}).`)));return}j||(j=!0,f.closed(a.code,a.reason))})}):Promise.reject(Error(`Not a call id: ${b}`))}],224728)},523095,a=>{"use strict";function b(a){return a.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}a.s(["oauthPage",0,function(a,c,{autoClose:d=!1}={}){return`<!doctype html>
1
+ module.exports=[652619,a=>a.a(async(b,c)=>{try{var d=a.i(666680),e=a.i(347299),f=a.i(345364),g=a.i(652685),h=a.i(47919),i=a.i(868468),j=a.i(794219),k=a.i(569572),l=a.i(725466),m=a.i(224728),n=a.i(176668),o=a.i(523095),p=a.i(293480),q=a.i(8412),r=a.i(182248),s=a.i(689656),t=b([l]);[l]=t.then?(await t)():t;let H="app_EMoamEEZ73f0CkXaXp7hrann",I="http://localhost:1455/auth/callback",J=["127.0.0.1","::1"],K="https://chatgpt.com/backend-api/codex",L="thursday",{apiKeyName:M,label:N}=s.TEXT_MODEL_PROVIDERS.chatgpt,O=`${N} is not signed in — sign in from Settings › API keys.`,P=j.object({access:j.string().min(1),refresh:j.string().min(1),expires:j.number(),accountId:j.string().min(1),plan:j.string().nullable()}),Q=globalThis,R=Q.__chatgptRenewal??=(0,q.createKeyedLock)();async function u(){v();let a=(0,d.randomBytes)(32).toString("base64url"),b=(0,d.randomBytes)(16).toString("hex"),c=[],f=(d,e)=>{w(d.url??"/",{state:b,verifier:a}).then(a=>{e.writeHead(a.status,{"content-type":"text/html; charset=utf-8"}),e.end((0,o.oauthPage)(a.title,a.detail,{autoClose:200===a.status}),()=>{a.last&&Q.__chatgptListeners===c&&v()})})};for(let a of J){let b=(0,e.createServer)(f),d=await new Promise(c=>{b.once("error",c),b.listen(1455,a,()=>c(null))});if(!d){c.push(b);continue}if("EADDRNOTAVAIL"!==d.code&&"EAFNOSUPPORT"!==d.code){for(let a of c)a.close();(0,p.publicError)("EADDRINUSE"===d.code?"Port 1455 is in use by another app — often a ChatGPT or Codex sign-in still waiting. Finish or close it, then try again.":`Could not wait for the sign-in: ${(0,r.errorToString)(d)}`)}}Q.__chatgptListeners=c,setTimeout(()=>{Q.__chatgptListeners===c&&v()},k.CHATGPT_SIGN_IN.waitMs).unref();let g=new URL("https://auth.openai.com/oauth/authorize");return g.search=new URLSearchParams({response_type:"code",client_id:H,redirect_uri:I,scope:"openid profile email offline_access",code_challenge:(0,d.createHash)("sha256").update(a).digest("base64url"),code_challenge_method:"S256",state:b,id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:L}).toString(),g.toString()}function v(){let a=Q.__chatgptListeners;for(let b of(Q.__chatgptListeners=null,a??[]))b.close(),b.closeIdleConnections()}async function w(a,b){let c=new URL(a,I);if("/auth/callback"!==c.pathname)return{status:404,title:"Not found",detail:"",last:!1};let d=c.searchParams.get("error");if(d){let a=c.searchParams.get("error_description");return{status:400,title:"Sign-in failed",detail:a?`${d}: ${a}`:d,last:!0}}let e=c.searchParams.get("code");if(!e||c.searchParams.get("state")!==b.state)return{status:400,title:"Sign-in failed",detail:"This is not the sign-in that was started. Start again from Settings › API keys.",last:!1};try{let a=await x({grant_type:"authorization_code",code:e,code_verifier:b.verifier,redirect_uri:I});return await (0,l.writeConfig)(M,JSON.stringify(a)),{status:200,title:"Signed in to ChatGPT",detail:"Bots can run on your plan now. This window closes itself.",last:!0}}catch(a){return n.logger.warn({cause:a},"chatgpt sign-in failed"),{status:502,title:"Sign-in failed",detail:(0,r.errorToString)(a),last:!0}}}async function x(a){let b=await fetch("https://auth.openai.com/oauth/token",{method:"POST",headers:{accept:"application/json","content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:H,...a})}).catch(a=>{n.logger.warn({cause:a},"chatgpt token endpoint unreachable"),(0,p.publicError)("Could not reach ChatGPT's sign-in")}),c=await b.json().catch(()=>null),d=c?.access_token;if(!b.ok||!d){let a=c?.error,d="string"==typeof a?[a,c?.error_description].filter(Boolean).join(": "):a?.message??a?.code??"";(0,p.publicError)(`ChatGPT's sign-in answered ${b.status}${d?`: ${d}`:""}`)}let e=function(a){try{let b=JSON.parse(Buffer.from(a.split(".")[1]??"","base64url").toString("utf8")),c=b["https://api.openai.com/auth"]??{};return{accountId:"string"==typeof c.chatgpt_account_id?c.chatgpt_account_id:null,plan:"string"==typeof c.chatgpt_plan_type?c.chatgpt_plan_type:null,expires:"number"==typeof b.exp?1e3*b.exp:null}}catch{return{accountId:null,plan:null,expires:null}}}(d),f=c?.refresh_token??a.refresh_token;e.accountId&&f||(0,p.publicError)("ChatGPT's sign-in came back without an account");let g=c?.expires_in;return{access:d,refresh:f,expires:"number"==typeof g?Date.now()+1e3*g:e.expires??Date.now(),accountId:e.accountId,plan:e.plan}}async function y(){let a=await (0,l.readConfig)(M);if(!a)return null;try{return P.parse(JSON.parse(a))}catch{return null}}let S=a=>a.expires-k.CHATGPT_SIGN_IN.renewBeforeMs<=Date.now();async function z(){let a=await y();return(a||(0,p.publicError)(await (0,l.missingKeyWords)(M,O)),S(a))?R(M,async()=>{let a=await y();if(a||(0,p.publicError)(await (0,l.missingKeyWords)(M,O)),!S(a))return a;try{let b=await x({grant_type:"refresh_token",refresh_token:a.refresh});return await (0,l.writeConfig)(M,JSON.stringify(b)),b}catch(a){(0,p.publicError)(`Could not renew the ${N} sign-in (${(0,r.errorToString)(a)}). If it keeps failing, sign in again from Settings › API keys.`)}}):a}async function A(){return(await y())?.plan??null}async function B(a,b){let c=await z(),d=new Headers(b?.headers);if(d.set("authorization",`Bearer ${c.access}`),d.set("chatgpt-account-id",c.accountId),d.set("originator",L),b?.method!=="POST"||"string"!=typeof b.body||!String(a).endsWith("/responses"))return fetch(a,{...b,headers:d});let e=JSON.parse(b.body),f=!0===e.stream;e.prompt_cache_key&&d.set("session-id",e.prompt_cache_key);let g=[];e.input=(e.input??[]).filter(a=>"system"!==a.role&&"developer"!==a.role||(g.push("string"==typeof a.content?a.content:(a.content??[]).map(a=>a.text??"").join("\n")),!1)),e.instructions=[e.instructions,...g].filter(Boolean).join("\n\n")||"You are a helpful assistant.",e.store=!1,e.stream=!0,e.max_output_tokens=void 0,d.set("accept","text/event-stream");let h=await C(await fetch(a,{...b,headers:d,body:JSON.stringify(e)}));return!h.ok||f?h:G(h)}async function C(a){return 429===a.status?F(a):a.ok?a:E(a)}let T=`${K}/realtime/calls?intent=quicksilver&architecture=avas`;async function D(a){let b=await z(),c={authorization:`Bearer ${b.access}`,"chatgpt-account-id":b.accountId,originator:L,"openai-alpha":"quicksilver=v2","session-id":(0,d.randomUUID)(),"thread-id":(0,d.randomUUID)(),"x-session-id":(0,d.randomUUID)()},e=await C(await fetch(T,{method:"POST",headers:{...c,"content-type":"application/json"},body:JSON.stringify(a),signal:AbortSignal.timeout(k.LIVE_CALL.startupMs)}).catch(a=>{n.logger.warn({cause:a},"chatgpt voice call unreachable"),(0,p.publicError)("Could not reach ChatGPT for the call.")})),f=await e.text();if(!e.ok){let a=null;try{let b=JSON.parse(f).error;a="string"==typeof b?.message?b.message:null}catch{}(0,p.publicError)(a??`${N} refused the call (${e.status})${f?`: ${f.slice(0,300)}`:""}`)}let g=(e.headers.get("location")??"").split("?")[0].split("/").reverse().find(m.isPlanCallId)??[e.headers.get("openai-session-id")?.trim()??""].find(m.isPlanCallId);return g||(0,p.publicError)(`${N} opened the call without naming it.`),f.trim()||(0,p.publicError)(`${N} answered the call with no SDP.`),{sdp:f,callId:g,headers:c}}async function E(a){let b=await a.clone().json().catch(()=>null);if("string"!=typeof b?.detail)return a;let c=a.headers.get("retry-after");return Response.json({error:{message:b.detail}},{status:a.status,headers:c?{"retry-after":c}:{}})}let U=/usage_limit_reached|usage_not_included/;async function F(a){let b=await a.text(),c={};try{c=JSON.parse(b).error??{}}catch{}if(!U.test(`${c.code} ${c.type}`)){let c=a.headers.get("retry-after");return new Response(b,{status:429,headers:{"content-type":"application/json",...c?{"retry-after":c}:{}}})}let d=c.resets_at?1e3*c.resets_at:c.resets_in_seconds?Date.now()+1e3*c.resets_in_seconds:null,e=c.plan_type?` on the ${c.plan_type} plan`:"",f=d?` It resets in ${(0,i.formatDistanceToNowStrict)(d)}.`:"",g="image_gen"===a.headers.get("x-codex-active-limit")?"image":"usage";return Response.json({error:{message:`${N} ${g} limit reached${e}.${f}`,code:c.code??c.type}},{status:402})}async function G(a){let b=[],c=null,d=null;for(let e of(await a.text()).replaceAll("\r\n","\n").split("\n\n")){let a,f=e.split("\n").filter(a=>a.startsWith("data:")).map(a=>a.slice(5).trimStart()).join("\n");if(f&&"[DONE]"!==f){try{a=JSON.parse(f)}catch{continue}"response.output_item.done"===a.type?b.push(a.item):"response.completed"===a.type||"response.incomplete"===a.type?c=a.response??{}:"response.failed"===a.type?d=a.response?.error??{message:"The response failed"}:"error"===a.type&&(d={code:a.code,message:a.message})}}return d||!c?Response.json({error:{message:d?.message??"The stream ended before the response finished",code:d?.code}},{status:d?.code==="context_length_exceeded"?400:500}):Response.json({...c,output:c.output?.length?c.output:b})}a.s(["PLAN_SPENT_CODE",0,U,"chatGptImageModel",0,function(a){return{specificationVersion:"v4",provider:"chatgpt.image",modelId:a,maxImagesPerCall:1,async doGenerate({prompt:b,files:c,mask:d,aspectRatio:e,size:f,seed:h,abortSignal:i}){let j=Object.entries({aspectRatio:e,size:f,seed:h,mask:d}).filter(([,a])=>null!=a).map(([a])=>({type:"unsupported",feature:a})),k=(c??[]).map(a=>({image_url:"url"===a.type?a.url:`data:${a.mediaType};base64,${"string"==typeof a.data?a.data:Buffer.from(a.data).toString("base64")}`})),l=`${K}/images/${k.length?"edits":"generations"}`,m={...k.length?{images:k}:{},prompt:b??"",background:"opaque",model:a,quality:"auto",size:"auto"},n=await C(await B(l,{method:"POST",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify(m),signal:i})),o=await n.text(),p={};try{p=JSON.parse(o)??{}}catch{}let q=(p.data??[]).flatMap(a=>"string"==typeof a.b64_json?[a.b64_json]:[]);if(!n.ok||!q.length)throw new g.APICallError({message:"string"==typeof p.error?.message?p.error.message:n.ok?`${N} answered with no picture`:`${N} answered ${n.status}`,url:l,requestBodyValues:{model:a,prompt:b},statusCode:n.status,responseHeaders:Object.fromEntries(n.headers),responseBody:o});return{images:q,warnings:j,response:{timestamp:new Date,modelId:a,headers:Object.fromEntries(n.headers)}}}}},"chatGptModel",0,function(a){let b=(0,f.createOpenAI)({baseURL:K,apiKey:"signed-in",headers:{"OpenAI-Beta":"responses=experimental"},fetch:B}),c=(0,d.randomUUID)();return(0,h.wrapLanguageModel)({model:b.responses(a),middleware:{transformParams:async({params:a})=>({...a,providerOptions:{...a.providerOptions,openai:{promptCacheKey:c,...a.providerOptions?.openai,store:!1,includeWebSearchSources:!1}}})}})},"chatGptSearch",0,()=>(0,f.createOpenAI)({apiKey:"signed-in"}).tools.webSearch(),"openPlanCall",0,D,"readChatGptPlan",0,A,"startChatGptSignIn",0,u]),c()}catch(a){c(a)}},!1),224728,a=>{"use strict";var b=a.i(569572),c=a.i(293480);a.i(176668),a.i(182248),a.i(746609),a.i(505762);let d=new TextEncoder;function e(a){let b=[],c="",e=0,f=a=>{let f=d.encode(a).length;if(e+f>480&&c&&(b.push(c),c="",e=0),f<=480){c+=a,e+=f;return}for(let f of a){let a=d.encode(f).length;e+a>480&&(b.push(c),c="",e=0),c+=f,e+=a}};for(let b of a.split(/(?<=\s)/))f(b);return c&&b.push(c),b}let f=a=>/^rtc_[\w-]+$/.test(a)||/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(a);a.s(["isPlanCallId",0,f,"joinPlanLine",0,function(a){let{callId:d,headers:g,on:h,url:i="wss://api.openai.com/v1/live"}=a;return f(d)?new Promise((a,f)=>{let j,k=new WebSocket(`${i}/${d}`,{headers:g}),l=!1,m=!1,n=a=>k.readyState===WebSocket.OPEN&&(k.send(JSON.stringify(a)),!0),o=a=>[{type:"input_text",text:a}],p={say:(a,b)=>e(a).every(a=>n({type:"session.context.append",channel:b,content:o(a)})),answer:(a,b,c)=>e(b).every(b=>n({type:"delegation.context.append",delegation_item_id:a,channel:c,content:o(b)})),close:()=>{n({type:"session.close"}),k.close(1e3,"session closed")}};k.addEventListener("open",()=>{l=!0,a(p)}),k.addEventListener("message",a=>{let b;try{b=JSON.parse(String(a.data))}catch{return}let c=function(a){if(!a||"object"!=typeof a)return null;switch(a.type){case"session.started":case"session.updated":return{type:"started"};case"input_transcript.added":case"output_transcript.added":{let b=a.item?.text;if("string"!=typeof b||!b)return null;return{type:"heard",role:"input_transcript.added"===a.type?"user":"assistant",text:b}}case"turn.done":{let b,c="user"===(b=a.turn?.role)||"assistant"===b?b:null,d=a.turn?.transcript;return c&&"string"==typeof d?{type:"turn",role:c,text:d}:null}case"delegation.created":{let b=a.item;if(b?.type!=="delegation"||"client"!==b.target||"string"!=typeof b.id||!b.id)return null;let c=(Array.isArray(b.content)?b.content:[]).filter(a=>a?.type==="input_text"&&"string"==typeof a.text).map(a=>a.text).join("");return{type:"delegated",id:b.id,text:c}}case"error":{let b=a.error;return{type:"error",message:"string"==typeof a.message?a.message:"string"==typeof b?.message?b.message:JSON.stringify(a.error??"The voice reported an error.")}}default:return null}}(b);c&&h.event(c)}),k.addEventListener("error",()=>{l||m||j||(j=setTimeout(()=>{m||(m=!0,f(new c.PublicError("Could not join the call on the GPT Subscription.")))},b.LIVE_CALL.closeMs))}),k.addEventListener("close",a=>{if(clearTimeout(j),!l){m||(m=!0,f(new c.PublicError(`The call on the GPT Subscription refused its line (${a.code}${a.reason?`: ${a.reason}`:""}).`)));return}m||(m=!0,h.closed(a.code,a.reason))})}):Promise.reject(Error(`Not a call id: ${d}`))}],224728)},523095,a=>{"use strict";function b(a){return a.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}a.s(["oauthPage",0,function(a,c,{autoClose:d=!1}={}){return`<!doctype html>
2
2
  <meta charset="utf-8">
3
3
  <title>${b(a)}</title>
4
4
  <body style="font-family: ui-monospace, monospace; display: grid; place-items: center; min-height: 100dvh; margin: 0">
@@ -0,0 +1,3 @@
1
+ module.exports=[676504,a=>{"use strict";var b=a.i(187924),c=a.i(656648);a.i(763802),a.i(199968);var d=a.i(497895);a.s(["DropdownMenu",0,function({...a}){return(0,b.jsx)(c.Menu.Root,{"data-slot":"dropdown-menu",...a})},"DropdownMenuContent",0,function({align:a="start",alignOffset:e=0,side:f="bottom",sideOffset:g=4,className:h,...i}){return(0,b.jsx)(c.Menu.Portal,{children:(0,b.jsx)(c.Menu.Positioner,{className:"isolate z-50 outline-none",align:a,alignOffset:e,side:f,sideOffset:g,children:(0,b.jsx)(c.Menu.Popup,{"data-slot":"dropdown-menu-content",className:(0,d.cn)("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95",h),...i})})})},"DropdownMenuGroup",0,function({...a}){return(0,b.jsx)(c.Menu.Group,{"data-slot":"dropdown-menu-group",...a})},"DropdownMenuItem",0,function({className:a,inset:e,variant:f="default",...g}){return(0,b.jsx)(c.Menu.Item,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":f,className:(0,d.cn)("group/dropdown-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",a),...g})},"DropdownMenuTrigger",0,function({...a}){return(0,b.jsx)(c.Menu.Trigger,{"data-slot":"dropdown-menu-trigger",...a})}],676504)},411509,983874,a=>{"use strict";var b=a.i(954714),c=a.i(682387);a.s(["bigint",0,function(a){return c._coercedBigint(b.ZodBigInt,a)},"boolean",0,function(a){return c._coercedBoolean(b.ZodBoolean,a)},"date",0,function(a){return c._coercedDate(b.ZodDate,a)},"number",0,function(a){return c._coercedNumber(b.ZodNumber,a)},"string",0,function(a){return c._coercedString(b.ZodString,a)}],715712);var d=a.i(715712),d=d,e=a.i(287702),f=a.i(61876),g=a.i(199169);a.i(497895);var h=a.i(324835);b.object({to:b.string().trim().min(1),text:b.string().trim().min(1),why:b.string().trim().min(1),kind:b.enum(["message","question"]).default("message"),options:b.array(b.string().trim().min(1)).nullish(),after:b.array(b.string().trim().min(1)).nullish()});let i=b.enum(["queued","running","waiting","external","paused","done","cancelled"]),j=b.object({bot:b.string(),state:i}),k=b.object({id:b.string(),bot:b.string(),caller:b.string(),state:i,waitsFor:b.string().array()}),l=b.object({id:b.string(),bot:b.string(),text:b.string(),options:b.string().array().optional()}),m=b.enum(["message","question","report","interrupted"]),n="Thursday",o=b.object({participants:j.array(),questions:l.array(),deliveries:b.object({id:b.string(),bot:b.string(),text:b.string(),delivered:b.boolean()}).array(),relays:b.object({id:b.number(),bot:b.string(),text:b.string(),kind:m,messageId:b.string().nullable()}).array(),exchanges:k.array()});a.s(["ROOM_THURSDAY",0,n,"ROOM_USER",0,"The user","RoomViewSchema",0,o],983874);let p=b.object({color:b.string().regex(/^(#[0-9a-fA-F]{6}|currentColor)$/,"Hex color").optional(),shape:b.enum(h.MARK_SHAPES).optional(),outline:b.boolean().optional(),paint:b.enum(h.MARK_PAINT_IDS).optional()}),q=b.string().max(e.COMMON_VALIDATE.prompt.max),r=b.object({line:b.string(),reason:b.string(),at:b.number()}),s=b.object({id:b.number(),name:b.string(),serverName:b.string()}),t=b.string().trim().transform(a=>a.replace(/\s+/g," ")).refine(a=>a.toLowerCase()!==n.toLowerCase(),"Thursday is reserved for the voice assistant.").pipe(b.string().min(1,"A name is required").max(e.COMMON_VALIDATE.name.max)),u=b.object({input:b.number(),output:b.number()});b.object({name:b.string(),description:b.string(),descriptionLocked:b.boolean(),ownLine:r.nullish(),systemPrompt:b.string().nullish(),icon:p.nullish(),provider:f.textModelProviderSchema.nullish(),model:b.string().nullish(),compactAt:b.number().nullish(),effort:f.effortSchema.nullish(),disabled:b.boolean(),createdAt:g.DateLikeSchema,tools:s.array().default([]),tokens:u,lastJobAt:g.DateLikeSchema.nullish()}),b.object({name:t,description:b.string().trim().min(1,"Say what this bot is for").max(e.COMMON_VALIDATE.description.max),systemPrompt:q.optional(),icon:p.optional(),provider:f.textModelProviderSchema.nullish(),model:b.string().trim().max(80).nullish(),compactAt:d.number().int().min(8e3,"At least 8k").nullish(),effort:f.effortSchema.nullish(),disabled:b.boolean().optional(),descriptionLocked:b.boolean().optional(),toolIds:b.number().int().array().max(e.MAX_PINNED_TOOLS).optional()});let v={color:h.MARK_SYSTEM,shape:"blob"};b.object({file:b.string(),path:b.string(),line:b.string(),at:g.DateLikeSchema,bytes:b.number()});let w="Continue",x=b.discriminatedUnion("type",[b.object({type:b.literal("text"),text:b.string()}),b.object({type:b.literal("image"),src:b.string()})]),y=b.object({id:b.string(),seq:b.number(),bot:b.string().nullable(),parent:b.string().nullable(),to:b.string().nullish(),at:g.DateLikeSchema}),z=b.discriminatedUnion("kind",[y.extend({kind:b.literal("user"),text:b.string(),by:b.enum(["thursday","user"]).nullable()}),y.extend({kind:b.literal("text"),text:b.string()}),y.extend({kind:b.literal("note"),text:b.string()}),y.extend({kind:b.literal("stop"),text:b.string()}),y.extend({kind:b.literal("tool"),callId:b.string(),name:b.string(),input:b.string(),note:b.string().nullish(),path:b.string().nullish()}),y.extend({kind:b.literal("tool-result"),callId:b.string(),name:b.string(),results:x.array(),more:b.boolean()}),y.extend({kind:b.literal("ask"),callId:b.string(),to:b.string(),text:b.string(),question:b.boolean().optional(),questionId:b.string().optional(),exchange:b.string().optional(),after:b.array(b.string()).optional()})]),A=b.object({question:b.string(),messageId:b.string().optional(),bot:b.string().optional(),options:b.string().array(),refused:f.textModelProviderSchema.optional()});b.object({id:b.string(),bot:b.string(),label:b.string(),request:b.string(),status:b.enum(["running","waiting","done","cancelled"]),outcome:b.string().nullable(),ask:A.nullable(),seen:b.boolean(),routineId:b.string().nullable(),startedBy:b.enum(["thursday","user"]).nullable(),tokens:u,contextTokens:b.number(),contextBudget:b.number(),createdAt:g.DateLikeSchema,updatedAt:g.DateLikeSchema,lines:z.array(),room:o});let B=a=>"done"===a.status||"cancelled"===a.status?"finished":"waiting"===a.status||a.room.questions.length>0?"needsYou":"working";a.s(["DEFAULT_BOT",0,{name:"Jarvis",description:"Anything — this computer, a browser, the web, files, services",ownLine:null,systemPrompt:null,icon:v,provider:null,model:null,disabled:!1,compactAt:null,effort:null},"DEFAULT_BOT_ICON",0,v,"THREAD_CONTINUE",0,w,"isAppStop",0,a=>{let b=a?.options??[];return!a?.messageId&&1===b.length&&b[0]===w},"isUnread",0,a=>"done"===a.status&&!a.seen,"needsThreadReply",0,a=>"needsYou"===B(a),"randomBotIcon",0,()=>({...(0,h.randomMarkFill)(),shape:h.MARK_SHAPES[Math.floor(Math.random()*h.MARK_SHAPES.length)]}),"standOf",0,B],411509)},992326,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f8001627e6139bbe5ac30fdda9e7c5520969121b7",b.callServer,void 0,b.findSourceMapURL,"markSeenAction");a.s(["markSeenAction",0,c])},135432,a=>{"use strict";var b=a.i(572131),c=a.i(767561),d=a.i(864037),e=a.i(992326),f=a.i(411509),g=a.i(199169),h=a.i(576271),i=a.i(759497),j=a.i(497895),k=a.i(983874);let l=[],m=!1,n=new Set;function o(a,b){let c=a=>({name:a,icon:b?.find(b=>b.name===a)?.icon??null}),d=c(a.bot),e=[],f=new Map,g=new Map,h=new Map;for(let b of a.lines){let a=b.bot?c(b.bot):d,i=b.to?c(b.to):b.parent?g.get(b.parent)??null:null,j={at:b.at,parent:b.parent};switch(b.kind){case"user":e.push({id:b.id,bot:b.to?c(b.to):d,to:b.to?c(b.to):null,text:b.text,kind:"user",by:b.by,...j});break;case"text":e.push({id:b.id,bot:a,to:i,text:b.text,kind:"say",...j});break;case"note":e.push({id:b.id,bot:a,to:i,text:b.text,kind:"note",...j});break;case"stop":e.push({id:b.id,bot:a,to:i,text:b.text,kind:"stop",...j});break;case"tool":f.set(b.callId,e.length),e.push({id:b.id,bot:a,to:i,text:b.note??b.input,kind:"tool",...j,tool:{name:b.name,input:b.input,note:b.note,path:b.path,callId:b.callId}});break;case"tool-result":{let a=f.get(b.callId)??h.get(b.callId),c=void 0===a?void 0:e[a];c?.tool&&void 0!==a?e[a]={...c,tool:{...c.tool,results:b.results,more:b.more}}:c?.kind==="ask"&&void 0!==a&&(e[a]={id:c.id,bot:c.bot,to:null,meant:c.to,text:c.text,kind:"tool",at:c.at,parent:c.parent,tool:{name:b.name,input:c.text,callId:b.callId,results:b.results,more:b.more}});break}case"ask":{h.set(b.callId,e.length);let d=c(b.to);g.set(b.callId,a),e.push({id:b.id,bot:a,to:d,text:b.text,kind:"ask",question:b.question,questionId:b.questionId,exchange:b.exchange,after:b.after,...j})}}}if(e.forEach((a,b)=>{if("user"!==a.kind)return;let c=e.slice(0,b).findLast(b=>"user"!==b.kind&&b.bot.name===a.bot.name);c?.kind==="tool"&&(e[b]={...a,steppedIn:!0})}),"done"===a.status){let a=e.at(-1);if(a&&"say"===a.kind&&a.bot.name===d.name){let b=e.length-1;for(;b>0&&"say"===e[b-1].kind&&V(e[b-1])===V(a);)b-=1;let c=e.splice(b);e.push({...c[0],kind:"result",text:c.map(a=>a.text).join("\n\n")})}}let i=[d],j=a=>{a&&a.name!==k.ROOM_THURSDAY&&(i.some(b=>b.name===a.name)||i.push(a))};for(let b of a.room.participants)j(c(b.bot));for(let a of e)j(a.bot),j(a.to);return{id:a.id,room:a.room,request:a.request,label:a.label,bot:d,roster:i,lines:e,status:"running"===a.status?"working":a.status,outcome:a.outcome,ask:a.ask,seen:a.seen,routineId:a.routineId,startedBy:a.startedBy,tokens:a.tokens,contextTokens:a.contextTokens,contextBudget:a.contextBudget,createdAt:a.createdAt,updatedAt:a.updatedAt}}let p=new Map,q=new Map,r=new Set,s=[],t=new Map,u=new Map,v=[],w=new Set,x=[],y=null,z=new Set,A=!1,B=new Set,C="thursday.room.read-as",D=null,E=new Set,F=null,G=new Set,H=!1,I=new Set,J=null,K=new Set,L=new Set,M=new Set,N=!1,O=new Set,P=!1,Q=new Set,R=new Set,S=new Set,T=new Set,U=[],V=a=>a.id.slice(0,a.id.lastIndexOf("-")),W=a=>"user"===a.kind?{name:"user"===a.by?k.ROOM_USER:k.ROOM_THURSDAY}:a.bot,X=a=>"user"===a.kind?a.bot:a.to,Y=(a,b)=>({kind:"entry",speaker:a.bot,entry:{kind:"work",key:`${a.lines[0].id}-work`,lines:a.lines,open:b}});a.s(["botThreads",0,{sync(a,b){for(let c of(m=!0,l=[...a].reverse().map(a=>o(a,b)),n))c()},primed:()=>m},"fileOpens",0,{open(a){for(let b of S)b(a);return S.size>0},subscribe:a=>(S.add(a),()=>{S.delete(a)})},"heardBy",0,X,"lastSaid",0,function(a){for(let b=a.lines.length-1;b>=0;b--){let c=a.lines[b];if("user"!==c.kind&&"note"!==c.kind&&"stop"!==c.kind)return c}return null},"officeCaption",0,{set(a){if(a!==H)for(let b of(H=a,I))b()}},"officePointed",0,{set(a){if(a!==J)for(let b of(J=a,K))b()}},"ringingThreads",0,{set(a){if(!(a.length===v.length&&a.every((a,b)=>v[b]===a)))for(let b of(v=a,w))b()}},"roomOffice",0,{set(a){if(a!==A)for(let b of(A=a,B))b()}},"roomOpen",0,{set(a){if(a!==y)for(let b of(y=a,z))b()}},"roomOpens",0,{open(a){for(let b of R)b(a??null)},subscribe:a=>(R.add(a),()=>{R.delete(a)})},"roomReadAs",0,{set(a){D=a;try{window.localStorage.setItem(C,a)}catch{}for(let a of E)a()}},"roomThread",0,{set(a){if(a!==F)for(let b of(F=a,G))b()}},"screenActs",0,{announce(a){for(let b of T)b(a)},subscribe:a=>(T.add(a),()=>{T.delete(a)})},"speakerOf",0,W,"threadDrafts",0,{recipient:a=>t.get(a),select:(a,b)=>{t.set(a,b)},tab:a=>u.get(a),follow:(a,b)=>{u.set(a,b),t.set(a,b)},get:(a,b,c)=>p.get(a)?.get(JSON.stringify([b,c??null]))??"",set(a,b,c,d){let e=p.get(a)??new Map,f=JSON.stringify([b,d??null]);c?e.set(f,c):e.delete(f),e.size?p.set(a,e):p.delete(a)},files(a,b,c){let d=JSON.stringify([a,b,c??null]);return{read:()=>q.get(d)??s,write(a){for(let b of(a.length?q.set(d,a):q.delete(d),r))b()},subscribe:a=>(r.add(a),()=>r.delete(a))}}},"threadFromRow",0,o,"threadItems",0,function(a,b,c=[]){let d,e=(d=new Set(a.lines.filter(a=>"tool"===a.kind||"ask"===a.kind).map(V)),a=>"user"===a.kind||"ask"===a.kind||"result"===a.kind||"say"===a.kind&&!d.has(V(a))),f=b===a.bot.name?a.lines:a.lines.filter(a=>W(a).name===b||e(a)&&X(a)?.name===b),g=new Set([a.bot.name,k.ROOM_THURSDAY]),h=new Map;for(let b of a.lines){let a=X(b);a&&!g.has(a.name)&&(g.add(a.name),h.set(b.id,{from:W(b),to:a})),g.add(b.bot.name)}let i=[],j=new Map,l=a=>{let b=a?j.get(a.name):void 0;b&&(j.delete(b.bot.name),i.push(Y(b,!1)))};for(let a of f){if(!e(a)){let b=j.get(a.bot.name)??{bot:a.bot,lines:[],at:0};b.lines.push(a),b.at=i.length,j.set(a.bot.name,b);continue}let b=W(a);l(X(a));let c=h.get(a.id);c&&i.push({kind:"invite",key:`${a.id}-joins`,...c}),l(b),i.push({kind:"entry",speaker:b,entry:{kind:"message",key:a.id,line:a}})}for(let a of[...j.values()].sort((a,b)=>a.at-b.at).reverse())i.splice(a.at,0,Y(a,!0));for(let a of c)j.has(a.name)||i.push({kind:"entry",speaker:a,entry:{kind:"work",key:`${a.name}-now`,lines:[],open:!0}});let m=[];for(let a of i){let b=m.at(-1);"invite"===a.kind?m.push(a):b?.kind==="turn"&&b.speaker.name===a.speaker.name?b.entries.push(a.entry):m.push({kind:"turn",key:a.entry.key,speaker:a.speaker,entries:[a.entry]})}return m},"useBotThreads",0,function(){return(0,b.useSyncExternalStore)(a=>(n.add(a),()=>n.delete(a)),()=>l,()=>U)},"useCallWaits",0,function(){return(0,b.useSyncExternalStore)(a=>(Q.add(a),()=>Q.delete(a)),()=>P,()=>!1)},"useOfficePointed",0,function(){return(0,b.useSyncExternalStore)(a=>(K.add(a),()=>K.delete(a)),()=>J,()=>null)},"useRingingThreads",0,function(){return(0,b.useSyncExternalStore)(a=>(w.add(a),()=>w.delete(a)),()=>v,()=>x)},"useRoomOffice",0,function(){return(0,b.useSyncExternalStore)(a=>(B.add(a),()=>B.delete(a)),()=>A,()=>!1)},"useRoomOpen",0,function(){return(0,b.useSyncExternalStore)(a=>(z.add(a),()=>z.delete(a)),()=>y,()=>null)},"useRoomReadAs",0,function(){return(0,b.useSyncExternalStore)(a=>(E.add(a),()=>E.delete(a)),()=>D??=(()=>{try{return"chat"===window.localStorage.getItem(C)?"chat":"office"}catch{return"office"}})(),()=>"office")},"useRoomThread",0,function(){return(0,b.useSyncExternalStore)(a=>(G.add(a),()=>G.delete(a)),()=>F,()=>null)},"useSeenOnDetail",0,function(a){let k=(0,b.useRef)(new Set),l=a?.id??null,m=a?`${a.id}@${(0,g.toDate)(a.updatedAt).getTime()}`:null,n=!!a&&(0,f.isUnread)(a);(0,b.useEffect)(()=>{!l||!m||!n||k.current.has(m)||(k.current.add(m),(0,e.markSeenAction)([l]).then(h.unwrapResult).then(()=>(0,i.revalidate)(c.queryKey.threads)).catch(a=>{k.current.delete(m),d.toast.add({type:"error",title:"Could not mark the thread as read",description:(0,j.errorToString)(a)})}))},[l,m,n])},"useWriteLineUp",0,function(){return(0,b.useSyncExternalStore)(a=>(O.add(a),()=>O.delete(a)),()=>N,()=>!1)},"writeLine",0,{open(){for(let a of L)a(!1)},choose(){for(let a of L)a(!0)},subscribe:a=>(L.add(a),()=>{L.delete(a)}),draw(){for(let a of M)a()},onDraw:a=>(M.add(a),()=>{M.delete(a)}),shown(a){if(a!==N)for(let b of(N=a,O))b()},waits(a){if(a!==P)for(let b of(P=a,Q))b()}}])},184842,a=>{"use strict";var b=a.i(572131),c=a.i(168536),d=a.i(151086),e=a.i(43074),f=a.i(187828),g=a.i(736069),h=a.i(426476),i=a.i(380362),j=a.i(30116),k=a.i(361813),l=a.i(394552),m=a.i(307436);let n=d.platform.os.mac&&d.platform.engine.webkit;a.s(["useFocus",0,function(a,d={}){let{enabled:o=!0,delay:p}=d,q="rootStore"in a?a.rootStore:a,{events:r,dataRef:s}=q.context,t=b.useRef(!1),u=b.useRef(null),v=b.useRef(!0),w=(0,g.useTimeout)();b.useEffect(()=>{let a=q.select("domReferenceElement");if(!o)return;let b=(0,h.getWindow)(a);return(0,e.mergeCleanups)((0,c.addEventListener)(b,"blur",function(){let a=q.select("domReferenceElement");!q.select("open")&&(0,h.isHTMLElement)(a)&&a===(0,j.activeElement)((0,f.ownerDocument)(a))&&(t.current=!0,u.current=a)}),n&&(0,c.addEventListener)(b,"keydown",function(){v.current=!0},!0),n&&(0,c.addEventListener)(b,"pointerdown",function(){v.current=!1},!0))},[q,o]),b.useEffect(()=>{if(o)return r.on("openchange",a),()=>{r.off("openchange",a)};function a(a){if(a.reason===m.REASONS.triggerPress||a.reason===m.REASONS.escapeKey){let a=q.select("domReferenceElement");(0,h.isElement)(a)&&(u.current=a,t.current=!0)}}},[r,o,q]);let x=b.useMemo(()=>{function a(){t.current=!1,u.current=null}return{onMouseLeave(){a()},onFocus(b){let c=b.currentTarget;if(t.current){if(u.current===c)return;a()}let d=(0,j.getTarget)(b.nativeEvent);if((0,h.isElement)(d)){if(n&&!b.relatedTarget){if(!v.current&&!(0,k.isTypeableElement)(d))return}else if(!(0,k.matchesFocusVisible)(d))return}let e=(0,k.isTargetInsideEnabledTrigger)(b.relatedTarget,q.context.triggerElements),{nativeEvent:f,currentTarget:g}=b,i="function"==typeof p?p():p;q.select("open")&&e||0===i||void 0===i?q.setOpen(!0,(0,l.createChangeEventDetails)(m.REASONS.triggerFocus,f,g)):w.start(i,()=>{t.current||q.setOpen(!0,(0,l.createChangeEventDetails)(m.REASONS.triggerFocus,f,g))})},onBlur(b){a();let c=b.relatedTarget,d=b.nativeEvent,e=(0,h.isElement)(c)&&c.hasAttribute((0,i.createAttribute)("focus-guard"))&&"outside"===c.getAttribute("data-type");w.start(0,()=>{let a=q.select("domReferenceElement"),b=(0,j.activeElement)((0,f.ownerDocument)(a));if(!c&&b===a||(0,j.contains)(s.current.floatingContext?.refs.floating.current,b)||(0,j.contains)(a,b)||e)return;let g=c??b;(0,k.isTargetInsideEnabledTrigger)(g,q.context.triggerElements)||q.setOpen(!1,(0,l.createChangeEventDetails)(m.REASONS.triggerFocus,d))})}}},[s,p,q,w]);return b.useMemo(()=>o?{reference:x,trigger:x}:{},[o,x])}])},509301,a=>{"use strict";var b=a.i(572131),c=a.i(754184),d=a.i(357738),e=a.i(187828),f=a.i(854401),g=a.i(389862),h=a.i(151086),i=a.i(426476),j=a.i(394552),k=a.i(307436),l=a.i(925123),m=a.i(796e3),n=a.i(532186),o=a.i(30116),p=a.i(361813),q=a.i(303889),r=a.i(614209);function s(a){return h.platform.engine.webkit&&0===a.movementX&&0===a.movementY}function t(a,b,c){switch(a){case"vertical":return b;case"horizontal":return c;default:return b||c}}function u(a,b){return t(b,a===n.ARROW_UP||a===n.ARROW_DOWN,a===n.ARROW_LEFT||a===n.ARROW_RIGHT)}function v(a,b,c){return t(b,a===n.ARROW_DOWN,c?a===n.ARROW_LEFT:a===n.ARROW_RIGHT)||"Enter"===a||" "===a||""===a}a.s(["useListNavigation",0,function(a,h){let{listRef:w,activeIndex:x,onNavigate:y=()=>{},enabled:z=!0,selectedIndex:A=null,allowEscape:B=!1,loopFocus:C=!1,nested:D=!1,rtl:E=!1,virtual:F=!1,focusItemOnOpen:G="auto",focusItemOnHover:H=!0,openOnArrowKeyDown:I=!0,disabledIndices:J,orientation:K="vertical",parentOrientation:L,id:M,resetOnPointerLeave:N=!0,externalTree:O,grid:P}=h,Q=null!=P,R="rootStore"in a?a.rootStore:a,S=R.useState("open"),T=R.useState("floatingElement"),U=R.useState("domReferenceElement"),V=R.context.dataRef,W=(0,p.getFloatingFocusElement)(T),X=(0,p.isTypeableCombobox)(U),Y=(0,g.useValueAsRef)(W),Z=(0,l.useFloatingParentNodeId)(),$=(0,l.useFloatingTree)(O),_=b.useRef(G),aa=b.useRef(A??-1),ab=b.useRef(null),ac=b.useRef(!0),ad=(0,f.useStableCallback)(a=>{y(-1===aa.current?null:aa.current,a)}),ae=b.useRef(!!T),af=b.useRef(S),ag=b.useRef(!1),ah=b.useRef(!1),ai=b.useRef(null),aj=(0,g.useValueAsRef)(J),ak=(0,g.useValueAsRef)(S),al=(0,g.useValueAsRef)(A),am=(0,g.useValueAsRef)(N),an=(0,c.useAnimationFrame)(),ao=(0,c.useAnimationFrame)(),ap=(0,f.useStableCallback)(()=>{function a(a){F?$?.events.emit("virtualfocus",a):ai.current=(0,q.enqueueFocus)(a,{sync:ag.current,preventScroll:!0})}let b=w.current[aa.current],c=ah.current;b&&a(b),(ag.current?a=>a():a=>an.request(a))(()=>{let d=w.current[aa.current]||b;!d||(b||a(d),av&&(c||!ac.current)&&d.scrollIntoView?.({block:"nearest",inline:"nearest"}))})});(0,d.useIsoLayoutEffect)(()=>{V.current.orientation=K},[V,K]),(0,d.useIsoLayoutEffect)(()=>{z&&(S&&T?(aa.current=A??-1,_.current&&null!=A&&(ah.current=!0,ad())):ae.current&&(aa.current=-1,ad()))},[z,S,T,A,ad]),(0,d.useIsoLayoutEffect)(()=>{if(z){if(!S){ag.current=!1;return}if(T)if(null==x){if(ag.current=!1,null!=al.current)return;if(ae.current&&(aa.current=-1,ap()),(!af.current||!ae.current)&&_.current&&(null!=ab.current||!0===_.current&&null==ab.current)){let a=0,b=()=>{null==w.current[0]?(a<2&&(a?a=>ao.request(a):queueMicrotask)(b),a+=1):(aa.current=null==ab.current||v(ab.current,K,E)||D?(0,m.getMinListIndex)(w):(0,m.getMaxListIndex)(w),ab.current=null,ad())};b()}}else(0,m.isIndexOutOfListBounds)(w.current,x)||(aa.current=x,ap(),ah.current=!1)}},[z,S,T,x,al,D,w,K,E,ad,ap,ao]),(0,d.useIsoLayoutEffect)(()=>{if(!z||T||!$||F||!ae.current)return;let a=$.nodesRef.current,b=a.find(a=>a.id===Z)?.context?.elements.floating,c=(0,o.activeElement)((0,e.ownerDocument)(U??b??null)),d=a.some(a=>a.context&&(0,o.contains)(a.context.elements.floating,c));b&&!d&&ac.current&&b.focus({preventScroll:!0})},[z,T,U,$,Z,F]),(0,d.useIsoLayoutEffect)(()=>{af.current=S,ae.current=!!T}),(0,d.useIsoLayoutEffect)(()=>{S||(ab.current=null,_.current=G)},[S,G]);let aq=null!=x,ar=(0,f.useStableCallback)(a=>{if(!ak.current)return;let b=w.current.indexOf(a.currentTarget);-1!==b&&(aa.current!==b||x!==b)&&(aa.current=b,ad(a))}),as=(0,f.useStableCallback)(()=>L??$?.nodesRef.current.find(a=>a.id===Z)?.context?.dataRef?.current.orientation),at=(0,f.useStableCallback)(()=>(0,m.getMinListIndex)(w,aj.current)),au=(0,f.useStableCallback)(a=>{var b;let c,d;if(ac.current=!1,ag.current=!0,229===a.which||!ak.current&&a.currentTarget===Y.current)return;if(D&&(b=a.key,c=E?b===n.ARROW_RIGHT:b===n.ARROW_LEFT,d=b===n.ARROW_UP,"both"===K||"horizontal"===K&&Q?"Escape"===b:t(K,c,d))){u(a.key,as())||(0,r.stopEvent)(a),R.setOpen(!1,(0,j.createChangeEventDetails)(k.REASONS.listNavigation,a.nativeEvent)),(0,i.isHTMLElement)(U)&&(F?$?.events.emit("virtualfocus",U):U.focus());return}let e=aa.current,f=(0,m.getMinListIndex)(w,J),g=(0,m.getMaxListIndex)(w,J);if(X||("Home"===a.key&&((0,r.stopEvent)(a),aa.current=f,ad(a)),"End"===a.key&&((0,r.stopEvent)(a),aa.current=g,ad(a))),null!=P){let b=P(a,aa.current,w,K,C,E,J,f,g);if(null!=b&&(aa.current=b,ad(a)),"both"===K)return}if(u(a.key,K)){if((0,r.stopEvent)(a),S&&!F&&(0,o.activeElement)(a.currentTarget.ownerDocument)===a.currentTarget){aa.current=v(a.key,K,E)?f:g,ad(a);return}v(a.key,K,E)?C?e>=g?B&&e!==w.current.length?aa.current=-1:(ag.current=!1,aa.current=f):aa.current=(0,m.findNonDisabledListIndex)(w.current,{startingIndex:e,disabledIndices:J}):aa.current=Math.min(g,(0,m.findNonDisabledListIndex)(w.current,{startingIndex:e,disabledIndices:J})):C?e<=f?B&&-1!==e?aa.current=w.current.length:(ag.current=!1,aa.current=g):aa.current=(0,m.findNonDisabledListIndex)(w.current,{startingIndex:e,decrement:!0,disabledIndices:J}):aa.current=Math.max(f,(0,m.findNonDisabledListIndex)(w.current,{startingIndex:e,decrement:!0,disabledIndices:J})),(0,m.isIndexOutOfListBounds)(w.current,aa.current)&&(aa.current=-1),ad(a)}}),av=b.useMemo(()=>({onFocus(a){ag.current=!0,ar(a)},onClick:({currentTarget:a})=>a.focus({preventScroll:!0}),onMouseMove(a){!s(a)&&(ag.current=!0,ah.current=!1,H&&ar(a))},onPointerLeave(a){if(!ak.current||!ac.current||"touch"===a.pointerType)return;ag.current=!0;let b=a.relatedTarget;if(!(!H||w.current.includes(b))&&am.current&&(ai.current?.(),ai.current=null,aa.current=-1,ad(a),!F)){let a=Y.current,b=(0,o.activeElement)((0,e.ownerDocument)(a));a&&(0,o.contains)(a,b)&&a.focus({preventScroll:!0})}}}),[ar,ak,Y,H,w,ad,am,F]),aw=b.useMemo(()=>F&&S&&aq&&{"aria-activedescendant":`${M}-${x}`},[F,S,aq,M,x]),ax=b.useMemo(()=>({...!X?aw:{},onKeyDown(a){if("Tab"===a.key&&a.shiftKey&&S&&!F){let b=(0,o.getTarget)(a.nativeEvent);if(b&&!(0,o.contains)(Y.current,b))return;(0,r.stopEvent)(a),R.setOpen(!1,(0,j.createChangeEventDetails)(k.REASONS.focusOut,a.nativeEvent)),(0,i.isHTMLElement)(U)&&U.focus();return}au(a)},onPointerMove(a){s(a)||(ac.current=!0)}}),[aw,au,Y,X,R,S,F,U]),ay=b.useMemo(()=>{function a(a){R.setOpen(!0,(0,j.createChangeEventDetails)(k.REASONS.listNavigation,a.nativeEvent,a.currentTarget))}function b(a){"auto"===G&&(0,r.isVirtualClick)(a.nativeEvent)&&(_.current=!F)}function c(a){_.current=G,"auto"===G&&(0,r.isVirtualPointerEvent)(a.nativeEvent)&&(_.current=!0)}return{onKeyDown(b){var c,d;let e=R.select("open");ac.current=!1;let f=b.key.startsWith("Arrow"),g=(c=b.key,d=as(),t(d,E?c===n.ARROW_LEFT:c===n.ARROW_RIGHT,c===n.ARROW_DOWN)),h=u(b.key,K),i=(D?g:h)||"Enter"===b.key||""===b.key.trim();if(F&&e)return au(b);if(e||I||!f){if(i){let a=u(b.key,as());ab.current=D&&a?null:b.key}if(D){g&&((0,r.stopEvent)(b),e?(aa.current=at(),ad(b)):a(b));return}h&&(null!=al.current&&(aa.current=al.current),(0,r.stopEvent)(b),!e&&I?a(b):au(b),e&&ad(b))}},onFocus(a){R.select("open")&&!F&&(aa.current=-1,ad(a))},onPointerDown:c,onPointerEnter:c,onMouseDown:b,onClick:b}},[au,G,at,D,ad,R,I,K,as,E,al,F]),az=b.useMemo(()=>({...aw,...ay}),[aw,ay]);return b.useMemo(()=>z?{reference:az,floating:ax,item:av,trigger:ay}:{},[z,az,ax,ay,av])}])},446355,a=>{"use strict";var b=a.i(572131),c=a.i(357738),d=a.i(854401),e=a.i(736069),f=a.i(524715),g=a.i(796e3),h=a.i(30116),i=a.i(614209);a.s(["useTypeahead",0,function(a,j){let{listRef:k,elementsRef:l,activeIndex:m,onMatch:n,disabledIndices:o,onTyping:p,enabled:q=!0,resetMs:r=750,selectedIndex:s=null}=j,t="rootStore"in a?a.rootStore:a,u=t.useState("open"),v=(0,e.useTimeout)(),w=b.useRef(""),x=b.useRef(s??m??-1),y=b.useRef(null),z=(0,d.useStableCallback)(a=>{function b(a){let b=l?.current[a];return!(b&&!(0,g.isElementVisible)(b)||b?.matches(":disabled"))&&(null==o||!(0,g.isListIndexDisabled)(f.EMPTY_ARRAY,a,o))}function c(a,d,e=0){if(0===a.length)return -1;let f=(e%a.length+a.length)%a.length,g=d.toLowerCase();for(let c=0;c<a.length;c+=1){let d=(f+c)%a.length,e=a[d];if(e?.toLowerCase().startsWith(g)&&b(d))return d}return -1}let d=k.current;if(w.current.length>0&&" "===a.key&&((0,i.stopEvent)(a),p?.(!0)),w.current.length>0&&" "!==w.current[0]&&-1===c(d,w.current)&&" "!==a.key&&p?.(!1),null==d||1!==a.key.length||a.ctrlKey||a.metaKey||a.altKey)return;u&&" "!==a.key&&((0,i.stopEvent)(a),p?.(!0));let e=""===w.current;e&&(x.current=s??m??-1),d.every((a,c)=>!(a&&b(c))||a[0]?.toLowerCase()!==a[1]?.toLowerCase())&&w.current===a.key&&(w.current="",x.current=y.current),w.current+=a.key,v.start(r,()=>{w.current="",x.current=y.current,p?.(!1)});let h=e?s??m??-1:x.current,j=c(d,w.current,(h??0)+1);-1!==j?(n?.(j),y.current=j):" "!==a.key&&(w.current="",p?.(!1))}),A=(0,d.useStableCallback)(a=>{let b=a.relatedTarget,c=t.select("domReferenceElement"),d=t.select("floatingElement");(0,h.contains)(c,b)||(0,h.contains)(d,b)||(v.clear(),w.current="",x.current=y.current,p?.(!1))});(0,c.useIsoLayoutEffect)(()=>{(u||null===s)&&(v.clear(),y.current=null,""!==w.current&&(w.current=""))},[u,s,v]);let B=b.useMemo(()=>({onKeyDown:z,onBlur:A}),[z,A]);return b.useMemo(()=>q?{reference:B,floating:B}:{},[q,B])}])},796511,a=>{"use strict";var b=a.i(524715),c=a.i(926184),d=a.i(16966);a.s(["CompositeItem",0,function(a){let{render:e,className:f,style:g,state:h=b.EMPTY_OBJECT,props:i=b.EMPTY_ARRAY,refs:j=b.EMPTY_ARRAY,metadata:k,stateAttributesMapping:l,tag:m="div",...n}=a,{compositeProps:o,compositeRef:p}=(0,d.useCompositeItem)({metadata:k});return(0,c.useRenderElement)(m,a,{state:h,ref:[p,...j],props:[o,...i,n],stateAttributesMapping:l})}])},656648,a=>{"use strict";a.i(20929);var b=a.i(663515),c=a.i(364481),d=a.i(574658),e=a.i(151616),f=a.i(565649),g=a.i(233877),h=a.i(700537),i=a.i(839606),j=a.i(520728),k=a.i(218873),l=a.i(443721),m=a.i(770781),n=a.i(221397),o=a.i(486365),p=a.i(706544),q=a.i(857503),r=a.i(854662),s=a.i(572131),t=a.i(736069),u=a.i(187828),v=a.i(722050),w=a.i(854401),x=a.i(357738),y=a.i(524715),z=a.i(25003),A=a.i(331973),B=a.i(925123),C=a.i(184842),D=a.i(705735),E=a.i(418383),F=a.i(30116),G=a.i(15406),H=a.i(304478),I=a.i(926184),J=a.i(221436),K=a.i(961892),L=a.i(796511),M=a.i(559539),N=a.i(426476),O=a.i(497151),P=a.i(284204),Q=a.i(793332),R=a.i(300557),S=a.i(307436),T=a.i(720779),U=a.i(82204),V=a.i(261394),W=a.i(676459),X=a.i(187924);let Y=(0,v.fastComponentRef)(function(a,b){let c,{render:d,className:e,style:f,disabled:g=!1,nativeButton:h=!0,id:i,openOnHover:j,delay:k=100,closeDelay:l=0,handle:m,payload:n,...o}=a,p=(0,G.useMenuRootContext)(!0),q=(0,O.usePopupHandleStore)(m)??p?.store;if(!q)throw Error((0,r.default)(85));let v=(0,R.useBaseUiId)(i),Y=q.useState("isTriggerActive",v),Z=q.useState("floatingRootContext"),$=q.useState("isOpenedByTrigger",v),_=q.useState("triggerPopupId",v),aa=s.useRef(null),ab=(c=(0,T.useMenubarContext)(!0),s.useMemo(()=>c?{type:"menubar",context:c}:{type:void 0},[c])),ac=(0,M.useCompositeRootContext)(!0),ad=(0,B.useFloatingTree)(),ae=s.useMemo(()=>ad??new E.FloatingTreeStore,[ad]),af=(0,B.useFloatingNodeId)(ae),ag=(0,B.useFloatingParentNodeId)(),{registerTrigger:ah,isMountedByThisTrigger:ai}=(0,P.useTriggerDataForwarding)(v,aa,q,{payload:n,closeDelay:l,parent:ab,floatingTreeRoot:ae,floatingNodeId:af,floatingParentNodeId:ag,keyboardEventRelay:ac?.relayKeyboardEvent}),aj="menubar"===ab.type,ak=q.useState("disabled"),al=g||ak||aj&&ab.context.disabled,{getButtonProps:am,buttonRef:an}=(0,J.useButton)({disabled:al,native:h});s.useEffect(()=>{$||void 0!==ab.type||(q.context.allowMouseUpTriggerRef.current=!1)},[q,$,ab.type]);let ao=s.useRef(null),ap=(0,t.useTimeout)(),aq=(0,w.useStableCallback)(a=>{if(!ao.current)return;ap.clear(),q.context.allowMouseUpTriggerRef.current=!1;let b=a.target;(0,F.contains)(ao.current,b)||(0,F.contains)(q.select("positionerElement"),b)||b===ao.current||null!=b&&function a(b){return(0,N.isHTMLElement)(b)&&b.hasAttribute("data-rootownerid")?b.getAttribute("data-rootownerid"):(0,N.isLastTraversableNode)(b)?void 0:a((0,N.getParentNode)(b))}(b)===q.select("rootId")||(0,K.isMouseWithinBounds)(a,ao.current)||ae.events.emit("close",{domEvent:a,reason:S.REASONS.cancelOpen})});s.useEffect(()=>{$&&q.select("lastOpenChangeReason")===S.REASONS.triggerHover&&(0,u.ownerDocument)(ao.current).addEventListener("mouseup",aq,{once:!0})},[$,aq,q]);let ar=aj&&ab.context.hasSubmenuOpen,as=j??ar,at=(0,D.useHoverReferenceInteraction)(Z,{enabled:as&&!al&&(!aj||ar&&!ai),handleClose:(0,z.safePolygon)({blockPointerEvents:!aj}),mouseOnly:!0,move:!1,restMs:void 0===ab.type?k:void 0,delay:{close:l},triggerElementRef:aa,externalTree:ae,isActiveTrigger:Y,isClosing:()=>"ending"===q.select("transitionStatus")}),au=function(a,b){let c=(0,t.useTimeout)(),[d,e]=s.useState(!1);return(0,x.useIsoLayoutEffect)(()=>{a&&b===S.REASONS.triggerHover?(e(!0),c.start(U.PATIENT_CLICK_THRESHOLD,()=>{e(!1)})):a||(c.clear(),e(!1))},[a,b,c]),d}($,q.select("lastOpenChangeReason")),av=(0,A.useClick)(Z,{enabled:!al,event:$&&aj?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:void 0===ab.type&&au}),aw=(0,C.useFocus)(Z,{enabled:!al&&ar}),ax=function(a){let{enabled:b=!0,mouseDownAction:c,open:d}=a,e=s.useRef(!1);return s.useMemo(()=>b?{onMouseDown:a=>{("open"===c&&!d||"close"===c&&d)&&(e.current=!0,(0,u.ownerDocument)(a.currentTarget).addEventListener("click",()=>{e.current=!1},{once:!0}))},onClick:a=>{e.current&&(e.current=!1,a.preventBaseUIHandler())}}:y.EMPTY_OBJECT,[b,c,d])}({open:$,enabled:aj,mouseDownAction:"open"}),ay=s.useMemo(()=>(0,W.mergeProps)(aw.reference,av.reference),[aw.reference,av.reference]),az=q.useState("triggerProps",ai),{preFocusGuardRef:aA,handlePreFocusGuardFocus:aB,handleFocusTargetFocus:aC}=(0,Q.useTriggerFocusGuards)(q,aa),aD={disabled:al,open:$},aE=[ao,b,an,ah,aa],aF=[ay,at??y.EMPTY_OBJECT,az,{"aria-haspopup":"menu","aria-controls":_,id:v,onMouseDown:a=>{q.select("open")||(ap.start(200,()=>{q.context.allowMouseUpTriggerRef.current=!0}),(0,u.ownerDocument)(a.currentTarget).addEventListener("mouseup",aq,{once:!0}))}},aj?{role:"menuitem"}:{},ax,o,am],aG=(0,I.useRenderElement)("button",a,{enabled:!aj,stateAttributesMapping:H.pressableTriggerOpenStateMapping,state:aD,ref:aE,props:aF});return aj?(0,X.jsx)(L.CompositeItem,{tag:"button",render:d,className:e,style:f,state:aD,refs:aE,props:aF,stateAttributesMapping:H.pressableTriggerOpenStateMapping}):$?(0,X.jsxs)(s.Fragment,{children:[(0,X.jsx)(V.FocusGuard,{ref:aA,onFocus:aB},`${v}-pre-focus-guard`),(0,X.jsx)(s.Fragment,{children:aG},v),(0,X.jsx)(V.FocusGuard,{ref:q.context.triggerFocusTargetRef,onFocus:aC},`${v}-post-focus-guard`)]}):(0,X.jsx)(s.Fragment,{children:aG},v)});var Z=a.i(19862),$=a.i(362092);let _=s.forwardRef(function(a,b){let{render:c,className:d,style:e,children:f,...g}=a,{store:h}=(0,G.useMenuRootContext)(),{side:i}=(0,Z.useMenuPositionerContext)(),j=h.useState("instantType"),{children:k,state:l}=(0,$.usePopupViewport)({store:h,side:i,children:f}),m={activationDirection:l.activationDirection,transitioning:l.transitioning,instant:j};return(0,I.useRenderElement)("div",a,{state:m,ref:b,props:[g,{children:k}],stateAttributesMapping:$.popupViewportStateMapping})});var aa=a.i(118816),ab=a.i(151086),ac=a.i(492403),ad=a.i(779397),ae=a.i(576246);let af={"aria-expanded":void 0},ag=s.forwardRef(function(a,b){let{render:c,className:d,style:e,label:f,id:g,nativeButton:h=!1,openOnHover:i=!0,delay:j=100,closeDelay:k=0,disabled:l=!1,...m}=a,n=(0,ae.useMenuSubmenuRootContext)();if(!n?.parentMenu)throw Error((0,r.default)(37));let o=(0,ac.useCompositeListItem)({guess:!0,label:f}),p=(0,Z.useMenuPositionerContext)(),{store:q}=(0,G.useMenuRootContext)(),t=(0,R.useBaseUiId)(g),u=q.useState("open"),v=q.useState("floatingRootContext"),B=q.useState("floatingTreeRoot"),C=q.useState("triggerPopupId",t),E=(0,P.useTriggerRegistration)(t,q),F=(0,w.useStableCallback)(a=>{E(a),null!==a&&q.select("open")&&null==q.select("activeTriggerId")&&q.update({activeTriggerId:t??null,activeTriggerElement:a,closeDelay:k})}),J=s.useRef(null),K=s.useCallback(a=>{J.current=a,q.set("activeTriggerElement",a)},[q]);(0,x.useIsoLayoutEffect)(()=>(F(J.current),()=>F(null)),[F,t,q]),q.useSyncedValue("closeDelay",k);let L=n.parentMenu,M=q.useState("disabled"),N=L.useState("disabled"),O=l||M||N,Q=L.useState("itemProps"),T=L.useState("isActive",o.index),U=s.useMemo(()=>({type:"submenu-trigger",setActive(){L.select("highlightItemOnHover")&&L.set("activeIndex",o.index)}}),[L,o.index]),{getItemProps:V,itemRef:W}=(0,ad.useMenuItem)({closeOnClick:!1,disabled:O,highlighted:T,id:t,store:q,typingRef:L.context.typingRef,nativeButton:h,itemMetadata:U,nodeId:p?.context.nodeId}),X=q.useState("hoverEnabled"),Y=(0,D.useHoverReferenceInteraction)(v,{enabled:X&&i&&!O,handleClose:(0,z.safePolygon)({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:j,delay:{open:j,close:k},shouldOpen:j>0?()=>L.select("allowMouseEnter"):void 0,triggerElementRef:J,externalTree:B,isClosing:()=>"ending"===q.select("transitionStatus"),guardStaleOpen:!0}),$=(0,A.useClick)(v,{enabled:!O,event:"mousedown",toggle:!i,ignoreMouse:i,stickIfOpen:!1}).reference??y.EMPTY_OBJECT,_=q.useState("triggerProps",!0);delete _.id;let aa=q.useState("openMethod"),ag=q.useState("lastOpenChangeReason")===S.REASONS.listNavigation||"keyboard"===aa,ah=u&&ag&&ab.platform.screenReader.voiceOver;return(0,I.useRenderElement)("div",a,{state:{disabled:O,highlighted:T,open:u},stateAttributesMapping:H.triggerOpenStateMapping,props:[$,Y,_,Q,ah?af:void 0,{"aria-controls":C,tabIndex:u||T?0:-1,onBlur(){T&&L.set("activeIndex",null)}},m,V],ref:[b,o.ref,W,F,K]})});var ah=a.i(315740),ai=a.i(4675);class aj extends ai.BasePopupHandle{constructor(){super((0,ah.createNullMenuStore)(),"Menu")}open(a){this.openByTrigger(a)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}}a.s(["Arrow",()=>b.MenuArrow,"Backdrop",()=>c.MenuBackdrop,"CheckboxItem",()=>d.MenuCheckboxItem,"CheckboxItemIndicator",()=>e.MenuCheckboxItemIndicator,"Group",()=>f.MenuGroup,"GroupLabel",()=>g.MenuGroupLabel,"Handle",0,aj,"Item",()=>h.MenuItem,"LinkItem",()=>i.MenuLinkItem,"Popup",()=>j.MenuPopup,"Portal",()=>k.MenuPortal,"Positioner",()=>l.MenuPositioner,"RadioGroup",()=>m.MenuRadioGroup,"RadioItem",()=>n.MenuRadioItem,"RadioItemIndicator",()=>o.MenuRadioItemIndicator,"Root",()=>p.MenuRoot,"Separator",()=>aa.Separator,"SubmenuRoot",()=>q.MenuSubmenuRoot,"SubmenuTrigger",0,ag,"Trigger",0,Y,"Viewport",0,_,"createHandle",0,function(){return new aj}],50012);var ak=a.i(50012);a.s(["Menu",0,ak],656648)},20929,19862,15406,663515,630479,364481,779397,574658,151616,565649,233877,700537,839606,520728,218873,443721,770781,221397,486365,a=>{"use strict";a.s([],20929);var b=a.i(572131),c=a.i(854662);let d=b.createContext(void 0);function e(a){let e=b.useContext(d);if(void 0===e&&!a)throw Error((0,c.default)(33));return e}a.s(["MenuPositionerContext",0,d,"useMenuPositionerContext",0,e],19862);let f=b.createContext(void 0);function g(a){let d=b.useContext(f);if(void 0===d&&!a)throw Error((0,c.default)(36));return d}a.s(["MenuRootContext",0,f,"useMenuRootContext",0,g],15406);var h=a.i(926184),i=a.i(304478);let j=b.forwardRef(function(a,b){let{render:c,className:d,style:f,...j}=a,{store:k}=g(),{arrowRef:l,side:m,align:n,arrowUncentered:o,arrowStyles:p}=e(),q=k.useState("open");return(0,h.useRenderElement)("div",a,{ref:[l,b],stateAttributesMapping:i.popupStateMapping,state:{open:q,side:m,align:n,uncentered:o},props:{style:p,"aria-hidden":!0,...j}})});a.s(["MenuArrow",0,j],663515);let k=b.createContext(void 0);function l(a=!0){let d=b.useContext(k);if(void 0===d&&!a)throw Error((0,c.default)(25));return d}a.s(["useContextMenuRootContext",0,l],630479);var m=a.i(307436);let n=b.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,{store:j}=g(),k=j.useState("open"),n=j.useState("mounted"),o=j.useState("transitionStatus"),p=j.useState("lastOpenChangeReason"),q=l();return(0,h.useRenderElement)("div",a,{ref:q?.backdropRef?[b,q.backdropRef]:b,state:{open:k,transitionStatus:o},stateAttributesMapping:i.popupTransitionStateMapping,props:[{role:"presentation",hidden:!n,style:{pointerEvents:p===m.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},f]})});a.s(["MenuBackdrop",0,n],364481);var o=a.i(950381),p=a.i(524715);let q=b.createContext(void 0);var r=a.i(801811),s=a.i(221436),t=a.i(676459),u=a.i(151086),v=a.i(85933);function w(a){let{closeOnClick:c,highlighted:d,id:e,nodeId:f,store:g,typingRef:h,itemRef:i,itemMetadata:j}=a,{events:k}=g.useState("floatingTreeRoot"),n=g.useState("open"),o=l(!0),p=void 0!==o;return b.useMemo(()=>({id:e,role:"menuitem",tabIndex:n&&d?0:-1,onKeyDown(a){" "===a.key&&h?.current&&a.preventDefault()},onMouseMove(a){f&&k.emit("itemhover",{nodeId:f,target:a.currentTarget})},onClick(a){c&&k.emit("close",{domEvent:a,reason:m.REASONS.itemPress})},onMouseUp(a){if(o){let b=o.initialCursorPointRef.current;if(o.initialCursorPointRef.current=null,p&&b&&1>=Math.abs(a.clientX-b.x)&&1>=Math.abs(a.clientY-b.y)||p&&!u.platform.os.mac&&2===a.button)return}i.current&&g.context.allowMouseUpTriggerRef.current&&(!p||2===a.button)&&"regular-item"===j.type&&(0,v.dispatchClickWithModifiers)(i.current,a,{detail:1})}}),[c,d,e,k,f,n,g,h,i,o,p,j])}let x={type:"regular-item"};function y(a){let{closeOnClick:c,disabled:d,highlighted:e,id:f,store:g,typingRef:h=g.context.typingRef,nativeButton:i,itemMetadata:j,nodeId:k}=a,l=b.useRef(null),{getButtonProps:m,buttonRef:n}=(0,s.useButton)({disabled:d,focusableWhenDisabled:!0,native:i,composite:!0}),o=w({closeOnClick:c,highlighted:e,id:f,nodeId:k,store:g,typingRef:h,itemRef:l,itemMetadata:j}),p=b.useCallback(a=>(0,t.mergeProps)(o,{onMouseEnter(){"submenu-trigger"===j.type&&j.setActive()}},a,m),[o,m,j]),q=(0,r.useMergedRefs)(l,n);return b.useMemo(()=>({getItemProps:p,itemRef:q}),[p,q])}a.s(["REGULAR_ITEM",0,x,"useMenuItem",0,y],779397);var z=a.i(492403),A=a.i(300557);let B={checked:a=>a?{"data-checked":""}:{"data-unchecked":""},...a.i(407393).transitionStatusMapping};var C=a.i(394552),D=a.i(187924);let E=b.forwardRef(function(a,c){let{render:d,className:f,id:i,label:j,nativeButton:k=!1,disabled:l=!1,closeOnClick:n=!1,checked:r,defaultChecked:s,onCheckedChange:t,style:u,...v}=a,w=(0,z.useCompositeListItem)({guess:!0,label:j}),E=e(!0),F=(0,A.useBaseUiId)(i),{store:G}=g(),H=G.useState("disabled"),I=l||H,J=G.useState("isActive",w.index),K=G.useState("itemProps"),[L,M]=(0,o.useControlled)({controlled:r,default:s??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:N,itemRef:O}=y({closeOnClick:n,disabled:I,highlighted:J,id:F,store:G,nativeButton:k,nodeId:E?.context.nodeId,itemMetadata:x}),P=b.useMemo(()=>({disabled:I,highlighted:J,checked:L}),[I,J,L]),Q=(0,h.useRenderElement)("div",a,{state:P,stateAttributesMapping:B,props:[K,{role:"menuitemcheckbox","aria-checked":L,onClick:function(a){let b=(0,C.createChangeEventDetails)(m.REASONS.itemPress,a.nativeEvent,void 0,{preventUnmountOnClose:p.NOOP});t?.(!L,b),b.isCanceled||M(a=>!a)}},v,N],ref:[O,c,w.ref]});return(0,D.jsx)(q.Provider,{value:P,children:Q})});a.s(["MenuCheckboxItem",0,E],574658);var F=a.i(348250),G=a.i(305687);let H=b.forwardRef(function(a,d){let{render:e,className:f,style:g,keepMounted:i=!1,...j}=a,k=function(){let a=b.useContext(q);if(void 0===a)throw Error((0,c.default)(30));return a}(),l=b.useRef(null),{transitionStatus:m,mounted:n,setMounted:o}=(0,F.useTransitionStatus)(k.checked);(0,G.useOpenChangeComplete)({batch:!0,enabled:!k.checked,open:k.checked,ref:l,onComplete(){k.checked||o(!1)}});let p={checked:k.checked,disabled:k.disabled,highlighted:k.highlighted,transitionStatus:m};return(0,h.useRenderElement)("span",a,{state:p,ref:[d,l],stateAttributesMapping:B,props:{"aria-hidden":!0,...j},enabled:i||n})});a.s(["MenuCheckboxItemIndicator",0,H],151616);let I=b.createContext(void 0),J=b.forwardRef(function(a,c){let{render:d,className:e,style:f,...g}=a,[i,j]=b.useState(void 0),k=(0,h.useRenderElement)("div",a,{ref:c,props:{role:"group","aria-labelledby":i,...g}});return(0,D.jsx)(I.Provider,{value:j,children:k})});a.s(["MenuGroup",0,J],565649);var K=a.i(357738);let L=b.forwardRef(function(a,d){let{render:e,className:f,style:g,id:i,...j}=a,k=(0,A.useBaseUiId)(i),l=function(){let a=b.useContext(I);if(void 0===a)throw Error((0,c.default)(31));return a}();return(0,K.useIsoLayoutEffect)(()=>(l(k),()=>{l(a=>a===k?void 0:a)}),[l,k]),(0,h.useRenderElement)("div",a,{ref:d,props:{id:k,"aria-hidden":!0,...j}})});a.s(["MenuGroupLabel",0,L],233877);let M=b.forwardRef(function(a,b){let{render:c,className:d,id:f,label:i,nativeButton:j=!1,disabled:k=!1,closeOnClick:l=!0,style:m,...n}=a,o=(0,z.useCompositeListItem)({guess:!0,label:i}),p=e(!0),q=(0,A.useBaseUiId)(f),{store:r}=g(),s=r.useState("disabled"),t=k||s,u=r.useState("isActive",o.index),v=r.useState("itemProps"),{getItemProps:w,itemRef:B}=y({closeOnClick:l,disabled:t,highlighted:u,id:q,store:r,nativeButton:j,nodeId:p?.context.nodeId,itemMetadata:x});return(0,h.useRenderElement)("div",a,{state:{disabled:t,highlighted:u},props:[v,n,w],ref:[B,b,o.ref]})});a.s(["MenuItem",0,M],700537);let N=b.forwardRef(function(a,c){let{render:d,className:f,id:i,label:j,closeOnClick:k=!1,style:l,...m}=a,n=b.useRef(null),o=(0,z.useCompositeListItem)({guess:!0,label:j}),p=e(!0),q=p?.context.nodeId,r=(0,A.useBaseUiId)(i),{store:u}=g(),v=u.useState("isActive",o.index),y=u.useState("itemProps"),B=u.context.typingRef,{getButtonProps:C,buttonRef:D}=(0,s.useButton)({native:!1,composite:!0}),E=w({closeOnClick:k,highlighted:v,id:r,nodeId:q,store:u,typingRef:B,itemRef:n,itemMetadata:x});return(0,h.useRenderElement)("a",a,{state:{highlighted:v},props:[y,m,function(a){return(0,t.mergeProps)(E,a,C)}],ref:[n,D,c,o.ref]})});a.s(["MenuLinkItem",0,N],839606);var O=a.i(150687),P=a.i(181673),Q=a.i(19416),R=a.i(669649),S=a.i(3861);let T=b.forwardRef(function(a,c){let{render:d,className:f,style:j,finalFocus:k,...l}=a,{store:n}=g(),{side:o,align:p}=e(),q=null!=(0,Q.useToolbarRootContext)(!0),r=n.useState("open"),s=n.useState("transitionStatus"),t=n.useState("popupProps"),u=n.useState("mounted"),v=n.useState("instantType"),w=n.useState("activeTriggerElement"),x=n.useState("parent"),y=n.useState("lastOpenChangeReason"),z=n.useState("rootId"),A=n.useState("floatingRootContext"),B=n.useState("floatingTreeRoot"),E=n.useState("closeDelay"),F=n.useState("hoverEnabled"),H=n.useState("disabled"),I=n.useState("openMethod"),J="context-menu"===x.type;(0,G.useOpenChangeComplete)({open:r,ref:n.context.popupRef,onComplete(){r&&n.context.onOpenChangeComplete?.(!0)}}),b.useEffect(()=>{function a(a){n.setOpen(!1,(0,C.createChangeEventDetails)(a.reason,a.domEvent))}return B.events.on("close",a),()=>{B.events.off("close",a)}},[B.events,n]),(0,P.useHoverFloatingInteraction)(A,{enabled:F&&!H&&!J&&"menubar"!==x.type,closeDelay:E});let K=n.useStateSetter("popupElement"),L={transitionStatus:s,side:o,align:p,open:r,nested:"menu"===x.type,instant:v},M=(0,h.useRenderElement)("div",a,{state:L,ref:[c,n.context.popupRef,K],stateAttributesMapping:i.popupTransitionStateMapping,props:[t,{onKeyDown(a){q&&R.COMPOSITE_KEYS.has(a.key)&&a.stopPropagation()}},(0,S.getDisabledMountTransitionStyles)(s),l,{"data-rootownerid":z}]}),N=void 0===x.type||J;return(w||"menubar"===x.type&&y!==m.REASONS.outsidePress)&&(N=!0),(0,D.jsx)(O.FloatingFocusManager,{context:A,openInteractionType:I,modal:J,disabled:!u,returnFocus:void 0===k?N:k,initialFocus:"menu"!==x.type,restoreFocus:!0,externalTree:"menubar"!==x.type?B:void 0,previousFocusableElement:w,nextFocusableElement:void 0===x.type?n.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:void 0===x.type?n.context.beforeContentFocusGuardRef:void 0,children:M})});a.s(["MenuPopup",0,T],520728);var U=a.i(354098);let V=b.createContext(void 0),W=b.forwardRef(function(a,b){let{keepMounted:c=!1,...d}=a,{store:e,parent:f}=g();if(!(e.useState("mounted")||c))return null;let h="menu"===f.type||"menubar"===f.type?"group":void 0;return(0,D.jsx)(V.Provider,{value:c,children:(0,D.jsx)(U.FloatingPortal,{ref:b,...d,portalOwnerRole:h})})});a.s(["MenuPortal",0,W],218873);var X=a.i(454125),Y=a.i(736069),Z=a.i(925123),$=a.i(844871),_=a.i(579923),aa=a.i(330076),ab=a.i(82204),ac=a.i(443125),ad=a.i(456011),ae=a.i(402968);let af=b.forwardRef(function(a,e){let{anchor:f,positionMethod:h="absolute",className:i,render:j,side:k,align:n,sideOffset:o=0,alignOffset:p=0,collisionBoundary:q="clipping-ancestors",collisionPadding:r=5,arrowPadding:s=5,sticky:t=!1,disableAnchorTracking:u=!1,collisionAvoidance:v=ab.DROPDOWN_COLLISION_AVOIDANCE,style:w,...x}=a,{store:y}=g(),z=function(){let a=b.useContext(V);if(void 0===a)throw Error((0,c.default)(32));return a}(),A=l(!0),B=y.useState("parent"),E=y.useState("floatingRootContext"),F=y.useState("floatingTreeRoot"),G=y.useState("mounted"),H=y.useState("open"),I=y.useState("modal"),J=y.useState("openMethod"),L=y.useState("activeTriggerElement"),M=y.useState("transitionStatus"),N=y.useState("positionerElement"),O=y.useState("instantType"),P=y.useState("adaptiveOrigin"),Q=y.useState("lastOpenChangeReason"),R=y.useState("floatingNodeId"),S=y.useState("floatingParentNodeId"),T=E.useState("domReferenceElement"),U=b.useRef(null),W=(0,ac.useAnimationsFinished)(N),af=f,ag=o,ah=p,ai=n,aj=v;"context-menu"===B.type&&(af=f??B.context?.anchor,ai=ai??"start",k||"center"===ai||(ah=a.alignOffset??2,ag=a.sideOffset??-5));let ak=k,al=ai;"menu"===B.type?(ak=ak??"inline-end",al=al??"start",aj=a.collisionAvoidance??ab.POPUP_COLLISION_AVOIDANCE):"menubar"===B.type&&(ak=ak??("vertical"===B.context.orientation?"inline-end":"bottom"),al=al??"start");let am="context-menu"===B.type,an=(0,$.useAnchorPositioning)({anchor:af,floatingRootContext:E,positionMethod:A?"fixed":h,mounted:G,side:ak,sideOffset:ag,align:al,alignOffset:ah,arrowPadding:am?0:s,collisionBoundary:q,collisionPadding:r,sticky:t,nodeId:R,keepMounted:z,disableAnchorTracking:u,collisionAvoidance:aj,shift:am?{crossAxis:!("side"in aj&&"flip"===aj.side),rootBoundary:"layoutViewport"}:void 0,externalTree:F,adaptiveOrigin:P});b.useEffect(()=>{function a(a){a.open&&(a.parentNodeId===R&&y.set("hoverEnabled",!1),a.nodeId!==R&&a.parentNodeId===y.select("floatingParentNodeId")&&y.setOpen(!1,(0,C.createChangeEventDetails)(m.REASONS.siblingOpen)))}return F.events.on("menuopenchange",a),()=>{F.events.off("menuopenchange",a)}},[y,F.events,R]),b.useEffect(()=>{if(null!=y.select("floatingParentNodeId"))return F.events.on("menuopenchange",a),()=>{F.events.off("menuopenchange",a)};function a(a){if(a.open||a.nodeId!==y.select("floatingParentNodeId"))return;let b=a.reason??m.REASONS.siblingOpen;y.setOpen(!1,(0,C.createChangeEventDetails)(b))}},[F.events,y]);let ao=(0,Y.useTimeout)();b.useEffect(()=>{H||ao.clear()},[H,ao]),b.useEffect(()=>{function a(a){if(H&&a.nodeId===y.select("floatingParentNodeId"))if(a.target&&L&&L!==a.target){let a=y.select("closeDelay");a>0?ao.isStarted()||ao.start(a,()=>{y.setOpen(!1,(0,C.createChangeEventDetails)(m.REASONS.siblingOpen))}):y.setOpen(!1,(0,C.createChangeEventDetails)(m.REASONS.siblingOpen))}else ao.clear()}return F.events.on("itemhover",a),()=>{F.events.off("itemhover",a)}},[F.events,H,L,y,ao]),b.useEffect(()=>{let a={open:H,nodeId:R,parentNodeId:S,reason:y.select("lastOpenChangeReason")};F.events.emit("menuopenchange",a)},[F.events,H,y,R,S]),(0,K.useIsoLayoutEffect)(()=>{let a=U.current;if(T&&(U.current=T),a&&T&&T!==a){y.set("instantType",void 0);let a=new AbortController;return W(()=>{y.set("instantType","trigger-change")},a.signal),()=>{a.abort()}}},[T,W,y]);let ap={open:H,side:an.side,align:an.align,anchorHidden:an.anchorHidden,nested:"menu"===B.type,instant:O},aq="menubar"===B.type&&B.context.modal,ar=I&&Q!==m.REASONS.triggerHover;(0,ae.useAnchoredPopupScrollLock)(H&&(aq||ar),"touch"===J,N,L);let as=(0,ad.usePositioner)(a,ap,{styles:an.positionerStyles,transitionStatus:M,props:x,refs:[e,y.useStateSetter("positionerElement")],hidden:!G,inert:!H}),at=G&&"menu"!==B.type&&("menubar"!==B.type&&I&&Q!==m.REASONS.triggerHover||"menubar"===B.type&&B.context.modal),au=null;return"menubar"===B.type?au=B.context.contentElement:void 0===B.type&&(au=L),(0,D.jsxs)(d.Provider,{value:an,children:[at&&(0,D.jsx)(aa.InternalBackdrop,{ref:"context-menu"===B.type||"nested-context-menu"===B.type?B.context.internalBackdropRef:null,inert:(0,X.inertValue)(!H),cutout:au}),(0,D.jsx)(Z.FloatingNode,{id:R,children:(0,D.jsx)(_.CompositeList,{elementsRef:y.context.itemDomElements,labelsRef:y.context.itemLabels,children:as})})]})});a.s(["MenuPositioner",0,af],443721);var ag=a.i(854401);let ah=b.createContext(void 0),ai=b.memo(b.forwardRef(function(a,c){let{render:d,className:e,value:f,defaultValue:g,onValueChange:i,disabled:j=!1,style:k,"aria-labelledby":l,...m}=a,[n,p]=b.useState(void 0),[q,r]=(0,o.useControlled)({controlled:f,default:g,name:"MenuRadioGroup"}),s=(0,ag.useStableCallback)((a,b)=>{i?.(a,b),b.isCanceled||r(a)}),t=(0,h.useRenderElement)("div",a,{state:{disabled:j},ref:c,props:{role:"group","aria-labelledby":l??n,"aria-disabled":j||void 0,...m}}),u=b.useMemo(()=>({value:q,setValue:s,disabled:j}),[q,s,j]);return(0,D.jsx)(I.Provider,{value:p,children:(0,D.jsx)(ah.Provider,{value:u,children:t})})}));a.s(["MenuRadioGroup",0,ai],770781);let aj=b.createContext(void 0),ak=b.forwardRef(function(a,d){let{render:f,className:i,id:j,label:k,nativeButton:l=!1,disabled:n=!1,closeOnClick:o=!1,value:q,style:r,...s}=a,t=(0,z.useCompositeListItem)({guess:!0,label:k}),u=e(!0),v=(0,A.useBaseUiId)(j),{store:w}=g(),E=w.useState("isActive",t.index),F=w.useState("itemProps"),{value:G,setValue:H,disabled:I}=function(){let a=b.useContext(ah);if(void 0===a)throw Error((0,c.default)(34));return a}(),J=w.useState("disabled"),K=n||I||J,L=G===q,{getItemProps:M,itemRef:N}=y({closeOnClick:o,disabled:K,highlighted:E,id:v,store:w,nativeButton:l,nodeId:u?.context.nodeId,itemMetadata:x}),O=b.useMemo(()=>({disabled:K,highlighted:E,checked:L}),[K,E,L]),P=(0,h.useRenderElement)("div",a,{state:O,stateAttributesMapping:B,props:[F,{role:"menuitemradio","aria-checked":L,onClick:function(a){H(q,(0,C.createChangeEventDetails)(m.REASONS.itemPress,a.nativeEvent,void 0,{preventUnmountOnClose:p.NOOP}))}},s,M],ref:[N,d,t.ref]});return(0,D.jsx)(aj.Provider,{value:O,children:P})});a.s(["MenuRadioItem",0,ak],221397);let al=b.forwardRef(function(a,d){let{render:e,className:f,style:g,keepMounted:i=!1,...j}=a,k=function(){let a=b.useContext(aj);if(void 0===a)throw Error((0,c.default)(35));return a}(),l=b.useRef(null),{transitionStatus:m,mounted:n,setMounted:o}=(0,F.useTransitionStatus)(k.checked);(0,G.useOpenChangeComplete)({batch:!0,enabled:!k.checked,open:k.checked,ref:l,onComplete(){k.checked||o(!1)}});let p={checked:k.checked,disabled:k.disabled,highlighted:k.highlighted,transitionStatus:m};return(0,h.useRenderElement)("span",a,{state:p,stateAttributesMapping:B,ref:[d,l],props:{"aria-hidden":!0,...j},enabled:i||n})});a.s(["MenuRadioItemIndicator",0,al],486365)},706544,720779,315740,576246,857503,a=>{"use strict";var b=a.i(572131),c=a.i(736069),d=a.i(854401),e=a.i(329275),f=a.i(357738),g=a.i(779549),h=a.i(524715),i=a.i(722050),j=a.i(925123),k=a.i(138939),l=a.i(509301),m=a.i(446355),n=a.i(625903),o=a.i(15406),p=a.i(854662);let q=b.createContext(null);function r(a){let c=b.useContext(q);if(null===c&&!a)throw Error((0,p.default)(5));return c}a.s(["useMenubarContext",0,r],720779);var s=a.i(82204),t=a.i(162903),u=a.i(629752),v=a.i(394552),w=a.i(307436),x=a.i(630479),y=a.i(676459),z=a.i(443125),A=a.i(417498),B=a.i(418383),C=a.i(14239),D=a.i(717017),E=a.i(151943);let F={...D.popupStoreSelectors,disabled:a=>"menubar"===a.parent.type&&a.parent.context.disabled||a.disabled,modal:a=>(void 0===a.parent.type||"context-menu"===a.parent.type)&&(a.modal??!0),openMethod:a=>a.openMethod,allowMouseEnter:a=>a.allowMouseEnter,highlightItemOnHover:a=>a.highlightItemOnHover,parent:a=>a.parent,rootId:a=>"menu"===a.parent.type?a.parent.store.select("rootId"):void 0!==a.parent.type?a.parent.context.rootId:a.rootId,activeIndex:a=>a.activeIndex,isActive:(a,b)=>a.activeIndex===b,hoverEnabled:a=>a.hoverEnabled,instantType:a=>a.instantType,lastOpenChangeReason:a=>a.openChangeReason,floatingTreeRoot:a=>"menu"===a.parent.type?a.parent.store.select("floatingTreeRoot"):a.floatingTreeRoot,floatingNodeId:a=>a.floatingNodeId,floatingParentNodeId:a=>a.floatingParentNodeId,itemProps:a=>a.itemProps,closeDelay:a=>a.closeDelay,adaptiveOrigin:a=>a.adaptiveOrigin,keyboardEventRelay:a=>a.keyboardEventRelay?a.keyboardEventRelay:"menu"===a.parent.type?a.parent.store.select("keyboardEventRelay"):void 0};class G extends A.ReactStore{constructor(a,b,c=!1){const d=new E.PopupTriggerMap;super(I(d,b,c,a),H(d),F),this.unsubscribeParentListener=this.observe("parent",a=>{if(this.unsubscribeParentListener?.(),"menu"===a.type){let b=a.store.select("rootId"),c=a.store.select("floatingTreeRoot"),d=a.store.select("keyboardEventRelay");this.unsubscribeParentListener=a.store.subscribe(()=>{let e=a.store.select("rootId"),f=a.store.select("floatingTreeRoot"),g=a.store.select("keyboardEventRelay");(b!==e||c!==f||d!==g)&&(b=e,c=f,d=g,this.notifyAll())}),this.context.allowMouseUpTriggerRef=a.store.context.allowMouseUpTriggerRef;return}void 0!==a.type&&(this.context.allowMouseUpTriggerRef=a.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(a,b){this.state.floatingRootContext.context.events.emit("setOpen",{open:a,eventDetails:b})}unsubscribeParentListener=null}function H(a){return{positionerRef:b.createRef(),popupRef:b.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:b.createRef(),beforeContentFocusGuardRef:b.createRef(),onOpenChangeComplete:void 0,triggerElements:a}}function I(a,b,c=!1,d){return{...(0,D.createInitialPopupStoreState)(a,b,c),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new B.FloatingTreeStore,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:h.EMPTY_OBJECT,keyboardEventRelay:void 0,closeDelay:0,adaptiveOrigin:void 0,...d}}a.s(["MenuStore",0,G,"createNullMenuStore",0,function(){let a=new E.PopupTriggerMap;return Object.assign(new C.NullStore(Object.freeze(I(a)),Object.freeze(H(a)),F),{setOpen:h.NOOP})}],315740);var J=a.i(284204);let K=b.createContext(void 0);function L(){return b.useContext(K)}a.s(["MenuSubmenuRootContext",0,K,"useMenuSubmenuRootContext",0,L],576246);var M=a.i(187924);let N=(0,i.fastComponent)(function(a){var i,p,q;let A,{children:B,open:C,onOpenChange:D,onOpenChangeComplete:E,defaultOpen:F=!1,disabled:H=!1,modal:I,loopFocus:K=!0,orientation:N="vertical",actionsRef:O,closeParentOnEsc:P=!1,handle:Q,triggerId:R,defaultTriggerId:S=null,highlightItemOnHover:T=!0}=a,U=(0,x.useContextMenuRootContext)(!0),V=(0,o.useMenuRootContext)(!0),W=r(!0),X=L(),Y=b.useMemo(()=>X&&V?{type:"menu",store:V.store}:W?{type:"menubar",context:W}:U&&!V?{type:"context-menu",context:U}:{type:void 0},[U,V,W,X]),Z=(0,e.useId)(),$=(0,e.useId)(),_=(0,j.useFloatingParentNodeId)(),aa="menu"===Y.type?Y.store:void 0,ab=(C??F)&&aa?.state.transitionStatus==="starting",ac=(0,g.useRefWithInit)(()=>ab?aa?.state.instantType:void 0).current,ad=(i={open:F,openProp:C,activeTriggerId:S,triggerIdProp:R,parent:Y,disabled:H,highlightItemOnHover:T,modal:void 0===Y.type?I:void 0,rootId:Z,instantType:ac},p=$,q=null!=_,(0,g.useRefWithInit)(()=>new G(i,p,q)).current);ad.useControlledProp("openProp",C),ad.useControlledProp("triggerIdProp",R),ad.useContextCallback("onOpenChangeComplete",E);let ae=ad.useState("floatingTreeRoot"),af=(0,j.useFloatingNodeId)(ae),ag=ad.useState("open"),ah=ad.useState("activeTriggerElement"),ai=ad.useState("positionerElement"),aj=ad.useState("hoverEnabled"),ak=ad.useState("disabled"),al=ad.useState("lastOpenChangeReason"),am=ad.useState("parent"),an=ad.useState("activeIndex"),ao=ad.useState("payload"),ap=ad.useState("floatingParentNodeId"),aq=b.useRef(null),ar=b.useRef("context-menu"!==am.type),as=(0,c.useTimeout)(),at=b.useRef(!0),au=(0,c.useTimeout)(),av=null!=ap,{openMethod:aw,triggerProps:ax}=(0,u.useOpenInteractionType)(ag);ad.useSyncedValues({disabled:H,highlightItemOnHover:T,modal:void 0===am.type?I:void 0,openMethod:aw,rootId:Z}),(0,J.useImplicitActiveTrigger)(ad);let{forceUnmount:ay,transitionStatus:az}=(0,J.useOpenStateTransitions)(ag,ad,()=>{ad.set("allowMouseEnter",!1)},ab),aA=(0,z.useAnimationsFinished)(ad.context.popupRef);b.useEffect(()=>{if(void 0===ac)return;let a=()=>{ad.state.instantType===ac&&ad.set("instantType",void 0)};if(!ag)return void a();if(void 0!==az)return;if(null==ad.context.popupRef.current)return void a();let b=new AbortController;return aA(a,b.signal),()=>{b.abort()}},[ac,ag,az,aA,ad]),(0,f.useIsoLayoutEffect)(()=>{U&&!V?ad.update({parent:{type:"context-menu",context:U},floatingNodeId:af,floatingParentNodeId:_}):V&&ad.update({floatingNodeId:af,floatingParentNodeId:_})},[U,V,af,_,ad]),b.useEffect(()=>{if(ag||(aq.current=null),"context-menu"===am.type){if(!ag){as.clear(),ar.current=!1;return}as.start(500,()=>{ar.current=!0})}},[as,ag,am.type]),(0,f.useIsoLayoutEffect)(()=>{ag||aj||ad.set("hoverEnabled",!0)},[ag,aj,ad]);let aB=(0,d.useStableCallback)((a,b)=>{let c=b.reason;if(!a&&!ad.select("open")||ag===a&&b.trigger===ah&&al===c)return;let d=(0,J.attachPreventUnmountOnClose)(b);if(a||null!=b.trigger||(b.trigger=ah??void 0),D?.(a,b),b.isCanceled)return;ad.state.floatingRootContext.dispatchOpenChange(a,b);let e=b.event;if(!1===a&&e?.type==="click"&&"touch"===e.pointerType&&!at.current)return;a&&c===w.REASONS.triggerFocus?(at.current=!1,au.start(300,()=>{at.current=!0})):(at.current=!0,au.clear());let f=(c===w.REASONS.triggerPress||c===w.REASONS.itemPress)&&0===e.detail,g=!a&&(c===w.REASONS.escapeKey||null==c);aq.current=b.event;let h=(0,J.createPopupOpenState)(ad.state,a,b.trigger,d());h.openChangeReason=c,"menubar"===am.type&&(c===w.REASONS.triggerFocus||c===w.REASONS.focusOut||c===w.REASONS.triggerHover||c===w.REASONS.listNavigation||c===w.REASONS.siblingOpen)?h.instantType="group":f||g?h.instantType=f?"click":"dismiss":h.instantType=void 0,ad.update(h)}),aC=(0,n.useSyncedFloatingRootContext)({popupStore:ad,floatingRootContext:ad.state.floatingRootContext,floatingId:$,nested:null!=_,onOpenChange:aB}),aD=aC.context.events;(0,f.useIsoLayoutEffect)(()=>{let a=({open:a,eventDetails:b})=>aB(a,b);return aD.on("setOpen",a),()=>{aD?.off("setOpen",a)}},[aD,aB]);let aE=b.useCallback(()=>{ad.setOpen(!1,(0,v.createChangeEventDetails)(w.REASONS.imperativeAction))},[ad]);b.useImperativeHandle(O,()=>({unmount:ay,close:aE}),[ay,aE]),"context-menu"===am.type&&(A=am.context),b.useImperativeHandle(A?.positionerRef,()=>ai,[ai]),b.useImperativeHandle(A?.actionsRef,()=>({setOpen:aB}),[aB]);let aF=(0,k.useDismiss)(aC,{enabled:!ak,bubbles:{escapeKey:P&&"menu"===am.type},outsidePress:()=>"context-menu"!==am.type||aq.current?.type==="contextmenu"||ar.current,externalTree:av?ae:void 0}),aG=(0,t.useDirection)(),aH=b.useCallback(a=>{ad.select("activeIndex")!==a&&ad.set("activeIndex",a)},[ad]),aI=(0,l.useListNavigation)(aC,{enabled:!ak,listRef:ad.context.itemDomElements,activeIndex:an,nested:void 0!==am.type,loopFocus:K,orientation:N,parentOrientation:"menubar"===am.type?am.context.orientation:void 0,rtl:"rtl"===aG,disabledIndices:h.EMPTY_ARRAY,onNavigate:aH,openOnArrowKeyDown:"context-menu"!==am.type,externalTree:av?ae:void 0,focusItemOnHover:T}),aJ=b.useCallback(a=>{ad.context.typingRef.current=a},[ad]),aK=(0,m.useTypeahead)(aC,{enabled:!ak,listRef:ad.context.itemLabels,elementsRef:ad.context.itemDomElements,activeIndex:an,resetMs:s.TYPEAHEAD_RESET_MS,onMatch:a=>{ag&&a!==an&&ad.set("activeIndex",a)},onTyping:aJ}),aL=b.useMemo(()=>{let a=(0,y.mergeProps)(aK.reference,aI.reference,aF.reference,{onMouseMove(){ad.set("allowMouseEnter",!0)}},ax);return a["aria-haspopup"]="menu",a["aria-expanded"]=ag,a},[ad,aK.reference,aI.reference,aF.reference,ax,ag]),aM=b.useMemo(()=>{let a=(0,y.mergeProps)(aI.trigger,aF.trigger,ax);return a["aria-haspopup"]="menu",a["aria-expanded"]=!1,a},[aI.trigger,aF.trigger,ax]);(0,g.useRefWithInit)(()=>(ad.update({inactiveTriggerProps:aM}),null));let aN=b.useMemo(()=>(0,y.mergeProps)(J.FOCUSABLE_POPUP_PROPS,{id:$,role:"menu","aria-orientation":"horizontal"===N?"horizontal":void 0,"aria-labelledby":ah?.id,onMouseMove(){ad.set("allowMouseEnter",!0),"menu"===am.type&&ad.set("hoverEnabled",!1)},onClick(){ad.select("hoverEnabled")&&ad.set("hoverEnabled",!1)},onKeyDown(a){let b=ad.select("keyboardEventRelay");b&&!a.isPropagationStopped()&&b(a)}},aK.floating,aI.floating,aF.floating),[ah,$,N,am.type,ad,aK.floating,aI.floating,aF.floating]),aO=aI.item??h.EMPTY_OBJECT;(0,J.usePopupInteractionProps)(ad,{floatingRootContext:aC,activeTriggerProps:aL,inactiveTriggerProps:aM,popupProps:aN,itemProps:aO});let aP=b.useMemo(()=>({store:ad,parent:Y}),[ad,Y]),aQ=(0,M.jsxs)(o.MenuRootContext.Provider,{value:aP,children:[Q&&(0,M.jsx)(J.PopupHandleAttachment,{handle:Q,store:ad}),"function"==typeof B?B({payload:ao}):B]});return void 0===am.type||"context-menu"===am.type?(0,M.jsx)(j.FloatingTree,{externalTree:ae,children:aQ}):aQ});a.s(["MenuRoot",0,N],706544),a.s(["MenuSubmenuRoot",0,function(a){let c=(0,o.useMenuRootContext)().store,d=b.useMemo(()=>({parentMenu:c}),[c]);return(0,M.jsx)(K.Provider,{value:d,children:(0,M.jsx)(N,{...a})})}],857503)},961892,a=>{"use strict";var b=a.i(744530),c=a.i(151086);a.s(["isMouseWithinBounds",0,function(a,d){let e=function(a){let d=a.getBoundingClientRect(),e=(0,b.ownerWindow)(a);if(c.platform.env.jsdom)return d;let f=e.getComputedStyle(a,"::before"),g=e.getComputedStyle(a,"::after");if("none"===f.content&&"none"===g.content)return d;let h=parseFloat(f.width)||0,i=parseFloat(f.height)||0,j=parseFloat(g.width)||0,k=parseFloat(g.height)||0,l=Math.max(d.width,h,j),m=Math.max(d.height,i,k),n=l-d.width,o=m-d.height;return{left:d.left-n/2,right:d.right+n/2,top:d.top-o/2,bottom:d.bottom+o/2}}(d);return a.clientX>=e.left-5&&a.clientX<=e.right+5&&a.clientY>=e.top-5&&a.clientY<=e.bottom+5}])},763802,a=>{"use strict";var b=a.i(2589);a.s(["CheckIcon",()=>b.default])}];
2
+
3
+ //# sourceMappingURL=_0px9eat._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[986368,a=>{"use strict";let b;var c=a.i(572131),d=a.i(767561);let e=(b=new Set,{emit(a){for(let c of[...b])try{c(a)}catch(a){console.error("event listener failed",a)}},subscribe:a=>(b.add(a),()=>{b.delete(a)})});a.s(["AppEventSource",0,function(){return(0,c.useEffect)(()=>{var a;let b,c,f,g,h;return a=d.queryKey.events,b=null,c=null,f=1e3,g=!1,(h=()=>{let d=new EventSource(a);b=d,d.onopen=()=>{f=1e3},d.onmessage=a=>{let b;try{b=JSON.parse(a.data)}catch{return}e.emit(b)},d.onerror=()=>{g||d.readyState!==EventSource.CLOSED||(d.close(),c&&clearTimeout(c),c=setTimeout(h,f),f=Math.min(2*f,8e3))}})(),()=>{g=!0,c&&clearTimeout(c),b?.close()}},[]),null},"useAppEvent",0,function(a){let b;b=(0,c.useRef)(a),(0,c.useEffect)(()=>{b.current=a}),(0,c.useEffect)(()=>e.subscribe(a=>{let c;return c=b.current[a.type],void c?.(a)}),[e])}],986368)},846991,a=>{"use strict";var b=a.i(187924),c=a.i(572131);let d=null,e=(0,c.lazy)(()=>a.A(70398).then(a=>(d=a.MarkdownBody,a)).then(a=>({default:a.MarkdownBody}))),f=(0,c.memo)(function(a){if(d){let c=d;return(0,b.jsx)(c,{...a})}return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:a.className,style:{whiteSpace:"pre-wrap"},children:a.children}),children:(0,b.jsx)(e,{...a})})});a.s(["Markdown",0,f])},287702,a=>{"use strict";process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),process.env.THURSDAY_HOME?.trim()||process.cwd(),process.env.THURSDAY_URL?.trim()||process.env.PORT?.trim();let b=".ai-workspace",c={workspace:b,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${b}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}};a.s(["APP_NAME",0,"Thursday","ARTIFACT_SKILL",0,"artifact","ARTIFACT_VIEW",0,{rows:200,setFiles:120},"ASCII_FACE",0,{fontSize:8,density:1.4,fps:30},"BOT_ROSTER",0,{max:14},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:8,concurrent:8,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"CALL_BACK",0,{ringMs:3e4},"CALL_END",0,{quietMs:600,unsaidMs:2e3,maxMs:8e3},"CALL_ENDED_MS",0,12e3,"CALL_HISTORY_PAGE",0,10,"CALL_IDLE",0,{hangUpMs:25e3,warnMs:1e4},"CALL_LINE",0,{dwellMs:2e3,lingerMs:2500,relayLingerMs:5e3,thinkingTailMs:6e3},"CALL_PAGE",0,{scrollback:24,saveFailures:3},"CALL_PICTURE",0,{longestSide:1600,qualities:[.8,.6,.45],scales:[1,.75,.5,.35]},"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CREW_REST",0,{awakeMs:4e3},"DRAW_PAD",0,{longestSide:1024},"FILE_THUMB",0,{pageWidth:1024,textWidth:512,textBytes:4096,pages:2,imageWidth:384,cacheSeconds:300},"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HERE",0,{lookMs:3e3,keptMs:18e5,waitMs:3e3,holdMs:2550,globeFps:24,windyKmh:50,stormKmh:90,coastDeg:1.2},"INBOX_POLL_MS",0,3e4,"IS_DEV",0,!1,"KEY_MIN",0,8,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3,instructionsTokens:16384},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PAGE_DRAFTS",0,{perFile:8,chars:1e6},"PAGE_SIZE",0,50,"PATHS",0,c,"PLAN_CALL",0,{delegationBytes:4096,pictureBytes:262144},"PROMPT_CROWDED",0,{bots:10,skills:20},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH_WAIT_MS",0,250,"SKILL_FILES",0,{uploadBytes:0x1400000,inlineBytes:524288,unpackedBytes:0x6400000,archiveEntries:1e3},"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10,chunkMs:12e4},"TRAVEL_SKILL",0,"travel","UPDATE",0,{checkMs:864e5,againMs:6e5,timeoutMs:5e3,quietMs:864e5,waitMs:3e5,pollMs:2e3},"WAKE_TOLERANCE",0,.34,"WORKSPACE_VIEW",0,{rows:200,textMax:524288,autoCloseMs:5e3,elementMax:0x3200000}])},520173,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f93d2b708efeafdbdcc5224b97b42a42d1a662d71",b.callServer,void 0,b.findSourceMapURL,"setSignInBotAction");a.s(["setSignInBotAction",0,c])},483253,a=>{"use strict";let b=[1,3,5,8,13,21,34,55,90],c=[1,1.1,1.25,1.45,1.7,2,2.4,2.9],d=c.length,e=Array(d).fill(0);function f(a,e,f){a.getByteFrequencyData(e);for(let a=0;a<d;a++){let d=0,g=b[a],h=Math.min(b[a+1],e.length);for(let a=g;a<h;a++)d+=e[a];let i=h>g?d/(h-g)/255:0;f[a]=Math.min(1,i*c[a])}return f}a.s(["SPECTRUM_BANDS",0,d,"createAudioTap",0,function(){let a=new Audio;a.autoplay=!0;let b=null,c=null,g=new Uint8Array(0),h=null,i=Array(d).fill(0),j=null,k=new Uint8Array(0),l=null,m=Array(d).fill(0),n=new Uint8Array(512);function o(){if(b&&c)return{context:b,analyser:c};let a=new AudioContext,d=a.createAnalyser();return d.fftSize=512,d.smoothingTimeConstant=.55,g=new Uint8Array(d.frequencyBinCount),a.resume().catch(()=>{}),b=a,c=d,{context:a,analyser:d}}return{element:a,open:o,levels:()=>{var a;return{output:(a=c)?(a.getByteTimeDomainData(n),Math.sqrt(n.reduce((a,b)=>a+((b-128)/128)**2,0)/n.length)):0}},listen(a){if(h?.mediaStream===a)return;h?.disconnect();let b=o();(h=b.context.createMediaStreamSource(a)).connect(b.analyser),b.context.resume()},hear(a){if(l?.mediaStream===a)return;l?.disconnect();let b=o();j||((j=b.context.createAnalyser()).fftSize=512,j.smoothingTimeConstant=.6,k=new Uint8Array(j.frequencyBinCount)),(l=b.context.createMediaStreamSource(a)).connect(j),b.context.resume()},read:()=>c?f(c,g,i):e,readMic:()=>j?f(j,k,m):e}},"createClipTap",0,function(a){let b=new AudioContext,c=b.createAnalyser();c.fftSize=512,c.smoothingTimeConstant=.55;let e=new Uint8Array(c.frequencyBinCount),g=Array(d).fill(0);return b.createMediaElementSource(a).connect(c),c.connect(b.destination),{resume:()=>b.resume().catch(()=>{}),read:()=>f(c,e,g),close:()=>b.close().catch(()=>{})}},"createVoiceFollower",0,function(){let a=Array(d).fill(0),b=Array(d).fill(0),c={level:0,phrase:0,onset:0,bands:Array(d).fill(0)},e=0,f=0,g=1/0,h=(a,b,c,d)=>a+(b-a)*Math.min(1,d/c);return{read(i,j){let k=0,l=0,m=0;for(let e=0;e<d;e++){let d=i[e]??0;k+=d,a[e]=h(a[e],d,d>a[e]?.03:2.5,j),b[e]=h(b[e],d,d<b[e]?.12:3,j);let f=a[e]-b[e],g=f>.12?Math.min(1,Math.max(0,(d-b[e])/f)):0;c.bands[e]=g,f>.12&&(l+=g,m++)}let n=Math.min(1,Math.max(0,(k/d-.06)/.14)),o=n*n*(3-2*n);for(let a=0;a<d;a++)c.bands[a]*=o;return c.level=(m?l/m:0)*o,e=h(e,c.level,.05,j),f=h(f,c.level,.22,j),c.phrase=h(c.phrase,c.level,.45,j),g+=j,c.onset=0,e>f+.1&&e>.3&&g>.12&&(g=0,c.onset=Math.min(1,e)),c}}}])},327598,332033,a=>{"use strict";var b=a.i(164831);let c={name:"arrow-up",size:24,node:[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]};c.node;let d=(0,b.default)(c);a.s(["ArrowUp",0,d],327598);var e=a.i(572131);let f=["ctrl","alt","meta"],g=/^(Control|Alt|Shift|Meta|OS)/,h=/^(input|textarea|select)$/i,i=a=>!!a&&!!(h.test(a.tagName)||a.isContentEditable||a.closest?.("[data-hotkey-capture]")),j=a=>{let b="nativeEvent"in a?a.nativeEvent:a;return b.isComposing||229===b.keyCode},k=[],l=a=>{if("Escape"!==a.key||a.defaultPrevented||j(a))return;let b=k.at(-1);b&&(a.preventDefault(),b.current())};function m(a){let{code:b,ctrlKey:c,altKey:d,shiftKey:e,metaKey:f}=a;if(!b||g.test(b)||!c&&!d&&!f)return null;let h=[];return c&&h.push("ctrl"),d&&h.push("alt"),e&&h.push("shift"),f&&h.push("meta"),[...h,b].join("+")}let n={ctrl:["Ctrl","⌃"],alt:["Alt","⌥"],shift:["Shift","⇧"],meta:["Meta","⌘"]};function o(a,b=!1){let c=a.split("+"),d=c.at(-1)??"",e=c.slice(0,-1).map(a=>n[a]?.[+!!b]??a),f=d.replace(/^(Key|Digit|Numpad)/,"").replace(/([a-z])([A-Z])/g,"$1 $2")||d;return b?[...e,f].join(""):[...e,f].join(" + ")}a.s(["HOTKEY_CAPTURE",0,{"data-hotkey-capture":""},"capturesKeys",0,i,"comboOf",0,m,"composing",0,j,"isCombo",0,a=>{let b=a.split("+"),c=b.at(-1);return!!(c&&!g.test(c)&&b.slice(0,-1).some(a=>f.includes(a)))},"typed",0,(a,b)=>a.key===b&&!a.metaKey&&(a.altKey||!a.ctrlKey),"useCommandLabel",0,function(a,b=!1){let[c,d]=(0,e.useState)(!1);return(0,e.useEffect)(()=>d(/mac/i.test(navigator.userAgent)),[]),o([...(c?["shift","meta"]:["ctrl","shift"]).filter(a=>b||"shift"!==a),a].join("+"),c)},"useEscape",0,function(a,b){let c=(0,e.useRef)(b);c.current=b,(0,e.useEffect)(()=>{if(a)return k.push(c),1===k.length&&window.addEventListener("keydown",l),()=>{k.splice(k.indexOf(c),1),k.length||window.removeEventListener("keydown",l)}},[a])},"useHotkey",0,function({enabled:a,combo:b,onPress:c}){let d=(0,e.useRef)(c);d.current=c,(0,e.useEffect)(()=>{if(!a||!b)return;let c=a=>{a.repeat||i(a.target)||m(a)===b&&(a.preventDefault(),d.current())};return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[a,b])},"useHotkeyLabel",0,function(a){let[b,c]=(0,e.useState)(!1);return(0,e.useEffect)(()=>c(/mac/i.test(navigator.userAgent)),[]),a?o(a,b):null},"windowKey",0,a=>!a.defaultPrevented&&!j(a)&&!i(a.target)&&!a.target?.closest?.('[role="dialog"]')],332033)},707963,a=>{"use strict";var b=a.i(164831);let c={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};c.node;let d=(0,b.default)(c);a.s(["ChevronLeft",0,d],707963)},168370,a=>{"use strict";var b=a.i(164831);let c={name:"external-link",size:24,node:[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]};c.node;let d=(0,b.default)(c);a.s(["ExternalLink",0,d],168370)},483138,a=>{"use strict";var b=a.i(164831);let c={name:"file-text",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]};c.node;let d=(0,b.default)(c);a.s(["FileText",0,d],483138)},998697,a=>{"use strict";var b=a.i(164831);let c={name:"file",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]};c.node;let d=(0,b.default)(c);a.s(["File",0,d],998697)},875160,a=>{"use strict";var b=a.i(702918);a.s(["Loader2",()=>b.default])}];
2
+
3
+ //# sourceMappingURL=_0r2_l__._.js.map
@@ -36,6 +36,6 @@ module.exports=[704974,a=>{"use strict";var b=a.i(187924),c=a.i(497895);a.s(["Sw
36
36
 
37
37
  **Ground every claim.** Competitors, prices, search terms and what people say about the problem come from pages you opened, with the link beside them. What you could not check is marked as a guess.
38
38
 
39
- **What you keep.** How they write and sign off, who they write to and how, one brief per product — dated, so the next job starts from it.`}];a.s(["BOT_SEEDS",0,g,"ERRANDS_BOT",0,f,"findBotSeed",0,a=>g.find(b=>b.name===a)??null])},714077,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f5b00b378bd4c60731cb2f0034c0bbf28bae510ab",b.callServer,void 0,b.findSourceMapURL,"createSeedBotsAction");a.s(["createSeedBotsAction",0,c])}];
39
+ **What you keep.** How they write and sign off, who they write to and how, one brief per product — dated, so the next job starts from it.`}];a.s(["BOT_SEEDS",0,g,"ERRANDS_BOT",0,f,"findBotSeed",0,a=>g.find(b=>b.name===a)??null])},133036,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f832efb4e3f635af348a2db832f178b760cba2c95",b.callServer,void 0,b.findSourceMapURL,"createSeedBotsAction");a.s(["createSeedBotsAction",0,c])},307773,(a,b,c)=>{"use strict";function d(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"encodeURIPath",{enumerable:!0,get:function(){return d}})},441997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},132245,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=a.r(441997);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},297458,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=a.r(187924),e=a.r(935112),f=a.r(556704),g=a.r(307773),h=a.r(68063);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let j=(0,h.getAssetTokenQuery)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${j}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},969853,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return j}});let d=a.r(187924),e=a.r(572131),f=a.r(132245),g=a.r(297458);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},819721,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return e}});let d=a.r(833354)._(a.r(969853));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)}];
40
40
 
41
- //# sourceMappingURL=_20_wc-g._.js.map
41
+ //# sourceMappingURL=_0rcuovx._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[986368,a=>{"use strict";let b;var c=a.i(572131),d=a.i(767561);let e=(b=new Set,{emit(a){for(let c of[...b])try{c(a)}catch(a){console.error("event listener failed",a)}},subscribe:a=>(b.add(a),()=>{b.delete(a)})});a.s(["AppEventSource",0,function(){return(0,c.useEffect)(()=>{var a;let b,c,f,g,h;return a=d.queryKey.events,b=null,c=null,f=1e3,g=!1,(h=()=>{let d=new EventSource(a);b=d,d.onopen=()=>{f=1e3},d.onmessage=a=>{let b;try{b=JSON.parse(a.data)}catch{return}e.emit(b)},d.onerror=()=>{g||d.readyState!==EventSource.CLOSED||(d.close(),c&&clearTimeout(c),c=setTimeout(h,f),f=Math.min(2*f,8e3))}})(),()=>{g=!0,c&&clearTimeout(c),b?.close()}},[]),null},"useAppEvent",0,function(a){let b;b=(0,c.useRef)(a),(0,c.useEffect)(()=>{b.current=a}),(0,c.useEffect)(()=>e.subscribe(a=>{let c;return c=b.current[a.type],void c?.(a)}),[e])}],986368)},846991,a=>{"use strict";var b=a.i(187924),c=a.i(572131);let d=null,e=(0,c.lazy)(()=>a.A(70398).then(a=>(d=a.MarkdownBody,a)).then(a=>({default:a.MarkdownBody}))),f=(0,c.memo)(function(a){if(d){let c=d;return(0,b.jsx)(c,{...a})}return(0,b.jsx)(c.Suspense,{fallback:(0,b.jsx)("div",{className:a.className,style:{whiteSpace:"pre-wrap"},children:a.children}),children:(0,b.jsx)(e,{...a})})});a.s(["Markdown",0,f])},287702,a=>{"use strict";process.env.THURSDAY_APP_DIR?.trim()||process.cwd(),process.env.THURSDAY_HOME?.trim()||process.cwd(),process.env.THURSDAY_URL?.trim()||process.env.PORT?.trim();let b=".ai-workspace",c={workspace:b,artifacts:"artifacts",projects:"projects",scratch:"scratch",bots:"bots",output:".output",signIns:".sign-ins",skills:{default:"skills",custom:`${b}/.agents/skills`,own:".agents/skills",runtime:"runtime",seeds:"seed-skills"}};a.s(["APP_NAME",0,"Thursday","ARTIFACT_SKILL",0,"artifact","ARTIFACT_VIEW",0,{rows:200,setFiles:120},"ASCII_FACE",0,{fontSize:8,density:1.4,fps:30},"BOT_ROSTER",0,{max:14},"BOT_RUN",0,{steps:100,compactAt:5e5,compactHeadroom:.8,summaryWords:{min:600,max:3e3,perTokens:200},participants:8,concurrent:8,turns:120,queuedMessages:200,silenceMs:3e5,overflowShrink:.6,retryMs:1e4,compactFiles:40},"CALL_BACK",0,{ringMs:3e4},"CALL_END",0,{quietMs:600,unsaidMs:2e3,maxMs:8e3},"CALL_ENDED_MS",0,12e3,"CALL_HISTORY_PAGE",0,10,"CALL_IDLE",0,{hangUpMs:25e3,warnMs:1e4},"CALL_LINE",0,{dwellMs:2e3,lingerMs:2500,relayLingerMs:5e3,thinkingTailMs:6e3},"CALL_PAGE",0,{scrollback:24,saveFailures:3},"CALL_PICTURE",0,{longestSide:1600,qualities:[.8,.6,.45],scales:[1,.75,.5,.35]},"CALL_RELAY",0,{quietMs:2e3,perTurn:3,readMs:15e3,chars:600},"CHATGPT_SIGN_IN",0,{waitMs:6e5,renewBeforeMs:3e5},"COMMON_VALIDATE",0,{name:{max:16},shortDescription:{max:60},description:{max:100},prompt:{max:4e3}},"CREW_REST",0,{awakeMs:4e3},"DRAW_PAD",0,{longestSide:1024},"FILE_THUMB",0,{pageWidth:1024,textWidth:512,textBytes:4096,pages:2,imageWidth:384,cacheSeconds:300},"FINISHED_NOTICE",0,{rows:5,shown:1,words:240},"GIVEN_FILES",0,{dir:"inbox",maxBytes:0x1900000,perMessage:8},"HERE",0,{lookMs:3e3,keptMs:18e5,waitMs:3e3,holdMs:2550,globeFps:24,windyKmh:50,stormKmh:90,coastDeg:1.2},"INBOX_POLL_MS",0,3e4,"IS_DEV",0,!1,"KEY_MIN",0,8,"LIVE_CALL",0,{startupMs:3e4,closeMs:15e3,transcriptGapMs:1500,transcriptSaveMs:500,appendMs:15e3,backendOutputTokens:4096,reasoningCheckMs:5e3,keyCheckMs:5e3,openingHoldMs:3e3,instructionsTokens:16384},"MARKETING_SKILL",0,"marketing","MAX_PINNED_TOOLS",0,10,"MEMORY_LIMITS",0,{facts:400,factsPerNote:50,descriptionChars:100},"PAGE_DRAFTS",0,{perFile:8,chars:1e6},"PAGE_SIZE",0,50,"PATHS",0,c,"PLAN_CALL",0,{delegationBytes:4096,pictureBytes:262144},"PROMPT_CROWDED",0,{bots:10,skills:20},"ROUTINE",0,{tickMs:3e4,max:12,minHours:1,runsShown:5},"SEARCH_WAIT_MS",0,250,"SKILL_FILES",0,{uploadBytes:0x1400000,inlineBytes:524288,unpackedBytes:0x6400000,archiveEntries:1e3},"STUDIO_SERVER",0,"studio","TEXT_CALL",0,{maxSteps:12,model:"text",autoTurns:10,chunkMs:12e4},"TRAVEL_SKILL",0,"travel","UPDATE",0,{checkMs:864e5,againMs:6e5,timeoutMs:5e3,quietMs:864e5,waitMs:3e5,pollMs:2e3},"WAKE_TOLERANCE",0,.34,"WORKSPACE_VIEW",0,{rows:200,textMax:524288,autoCloseMs:5e3,elementMax:0x3200000}])},520173,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f93d2b708efeafdbdcc5224b97b42a42d1a662d71",b.callServer,void 0,b.findSourceMapURL,"setSignInBotAction");a.s(["setSignInBotAction",0,c])},483253,a=>{"use strict";let b=[1,3,5,8,13,21,34,55,90],c=[1,1.1,1.25,1.45,1.7,2,2.4,2.9],d=c.length,e=Array(d).fill(0);function f(a,e,f){a.getByteFrequencyData(e);for(let a=0;a<d;a++){let d=0,g=b[a],h=Math.min(b[a+1],e.length);for(let a=g;a<h;a++)d+=e[a];let i=h>g?d/(h-g)/255:0;f[a]=Math.min(1,i*c[a])}return f}a.s(["SPECTRUM_BANDS",0,d,"createAudioTap",0,function(){let a=new Audio;a.autoplay=!0;let b=null,c=null,g=new Uint8Array(0),h=null,i=Array(d).fill(0),j=null,k=new Uint8Array(0),l=null,m=Array(d).fill(0),n=new Uint8Array(512);function o(){if(b&&c)return{context:b,analyser:c};let a=new AudioContext,d=a.createAnalyser();return d.fftSize=512,d.smoothingTimeConstant=.55,g=new Uint8Array(d.frequencyBinCount),a.resume().catch(()=>{}),b=a,c=d,{context:a,analyser:d}}return{element:a,open:o,levels:()=>{var a;return{output:(a=c)?(a.getByteTimeDomainData(n),Math.sqrt(n.reduce((a,b)=>a+((b-128)/128)**2,0)/n.length)):0}},listen(a){if(h?.mediaStream===a)return;h?.disconnect();let b=o();(h=b.context.createMediaStreamSource(a)).connect(b.analyser),b.context.resume()},hear(a){if(l?.mediaStream===a)return;l?.disconnect();let b=o();j||((j=b.context.createAnalyser()).fftSize=512,j.smoothingTimeConstant=.6,k=new Uint8Array(j.frequencyBinCount)),(l=b.context.createMediaStreamSource(a)).connect(j),b.context.resume()},read:()=>c?f(c,g,i):e,readMic:()=>j?f(j,k,m):e}},"createClipTap",0,function(a){let b=new AudioContext,c=b.createAnalyser();c.fftSize=512,c.smoothingTimeConstant=.55;let e=new Uint8Array(c.frequencyBinCount),g=Array(d).fill(0);return b.createMediaElementSource(a).connect(c),c.connect(b.destination),{resume:()=>b.resume().catch(()=>{}),read:()=>f(c,e,g),close:()=>b.close().catch(()=>{})}},"createVoiceFollower",0,function(){let a=Array(d).fill(0),b=Array(d).fill(0),c={level:0,phrase:0,onset:0,bands:Array(d).fill(0)},e=0,f=0,g=1/0,h=(a,b,c,d)=>a+(b-a)*Math.min(1,d/c);return{read(i,j){let k=0,l=0,m=0;for(let e=0;e<d;e++){let d=i[e]??0;k+=d,a[e]=h(a[e],d,d>a[e]?.03:2.5,j),b[e]=h(b[e],d,d<b[e]?.12:3,j);let f=a[e]-b[e],g=f>.12?Math.min(1,Math.max(0,(d-b[e])/f)):0;c.bands[e]=g,f>.12&&(l+=g,m++)}let n=Math.min(1,Math.max(0,(k/d-.06)/.14)),o=n*n*(3-2*n);for(let a=0;a<d;a++)c.bands[a]*=o;return c.level=(m?l/m:0)*o,e=h(e,c.level,.05,j),f=h(f,c.level,.22,j),c.phrase=h(c.phrase,c.level,.45,j),g+=j,c.onset=0,e>f+.1&&e>.3&&g>.12&&(g=0,c.onset=Math.min(1,e)),c}}}])},327598,332033,a=>{"use strict";var b=a.i(164831);let c={name:"arrow-up",size:24,node:[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]};c.node;let d=(0,b.default)(c);a.s(["ArrowUp",0,d],327598);var e=a.i(572131);let f=["ctrl","alt","meta"],g=/^(Control|Alt|Shift|Meta|OS)/,h=/^(input|textarea|select)$/i,i=a=>!!a&&!!(h.test(a.tagName)||a.isContentEditable||a.closest?.("[data-hotkey-capture]")),j=a=>{let b="nativeEvent"in a?a.nativeEvent:a;return b.isComposing||229===b.keyCode},k=[],l=a=>{if("Escape"!==a.key||a.defaultPrevented||j(a))return;let b=k.at(-1);b&&(a.preventDefault(),b.current())};function m(a){let{code:b,ctrlKey:c,altKey:d,shiftKey:e,metaKey:f}=a;if(!b||g.test(b)||!c&&!d&&!f)return null;let h=[];return c&&h.push("ctrl"),d&&h.push("alt"),e&&h.push("shift"),f&&h.push("meta"),[...h,b].join("+")}let n={ctrl:["Ctrl","⌃"],alt:["Alt","⌥"],shift:["Shift","⇧"],meta:["Meta","⌘"]};function o(a,b=!1){let c=a.split("+"),d=c.at(-1)??"",e=c.slice(0,-1).map(a=>n[a]?.[+!!b]??a),f=d.replace(/^(Key|Digit|Numpad)/,"").replace(/([a-z])([A-Z])/g,"$1 $2")||d;return b?[...e,f].join(""):[...e,f].join(" + ")}a.s(["HOTKEY_CAPTURE",0,{"data-hotkey-capture":""},"capturesKeys",0,i,"comboOf",0,m,"composing",0,j,"isCombo",0,a=>{let b=a.split("+"),c=b.at(-1);return!!(c&&!g.test(c)&&b.slice(0,-1).some(a=>f.includes(a)))},"typed",0,(a,b)=>a.key===b&&!a.metaKey&&(a.altKey||!a.ctrlKey),"useCommandLabel",0,function(a,b=!1){let[c,d]=(0,e.useState)(!1);return(0,e.useEffect)(()=>d(/mac/i.test(navigator.userAgent)),[]),o([...(c?["shift","meta"]:["ctrl","shift"]).filter(a=>b||"shift"!==a),a].join("+"),c)},"useEscape",0,function(a,b){let c=(0,e.useRef)(b);c.current=b,(0,e.useEffect)(()=>{if(a)return k.push(c),1===k.length&&window.addEventListener("keydown",l),()=>{k.splice(k.indexOf(c),1),k.length||window.removeEventListener("keydown",l)}},[a])},"useHotkey",0,function({enabled:a,combo:b,onPress:c}){let d=(0,e.useRef)(c);d.current=c,(0,e.useEffect)(()=>{if(!a||!b)return;let c=a=>{a.repeat||i(a.target)||m(a)===b&&(a.preventDefault(),d.current())};return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[a,b])},"useHotkeyLabel",0,function(a){let[b,c]=(0,e.useState)(!1);return(0,e.useEffect)(()=>c(/mac/i.test(navigator.userAgent)),[]),a?o(a,b):null},"windowKey",0,a=>!a.defaultPrevented&&!j(a)&&!i(a.target)&&!a.target?.closest?.('[role="dialog"]')],332033)},707963,a=>{"use strict";var b=a.i(164831);let c={name:"chevron-left",size:24,node:[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]};c.node;let d=(0,b.default)(c);a.s(["ChevronLeft",0,d],707963)},168370,a=>{"use strict";var b=a.i(164831);let c={name:"external-link",size:24,node:[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]};c.node;let d=(0,b.default)(c);a.s(["ExternalLink",0,d],168370)},483138,a=>{"use strict";var b=a.i(164831);let c={name:"file-text",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]};c.node;let d=(0,b.default)(c);a.s(["FileText",0,d],483138)},998697,a=>{"use strict";var b=a.i(164831);let c={name:"file",size:24,node:[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]};c.node;let d=(0,b.default)(c);a.s(["File",0,d],998697)},875160,a=>{"use strict";var b=a.i(702918);a.s(["Loader2",()=>b.default])}];
2
+
3
+ //# sourceMappingURL=_0uwhhcs._.js.map
@@ -74,4 +74,4 @@ ${h(c.text)}${d}`,relayIds:a.filter(a=>a.messageId===c.id).map(a=>a.id),threadId
74
74
  ${d}`,relayIds:n.map(a=>a.id),threadId:e.id,text:c,show:m(e.bot,"stopped"===a?`${e.bot} stopped`:`${e.bot} finished`)});continue}for(let a of n)b.push({rank:g.progress,key:`progress:${a.id}`,kind:"progress",line:`${l(a.bot,a.kind)}
75
75
  ${h(a.text)}`,relayIds:[a.id],threadId:e.id,text:a.text,show:m(a.bot,`${a.bot} ${f[a.kind]}`)})}return b.sort((a,b)=>a.rank-b.rank)},"questionKey",0,i])},143699,a=>a.a(async(b,c)=>{try{var d=a.i(912714),e=a.i(47919),f=a.i(794219),g=a.i(148016),h=a.i(569572),i=a.i(552556),j=a.i(738131),k=a.i(875931),l=a.i(689656),m=a.i(61514),n=a.i(614747),o=a.i(467650),p=a.i(762008),q=a.i(688034),r=a.i(725466),s=a.i(684321),t=a.i(69721),u=a.i(176668);a.i(422842);var v=a.i(293480),w=a.i(182248),x=a.i(569549),y=a.i(3894),z=a.i(626550),A=b([j,k,m,n,r,x]);async function B(){let a=await Promise.all(y.TEXT_CALL_PROVIDERS.map(async a=>await (0,r.readConfig)(a.apiKeyName)?a.apiKeyName:null));return(0,y.textCallRunsOn)(b=>a.includes(b))}async function C(a,b){if(b)return b;let c=await B();return c||(0,v.publicError)(S),{provider:c,model:a.backendModel}}async function D(a,b){if("chatgpt"!==a.provider||!(0,k.isPlanSpent)(b)||!await (0,r.readConfig)(i.LIVE_PROVIDER.apiKeyName))return null;let c=(await (0,x.readLiveSettings)()).backendModel,d=l.TEXT_MODEL_PROVIDERS.openai.suggestModels.find(a=>a.id===c)?.label??c,e=b instanceof Error?b.message:String(b);return{ref:{provider:"openai",model:c},why:e,line:`${e} Answering on your OpenAI key (${d}) until it resets.`}}async function E(a){if(!(0,k.isPlanSpent)(a))return a;let b=a instanceof Error?a.message:String(a);return new v.PublicError(await (0,r.readConfig)(i.LIVE_PROVIDER.apiKeyName)?`${b} Write again and she answers on your OpenAI key.`:`${b} With an OpenAI key in Settings › API keys, she answers on it until then.`)}async function F(a){let b=await C(await (0,x.readLiveSettings)(),a),[c,d]=await Promise.all([(0,x.insertCall)({provider:b.provider,model:h.TEXT_CALL.model,backendModel:b.model}),(0,m.loadCallStanding)()]);return{callId:c,standing:d}}[j,k,m,n,r,x]=A.then?(await A)():A,f.object({callId:f.string().min(1),standing:f.string().nullish(),runsOn:l.textModelRefSchema.nullish(),turn:f.string().min(1),messages:f.array(f.unknown()).min(1),where:f.unknown().optional()});let K=globalThis.__textCallTurns??=new Map,L="workspace:",M=a=>({type:"file",mediaType:(0,s.mimeOf)(a),filename:a,data:{type:"url",url:new URL(`${L}${encodeURIComponent(a)}`)}}),N=a=>{let b=a.data,c=b instanceof URL?b:b?.type==="url"?b.url:null;return c instanceof URL&&c.protocol===L?decodeURIComponent(c.pathname):null},O=(a,b)=>b?.length?[{type:"text",text:a},...b.map(M)]:a;g.queryKey.file("");let P=new WeakMap,Q=a=>a.map(a=>P.get(a)??a);async function G(a,b,c){if(b)return{missed:`${a} is a picture, and ${b} cannot see pictures, so it was not sent to you.`};let e=await (0,o.checkPicture)(a);if("missing"in e)return{missed:`There is no file at ${a} in the workspace, so no picture was sent to you.`};if("notPicture"in e)return{missed:`${a} is not a png, jpg, webp or gif, so it was not sent to you as a picture.`};if("tooBig"in e)return{missed:`${(0,o.tooBigToSee)(a,e.tooBig)} It was not sent to you.`};if(e.bytes>c)return{missed:`${a} is a picture not sent with this message: the pictures after it fill the ${(0,w.formatBytes)(h.LOOK.perRequest)} one message to you carries. Look at it with look_at to see it.`};let f=await (0,d.readFile)(e.full).catch(()=>null);return f?{data:f.toString("base64"),mediaType:e.mediaType,bytes:f.length}:{missed:`${a} could not be read, so no picture was sent to you.`}}async function H(a,b){let c=(0,k.seesToolImages)(b)?null:b.model,d=h.LOOK.perRequest-a.reduce((a,b)=>a+function(a){if("user"!==a.role||"string"==typeof a.content)return 0;let b=0;for(let c of a.content){if("file"!==c.type)continue;let a=c.data,d=a?.type==="data"?a.data:a;"string"==typeof d?b+=Math.floor(3*d.length/4):(d instanceof Uint8Array||d instanceof ArrayBuffer)&&(b+=d.byteLength)}return b}(b),0),e=[...a];for(let a=e.length-1;a>=0;a-=1){let b=e[a];if("user"!==b.role||"string"==typeof b.content||!b.content.some(a=>"file"===a.type&&null!==N(a)))continue;let f=[];for(let a of[...b.content].reverse()){let b="file"===a.type?N(a):null;if(!b){f.unshift(a);continue}let e=await G(b,c,d);if("missed"in e){f.unshift({type:"text",text:e.missed});continue}d-=e.bytes,f.unshift({type:"text",text:`${b}, as an image:`},{type:"file",mediaType:e.mediaType,data:{type:"data",data:e.data}})}let g={role:"user",content:f};P.set(g,b),e[a]=g}return e}async function I(a){var b;let c,d,{callId:f,standing:g,messages:i,said:j,signal:k}=a,[l,m]=await Promise.all([J(f,null,!0),(0,x.nextTurnSeq)(f)]);null!==j&&await (0,x.saveTurns)(f,[{id:crypto.randomUUID(),role:"user",text:j,seq:m}]);let n=(b=f,c=null===j?m:m+1,{step:async a=>{for(let d of a.content)if("tool-call"===d.type){let e=a.content.find(a=>"tool-result"===a.type&&a.toolCallId===d.toolCallId);await (0,x.saveTurns)(b,[{id:d.toolCallId,role:"tool",tool:d.toolName,text:d.toolName===p.TOOL_NAMES.web_search?function(a,b){let c=b??{},d=[(a??{}).query,c.action?.query].find(a=>"string"==typeof a&&!!a.trim()),e=Array.isArray(c.sources)?c.sources.flatMap(a=>a&&"object"==typeof a&&"url"in a&&"string"==typeof a.url?[{url:a.url,..."title"in a&&"string"==typeof a.title?{title:a.title}:{}}]:[]):[];return JSON.stringify({query:d??null,sources:e})}(d.input,e?.type==="tool-result"?e.output:null):JSON.stringify(d.input??{}),seq:c++}])}else"text"===d.type&&d.text.trim()?await (0,x.saveTurns)(b,[{id:crypto.randomUUID(),role:"assistant",text:d.text.trim(),seq:c++}]):"reasoning"===d.type&&d.text.trim()&&await (0,x.saveThought)(b,{id:crypto.randomUUID(),text:d.text.trim(),seq:c})},said:(a,d=crypto.randomUUID())=>(0,x.saveTurns)(b,[{id:d,role:"user",text:a,seq:c++}])}),o=R(g),q=i.at(-1),r=a.pictures?.length&&q?.role==="user"&&"string"==typeof q.content?[...i.slice(0,-1),{role:"user",content:O(q.content,a.pictures)}]:i,s=[...o,...r],t=0,v=async b=>(0,e.generateText)({model:b.model,instructions:b.system,messages:await H(Q(s),b.ref),allowSystemInMessages:!0,tools:b.tools,providerOptions:b.providerOptions,stopWhen:(0,e.stepCountIs)(h.TEXT_CALL.maxSteps),abortSignal:k,prepareStep:async({stepNumber:c,messages:d})=>{let e=c>0?a.notes?.()??[]:[];for(let a of(s=[...d,...e.map(a=>({role:"user",content:O(a.text,a.pictures)}))],e))a.said&&await n.said(a.text);return e.length?{messages:await H(s,b.ref)}:void 0},onStepEnd:async a=>{t+=1,await n.step(a)}}),w=null;try{d=await v(l)}catch(b){let a=t?null:await D(l.ref,b);if(!a)throw await E(b);u.logger.info(`text call ${f}: ${a.line}`),w=a.line;try{d=await v(await J(f,a.ref,!0))}catch(a){throw await E(a)}}return{text:d.text.trim(),did:d.steps.flatMap(a=>a.toolCalls.map(a=>(0,z.toolLine)(a.toolName,JSON.stringify(a.input??{}))??a.toolName)),messages:Q([...s.slice(o.length),...d.steps.at(-1)?.response.messages??[]]),moved:w}}let R=a=>a?[{role:"system",content:a}]:[];async function J(a,b,c=!1,d){let e=await (0,x.readLiveSettings)(),f=await C(e,b),g="openai"===f.provider||"chatgpt"===f.provider,[h,l,m,o,s]=await Promise.all([(0,k.getTextModel)(f),(0,n.loadThursdayPrompt)({backendPrompt:e.backendPrompt,written:!0,callId:a,phone:c,persona:e.persona,stylePrompt:e.stylePrompt,readSkills:e.readSkills,where:d}),(0,j.loadTools)({target:"thursday",callId:a,webSearch:e.webSearch,readSkills:e.readSkills,written:!0,model:f,phone:c}),(0,r.readConfig)(q.EXA_API_KEY),(0,r.readConfig)(i.LIVE_PROVIDER.apiKeyName)]),u=h.searchTools&&Object.values(h.searchTools)[0],v={...m,...e.webSearch&&!o&&u?{[p.TOOL_NAMES.web_search]:u}:{}},w=g?s?await (0,t.acceptedReasoning)({apiKey:s,model:f.model,effort:e.reasoningEffort}):(0,t.wantedReasoning)(e.reasoningEffort):null;return{ref:f,model:h.model,system:l,tools:v,providerOptions:{openai:{...w?.effort?{reasoningEffort:w.effort}:{},...w&&"summary"in w&&w.summary?{reasoningSummary:w.summary}:{}}}}}let S="Writing to Thursday needs a GPT subscription sign-in or an OpenAI key — Settings › API keys.";a.s(["answerInWriting",0,I,"openTextCall",0,F,"readWhere",0,function(a){if(null==a)return null;let b=y.WhereSchema.safeParse(a);return b.success?b.data:(u.logger.warn(`The call goes on without where the user is: ${b.error.issues[0]?.message}`),null)},"tellTextCall",0,function(a,b,c){let d=K.get(b);return!!d&&d.callId===a&&(d.notes.push(c),!0)}]),c()}catch(a){c(a)}},!1),69721,a=>{"use strict";var b=a.i(794219),c=a.i(569572),d=a.i(176668),e=a.i(293480),f=a.i(746609);let g=b.object({session:b.object({id:b.string().min(1)}),transport:b.object({type:b.literal("webrtc"),sdp:b.string().min(1)})}),h=new Map;function i(a){return"none"===a?{effort:a}:{...a?{effort:a}:{},summary:"auto"}}async function j(a){let{apiKey:b,model:e,effort:f}=a,g=`${e} ${f??"auto"}`,j=h.get(g);if(void 0!==j)return j;let k=i(f);for(;;){let a=await fetch("https://api.openai.com/v1/responses/input_tokens",{method:"POST",headers:{Authorization:`Bearer ${b}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(c.LIVE_CALL.reasoningCheckMs),body:JSON.stringify({model:e,input:".",reasoning:k})}).catch(()=>null);if(!a)return k;let f=Object.keys(k).length?k:null;if(a.ok)return h.set(g,f),f;let i=await a.json().catch(()=>null),j=i?.error?.param?.replace(/^reasoning\./,"");if("effort"!==j&&"summary"!==j||!(j in k))return k;if(d.logger.warn(`${e} takes no reasoning ${j}; calls omit it`),delete k[j],!Object.keys(k).length)return h.set(g,null),null}}async function k(a){let b=await fetch("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${a}`},signal:AbortSignal.timeout(c.LIVE_CALL.keyCheckMs)}).catch(()=>null);if(!b||401!==b.status&&403!==b.status)return null;let d=await b.json().catch(()=>null);return d?.error?.message?.trim()||`It answered ${b.status}.`}async function l(a){let b,h=await fetch("https://api.openai.com/v1/live/sessions",{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"Content-Type":"application/json"},signal:AbortSignal.timeout(c.LIVE_CALL.startupMs),body:JSON.stringify({session:{model:f.LIVE_MODEL,instructions:a.instructions,audio:{output:{voice:a.voice}},store:!1,delegation:{type:"responses",responses:{model:a.backend.model,instructions:a.backend.instructions,tools:[...a.backend.tools.map(a=>({type:"function",...a})),...a.backend.hosted.map(a=>f.LIVE_HOSTED_TOOLS[a].declare)],tool_choice:"auto",parallel_tool_calls:!0,max_output_tokens:c.LIVE_CALL.backendOutputTokens,...a.backend.reasoning?{reasoning:a.backend.reasoning}:{}}}},transport:{type:"webrtc",sdp:a.sdp}})}).catch(a=>{d.logger.warn("OpenAI Live unreachable",a),(0,e.publicError)("Could not reach OpenAI Live.")}),i=await h.text();try{b=JSON.parse(i)}catch{b=null}if(!h.ok){let a=b;(0,e.publicError)(a?.error?.message||i||`OpenAI Live refused the call (${h.status}).`)}let j=g.safeParse(b);return j.success||(0,e.publicError)("OpenAI Live returned an invalid session connection."),j.data}a.s(["acceptedReasoning",0,j,"createLiveCall",0,l,"keyRefusal",0,k,"wantedReasoning",0,i])}];
76
76
 
77
- //# sourceMappingURL=_1wct0tm._.js.map
77
+ //# sourceMappingURL=_128r03g._.js.map