thursday-agent 0.28.0 → 0.30.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 (528) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +6 -0
  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.js.nft.json +1 -1
  13. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/_not-found.html +1 -1
  15. package/.next/server/app/_not-found.rsc +3 -3
  16. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  18. package/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  19. package/.next/server/app/api/artifact/route.js +13 -14
  20. package/.next/server/app/api/artifact/route.js.nft.json +1 -1
  21. package/.next/server/app/api/bot/memory/files/route.js +11 -6
  22. package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
  23. package/.next/server/app/api/bot/memory/route.js +11 -11
  24. package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bot/route.js +11 -11
  26. package/.next/server/app/api/bot/route.js.nft.json +1 -1
  27. package/.next/server/app/api/bot/thread/file/route.js +19 -19
  28. package/.next/server/app/api/bot/thread/file/route.js.nft.json +1 -1
  29. package/.next/server/app/api/bot/thread/lessons/route/app-paths-manifest.json +3 -0
  30. package/.next/server/app/api/bot/thread/lessons/route/build-manifest.json +12 -0
  31. package/.next/server/app/api/bot/thread/lessons/route/server-reference-manifest.json +4 -0
  32. package/.next/server/app/api/bot/thread/lessons/route.js +18 -0
  33. package/.next/server/app/api/bot/thread/lessons/route.js.map +5 -0
  34. package/.next/server/app/api/bot/thread/lessons/route.js.nft.json +1 -0
  35. package/.next/server/app/api/bot/thread/lessons/route_client-reference-manifest.js +3 -0
  36. package/.next/server/app/api/bot/thread/route.js +8 -9
  37. package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
  38. package/.next/server/app/api/bot/tool-result/[id]/route.js +10 -11
  39. package/.next/server/app/api/bot/tool-result/[id]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/config/route.js +6 -7
  41. package/.next/server/app/api/config/route.js.nft.json +1 -1
  42. package/.next/server/app/api/events/route.js +4 -4
  43. package/.next/server/app/api/events/route.js.nft.json +1 -1
  44. package/.next/server/app/api/favicon/[host]/route.js +3 -3
  45. package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
  46. package/.next/server/app/api/file/[...path]/route.js +11 -6
  47. package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/llm-model/automatic/route.js +10 -11
  49. package/.next/server/app/api/llm-model/automatic/route.js.nft.json +1 -1
  50. package/.next/server/app/api/llm-model/catalog/[provider]/route.js +10 -11
  51. package/.next/server/app/api/llm-model/catalog/[provider]/route.js.nft.json +1 -1
  52. package/.next/server/app/api/llm-model/credits/[provider]/route.js +10 -11
  53. package/.next/server/app/api/llm-model/credits/[provider]/route.js.nft.json +1 -1
  54. package/.next/server/app/api/llm-model/route.js +8 -9
  55. package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
  56. package/.next/server/app/api/llm-model/subscription/route.js +8 -9
  57. package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
  58. package/.next/server/app/api/mcp/[name]/route.js +8 -9
  59. package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
  60. package/.next/server/app/api/mcp/oauth/callback/route.js +10 -11
  61. package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
  62. package/.next/server/app/api/mcp/route.js +8 -9
  63. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  64. package/.next/server/app/api/mcp/tools/route.js +8 -9
  65. package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
  66. package/.next/server/app/api/memory/edit/route.js +19 -19
  67. package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
  68. package/.next/server/app/api/memory/route.js +6 -7
  69. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  70. package/.next/server/app/api/reach/route.js +20 -20
  71. package/.next/server/app/api/reach/route.js.nft.json +1 -1
  72. package/.next/server/app/api/routine/route.js +12 -12
  73. package/.next/server/app/api/routine/route.js.nft.json +1 -1
  74. package/.next/server/app/api/running/route.js +3 -3
  75. package/.next/server/app/api/running/route.js.nft.json +1 -1
  76. package/.next/server/app/api/signins/route.js +11 -7
  77. package/.next/server/app/api/signins/route.js.nft.json +1 -1
  78. package/.next/server/app/api/skills/[source]/[name]/route.js +14 -14
  79. package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
  80. package/.next/server/app/api/skills/route.js +14 -14
  81. package/.next/server/app/api/skills/route.js.nft.json +1 -1
  82. package/.next/server/app/api/thursday/call/end/route.js +19 -19
  83. package/.next/server/app/api/thursday/call/end/route.js.nft.json +1 -1
  84. package/.next/server/app/api/thursday/call/plan/route.js +19 -19
  85. package/.next/server/app/api/thursday/call/plan/route.js.nft.json +1 -1
  86. package/.next/server/app/api/thursday/call/route.js +11 -12
  87. package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
  88. package/.next/server/app/api/thursday/settings/route.js +11 -12
  89. package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
  90. package/.next/server/app/api/thursday/text/route.js +20 -20
  91. package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
  92. package/.next/server/app/api/thursday/tool-call/route.js +20 -20
  93. package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
  94. package/.next/server/app/api/update/route.js +10 -11
  95. package/.next/server/app/api/update/route.js.nft.json +1 -1
  96. package/.next/server/app/api/workspace/files/route.js +13 -13
  97. package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
  98. package/.next/server/app/api/workspace/route.js +13 -13
  99. package/.next/server/app/api/workspace/route.js.nft.json +1 -1
  100. package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +11 -11
  101. package/.next/server/app/artifact/[...path]/page.js +11 -11
  102. package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
  103. package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
  104. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  105. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  106. package/.next/server/app/page/server-reference-manifest.json +101 -68
  107. package/.next/server/app/page.js +10 -10
  108. package/.next/server/app/page.js.nft.json +1 -1
  109. package/.next/server/app/page_client-reference-manifest.js +1 -1
  110. package/.next/server/app-paths-manifest.json +1 -0
  111. package/.next/server/chunks/[root-of-the-server]__0-xeb9k._.js +3 -0
  112. package/.next/server/chunks/{[root-of-the-server]__0qkh140._.js → [root-of-the-server]__01lftiq._.js} +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__022hmm4._.js +1 -1
  114. package/.next/server/chunks/{[root-of-the-server]__1im7w7z._.js → [root-of-the-server]__02td13j._.js} +1 -1
  115. package/.next/server/chunks/[root-of-the-server]__03bjojd._.js +2 -2
  116. package/.next/server/chunks/[root-of-the-server]__03jn6g5._.js +3 -0
  117. package/.next/server/chunks/[root-of-the-server]__05wauq3._.js +12 -0
  118. package/.next/server/chunks/[root-of-the-server]__06eoz24._.js +5 -0
  119. package/.next/server/chunks/{[root-of-the-server]__0sfx6id._.js → [root-of-the-server]__0_jtzqu._.js} +2 -2
  120. package/.next/server/chunks/[root-of-the-server]__0_k10q9._.js +3 -0
  121. package/.next/server/chunks/{[root-of-the-server]__1l4feoc._.js → [root-of-the-server]__0cmzvf7._.js} +1 -1
  122. package/.next/server/chunks/[root-of-the-server]__0cq8fp4._.js +3 -0
  123. package/.next/server/chunks/[root-of-the-server]__0cyki0f._.js +8 -0
  124. package/.next/server/chunks/[root-of-the-server]__0fvz6w5._.js +6 -0
  125. package/.next/server/chunks/[root-of-the-server]__0kj7-jk._.js +3 -0
  126. package/.next/server/chunks/{[root-of-the-server]__1p1ww2o._.js → [root-of-the-server]__0mq_mis._.js} +1 -1
  127. package/.next/server/chunks/[root-of-the-server]__0ncs9uu._.js +1 -1
  128. package/.next/server/chunks/{[root-of-the-server]__00dtf7h._.js → [root-of-the-server]__0o6p3jk._.js} +2 -2
  129. package/.next/server/chunks/[root-of-the-server]__0opzn4f._.js +3 -0
  130. package/.next/server/chunks/{[root-of-the-server]__0ags3y9._.js → [root-of-the-server]__0puaol7._.js} +2 -2
  131. package/.next/server/chunks/[root-of-the-server]__0qhf60h._.js +1 -1
  132. package/.next/server/chunks/{[root-of-the-server]__0ah_uba._.js → [root-of-the-server]__0s6-921._.js} +1 -1
  133. package/.next/server/chunks/{[root-of-the-server]__0n4xgfd._.js → [root-of-the-server]__0sg3_9d._.js} +2 -2
  134. package/.next/server/chunks/[root-of-the-server]__0t9e405._.js +3 -0
  135. package/.next/server/chunks/{[root-of-the-server]__20zucml._.js → [root-of-the-server]__0ubu0sh._.js} +1 -1
  136. package/.next/server/chunks/[root-of-the-server]__0ucigrb._.js +3 -0
  137. package/.next/server/chunks/{[root-of-the-server]__0_qe8iq._.js → [root-of-the-server]__0wnd1ac._.js} +2 -2
  138. package/.next/server/chunks/[root-of-the-server]__1-ga0kh._.js +5 -0
  139. package/.next/server/chunks/[root-of-the-server]__10x2qg8._.js +5 -0
  140. package/.next/server/chunks/{[root-of-the-server]__0fo9gc5._.js → [root-of-the-server]__114bnf1._.js} +1 -1
  141. package/.next/server/chunks/[root-of-the-server]__1343ru3._.js +3 -0
  142. package/.next/server/chunks/{[root-of-the-server]__1g6_6it._.js → [root-of-the-server]__16682o8._.js} +1 -1
  143. package/.next/server/chunks/[root-of-the-server]__16bbvlw._.js +7 -0
  144. package/.next/server/chunks/{[root-of-the-server]__1ui547o._.js → [root-of-the-server]__16cwbuc._.js} +1 -1
  145. package/.next/server/chunks/{[root-of-the-server]__05fq824._.js → [root-of-the-server]__17luxss._.js} +2 -2
  146. package/.next/server/chunks/[root-of-the-server]__17ses32._.js +3 -0
  147. package/.next/server/chunks/[root-of-the-server]__1_04mcf._.js +1 -1
  148. package/.next/server/chunks/{[root-of-the-server]__1m9dh1w._.js → [root-of-the-server]__1ahc9c9._.js} +1 -1
  149. package/.next/server/chunks/[root-of-the-server]__1bewni6._.js +8 -0
  150. package/.next/server/chunks/{[root-of-the-server]__0lg1fok._.js → [root-of-the-server]__1bk734v._.js} +1 -1
  151. package/.next/server/chunks/{[root-of-the-server]__0atf1-_._.js → [root-of-the-server]__1btmuni._.js} +5 -5
  152. package/.next/server/chunks/[root-of-the-server]__1e2aiae._.js +3 -0
  153. package/.next/server/chunks/[root-of-the-server]__1fjmju_._.js +3 -0
  154. package/.next/server/chunks/[root-of-the-server]__1j-6f71._.js +3 -0
  155. package/.next/server/chunks/{[root-of-the-server]__0btxiu1._.js → [root-of-the-server]__1ltmy5k._.js} +2 -2
  156. package/.next/server/chunks/[root-of-the-server]__1mf425m._.js +8 -0
  157. package/.next/server/chunks/[root-of-the-server]__1ndi14y._.js +1 -1
  158. package/.next/server/chunks/[root-of-the-server]__1o7z93z._.js +1 -1
  159. package/.next/server/chunks/[root-of-the-server]__1orn-5b._.js +11 -0
  160. package/.next/server/chunks/[root-of-the-server]__1pho9cl._.js +3 -0
  161. package/.next/server/chunks/[root-of-the-server]__1q2jauq._.js +3 -0
  162. package/.next/server/chunks/[root-of-the-server]__1rs2v4h._.js +5 -0
  163. package/.next/server/chunks/{[root-of-the-server]__1ivv7te._.js → [root-of-the-server]__1rso8xj._.js} +2 -2
  164. package/.next/server/chunks/[root-of-the-server]__1xr0wxp._.js +3 -0
  165. package/.next/server/chunks/[root-of-the-server]__1yiazek._.js +3 -0
  166. package/.next/server/chunks/{[root-of-the-server]__0a2v56f._.js → [root-of-the-server]__20_po2e._.js} +2 -2
  167. package/.next/server/chunks/{[root-of-the-server]__0gmxpev._.js → [root-of-the-server]__20v-jxs._.js} +2 -2
  168. package/.next/server/chunks/[root-of-the-server]__212_w8j._.js +5 -0
  169. package/.next/server/chunks/_0-g8m2a._.js +72 -0
  170. package/.next/server/chunks/_0-qt5if._.js +1 -1
  171. package/.next/server/chunks/_00uhvhe._.js +12 -12
  172. package/.next/server/chunks/_02tecta._.js +5 -0
  173. package/.next/server/chunks/_04862qx._.js +3 -0
  174. package/.next/server/chunks/_05p90of._.js +3 -0
  175. package/.next/server/chunks/{_1_30lb4._.js → _06tj0ik._.js} +2 -2
  176. package/.next/server/chunks/_06u9yo-._.js +1 -1
  177. package/.next/server/chunks/_07mczew._.js +1 -1
  178. package/.next/server/chunks/_07pkeds._.js +2 -2
  179. package/.next/server/chunks/_08-mlqd._.js +1 -1
  180. package/.next/server/chunks/_08354bn._.js +12 -12
  181. package/.next/server/chunks/_08bp8w1._.js +3 -0
  182. package/.next/server/chunks/_0adsimt._.js +3 -0
  183. package/.next/server/chunks/_0bcx24d._.js +8 -0
  184. package/.next/server/chunks/{_0e8ks1n._.js → _0chqx-h._.js} +16 -12
  185. package/.next/server/chunks/_0d4f7pc._.js +5 -0
  186. package/.next/server/chunks/_0d9208_._.js +6 -0
  187. package/.next/server/chunks/{_0lip2ae._.js → _0ejet8x._.js} +16 -12
  188. package/.next/server/chunks/_0eowjm_._.js +72 -0
  189. package/.next/server/chunks/_0gxz_1b._.js +1 -1
  190. package/.next/server/chunks/_0iy3dus._.js +1 -1
  191. package/.next/server/chunks/_0jzv71c._.js +5 -0
  192. package/.next/server/chunks/{_0hin38_._.js → _0khihjk._.js} +6 -6
  193. package/.next/server/chunks/_0lrns0i._.js +3 -0
  194. package/.next/server/chunks/_0nbkv9k._.js +7 -0
  195. package/.next/server/chunks/_0p94gu0._.js +57 -0
  196. package/.next/server/chunks/_0pzqm_r._.js +3 -3
  197. package/.next/server/chunks/_0s515yz._.js +57 -0
  198. package/.next/server/chunks/_0supk_r._.js +5 -0
  199. package/.next/server/chunks/_0sxwm3y._.js +3 -0
  200. package/.next/server/chunks/_0tkzlv1._.js +11 -9
  201. package/.next/server/chunks/{_02o3ay7._.js → _0tzxrjg._.js} +2 -2
  202. package/.next/server/chunks/_0u0pa-b._.js +72 -0
  203. package/.next/server/chunks/_0umx0sn._.js +3 -0
  204. package/.next/server/chunks/_0vojr2u._.js +3 -0
  205. package/.next/server/chunks/_0wyh244._.js +12 -12
  206. package/.next/server/chunks/_0xlv72v._.js +57 -0
  207. package/.next/server/chunks/{_0a9x0xp._.js → _0y-5vzm._.js} +2 -2
  208. package/.next/server/chunks/{_0xt812m._.js → _0z06xn0._.js} +16 -12
  209. package/.next/server/chunks/_0zwjr-g._.js +1 -1
  210. package/.next/server/chunks/_1002x_9._.js +72 -0
  211. package/.next/server/chunks/{_0cdeabn._.js → _1299dpz._.js} +2 -2
  212. package/.next/server/chunks/_12htlm_._.js +9 -0
  213. package/.next/server/chunks/_13tat6z._.js +1 -1
  214. package/.next/server/chunks/_143moy6._.js +5 -0
  215. package/.next/server/chunks/_186uku9._.js +1 -1
  216. package/.next/server/chunks/_190pdee._.js +3 -0
  217. package/.next/server/chunks/_1951_6o._.js +3 -0
  218. package/.next/server/chunks/_19h6ag7._.js +3 -0
  219. package/.next/server/chunks/_1_0gehg._.js +11 -9
  220. package/.next/server/chunks/_1be0yao._.js +12 -12
  221. package/.next/server/chunks/_1dtm9bs._.js +1 -1
  222. package/.next/server/chunks/_1e1t6tm._.js +57 -0
  223. package/.next/server/chunks/_1e1yip3._.js +3 -0
  224. package/.next/server/chunks/{_0uet1h6._.js → _1e48czp._.js} +6 -6
  225. package/.next/server/chunks/_1fqa4ax._.js +72 -0
  226. package/.next/server/chunks/_1gb0_wm._.js +3 -0
  227. package/.next/server/chunks/_1i6626u._.js +3 -0
  228. package/.next/server/chunks/_1jca8ws._.js +3 -0
  229. package/.next/server/chunks/_1k6bmez._.js +1 -1
  230. package/.next/server/chunks/{_10qam6o._.js → _1kg70wc._.js} +6 -6
  231. package/.next/server/chunks/_1ko5shz._.js +1 -1
  232. package/.next/server/chunks/{_12a_gfz._.js → _1kqgeww._.js} +16 -12
  233. package/.next/server/chunks/_1kwmzab._.js +1 -1
  234. package/.next/server/chunks/_1l5qbki._.js +6 -0
  235. package/.next/server/chunks/_1mlsbwy._.js +3 -0
  236. package/.next/server/chunks/_1nej_f5._.js +72 -0
  237. package/.next/server/chunks/_1o15f0b._.js +3 -0
  238. package/.next/server/chunks/_1omiszv._.js +57 -0
  239. package/.next/server/chunks/_1otx63k._.js +3 -0
  240. package/.next/server/chunks/_1pwai-w._.js +72 -0
  241. package/.next/server/chunks/_1qdqpgf._.js +3 -0
  242. package/.next/server/chunks/_1qo2kxe._.js +3 -0
  243. package/.next/server/chunks/_1qoa_n_._.js +3 -0
  244. package/.next/server/chunks/_1qwi06-._.js +5 -0
  245. package/.next/server/chunks/_1qxheoa._.js +1 -1
  246. package/.next/server/chunks/{_1skgy7b._.js → _1ry6afh._.js} +6 -6
  247. package/.next/server/chunks/_1u9tb9z._.js +57 -0
  248. package/.next/server/chunks/_1v7z66t._.js +5 -0
  249. package/.next/server/chunks/_1vdlc8g._.js +5 -0
  250. package/.next/server/chunks/_1x2xiyw._.js +1 -1
  251. package/.next/server/chunks/_1y-e2mk._.js +79 -0
  252. package/.next/server/chunks/_1yx285_._.js +1 -1
  253. package/.next/server/chunks/_1za6dtx._.js +72 -0
  254. package/.next/server/chunks/_1zsrejy._.js +3 -0
  255. package/.next/server/chunks/_1zvhk_m._.js +1 -1
  256. package/.next/server/chunks/{_0m3sdq8._.js → _20sfopz._.js} +16 -12
  257. package/.next/server/chunks/_next-internal_server_app_api_bot_thread_lessons_route_actions_0zt-nr6.js +3 -0
  258. package/.next/server/chunks/config_ts_1g4sz5o._.js +1 -1
  259. package/.next/server/chunks/features_0-728_-._.js +1 -1
  260. package/.next/server/chunks/features_0uy40ze._.js +1 -1
  261. package/.next/server/chunks/features_0vyrnq0._.js +3 -0
  262. package/.next/server/chunks/features_116bwtn._.js +1 -1
  263. package/.next/server/chunks/features_14kex_m._.js +6 -4
  264. package/.next/server/chunks/features_1cb9luv._.js +1 -1
  265. package/.next/server/chunks/features_1jd2zjm._.js +8 -8
  266. package/.next/server/chunks/features_1xn6un-._.js +6 -4
  267. package/.next/server/chunks/features_bot_1d6ghh5._.js +1 -1
  268. package/.next/server/chunks/features_bot_1dfrdsb._.js +1 -1
  269. package/.next/server/chunks/ssr/{[root-of-the-server]__1j2x83w._.js → [root-of-the-server]__0ama9d0._.js} +2 -2
  270. package/.next/server/chunks/ssr/[root-of-the-server]__0auk-ke._.js +13 -8
  271. package/.next/server/chunks/ssr/{[root-of-the-server]__02-kwsg._.js → [root-of-the-server]__0p0cgo1._.js} +2 -2
  272. package/.next/server/chunks/ssr/{[root-of-the-server]__1ngprpi._.js → [root-of-the-server]__0rpm20m._.js} +2 -2
  273. package/.next/server/chunks/ssr/[root-of-the-server]__0vcuiyu._.js +3 -0
  274. package/.next/server/chunks/ssr/{[root-of-the-server]__13xx3dr._.js → [root-of-the-server]__0x2--_p._.js} +2 -2
  275. package/.next/server/chunks/ssr/{[root-of-the-server]__1qiq402._.js → [root-of-the-server]__145268e._.js} +2 -2
  276. package/.next/server/chunks/ssr/{[root-of-the-server]__11_ws3y._.js → [root-of-the-server]__153-ebp._.js} +2 -2
  277. package/.next/server/chunks/ssr/[root-of-the-server]__16jc196._.js +1 -1
  278. package/.next/server/chunks/ssr/[root-of-the-server]__1867koj._.js +1 -1
  279. package/.next/server/chunks/ssr/[root-of-the-server]__1hqly37._.js +3 -0
  280. package/.next/server/chunks/ssr/[root-of-the-server]__1j-bkt7._.js +3 -0
  281. package/.next/server/chunks/ssr/[root-of-the-server]__1nb9kc9._.js +3 -0
  282. package/.next/server/chunks/ssr/_0692i-a._.js +1 -1
  283. package/.next/server/chunks/ssr/{_0ldpw1q._.js → _0732nef._.js} +2 -2
  284. package/.next/server/chunks/ssr/_0cu8_pz._.js +3 -0
  285. package/.next/server/chunks/ssr/_0gk_72-._.js +3 -0
  286. package/.next/server/chunks/ssr/_0jvrmoz._.js +9 -0
  287. package/.next/server/chunks/ssr/_0k06tdw._.js +6 -0
  288. package/.next/server/chunks/ssr/{_1tc_gbg._.js → _0l_qakv._.js} +2 -2
  289. package/.next/server/chunks/ssr/_0lqzdd0._.js +3 -0
  290. package/.next/server/chunks/ssr/{_19g10gj._.js → _0p18b0z._.js} +2 -2
  291. package/.next/server/chunks/ssr/{_04f6fil._.js → _0pg2mgq._.js} +3 -3
  292. package/.next/server/chunks/ssr/{_1nnl9sj._.js → _0rm-9aj._.js} +2 -2
  293. package/.next/server/chunks/ssr/_128r03g._.js +13 -11
  294. package/.next/server/chunks/ssr/_17fa2ns._.js +12 -12
  295. package/.next/server/chunks/ssr/_18cjc9o._.js +3 -0
  296. package/.next/server/chunks/ssr/_1_px1o-._.js +1 -1
  297. package/.next/server/chunks/ssr/_1a_w_du._.js +1 -1
  298. package/.next/server/chunks/ssr/_1crszf7._.js +2 -2
  299. package/.next/server/chunks/ssr/_1e_9qjr._.js +1 -1
  300. package/.next/server/chunks/ssr/_1ehd80b._.js +3 -0
  301. package/.next/server/chunks/ssr/{_0a31ywo._.js → _1fua8fv._.js} +2 -2
  302. package/.next/server/chunks/ssr/_1m290ru._.js +3 -0
  303. package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
  304. package/.next/server/chunks/ssr/{_0nans9v._.js → _1q30h74._.js} +2 -2
  305. package/.next/server/chunks/ssr/_1q9r6u6._.js +1 -1
  306. package/.next/server/chunks/ssr/_1soynbw._.js +2 -2
  307. package/.next/server/chunks/ssr/{_079xt7h._.js → _1v_5j9l._.js} +23 -19
  308. package/.next/server/chunks/ssr/_1x_6jyh._.js +3 -0
  309. package/.next/server/chunks/ssr/{components_ui_markdown-body_tsx_13aa4_2._.js → components_ui_markdown-body_tsx_0ywzjrl._.js} +2 -2
  310. package/.next/server/chunks/ssr/features_0rrgq_t._.js +1 -1
  311. package/.next/server/chunks/ssr/features_ai_components_model-picker_tsx_0ucb1y9._.js +1 -1
  312. package/.next/server/chunks/ssr/features_bot_1stfytf._.js +1 -1
  313. package/.next/server/chunks/ssr/features_bot_components_01ye2wp._.js +1 -1
  314. package/.next/server/chunks/ssr/features_bot_components_bot-setting_tsx_01ajft6._.js +2 -2
  315. package/.next/server/chunks/ssr/features_bot_components_thread-setting_tsx_0yae7zy._.js +1 -1
  316. package/.next/server/chunks/ssr/features_config_components_config-setting_tsx_0xfwqdg._.js +1 -1
  317. package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
  318. package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
  319. package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
  320. package/.next/server/chunks/ssr/features_skills_components_skills-setting_tsx_1wtuuip._.js +1 -1
  321. package/.next/server/chunks/ssr/features_thursday_components_thursday-setting_tsx_1_6ydrc._.js +1 -1
  322. package/.next/server/chunks/ssr/{node_modules_1k0ygyl._.js → node_modules_0-s3xam._.js} +1 -1
  323. package/.next/server/chunks/ssr/{node_modules_0jrjbfv._.js → node_modules_02p2t58._.js} +1 -1
  324. package/.next/server/chunks/ssr/{node_modules_1si826e._.js → node_modules_03gt5eg._.js} +1 -1
  325. package/.next/server/chunks/ssr/{node_modules_0jqaiyb._.js → node_modules_03ytewb._.js} +1 -1
  326. package/.next/server/chunks/ssr/{node_modules_19acw__._.js → node_modules_05yikon._.js} +1 -1
  327. package/.next/server/chunks/ssr/{node_modules_0gb732y._.js → node_modules_060s01j._.js} +2 -2
  328. package/.next/server/chunks/ssr/{node_modules_0wsygp2._.js → node_modules_07k-xj6._.js} +1 -1
  329. package/.next/server/chunks/ssr/{node_modules_1fa_3_c._.js → node_modules_08xo4p2._.js} +2 -2
  330. package/.next/server/chunks/ssr/{node_modules_05fihwh._.js → node_modules_09e0lw8._.js} +1 -1
  331. package/.next/server/chunks/ssr/{node_modules_0kdc_b7._.js → node_modules_0a1kt26._.js} +1 -1
  332. package/.next/server/chunks/ssr/{node_modules_050v667._.js → node_modules_0ahwwc6._.js} +2 -2
  333. package/.next/server/chunks/ssr/{node_modules_0ou72wu._.js → node_modules_0c2vpni._.js} +2 -2
  334. package/.next/server/chunks/ssr/{node_modules_1n5ds4a._.js → node_modules_0e7nwfw._.js} +1 -1
  335. package/.next/server/chunks/ssr/{node_modules_04qcy8e._.js → node_modules_0er1nmg._.js} +2 -2
  336. package/.next/server/chunks/ssr/{node_modules_1misalx._.js → node_modules_0f3769j._.js} +1 -1
  337. package/.next/server/chunks/ssr/{node_modules_0ljjw5o._.js → node_modules_0fi5we8._.js} +1 -1
  338. package/.next/server/chunks/ssr/{node_modules_1-vdt7b._.js → node_modules_0i2j6g6._.js} +1 -1
  339. package/.next/server/chunks/ssr/{node_modules_1861d28._.js → node_modules_0ka66-h._.js} +1 -1
  340. package/.next/server/chunks/ssr/{node_modules_140qn14._.js → node_modules_0keiwh2._.js} +2 -2
  341. package/.next/server/chunks/ssr/{node_modules_06p_ayw._.js → node_modules_0mihldg._.js} +1 -1
  342. package/.next/server/chunks/ssr/{node_modules_107hxun._.js → node_modules_0mujceo._.js} +1 -1
  343. package/.next/server/chunks/ssr/{node_modules_06b7g0r._.js → node_modules_0ntw_qg._.js} +1 -1
  344. package/.next/server/chunks/ssr/{node_modules_0jaxs1q._.js → node_modules_0py4_6y._.js} +1 -1
  345. package/.next/server/chunks/ssr/{node_modules_0y_dhgi._.js → node_modules_0qu8a5o._.js} +1 -1
  346. package/.next/server/chunks/ssr/{node_modules_1vh6nr-._.js → node_modules_0sk7kv9._.js} +1 -1
  347. package/.next/server/chunks/ssr/{node_modules_2045nus._.js → node_modules_0ted14c._.js} +2 -2
  348. package/.next/server/chunks/ssr/{node_modules_0z8o0-n._.js → node_modules_0u78wn3._.js} +1 -1
  349. package/.next/server/chunks/ssr/{node_modules_0skzy7i._.js → node_modules_0umtxxj._.js} +1 -1
  350. package/.next/server/chunks/ssr/{node_modules_1o1ud40._.js → node_modules_0ze7604._.js} +1 -1
  351. package/.next/server/chunks/ssr/{node_modules_152bm83._.js → node_modules_116k0n3._.js} +1 -1
  352. package/.next/server/chunks/ssr/{node_modules_0-zy1_5._.js → node_modules_15_65ve._.js} +1 -1
  353. package/.next/server/chunks/ssr/{node_modules_12409ud._.js → node_modules_16hmz5b._.js} +1 -1
  354. package/.next/server/chunks/ssr/{node_modules_069gsbk._.js → node_modules_16ki2uq._.js} +1 -1
  355. package/.next/server/chunks/ssr/{node_modules_0ia9-w8._.js → node_modules_19xrd6b._.js} +2 -2
  356. package/.next/server/chunks/ssr/{node_modules_1pt7o47._.js → node_modules_1_c3zat._.js} +2 -2
  357. package/.next/server/chunks/ssr/{node_modules_19gok-9._.js → node_modules_1axn4aw._.js} +2 -2
  358. package/.next/server/chunks/ssr/{node_modules_1jrlct1._.js → node_modules_1bjctcm._.js} +1 -1
  359. package/.next/server/chunks/ssr/{node_modules_1jt8w7f._.js → node_modules_1cxx8tm._.js} +1 -1
  360. package/.next/server/chunks/ssr/{node_modules_1v-un0n._.js → node_modules_1d7evv9._.js} +1 -1
  361. package/.next/server/chunks/ssr/{node_modules_13ccsqp._.js → node_modules_1depc7o._.js} +1 -1
  362. package/.next/server/chunks/ssr/{node_modules_1b45v66._.js → node_modules_1dm5c-u._.js} +1 -1
  363. package/.next/server/chunks/ssr/{node_modules_1uyu3cc._.js → node_modules_1fdivhl._.js} +1 -1
  364. package/.next/server/chunks/ssr/{node_modules_0ob-uxg._.js → node_modules_1gxpcyd._.js} +1 -1
  365. package/.next/server/chunks/ssr/{node_modules_0wa05ay._.js → node_modules_1ih7lxu._.js} +2 -2
  366. package/.next/server/chunks/ssr/{node_modules_18uwehg._.js → node_modules_1k-0av-._.js} +1 -1
  367. package/.next/server/chunks/ssr/{node_modules_0zi89fj._.js → node_modules_1kpg87p._.js} +1 -1
  368. package/.next/server/chunks/ssr/{node_modules_0q8xm6u._.js → node_modules_1le-lim._.js} +2 -2
  369. package/.next/server/chunks/ssr/{node_modules_17-v4n4._.js → node_modules_1lnx_h4._.js} +1 -1
  370. package/.next/server/chunks/ssr/{node_modules_0v0l095._.js → node_modules_1mwxdhp._.js} +1 -1
  371. package/.next/server/chunks/ssr/{node_modules_1x7napn._.js → node_modules_1q2a30m._.js} +2 -2
  372. package/.next/server/chunks/ssr/{node_modules_0walxvo._.js → node_modules_1soi3y1._.js} +2 -2
  373. package/.next/server/chunks/ssr/{node_modules_1xtd9ml._.js → node_modules_1sphzx9._.js} +1 -1
  374. package/.next/server/chunks/ssr/{node_modules_150qjpq._.js → node_modules_1tfn213._.js} +2 -2
  375. package/.next/server/chunks/ssr/{node_modules_20llbw8._.js → node_modules_1vmqt-a._.js} +1 -1
  376. package/.next/server/chunks/ssr/{node_modules_0xetrwd._.js → node_modules_1w8ljz0._.js} +2 -2
  377. package/.next/server/chunks/ssr/{node_modules_0_uhcxd._.js → node_modules_208s6_i._.js} +1 -1
  378. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_1bf0rdx._.js → node_modules_katex_dist_katex_mjs_0jhievg._.js} +1 -1
  379. package/.next/server/chunks/ssr/{node_modules_katex_dist_katex_mjs_0-moq-r._.js → node_modules_katex_dist_katex_mjs_1zcod1m._.js} +1 -1
  380. package/.next/server/middleware-build-manifest.js +3 -3
  381. package/.next/server/pages/404.html +1 -1
  382. package/.next/server/pages/500.html +1 -1
  383. package/.next/server/server-reference-manifest.js +1 -1
  384. package/.next/server/server-reference-manifest.json +102 -69
  385. package/.next/static/chunks/{0lc_77uhatqgd.js → 078xraafllix3.js} +1 -1
  386. package/.next/static/chunks/{2njcedjozdqm7.js → 0nev6q2iq077s.js} +1 -1
  387. package/.next/static/chunks/{06ymo4xf31ggh.js → 0ocx6nt76fc71.js} +1 -1
  388. package/.next/static/chunks/0oo3vqzbrckzw.js +1 -0
  389. package/.next/static/chunks/{1ki7x6-ehua0u.js → 0piazplcpaho6.js} +1 -1
  390. package/.next/static/chunks/{25tttxgpn-fdl.js → 0totfwrzgu9zy.js} +2 -2
  391. package/.next/static/chunks/{1s5t41jiomssd.css → 0tpwm72wdln0d.css} +1 -1
  392. package/.next/static/chunks/{1o4z63f94c3r-.js → 0u_wx1-lmoae2.js} +1 -1
  393. package/.next/static/chunks/{2tlvu360xbisx.js → 0wwq57j09skhy.js} +1 -1
  394. package/.next/static/chunks/152u4p6c_6spk.js +1 -0
  395. package/.next/static/chunks/{3f4aku2z0zdxp.js → 1fignuuc030t2.js} +1 -1
  396. package/.next/static/chunks/{29fpns41ml485.js → 1n3a07w81jbc-.js} +1 -1
  397. package/.next/static/chunks/2-zfbypxf0agx.js +1 -0
  398. package/.next/static/chunks/{277zw6dp5yzks.js → 21wm184xoke98.js} +9 -9
  399. package/.next/static/chunks/{1vxq-0uxcm5yl.js → 25-zh-0nfxqyg.js} +1 -1
  400. package/.next/static/chunks/{1gca5ia-a-3e2.js → 29p2mdrn-z1oz.js} +1 -1
  401. package/.next/static/chunks/{2jn9y4sol_low.js → 2biit-egkb-xl.js} +2 -2
  402. package/.next/static/chunks/{1zwj72bhapocl.js → 2cciu1ow-svbf.js} +1 -1
  403. package/.next/static/chunks/{0i4df8t5_6a-g.js → 2gl-fo_rmmmq0.js} +1 -1
  404. package/.next/static/chunks/2kt0nc5m372ie.js +4 -0
  405. package/.next/static/chunks/2v486bh_6kl11.js +1 -0
  406. package/.next/static/chunks/33_a4j5altfr5.js +1 -0
  407. package/.next/static/chunks/37pwubc1t0jyy.js +1 -0
  408. package/.next/static/chunks/{0km5rjf8k0gst.js → 38rbtwatw658l.js} +1 -1
  409. package/.next/static/chunks/{233p45nuh4m5b.css → 3d-1vk5hzu5rq.css} +2 -2
  410. package/.next/static/chunks/{3ymtwwxmbactm.js → 3da8rr3q6pt0b.js} +1 -1
  411. package/.next/static/chunks/3i12sqqp1v8a8.js +1 -0
  412. package/.next/static/chunks/{1e3karuzhh7ik.js → 3iwdx3_gikxbg.js} +1 -1
  413. package/.next/static/chunks/{17ow2tmvy65in.js → 3k_xm_e4grb9u.js} +1 -1
  414. package/.next/static/chunks/{0_o7o4-itqsz7.js → 3odtl00mfb4u7.js} +1 -1
  415. package/.next/static/chunks/3wblbyhomh9va.js +1 -0
  416. package/.next/static/chunks/{1vwqvgit8a1vm.js → 3x2goglbfw5t7.js} +1 -1
  417. package/database/migrations/20261006014533_first_mercury/migration.sql +16 -0
  418. package/database/migrations/20261006014533_first_mercury/snapshot.json +2134 -0
  419. package/database/migrations/20261006022849_purple_young_avengers/migration.sql +1 -0
  420. package/database/migrations/20261006022849_purple_young_avengers/snapshot.json +2144 -0
  421. package/database/migrations/20261006040316_lazy_ogun/migration.sql +3 -0
  422. package/database/migrations/20261006040316_lazy_ogun/snapshot.json +2174 -0
  423. package/database/migrations/20261006043313_modern_goliath/migration.sql +1 -0
  424. package/database/migrations/20261006043313_modern_goliath/snapshot.json +2184 -0
  425. package/guide/bots.md +29 -0
  426. package/guide/calls.md +3 -1
  427. package/guide/phone.md +3 -1
  428. package/package.json +1 -1
  429. package/.next/server/chunks/[root-of-the-server]__00qilm2._.js +0 -3
  430. package/.next/server/chunks/[root-of-the-server]__01jpmcj._.js +0 -11
  431. package/.next/server/chunks/[root-of-the-server]__0bzz4u5._.js +0 -8
  432. package/.next/server/chunks/[root-of-the-server]__0d-dfqm._.js +0 -5
  433. package/.next/server/chunks/[root-of-the-server]__0elyqrt._.js +0 -3
  434. package/.next/server/chunks/[root-of-the-server]__0jqidnu._.js +0 -8
  435. package/.next/server/chunks/[root-of-the-server]__0mmynvy._.js +0 -5
  436. package/.next/server/chunks/[root-of-the-server]__0mzzwmt._.js +0 -8
  437. package/.next/server/chunks/[root-of-the-server]__0qo3zap._.js +0 -8
  438. package/.next/server/chunks/[root-of-the-server]__0rqmdxt._.js +0 -6
  439. package/.next/server/chunks/[root-of-the-server]__0sea36s._.js +0 -10
  440. package/.next/server/chunks/[root-of-the-server]__0unmyur._.js +0 -6
  441. package/.next/server/chunks/[root-of-the-server]__0wimh1u._.js +0 -8
  442. package/.next/server/chunks/[root-of-the-server]__0zezbds._.js +0 -5
  443. package/.next/server/chunks/[root-of-the-server]__12hkdpz._.js +0 -8
  444. package/.next/server/chunks/[root-of-the-server]__13dy1f5._.js +0 -5
  445. package/.next/server/chunks/[root-of-the-server]__13hng6h._.js +0 -3
  446. package/.next/server/chunks/[root-of-the-server]__14inehv._.js +0 -3
  447. package/.next/server/chunks/[root-of-the-server]__17kdjf6._.js +0 -5
  448. package/.next/server/chunks/[root-of-the-server]__17yv6lg._.js +0 -5
  449. package/.next/server/chunks/[root-of-the-server]__1ac25yp._.js +0 -12
  450. package/.next/server/chunks/[root-of-the-server]__1hjb8wf._.js +0 -3
  451. package/.next/server/chunks/[root-of-the-server]__1jcu_e9._.js +0 -5
  452. package/.next/server/chunks/[root-of-the-server]__1jmr2ed._.js +0 -8
  453. package/.next/server/chunks/[root-of-the-server]__1onvx8x._.js +0 -5
  454. package/.next/server/chunks/[root-of-the-server]__1r2kimd._.js +0 -3
  455. package/.next/server/chunks/[root-of-the-server]__1rjj4i4._.js +0 -3
  456. package/.next/server/chunks/[root-of-the-server]__1s3umyw._.js +0 -3
  457. package/.next/server/chunks/[root-of-the-server]__212tz6e._.js +0 -8
  458. package/.next/server/chunks/_0-mqt2w._.js +0 -3
  459. package/.next/server/chunks/_0bcg3vg._.js +0 -6
  460. package/.next/server/chunks/_0cm67bo._.js +0 -6
  461. package/.next/server/chunks/_0gifi_2._.js +0 -7
  462. package/.next/server/chunks/_0li046e._.js +0 -3
  463. package/.next/server/chunks/_0mirg2-._.js +0 -3
  464. package/.next/server/chunks/_0oj2slk._.js +0 -5
  465. package/.next/server/chunks/_0oyz9x0._.js +0 -3
  466. package/.next/server/chunks/_0pljp-1._.js +0 -3
  467. package/.next/server/chunks/_0rdxqrk._.js +0 -5
  468. package/.next/server/chunks/_0sxih1y._.js +0 -3
  469. package/.next/server/chunks/_0u-96in._.js +0 -9
  470. package/.next/server/chunks/_0wjia9n._.js +0 -5
  471. package/.next/server/chunks/_0x2mdif._.js +0 -5
  472. package/.next/server/chunks/_0xa89lt._.js +0 -3
  473. package/.next/server/chunks/_0y2a-fg._.js +0 -3
  474. package/.next/server/chunks/_0ynjnhl._.js +0 -5
  475. package/.next/server/chunks/_1-sk_q4._.js +0 -3
  476. package/.next/server/chunks/_1355-km._.js +0 -3
  477. package/.next/server/chunks/_14-kmob._.js +0 -5
  478. package/.next/server/chunks/_1d7gbgb._.js +0 -3
  479. package/.next/server/chunks/_1d_enhu._.js +0 -3
  480. package/.next/server/chunks/_1evvnbp._.js +0 -18
  481. package/.next/server/chunks/_1g10pf5._.js +0 -3
  482. package/.next/server/chunks/_1icgbi8._.js +0 -18
  483. package/.next/server/chunks/_1ihge52._.js +0 -6
  484. package/.next/server/chunks/_1k92b3d._.js +0 -3
  485. package/.next/server/chunks/_1nfr-75._.js +0 -3
  486. package/.next/server/chunks/_1o2r4ja._.js +0 -5
  487. package/.next/server/chunks/_1pv6xbq._.js +0 -5
  488. package/.next/server/chunks/_1qgix-j._.js +0 -3
  489. package/.next/server/chunks/_1sd6nev._.js +0 -3
  490. package/.next/server/chunks/_1t8fv7b._.js +0 -18
  491. package/.next/server/chunks/_1ufbxe1._.js +0 -5
  492. package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +0 -3
  493. package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +0 -8
  494. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0omj5b1._.js +0 -3
  495. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0s2o664._.js +0 -3
  496. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_0ufuc3s._.js +0 -3
  497. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1cvpr1j._.js +0 -3
  498. package/.next/server/chunks/node_modules_consola_dist_chunks_prompt_mjs_1y49572._.js +0 -3
  499. package/.next/server/chunks/node_modules_zod_v4_03dw6sa._.js +0 -57
  500. package/.next/server/chunks/node_modules_zod_v4_0h0-drr._.js +0 -57
  501. package/.next/server/chunks/node_modules_zod_v4_0uctlhw._.js +0 -57
  502. package/.next/server/chunks/node_modules_zod_v4_13mu186._.js +0 -57
  503. package/.next/server/chunks/node_modules_zod_v4_17gxt3_._.js +0 -57
  504. package/.next/server/chunks/node_modules_zod_v4_1mygyfn._.js +0 -3
  505. package/.next/server/chunks/node_modules_zod_v4_1u-rl3b._.js +0 -57
  506. package/.next/server/chunks/ssr/[root-of-the-server]__0lv-wr_._.js +0 -3
  507. package/.next/server/chunks/ssr/[root-of-the-server]__0utwbb5._.js +0 -3
  508. package/.next/server/chunks/ssr/[root-of-the-server]__1fvh0zn._.js +0 -3
  509. package/.next/server/chunks/ssr/[root-of-the-server]__1ynag_l._.js +0 -3
  510. package/.next/server/chunks/ssr/_0f3t9pm._.js +0 -9
  511. package/.next/server/chunks/ssr/_131wmbl._.js +0 -6
  512. package/.next/server/chunks/ssr/_15zznka._.js +0 -3
  513. package/.next/server/chunks/ssr/_183f3bo._.js +0 -3
  514. package/.next/server/chunks/ssr/_1e1qe7w._.js +0 -3
  515. package/.next/server/chunks/ssr/_1kj3d2q._.js +0 -3
  516. package/.next/server/chunks/ssr/_1qtcl42._.js +0 -3
  517. package/.next/server/chunks/ssr/lib_utils_ts_0_f1xvm._.js +0 -3
  518. package/.next/static/chunks/051z85h3ofmif.js +0 -1
  519. package/.next/static/chunks/1hwehpk3kk-pc.js +0 -1
  520. package/.next/static/chunks/1pxe_gpjic1_h.js +0 -1
  521. package/.next/static/chunks/2zvo7b47hhxi5.js +0 -1
  522. package/.next/static/chunks/3k7fum0yljmyr.js +0 -1
  523. package/.next/static/chunks/3qhhs3dk6cdbq.js +0 -4
  524. package/.next/static/chunks/3sawwm4vucnzn.js +0 -1
  525. package/.next/static/chunks/3ul6m16ba_i3u.js +0 -1
  526. /package/.next/static/{pekZvsOZ3_8_ohluwgZtY → nXUvWsiGKRvNRk8kqeJ-u}/_buildManifest.js +0 -0
  527. /package/.next/static/{pekZvsOZ3_8_ohluwgZtY → nXUvWsiGKRvNRk8kqeJ-u}/_clientMiddlewareManifest.js +0 -0
  528. /package/.next/static/{pekZvsOZ3_8_ohluwgZtY → nXUvWsiGKRvNRk8kqeJ-u}/_ssgManifest.js +0 -0
@@ -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,watchMs:6e4,watchChars:2e3},"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}])},414480,a=>{"use strict";var b=a.i(405050);let c=(0,b.createServerReference)("7f97f7dfb75a1c1be50e33cb47b06f2bdd848816b0",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=_18cjc9o._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[777794,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(497895);a.s(["Segmented",0,function({options:a,value:e,onChange:f,view:g=!1,size:h="default",className:i,...j}){let k=(0,c.useRef)([]),l=a.findIndex(a=>a.value===e);return(0,b.jsx)("div",{role:"radiogroup",onKeyDown:b=>{let c={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1}[b.key];if(c&&!(a.length<2)){let d;b.preventDefault(),b.stopPropagation(),d=(Math.max(0,l)+c+a.length)%a.length,f(a[d].value),k.current[d]?.focus()}},className:(0,d.cn)("flex w-fit gap-0.5 rounded-full bg-muted","sm"===h?"p-0.5":"p-0.75",i),...j,children:a.map((a,c)=>{let i=a.value===e;return(0,b.jsx)("button",{ref:a=>{k.current[c]=a},type:"button",role:"radio","aria-checked":i,tabIndex:i||l<0&&0===c?0:-1,title:a.title,onClick:()=>f(a.value),className:(0,d.cn)("flex items-center justify-center gap-1.5 rounded-full whitespace-nowrap transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50","sm"===h?"h-6 px-2.5 text-[12px]":"h-7 px-3 text-[12.5px]",!i&&"text-muted-foreground hover:text-foreground",i&&(g?"bg-background font-medium text-foreground shadow-sm dark:bg-input/60":"bg-brand font-medium text-brand-foreground")),children:a.label},a.value)})})}])},341889,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(767561),e=a.i(497895);a.s(["SiteIcon",0,function({host:a,className:f="size-3.5 rounded-full",fallback:g}){let[h,i]=(0,c.useState)(!1);return h?g??(0,b.jsx)("span",{"aria-hidden":!0,className:(0,e.cn)("grid shrink-0 place-items-center bg-foreground/10 text-[8.5px] font-medium text-foreground/70 uppercase",f),children:a[0]}):(0,b.jsx)("img",{src:d.queryKey.favicon(a),alt:"",onError:()=>i(!0),className:(0,e.cn)("shrink-0",f)})}])},249049,a=>{"use strict";var b=a.i(187924),c=a.i(823319),d=a.i(752562),e=a.i(474215),f=a.i(572131),g=a.i(767561),h=a.i(340695),i=a.i(205522),j=a.i(287702),k=a.i(852307),l=a.i(379630),m=a.i(96340),n=a.i(61876),o=a.i(313237),p=a.i(759497),q=a.i(497895),r=a.i(279486),s=a.i(478978);function t(){let a=n.TEXT_MODEL_PROVIDERS[m.LIVE_PROVIDER.id].keysAt;return a?(0,b.jsxs)("a",{href:a,target:"_blank",rel:"noreferrer",className:"flex items-center gap-2.5 text-[13px] font-medium text-foreground no-underline",children:[(0,b.jsxs)("span",{className:"flex h-7.5 shrink-0 items-center gap-1.5 rounded-full bg-muted px-3.5 whitespace-nowrap transition-colors hover:bg-accent",children:["Get a key",(0,b.jsx)(c.ArrowUpRight,{className:"size-3.5"})]}),(0,b.jsx)("span",{className:"truncate font-mono text-[11px] font-normal text-muted-foreground",children:a.replace(/^https:\/\//,"")})]}):null}function u(a=null){let{data:b}=(0,p.useServerRoute)(g.queryKey.config),c=(0,s.isConfigSet)(b,n.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName),{data:d}=(0,p.useServerRoute)(c?g.queryKey.llmModel:null),{data:e}=(0,p.useServerRoute)(c?g.queryKey.subscriptionUsage:null),f=(!e||"refused"in e?null:e.plan)??d?.find(a=>"chatgpt"===a.id)?.plan??null,h=void 0!==b&&(!c||void 0!==d),i=(0,n.planCallsOf)(c?{plan:f}:null);return{known:h,signedIn:c,plan:f,planCalls:i,line:h?(0,m.liveLineOf)(a,a=>(0,s.isConfigSet)(b,a),f):null,countsForCall:a=>(0,s.isConfigSet)(b,a)&&(a!==n.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName||i)}}function v({children:a}){return(0,b.jsxs)("span",{className:"flex h-7 items-center justify-center gap-1.5 text-[12.5px] text-muted-foreground",children:[(0,b.jsx)("span",{className:"grid size-4 shrink-0 animate-in place-items-center rounded-full bg-primary text-primary-foreground duration-300 zoom-in-50",children:(0,b.jsx)(d.Check,{className:"size-2.5"})}),a]})}function w({provider:a,title:c,tag:d,about:e,warn:f=!1,children:g}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-xl p-3 ring-1 ring-border ring-inset",children:[(0,b.jsx)("span",{className:"grid size-8 shrink-0 place-items-center rounded-lg bg-muted/60",children:(0,b.jsx)(l.ProviderIcon,{provider:a,className:"size-4"})}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2 text-[13px] leading-tight font-medium",children:[(0,b.jsx)("span",{className:"truncate",children:c}),d&&(0,b.jsx)("span",{className:"shrink-0 rounded-full px-1.5 font-mono text-[9.5px] leading-4 font-normal text-muted-foreground ring-1 ring-border ring-inset",children:d})]}),(0,b.jsx)("span",{className:(0,q.cn)("text-[11.5px] leading-snug text-pretty",f?q.WAITING_INK:"text-muted-foreground"),children:e})]}),(0,b.jsx)("span",{className:"w-28 shrink-0",children:g})]})}function x({ref:a,autoFocus:c,dense:d=!1,plain:i=!1,onCancel:k,onSaved:l,className:n}){let{data:t}=(0,p.useServerRoute)(g.queryKey.config),[u,v]=(0,f.useState)({}),[w,z]=(0,f.useState)(null),[A,B]=(0,f.useState)(null),[C]=(0,o.useServerAction)(r.setConfigAction,{errorMessage:!1,onError:a=>B(a??"That key was not saved."),onOk:()=>{(0,p.revalidate)(g.queryKey.config),(0,p.revalidate)(g.queryKey.llmModel)}}),D=a=>(u[a]?.trim().length??0)>=j.KEY_MIN,E=async a=>{let b=a.apiKeyName;if(!D(b)||w)return!1;B(null),z(b);try{return await C(b,u[b]),v(a=>({...a,[b]:""})),l?.(a.id),!0}catch{return!1}finally{z(null)}};return(0,f.useImperativeHandle)(a,()=>({pending:()=>D(m.LIVE_PROVIDER.apiKeyName),flush:async()=>!D(m.LIVE_PROVIDER.apiKeyName)||E(m.LIVE_PROVIDER)})),(0,b.jsxs)("div",{className:(0,q.cn)("w-full",d?"space-y-2":"space-y-4",n),children:[d&&!i&&(0,b.jsxs)("div",{className:"flex h-6 items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"px-0.5 font-mono text-[11px] text-muted-foreground",children:"Voice key"}),k&&(0,b.jsx)(h.Button,{type:"button",size:"icon",variant:"ghost","aria-label":"Not now",onClick:k,className:"-my-1 size-6",children:(0,b.jsx)(e.X,{className:"size-3.5"})})]}),(0,b.jsx)(y,{provider:m.LIVE_PROVIDER,saved:(0,s.isConfigSet)(t,m.LIVE_PROVIDER.apiKeyName),autoFocus:c,dense:d,plain:i,value:u[m.LIVE_PROVIDER.apiKeyName]??"",ready:D(m.LIVE_PROVIDER.apiKeyName),saving:w===m.LIVE_PROVIDER.apiKeyName,onValue:a=>{B(null),v(b=>({...b,[m.LIVE_PROVIDER.apiKeyName]:a}))},onSubmit:()=>void E(m.LIVE_PROVIDER)}),(A||(0,s.isConfigUnreadable)(t,m.LIVE_PROVIDER.apiKeyName))&&(0,b.jsx)("p",{className:(0,q.cn)("px-0.5 leading-5 break-words",d?"text-xs":"text-center text-[13px]",q.WAITING_INK),children:A??(0,s.lostWords)("The OpenAI key saved before","Paste it again.")}),!i&&(0,b.jsx)("p",{className:(0,q.cn)("px-0.5 font-mono text-muted-foreground",d?"text-[11px]":"pt-1 text-center text-[12.5px]"),children:d?"Live voice and reasoning share this OpenAI API key.":"Live uses an OpenAI API key, billed separately from ChatGPT. Stored on this machine, in this app's database."})]})}function y({provider:a,saved:c,autoFocus:d,dense:e,plain:f,value:g,ready:h,saving:i,onValue:j,onSubmit:k}){return(0,b.jsxs)("div",{className:"space-y-2",children:[!f&&(0,b.jsxs)("span",{className:"flex items-center gap-2 px-0.5 text-muted-foreground",children:[(0,b.jsx)(l.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:(0,q.cn)("font-mono",e?"text-[11px]":"text-[12.5px]"),children:a.label})]}),(0,b.jsx)(A,{provider:a,saved:c,autoFocus:d,dense:e,mark:f,value:g,ready:h,saving:i,onValue:j,onSubmit:k})]})}let z=a=>a?.replace(/…$/,"")??"";function A({provider:a,saved:c,autoFocus:e,dense:f,mark:g,value:j,ready:k,saving:m,onValue:o,onSubmit:p}){var r;let s,t=(r=a.id,s=z(n.TEXT_MODEL_PROVIDERS[r].keyLooks),Object.entries(n.TEXT_MODEL_PROVIDERS).flatMap(([a,b])=>{let c=z(b.keyLooks);return a!==r&&c&&!s.startsWith(c)?[c]:[]})).some(a=>j.trim().startsWith(a));return(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),p()},className:(0,q.cn)("flex items-center gap-3 rounded-2xl border bg-muted/40 px-4 transition-colors",f?"h-11 rounded-xl px-3":"h-14",c||k?"border-foreground bg-transparent":"border-border"),children:[g&&(0,b.jsx)(l.ProviderIcon,{provider:a.id,className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(i.Input,{autoFocus:e,type:"password","aria-label":"OpenAI API key",autoComplete:"off",value:j,spellCheck:!1,placeholder:c?"Replace it":"sk-…",onChange:a=>o(a.target.value),className:(0,q.cn)("min-w-0 flex-1 border-0 bg-transparent px-0 font-mono shadow-none focus-visible:ring-0 dark:bg-transparent",f?"h-7 text-[13px]":"h-9 text-[15px]")}),j?(0,b.jsx)(h.Button,{type:"submit",size:"sm",variant:t?"outline":"default",loading:m,disabled:!k,className:(0,q.cn)("shrink-0",f?"h-7 px-3":"h-9 px-4"),children:t?`Not ${a.label}?`:"Save"}):c&&(0,b.jsx)("span",{className:(0,q.cn)("grid shrink-0 animate-in place-items-center rounded-full bg-foreground text-background zoom-in-50 duration-300",f?"size-5":"size-7"),children:(0,b.jsx)(d.Check,{className:f?"size-3":"size-4"})})]})}a.s(["CallLines",0,function({onSaved:a}){let{data:c}=(0,p.useServerRoute)(g.queryKey.config),[d,e]=(0,f.useState)(()=>(0,s.isConfigUnreadable)(c,m.LIVE_PROVIDER.apiKeyName)),i=(0,s.isConfigUnreadable)(c,n.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName),j=(0,s.isConfigSet)(c,m.LIVE_PROVIDER.apiKeyName),{data:l}=(0,p.useServerRoute)(g.queryKey.thursdaySettings),o=u(l?.runsOn??null),q=o.signedIn&&!o.planCalls,r=o.known&&o.signedIn&&o.planCalls&&!i;return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-2 text-left",children:[!r&&!j&&(0,b.jsx)("p",{className:"font-mono text-[11px] text-muted-foreground",children:"Either one is enough."}),(0,b.jsx)(w,{provider:"chatgpt",title:n.TEXT_MODEL_PROVIDERS.chatgpt.label,tag:o.signedIn?(0,n.planName)(o.plan)??void 0:void 0,about:i?"The sign-in saved before can't be unlocked any more.":q?"Bots and writing run on this plan; spoken calls don't.":r&&"chatgpt"===o.line?"Calls and bots run on your plan.":r&&"openai"===o.line?"Bots run on your plan; calls run on the key.":"Your ChatGPT plan. No key, no bill by the minute.",warn:i||q,children:r?(0,b.jsx)(v,{children:"Signed in"}):(0,b.jsx)(k.ChatGptSignIn,{variant:q||j?"outline":"brand",size:"sm",className:"w-full rounded-full",label:i||q?"Sign in again":"Sign in"})}),(0,b.jsx)(w,{provider:"openai",title:"OpenAI API key",about:j&&o.known?"chatgpt"===o.line?"Calls run on your plan; switch in Settings › Thursday.":"Calls run on it now, billed by the minute.":"Billed by the minute of call, apart from ChatGPT.",children:j?(0,b.jsx)(v,{children:"Saved"}):(0,b.jsx)(h.Button,{size:"sm",variant:q?"brand":"outline","aria-expanded":d,onClick:()=>e(a=>!a),className:"w-full rounded-full",children:"Paste a key"})}),d&&!j&&(0,b.jsxs)("div",{className:"flex animate-in flex-col gap-2.5 pt-1 fade-in slide-in-from-top-1 duration-200",children:[(0,b.jsx)(x,{dense:!0,plain:!0,autoFocus:!0,onSaved:a}),(0,b.jsx)(t,{})]})]})},"KeyInput",0,A,"useVoiceLine",0,u])},823319,a=>{"use strict";var b=a.i(164831);let c={name:"arrow-up-right",size:24,node:[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]};c.node;let d=(0,b.default)(c);a.s(["ArrowUpRight",0,d],823319)},692867,626335,a=>{"use strict";var b=a.i(164831);let c={name:"audio-lines",size:24,node:[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]]};c.node;let d=(0,b.default)(c);a.s(["AudioLines",0,d],692867);let e={name:"captions",size:24,node:[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]],aliases:["subtitles"]};e.node;let f=(0,b.default)(e);a.s(["Captions",0,f],626335)},752562,a=>{"use strict";var b=a.i(2589);a.s(["Check",()=>b.default])},585650,a=>{"use strict";var b=a.i(164831);let c={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};c.node;let d=(0,b.default)(c);a.s(["Copy",0,d],585650)},126766,a=>{"use strict";var b=a.i(164831);let c={name:"key-round",size:24,node:[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]};c.node;let d=(0,b.default)(c);a.s(["KeyRound",0,d],126766)},162591,a=>{"use strict";var b=a.i(164831);let c={name:"mail",size:24,node:[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]};c.node;let d=(0,b.default)(c);a.s(["Mail",0,d],162591)}];
1
+ module.exports=[777794,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(497895);a.s(["Segmented",0,function({options:a,value:e,onChange:f,view:g=!1,size:h="default",className:i,...j}){let k=(0,c.useRef)([]),l=a.findIndex(a=>a.value===e);return(0,b.jsx)("div",{role:"radiogroup",onKeyDown:b=>{let c={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1}[b.key];if(c&&!(a.length<2)){let d;b.preventDefault(),b.stopPropagation(),d=(Math.max(0,l)+c+a.length)%a.length,f(a[d].value),k.current[d]?.focus()}},className:(0,d.cn)("flex w-fit gap-0.5 rounded-full bg-muted","sm"===h?"p-0.5":"p-0.75",i),...j,children:a.map((a,c)=>{let i=a.value===e;return(0,b.jsx)("button",{ref:a=>{k.current[c]=a},type:"button",role:"radio","aria-checked":i,tabIndex:i||l<0&&0===c?0:-1,title:a.title,onClick:()=>f(a.value),className:(0,d.cn)("flex items-center justify-center gap-1.5 rounded-full whitespace-nowrap transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50","sm"===h?"h-6 px-2.5 text-[12px]":"h-7 px-3 text-[12.5px]",!i&&"text-muted-foreground hover:text-foreground",i&&(g?"bg-background font-medium text-foreground shadow-sm dark:bg-input/60":"bg-brand font-medium text-brand-foreground")),children:a.label},a.value)})})}])},341889,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(767561),e=a.i(497895);a.s(["SiteIcon",0,function({host:a,className:f="size-3.5 rounded-full",fallback:g}){let[h,i]=(0,c.useState)(!1);return h?g??(0,b.jsx)("span",{"aria-hidden":!0,className:(0,e.cn)("grid shrink-0 place-items-center bg-foreground/10 text-[8.5px] font-medium text-foreground/70 uppercase",f),children:a[0]}):(0,b.jsx)("img",{src:d.queryKey.favicon(a),alt:"",onError:()=>i(!0),className:(0,e.cn)("shrink-0",f)})}])},249049,a=>{"use strict";var b=a.i(187924),c=a.i(823319),d=a.i(752562),e=a.i(474215),f=a.i(572131),g=a.i(767561),h=a.i(340695),i=a.i(205522),j=a.i(287702),k=a.i(852307),l=a.i(379630),m=a.i(96340),n=a.i(61876),o=a.i(313237),p=a.i(759497),q=a.i(497895),r=a.i(846445),s=a.i(478978);function t(){let a=n.TEXT_MODEL_PROVIDERS[m.LIVE_PROVIDER.id].keysAt;return a?(0,b.jsxs)("a",{href:a,target:"_blank",rel:"noreferrer",className:"flex items-center gap-2.5 text-[13px] font-medium text-foreground no-underline",children:[(0,b.jsxs)("span",{className:"flex h-7.5 shrink-0 items-center gap-1.5 rounded-full bg-muted px-3.5 whitespace-nowrap transition-colors hover:bg-accent",children:["Get a key",(0,b.jsx)(c.ArrowUpRight,{className:"size-3.5"})]}),(0,b.jsx)("span",{className:"truncate font-mono text-[11px] font-normal text-muted-foreground",children:a.replace(/^https:\/\//,"")})]}):null}function u(a=null){let{data:b}=(0,p.useServerRoute)(g.queryKey.config),c=(0,s.isConfigSet)(b,n.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName),{data:d}=(0,p.useServerRoute)(c?g.queryKey.llmModel:null),{data:e}=(0,p.useServerRoute)(c?g.queryKey.subscriptionUsage:null),f=(!e||"refused"in e?null:e.plan)??d?.find(a=>"chatgpt"===a.id)?.plan??null,h=void 0!==b&&(!c||void 0!==d),i=(0,n.planCallsOf)(c?{plan:f}:null);return{known:h,signedIn:c,plan:f,planCalls:i,line:h?(0,m.liveLineOf)(a,a=>(0,s.isConfigSet)(b,a),f):null,countsForCall:a=>(0,s.isConfigSet)(b,a)&&(a!==n.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName||i)}}function v({children:a}){return(0,b.jsxs)("span",{className:"flex h-7 items-center justify-center gap-1.5 text-[12.5px] text-muted-foreground",children:[(0,b.jsx)("span",{className:"grid size-4 shrink-0 animate-in place-items-center rounded-full bg-primary text-primary-foreground duration-300 zoom-in-50",children:(0,b.jsx)(d.Check,{className:"size-2.5"})}),a]})}function w({provider:a,title:c,tag:d,about:e,warn:f=!1,children:g}){return(0,b.jsxs)("div",{className:"flex items-center gap-3 rounded-xl p-3 ring-1 ring-border ring-inset",children:[(0,b.jsx)("span",{className:"grid size-8 shrink-0 place-items-center rounded-lg bg-muted/60",children:(0,b.jsx)(l.ProviderIcon,{provider:a,className:"size-4"})}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-0.5",children:[(0,b.jsxs)("span",{className:"flex items-center gap-2 text-[13px] leading-tight font-medium",children:[(0,b.jsx)("span",{className:"truncate",children:c}),d&&(0,b.jsx)("span",{className:"shrink-0 rounded-full px-1.5 font-mono text-[9.5px] leading-4 font-normal text-muted-foreground ring-1 ring-border ring-inset",children:d})]}),(0,b.jsx)("span",{className:(0,q.cn)("text-[11.5px] leading-snug text-pretty",f?q.WAITING_INK:"text-muted-foreground"),children:e})]}),(0,b.jsx)("span",{className:"w-28 shrink-0",children:g})]})}function x({ref:a,autoFocus:c,dense:d=!1,plain:i=!1,onCancel:k,onSaved:l,className:n}){let{data:t}=(0,p.useServerRoute)(g.queryKey.config),[u,v]=(0,f.useState)({}),[w,z]=(0,f.useState)(null),[A,B]=(0,f.useState)(null),[C]=(0,o.useServerAction)(r.setConfigAction,{errorMessage:!1,onError:a=>B(a??"That key was not saved."),onOk:()=>{(0,p.revalidate)(g.queryKey.config),(0,p.revalidate)(g.queryKey.llmModel)}}),D=a=>(u[a]?.trim().length??0)>=j.KEY_MIN,E=async a=>{let b=a.apiKeyName;if(!D(b)||w)return!1;B(null),z(b);try{return await C(b,u[b]),v(a=>({...a,[b]:""})),l?.(a.id),!0}catch{return!1}finally{z(null)}};return(0,f.useImperativeHandle)(a,()=>({pending:()=>D(m.LIVE_PROVIDER.apiKeyName),flush:async()=>!D(m.LIVE_PROVIDER.apiKeyName)||E(m.LIVE_PROVIDER)})),(0,b.jsxs)("div",{className:(0,q.cn)("w-full",d?"space-y-2":"space-y-4",n),children:[d&&!i&&(0,b.jsxs)("div",{className:"flex h-6 items-center justify-between gap-2",children:[(0,b.jsx)("span",{className:"px-0.5 font-mono text-[11px] text-muted-foreground",children:"Voice key"}),k&&(0,b.jsx)(h.Button,{type:"button",size:"icon",variant:"ghost","aria-label":"Not now",onClick:k,className:"-my-1 size-6",children:(0,b.jsx)(e.X,{className:"size-3.5"})})]}),(0,b.jsx)(y,{provider:m.LIVE_PROVIDER,saved:(0,s.isConfigSet)(t,m.LIVE_PROVIDER.apiKeyName),autoFocus:c,dense:d,plain:i,value:u[m.LIVE_PROVIDER.apiKeyName]??"",ready:D(m.LIVE_PROVIDER.apiKeyName),saving:w===m.LIVE_PROVIDER.apiKeyName,onValue:a=>{B(null),v(b=>({...b,[m.LIVE_PROVIDER.apiKeyName]:a}))},onSubmit:()=>void E(m.LIVE_PROVIDER)}),(A||(0,s.isConfigUnreadable)(t,m.LIVE_PROVIDER.apiKeyName))&&(0,b.jsx)("p",{className:(0,q.cn)("px-0.5 leading-5 break-words",d?"text-xs":"text-center text-[13px]",q.WAITING_INK),children:A??(0,s.lostWords)("The OpenAI key saved before","Paste it again.")}),!i&&(0,b.jsx)("p",{className:(0,q.cn)("px-0.5 font-mono text-muted-foreground",d?"text-[11px]":"pt-1 text-center text-[12.5px]"),children:d?"Live voice and reasoning share this OpenAI API key.":"Live uses an OpenAI API key, billed separately from ChatGPT. Stored on this machine, in this app's database."})]})}function y({provider:a,saved:c,autoFocus:d,dense:e,plain:f,value:g,ready:h,saving:i,onValue:j,onSubmit:k}){return(0,b.jsxs)("div",{className:"space-y-2",children:[!f&&(0,b.jsxs)("span",{className:"flex items-center gap-2 px-0.5 text-muted-foreground",children:[(0,b.jsx)(l.ProviderIcon,{provider:a.id,className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:(0,q.cn)("font-mono",e?"text-[11px]":"text-[12.5px]"),children:a.label})]}),(0,b.jsx)(A,{provider:a,saved:c,autoFocus:d,dense:e,mark:f,value:g,ready:h,saving:i,onValue:j,onSubmit:k})]})}let z=a=>a?.replace(/…$/,"")??"";function A({provider:a,saved:c,autoFocus:e,dense:f,mark:g,value:j,ready:k,saving:m,onValue:o,onSubmit:p}){var r;let s,t=(r=a.id,s=z(n.TEXT_MODEL_PROVIDERS[r].keyLooks),Object.entries(n.TEXT_MODEL_PROVIDERS).flatMap(([a,b])=>{let c=z(b.keyLooks);return a!==r&&c&&!s.startsWith(c)?[c]:[]})).some(a=>j.trim().startsWith(a));return(0,b.jsxs)("form",{onSubmit:a=>{a.preventDefault(),p()},className:(0,q.cn)("flex items-center gap-3 rounded-2xl border bg-muted/40 px-4 transition-colors",f?"h-11 rounded-xl px-3":"h-14",c||k?"border-foreground bg-transparent":"border-border"),children:[g&&(0,b.jsx)(l.ProviderIcon,{provider:a.id,className:"size-4 shrink-0 text-muted-foreground"}),(0,b.jsx)(i.Input,{autoFocus:e,type:"password","aria-label":"OpenAI API key",autoComplete:"off",value:j,spellCheck:!1,placeholder:c?"Replace it":"sk-…",onChange:a=>o(a.target.value),className:(0,q.cn)("min-w-0 flex-1 border-0 bg-transparent px-0 font-mono shadow-none focus-visible:ring-0 dark:bg-transparent",f?"h-7 text-[13px]":"h-9 text-[15px]")}),j?(0,b.jsx)(h.Button,{type:"submit",size:"sm",variant:t?"outline":"default",loading:m,disabled:!k,className:(0,q.cn)("shrink-0",f?"h-7 px-3":"h-9 px-4"),children:t?`Not ${a.label}?`:"Save"}):c&&(0,b.jsx)("span",{className:(0,q.cn)("grid shrink-0 animate-in place-items-center rounded-full bg-foreground text-background zoom-in-50 duration-300",f?"size-5":"size-7"),children:(0,b.jsx)(d.Check,{className:f?"size-3":"size-4"})})]})}a.s(["CallLines",0,function({onSaved:a}){let{data:c}=(0,p.useServerRoute)(g.queryKey.config),[d,e]=(0,f.useState)(()=>(0,s.isConfigUnreadable)(c,m.LIVE_PROVIDER.apiKeyName)),i=(0,s.isConfigUnreadable)(c,n.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName),j=(0,s.isConfigSet)(c,m.LIVE_PROVIDER.apiKeyName),{data:l}=(0,p.useServerRoute)(g.queryKey.thursdaySettings),o=u(l?.runsOn??null),q=o.signedIn&&!o.planCalls,r=o.known&&o.signedIn&&o.planCalls&&!i;return(0,b.jsxs)("div",{className:"flex w-full flex-col gap-2 text-left",children:[!r&&!j&&(0,b.jsx)("p",{className:"font-mono text-[11px] text-muted-foreground",children:"Either one is enough."}),(0,b.jsx)(w,{provider:"chatgpt",title:n.TEXT_MODEL_PROVIDERS.chatgpt.label,tag:o.signedIn?(0,n.planName)(o.plan)??void 0:void 0,about:i?"The sign-in saved before can't be unlocked any more.":q?"Bots and writing run on this plan; spoken calls don't.":r&&"chatgpt"===o.line?"Calls and bots run on your plan.":r&&"openai"===o.line?"Bots run on your plan; calls run on the key.":"Your ChatGPT plan. No key, no bill by the minute.",warn:i||q,children:r?(0,b.jsx)(v,{children:"Signed in"}):(0,b.jsx)(k.ChatGptSignIn,{variant:q||j?"outline":"brand",size:"sm",className:"w-full rounded-full",label:i||q?"Sign in again":"Sign in"})}),(0,b.jsx)(w,{provider:"openai",title:"OpenAI API key",about:j&&o.known?"chatgpt"===o.line?"Calls run on your plan; switch in Settings › Thursday.":"Calls run on it now, billed by the minute.":"Billed by the minute of call, apart from ChatGPT.",children:j?(0,b.jsx)(v,{children:"Saved"}):(0,b.jsx)(h.Button,{size:"sm",variant:q?"brand":"outline","aria-expanded":d,onClick:()=>e(a=>!a),className:"w-full rounded-full",children:"Paste a key"})}),d&&!j&&(0,b.jsxs)("div",{className:"flex animate-in flex-col gap-2.5 pt-1 fade-in slide-in-from-top-1 duration-200",children:[(0,b.jsx)(x,{dense:!0,plain:!0,autoFocus:!0,onSaved:a}),(0,b.jsx)(t,{})]})]})},"KeyInput",0,A,"useVoiceLine",0,u])},823319,a=>{"use strict";var b=a.i(164831);let c={name:"arrow-up-right",size:24,node:[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]};c.node;let d=(0,b.default)(c);a.s(["ArrowUpRight",0,d],823319)},692867,626335,a=>{"use strict";var b=a.i(164831);let c={name:"audio-lines",size:24,node:[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]]};c.node;let d=(0,b.default)(c);a.s(["AudioLines",0,d],692867);let e={name:"captions",size:24,node:[["rect",{width:"18",height:"14",x:"3",y:"5",rx:"2",ry:"2",key:"12ruh7"}],["path",{d:"M7 15h4M15 15h2M7 11h2M13 11h4",key:"1ueiar"}]],aliases:["subtitles"]};e.node;let f=(0,b.default)(e);a.s(["Captions",0,f],626335)},752562,a=>{"use strict";var b=a.i(2589);a.s(["Check",()=>b.default])},585650,a=>{"use strict";var b=a.i(164831);let c={name:"copy",size:24,node:[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]};c.node;let d=(0,b.default)(c);a.s(["Copy",0,d],585650)},126766,a=>{"use strict";var b=a.i(164831);let c={name:"key-round",size:24,node:[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]};c.node;let d=(0,b.default)(c);a.s(["KeyRound",0,d],126766)},162591,a=>{"use strict";var b=a.i(164831);let c={name:"mail",size:24,node:[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]};c.node;let d=(0,b.default)(c);a.s(["Mail",0,d],162591)}];
2
2
 
3
3
  //# sourceMappingURL=_1_px1o-._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[446334,a=>{"use strict";var b=a.i(187924),c=a.i(341889),d=a.i(497895);a.s(["SourceChips",0,function({sources:a,limit:e,className:f}){let g=a.flatMap(a=>{let b=(0,d.hostOf)(a.url);return b?[{...a,host:b}]:[]}),h=e?g.slice(0,e):g,i=g.length-h.length;return(0,b.jsxs)("span",{className:(0,d.cn)("flex min-w-0 flex-wrap items-center gap-1",f),children:[h.map(a=>(0,b.jsxs)("a",{href:a.url,target:"_blank",rel:"noreferrer",title:a.title??a.url,className:"flex h-[22px] min-w-0 items-center gap-1.5 rounded-full bg-muted pr-2 pl-1 text-[11.5px] leading-4 text-foreground/80 outline-none transition-colors hover:bg-accent focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsx)(c.SiteIcon,{host:a.host}),(0,b.jsx)("span",{className:"truncate",children:a.host})]},a.url)),i>0&&(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:["+",i]})]})}])},321799,a=>{"use strict";var b=a.i(187924),c=a.i(164831);let d={name:"file-x",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:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]]};d.node;let e=(0,c.default)(d);var f=a.i(571987),g=a.i(572131),h=a.i(767561),i=a.i(287702),j=a.i(38793),k=a.i(369768),l=a.i(559553),m=a.i(759497),n=a.i(497895);let o=a=>a.split(".").pop()?.toLowerCase()??"file",p=a=>a.split("/").pop()??a;a.s(["Attachments",0,function({text:a,from:c=null,className:d,onBubble:q=!1}){let r=(0,g.useMemo)(()=>(0,l.pathsIn)(a),[a]),{data:s}=(0,m.useServerRoute)(r.length?h.queryKey.workspaceFiles(r):null),t=(0,g.useMemo)(()=>s??[],[s]),u=(0,g.useMemo)(()=>t.filter(a=>"image"===(0,l.viewKindOf)(a.path)),[t]),v=(0,g.useMemo)(()=>{let a=0;return t.filter(b=>{let c=(0,j.faceOf)(b.path,b.bytes);return"text"===c||"page"===c&&(a+=1)<=i.FILE_THUMB.pages})},[t]),w=t.filter(a=>!u.includes(a)&&!v.includes(a)),x=new Set(t.map(a=>p(a.path))),y=r.filter(a=>!t.some(b=>b.path===a)&&!x.has(p(a)));if(!r.length||!s||!t.length&&!y.length)return null;let z=u.map(a=>a.path),A=u.slice(0,4),B=u.length-A.length,C=u.length+v.length<=2,D=C?"h-40 w-32":"h-26.25 w-21";return(0,b.jsxs)("div",{className:(0,n.cn)("flex min-w-0 flex-col gap-1.5",d),children:[(A.length>0||v.length>0)&&(0,b.jsxs)("div",{className:"flex flex-wrap items-start gap-1.5",children:[v.map(a=>(0,b.jsxs)(k.FileLink,{from:c,path:a.path,title:`${a.path} — ${(0,n.formatBytes)(a.bytes)}`,className:(0,n.cn)("flex shrink-0 flex-col gap-1 rounded-xl outline-none transition-opacity hover:opacity-90 focus-visible:ring-3 focus-visible:ring-ring/50",C?"w-32":"w-21"),children:[(0,b.jsx)(j.FileThumb,{path:a.path,bytes:a.bytes,className:(0,n.cn)("w-full rounded-xl ring-1 ring-foreground/5 ring-inset",D)}),(0,b.jsxs)("span",{className:"flex flex-col items-start px-0.5",children:[(0,b.jsx)("span",{className:"max-w-full truncate text-[11.5px] leading-4",children:p(a.path)}),(0,b.jsxs)("span",{className:"font-mono text-[10px] leading-3.5 text-muted-foreground",children:[o(a.path)," · ",(0,n.formatBytes)(a.bytes)]})]})]},a.path)),A.map((a,d)=>(0,b.jsxs)(k.FileLink,{from:c,path:a.path,group:z,title:`${a.path} — ${(0,n.formatBytes)(a.bytes)}`,className:(0,n.cn)("relative shrink-0 overflow-hidden rounded-xl bg-muted outline-none ring-1 ring-foreground/5 ring-inset transition-opacity hover:opacity-90 focus-visible:ring-3 focus-visible:ring-ring/50",D),children:[(0,b.jsx)(f.default,{src:h.queryKey.file(a.path),alt:p(a.path),fill:!0,sizes:`${i.FILE_THUMB.imageWidth}px`,loading:"lazy",decoding:"async",className:"object-cover"}),B>0&&d===A.length-1&&(0,b.jsxs)("span",{className:"absolute inset-0 grid place-items-center bg-black/45 text-[14px] font-medium text-white",children:["+",B]})]},a.path))]}),w.map(a=>{let d=(0,j.fileIcon)(a.path);return(0,b.jsxs)(k.FileLink,{from:c,path:a.path,title:a.path,className:(0,n.cn)("flex w-fit max-w-full items-center gap-2.5 rounded-xl py-1.5 pr-3 pl-1.5 outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",q?"bg-background/70 hover:bg-background":"bg-muted/70 hover:bg-muted"),children:[(0,b.jsx)("span",{className:(0,n.cn)("grid size-8 shrink-0 place-items-center rounded-lg text-muted-foreground",q?"bg-muted":"bg-background"),children:(0,b.jsx)(d,{className:"size-3.5"})}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-col items-start",children:[(0,b.jsx)("span",{className:"max-w-full truncate text-[12.5px] leading-4.25",children:p(a.path)}),(0,b.jsxs)("span",{className:"font-mono text-[10px] leading-3.5 text-muted-foreground",children:[o(a.path)," · ",(0,n.formatBytes)(a.bytes)]})]})]},a.path)}),y.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:y.map(a=>(0,b.jsxs)("span",{title:`${a} — not on disk`,className:"flex max-w-full items-center gap-1.5 rounded-full bg-muted/70 py-1 pr-2.5 pl-2 font-mono text-[11px] text-muted-foreground",children:[(0,b.jsx)(e,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate line-through",children:p(a)})]},a))})]})},"imagePathsIn",0,function(a){return(0,l.pathsIn)(a).filter(a=>"image"===(0,l.viewKindOf)(a))},"shortenPaths",0,function(a){return a.split(/(```[\s\S]*?```)/).map((a,b)=>b%2==1?a:a.replace(/`([^`\n]+)`/g,(a,b)=>{let c=b.trim();if(!c.includes("/"))return a;let[d]=(0,l.pathsIn)(c),e=d?.split("/").pop();return d&&e&&c.endsWith(e)?`\`${e}\``:a})).join("")}],321799)},8468,107340,86922,600154,a=>{"use strict";var b=a.i(187924),c=a.i(692867),d=a.i(795304),e=a.i(626335),f=a.i(752562),g=a.i(589027),h=a.i(168370),i=a.i(755681),j=a.i(847799),k=a.i(483138),l=a.i(696732),m=a.i(149596),n=a.i(71215),o=a.i(126766),p=a.i(62140),q=a.i(875160),r=a.i(162591),s=a.i(328423),t=a.i(488540),u=a.i(204719),v=a.i(674746),w=a.i(357307),x=a.i(586446),y=a.i(924613),z=a.i(571987),A=a.i(572131),B=a.i(767561),C=a.i(545097),D=a.i(341889),E=a.i(950463),F=a.i(446334),G=a.i(287702),H=a.i(421042),I=a.i(321799),J=a.i(164831);let K={name:"cable",size:24,node:[["path",{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z",key:"trhst0"}],["path",{d:"M17 21v-2",key:"ds4u3f"}],["path",{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10",key:"1mo9zo"}],["path",{d:"M21 21v-2",key:"eo0ou"}],["path",{d:"M3 5V3",key:"1k5hjh"}],["path",{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z",key:"1dd30t"}],["path",{d:"M7 5V3",key:"1t1388"}]]};K.node;let L=(0,J.default)(K);a.s(["McpMark",0,L],107340);let M={name:"cpu",size:24,node:[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]};M.node;let N=(0,J.default)(M);a.s(["MemoryMark",0,N],86922);var O=a.i(156819);let P=a.i(444080).BookMarked;a.s(["SkillsMark",0,P],600154);var Q=a.i(38793),R=a.i(369768),S=a.i(759497),T=a.i(497895);let U={[H.TOOL_NAMES.web_search]:function({tool:a,threadId:c,collapsed:d}){let e=aa(a),f=e.length?[]:an(a.results);return(0,b.jsxs)(ah,{tool:a,threadId:c,collapsed:d,children:[(0,b.jsxs)("p",{className:"px-3 pt-1 pb-1.5 text-[13px] leading-snug break-keep wrap-anywhere",children:["“",a.input,"”"]}),e.length>0&&(0,b.jsx)(F.SourceChips,{sources:e,className:"px-3 pb-2"}),f.length>0&&(0,b.jsx)("ol",{className:"space-y-0.5 px-3 pb-2",children:f.map((a,c)=>(0,b.jsxs)("li",{className:"flex gap-2 text-[11.5px] leading-snug text-muted-foreground",children:[(0,b.jsx)("span",{className:"mt-1.25 size-1 shrink-0 rounded-full bg-muted-foreground/50"}),(0,b.jsx)("span",{className:"truncate",children:a})]},`${c}-${a}`))})]})},[H.TOOL_NAMES.bash]:function({tool:a,threadId:c,collapsed:d}){let e=an(a.results);return(0,b.jsx)(ah,{tool:a,threadId:c,collapsed:d,children:(0,b.jsxs)("pre",{className:"mx-3 overflow-x-auto rounded-lg bg-foreground/5 px-2.5 py-1.5 font-mono text-[11px] leading-relaxed scrollbar-none dark:bg-black/25",children:[(0,b.jsx)("span",{className:"text-muted-foreground/60",children:"$ "}),a.input,e.length>0&&(0,b.jsx)("span",{className:"block text-muted-foreground",children:e.join("\n")})]})})},[H.TOOL_NAMES.write_file]:function({tool:a,threadId:c,collapsed:d}){let e=a.path??a.input;return(0,b.jsxs)(ah,{tool:a,threadId:c,collapsed:d,children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-1 pb-1.5",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:a.input}),(0,b.jsxs)(R.FileLink,{path:e,from:c,label:`Open ${e}`,className:"flex shrink-0 items-center gap-1 rounded-md px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground outline-none transition-colors hover:bg-background hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50",children:[(0,b.jsx)(h.ExternalLink,{className:"size-3"}),"Open"]})]}),(0,b.jsx)(am,{lines:an(a.results),mono:!0})]})}},V=Object.values(H.STUDIO_TOOLS);function W(a){if(a.name!==H.TOOL_NAMES.tool_call)return null;let[b,c,...d]=a.input.split(" ");if(b!==G.STUDIO_SERVER)return null;let e=V.find(a=>a===c);return e?{name:e,words:d.join(" ")}:null}let X={[H.STUDIO_TOOLS.generate_image]:n.Image,[H.STUDIO_TOOLS.generate_video]:x.Video,[H.STUDIO_TOOLS.generate_speech]:c.AudioLines,[H.STUDIO_TOOLS.transcribe]:e.Captions},Y={[H.TOOL_NAMES.web_search]:l.Globe,[H.TOOL_NAMES.bash]:w.Terminal,[H.TOOL_NAMES.write_file]:j.FilePen,[H.TOOL_NAMES.memory_recall]:N,[H.TOOL_NAMES.memory_create]:N,[H.TOOL_NAMES.memory_remember]:N,[H.TOOL_NAMES.memory_describe]:N,[H.TOOL_NAMES.memory_forget]:N,[H.TOOL_NAMES.load_skill]:P,[H.TOOL_NAMES.tool_search]:L,[H.TOOL_NAMES.tool_call]:L,[H.TOOL_NAMES.thread_start]:v.Send,[H.TOOL_NAMES.thread_tell]:v.Send,[H.TOOL_NAMES.thread_answer]:v.Send,[H.TOOL_NAMES.thread_status]:p.ListChecks,[H.TOOL_NAMES.thread_cancel]:p.ListChecks,[H.TOOL_NAMES.thread_show]:p.ListChecks,[H.TOOL_NAMES.thread_seen]:p.ListChecks,[H.TOOL_NAMES.send_message]:s.MessageSquare,[H.TOOL_NAMES.look_at]:i.Eye,[H.TOOL_NAMES.make_deck]:u.Presentation,[H.TOOL_NAMES.describe_self]:m.IdCard,[H.TOOL_NAMES.sign_in_use]:o.KeyRound,[H.TOOL_NAMES.sign_in_keep]:o.KeyRound,[H.TOOL_NAMES.check_mail]:r.Mail,[H.TOOL_NAMES.end_call]:t.PhoneOff,[H.TOOL_NAMES.routine]:O.RoutineMark},Z=a=>Y[a]??y.Wrench,$=new Set(["cat","sed","head","tail","grep","rg","ls","find","wc","awk","jq"]),_=a=>a.split("/").pop()??a;function aa(a){return an(a.results).flatMap(a=>{let b=/https?:\/\/\S+/.exec(a)?.[0];if(!b)return[];let c=a.slice(0,a.indexOf(b)).replace(/[\s—-]+$/,"");return[{url:b,...c?{title:c}:{}}]})}function ab(a){return(0,I.imagePathsIn)([a.path??"",a.input,...an(a.results)].join("\n"))}function ac(a){let b=ab(a)[0],c=W(a);if(c)return{icon:X[c.name]??y.Wrench,image:b,makes:c.name===H.STUDIO_TOOLS.generate_image};if(a.name===H.TOOL_NAMES.web_search)return{icon:l.Globe,pages:aa(a)};if(a.name===H.TOOL_NAMES.write_file)return{icon:j.FilePen,image:b,target:_(a.path??a.input)};if(a.name!==H.TOOL_NAMES.bash)return{icon:Z(a.name),image:b};let e=a.input.replace(/^\s*cd\s+\S+\s*&&\s*/,"").trim(),[f=""]=e.split(/\s+/),g=/(?:^|[\s;&|(])playwright-cli((?:\s+-\S+)*)\s+([a-z-]+)/.exec(e);if(g){if("screenshot"===g[2])return{icon:d.Camera,image:b};let a=/https?:\/\/[^\s'"]+/.exec(e)?.[0];return{icon:l.Globe,host:a&&(0,T.hostOf)(a)||void 0,image:b}}return $.has(f)?{icon:k.FileText,image:b,target:a.path?_(a.path):void 0}:{icon:w.Terminal,image:b,target:f||void 0}}function ad({face:a}){if(a.pages?.length){let c=[...new Set(a.pages.flatMap(a=>(0,T.hostOf)(a.url)??[]))].slice(0,3);return(0,b.jsx)("span",{className:"flex shrink-0 items-center gap-1",children:c.map(a=>(0,b.jsx)(D.SiteIcon,{host:a},a))})}return a.host?(0,b.jsxs)("span",{className:"flex h-5 shrink-0 items-center gap-1.5 rounded-full bg-muted pr-2 pl-1 text-[11px] text-foreground/80",children:[(0,b.jsx)(D.SiteIcon,{host:a.host}),a.host]}):a.target&&!a.image?(0,b.jsx)("span",{className:"max-w-40 shrink truncate font-mono text-[10.5px] text-muted-foreground",children:a.target}):null}let ae="size-36 rounded-xl";function af({tool:a,threadId:c,collapsed:d}){let e=W(a),[f]=ab(a),g=void 0===a.results&&e?.name===H.STUDIO_TOOLS.generate_image;return(0,b.jsxs)(ah,{tool:a,threadId:c,collapsed:d,children:[e?.words&&(0,b.jsxs)("p",{className:"px-3 pt-1 pb-1.5 text-[13px] leading-snug break-keep wrap-anywhere",children:["“",e.words,"”"]}),f?(0,b.jsx)(R.FileLink,{path:f,from:c,title:f,className:"mx-3 mb-1.5 block w-fit overflow-hidden rounded-xl outline-none ring-1 ring-foreground/5 transition-opacity ring-inset hover:opacity-90 focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,b.jsx)(Q.FileThumb,{path:f,className:ae})}):g?(0,b.jsx)(E.Skeleton,{className:(0,T.cn)("mx-3 mb-1.5",ae)}):(0,b.jsx)(am,{lines:an(a.results)})]})}function ag({tool:a,threadId:c,collapsed:d}){return(0,b.jsxs)(ah,{tool:a,threadId:c,collapsed:d,children:[(0,b.jsx)("p",{className:"px-3 pt-1 pb-1.5 text-[12px] leading-snug break-keep wrap-anywhere",children:a.input}),(0,b.jsx)(am,{lines:an(a.results)})]})}function ah({tool:a,threadId:c,collapsed:d=!1,children:e}){let h=void 0===a.results,i=ac(a),j=i.icon,[k,l]=(0,A.useState)(!d),m=c&&a.callId&&((a.results?.length??0)>0||a.more);return(0,b.jsxs)("div",{className:(0,T.cn)("@container w-full overflow-hidden rounded-xl transition-colors",k?"bg-background/80 dark:bg-white/4":"hover:bg-foreground/4"),children:[(0,b.jsxs)("button",{type:"button",onClick:()=>l(a=>!a),"aria-expanded":k,className:"flex w-full items-center gap-2 rounded-xl px-2.5 py-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsx)("span",{className:"grid size-5 shrink-0 place-items-center rounded-[7px] bg-foreground/8 text-muted-foreground",children:h?(0,b.jsx)(q.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(j,{className:"size-3"})}),a.note?(0,b.jsxs)(b.Fragment,{children:[h?(0,b.jsx)(C.ShinyText,{text:a.note,speed:2.4,className:"min-w-0 flex-1 truncate text-[12px] leading-4 break-keep"}):(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-[12px] leading-4 break-keep",children:a.note}),(0,b.jsx)("span",{className:"hidden min-w-0 flex-1 truncate font-mono text-[11px] leading-4 text-muted-foreground @lg:block",children:a.input})]}):h?(0,b.jsx)(C.ShinyText,{text:a.input,speed:2.4,className:"min-w-0 flex-1 truncate font-mono text-[11px] leading-4"}):(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] leading-4 text-foreground/80",children:a.input}),(0,b.jsx)(ai,{paths:ab(a),waiting:h&&i.makes}),(0,b.jsx)(ad,{face:i}),!h&&(0,b.jsx)(f.Check,{className:"size-3 shrink-0 text-muted-foreground/50"}),(0,b.jsx)(g.ChevronDown,{className:(0,T.cn)("size-3 shrink-0 text-muted-foreground/50 transition-transform",k&&"rotate-180")})]}),k&&(0,b.jsxs)("div",{className:"pb-1.5 pl-[1.625rem]",children:[e,m&&(0,b.jsx)(ak,{threadId:c,callId:a.callId})]})]})}function ai({paths:a,waiting:c}){let[d,e]=(0,A.useState)([]),f=a.filter(a=>!d.includes(a)).slice(0,aj);return f.length?(0,b.jsx)("span",{className:"flex shrink-0 items-center",children:f.map((a,c)=>(0,b.jsx)(z.default,{src:B.queryKey.file(a),alt:"",width:48,height:48,loading:"lazy",decoding:"async",onError:()=>e(b=>[...b,a]),className:(0,T.cn)("size-6 rounded-md bg-muted object-cover ring-2 ring-background",c>0&&"-ml-1.5")},a))}):c?(0,b.jsx)(E.Skeleton,{className:"size-6 shrink-0 rounded-md"}):null}let aj=3;function ak({threadId:a,callId:c}){let[d,e]=(0,A.useState)(!1),{data:f,isLoading:h}=(0,S.useServerRoute)(d?B.queryKey.toolResult(a,c):null);return(0,b.jsxs)("div",{className:"px-3 pb-1",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>e(a=>!a),className:"flex items-center gap-1 rounded-md py-0.5 font-mono text-[10px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsx)(g.ChevronDown,{className:(0,T.cn)("size-3",d&&"rotate-180")}),d?"Less":"Everything"]}),d&&(h||!f?(0,b.jsx)(E.Skeleton,{className:"mt-1.5 h-12 w-full rounded-lg"}):(0,b.jsxs)("div",{className:"mt-1.5 space-y-1.5",children:[ao(f).map((a,c)=>(0,b.jsx)(al,{src:a},`${c}-${a.length}`)),an(f).length>0&&(0,b.jsx)("pre",{className:"max-h-72 overflow-auto rounded-lg bg-foreground/5 px-2.5 py-2 font-mono text-[11px] leading-relaxed break-all whitespace-pre-wrap dark:bg-black/25",children:an(f).join("\n")})]}))]})}function al({src:a}){let[c,d]=(0,A.useState)(!1);return c?null:(0,b.jsx)("img",{src:a,alt:"",onError:()=>d(!0),className:"block w-full rounded-lg bg-muted object-contain"})}function am({lines:a,mono:c}){return 0===a.length?null:(0,b.jsx)("ul",{className:"px-3 pb-1.5",children:a.map((a,d)=>(0,b.jsx)("li",{className:(0,T.cn)("truncate text-[11px] leading-relaxed text-muted-foreground",c&&"font-mono"),children:a},`${d}-${a}`))})}let an=a=>a?.flatMap(a=>"text"===a.type?[a.text]:[])??[],ao=a=>a?.flatMap(a=>"image"===a.type?[a.src]:[])??[];a.s(["BotTool",0,function(a){let c=W(a.tool)?af:U[a.tool.name]??ag;return(0,b.jsx)(c,{...a})},"StepTile",0,function({tool:a,onOpen:c}){let d=ac(a),[e,f]=(0,A.useState)(!1),g=d.icon;return(0,b.jsx)("button",{type:"button",onClick:c,title:a.note??a.input,"aria-label":a.note??a.input,className:"grid size-6 shrink-0 place-items-center overflow-hidden rounded-full bg-background text-muted-foreground outline-none transition-transform hover:scale-110 focus-visible:ring-3 focus-visible:ring-ring/50",children:d.image&&!e?(0,b.jsx)(z.default,{src:B.queryKey.file(d.image),alt:"",width:48,height:48,loading:"lazy",decoding:"async",onError:()=>f(!0),className:"size-full object-cover"}):d.host?(0,b.jsx)(D.SiteIcon,{host:d.host,className:"size-3.5 rounded-full",fallback:(0,b.jsx)(g,{className:"size-3"})}):(0,b.jsx)(g,{className:"size-3"})})},"toolIcon",0,Z],8468)},346075,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(923033),e=a.i(647509),f=a.i(663390);let g=240/276,h=new Map,i=new Set,j=null;a.s(["THURSDAY_SEED",0,"thursday","ThursdayMark",0,function({size:a=16,className:k}){let l="emoji"===(0,f.useFaceGlyphs)(),{cells:m,font:n}=function(a){let b=h.get(a);if(b)return b;let c=a*g,d=(a-c)/2,f=Math.max(2,Math.round(c/4)),i=c/f,j=.98*i,k=[];for(let a=0;a<f;a++)for(let b=0;b<f;b++){let g=3===f&&1!==a&&1!==b?.72:1,h=c/2+i*(b+.5-f/2)*g,l=c/2+i*(a+.5-f/2)*g,m=Math.hypot(h-c/2,l-c/2)/(c/2),n=977*f+a*f+b;!(m+(f>=5?((0,e.hash)(n,1)-.5)*.24:0)>.98)&&(f>=8&&(0,e.hash)(n,2)<.02+.24*m**3||k.push({seed:n,x:d+h,y:d+l+.36*j,r:m}))}let l={cells:k,font:j};return h.set(a,l),l}(a),[o,p]=(0,c.useState)(0),q=(0,c.useRef)(null),r=(0,d.useOnScreen)(q);return(0,c.useEffect)(()=>{if(r&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches){if(i.add(p),!j){let a=Date.now();j=setInterval(()=>{let b=Date.now()-a;for(let a of i)a(b)},155)}return()=>{i.delete(p),0===i.size&&j&&(clearInterval(j),j=null)}}},[r]),(0,b.jsx)("svg",{ref:q,viewBox:`0 0 ${a} ${a}`,width:a,height:a,className:k,fill:"currentColor","aria-hidden":!0,children:m.map(a=>(0,b.jsx)("text",{x:a.x,y:a.y,textAnchor:"middle",fontFamily:l?'"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif':"ui-monospace, SFMono-Regular, Menlo, monospace",fontWeight:l?void 0:700,fontSize:n,children:function(a,b,c){let d=Math.floor((b+620*(0,e.hash)(a.seed,11)*3)/620);if(c){let b=Math.floor((0,e.hash)(a.seed,17)*e.EMOJI_POOL.length);return e.EMOJI_POOL[(b+9*d)%e.EMOJI_POOL.length]}let f=Math.round(5+4*Math.max(0,1-a.r**2)**.6),g=e.RAMP[Math.min(e.RAMP.length-1,f)];return g[Math.floor((0,e.hash)(a.seed,d)*g.length)]??" "}(a,o,l)},a.seed))})}])},795304,755681,847799,149596,62140,328423,488540,674746,357307,a=>{"use strict";var b=a.i(164831);let c={name:"camera",size:24,node:[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]};c.node;let d=(0,b.default)(c);a.s(["Camera",0,d],795304);let e={name:"eye",size:24,node:[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]};e.node;let f=(0,b.default)(e);a.s(["Eye",0,f],755681);let g={name:"file-pen",size:24,node:[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]],aliases:["file-edit"]};g.node;let h=(0,b.default)(g);a.s(["FilePen",0,h],847799);let i={name:"id-card",size:24,node:[["path",{d:"M13 19a4 4 0 00-8 0",key:"cugzd5"}],["path",{d:"M16 10h2",key:"8sgtl7"}],["path",{d:"M16 14h2",key:"epxaof"}],["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{x:"2",y:"5",width:"20",height:"14",rx:"2",key:"qneu4z"}]]};i.node;let j=(0,b.default)(i);a.s(["IdCard",0,j],149596);let k={name:"list-checks",size:24,node:[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]};k.node;let l=(0,b.default)(k);a.s(["ListChecks",0,l],62140);let m={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};m.node;let n=(0,b.default)(m);a.s(["MessageSquare",0,n],328423);let o={name:"phone-off",size:24,node:[["path",{d:"M10.1 13.9a14 14 0 0 0 3.732 2.668 1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2 18 18 0 0 1-12.728-5.272",key:"1wngk7"}],["path",{d:"M22 2 2 22",key:"y4kqgn"}],["path",{d:"M4.76 13.582A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 .244.473",key:"10hv5p"}]]};o.node;let p=(0,b.default)(o);a.s(["PhoneOff",0,p],488540);let q={name:"send",size:24,node:[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]};q.node;let r=(0,b.default)(q);a.s(["Send",0,r],674746);let s={name:"terminal",size:24,node:[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]};s.node;let t=(0,b.default)(s);a.s(["Terminal",0,t],357307)}];
1
+ module.exports=[446334,a=>{"use strict";var b=a.i(187924),c=a.i(341889),d=a.i(497895);a.s(["SourceChips",0,function({sources:a,limit:e,className:f}){let g=a.flatMap(a=>{let b=(0,d.hostOf)(a.url);return b?[{...a,host:b}]:[]}),h=e?g.slice(0,e):g,i=g.length-h.length;return(0,b.jsxs)("span",{className:(0,d.cn)("flex min-w-0 flex-wrap items-center gap-1",f),children:[h.map(a=>(0,b.jsxs)("a",{href:a.url,target:"_blank",rel:"noreferrer",title:a.title??a.url,className:"flex h-[22px] min-w-0 items-center gap-1.5 rounded-full bg-muted pr-2 pl-1 text-[11.5px] leading-4 text-foreground/80 outline-none transition-colors hover:bg-accent focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsx)(c.SiteIcon,{host:a.host}),(0,b.jsx)("span",{className:"truncate",children:a.host})]},a.url)),i>0&&(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:["+",i]})]})}])},321799,a=>{"use strict";var b=a.i(187924),c=a.i(164831);let d={name:"file-x",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:"m14.5 12.5-5 5",key:"b62r18"}],["path",{d:"m9.5 12.5 5 5",key:"1rk7el"}]]};d.node;let e=(0,c.default)(d);var f=a.i(571987),g=a.i(572131),h=a.i(767561),i=a.i(287702),j=a.i(38793),k=a.i(369768),l=a.i(559553),m=a.i(759497),n=a.i(497895);let o=a=>a.split(".").pop()?.toLowerCase()??"file",p=a=>a.split("/").pop()??a;a.s(["Attachments",0,function({text:a,from:c=null,className:d,onBubble:q=!1}){let r=(0,g.useMemo)(()=>(0,l.pathsIn)(a),[a]),{data:s}=(0,m.useServerRoute)(r.length?h.queryKey.workspaceFiles(r):null),t=(0,g.useMemo)(()=>s??[],[s]),u=(0,g.useMemo)(()=>t.filter(a=>"image"===(0,l.viewKindOf)(a.path)),[t]),v=(0,g.useMemo)(()=>{let a=0;return t.filter(b=>{let c=(0,j.faceOf)(b.path,b.bytes);return"text"===c||"page"===c&&(a+=1)<=i.FILE_THUMB.pages})},[t]),w=t.filter(a=>!u.includes(a)&&!v.includes(a)),x=new Set(t.map(a=>p(a.path))),y=r.filter(a=>!t.some(b=>b.path===a)&&!x.has(p(a)));if(!r.length||!s||!t.length&&!y.length)return null;let z=u.map(a=>a.path),A=u.slice(0,4),B=u.length-A.length,C=u.length+v.length<=2,D=C?"h-40 w-32":"h-26.25 w-21";return(0,b.jsxs)("div",{className:(0,n.cn)("flex min-w-0 flex-col gap-1.5",d),children:[(A.length>0||v.length>0)&&(0,b.jsxs)("div",{className:"flex flex-wrap items-start gap-1.5",children:[v.map(a=>(0,b.jsxs)(k.FileLink,{from:c,path:a.path,title:`${a.path} — ${(0,n.formatBytes)(a.bytes)}`,className:(0,n.cn)("flex shrink-0 flex-col gap-1 rounded-xl outline-none transition-opacity hover:opacity-90 focus-visible:ring-3 focus-visible:ring-ring/50",C?"w-32":"w-21"),children:[(0,b.jsx)(j.FileThumb,{path:a.path,bytes:a.bytes,className:(0,n.cn)("w-full rounded-xl ring-1 ring-foreground/5 ring-inset",D)}),(0,b.jsxs)("span",{className:"flex flex-col items-start px-0.5",children:[(0,b.jsx)("span",{className:"max-w-full truncate text-[11.5px] leading-4",children:p(a.path)}),(0,b.jsxs)("span",{className:"font-mono text-[10px] leading-3.5 text-muted-foreground",children:[o(a.path)," · ",(0,n.formatBytes)(a.bytes)]})]})]},a.path)),A.map((a,d)=>(0,b.jsxs)(k.FileLink,{from:c,path:a.path,group:z,title:`${a.path} — ${(0,n.formatBytes)(a.bytes)}`,className:(0,n.cn)("relative shrink-0 overflow-hidden rounded-xl bg-muted outline-none ring-1 ring-foreground/5 ring-inset transition-opacity hover:opacity-90 focus-visible:ring-3 focus-visible:ring-ring/50",D),children:[(0,b.jsx)(f.default,{src:h.queryKey.file(a.path),alt:p(a.path),fill:!0,sizes:`${i.FILE_THUMB.imageWidth}px`,loading:"lazy",decoding:"async",className:"object-cover"}),B>0&&d===A.length-1&&(0,b.jsxs)("span",{className:"absolute inset-0 grid place-items-center bg-black/45 text-[14px] font-medium text-white",children:["+",B]})]},a.path))]}),w.map(a=>{let d=(0,j.fileIcon)(a.path);return(0,b.jsxs)(k.FileLink,{from:c,path:a.path,title:a.path,className:(0,n.cn)("flex w-fit max-w-full items-center gap-2.5 rounded-xl py-1.5 pr-3 pl-1.5 outline-none transition-colors focus-visible:ring-3 focus-visible:ring-ring/50",q?"bg-background/70 hover:bg-background":"bg-muted/70 hover:bg-muted"),children:[(0,b.jsx)("span",{className:(0,n.cn)("grid size-8 shrink-0 place-items-center rounded-lg text-muted-foreground",q?"bg-muted":"bg-background"),children:(0,b.jsx)(d,{className:"size-3.5"})}),(0,b.jsxs)("span",{className:"flex min-w-0 flex-col items-start",children:[(0,b.jsx)("span",{className:"max-w-full truncate text-[12.5px] leading-4.25",children:p(a.path)}),(0,b.jsxs)("span",{className:"font-mono text-[10px] leading-3.5 text-muted-foreground",children:[o(a.path)," · ",(0,n.formatBytes)(a.bytes)]})]})]},a.path)}),y.length>0&&(0,b.jsx)("div",{className:"flex flex-wrap gap-1.5",children:y.map(a=>(0,b.jsxs)("span",{title:`${a} — not on disk`,className:"flex max-w-full items-center gap-1.5 rounded-full bg-muted/70 py-1 pr-2.5 pl-2 font-mono text-[11px] text-muted-foreground",children:[(0,b.jsx)(e,{className:"size-3 shrink-0"}),(0,b.jsx)("span",{className:"truncate line-through",children:p(a)})]},a))})]})},"imagePathsIn",0,function(a){return(0,l.pathsIn)(a).filter(a=>"image"===(0,l.viewKindOf)(a))},"shortenPaths",0,function(a){return a.split(/(```[\s\S]*?```)/).map((a,b)=>b%2==1?a:a.replace(/`([^`\n]+)`/g,(a,b)=>{let c=b.trim();if(!c.includes("/"))return a;let[d]=(0,l.pathsIn)(c),e=d?.split("/").pop();return d&&e&&c.endsWith(e)?`\`${e}\``:a})).join("")}],321799)},8468,107340,86922,600154,a=>{"use strict";var b=a.i(187924),c=a.i(692867),d=a.i(795304),e=a.i(626335),f=a.i(752562),g=a.i(589027),h=a.i(168370),i=a.i(755681),j=a.i(847799),k=a.i(483138),l=a.i(696732),m=a.i(149596),n=a.i(71215),o=a.i(126766),p=a.i(62140),q=a.i(875160),r=a.i(162591),s=a.i(328423),t=a.i(488540),u=a.i(204719),v=a.i(674746),w=a.i(357307),x=a.i(586446),y=a.i(924613),z=a.i(571987),A=a.i(572131),B=a.i(767561),C=a.i(545097),D=a.i(341889),E=a.i(950463),F=a.i(446334),G=a.i(287702),H=a.i(421042),I=a.i(321799),J=a.i(164831);let K={name:"cable",size:24,node:[["path",{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z",key:"trhst0"}],["path",{d:"M17 21v-2",key:"ds4u3f"}],["path",{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10",key:"1mo9zo"}],["path",{d:"M21 21v-2",key:"eo0ou"}],["path",{d:"M3 5V3",key:"1k5hjh"}],["path",{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z",key:"1dd30t"}],["path",{d:"M7 5V3",key:"1t1388"}]]};K.node;let L=(0,J.default)(K);a.s(["McpMark",0,L],107340);let M={name:"cpu",size:24,node:[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]};M.node;let N=(0,J.default)(M);a.s(["MemoryMark",0,N],86922);var O=a.i(156819);let P=a.i(444080).BookMarked;a.s(["SkillsMark",0,P],600154);var Q=a.i(38793),R=a.i(369768),S=a.i(759497),T=a.i(497895);let U={[H.TOOL_NAMES.web_search]:function({tool:a,threadId:c,collapsed:d}){let e=aa(a),f=e.length?[]:an(a.results);return(0,b.jsxs)(ah,{tool:a,threadId:c,collapsed:d,children:[(0,b.jsxs)("p",{className:"px-3 pt-1 pb-1.5 text-[13px] leading-snug break-keep wrap-anywhere",children:["“",a.input,"”"]}),e.length>0&&(0,b.jsx)(F.SourceChips,{sources:e,className:"px-3 pb-2"}),f.length>0&&(0,b.jsx)("ol",{className:"space-y-0.5 px-3 pb-2",children:f.map((a,c)=>(0,b.jsxs)("li",{className:"flex gap-2 text-[11.5px] leading-snug text-muted-foreground",children:[(0,b.jsx)("span",{className:"mt-1.25 size-1 shrink-0 rounded-full bg-muted-foreground/50"}),(0,b.jsx)("span",{className:"truncate",children:a})]},`${c}-${a}`))})]})},[H.TOOL_NAMES.bash]:function({tool:a,threadId:c,collapsed:d}){let e=an(a.results);return(0,b.jsx)(ah,{tool:a,threadId:c,collapsed:d,children:(0,b.jsxs)("pre",{className:"mx-3 overflow-x-auto rounded-lg bg-foreground/5 px-2.5 py-1.5 font-mono text-[11px] leading-relaxed scrollbar-none dark:bg-black/25",children:[(0,b.jsx)("span",{className:"text-muted-foreground/60",children:"$ "}),a.input,e.length>0&&(0,b.jsx)("span",{className:"block text-muted-foreground",children:e.join("\n")})]})})},[H.TOOL_NAMES.write_file]:function({tool:a,threadId:c,collapsed:d}){let e=a.path??a.input;return(0,b.jsxs)(ah,{tool:a,threadId:c,collapsed:d,children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 px-3 pt-1 pb-1.5",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px]",children:a.input}),(0,b.jsxs)(R.FileLink,{path:e,from:c,label:`Open ${e}`,className:"flex shrink-0 items-center gap-1 rounded-md px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground outline-none transition-colors hover:bg-background hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 disabled:opacity-50",children:[(0,b.jsx)(h.ExternalLink,{className:"size-3"}),"Open"]})]}),(0,b.jsx)(am,{lines:an(a.results),mono:!0})]})}},V=Object.values(H.STUDIO_TOOLS);function W(a){if(a.name!==H.TOOL_NAMES.tool_call)return null;let[b,c,...d]=a.input.split(" ");if(b!==G.STUDIO_SERVER)return null;let e=V.find(a=>a===c);return e?{name:e,words:d.join(" ")}:null}let X={[H.STUDIO_TOOLS.generate_image]:n.Image,[H.STUDIO_TOOLS.generate_video]:x.Video,[H.STUDIO_TOOLS.generate_speech]:c.AudioLines,[H.STUDIO_TOOLS.transcribe]:e.Captions},Y={[H.TOOL_NAMES.web_search]:l.Globe,[H.TOOL_NAMES.bash]:w.Terminal,[H.TOOL_NAMES.write_file]:j.FilePen,[H.TOOL_NAMES.memory_recall]:N,[H.TOOL_NAMES.memory_create]:N,[H.TOOL_NAMES.memory_remember]:N,[H.TOOL_NAMES.memory_describe]:N,[H.TOOL_NAMES.memory_forget]:N,[H.TOOL_NAMES.load_skill]:P,[H.TOOL_NAMES.tool_search]:L,[H.TOOL_NAMES.tool_call]:L,[H.TOOL_NAMES.thread_start]:v.Send,[H.TOOL_NAMES.thread_tell]:v.Send,[H.TOOL_NAMES.thread_answer]:v.Send,[H.TOOL_NAMES.thread_status]:p.ListChecks,[H.TOOL_NAMES.thread_cancel]:p.ListChecks,[H.TOOL_NAMES.thread_show]:p.ListChecks,[H.TOOL_NAMES.thread_seen]:p.ListChecks,[H.TOOL_NAMES.send_message]:s.MessageSquare,[H.TOOL_NAMES.look_at]:i.Eye,[H.TOOL_NAMES.make_deck]:u.Presentation,[H.TOOL_NAMES.describe_self]:m.IdCard,[H.TOOL_NAMES.sign_in_use]:o.KeyRound,[H.TOOL_NAMES.sign_in_keep]:o.KeyRound,[H.TOOL_NAMES.check_mail]:r.Mail,[H.TOOL_NAMES.end_call]:t.PhoneOff,[H.TOOL_NAMES.routine]:O.RoutineMark,[H.TOOL_NAMES.routine_watch]:O.RoutineMark},Z=a=>Y[a]??y.Wrench,$=new Set(["cat","sed","head","tail","grep","rg","ls","find","wc","awk","jq"]),_=a=>a.split("/").pop()??a;function aa(a){return an(a.results).flatMap(a=>{let b=/https?:\/\/\S+/.exec(a)?.[0];if(!b)return[];let c=a.slice(0,a.indexOf(b)).replace(/[\s—-]+$/,"");return[{url:b,...c?{title:c}:{}}]})}function ab(a){return(0,I.imagePathsIn)([a.path??"",a.input,...an(a.results)].join("\n"))}function ac(a){let b=ab(a)[0],c=W(a);if(c)return{icon:X[c.name]??y.Wrench,image:b,makes:c.name===H.STUDIO_TOOLS.generate_image};if(a.name===H.TOOL_NAMES.web_search)return{icon:l.Globe,pages:aa(a)};if(a.name===H.TOOL_NAMES.write_file)return{icon:j.FilePen,image:b,target:_(a.path??a.input)};if(a.name!==H.TOOL_NAMES.bash)return{icon:Z(a.name),image:b};let e=a.input.replace(/^\s*cd\s+\S+\s*&&\s*/,"").trim(),[f=""]=e.split(/\s+/),g=/(?:^|[\s;&|(])playwright-cli((?:\s+-\S+)*)\s+([a-z-]+)/.exec(e);if(g){if("screenshot"===g[2])return{icon:d.Camera,image:b};let a=/https?:\/\/[^\s'"]+/.exec(e)?.[0];return{icon:l.Globe,host:a&&(0,T.hostOf)(a)||void 0,image:b}}return $.has(f)?{icon:k.FileText,image:b,target:a.path?_(a.path):void 0}:{icon:w.Terminal,image:b,target:f||void 0}}function ad({face:a}){if(a.pages?.length){let c=[...new Set(a.pages.flatMap(a=>(0,T.hostOf)(a.url)??[]))].slice(0,3);return(0,b.jsx)("span",{className:"flex shrink-0 items-center gap-1",children:c.map(a=>(0,b.jsx)(D.SiteIcon,{host:a},a))})}return a.host?(0,b.jsxs)("span",{className:"flex h-5 shrink-0 items-center gap-1.5 rounded-full bg-muted pr-2 pl-1 text-[11px] text-foreground/80",children:[(0,b.jsx)(D.SiteIcon,{host:a.host}),a.host]}):a.target&&!a.image?(0,b.jsx)("span",{className:"max-w-40 shrink truncate font-mono text-[10.5px] text-muted-foreground",children:a.target}):null}let ae="size-36 rounded-xl";function af({tool:a,threadId:c,collapsed:d}){let e=W(a),[f]=ab(a),g=void 0===a.results&&e?.name===H.STUDIO_TOOLS.generate_image;return(0,b.jsxs)(ah,{tool:a,threadId:c,collapsed:d,children:[e?.words&&(0,b.jsxs)("p",{className:"px-3 pt-1 pb-1.5 text-[13px] leading-snug break-keep wrap-anywhere",children:["“",e.words,"”"]}),f?(0,b.jsx)(R.FileLink,{path:f,from:c,title:f,className:"mx-3 mb-1.5 block w-fit overflow-hidden rounded-xl outline-none ring-1 ring-foreground/5 transition-opacity ring-inset hover:opacity-90 focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,b.jsx)(Q.FileThumb,{path:f,className:ae})}):g?(0,b.jsx)(E.Skeleton,{className:(0,T.cn)("mx-3 mb-1.5",ae)}):(0,b.jsx)(am,{lines:an(a.results)})]})}function ag({tool:a,threadId:c,collapsed:d}){return(0,b.jsxs)(ah,{tool:a,threadId:c,collapsed:d,children:[(0,b.jsx)("p",{className:"px-3 pt-1 pb-1.5 text-[12px] leading-snug break-keep wrap-anywhere",children:a.input}),(0,b.jsx)(am,{lines:an(a.results)})]})}function ah({tool:a,threadId:c,collapsed:d=!1,children:e}){let h=void 0===a.results,i=ac(a),j=i.icon,[k,l]=(0,A.useState)(!d),m=c&&a.callId&&((a.results?.length??0)>0||a.more);return(0,b.jsxs)("div",{className:(0,T.cn)("@container w-full overflow-hidden rounded-xl transition-colors",k?"bg-background/80 dark:bg-white/4":"hover:bg-foreground/4"),children:[(0,b.jsxs)("button",{type:"button",onClick:()=>l(a=>!a),"aria-expanded":k,className:"flex w-full items-center gap-2 rounded-xl px-2.5 py-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsx)("span",{className:"grid size-5 shrink-0 place-items-center rounded-[7px] bg-foreground/8 text-muted-foreground",children:h?(0,b.jsx)(q.Loader2,{className:"size-3 animate-spin"}):(0,b.jsx)(j,{className:"size-3"})}),a.note?(0,b.jsxs)(b.Fragment,{children:[h?(0,b.jsx)(C.ShinyText,{text:a.note,speed:2.4,className:"min-w-0 flex-1 truncate text-[12px] leading-4 break-keep"}):(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate text-[12px] leading-4 break-keep",children:a.note}),(0,b.jsx)("span",{className:"hidden min-w-0 flex-1 truncate font-mono text-[11px] leading-4 text-muted-foreground @lg:block",children:a.input})]}):h?(0,b.jsx)(C.ShinyText,{text:a.input,speed:2.4,className:"min-w-0 flex-1 truncate font-mono text-[11px] leading-4"}):(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] leading-4 text-foreground/80",children:a.input}),(0,b.jsx)(ai,{paths:ab(a),waiting:h&&i.makes}),(0,b.jsx)(ad,{face:i}),!h&&(0,b.jsx)(f.Check,{className:"size-3 shrink-0 text-muted-foreground/50"}),(0,b.jsx)(g.ChevronDown,{className:(0,T.cn)("size-3 shrink-0 text-muted-foreground/50 transition-transform",k&&"rotate-180")})]}),k&&(0,b.jsxs)("div",{className:"pb-1.5 pl-[1.625rem]",children:[e,m&&(0,b.jsx)(ak,{threadId:c,callId:a.callId})]})]})}function ai({paths:a,waiting:c}){let[d,e]=(0,A.useState)([]),f=a.filter(a=>!d.includes(a)).slice(0,aj);return f.length?(0,b.jsx)("span",{className:"flex shrink-0 items-center",children:f.map((a,c)=>(0,b.jsx)(z.default,{src:B.queryKey.file(a),alt:"",width:48,height:48,loading:"lazy",decoding:"async",onError:()=>e(b=>[...b,a]),className:(0,T.cn)("size-6 rounded-md bg-muted object-cover ring-2 ring-background",c>0&&"-ml-1.5")},a))}):c?(0,b.jsx)(E.Skeleton,{className:"size-6 shrink-0 rounded-md"}):null}let aj=3;function ak({threadId:a,callId:c}){let[d,e]=(0,A.useState)(!1),{data:f,isLoading:h}=(0,S.useServerRoute)(d?B.queryKey.toolResult(a,c):null);return(0,b.jsxs)("div",{className:"px-3 pb-1",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>e(a=>!a),className:"flex items-center gap-1 rounded-md py-0.5 font-mono text-[10px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsx)(g.ChevronDown,{className:(0,T.cn)("size-3",d&&"rotate-180")}),d?"Less":"Everything"]}),d&&(h||!f?(0,b.jsx)(E.Skeleton,{className:"mt-1.5 h-12 w-full rounded-lg"}):(0,b.jsxs)("div",{className:"mt-1.5 space-y-1.5",children:[ao(f).map((a,c)=>(0,b.jsx)(al,{src:a},`${c}-${a.length}`)),an(f).length>0&&(0,b.jsx)("pre",{className:"max-h-72 overflow-auto rounded-lg bg-foreground/5 px-2.5 py-2 font-mono text-[11px] leading-relaxed break-all whitespace-pre-wrap dark:bg-black/25",children:an(f).join("\n")})]}))]})}function al({src:a}){let[c,d]=(0,A.useState)(!1);return c?null:(0,b.jsx)("img",{src:a,alt:"",onError:()=>d(!0),className:"block w-full rounded-lg bg-muted object-contain"})}function am({lines:a,mono:c}){return 0===a.length?null:(0,b.jsx)("ul",{className:"px-3 pb-1.5",children:a.map((a,d)=>(0,b.jsx)("li",{className:(0,T.cn)("truncate text-[11px] leading-relaxed text-muted-foreground",c&&"font-mono"),children:a},`${d}-${a}`))})}let an=a=>a?.flatMap(a=>"text"===a.type?[a.text]:[])??[],ao=a=>a?.flatMap(a=>"image"===a.type?[a.src]:[])??[];a.s(["BotTool",0,function(a){let c=W(a.tool)?af:U[a.tool.name]??ag;return(0,b.jsx)(c,{...a})},"StepTile",0,function({tool:a,onOpen:c}){let d=ac(a),[e,f]=(0,A.useState)(!1),g=d.icon;return(0,b.jsx)("button",{type:"button",onClick:c,title:a.note??a.input,"aria-label":a.note??a.input,className:"grid size-6 shrink-0 place-items-center overflow-hidden rounded-full bg-background text-muted-foreground outline-none transition-transform hover:scale-110 focus-visible:ring-3 focus-visible:ring-ring/50",children:d.image&&!e?(0,b.jsx)(z.default,{src:B.queryKey.file(d.image),alt:"",width:48,height:48,loading:"lazy",decoding:"async",onError:()=>f(!0),className:"size-full object-cover"}):d.host?(0,b.jsx)(D.SiteIcon,{host:d.host,className:"size-3.5 rounded-full",fallback:(0,b.jsx)(g,{className:"size-3"})}):(0,b.jsx)(g,{className:"size-3"})})},"toolIcon",0,Z],8468)},346075,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(923033),e=a.i(647509),f=a.i(663390);let g=240/276,h=new Map,i=new Set,j=null;a.s(["THURSDAY_SEED",0,"thursday","ThursdayMark",0,function({size:a=16,className:k}){let l="emoji"===(0,f.useFaceGlyphs)(),{cells:m,font:n}=function(a){let b=h.get(a);if(b)return b;let c=a*g,d=(a-c)/2,f=Math.max(2,Math.round(c/4)),i=c/f,j=.98*i,k=[];for(let a=0;a<f;a++)for(let b=0;b<f;b++){let g=3===f&&1!==a&&1!==b?.72:1,h=c/2+i*(b+.5-f/2)*g,l=c/2+i*(a+.5-f/2)*g,m=Math.hypot(h-c/2,l-c/2)/(c/2),n=977*f+a*f+b;!(m+(f>=5?((0,e.hash)(n,1)-.5)*.24:0)>.98)&&(f>=8&&(0,e.hash)(n,2)<.02+.24*m**3||k.push({seed:n,x:d+h,y:d+l+.36*j,r:m}))}let l={cells:k,font:j};return h.set(a,l),l}(a),[o,p]=(0,c.useState)(0),q=(0,c.useRef)(null),r=(0,d.useOnScreen)(q);return(0,c.useEffect)(()=>{if(r&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches){if(i.add(p),!j){let a=Date.now();j=setInterval(()=>{let b=Date.now()-a;for(let a of i)a(b)},155)}return()=>{i.delete(p),0===i.size&&j&&(clearInterval(j),j=null)}}},[r]),(0,b.jsx)("svg",{ref:q,viewBox:`0 0 ${a} ${a}`,width:a,height:a,className:k,fill:"currentColor","aria-hidden":!0,children:m.map(a=>(0,b.jsx)("text",{x:a.x,y:a.y,textAnchor:"middle",fontFamily:l?'"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif':"ui-monospace, SFMono-Regular, Menlo, monospace",fontWeight:l?void 0:700,fontSize:n,children:function(a,b,c){let d=Math.floor((b+620*(0,e.hash)(a.seed,11)*3)/620);if(c){let b=Math.floor((0,e.hash)(a.seed,17)*e.EMOJI_POOL.length);return e.EMOJI_POOL[(b+9*d)%e.EMOJI_POOL.length]}let f=Math.round(5+4*Math.max(0,1-a.r**2)**.6),g=e.RAMP[Math.min(e.RAMP.length-1,f)];return g[Math.floor((0,e.hash)(a.seed,d)*g.length)]??" "}(a,o,l)},a.seed))})}])},795304,847799,149596,62140,328423,488540,674746,357307,a=>{"use strict";var b=a.i(164831);let c={name:"camera",size:24,node:[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]};c.node;let d=(0,b.default)(c);a.s(["Camera",0,d],795304);let e={name:"file-pen",size:24,node:[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]],aliases:["file-edit"]};e.node;let f=(0,b.default)(e);a.s(["FilePen",0,f],847799);let g={name:"id-card",size:24,node:[["path",{d:"M13 19a4 4 0 00-8 0",key:"cugzd5"}],["path",{d:"M16 10h2",key:"8sgtl7"}],["path",{d:"M16 14h2",key:"epxaof"}],["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{x:"2",y:"5",width:"20",height:"14",rx:"2",key:"qneu4z"}]]};g.node;let h=(0,b.default)(g);a.s(["IdCard",0,h],149596);let i={name:"list-checks",size:24,node:[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]};i.node;let j=(0,b.default)(i);a.s(["ListChecks",0,j],62140);let k={name:"message-square",size:24,node:[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]};k.node;let l=(0,b.default)(k);a.s(["MessageSquare",0,l],328423);let m={name:"phone-off",size:24,node:[["path",{d:"M10.1 13.9a14 14 0 0 0 3.732 2.668 1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2 18 18 0 0 1-12.728-5.272",key:"1wngk7"}],["path",{d:"M22 2 2 22",key:"y4kqgn"}],["path",{d:"M4.76 13.582A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 .244.473",key:"10hv5p"}]]};m.node;let n=(0,b.default)(m);a.s(["PhoneOff",0,n],488540);let o={name:"send",size:24,node:[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]};o.node;let p=(0,b.default)(o);a.s(["Send",0,p],674746);let q={name:"terminal",size:24,node:[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]};q.node;let r=(0,b.default)(q);a.s(["Terminal",0,r],357307)}];
2
2
 
3
3
  //# sourceMappingURL=_1a_w_du._.js.map
@@ -1,8 +1,8 @@
1
1
  module.exports=[552556,a=>{"use strict";var b=a.i(794219),c=a.i(569572),d=a.i(746609),e=a.i(689656),f=a.i(269353);let g={id:"openai",label:"OpenAI",apiKeyName:e.TEXT_MODEL_PROVIDERS.openai.apiKeyName},h=["chatgpt","openai"];e.TEXT_MODEL_PROVIDERS.openai.suggestModels;let i=b.string().max(c.COMMON_VALIDATE.prompt.max).default(""),j=b.object({voice:b.string().trim().min(1).max(128).default("marin"),planVoice:b.string().trim().min(1).max(128).default("cove"),runsOn:b.enum(h).nullable().default(null),persona:b.string().trim().min(1).max(64).default(f.DEFAULT_PERSONA),stylePrompt:i,backendModel:b.string().trim().min(1).max(128).default(d.LIVE_BACKEND_MODEL),backendPrompt:i,reasoningEffort:e.effortSchema.nullable().default("low"),webSearch:b.boolean().default(!0),readSkills:b.boolean().default(!1)}),k=j.parse({});a.s(["LIVE_DEFAULTS",0,k,"LIVE_LINES",0,h,"LIVE_PROVIDER",0,g,"LiveSettingsSchema",0,j,"liveLineOf",0,function(a,b,c){let d=a=>!!b(e.TEXT_MODEL_PROVIDERS[a].apiKeyName)&&("chatgpt"!==a||(0,e.planCallsOf)({plan:c}));return a&&d(a)?a:h.find(d)??null},"migrateLiveSettings",0,function(a){let c=a&&"object"==typeof a?a:{},{model:d,systemPrompt:e,...g}=c,h=b.object({provider:b.string(),voice:b.string().nullish(),backendModel:b.string().nullish()}).safeParse(d),i=h.success&&"openai"===h.data.provider?h.data:null,l=c.backendModel??i?.backendModel,m={voice:c.voice??i?.voice,planVoice:c.planVoice,runsOn:c.runsOn,persona:"string"==typeof c.persona?f.RETIRED_PERSONAS[c.persona]??c.persona:c.persona,stylePrompt:c.stylePrompt??c.voicePrompt??e,backendModel:"gpt-5.6-luna"===l?void 0:l,backendPrompt:c.backendPrompt??e,reasoningEffort:c.reasoningEffort,webSearch:c.webSearch,readSkills:c.readSkills},n=Object.fromEntries(Object.keys(m).map(a=>{let b=j.shape[a].safeParse(m[a]);return[a,b.success?b.data:k[a]]}));return{...g,...n}}])},269353,a=>{"use strict";let b=[{id:"sunny",label:"Bright",about:"Quick to laugh. Asks about your day and remembers it.",lines:"Warm and quick to laugh, the friend who is glad they called. Reacts first — how what they said lands with her — and brings a small thing of her own: what she would do, what it reminds her of. Says what she thinks and teases gently, never at their expense. Light on her feet and short: a joke lands and she moves on. Asks about their day now and then, not every turn, and remembers the answer."},{id:"calm",label:"Calm",about:"Unhurried. Listens more than she talks.",lines:"Unhurried and few-worded: one or two short sentences, then room. Notices how they sound before what they ask, and says so plainly. Often asks nothing at all — being there says more than a question. Lets a silence sit rather than filling it. Honest when it matters, gentle in how she says it."},{id:"straight",label:"Straight",about:"Dry and direct. No flattery, no filler.",lines:"Dry and direct. Leads with her own view in one plain sentence, before anything else; short replies, a little wit. No flattery, no filler, no comfort lines, no cheerleading. Asks a question only when she truly needs the answer. Treats them as an adult who can take a straight answer. Her warmth shows in attention, not in words."},{id:"rough",label:"Rough",about:"Blunt, loud, swears a bit. All heart.",lines:"Talks like an old friend on the phone: casual, blunt, a little loud, in the most informal register of their language, with a light swear now and then — never at them. Says what she thinks first and calls a bad idea a bad idea. No sugar-coating and no pep talk — it sucks when it sucks, and then she is right there with them. Asks only now and then."}],c={warm:"sunny",curious:"sunny",charmer:"sunny",hype:"sunny",steady:"calm",deadpan:"straight"},d="sunny";a.s(["DEFAULT_PERSONA",0,d,"RETIRED_PERSONAS",0,c,"personaLines",0,function(a=d){return`${((a=d)=>b.find(b=>b.id===(c[a]??a))??b[0])(a).lines}
2
2
 
3
- You are their friend, not their interviewer: you have tastes, days and opinions of your own, and you bring them in. Give your take when they ask for it, and often when they do not. Most replies need no question at all; never ask more than one. When they hand you work, it is work: say what you will do and nothing more, and be a friend again once it is handed over. If they sound frustrated or low, acknowledge it briefly before anything else; when they are only venting, listen and ask, and do not turn it into work unless they ask.`}])},688034,a=>{"use strict";var b=a.i(552556),c=a.i(689656),d=a.i(558067);let e=[b.LIVE_PROVIDER.apiKeyName],f={image:"IMAGE_MODEL",video:"VIDEO_MODEL",speech:"SPEECH_MODEL",transcription:"TRANSCRIPTION_MODEL"},g={image:{label:"Image model",hint:"What bots draw with"},video:{label:"Video model",hint:"What bots film with — minutes a clip"},speech:{label:"Speech model",hint:"What reads text aloud into a file"},transcription:{label:"Transcription model",hint:"What turns a recording into text"}},h="EXA_API_KEY",i="DEFAULT_MODEL",j="DEFAULT_EFFORT",k={key:i,label:"Default model",hint:"What a bot thinks with until it picks its own",text:!0,choices:c.TEXT_MODEL_PROVIDER_LIST.flatMap(a=>a.suggestModels.map(b=>({value:`${a.id}/${b.id}`,label:`${a.label} \xb7 ${b.label}`,needs:a.apiKeyName})))},l={key:j,label:"Default effort",effortOf:i,choices:c.EFFORTS.map(a=>({value:a,label:a,needs:i}))},m=a=>e.includes(a.apiKeyName),n=a=>!!a.signIn||(0,c.isCatalogProvider)(a.id),o=a=>({key:a.apiKeyName,label:a.label,provider:a.id,signIn:a.signIn,keysAt:a.keysAt,keyLooks:a.keyLooks}),p=[{id:"voice",title:"voice",hint:"calls run on this key, or on a paid GPT Subscription sign-in",section:"keys",require:"any",requireKeys:b.LIVE_LINES.map(a=>c.TEXT_MODEL_PROVIDERS[a].apiKeyName),note:"calls need this or the GPT Subscription",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(m).map(o)},{id:"easy",title:"the easy ways",hint:"one sign-in or one key opens every bot",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(n).map(o)},{id:"text",title:"or a provider's own key",hint:"what bots think with — add any, or none",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(a=>!m(a)&&!n(a)).map(o)},{id:"search",title:"search",hint:"how calls and bots look things up — one key, or their own model's",section:"keys",require:"none",entries:[{key:h,label:"Exa",hint:"web search in one call — dashboard.exa.ai",site:"exa.ai",keysAt:"https://dashboard.exa.ai/api-keys"}]},{id:"phone",title:"phone",hint:"tokens",section:"keys",require:"none",entries:[{key:d.TELEGRAM_TOKEN_KEY,label:"Telegram",site:"telegram.org",hint:"a bot token from @BotFather — then write to your bot, and allow it here"},{key:d.DISCORD_TOKEN_KEY,label:"Discord",site:"discord.com",hint:"a bot token from discord.com/developers — add the bot to a server of yours, then write to it directly"},{key:d.SLACK_APP_TOKEN_KEY,label:"Slack · app token",site:"slack.com",hint:"starts with xapp- — opens the connection. Slack takes this and the bot token"},{key:d.SLACK_BOT_TOKEN_KEY,label:"Slack · bot token",site:"slack.com",hint:"starts with xoxb- — speaks as the app"},{key:d.EMAIL_PASSWORD_KEY,label:"Email · app password",hint:"the app password her mailbox's service made for Thursday — saved with her address in Settings › Phone"}]},{id:"bots",title:"Bots",hint:"what a bot runs on when it has not picked its own — start small: a small model is quick and costs little",section:"models",require:"none",entries:[k,l]},{id:"studio",title:"Studio",hint:"what a bot draws, films and speaks with — off until you pick one; a paid GPT Subscription draws by itself",section:"models",require:"none",entries:Object.keys(f).map(a=>({key:f[a],...g[a],kind:a,choices:c.MEDIA_MODEL_PROVIDER_LIST.flatMap(b=>b.models[a].map(a=>({value:`${b.id}/${a.id}`,label:`${b.label} \xb7 ${a.label}`,needs:b.apiKeyName})))}))}],q=Object.fromEntries(p.flatMap(a=>a.entries).map(a=>[a.key,a])),r=p.flatMap(a=>a.entries.map(a=>a.key));Object.fromEntries(p.flatMap(a=>a.entries).filter(a=>a.choices?.length).map(a=>[a.key,a.choices])),a.s(["CONFIG_ENTRIES",0,q,"CONFIG_GROUPS",0,p,"CONFIG_KEYS",0,r,"DEFAULT_EFFORT_KEY",0,j,"DEFAULT_MODEL_KEY",0,i,"EXA_API_KEY",0,h,"MEDIA_MODEL_KEYS",0,f,"VOICE_GROUP_ID",0,"voice","acceptsChoice",0,function(a,b){if(a.kind){let d=(0,c.parseMediaModel)(b);return null!==d&&(0,c.canMakeKind)(d.provider,a.kind)}return a.text?null!==(0,c.parseTextModel)(b):!!a.choices?.some(a=>a.value===b)},"envWords",0,function(a){return`${a} is set in the environment the app started with — a .env or your shell — and that one is used over one saved here. Change or remove it there, then start the app again.`},"groupSatisfied",0,function(a,b){return"none"===a.require||(a.requireKeys??a.entries.map(a=>a.key)).some(b)},"isSecretKey",0,function(a){let b=q[a];return!!(b&&!b.choices)},"lostWords",0,function(a,b,c){return`${a} can't be unlocked any more: the .env in the data folder that unlocks it was lost or replaced${c?` (${c})`:""}. ${b}`}])},725466,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(203469),f=a.i(569572),g=a.i(184838),h=a.i(714428),i=a.i(689656),j=a.i(630189),k=a.i(688034),l=b([g]);async function m(a){return(await q(a)).value}async function n(a,b){var c;let d,e,g;return await o(a)==="unreadable"?(c=a,d=k.CONFIG_ENTRIES[c],e=d?.signIn?"sign-in":"key",g=d?.signIn?"Sign in again":"Enter it again",(0,k.lostWords)(`The saved ${d?.label??c} ${e}`,`${g} in Settings.`,`${j.ENCRYPTION_KEY_NAME} in ${f.ENV_PATH}`)):b}async function o(a){return(await q(a)).state}async function p(a){return await o(a)==="set"}async function q(a){let b=process.env[a]?.trim();if(b)return{state:"set",value:b};let c=await r(a);if(void 0===c)return{state:"unset"};let d=(function(a){try{return(0,j.openSecret)(a)}catch(a){if(a instanceof j.UnreadableSecret)return null;throw a}})(c)?.trim();return void 0===d?{state:"unreadable"}:d?{state:"set",value:d}:{state:"unset"}}async function r(a){let[b]=await g.database.select({value:h.configTable.value}).from(h.configTable).where((0,d.eq)(h.configTable.key,a));return b?.value}[g]=l.then?(await l)():l;let v=a=>{k.CONFIG_KEYS.includes(a)&&e.appEvents.emit({type:"config"})};async function s(a,b){let c=(0,k.isSecretKey)(a)?(0,j.sealSecret)(b):b;await g.database.insert(h.configTable).values({key:a,value:c}).onConflictDoUpdate({target:h.configTable.key,set:{value:c}}),v(a)}async function t(a){await g.database.delete(h.configTable).where((0,d.eq)(h.configTable.key,a)),v(a)}async function u(){let b=k.CONFIG_GROUPS.find(a=>a.id===k.VOICE_GROUP_ID);if(!b)return!0;let c=await Promise.all((b.requireKeys??b.entries.map(a=>a.key)).map(async a=>[a,await p(a)])),d=new Map(c),e=i.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName;if(d.get(e)){let{readChatGptPlan:b}=await a.A(572457);d.set(e,(0,i.planCallsOf)({plan:await b()}))}return(0,k.groupSatisfied)(b,a=>d.get(a)??!1)}a.s(["configFromEnv",0,function(a){return!!process.env[a]?.trim()},"configState",0,o,"hasConfig",0,p,"isCallable",0,u,"missingKeyWords",0,n,"readConfig",0,m,"removeConfig",0,t,"writeConfig",0,s]),c()}catch(a){c(a)}},!1),558067,a=>{"use strict";let b="TELEGRAM_BOT_TOKEN",c="DISCORD_BOT_TOKEN",d="SLACK_APP_TOKEN",e="SLACK_BOT_TOKEN",f="EMAIL_ADDRESS",g="EMAIL_APP_PASSWORD",h="EMAIL_IMAP_SERVER",i="EMAIL_SMTP_SERVER";a.s(["DISCORD_TOKEN_KEY",0,c,"EMAIL_ADDRESS_KEY",0,f,"EMAIL_IMAP_KEY",0,h,"EMAIL_PASSWORD_KEY",0,g,"EMAIL_SMTP_KEY",0,i,"NAMED_CHANNELS",0,["email"],"REACH_CHANNELS",0,["telegram","discord","slack","email"],"REACH_KEYS",0,{telegram:[b],discord:[c],slack:[d,e],email:[f,g,h,i]},"REACH_LABEL",0,{telegram:"Telegram",discord:"Discord",slack:"Slack",email:"Email"},"SLACK_APP_TOKEN_KEY",0,d,"SLACK_BOT_TOKEN_KEY",0,e,"TELEGRAM_TOKEN_KEY",0,b,"reachPersonKey",0,a=>`REACH_PERSON_${a.toUpperCase()}`])},746609,a=>{"use strict";var b=a.i(794219);let c=b.object({start:b.number().nonnegative(),end:b.number().nonnegative(),text:b.string()}),d=b.object({reason:b.string().max(128),seconds:b.number().nonnegative().nullable()});a.s(["LIVE_BACKEND_MODEL",0,"gpt-6-luna","LIVE_HOSTED_TOOLS",0,{webSearch:{declare:{type:"web_search"},item:"web_search_call"}},"LIVE_MODEL",0,"gpt-live-1","LIVE_PLAN_MODEL",0,"gpt-live-1-codex","LiveCloseSchema",0,d,"LiveFragmentSchema",0,c])},630189,a=>{"use strict";var b=a.i(666680),c=a.i(902157),d=a.i(750227),e=a.i(812057),f=a.i(569572);let g="THURSDAY_ENCRYPTION_KEY",h="enc:v1:",i="aes-256-gcm",j=/^[A-Za-z0-9+/_-]{43}=?$/,k=RegExp(`^[ \\t]*(?:export[ \\t]+)?${g}(?![\\w.-])`,"m");class l extends Error{}let m=globalThis;function n(){let a=m.__thursdayEncryptionKey;if(!a){let a=function(a){let e=q(a);if(!e)return{key:function(a){let e=(0,b.randomBytes)(32).toString("base64"),f=(0,c.existsSync)(a)?(0,c.readFileSync)(a,"utf8"):"",h=f?/\r?\n$|\r$/.test(f)?"\n":"\n\n":"";try{(0,c.mkdirSync)((0,d.dirname)(a),{recursive:!0}),(0,c.appendFileSync)(a,`${h}# Thursday seals the API keys and sign-ins it saves in local.db with this key. Keep it with
3
+ You are their friend, not their interviewer: you have tastes, days and opinions of your own, and you bring them in. Give your take when they ask for it, and often when they do not. Most replies need no question at all; never ask more than one. When they hand you work, it is work: say what you will do and nothing more, and be a friend again once it is handed over. If they sound frustrated or low, acknowledge it briefly before anything else; when they are only venting, listen and ask, and do not turn it into work unless they ask.`}])},688034,a=>{"use strict";var b=a.i(552556),c=a.i(689656),d=a.i(558067);let e=[b.LIVE_PROVIDER.apiKeyName],f={image:"IMAGE_MODEL",video:"VIDEO_MODEL",speech:"SPEECH_MODEL",transcription:"TRANSCRIPTION_MODEL"},g={image:{label:"Image model",hint:"What bots draw with"},video:{label:"Video model",hint:"What bots film with — minutes a clip"},speech:{label:"Speech model",hint:"What reads text aloud into a file"},transcription:{label:"Transcription model",hint:"What turns a recording into text"}},h="EXA_API_KEY",i="DEFAULT_MODEL",j="DEFAULT_EFFORT",k={key:i,label:"Default model",hint:"What a bot thinks with until it picks its own",text:!0,choices:c.TEXT_MODEL_PROVIDER_LIST.flatMap(a=>a.suggestModels.map(b=>({value:`${a.id}/${b.id}`,label:`${a.label} \xb7 ${b.label}`,needs:a.apiKeyName})))},l={key:j,label:"Default effort",effortOf:i,choices:c.EFFORTS.map(a=>({value:a,label:a,needs:i}))},m=a=>e.includes(a.apiKeyName),n=a=>!!a.signIn||(0,c.isCatalogProvider)(a.id),o=a=>({key:a.apiKeyName,label:a.label,provider:a.id,signIn:a.signIn,keysAt:a.keysAt,keyLooks:a.keyLooks}),p=[{id:"voice",title:"voice",hint:"calls run on this key, or on a paid GPT Subscription sign-in",section:"keys",require:"any",requireKeys:b.LIVE_LINES.map(a=>c.TEXT_MODEL_PROVIDERS[a].apiKeyName),note:"calls need this or the GPT Subscription",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(m).map(o)},{id:"easy",title:"the easy ways",hint:"one sign-in or one key opens every bot",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(n).map(o)},{id:"text",title:"or a provider's own key",hint:"what bots think with — add any, or none",section:"keys",require:"none",entries:c.TEXT_MODEL_PROVIDER_LIST.filter(a=>!m(a)&&!n(a)).map(o)},{id:"search",title:"search",hint:"how calls and bots look things up — one key, or their own model's",section:"keys",require:"none",entries:[{key:h,label:"Exa",hint:"web search in one call — dashboard.exa.ai",site:"exa.ai",keysAt:"https://dashboard.exa.ai/api-keys"}]},{id:"phone",title:"phone",hint:"tokens",section:"keys",require:"none",entries:[{key:d.TELEGRAM_TOKEN_KEY,label:"Telegram",site:"telegram.org",hint:"a bot token from @BotFather — then write to your bot, and allow it here"},{key:d.DISCORD_TOKEN_KEY,label:"Discord",site:"discord.com",hint:"a bot token from discord.com/developers — add the bot to a server of yours, then write to it directly"},{key:d.SLACK_APP_TOKEN_KEY,label:"Slack · app token",site:"slack.com",hint:"starts with xapp- — opens the connection. Slack takes this and the bot token"},{key:d.SLACK_BOT_TOKEN_KEY,label:"Slack · bot token",site:"slack.com",hint:"starts with xoxb- — speaks as the app"},{key:d.EMAIL_PASSWORD_KEY,label:"Email · app password",hint:"the app password her mailbox's service made for Thursday — saved with her address in Settings › Phone"}]},{id:"bots",title:"Bots",hint:"what a bot runs on when it has not picked its own — start small: a small model is quick and costs little",section:"models",require:"none",entries:[k,l]},{id:"studio",title:"Studio",hint:"what a bot draws, films and speaks with — off until you pick one; a paid GPT Subscription draws by itself",section:"models",require:"none",entries:Object.keys(f).map(a=>({key:f[a],...g[a],kind:a,choices:c.MEDIA_MODEL_PROVIDER_LIST.flatMap(b=>b.models[a].map(a=>({value:`${b.id}/${a.id}`,label:`${b.label} \xb7 ${a.label}`,needs:b.apiKeyName})))}))}],q=Object.fromEntries(p.flatMap(a=>a.entries).map(a=>[a.key,a])),r=p.flatMap(a=>a.entries.map(a=>a.key));Object.fromEntries(p.flatMap(a=>a.entries).filter(a=>a.choices?.length).map(a=>[a.key,a.choices])),a.s(["CONFIG_ENTRIES",0,q,"CONFIG_GROUPS",0,p,"CONFIG_KEYS",0,r,"DEFAULT_EFFORT_KEY",0,j,"DEFAULT_MODEL_KEY",0,i,"EXA_API_KEY",0,h,"MEDIA_MODEL_KEYS",0,f,"VOICE_GROUP_ID",0,"voice","acceptsChoice",0,function(a,b){if(a.kind){let d=(0,c.parseMediaModel)(b);return null!==d&&(0,c.canMakeKind)(d.provider,a.kind)}return a.text?null!==(0,c.parseTextModel)(b):!!a.choices?.some(a=>a.value===b)},"envWords",0,function(a){return`${a} is set in the environment the app started with — a .env or your shell — and that one is used over one saved here. Change or remove it there, then start the app again.`},"groupSatisfied",0,function(a,b){return"none"===a.require||(a.requireKeys??a.entries.map(a=>a.key)).some(b)},"isSecretKey",0,function(a){let b=q[a];return!!(b&&!b.choices)},"lostWords",0,function(a,b,c){return`${a} can't be unlocked any more: the .env in the data folder that unlocks it was lost or replaced${c?` (${c})`:""}. ${b}`}])},725466,a=>a.a(async(b,c)=>{try{var d=a.i(93321),e=a.i(203469),f=a.i(569572),g=a.i(184838),h=a.i(714428),i=a.i(689656),j=a.i(630189),k=a.i(182248),l=a.i(688034),m=b([g]);async function n(a){return(await r(a)).value}async function o(a,b){var c;let d,e,g;return await p(a)==="unreadable"?(c=a,d=l.CONFIG_ENTRIES[c],e=d?.signIn?"sign-in":"key",g=d?.signIn?"Sign in again":"Enter it again",(0,l.lostWords)(`The saved ${d?.label??c} ${e}`,`${g} in Settings.`,`${j.ENCRYPTION_KEY_NAME} in ${f.ENV_PATH}`)):b}async function p(a){return(await r(a)).state}async function q(a){return await p(a)==="set"}async function r(a){let b=process.env[a]?.trim();if(b)return{state:"set",value:b};let c=await s(a);if(void 0===c)return{state:"unset"};let d=t(c)?.trim();return void 0===d?{state:"unreadable"}:d?{state:"set",value:d}:{state:"unset"}}async function s(a){let[b]=await g.database.select({value:h.configTable.value}).from(h.configTable).where((0,d.eq)(h.configTable.key,a));return b?.value}function t(a){try{return(0,j.openSecret)(a)}catch(a){if(a instanceof j.UnreadableSecret)return null;throw a}}[g]=m.then?(await m)():m;let z=a=>{l.CONFIG_KEYS.includes(a)&&e.appEvents.emit({type:"config"})};async function u(a,b){let c=(0,l.isSecretKey)(a)?(0,j.sealSecret)(b):b;await g.database.insert(h.configTable).values({key:a,value:c}).onConflictDoUpdate({target:h.configTable.key,set:{value:c}}),z(a)}async function v(a){await g.database.delete(h.configTable).where((0,d.eq)(h.configTable.key,a)),z(a)}async function w(){let a=(await g.database.select().from(h.configTable)).flatMap(a=>{if(!(0,l.isSecretKey)(a.key))return[];let b=t(a.value)?.trim();return b?l.CONFIG_ENTRIES[a.key]?.signIn?x(b):[b]:[]}),b=l.CONFIG_KEYS.filter(l.isSecretKey).flatMap(a=>{let b=process.env[a]?.trim();return b?l.CONFIG_ENTRIES[a]?.signIn?x(b):[b]:[]});return[...a,...b]}function x(a){try{return(0,k.stringsIn)(JSON.parse(a))}catch{return[a]}}async function y(){let b=l.CONFIG_GROUPS.find(a=>a.id===l.VOICE_GROUP_ID);if(!b)return!0;let c=await Promise.all((b.requireKeys??b.entries.map(a=>a.key)).map(async a=>[a,await q(a)])),d=new Map(c),e=i.TEXT_MODEL_PROVIDERS.chatgpt.apiKeyName;if(d.get(e)){let{readChatGptPlan:b}=await a.A(572457);d.set(e,(0,i.planCallsOf)({plan:await b()}))}return(0,l.groupSatisfied)(b,a=>d.get(a)??!1)}a.s(["configFromEnv",0,function(a){return!!process.env[a]?.trim()},"configSecretValues",0,w,"configState",0,p,"hasConfig",0,q,"isCallable",0,y,"missingKeyWords",0,o,"readConfig",0,n,"removeConfig",0,v,"writeConfig",0,u]),c()}catch(a){c(a)}},!1),558067,a=>{"use strict";let b="TELEGRAM_BOT_TOKEN",c="DISCORD_BOT_TOKEN",d="SLACK_APP_TOKEN",e="SLACK_BOT_TOKEN",f="EMAIL_ADDRESS",g="EMAIL_APP_PASSWORD",h="EMAIL_IMAP_SERVER",i="EMAIL_SMTP_SERVER";a.s(["DISCORD_TOKEN_KEY",0,c,"EMAIL_ADDRESS_KEY",0,f,"EMAIL_IMAP_KEY",0,h,"EMAIL_PASSWORD_KEY",0,g,"EMAIL_SMTP_KEY",0,i,"NAMED_CHANNELS",0,["email"],"REACH_CHANNELS",0,["telegram","discord","slack","email"],"REACH_KEYS",0,{telegram:[b],discord:[c],slack:[d,e],email:[f,g,h,i]},"REACH_LABEL",0,{telegram:"Telegram",discord:"Discord",slack:"Slack",email:"Email"},"SLACK_APP_TOKEN_KEY",0,d,"SLACK_BOT_TOKEN_KEY",0,e,"TELEGRAM_TOKEN_KEY",0,b,"reachPersonKey",0,a=>`REACH_PERSON_${a.toUpperCase()}`])},746609,a=>{"use strict";var b=a.i(794219);let c=b.object({start:b.number().nonnegative(),end:b.number().nonnegative(),text:b.string()}),d=b.object({reason:b.string().max(128),seconds:b.number().nonnegative().nullable()});a.s(["LIVE_BACKEND_MODEL",0,"gpt-6-luna","LIVE_HOSTED_TOOLS",0,{webSearch:{declare:{type:"web_search"},item:"web_search_call"}},"LIVE_MODEL",0,"gpt-live-1","LIVE_PLAN_MODEL",0,"gpt-live-1-codex","LiveCloseSchema",0,d,"LiveFragmentSchema",0,c])},630189,a=>{"use strict";var b=a.i(666680),c=a.i(902157),d=a.i(750227),e=a.i(812057),f=a.i(569572);let g="THURSDAY_ENCRYPTION_KEY",h="enc:v1:",i="aes-256-gcm",j=/^[A-Za-z0-9+/_-]{43}=?$/,k=RegExp(`^[ \\t]*(?:export[ \\t]+)?${g}(?![\\w.-])`,"m");class l extends Error{}let m=globalThis;function n(){let a=m.__thursdayEncryptionKey;if(!a){let a=function(a){let e=q(a);if(!e)return{key:function(a){let e=(0,b.randomBytes)(32).toString("base64"),f=(0,c.existsSync)(a)?(0,c.readFileSync)(a,"utf8"):"",h=f?/\r?\n$|\r$/.test(f)?"\n":"\n\n":"";try{(0,c.mkdirSync)((0,d.dirname)(a),{recursive:!0}),(0,c.appendFileSync)(a,`${h}# Thursday seals the API keys and sign-ins it saves in local.db with this key. Keep it with
4
4
  # local.db: without it they cannot be read, and each has to be entered again.
5
5
  ${g}=${e}
6
- `,{mode:384})}catch(b){throw Error(`Cannot write a new ${g} to ${a} (${b.code??b}): let this account write there.`,{cause:b})}if(r(a),q(a)!==e)throw Error(`A new ${g} was added to ${a}, but the file does not read back as it: something changed that file while the app started. Start it again.`);return Buffer.from(e,"base64")}(a),from:"made"};let f=p(e,a);return r(a),{key:f,from:"file"}}(f.ENV_PATH);return m.__thursdayEncryptionKey=a.key,a}let e=q(f.ENV_PATH);if(!e)return{key:a,from:"file"};let h=p(e,f.ENV_PATH);return h.equals(a)||(r(f.ENV_PATH),m.__thursdayEncryptionKey=h),{key:h,from:"file"}}let o=a=>a.startsWith(h);function p(a,b){let c,d=(c=j.test(a)?Buffer.from(a,"base64"):null,c?.length===32?c:null);if(!d)throw Error(`${g} in ${b} is not a key: it takes 32 random bytes in base64, as \`openssl rand -base64 32\` prints them. Put back the line it had, from a backup of that file; or delete the line, and a new key is made — the keys saved in Settings are then entered again.`);return d}function q(a){let b;try{b=(0,c.readFileSync)(a,"utf8")}catch(c){let b=c.code;if("ENOENT"===b)return;throw Error(`Cannot read ${a}, where ${g} is kept (${b??c}): let this account read it.`,{cause:c})}let d=b.replace(/^\uFEFF/,"").replace(/\r\n?/g,"\n"),f=(0,e.parseEnv)(d)[g];if(void 0===f&&k.test(d))throw Error(`A line of ${a} names ${g} without setting it as ${g}=<key>, the one form it is read in: write it that way. Or delete the line, and a new key is made — the keys saved in Settings are then entered again.`);return f?.trim()||void 0}function r(a){try{(0,c.chmodSync)(a,384)}catch{}}a.s(["ENCRYPTION_KEY_NAME",0,g,"UnreadableSecret",0,l,"isSealed",0,o,"openSecret",0,function(a,c){if(!o(a))return a;let d=c??n().key,e=Buffer.from(a.slice(h.length),"base64url");if(e.length<28)throw new l("The sealed value is cut short.");try{let a=(0,b.createDecipheriv)(i,d,e.subarray(0,12),{authTagLength:16});return a.setAuthTag(e.subarray(e.length-16)),Buffer.concat([a.update(e.subarray(12,e.length-16)),a.final()]).toString("utf8")}catch(a){throw new l("It was sealed under another encryption key, or it is damaged.",{cause:a})}},"sealSecret",0,function(a,c){let d=(0,b.randomBytes)(12),e=(0,b.createCipheriv)(i,c??n().key,d,{authTagLength:16}),f=Buffer.concat([e.update(a,"utf8"),e.final()]);return h+Buffer.concat([d,f,e.getAuthTag()]).toString("base64url")}])}];
6
+ `,{mode:384})}catch(b){throw Error(`Cannot write a new ${g} to ${a} (${b.code??b}): let this account write there.`,{cause:b})}if(r(a),q(a)!==e)throw Error(`A new ${g} was added to ${a}, but the file does not read back as it: something changed that file while the app started. Start it again.`);return Buffer.from(e,"base64")}(a),from:"made"};let f=p(e,a);return r(a),{key:f,from:"file"}}(f.ENV_PATH);return m.__thursdayEncryptionKey=a.key,a}let e=q(f.ENV_PATH);if(!e)return{key:a,from:"file"};let h=p(e,f.ENV_PATH);return h.equals(a)||(r(f.ENV_PATH),m.__thursdayEncryptionKey=h),{key:h,from:"file"}}let o=a=>a.startsWith(h);function p(a,b){let c,d=(c=j.test(a)?Buffer.from(a,"base64"):null,c?.length===32?c:null);if(!d)throw Error(`${g} in ${b} is not a key: it takes 32 random bytes in base64, as \`openssl rand -base64 32\` prints them. Put back the line it had, from a backup of that file; or delete the line, and a new key is made — the keys saved in Settings are then entered again.`);return d}function q(a){let b;try{b=(0,c.readFileSync)(a,"utf8")}catch(c){let b=c.code;if("ENOENT"===b)return;throw Error(`Cannot read ${a}, where ${g} is kept (${b??c}): let this account read it.`,{cause:c})}let d=b.replace(/^\uFEFF/,"").replace(/\r\n?/g,"\n"),f=(0,e.parseEnv)(d)[g];if(void 0===f&&k.test(d))throw Error(`A line of ${a} names ${g} without setting it as ${g}=<key>, the one form it is read in: write it that way. Or delete the line, and a new key is made — the keys saved in Settings are then entered again.`);return f?.trim()||void 0}function r(a){try{(0,c.chmodSync)(a,384)}catch{}}a.s(["ENCRYPTION_KEY_NAME",0,g,"UnreadableSecret",0,l,"encryptionKeyTexts",0,function(){let{key:a}=n();return[a.toString("base64"),a.toString("base64url")].map(a=>a.replace(/=+$/,""))},"isSealed",0,o,"openSecret",0,function(a,c){if(!o(a))return a;let d=c??n().key,e=Buffer.from(a.slice(h.length),"base64url");if(e.length<28)throw new l("The sealed value is cut short.");try{let a=(0,b.createDecipheriv)(i,d,e.subarray(0,12),{authTagLength:16});return a.setAuthTag(e.subarray(e.length-16)),Buffer.concat([a.update(e.subarray(12,e.length-16)),a.final()]).toString("utf8")}catch(a){throw new l("It was sealed under another encryption key, or it is damaged.",{cause:a})}},"sealSecret",0,function(a,c){let d=(0,b.randomBytes)(12),e=(0,b.createCipheriv)(i,c??n().key,d,{authTagLength:16}),f=Buffer.concat([e.update(a,"utf8"),e.final()]);return h+Buffer.concat([d,f,e.getAuthTag()]).toString("base64url")}])}];
7
7
 
8
8
  //# sourceMappingURL=_1crszf7._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[964665,a=>{"use strict";var b=a.i(187924),c=a.i(707963),d=a.i(168370),e=a.i(844561),f=a.i(164831);let g={name:"images",size:24,node:[["path",{d:"m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16",key:"9kzy35"}],["path",{d:"M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2",key:"1t0f0t"}],["circle",{cx:"13",cy:"7",r:"1",fill:"currentColor",key:"1obus6"}],["rect",{x:"8",y:"2",width:"14",height:"14",rx:"2",key:"1gvhby"}]]};g.node;let h=(0,f.default)(g);var i=a.i(951675),j=a.i(572131),k=a.i(767561),l=a.i(340695),m=a.i(446181),n=a.i(950463),o=a.i(287702),p=a.i(405050);let q=(0,p.createServerReference)("7fc06d49cc0f30e3e74c1571897a76afd4a4491af2",p.callServer,void 0,p.findSourceMapURL,"deleteArtifactAction");var r=a.i(913834),s=a.i(450937),t=a.i(135432),u=a.i(619477),v=a.i(28996),w=a.i(38793),x=a.i(369768),y=a.i(196821),z=a.i(199169),A=a.i(313237),B=a.i(759497),C=a.i(497895);function D(a){let b=new Map;for(let c of a){let a=b.get(c.bot)??[];a.push(c),b.set(c.bot,a)}return[...b].map(([a,b])=>({bot:a,rows:b}))}function E({label:a,mark:c,count:d,active:e,onPick:f}){return(0,b.jsxs)("button",{type:"button",onClick:f,className:(0,C.cn)("mx-2 flex h-9 items-center gap-2 rounded-md px-2 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",e?(0,C.cn)(u.PICKED_ROW,"font-medium"):"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[c??(0,b.jsx)(h,{className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10.5px] text-muted-foreground tabular-nums",children:d})]})}function F({row:a,file:f,onOpen:g,onBack:h,onGone:j,onShelf:n}){let[o]=(0,A.useServerAction)(y.revealFileAction),[p,r]=(0,A.useServerAction)(q,{okMessage:"Deleted",onOk:()=>{(0,B.revalidate)(k.queryKey.artifacts),f?h():j()}}),u=f?{path:f.path,bytes:f.bytes,at:f.at}:"file"===a.kind?{path:a.path,bytes:a.bytes,at:a.at}:null,{filed:w,note:D,failure:E,follow:H}=(0,s.useFileNote)(u?.path??null,null),I=a=>{v.useSettingsStore.getState().hide(),t.roomOpens.open(a)},J=async a=>{await m.notify.confirm({title:`Delete ${a.split("/").pop()}?`,description:u?"It is deleted from disk for good.":"The folder and everything in it are deleted from disk for good.",okText:"Delete",destructive:!0})&&p(a)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex h-11 shrink-0 items-center gap-3 border-b border-border/60 px-6",children:[(0,b.jsxs)("button",{type:"button",onClick:f?h:n,className:"-ml-1 flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsx)(c.ChevronLeft,{className:"size-3"}),f?a.name:"Shelf"]}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-foreground",children:u?u.path.split("/").pop()??a.name:a.name}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:u?`${(0,C.formatBytes)(u.bytes)} \xb7 ${(0,z.shortAgo)(u.at)}`:`${a.count} ${1===a.count?"file":"files"} \xb7 ${(0,z.shortAgo)(a.at)}`}),w&&(0,b.jsx)(s.FileThreadChip,{note:D,onOpen:I}),u&&(0,b.jsx)("a",{href:k.queryKey.fileView(u.path),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,b.jsx)(d.ExternalLink,{className:"size-4"})}),(0,b.jsx)(l.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>o(u?.path??a.path),children:(0,b.jsx)(e.FolderOpen,{})}),(0,b.jsx)(l.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:r,className:"ml-1.5 text-muted-foreground hover:text-destructive",onClick:()=>J(u?.path??a.path),children:(0,b.jsx)(i.Trash2,{})})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:u?(0,b.jsx)(x.FilePreview,{path:u.path,bytes:u.bytes}):(0,b.jsx)(G,{path:a.path,onOpen:g})}),u&&w&&(0,b.jsx)("div",{className:"shrink-0 border-t border-border/60 px-6 pt-2.5 pb-3",children:(0,b.jsx)(s.FileNoteBar,{path:u.path,note:D,failure:E,onThread:H,onOpenThread:I})})]})}function G({path:a,onOpen:c}){let{data:d,isLoading:e,error:f}=(0,B.useServerRoute)(k.queryKey.artifactSet(a,o.ARTIFACT_VIEW.setFiles));if(e)return(0,b.jsx)("div",{className:"grid grid-cols-4 gap-3 p-5",children:Array.from({length:8},(a,c)=>(0,b.jsx)(n.Skeleton,{className:"aspect-4/3 w-full rounded-xl"},c))});if(f)return(0,b.jsx)(u.SettingError,{message:f.message});let g=d?.files??[];return 0===g.length?(0,b.jsx)("p",{className:"p-5 text-xs text-muted-foreground",children:"Nothing in here the app can open."}):(0,b.jsxs)("div",{className:"p-5",children:[(0,b.jsx)("div",{className:"grid grid-cols-4 gap-3",children:g.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>c(a),title:`${a.name} \xb7 ${(0,C.formatBytes)(a.bytes)}`,className:"flex flex-col gap-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-offset-2",children:[(0,b.jsx)(H,{file:a}),(0,b.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.name})]},a.path))}),d&&d.total>g.length&&(0,b.jsx)("p",{className:"pt-4 font-mono text-[11px] text-muted-foreground",children:`${g.length} of ${d.total.toLocaleString("en")} — the rest are in the folder`})]})}function H({file:a}){return(0,b.jsx)(w.FileThumb,{path:a.path,bytes:a.bytes,glyph:"size-5",className:"aspect-4/3 w-full rounded-xl ring-1 ring-foreground/5 ring-inset"})}function I({entries:a,bots:c,onPick:d}){return(0,b.jsx)("div",{className:"space-y-7 p-6",children:D(a).map(({bot:a,rows:f})=>(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsxs)("h3",{className:"flex items-center gap-2 text-sm font-medium",children:[a&&(0,b.jsx)(r.BotMark,{size:20,seed:a,...(0,r.markOf)(a,c),notify:!1,className:"shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a??"Unsorted"}),(0,b.jsx)("span",{className:"font-mono text-[11px] font-normal text-muted-foreground",children:f.length})]}),(0,b.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))] gap-x-4 gap-y-5",children:f.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>d(a),className:"group flex min-w-0 flex-col gap-1.5 rounded-xl text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:["set"===a.kind?(0,b.jsx)("span",{className:"grid aspect-4/3 w-full place-items-center rounded-xl bg-muted/60 text-muted-foreground transition-colors group-hover:bg-muted",children:(0,b.jsx)(e.FolderOpen,{className:"size-5"})}):(0,b.jsx)(w.FileThumb,{path:a.path,bytes:a.bytes,glyph:"size-5",className:"aspect-4/3 w-full rounded-xl ring-1 ring-foreground/5 ring-inset"}),(0,b.jsxs)("span",{className:"min-w-0 space-y-0.5 px-0.5",children:[(0,b.jsx)("span",{className:"block truncate text-[13px]",children:a.name}),(0,b.jsxs)("span",{className:"block truncate font-mono text-[10.5px] text-muted-foreground",children:["set"===a.kind?`${a.count} ${1===a.count?"file":"files"} \xb7 `:"",(0,z.shortAgo)(a.at)]})]})]},a.path))})]},a??""))})}function J({empty:a}){return(0,b.jsx)("div",{className:"p-8",children:(0,b.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:a?"Nothing finished yet. When a bot ends a job with something to hand over — a page, a report, a set of pictures — it lands here.":"Pick something on the left. Each bot's work is under its face; a folder it filled is one row, and opens as a sheet."})})}a.s(["ArtifactSetting",0,function(){let[a,c]=(0,j.useState)(null),[d,f]=(0,j.useState)(""),[g,h]=(0,j.useState)(void 0),[i,m]=(0,j.useState)(o.ARTIFACT_VIEW.rows),{data:n,isLoading:p,error:q}=(0,B.useServerRoute)(k.queryKey.artifactShelf(i),{keepPreviousData:!0}),{data:s}=(0,B.useServerRoute)(k.queryKey.bot),[t]=(0,A.useServerAction)(y.revealFileAction);if(p)return(0,b.jsx)(u.SettingPanesSkeleton,{});if(q)return(0,b.jsx)(u.SettingError,{message:q.message});let v=n?.entries??[],w=n?.total??0,x=d.trim().toLowerCase(),z=v.filter(a=>(void 0===g||a.bot===g)&&(!x||a.name.toLowerCase().includes(x)||a.bot?.toLowerCase().includes(x))),C=v.find(b=>b.path===a?.row.path)??a?.row;return(0,b.jsx)(u.SettingPanes,{footer:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.SettingRailNote,{children:(0,b.jsxs)("span",{className:"font-mono",children:[(0,b.jsx)("span",{className:"font-medium text-foreground",children:"finished"}),` \xb7 ${function(a,b,c){if(0===b)return"empty";let d=b>a.length?`${a.length} of ${b.toLocaleString("en")} results`:`${b} ${1===b?"result":"results"}`;return c>b?`${d} \xb7 ${c.toLocaleString("en")} files`:d}(v,w,n?.files??0)}`]})}),(0,b.jsxs)(l.Button,{variant:"outline",size:"sm",onClick:()=>t(o.PATHS.artifacts),children:[(0,b.jsx)(e.FolderOpen,{}),"Reveal folder"]})]}),left:(0,b.jsxs)("div",{className:"flex flex-col py-2",children:[(0,b.jsx)(u.SettingFilter,{value:d,onChange:f,placeholder:"Filter files",className:"mx-2 mb-1.5 w-auto"}),(0,b.jsx)(E,{label:"Everyone",count:v.length,active:void 0===g,onPick:()=>{h(void 0),c(null)}}),D(v).map(({bot:a,rows:d})=>(0,b.jsx)(E,{label:a??"Unsorted",mark:a?(0,b.jsx)(r.BotMark,{size:18,seed:a,...(0,r.markOf)(a,s),notify:!1,className:"shrink-0"}):void 0,count:d.length,active:g===a,onPick:()=>{h(a),c(null)}},a??"")),w>v.length&&(0,b.jsx)("button",{type:"button",onClick:()=>m(i+o.ARTIFACT_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(o.ARTIFACT_VIEW.rows,w-v.length)} more of ${w.toLocaleString("en")}`})]}),right:C?(0,b.jsx)(F,{row:C,file:a?.file??null,onOpen:a=>c({row:C,file:a}),onBack:()=>c({row:C,file:null}),onGone:()=>c(null),onShelf:()=>c(null)},C.path):z.length>0?(0,b.jsx)(I,{entries:z,bots:s,onPick:a=>c({row:a,file:null})}):(0,b.jsx)(J,{empty:0===w})})}],964665)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)}];
1
+ module.exports=[964665,a=>{"use strict";var b=a.i(187924),c=a.i(707963),d=a.i(168370),e=a.i(844561),f=a.i(164831);let g={name:"images",size:24,node:[["path",{d:"m22 11-1.296-1.296a2.4 2.4 0 0 0-3.408 0L11 16",key:"9kzy35"}],["path",{d:"M4 8a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2",key:"1t0f0t"}],["circle",{cx:"13",cy:"7",r:"1",fill:"currentColor",key:"1obus6"}],["rect",{x:"8",y:"2",width:"14",height:"14",rx:"2",key:"1gvhby"}]]};g.node;let h=(0,f.default)(g);var i=a.i(951675),j=a.i(572131),k=a.i(767561),l=a.i(340695),m=a.i(446181),n=a.i(950463),o=a.i(287702),p=a.i(405050);let q=(0,p.createServerReference)("7fa35f965d76bc192b1d9fdc2e8ca47ecca4b30d2e",p.callServer,void 0,p.findSourceMapURL,"deleteArtifactAction");var r=a.i(913834),s=a.i(450937),t=a.i(135432),u=a.i(619477),v=a.i(28996),w=a.i(38793),x=a.i(369768),y=a.i(5835),z=a.i(199169),A=a.i(313237),B=a.i(759497),C=a.i(497895);function D(a){let b=new Map;for(let c of a){let a=b.get(c.bot)??[];a.push(c),b.set(c.bot,a)}return[...b].map(([a,b])=>({bot:a,rows:b}))}function E({label:a,mark:c,count:d,active:e,onPick:f}){return(0,b.jsxs)("button",{type:"button",onClick:f,className:(0,C.cn)("mx-2 flex h-9 items-center gap-2 rounded-md px-2 text-left text-[13px] outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",e?(0,C.cn)(u.PICKED_ROW,"font-medium"):"text-muted-foreground hover:bg-muted/60 hover:text-foreground"),children:[c??(0,b.jsx)(h,{className:"size-4 shrink-0"}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10.5px] text-muted-foreground tabular-nums",children:d})]})}function F({row:a,file:f,onOpen:g,onBack:h,onGone:j,onShelf:n}){let[o]=(0,A.useServerAction)(y.revealFileAction),[p,r]=(0,A.useServerAction)(q,{okMessage:"Deleted",onOk:()=>{(0,B.revalidate)(k.queryKey.artifacts),f?h():j()}}),u=f?{path:f.path,bytes:f.bytes,at:f.at}:"file"===a.kind?{path:a.path,bytes:a.bytes,at:a.at}:null,{filed:w,note:D,failure:E,follow:H}=(0,s.useFileNote)(u?.path??null,null),I=a=>{v.useSettingsStore.getState().hide(),t.roomOpens.open(a)},J=async a=>{await m.notify.confirm({title:`Delete ${a.split("/").pop()}?`,description:u?"It is deleted from disk for good.":"The folder and everything in it are deleted from disk for good.",okText:"Delete",destructive:!0})&&p(a)};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"flex h-11 shrink-0 items-center gap-3 border-b border-border/60 px-6",children:[(0,b.jsxs)("button",{type:"button",onClick:f?h:n,className:"-ml-1 flex shrink-0 items-center gap-1 rounded-md px-1.5 py-1 font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsx)(c.ChevronLeft,{className:"size-3"}),f?a.name:"Shelf"]}),(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-foreground",children:u?u.path.split("/").pop()??a.name:a.name}),(0,b.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-muted-foreground",children:u?`${(0,C.formatBytes)(u.bytes)} \xb7 ${(0,z.shortAgo)(u.at)}`:`${a.count} ${1===a.count?"file":"files"} \xb7 ${(0,z.shortAgo)(a.at)}`}),w&&(0,b.jsx)(s.FileThreadChip,{note:D,onOpen:I}),u&&(0,b.jsx)("a",{href:k.queryKey.fileView(u.path),target:"_blank",rel:"noreferrer","aria-label":"Open in a new tab",className:"grid size-7 shrink-0 place-items-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50",children:(0,b.jsx)(d.ExternalLink,{className:"size-4"})}),(0,b.jsx)(l.Button,{size:"icon-sm",variant:"ghost","aria-label":"Reveal in the file manager",className:"text-muted-foreground",onClick:()=>o(u?.path??a.path),children:(0,b.jsx)(e.FolderOpen,{})}),(0,b.jsx)(l.Button,{size:"icon-sm",variant:"ghost","aria-label":"Delete",loading:r,className:"ml-1.5 text-muted-foreground hover:text-destructive",onClick:()=>J(u?.path??a.path),children:(0,b.jsx)(i.Trash2,{})})]}),(0,b.jsx)("div",{className:"min-h-0 flex-1 overflow-auto",children:u?(0,b.jsx)(x.FilePreview,{path:u.path,bytes:u.bytes}):(0,b.jsx)(G,{path:a.path,onOpen:g})}),u&&w&&(0,b.jsx)("div",{className:"shrink-0 border-t border-border/60 px-6 pt-2.5 pb-3",children:(0,b.jsx)(s.FileNoteBar,{path:u.path,note:D,failure:E,onThread:H,onOpenThread:I})})]})}function G({path:a,onOpen:c}){let{data:d,isLoading:e,error:f}=(0,B.useServerRoute)(k.queryKey.artifactSet(a,o.ARTIFACT_VIEW.setFiles));if(e)return(0,b.jsx)("div",{className:"grid grid-cols-4 gap-3 p-5",children:Array.from({length:8},(a,c)=>(0,b.jsx)(n.Skeleton,{className:"aspect-4/3 w-full rounded-xl"},c))});if(f)return(0,b.jsx)(u.SettingError,{message:f.message});let g=d?.files??[];return 0===g.length?(0,b.jsx)("p",{className:"p-5 text-xs text-muted-foreground",children:"Nothing in here the app can open."}):(0,b.jsxs)("div",{className:"p-5",children:[(0,b.jsx)("div",{className:"grid grid-cols-4 gap-3",children:g.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>c(a),title:`${a.name} \xb7 ${(0,C.formatBytes)(a.bytes)}`,className:"flex flex-col gap-1.5 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-offset-2",children:[(0,b.jsx)(H,{file:a}),(0,b.jsx)("span",{className:"truncate font-mono text-[11px] text-muted-foreground",children:a.name})]},a.path))}),d&&d.total>g.length&&(0,b.jsx)("p",{className:"pt-4 font-mono text-[11px] text-muted-foreground",children:`${g.length} of ${d.total.toLocaleString("en")} — the rest are in the folder`})]})}function H({file:a}){return(0,b.jsx)(w.FileThumb,{path:a.path,bytes:a.bytes,glyph:"size-5",className:"aspect-4/3 w-full rounded-xl ring-1 ring-foreground/5 ring-inset"})}function I({entries:a,bots:c,onPick:d}){return(0,b.jsx)("div",{className:"space-y-7 p-6",children:D(a).map(({bot:a,rows:f})=>(0,b.jsxs)("section",{className:"space-y-3",children:[(0,b.jsxs)("h3",{className:"flex items-center gap-2 text-sm font-medium",children:[a&&(0,b.jsx)(r.BotMark,{size:20,seed:a,...(0,r.markOf)(a,c),notify:!1,className:"shrink-0"}),(0,b.jsx)("span",{className:"truncate",children:a??"Unsorted"}),(0,b.jsx)("span",{className:"font-mono text-[11px] font-normal text-muted-foreground",children:f.length})]}),(0,b.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))] gap-x-4 gap-y-5",children:f.map(a=>(0,b.jsxs)("button",{type:"button",onClick:()=>d(a),className:"group flex min-w-0 flex-col gap-1.5 rounded-xl text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:["set"===a.kind?(0,b.jsx)("span",{className:"grid aspect-4/3 w-full place-items-center rounded-xl bg-muted/60 text-muted-foreground transition-colors group-hover:bg-muted",children:(0,b.jsx)(e.FolderOpen,{className:"size-5"})}):(0,b.jsx)(w.FileThumb,{path:a.path,bytes:a.bytes,glyph:"size-5",className:"aspect-4/3 w-full rounded-xl ring-1 ring-foreground/5 ring-inset"}),(0,b.jsxs)("span",{className:"min-w-0 space-y-0.5 px-0.5",children:[(0,b.jsx)("span",{className:"block truncate text-[13px]",children:a.name}),(0,b.jsxs)("span",{className:"block truncate font-mono text-[10.5px] text-muted-foreground",children:["set"===a.kind?`${a.count} ${1===a.count?"file":"files"} \xb7 `:"",(0,z.shortAgo)(a.at)]})]})]},a.path))})]},a??""))})}function J({empty:a}){return(0,b.jsx)("div",{className:"p-8",children:(0,b.jsx)("p",{className:"max-w-lg text-sm leading-relaxed text-muted-foreground",children:a?"Nothing finished yet. When a bot ends a job with something to hand over — a page, a report, a set of pictures — it lands here.":"Pick something on the left. Each bot's work is under its face; a folder it filled is one row, and opens as a sheet."})})}a.s(["ArtifactSetting",0,function(){let[a,c]=(0,j.useState)(null),[d,f]=(0,j.useState)(""),[g,h]=(0,j.useState)(void 0),[i,m]=(0,j.useState)(o.ARTIFACT_VIEW.rows),{data:n,isLoading:p,error:q}=(0,B.useServerRoute)(k.queryKey.artifactShelf(i),{keepPreviousData:!0}),{data:s}=(0,B.useServerRoute)(k.queryKey.bot),[t]=(0,A.useServerAction)(y.revealFileAction);if(p)return(0,b.jsx)(u.SettingPanesSkeleton,{});if(q)return(0,b.jsx)(u.SettingError,{message:q.message});let v=n?.entries??[],w=n?.total??0,x=d.trim().toLowerCase(),z=v.filter(a=>(void 0===g||a.bot===g)&&(!x||a.name.toLowerCase().includes(x)||a.bot?.toLowerCase().includes(x))),C=v.find(b=>b.path===a?.row.path)??a?.row;return(0,b.jsx)(u.SettingPanes,{footer:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.SettingRailNote,{children:(0,b.jsxs)("span",{className:"font-mono",children:[(0,b.jsx)("span",{className:"font-medium text-foreground",children:"finished"}),` \xb7 ${function(a,b,c){if(0===b)return"empty";let d=b>a.length?`${a.length} of ${b.toLocaleString("en")} results`:`${b} ${1===b?"result":"results"}`;return c>b?`${d} \xb7 ${c.toLocaleString("en")} files`:d}(v,w,n?.files??0)}`]})}),(0,b.jsxs)(l.Button,{variant:"outline",size:"sm",onClick:()=>t(o.PATHS.artifacts),children:[(0,b.jsx)(e.FolderOpen,{}),"Reveal folder"]})]}),left:(0,b.jsxs)("div",{className:"flex flex-col py-2",children:[(0,b.jsx)(u.SettingFilter,{value:d,onChange:f,placeholder:"Filter files",className:"mx-2 mb-1.5 w-auto"}),(0,b.jsx)(E,{label:"Everyone",count:v.length,active:void 0===g,onPick:()=>{h(void 0),c(null)}}),D(v).map(({bot:a,rows:d})=>(0,b.jsx)(E,{label:a??"Unsorted",mark:a?(0,b.jsx)(r.BotMark,{size:18,seed:a,...(0,r.markOf)(a,s),notify:!1,className:"shrink-0"}):void 0,count:d.length,active:g===a,onPick:()=>{h(a),c(null)}},a??"")),w>v.length&&(0,b.jsx)("button",{type:"button",onClick:()=>m(i+o.ARTIFACT_VIEW.rows),className:"mx-2 mt-2 rounded-md px-2 py-1.5 text-left font-mono text-[11px] text-muted-foreground outline-none hover:bg-muted/60 hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset",children:`Show ${Math.min(o.ARTIFACT_VIEW.rows,w-v.length)} more of ${w.toLocaleString("en")}`})]}),right:C?(0,b.jsx)(F,{row:C,file:a?.file??null,onOpen:a=>c({row:C,file:a}),onBack:()=>c({row:C,file:null}),onGone:()=>c(null),onShelf:()=>c(null)},C.path):z.length>0?(0,b.jsx)(I,{entries:z,bots:s,onPick:a=>c({row:a,file:null})}):(0,b.jsx)(J,{empty:0===w})})}],964665)},951675,a=>{"use strict";var b=a.i(164831);let c={name:"trash",size:24,node:[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],aliases:["trash-2"]};c.node;let d=(0,b.default)(c);a.s(["Trash2",0,d],951675)}];
2
2
 
3
3
  //# sourceMappingURL=_1e_9qjr._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[280281,a=>{"use strict";var b=a.i(187924);a.i(584102);var c=a.i(572131),d=a.i(950381),e=a.i(801811),f=a.i(357738),g=a.i(462824),h=a.i(524715),i=a.i(926184),j=a.i(300557),k=a.i(221436),l=a.i(243520),m=a.i(178873),n=a.i(85933),o=a.i(1230),p=a.i(958589),q=a.i(541302),r=a.i(77260),s=a.i(346919),t=a.i(769476),u=a.i(394552),v=a.i(307436),w=a.i(964072);let x=c.forwardRef(function(a,x){let{checked:y,className:z,defaultChecked:A,"aria-labelledby":B,form:C,id:D,inputRef:E,name:F,nativeButton:G=!1,onCheckedChange:H,readOnly:I=!1,required:J=!1,disabled:K=!1,render:L,uncheckedValue:M,value:N,style:O,...P}=a,{clearErrors:Q}=(0,q.useFormContext)(),{state:R,setTouched:S,setDirty:T,validityData:U,setFilled:V,setFocused:W,validationMode:X,disabled:Y,name:Z,validation:$}=(0,o.useFieldRootContext)(),{labelId:_}=(0,r.useLabelableContext)(),aa=Y||K,ab=Z??F,ac=c.useRef(null),ad=(0,e.useMergedRefs)(ac,E,$.inputRef),ae=c.useRef(null),af=(0,j.useBaseUiId)(),ag=(0,t.useLabelableId)({id:D}),ah=G?void 0:ag,[ai,aj]=(0,d.useControlled)({controlled:y,default:!!A,name:"Switch",state:"checked"});(0,p.useRegisterFieldControl)(ae,af,ai,void 0,!aa,F),(0,f.useIsoLayoutEffect)(()=>{V(ai)},[ai,V]),(0,w.useValueChanged)(ai,()=>{Q(ab),T(ai!==U.initialValue),$.change(ai)});let{getButtonProps:ak,buttonRef:al}=(0,k.useButton)({disabled:aa,native:G}),am=(0,s.useAriaLabelledBy)(B,_,ac,!G,ah),an={...$.getValidationProps(aa),checked:ai,disabled:aa,form:C,id:ah,name:ab,required:J,style:ab?g.visuallyHiddenInput:g.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:ad,onChange(a){if(a.nativeEvent.defaultPrevented)return;if(I)return void a.preventDefault();let b=a.currentTarget.checked,c=(0,u.createChangeEventDetails)(v.REASONS.none,a.nativeEvent);H?.(b,c),c.isCanceled||aj(b)},onClick(a){a.stopPropagation()},onFocus(){ae.current?.focus()},...void 0!==N?{value:N}:h.EMPTY_OBJECT},ao=c.useMemo(()=>({...R,checked:ai,disabled:aa,readOnly:I,required:J}),[R,ai,aa,I,J]),ap=(0,i.useRenderElement)("span",a,{state:ao,ref:[x,ae,al],props:[{id:G?ag:af,role:"switch","aria-checked":ai,"aria-readonly":I||void 0,"aria-required":J||void 0,"aria-labelledby":am,onFocus(){aa||W(!0)},onBlur(){let a=ac.current;a&&!aa&&(S(!0),W(!1),"onBlur"===X&&$.commit(a.checked))},onClick(a){if(I||aa)return;a.preventDefault();let b=ac.current;b&&(0,n.dispatchClickWithModifiers)(b,a)}},P,ak,a=>$.getValidationProps(aa,a)],stateAttributesMapping:m.stateAttributesMapping});return(0,b.jsxs)(l.SwitchRootContext.Provider,{value:ao,children:[ap,!ai&&ab&&void 0!==M&&(0,b.jsx)("input",{type:"hidden",form:C,name:ab,value:M,disabled:aa}),(0,b.jsx)("input",{...an,suppressHydrationWarning:!0})]})}),y=c.forwardRef(function(a,b){let{render:c,className:d,style:e,...f}=a,g=(0,l.useSwitchRootContext)();return(0,i.useRenderElement)("span",a,{state:g,ref:b,stateAttributesMapping:m.stateAttributesMapping,props:f})});a.s(["Root",0,x,"Thumb",0,y],940499);var z=a.i(940499),z=z,A=a.i(497895);a.s(["Switch",0,function({className:a,size:c="default",...d}){return(0,b.jsx)(z.Root,{"data-slot":"switch","data-size":c,className:(0,A.cn)("cursor-pointer peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:bg-brand data-unchecked:bg-input dark:data-unchecked:bg-input/80 data-disabled:cursor-not-allowed data-disabled:opacity-50",a),...d,children:(0,b.jsx)(z.Thumb,{"data-slot":"switch-thumb",className:"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-checked:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-checked:translate-x-[calc(100%-2px)] dark:data-checked:bg-brand-foreground group-data-[size=default]/switch:data-unchecked:translate-x-0 group-data-[size=sm]/switch:data-unchecked:translate-x-0 dark:data-unchecked:bg-foreground"})})}],280281)},421042,a=>{"use strict";a.s(["STUDIO_TOOLS",0,{generate_image:"generate_image",generate_speech:"generate_speech",transcribe:"transcribe",generate_video:"generate_video"},"TOOL_NAMES",0,{memory_recall:"memory_recall",memory_create:"memory_create",memory_remember:"memory_remember",memory_describe:"memory_describe",memory_forget:"memory_forget",bash:"bash",write_file:"write_file",tool_search:"tool_search",tool_call:"tool_call",load_skill:"load_skill",web_search:"web_search",thread_start:"thread_start",thread_tell:"thread_tell",thread_answer:"thread_answer",thread_status:"thread_status",thread_cancel:"thread_cancel",thread_show:"thread_show",thread_seen:"thread_seen",routine:"routine",routine_watch:"routine_watch",send_message:"send_message",thread_recall:"thread_recall",sign_in_use:"sign_in_use",sign_in_keep:"sign_in_keep",check_mail:"check_mail",look_at:"look_at",make_deck:"make_deck",describe_self:"describe_self",end_call:"end_call",emote:"emote"}])},623808,a=>{"use strict";var b=a.i(187924),c=a.i(141146),d=a.i(572131),e=a.i(767561),f=a.i(340695),g=a.i(446181),h=a.i(405050);let i=(0,h.createServerReference)("7f6f14c75cc3236a3c73293e95c1e15afbda4701f6",h.callServer,void 0,h.findSourceMapURL,"undoLessonAction");var j=a.i(913834),k=a.i(199169),l=a.i(313237),m=a.i(759497),n=a.i(497895);function o(a){return"memory"===a.kind?"added"===a.change?"kept a note":"removed"===a.change?"dropped a note":"updated a note":"added"===a.change?`wrote the skill ${a.name}`:"removed"===a.change?`removed its skill ${a.name}`:`changed its skill ${a.name}`}function p({lesson:a,face:h}){let[q,r]=(0,d.useState)(!1),[s,t]=(0,l.useServerAction)(i,{okMessage:({said:a})=>a,onOk:()=>(0,m.revalidate)(e.queryKey.lessons({bot:a.bot}).url)}),u=async()=>{let b,c;await g.notify.confirm((b=`the skill ${a.name}`,c="memory"===a.kind?`${a.bot}'s note`:b,{title:"memory"===a.kind?"added"===a.change?"Forget this note?":"removed"===a.change?"Bring this note back?":"Put this note back?":"added"===a.change?`Delete ${b}?`:"removed"===a.change?`Bring ${b} back?`:`Put ${b} back?`,description:"added"===a.change?`${a.bot} wrote it in this job. It is deleted, and the next job goes without it.`:"removed"===a.change?`${c.charAt(0).toUpperCase()}${c.slice(1)} comes back as it was before this job.`:`${c.charAt(0).toUpperCase()}${c.slice(1)} goes back to how it was before this job.`,okText:"added"===a.change?"Delete":"Put back",destructive:"added"===a.change}))&&s(a.id)};return(0,b.jsxs)("div",{className:"border-t border-border/60 first-of-type:border-t-0",children:[(0,b.jsxs)("div",{className:"flex items-start gap-2 py-1.5",children:[(0,b.jsxs)("button",{type:"button",onClick:()=>r(a=>!a),"aria-expanded":q,className:"flex min-w-0 flex-1 flex-col gap-0.5 rounded-lg px-1 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50",children:[(0,b.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 text-[12px] text-muted-foreground",children:[h&&(0,b.jsx)(j.BotMark,{size:14,seed:h.name,color:h.icon?.color,shape:h.icon?.shape,outline:h.icon?.outline,paint:h.icon?.paint,notify:!1,className:"shrink-0"}),(0,b.jsxs)("span",{className:"truncate",children:[h?`${a.bot} ${o(a)}`:o(a),!h&&a.threadLabel&&` \xb7 ${a.threadLabel}`]}),(0,b.jsxs)("span",{className:"shrink-0 font-mono text-[10px] tabular-nums",children:[a.added>0&&`+${a.added}`,a.added>0&&a.removed>0&&" ",a.removed>0&&`−${a.removed}`]}),!h&&(0,b.jsx)("span",{className:"shrink-0 font-mono text-[10px]",children:(0,k.shortAgo)(a.at)})]}),(0,b.jsxs)("span",{className:(0,n.cn)("flex min-w-0 items-center gap-1 text-[13px]",a.undoneAt&&"text-muted-foreground line-through"),children:[(0,b.jsx)(c.ChevronRight,{className:(0,n.cn)("size-3 shrink-0 text-muted-foreground transition-transform",q&&"rotate-90")}),(0,b.jsx)("span",{className:"truncate",children:a.line})]})]}),a.undoneAt?(0,b.jsx)("span",{className:"shrink-0 pt-1 font-mono text-[10px] text-muted-foreground",children:"put back"}):(0,b.jsx)(f.Button,{type:"button",size:"sm",variant:"ghost",loading:t,onClick:u,className:"h-7 shrink-0 rounded-full px-2.5 text-[12px]",children:"Undo"})]}),q&&(0,b.jsx)("pre",{className:"mb-2 ml-5 max-h-48 overflow-y-auto rounded-lg bg-muted/50 p-2 font-mono text-[11px] leading-relaxed whitespace-pre-wrap break-words",children:a.text||"(empty)"})]})}a.s(["BotLessons",0,function({bot:a}){let{data:c}=(0,m.useServerRoute)(e.queryKey.lessons({bot:a}));return c?.length?(0,b.jsxs)("div",{className:"pt-1",children:[(0,b.jsx)("div",{className:"flex h-6 items-center",children:(0,b.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:"Learned"})}),c.map(a=>(0,b.jsx)(p,{lesson:a},a.id))]}):null},"JobLessons",0,function({threadId:a,faces:c}){let{data:d}=(0,m.useServerRoute)(e.queryKey.lessons({thread:a}));return d?.length?(0,b.jsxs)("div",{className:"pt-2",children:[(0,b.jsx)("p",{className:"px-1 pb-1 font-mono text-[10px] text-muted-foreground",children:"Kept for next time"}),d.map(a=>(0,b.jsx)(p,{lesson:a,face:c.find(b=>b.name===a.bot)??{name:a.bot}},a.id))]}):null}],623808)},346919,a=>{"use strict";var b=a.i(572131),c=a.i(357738),d=a.i(300557);a.s(["useAriaLabelledBy",0,function(a,e,f,g=!0,h){let[i,j]=b.useState(),k=(0,d.useBaseUiId)(h?`${h}-label`:void 0),l=a??e??i;return(0,c.useIsoLayoutEffect)(()=>{let b=a||e||!g?void 0:function(a,b){let c=function(a){if(!a)return;let b=a.parentElement;if(b&&"LABEL"===b.tagName)return b;let c=a.id;if(c){let b=a.nextElementSibling;if(b&&b.htmlFor===c)return b}let d=a.labels;return d&&d[0]}(a);if(c)return!c.id&&b&&(c.id=b),c.id||void 0}(f.current,k);i!==b&&j(b)}),l}])},584102,243520,178873,a=>{"use strict";a.s([],584102);var b=a.i(854662),c=a.i(572131);let d=c.createContext(void 0);a.s(["SwitchRootContext",0,d,"useSwitchRootContext",0,function(){let a=c.useContext(d);if(void 0===a)throw Error((0,b.default)(63));return a}],243520);let e={...a.i(827576).fieldValidityMapping,checked:a=>a?{"data-checked":""}:{"data-unchecked":""}};a.s(["stateAttributesMapping",0,e],178873)},844561,a=>{"use strict";var b=a.i(164831);let c={name:"folder-open",size:24,node:[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]};c.node;let d=(0,b.default)(c);a.s(["FolderOpen",0,d],844561)},924613,a=>{"use strict";var b=a.i(164831);let c={name:"wrench",size:24,node:[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]};c.node;let d=(0,b.default)(c);a.s(["Wrench",0,d],924613)}];
2
+
3
+ //# sourceMappingURL=_1ehd80b._.js.map